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

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

Info

Publication number
WO2014084109A1
WO2014084109A1 PCT/JP2013/081345 JP2013081345W WO2014084109A1 WO 2014084109 A1 WO2014084109 A1 WO 2014084109A1 JP 2013081345 W JP2013081345 W JP 2013081345W WO 2014084109 A1 WO2014084109 A1 WO 2014084109A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
unit
syntax element
encoding
data
Prior art date
Application number
PCT/JP2013/081345
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 MX2015006474A priority Critical patent/MX357870B/es
Priority to JP2014550149A priority patent/JPWO2014084109A1/ja
Priority to EP13858705.0A priority patent/EP2928195A4/en
Priority to RU2015119571A priority patent/RU2663341C2/ru
Priority to KR1020157013424A priority patent/KR20150092120A/ko
Priority to US14/442,212 priority patent/US10841618B2/en
Priority to BR112015011914A priority patent/BR112015011914A2/pt
Priority to CN201380061209.2A priority patent/CN104838659B/zh
Publication of WO2014084109A1 publication Critical patent/WO2014084109A1/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape

Definitions

  • the present disclosure relates to an image processing apparatus and method, and more particularly to an image processing apparatus and method capable of suppressing a reduction in coding efficiency.
  • MPEG2 International Organization for Standardization
  • IEC International Electrotechnical Commission 13818-2
  • MPEG2 is defined as a general-purpose image coding method, and it is both an interlaced scan image and a progressive scan image, and a standard resolution image and It is a standard that covers high definition images.
  • MPEG2 is widely used in a wide range of applications for professional and consumer applications. For example, in the case of a standard resolution interlaced scanning image having 720 ⁇ 480 pixels, a code amount (bit rate) of 4 Mbps to 8 Mbps is allocated by using the MPEG2 compression method.
  • a code amount (bit rate) of 18 Mbps to 22 Mbps is allocated by using the MPEG2 compression method. Thereby, high compression rate and good image quality can be realized.
  • MPEG2 was mainly intended for high-quality coding suitable for broadcasting, it did not correspond to a coding amount (bit rate) lower than that of MPEG1, that is, a coding method with a higher compression rate. With the spread of portable terminals, etc., the need for such a coding scheme is expected to increase in the future, and the MPEG4 coding scheme has been standardized accordingly.
  • the image coding method the standard was approved as an international standard as ISO / IEC 14496-2 in December 1998.
  • H.26L International Telecommunication Union Telecommunication Standardization Sector (ITU) Q6 / 16 Video Coding Expert Group (VCEG)
  • ITU International Telecommunication Union Telecommunication Standardization Sector
  • VCEG Video Coding Expert Group
  • FRExt also includes 8x8 DCT and quantization matrix specified by MPEG-2 such as encoding tools required for business use such as RGB and 4: 2: 2 and 4: 4: 4. Standardization of (Fidelity Range Extension) was completed in February 2005.
  • H.264 / AVC it has become a coding method capable of well representing film noise contained in a movie, and has been used for a wide range of applications such as Blu-Ray Disc (trademark).
  • ITU-T and JCTVC Joint Collaboration Team-Video Coding
  • ISO / IEC Joint Collaboration Team-Video Coding
  • HEVC High Efficiency Video Coding
  • the 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, And syntax elements related to processing between screens.
  • the still picture profile (Still Picture Profile) is a profile for encoding / decoding a still image. Therefore, when applying this profile, a syntax element relating to inter-screen processing as described above is unnecessary.
  • JCTVC-VC Joint Collaborative Team on Video Coding
  • Non-Patent Document 2 control over syntax elements regarding processing between screens is not performed. That is, as in the case of the moving image profile, syntax elements relating to inter-screen processing are also transmitted from the encoding side to the decoding side. Therefore, unnecessary information is to be transmitted, which may reduce the coding efficiency.
  • the present disclosure has been made in view of such a situation, and makes it possible to suppress a reduction in coding efficiency.
  • the value is determined by the limiting unit that limits the value of the syntax element related to the processing between images; And a transmission unit that transmits the restricted syntax element.
  • the encoding unit further includes an encoding unit that encodes image data using the syntax element restricted by the restriction unit and generates a bit stream, and the transmission unit further generates the bit stream generated by the encoding unit. It can be transmitted.
  • the syntax element may be stored in a sequence parameter set of the bitstream.
  • the syntax element can be made to be syntax related to a reference picture.
  • the syntax element may be syntax related to the number of reference pictures.
  • the limiting unit may set the value of the syntax element to a predetermined value when performing encoding processing using a profile for encoding a still image.
  • the predetermined value may be zero.
  • the image processing method limits the value of a syntax element related to processing between images when the encoding process is performed using a profile for encoding a still image, and the syntax element with the value restricted is used. It is an image processing method to transmit.
  • restricted syntax elements can be used to encode image data, generate and transmit bitstreams.
  • the syntax element may be stored in a sequence parameter set of the bitstream.
  • the syntax element can be made to be syntax related to a reference picture.
  • the syntax element may be syntax related to the number of reference pictures.
  • the value of the syntax element can be set to a predetermined value.
  • the predetermined value may be zero.
  • the encoding process when the encoding process is performed by a profile for encoding a still image, the value of a syntax element related to processing between images is limited, and the syntax element whose value is limited is transmitted. Ru.
  • an image can be encoded / decoded.
  • reduction in coding efficiency can be suppressed.
  • FIG. 12 shows the further another example of a sequence parameter set (SPS (Sequence Parameter Set)).
  • PPS Picture Parameter Set
  • FIG. 14 is a diagram illustrating an example of a picture parameter set (PPS (Picture Parameter Set)), following FIG. 14; It is a figure which shows the example of scaling list data (scaling_list_data ()). It is a figure which shows the example of the semantics of size ID (SizeID). It is a figure which shows the example of the semantics of size ID (SizeID) and matrix ID (MatrixID). It is a figure which shows the other example of scaling list data (scaling_list_data ()). It is a figure which shows the example of a slice header (slice_header ()). FIG. 21 is a diagram illustrating an example of a slice header (slice_header ()), following FIG.
  • PPS Picture Parameter Set
  • FIG. 21 shows the example of a slice header (slice_header ()). It is a figure which shows the example of allocation of nal_unit_type. It is a figure explaining an example of a ROI (Region of Interest) field. It is a block diagram which shows the main structural examples of an image coding apparatus. It is a block diagram which shows the main structural examples of a lossless encoding part. It is a flowchart explaining the example of the flow of an encoding process.
  • FIG. 27 is a flowchart illustrating an example of the flow of encoding processing; FIG. It is a flowchart explaining the example of the flow of lossless coding processing.
  • FIG. 37 is a flowchart following to FIG. 36, illustrating an example of the flow of decoding processing; It is a flowchart explaining the example of the flow of syntax element analysis processing.
  • FIG. 24 is a diagram illustrating an example main configuration of a multi-viewpoint image decoding device to which the present technology is applied.
  • HEVC High Efficiency Video Coding
  • ⁇ Coding unit> In AVC (Advanced Video Coding), a hierarchical structure of macroblocks and sub-macroblocks is defined. However, a macroblock 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 coding method.
  • UHD Ultra High Definition
  • a coding unit (Coding Unit)) is defined.
  • the CU is also called a Coding Tree Block (CTB), and is a partial area of a picture-based image that plays a role similar to a macroblock in AVC. While the AVC macroblock is fixed at a size of 16 ⁇ 16 pixels, the size of the CU of HEVC is not fixed, and will be specified in the image compression information in each sequence.
  • CTB Coding Tree Block
  • a CU maximum size (Largest Coding Unit)
  • SCU Smallest Coding Unit
  • the size of the LCU is 128 ⁇ 128, and the maximum hierarchical depth is 5.
  • split_flag is “1”
  • a 2N ⁇ 2N-sized CU is divided into an N ⁇ N-sized CU, which is one level lower.
  • a CU is divided into prediction units (Prediction Units (PUs)), which are regions serving as processing units for intra or inter prediction (partial regions of images in units of pictures), and regions serving as processing units for orthogonal transformation. It is divided into transform units (Transform Units (TUs)), which are (partial areas of an image in picture units).
  • Prediction Units PUs
  • transform units Transform Units (TUs)
  • HEVC any of 4x4, 8x8, 16x16, and 32x32 sizes can be used as a processing unit of orthogonal transformation.
  • a macro block in AVC corresponds to LCU and a block (subblock) corresponds to CU. be able to.
  • motion compensation blocks in AVC can be considered to correspond to PUs.
  • the size of the LCU in the top layer is generally set larger than the AVC macroblock, for example, 128 ⁇ 128 pixels.
  • LCU also includes macroblocks in AVC
  • CU also includes blocks (subblocks) in AVC.
  • block used in the following description indicates an arbitrary partial area in a picture, and the size, shape, characteristics, and the like thereof are not limited. That is, the “block” includes, for example, any region (processing unit) such as 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, the processing unit, etc., it will be described appropriately.
  • H.264 / MPEG-4 AVC reference software called JM (Joint Model) (available at http://iphome.hhi.de/suehring/tml/index.htm)
  • JM Job Model
  • JM JM
  • High Complexity Mode High Complexity Mode
  • Low Complexity Mode Low Complexity Mode
  • is the entire set of candidate modes for encoding the current block
  • D is the difference energy between the decoded image and the input image when encoded in the prediction mode.
  • is a Lagrange undetermined multiplier given as a function of the quantization parameter.
  • R is a total code amount in the case of coding in the prediction mode, including orthogonal transformation coefficients.
  • D is the difference energy between the predicted image and the input image, unlike in the case of the high complexity mode.
  • QP2Quant QP
  • HeaderBit is a code amount related to information belonging to a header (Header) such as a motion vector or a mode which does not include an orthogonal transformation coefficient.
  • ⁇ Tile> By the way, in HEVC, in addition to the slice (Slice) defined also in AVC as a unit of parallel processing, a tile (Tile) as shown in FIG. 2 is defined.
  • Each tile has its width and height specified in the image compression information and can be independently decoded.
  • Non-Patent Document 2 proposes a Still Picture Profile, which is a profile for using this HEVC as a codec for still images.
  • the 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 relating to processing between screens are included.
  • the Still Picture Profile is a profile for encoding and decoding a still image
  • syntax elements relating to inter-screen processing as described above are not necessary.
  • control over syntax elements regarding processing between screens is not performed. That is, as in the case of the moving image profile, syntax elements relating to inter-screen processing are also transmitted from the encoding side to the decoding side. Therefore, there is a possibility that coding efficiency may be reduced by transmitting unnecessary information.
  • the value of a syntax element related to processing between images is limited to suppress transmission of unnecessary information. By doing this, it is possible to suppress a reduction in coding efficiency.
  • FIG. 3 is a diagram illustrating an example of syntax of profile tier level (profile_tier_level ()) in HEVC.
  • the numbers on the left end are line numbers attached for the purpose of explanation, and are not included in the actual syntax.
  • the numerals at the left end of each of the drawings of FIGS. 4 to 23 described below are the same, and they are line numbers given for the explanation of the drawings and are not actually included.
  • the profile of the sequence (current sequence) to be processed is a still picture profile (Still Picture Profile) It is prescribed.
  • the profile tier level (profile_tier_level ()) in FIG. 3 is called by a video parameter set (VPS (Video Parameter Set)) or a sequence parameter set (SPS (Sequence Parameter Set)).
  • VPS Video Parameter Set
  • SPS Sequence Parameter Set
  • FIG. 4 is a diagram illustrating an example of a video parameter set (VPS (Video Parameter Set)) in HEVC.
  • 5 and 6 are diagrams showing an example of a sequence parameter set (SPS (Sequence Parameter Set)) in HEVC.
  • PS Sequence Parameter Set
  • the profile tier level (profile_tier_level ()) is called in the seventh row. Further, as shown in FIG. 5, in the sequence parameter set (SPS), the profile tier level (profile_tier_level ()) is called in the fifth line.
  • temporal layer depth also referred to as sub-layer
  • syntax elements for sublayers are unnecessary.
  • the sub-layer is related to the sublayer in the video parameter set (VPS) of FIG.
  • the value of the parameter vps_max_sub_layers_minus1 (line 6) must be specified as 0.
  • the value of the parameter sps_max_sub_layers_minus1 (line 3) related to the sublayer is 0 May have to be specified.
  • profile_tier_level profile tier level
  • VPS video parameter set
  • SPS sequence parameter set
  • control by encoding enables coding efficiency.
  • the reduction can be suppressed.
  • Changing the syntax may make it difficult to maintain the compatibility of the syntax with the conventional encoder / decoder which does not correspond to, for example, the Still Picture Profile.
  • updating of the syntax may be difficult.
  • the compatibility of the syntax is reduced, the versatility may be reduced.
  • by limiting the value of the syntax element by semantics it is possible to maintain the compatibility of the syntax and to suppress the reduction in versatility.
  • the present invention can also contribute to the downsizing of the device and the suppression of the increase in cost.
  • profile_tier_level () when calling profile tier level (profile_tier_level ()) from video parameter set (VPS) or sequence parameter set (SPS), the value of syntax element ProfilePresentFlag regarding the call of profile tier level specified at the call Is always one.
  • the syntax of the profile tier level (profile_tier_level ()) of FIG. 3 is made as shown in FIG. 7 and the syntax of the video parameter set (VPS) of FIG. 4 is made like the example shown in FIG.
  • the syntax of the sequence parameter set (SPS) of FIG. 6 may be as shown in the examples of FIG. 9 and FIG.
  • the profile tier level may be designated by designating.
  • ProfilePresentFlag may be omitted at the profile tier level (profile_tier_level ()).
  • the value of the syntax element ProfilePresentFlag for profile tier level call may be 1.
  • ⁇ 0-3 Restriction of syntax elements on profile tier level>
  • the syntax element max_sub_layers_minus1 related to the sublayer information on whether or not to be encoded by the still picture profile (Still Picture Profile) at the subsequent profile tier level (profile_tier_level ()) is previously displayed. You have to set it after you know it.
  • the syntax of the video parameter set (VPS) of FIG. 4 is made as shown in FIG. 11, and the syntax of the sequence parameter set (SPS) of FIG. 5 and FIG. 6 is made like the example of FIG. It is good.
  • the syntax element profile_tier_level (1, 0) related to the profile tier level
  • the syntax element profile_tier_level (0, vps_max_sub_layers_minus1) regarding the profile tier level may be specified.
  • the syntax element profile_tier_level (1, 0) related to the profile tier level is specified, and the syntax element sps_max_sub_layers_minus1 related to the sublayer A value may be specified, and a syntax element profile_tier_level (0, sps_max_sub_layers_minus1) related to the profile tier level may be specified.
  • vps_max_sub_layers_minus1 is max_sub_layers_minus1 in the video parameter set (VPS)
  • sps_max_sub_layers_minus1 is max_sub_layers_minus1 in the sequence parameter set (SPS).
  • SPS sequence parameter set
  • syntax element profile_tier_level (1, 0) before specifying the syntax element max_sub_layers_minus1 related to the sublayer, information on the case of coding / decoding all temporal layers (temporal_layer) of the image data is transmitted.
  • the syntax element vps_num_hrd_parameters related to the virtual reference decoder is a positive value to be transmitted by extended Golomb coding. Therefore, when this value is 0 or 1, the code amount is the smallest. That is, by designating the value of the syntax element vps_num_hrd_parameters related to the virtual reference decoder to 0, it is possible to suppress the reduction of the coding efficiency.
  • the value of the syntax element restricted_ref_pic_lists_flag (the 32nd line) regarding the P slice or B slice in the sequence parameter set (SPS) must be 0. You may do so.
  • the 33rd to 42nd lines can be skipped by setting the value of the syntax element restricted_ref_pic_lists_flag related to P slice or B slice to 0. Therefore, by doing this, it is possible to suppress an increase in load. Further, transmission of unnecessary syntax elements in the 33rd to 42nd lines can be suppressed, and a reduction in coding efficiency can be suppressed.
  • SPS sequence parameter set
  • the syntax element num_short_term_ref_pic_sets relating to this short term is a positive value that is extended Golomb encoded and transmitted. Therefore, when this value is 0 or 1, the code amount is the smallest. That is, by designating the value of the syntax element num_short_term_ref_pic_sets related to the short term to 0, it is possible to suppress the reduction of the coding efficiency.
  • the 57th and 58th lines can be skipped by setting the value of the syntax element num_short_term_ref_pic_sets related to this short term to 0. Therefore, by doing this, it is possible to suppress an increase in load.
  • SPS sequence parameter set
  • ⁇ 0-7 Restriction of syntax elements on long terms> Also, when applying a Still Picture Profile, there is no concept of time (no other pictures). Therefore, as shown in FIG. 6, the value of the syntax element long_term_ref_pics_present_flag (line 59) of the long term in the sequence parameter set (SPS) may be specified as 0.
  • Lines 60 to 66 can be skipped by setting the value of syntax element long_term_ref_pics_present_flag regarding this long term to 0. Therefore, by doing this, it is possible to suppress an increase in load. Also, transmission of unnecessary syntax elements in the 60th to 66th lines can be suppressed, and a reduction in coding efficiency can be suppressed.
  • SPS sequence parameter set
  • SPS sequence parameter set
  • FIG. 14 and FIG. 15 are diagrams showing examples of picture parameter sets (PPS (Picture Parameter Set)) in HEVC.
  • PPS Picture Parameter Set
  • the values of the syntax element num_ref_idx_I0_default_active minus1 (line 6) of the picture parameter set (PPS) and the syntax element num_ref_idx_I1_default_active minus1 (line 7) of the L1 are both used. It may be specified as 0 or 1.
  • the syntax element num_ref_idx_I0_default_active minus1 (line 6) of the picture parameter set (PPS) and the syntax element num_ref_idx_I1_default_active minus1 (the sixth line) of the picture parameter set (PPS) may be both 0 or 1.
  • syntax elements are positive values that are extended Golomb coded and transmitted. Therefore, when these values are 0 or 1, the code amount is the smallest. That is, by designating the value of the syntax element num_ref_idx_I0_default_active_minus1 regarding L0 and the syntax element num_ref_idx_I1_default_active_minus1 regarding L1 a reduction in coding efficiency can be suppressed.
  • a syntax element lists_modification_present_flag (No. of the picture parameter set (PPS) indicating whether the syntax element ref_pic_list_modification exists in the current slice header)
  • PPS picture parameter set
  • syntax element ref_pic_list_modification relating to the reference image list is transmitted for the current slice, as shown in lines 53 and 54 of FIG.
  • this syntax element is unnecessary. That is, by designating the value of the syntax element lists_modification_present_flag as 0, transmission of the syntax element ref_pic_list_modification relating to the reference image list, which is unnecessary information, can be omitted for the current slice, and the reduction of the coding efficiency can be suppressed. it can.
  • syntax element log2_parallel_merge_level_minus2 (the 50th line) specifying the parallel processing level in merge mode or skip mode in prediction processing in picture parameter set (PPS) The value of) may be zero.
  • This syntax element is a positive value to be transmitted after extended Golomb coding. Therefore, when this value is 0, the code amount is the smallest. That is, by designating the value of the syntax element log2_parallel_merge_level_minus2 that specifies the parallel processing level in merge mode or skip mode in prediction processing, it is possible to suppress the reduction in encoding efficiency.
  • syntax elements (flags) weighted_pred_flag line 18 concerning weighted prediction of P slices in the picture parameter set (PPS), and B slices
  • the value of syntax element (flag) weighted_bipred_flag (the 19th line) relating to the weighted prediction of ⁇ circle around (1) ⁇ may be both 0.
  • the weight prediction table etc. is transmitted for the current slice, but the still picture profile (Still In the case of Picture Profile, these pieces of information are unnecessary. That is, by designating the value of the syntax element weighted_pred_flag or weighted_bipred_flag to 0, transmission of unnecessary information can be omitted for the current slice, and reduction in coding efficiency can be suppressed.
  • FIG. 16 shows an example of the scaling list (scaling_list_data ()).
  • the semantics of the size ID (sizeID) and the matrix ID (matrixID) in the scaling list (scaling_list_data ()) shown in FIG. 16 are as shown in FIG. 17 and FIG.
  • the value of the syntax element scaling_list_pred_mode_flag regarding the prediction mode of the scaling list may be specified as 0, and the value of the scaling element scaling_list_pred_matrix_id_delta regarding the prediction matrix of the scaling list may be specified as 0 or 1.
  • the value of the syntax element scaling_list_pred_mode_flag (the fourth line) relating to the prediction mode of the scaling list must be 0, and the prediction of the scaling list
  • the value of the syntax element scaling_list_pred_matrix_id_delta (the sixth row) relating to a matrix may be 0 or 1.
  • FIGS. 20 to 22 show examples of slice header syntax.
  • the slice type is only I slice. Therefore, as shown in FIG. 20, the value of the syntax element slice_type (line 11) relating to the slice type of the slice header (slice_header ()) may be specified as the value indicating the I slice.
  • nal_unit_type related to the null unit type is assigned as shown in FIG.
  • null unit type (nal_unit_type) for the VCL may be set to IDR_W_LP or IDR_N_LP.
  • the null unit type (nal_unit_type) for the VCL may be IDR_W_LP or IDR_N_LP.
  • limits value when performing an encoding process by the profile for encoding a still image is not restricted to the example mentioned above.
  • the values of syntax elements other than the syntax elements described above may be limited. Further, at that time, the restriction may be performed by the semantics, or the syntax may be changed.
  • the image is divided into tiles (Tile) in FIG.
  • SEI Supplemental Enhancement Information
  • FIG. 25 is a block diagram illustrating an example of a configuration of an image coding device which is an aspect of an image processing device to which the present technology is applied.
  • the image coding apparatus 100 shown in FIG. 25 codes image data of a moving image, for example, using the prediction process of HEVC or the prediction process according to the scheme.
  • the image coding apparatus 100 can code not only image data of moving images but also image data of still images. In that case, in the image coding apparatus 100, a profile for a still image (for example, a still picture profile) is set.
  • the image coding apparatus 100 includes an A / D conversion unit 101, a screen rearrangement buffer 102, an operation unit 103, an orthogonal conversion unit 104, a quantization unit 105, a lossless coding unit 106, and an accumulation buffer 107. , An inverse quantization unit 108, and an inverse orthogonal transform unit 109.
  • the image coding apparatus 100 further includes an arithmetic 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 conversion unit 101 performs A / D conversion on image data (analog data) of an input image input to the image coding 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, in order, each frame image data of the input image supplied in display order.
  • the screen rearrangement buffer 102 rearranges the order of the frames of the input image according to the GOP (Group Of Picture) in the order of encoding. 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 order of encoding.
  • this rearrangement is omitted because there is no concept of time (since the number of frames is 1).
  • the calculation unit 103 calculates 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. Using this, image data of a difference image obtained by subtracting a predicted image from an input image is generated. For example, in the case of an image on which intra coding is performed, the calculation unit 103 generates a difference image between the input image and the prediction image generated by the intra prediction unit 113. Also, for example, in the case of an image on which inter coding is performed, 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 transformation unit 104.
  • the orthogonal transformation unit 104 subjects the image data of the difference image supplied from the computation unit 103 to orthogonal transformation such as discrete cosine transformation or Karhunen-Loeve transformation.
  • 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 on 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 in the quantization unit 105 according to an arbitrary encoding scheme to generate encoded data. Since the coefficient data is quantized under the control of the rate control unit 116, the data amount (code amount) of this encoded data becomes the target value set by the rate control unit 116 (or approximate to 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, differential motion vector information, or the like from the inter prediction unit 114.
  • the lossless encoding unit 106 encodes these various pieces of information according to an arbitrary encoding method, and makes it part of header information of encoded data (multiplexing).
  • the lossless encoding unit 106 supplies the obtained encoded data to the accumulation buffer 107 for accumulation.
  • Examples of the coding method of coding performed by the lossless coding unit 106 include variable length coding and arithmetic coding.
  • variable-length coding for example, H.264.
  • Examples include CAVLC (Context-Adaptive Variable Length Coding) defined by the H.264 / AVC system.
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 107 temporarily holds the encoded data supplied from the lossless encoding unit 106.
  • the accumulation buffer 107 outputs the held encoded data to the outside of the image coding apparatus 100 at a predetermined timing. That is, the accumulation buffer 107 is also a transmission unit that transmits the encoded data.
  • the transform coefficient quantized in 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 orthogonal transform processing by the orthogonal transform unit 104.
  • the image data of the difference image is restored by this inverse orthogonal transformation.
  • the inverse orthogonal transformation unit 109 supplies the image data of the restored difference image to the calculation unit 110 as the inverse orthogonal transformation result.
  • the operation unit 110 uses the inverse orthogonal transformation result supplied from the inverse orthogonal transformation 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. , Generating image data of an image obtained by adding the restored difference image and the predicted image. That is, by this addition process, a locally reconstructed image (hereinafter referred to as a reconstructed image) is obtained.
  • 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 deblocking filter, an adaptive loop filter, and the like, and appropriately filters the image data of the reconstructed image supplied from the arithmetic 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 the loop filter process on the deblock filter process result (image data of the reconstructed image subjected to the removal of the block distortion) using the Wiener filter. Improves the image quality of the reconstructed image.
  • the loop filter 111 may further perform other arbitrary filter processing on the reconstructed image.
  • the loop filter 111 can also supply information such as the filter coefficient used for the filter processing to the lossless encoding unit 106 to encode it, as necessary.
  • the loop filter 111 supplies the 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 the supplied decoded image. Also, the frame memory 112 supplies the image data of the stored decoded image to the inter prediction unit 114 as a reference image at a predetermined timing.
  • the intra prediction unit 113 performs a prediction process on a current picture which is an image of a frame to be processed, and generates a predicted image.
  • the intra prediction unit 113 performs this prediction process for each predetermined block (with a block as a processing unit). That is, the intra prediction unit 113 generates a predicted image of the current block to be processed of the current picture.
  • the intra prediction unit 113 performs prediction processing (in-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, which are included in the reconstructed image.
  • the peripheral pixel values used for this intra prediction are pixel values of pixels 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 this 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 optimal mode. select. When selecting 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 appropriately supplies intra prediction mode information and the like indicating the adopted intra prediction mode to the lossless encoding unit 106, and causes the lossless encoding unit 106 to encode the information.
  • the inter prediction unit 114 performs a prediction process on the current picture to generate a prediction image.
  • the inter prediction unit 114 performs this prediction process for each predetermined block (with a block as a processing unit). That is, the inter prediction unit 114 generates a predicted image of the current block to be processed 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 the reference image from the frame memory 112.
  • This decoded image is an image of a frame processed before the current picture (another picture which is not the current picture). That is, the inter prediction unit 114 performs prediction processing (inter-screen prediction (also referred to as inter prediction)) of generating 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 to detect a motion vector. Then, the inter prediction unit 114 performs motion compensation processing according to the detected motion vector using the reference image, and generates a predicted image (inter predicted image information) of the current block. A plurality of methods (also referred to as inter prediction modes) are prepared in advance as candidates for this inter prediction (that is, how to generate a prediction image). The inter prediction unit 114 performs such inter prediction in the plurality of inter prediction modes prepared in advance.
  • the 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, the information of the generated differential motion vector, and the like, and selects the optimal mode.
  • the inter prediction unit 114 selects the optimal inter prediction mode, it supplies the prediction image generated in the optimal mode to the prediction image selection unit 115.
  • the inter prediction unit 114 supplies, to the lossless encoding unit 106, information indicating the adopted inter prediction mode, information necessary for performing processing in the inter prediction mode when decoding encoded data, and the like. Encode.
  • the necessary information includes, for example, information of the generated differential motion vector, and a flag indicating an index of a predicted motion vector as predicted motion vector information.
  • the predicted image selection unit 115 selects the supply source of the predicted image to be supplied to the calculation unit 103 and the calculation unit 110.
  • the prediction image selection unit 115 selects the intra prediction unit 113 as a supply source of a 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 a prediction image, and the calculation unit 103 or 110 calculates the prediction image supplied from the inter prediction unit 114.
  • the rate control unit 116 controls the rate of the quantization operation 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 image coding apparatus 100 further includes a profile setting unit 121.
  • the profile setting unit 121 sets a profile to be applied to encoding of image data. For example, in the case of encoding a still image, the profile setting unit 121 sets a still picture profile. For example, the profile setting unit 121 sets a profile in accordance with an external instruction from a user or the like. Of course, this method is optional, and the profile may be set based on any information. When the profile is set, the profile setting unit 121 supplies the information to the lossless encoding unit 106.
  • the lossless encoding unit 106 performs encoding in accordance with the profile set by the profile setting unit 121. For example, when the still picture profile (Still Picture Profile) is set by the profile setting unit 121, the lossless encoding unit 106 limits the value of the syntax element related to the processing between images. Specific examples of the restriction are ⁇ 0. The outline is as described above.
  • FIG. 26 is a block diagram showing an example of a main configuration regarding syntax element setting of the lossless encoding unit 106 of FIG. As shown in FIG. 25, the lossless encoding unit 106 includes a syntax element setting unit 131 and an encoding unit 132.
  • the syntax element setting unit 131 performs processing related to setting of syntax elements.
  • the syntax element setting unit 131 sets syntax elements of various null units (nal_unit) such as a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), and a slice header.
  • the syntax element setting unit 131 acquires necessary information from each processing unit of the image coding device 100, such as the intra prediction unit 113, the inter prediction unit 114, and the like, as necessary, and the value of the syntax element is calculated based on the information.
  • syntax element setting unit 131 receives specification of a profile from the profile setting unit 121.
  • the syntax element setting unit 131 sets a syntax element according to the profile specified by the profile setting unit 121.
  • the syntax element setting unit 131 restricts the value of the syntax element related to processing between images. Specific examples of the restriction are ⁇ 0.
  • the outline is as described above.
  • the syntax element setting unit 131 supplies the set syntax element to the encoding unit 132.
  • the encoding unit 132 acquires the quantization coefficient of the image data from the quantization unit 105, encodes it by arithmetic coding or the like, and obtains encoded data.
  • the encoding unit 132 supplies the obtained encoded data to the accumulation buffer 107.
  • the encoding unit 132 also encodes information other than image data and supplies the information to the accumulation buffer 107.
  • the encoding unit 132 encodes the syntax element set in the syntax element setting unit 131, and supplies the encoded syntax element to the accumulation buffer 107.
  • the lossless encoding unit 106 when the still picture profile (Still Picture Profile) is set, the lossless encoding unit 106 generates encoded data by limiting the value of a syntax element related to processing between images. Therefore, the image coding apparatus 100 can suppress transmission of redundant information, and can suppress reduction in coding efficiency.
  • the image coding apparatus 100 can suppress an increase in unnecessary load of decoding processing by reducing redundant information of coded data.
  • the image coding apparatus 100 can easily encode both still images and moving images with one circuit simply by switching the profile.
  • the profile setting unit 121 sets a profile according to image data to be encoded, for example, according to an external instruction from the user or the like.
  • step S102 the lossless encoding unit 106 determines whether the profile set in step S101 is a still image profile (profile suitable for encoding image data of a still image). If it is determined that the set profile is a moving image profile (profile suitable for encoding moving image data), the process proceeds to step S103.
  • step S103 the A / D conversion unit 101 A / D converts the image of each frame (picture) of the input moving image.
  • step S104 the screen rearrangement buffer 102 stores the image A / D converted in step S103, and performs rearrangement from the display order of each picture to the encoding order.
  • step S105 the intra prediction unit 113 performs intra prediction processing in the intra prediction mode.
  • step S106 the inter prediction unit 114 performs inter prediction processing that performs motion prediction and motion compensation in the inter prediction mode.
  • step S107 the predicted image selection unit 115 selects a predicted image based on the cost function value and the like. That is, the predicted image selection unit 115 selects one of the predicted image generated by the intra prediction of step S105 and the predicted image generated by the inter prediction of step S106.
  • step S108 the computing unit 103 computes the difference between the input image whose frame order has been rearranged in the process of step S104 and the predicted image selected in the process of step S107. That is, the calculation unit 103 generates image data of a difference image between the input image and the prediction image. The image data of the difference image thus obtained is reduced in data amount compared to the original image data. Therefore, the amount of data can be compressed as compared to the case of encoding the image as it is.
  • step S109 the orthogonal transformation unit 104 orthogonally transforms the image data of the difference image generated by the process of step S108.
  • step S110 the quantization unit 105 quantizes the orthogonal transformation coefficient obtained by the process of step S109 using the quantization parameter calculated by the rate control unit 116.
  • step S111 the inverse quantization unit 108 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process of step S110 with a characteristic corresponding to the characteristic of the quantization unit 105.
  • the quantized coefficient also referred to as a quantization coefficient
  • step S112 the inverse orthogonal transformation unit 109 performs inverse orthogonal transformation on the orthogonal transformation coefficient obtained by the process of step S111.
  • step S113 the calculation unit 110 generates image data of a reconstructed image by adding the predicted image selected in the process of step S107 to the differential image restored in the process of step S112.
  • step S114 the loop filter 111 performs loop filter processing on the image data of the reconstructed image generated by the processing of step S113. Thereby, block distortion etc. of the reconstructed image are removed.
  • step S115 the frame memory 112 stores the decoded image obtained by the process of step S114.
  • step S116 the lossless encoding unit 106 encodes the quantized coefficient obtained by the process of step S110. That is, lossless encoding such as variable-length encoding or arithmetic encoding is performed on data corresponding to the difference image.
  • the lossless encoding unit 106 encodes information on the prediction mode of the predicted image selected in the process of step S107, and adds the information to encoded data obtained by encoding a differential image. That is, 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, etc. Add
  • the lossless encoding unit 106 sets, encodes, and adds syntax elements such as various null units to encoded data.
  • step S117 the accumulation buffer 107 accumulates the encoded data obtained by the process of step S115.
  • 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 S118 the rate control unit 116 prevents the overflow or underflow from occurring on the basis of the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 107 by the process of step S117. Control the rate of the quantization operation of Further, the rate control unit 116 supplies the information on the quantization parameter to the quantization unit 105. When the process of step S118 ends, the encoding process ends.
  • step S102 When it is determined in step S102 that the profile set in step S101 is a profile for a still image (profile suitable for encoding image data of a still image), the process is the step shown in FIG. It progresses to S121.
  • step S106 when encoding image data of a still image, the concept of time does not exist in the image data (there is not a plurality of pictures), and therefore the inter prediction processing in step S106 is omitted. Therefore, the process of selecting a predicted image in step S107 is also omitted.
  • each process of step S121 to step S123 of FIG. 28 corresponds to each process of step S103 to step S105 of FIG. Further, each process of step S124 to step S134 of FIG. 28 corresponds to each process of step S108 to step S118 of FIG.
  • step S132 in FIG. 28 the value of the syntax element relating to the process between images is limited. Details of this process will be described later.
  • step S134 in FIG. 28 ends, the encoding process ends.
  • the syntax element setting unit 131 sets a syntax element based on the still image restriction. For example, ⁇ 0. As described above in Overview>, in order to reduce transmission of redundant information, when the Still Picture Profile is applied, the syntax element setting unit 131 sets the value of the syntax element related to processing between images. Restrict.
  • step S152 the encoding unit 132 encodes the syntax element set in step S151.
  • step S153 the encoding unit 132 encodes the orthogonal transformation coefficient quantized by the quantization unit 105.
  • the lossless encoding process ends, and the process returns to FIG.
  • the syntax element setting unit 131 sets the parameter vps_max_sub_layers_minus1 related to the sublayer of the video parameter set (VPS) and the parameter sps_max_sub_layers_minus1 related to the sublayer of the sequence parameter set (SPS) to 0 in step S171. Do.
  • step S172 the syntax element setting unit 131 sets the syntax element general_profile_idc of the profile tier level (profile_tier_level ()) to a value indicating a still picture profile (Still Picture Profile).
  • step S173 the syntax element setting unit 131 sets other syntax elements of the profile tier level (profile_tier_level ()).
  • step S174 the syntax element setting unit 131 sets the value of the syntax element vps_num_hrd_parameters related to the virtual reference decoder of the video parameter set (VPS) to 0.
  • step S175 the syntax element setting unit 131 sets the value of the syntax element restricted_ref_pic_lists_flag regarding the P slice or B slice of the sequence parameter set (SPS) to 0.
  • step S176 the syntax element setting unit 131 sets the value of the syntax element num_short_term_ref_pic_sets regarding the short term of the sequence parameter set (SPS) to 0.
  • step S177 the syntax element setting unit 131 sets the value of the syntax element long_term_ref_pics_present_flag regarding the long term of the sequence parameter set (SPS) to 0.
  • step S178 the syntax element setting unit 131 sets the value of the syntax element sps_temporal_mvp_enable_flag regarding the motion vector of the sequence parameter set (SPS) to 0.
  • step S179 the syntax element setting unit 131 sets the value of both the syntax element num_ref_idx_I0_default_active minus1 related to L0 of the picture parameter set (PPS) and the syntax element num_ref_idx_I1_default_active minus1 related to L1 to 0 or 1.
  • step S180 the syntax element setting unit 131 sets the value of the syntax element lists_modification_present_flag indicating whether the syntax element ref_pic_list_modification of the picture parameter set (PPS) is present in the current slice header to 0.
  • step S181 the syntax element setting unit 131 sets the value of the syntax element log2_parallel_merge_level_minus2 of the picture parameter set (PPS) that specifies the parallel processing level in merge mode or skip mode in prediction processing to 0.
  • PPS picture parameter set
  • step S182 the syntax element setting unit 131 sets the value of the syntax element scaling_list_pred_mode_flag for the prediction mode of the scaling list (scaling_list_data ()) to 0 and sets the value of the syntax element scaling_list_pred_matrix_id_delta for the prediction matrix of the scaling list (scaling_list_data ()). Set to 0 or 1.
  • step S183 the syntax element setting unit 131 sets the value of the syntax element slice_type related to the slice type in the slice header (slice_header ()) to a value indicating I slice.
  • step S184 the syntax element setting unit 131 sets the null unit type (nal_unit_type) for VCL to IDR_W_LP or IDR_N_LP.
  • step S185 the syntax element setting unit 131 sets other syntax elements. For example, in step S185, the syntax element setting unit 131 sets the value of syntax element (flag) weighted_pred_flag for weighted prediction of P slice or syntax element (flag) weighted_bipred_flag for weighted prediction of B slice in the picture parameter set (PPS) to 0. It may be set to When the process of step S185 ends, the process returns to FIG.
  • processing order of each step described above is arbitrary, and the processing order of each step may be switched, or processing of a plurality of steps may be executed in parallel.
  • processing order of steps S171 to S173 is arbitrary.
  • syntax element for limiting the value is not limited to the above-described example, a process for limiting the value of syntax element not described above may be added also in the syntax element setting process of FIG.
  • the image coding apparatus 100 suppresses transmission of redundant information when coding is performed using a profile for coding a still image, and an image to be an output.
  • the coding efficiency in compressed information can be improved.
  • Second embodiment> ⁇ Image coding device>
  • the selection of the profile corresponds to the input image. Therefore, it may be determined whether the input image is a moving image or a still image, and an appropriate profile may be set according to the determination result.
  • FIG. 31 is a block diagram illustrating an example of a configuration of an image coding device which is an aspect of the image processing device to which the present technology is applied.
  • the image coding apparatus 200 shown in FIG. 31 codes image data of a moving image and a still image, for example, using the prediction processing of HEVC or the prediction processing according to the method.
  • the image coding device 200 has basically the same configuration as the image coding device 100 and performs the same processing. However, in addition to the configuration of the image coding apparatus 100, the image coding apparatus 200 includes a determination unit 211.
  • the determination unit 211 acquires image information from the screen rearrangement buffer 102 and analyzes the image information to determine whether the image data to be encoded is a moving image or a still image. The determination unit 211 supplies the determination result to the profile setting unit 121.
  • the profile setting unit 121 sets an appropriate profile according to the determination result supplied from the determination unit 211. That is, for example, when the determination unit 211 determines that the image data to be encoded is a moving image, the profile setting unit 121 sets a profile for moving image. Also, for example, when the determination unit 211 determines that the image data to be encoded is a still image, the profile setting unit 121 sets a still image profile (for example, a still picture profile). Do.
  • the profile setting unit 121 supplies the information to the lossless encoding unit 106.
  • the lossless encoding unit 106 performs encoding in accordance with the profile set by the profile setting unit 121.
  • the image encoding device 200 can set a profile according to the input image data without designation from the outside of the user or the like, for example. That is, the image coding apparatus 200 can suppress transmission of redundant information without specification from the outside such as a user, for example, and can improve the coding efficiency of image compression information to be output.
  • the image coding apparatus 200 can also suppress an increase in unnecessary load of decoding processing by reducing redundant information of coded data.
  • the image coding apparatus 200 can code both still images and moving images with one circuit.
  • step S201 of FIG. 32 the determination unit 211 determines whether the input image is a still image.
  • step S202 the profile setting unit 121 sets a profile according to the determination result obtained in step S201.
  • step S203 in FIG. 32 If it is determined in step S203 in FIG. 32 that the still image profile is set, the process proceeds to step S221 in FIG. In each step of step S221 to step S234 of FIG. 33, the same process as each step of step S121 to step S134 of FIG. 28 is performed.
  • the image encoding apparatus 200 can set a profile according to the input image data without specification from the outside of the user, for example, and redundant information It is possible to suppress transmission and improve the coding efficiency in the output image compression information.
  • FIG. 34 is a block diagram showing a main configuration example of an image decoding device corresponding to the image coding device 100 of FIG. 25 or the image coding device 200 of FIG. 31, which is an aspect of an image processing device to which the present technology is applied. It is.
  • the image decoding apparatus 300 shown in FIG. 34 decodes the encoded data generated by the image encoding apparatus 100 or the image encoding apparatus 200 by a decoding method corresponding to the encoding method.
  • the image decoding apparatus 300 includes an accumulation buffer 301, a lossless decoding unit 302, an inverse quantization unit 303, an inverse orthogonal transformation unit 304, an operation unit 305, a loop filter 306, a screen rearrangement buffer 307, and D. / A converter 308 is included.
  • the image decoding apparatus 300 further includes a frame memory 309, an intra prediction unit 310, an inter prediction unit 311, and a predicted image selection unit 312.
  • the accumulation buffer 301 is also a receiving unit that receives the 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 encoded by the lossless encoding unit 106 supplied from the accumulation buffer 301 using a decoding method corresponding to the encoding method.
  • the lossless decoding unit 302 supplies the quantized coefficient data of the differential image obtained by the decoding to the inverse quantization unit 303.
  • the lossless decoding unit 302 determines whether the intra prediction mode is selected as the optimal prediction mode or the inter prediction mode is selected, and information on the optimal prediction mode is obtained by comparing the intra prediction unit 310 and the inter prediction unit 311.
  • the mode is determined to be selected. That is, for example, when the intra prediction mode is selected as the optimal prediction mode in the image coding apparatus, information on the optimal prediction mode is supplied to the intra prediction unit 310. Also, for example, when the inter prediction mode is selected as the optimum prediction mode in the image coding apparatus, information on the optimum prediction mode is supplied to the inter prediction unit 311.
  • the lossless decoding unit 302 supplies, to the inverse quantization unit 303, information necessary for inverse quantization, such as, for example, a quantization matrix and a quantization parameter.
  • the inverse quantization unit 303 inversely quantizes the quantized coefficient data obtained by being decoded by the lossless decoding unit 302 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. That is, the description of the inverse quantization unit 303 can be applied to the inverse quantization unit 108 as well. However, it is necessary to change and read data input / output destinations and the like according to the apparatus as appropriate.
  • the inverse quantization unit 303 supplies the obtained coefficient data to the inverse orthogonal transformation unit 304.
  • the inverse orthogonal transformation unit 304 performs inverse orthogonal transformation on the orthogonal transformation coefficient supplied from the inverse quantization unit 303 according to a scheme corresponding to the orthogonal transformation scheme of the orthogonal transformation unit 104 as necessary.
  • the inverse orthogonal transformation unit 304 is a processing unit similar to the inverse orthogonal transformation unit 109. That is, the description of the inverse orthogonal transform unit 304 can be applied to the inverse orthogonal transform unit 109 as well. However, it is necessary to change and read data input / output destinations and the like according to the apparatus as appropriate.
  • the image data of the difference image is restored by this inverse orthogonal transformation process.
  • the image data of the restored difference image corresponds to the image data of the difference image before orthogonal transformation in the image coding apparatus.
  • the image data of the restored difference image obtained by the inverse orthogonal transformation processing of the inverse orthogonal transformation unit 304 is also referred to as decoding residual data.
  • the inverse orthogonal transformation unit 304 supplies the decoded residual data to the calculation unit 305.
  • the image data of the prediction image is supplied from the intra prediction unit 310 or the inter prediction unit 311 to the calculation unit 305 via the prediction image selection unit 312.
  • Arithmetic unit 305 uses this decoded residual data and the image data of the predicted image to obtain image data of a reconstructed image obtained by adding the difference image and the predicted image.
  • the reconstructed image corresponds to the input image before the predicted image is subtracted by the calculation unit 103.
  • the operation 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, adaptive loop filter processing and the like on the supplied reconstructed image to generate a decoded image.
  • the loop filter 306 removes block distortion by performing deblocking filter processing on the reconstructed image.
  • the loop filter 306 improves the image quality by performing a loop filter process on the deblock filter process 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. Also, the loop filter 306 may perform the filtering process using the filter coefficient supplied from the image coding device.
  • the loop filter 306 supplies the decoded image, which is the filter processing result, to the screen rearrangement buffer 307 and the frame memory 309.
  • the screen rearrangement buffer 307 rearranges the order of frames for the decoded image. That is, the screen rearrangement buffer 307 rearranges the images of the respective 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 image of each frame supplied in the encoding order in that order, reads out the image data of the decoded image of each frame stored in the encoding order, in display order / A converter 308 is supplied.
  • the D / A conversion unit 308 D / A converts the decoded image (digital data) of each frame supplied from the screen rearrangement buffer 307 and outputs it as analog data to a display (not shown) for display.
  • the frame memory 309 stores the decoded image to be supplied, and at the predetermined timing or based on an external request of the inter prediction unit 311 or the like, the inter prediction unit 311 uses the stored decoded image as a reference image. Supply.
  • the intra prediction unit 310 performs intra prediction in the intra prediction mode (optimal intra prediction mode) used by the intra prediction unit 113, and generates a prediction image. At this 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 (peripheral pixels). The intra prediction unit 310 supplies the generated predicted image to the predicted image selection unit 312.
  • the inter prediction unit 311 acquires, from the lossless decoding unit 302, information (optimum prediction mode information, reference image information, and the like) obtained by decoding header information.
  • the inter prediction unit 311 performs inter prediction using the reference image acquired from the frame memory 309 in the inter prediction mode (optimal inter prediction mode) indicated by the optimum prediction mode information acquired from the lossless decoding unit 302, and generates an estimated image.
  • the prediction 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, in the operation unit 305, the predicted image and the decoded residual data (difference image information) from the inverse orthogonal transform unit 304 are added to obtain a reconstructed image.
  • the image decoding apparatus 300 further includes a profile determination unit 321.
  • the profile determination unit 321 is a profile of encoded data included in the encoded data (bit stream) transmitted from the lossless decoding unit 302 from the encoding side (for example, the image encoding device 100 or the image encoding device 200).
  • the information related to is acquired, and the profile set in the encoding side (for example, the image encoding device 100 or the image encoding device 200) is determined based on the information.
  • the profile determining unit 321 determines whether a still image profile (for example, a still picture profile) is set.
  • the profile determination unit 321 supplies the determination result to the lossless decoding unit 302.
  • the lossless decoding unit 302 decodes the encoded data according to the determination result of the profile supplied from the profile determination unit 321. For example, when the profile determination unit 321 determines that a still image profile (for example, a still picture profile) is set, the lossless decoding unit 302 determines a syntax element related to processing between images. , Analyze with limited values. A specific example of how to limit the value of this syntax element is ⁇ 0. The outline is as described above.
  • FIG. 35 is a block diagram showing a main configuration example of syntax element analysis of the lossless decoding unit 302 in FIG. As shown in FIG. 35, the lossless decoding unit 302 includes a decoding unit 331 and a syntax element analysis unit 332.
  • the decoding unit 331 decodes the encoded data supplied from the accumulation buffer 301.
  • the decoding unit 331 supplies, for example, information on the profile obtained by decoding the encoded data to the profile determination unit 321.
  • the profile determination unit 321 determines the set profile, and supplies information specifying the profile to the syntax element analysis unit 332.
  • the decoding unit 331 supplies, for example, the quantized orthogonal transformation coefficient obtained by decoding the encoded data to the inverse quantization unit 303. Furthermore, the decoding unit 331 supplies, for example, a syntax element analysis unit 332 with a syntax element obtained by decoding the encoded data.
  • the syntax element analysis unit 332 analyzes various syntaxes supplied from the decoding unit 331, and controls the operation of each processing unit of the image decoding apparatus 300, such as the intra prediction unit 310 and the inter prediction unit 311, according to the analysis result. .
  • the syntax element analysis unit 332 analyzes this syntax element in accordance with the determination result supplied from the profile determination unit 321. For example, when it is determined that a still image profile (for example, a still picture profile) is set, the syntax element analysis unit 332 limits the value of syntax elements related to processing between images. Analyze in the A specific example of how to limit the value of this syntax element is ⁇ 0. The outline is as described above.
  • the syntax element analysis unit 332 can omit analysis of unnecessary syntax elements according to the set profile (the syntax elements can be skipped). That is, even when the encoded data to be decoded includes unnecessary information, the image decoding apparatus 300 can appropriately skip the unnecessary information according to the set profile, and the decoding process Unnecessary load increase can be suppressed.
  • the image decoding apparatus 300 can decode both still image coded data and moving image coded data with one circuit.
  • step S301 the lossless decoding unit 302 decodes the profile.
  • step S302 the profile determination unit 321 determines whether the profile set in the encoded data is a still image profile based on the profile decoded in step S301. If it is determined that the moving image profile is set, the process proceeds to step S303, and various processes for decoding the encoded data of the moving image as described below (steps S303 to S313) Processing is performed.
  • step S303 the syntax element analysis unit 332 of the lossless decoding unit 302 analyzes syntax elements obtained from the encoded data, and sets various parameters and the like used for decoding.
  • step S304 the accumulation buffer 301 accumulates the transmitted bit stream (encoded data).
  • step S305 the lossless decoding unit 302 decodes the bit stream (coded data) supplied from the accumulation buffer 301. That is, image data such as I picture, P picture, and 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.
  • step S306 the inverse quantization unit 303 inversely quantizes the quantized coefficient obtained by the process of step S305.
  • step S307 the inverse orthogonal transform unit 304 performs inverse orthogonal transform on the coefficient that has been dequantized in step S306.
  • step S308 the intra prediction unit 310 or the inter prediction unit 311 performs prediction processing to generate a prediction image. That is, prediction processing is performed in the prediction mode applied in coding, which is determined by the lossless decoding unit 302. 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 which is determined to be optimal at the time of encoding. Also, for example, when inter prediction is applied at the time of encoding, the inter prediction unit 311 generates a predicted image in the inter prediction mode that is determined to be optimal at the time of encoding.
  • step S309 the computing unit 305 adds the predicted image generated in step S308 to the difference image obtained by the inverse orthogonal transformation in step S307. Thereby, image data of a reconstructed image is obtained.
  • step S310 the loop filter 306 appropriately performs loop filter processing including deblock filter processing, adaptive loop filter processing, and the like on the image data of the reconstructed image obtained by the processing of step S309.
  • step S311 the screen rearrangement buffer 307 rearranges each frame of the reconstructed image filtered in step S310. That is, the order of the frames rearranged during encoding is rearranged to the original display order.
  • step S312 the D / A conversion unit 308 D / A converts the image in which the order of the frames is rearranged in step S311. This image is output to a display not shown, and the image is displayed.
  • step S313 the frame memory 309 stores the image filtered in step S310.
  • step S313 ends, the decoding process ends.
  • step S302 If it is determined in step S302 that a still image profile (profile suitable for encoding image data of a still image) is set, the process proceeds to step S321 in FIG.
  • each process of step S321 to step S331 of FIG. 37 corresponds to each process of step S303 to step S313 of FIG.
  • a predicted image is generated by intra prediction in step S326 because there is no concept of time in the image data (a plurality of pictures does not exist).
  • step S321 analysis of syntax elements is performed in a state in which the value of syntax elements related to processing between images is limited. Details of this process will be described later.
  • step S331 ends, the decoding process ends.
  • syntax element analysis unit 332 determines that parameter vps_max_sub_layers_minus 1 related to a sublayer of video parameter set (VPS) and parameter sps_max_sub_layers_minus 1 related to a sublayer of sequence parameter set (SPS) are 0. It is determined that
  • step S352 the syntax element analysis unit 332 determines that the syntax element general_profile_idc of the profile tier level (profile_tier_level ()) is a value indicating a still picture profile (Still Picture Profile).
  • step S353 the syntax element analysis unit 332 determines the other syntax elements of the profile tier level (profile_tier_level ()).
  • step S354 the syntax element analysis unit 332 determines that the value of the syntax element vps_num_hrd_parameters regarding the virtual reference decoder of the video parameter set (VPS) is 0.
  • step S355 the syntax element analysis unit 332 determines that the value of the syntax element restricted_ref_pic_lists_flag related to the P slice or B slice of the sequence parameter set (SPS) is 0.
  • step S356 the syntax element analysis unit 332 determines that the value of the syntax element num_short_term_ref_pic_sets regarding the short term of the sequence parameter set (SPS) is zero.
  • step S357 the syntax element analysis unit 332 determines that the value of the syntax element long_term_ref_pics_present_flag regarding the long term of the sequence parameter set (SPS) is 0.
  • step S358 the syntax element analysis unit 332 determines that the value of the syntax element sps_temporal_mvp_enable_flag regarding the motion vector of the sequence parameter set (SPS) is 0.
  • step S359 the syntax element analysis unit 332 determines that the value of the syntax element num_ref_idx_I0_default_active minus1 regarding L0 of the picture parameter set (PPS) and the syntax element num_ref_idx_I1_default_active minus1 regarding L1 are both 0 or 1.
  • step S360 the syntax element analysis unit 332 determines that the value of the syntax element lists_modification_present_flag indicating whether the syntax element ref_pic_list_modification of the picture parameter set (PPS) is present in the current slice header is 0.
  • step S361 the syntax element analysis unit 332 determines that the value of the syntax element log2_parallel_merge_level_minus2 that specifies the parallel processing level of the merge mode or the skip mode in the prediction process of the picture parameter set (PPS) is 0.
  • step S362 the syntax element analysis unit 332 determines that the value of the syntax element scaling_list_pred_mode_flag regarding the prediction mode of the scaling list (scaling_list_data ()) is 0, and the syntax element scaling_list_pred_matrix_id_delta regarding the prediction matrix of the scaling list (scaling_list_data ()). It is determined that the value is 0 or 1.
  • step S363 the syntax element analysis unit 332 determines that the value of the syntax element slice_type related to the slice type in the slice header (slice_header ()) is a value indicating I slice.
  • step S364 the syntax element analysis unit 332 determines that the null unit type (nal_unit_type) for VCL is IDR_W_LP or IDR_N_LP.
  • step S365 the syntax element analysis unit 332 determines other syntax elements. For example, in step S365, the syntax element analysis unit 332 sets the syntax element (flag) weighted_pred_flag for weighted prediction of P slices and the syntax element (flag) weighted_bipred_flag for weighted prediction of B slices to 0 in the picture parameter set (PPS). It may be determined that When the process of step S365 ends, the process returns to FIG.
  • processing order of each step described above is arbitrary, and the processing order of each step may be switched, or processing of a plurality of steps may be executed in parallel.
  • processing order of steps S351 to S353 is arbitrary.
  • each syntax element described above since the limitation of the value of each syntax element described above is independent of each other, it is not necessary to analyze with all the values of the syntax element group described above limited, and only some syntax elements Analysis may be performed in a restricted state. That is, among the steps described above in the syntax element analysis process of FIG. 38, only some of the steps may be executed.
  • syntax element for limiting the value is not limited to the above-described example, also in the syntax element analysis process of FIG. 38, a process for analyzing with the value of syntax elements not described above limited is added It is also good.
  • the image decoding apparatus 300 can suppress an increase in unnecessary load when decoding encoded data encoded by a profile for encoding a still image. Can.
  • Image decoding apparatus When the image decoding apparatus decodes encoded data, it may check whether the setting of the syntax value is correctly performed on the set profile in the encoded data. .
  • FIG. 39 is a block diagram illustrating an example of a configuration of an image decoding device which is an aspect of the image processing device to which the present technology is applied.
  • the image decoding device 400 shown in FIG. 39 is an image decoding device corresponding to the image coding device 100 or the image coding device 200 as in the image decoding device 300, and for example, a prediction processing of HEVC or a method according thereto
  • the encoded data in which the image data of the moving image and the still image is encoded is decoded using the prediction process of
  • the image decoding device 400 has basically the same configuration as the image decoding device 300, and performs the same processing. However, in addition to the configuration of the image decoding apparatus 300, the image decoding apparatus 400 includes an abnormality processing unit 411.
  • the lossless decoding unit 302 checks whether the syntax element is set correctly for the profile determined by the profile determination unit 321. If an abnormality is detected in the inspection, that is, if an unnecessary syntax element is set or if the setting of the syntax element is not correct, the abnormality processing unit 411 is notified of that.
  • the abnormality processing unit 411 When notified of the occurrence of an abnormality from the lossless decoding unit 302, the abnormality processing unit 411 performs predetermined abnormality processing. For example, the abnormality processing unit 411 displays a warning image on a monitor or outputs a warning sound from a speaker or the like. The content of this abnormal processing is optional. For example, the abnormality processing unit 411 may control each unit of the image decoding apparatus 400 to stop the decoding process or forcibly end the process for safety.
  • FIG. 40 is a block diagram showing a main configuration example of syntax element analysis of the lossless decoding unit 302 in FIG. As shown in FIG. 40, the lossless decoding unit 302 in this case has a syntax element inspection unit 421 in addition to the configuration of FIG.
  • the profile determination unit 321 determines the set profile based on the information supplied from the decryption unit 331, and supplies the information for specifying the profile to the syntax element inspection unit 421.
  • the decoding unit 331 supplies a syntax element inspection unit 421 with syntax elements obtained by decoding the encoded data.
  • the syntax element inspection unit 421 inspects the values of various syntax elements supplied from the decoding unit 331 in accordance with the determination result supplied from the profile determination unit 321. If the syntax element is normal, the syntax element inspection unit 421 supplies the syntax element analysis unit 332 with the inspected syntax element.
  • the syntax element inspection unit 421 notifies that effect.
  • the abnormality processing unit 411 is notified.
  • the abnormality processing unit 411 performs the abnormality processing in accordance with the notification.
  • the image decoding apparatus 400 can detect an incorrect setting of syntax elements, and can perform decoding processing more safely. Further, the image decoding apparatus 400 can be used for inspection and analysis of encoded data. That is, the image decoding apparatus 400 can be used as an analyzer of coded data, and if necessary, it is possible to urge, for example, re-creation of the coded data.
  • the image decoding apparatus 400 can decode both still image encoded data and moving image encoded data with one circuit.
  • the image decoding apparatus 400 executes the same process as each step of step S301 to step S313 of FIG. 36 in step S401 to step S413 of FIG.
  • the decoding process ends.
  • step S402 If it is determined in step S402 that the still image profile is set, the process proceeds to step S421 in FIG.
  • step S421 in FIG. 42 the syntax element inspection unit 421 of the lossless decoding unit 302 inspects syntax elements based on the restriction by the profile for still images.
  • step S422 the syntax element inspection unit 421 determines whether there is a violation in the syntax element based on the inspection result in step S421. If it is determined that there is no violation, the process proceeds to step S423.
  • step S423 to S433 in FIG. 42 the same process as each step of steps S321 to S331 in FIG. 37 is performed.
  • step S433 ends, the decoding process ends.
  • step S422 in FIG. 42 If it is determined in step S422 in FIG. 42 that there is a violation, the process proceeds to step S434.
  • step S434 the abnormality processing unit 411 performs abnormality processing.
  • the decoding process ends.
  • the syntax element inspection unit 421 determines that the parameter vps_max_sub_layers_minus1 related to the sublayer of the video parameter set (VPS) and the parameter sps_max_sub_layers_minus1 related to the sublayer of the sequence parameter set (SPS) are 0 in step S451. It is determined whether or not. If the determination result is true, that is, if it is determined that the parameter vps_max_sub_layers_minus1 related to the sublayer of the video parameter set (VPS) and the parameter sps_max_sub_layers_minus1 related to the sublayer of the sequence parameter set (SPS) are 0, the processing proceeds to step S452. move on.
  • step S 452 the syntax element inspection unit 421 determines whether the syntax element general_profile_idc of the profile tier level (profile_tier_level ()) has a value indicating a still picture profile (Still Picture Profile). If the determination result is true, that is, if it is determined that the syntax element general_profile_idc of the profile tier level (profile_tier_level ()) is a value indicating a still picture profile (Still Picture Profile), the process proceeds to step S453.
  • step S453 the syntax element inspection unit 421 determines whether the value of the syntax element vps_num_hrd_parameters related to the virtual reference decoder of the video parameter set (VPS) is 0 or not. If the determination result is true, that is, if it is determined that the value of the syntax element vps_num_hrd_parameters related to the virtual reference decoder of the video parameter set (VPS) is 0, the processing proceeds to step S454.
  • step S454 the syntax element inspection unit 421 determines whether the value of the syntax element restricted_ref_pic_lists_flag regarding the P slice or B slice of the sequence parameter set (SPS) is 0 or not. If the determination result is true, that is, if it is determined that the value of the syntax element restricted_ref_pic_lists_flag regarding the P slice or B slice of the sequence parameter set (SPS) is 0, the processing proceeds to step S455.
  • step S455 the syntax element inspection unit 421 determines whether the value of the syntax element num_short_term_ref_pic_sets regarding the short term of the sequence parameter set (SPS) is 0 or not. If the determination result is true, that is, if it is determined that the value of the syntax element num_short_term_ref_pic_sets related to the short term of the sequence parameter set (SPS) is 0, the processing proceeds to step S456.
  • step S456 the syntax element inspection unit 421 determines whether the value of the syntax element long_term_ref_pics_present_flag regarding the long term of the sequence parameter set (SPS) is 0 or not. If the determination result is true, that is, if it is determined that the value of the syntax element long_term_ref_pics_present_flag regarding the long term of the sequence parameter set (SPS) is 0, the processing proceeds to step S457.
  • step S457 the syntax element inspection unit 421 determines whether the value of the syntax element sps_temporal_mvp_enable_flag regarding the motion vector of the sequence parameter set (SPS) is 0 or not. If the determination result is true, that is, if it is determined that the value of syntax element sps_temporal_mvp_enable_flag regarding the motion vector of sequence parameter set (SPS) is 0, the process proceeds to step S458.
  • step S458 the syntax element inspection unit 421 determines whether the syntax element num_ref_idx_I0_default_active minus1 related to L0 of the picture parameter set (PPS) and the syntax element num_ref_idx_I1_default_active minus1 related to L1 are both 0 or 1. If the determination result is true, that is, if it is determined that both the syntax element num_ref_idx_I0_default_active minus1 related to L0 of the picture parameter set (PPS) and the syntax element num_ref_idx_I1_default_active minus1 related to L1 are 0 or 1, the process is a step. Go to S459.
  • step S459 the syntax element inspection unit 421 determines whether the value of the syntax element lists_modification_present_flag indicating whether the syntax element ref_pic_list_modification of the picture parameter set (PPS) is present in the current slice header is 0 or not. If the determination result is true, that is, if it is determined that the value of the syntax element lists_modification_present_flag of the picture parameter set (PPS) indicating whether the syntax element ref_pic_list_modification exists in the current slice header, the process is a step Go to S460.
  • step S460 the syntax element inspection unit 421 determines whether the value of the syntax element log2_parallel_merge_level_minus2 specifying the parallel processing level of the merge mode or the skip mode in the prediction processing of the picture parameter set (PPS) is 0 or not. If it is determined that the determination result is true, that is, if it is determined that the value of the syntax element log2_parallel_merge_level_minus2 of the picture parameter set (PPS) specifying the parallel processing level in merge mode or skip mode in prediction processing is 0, the process is performed Go to S461.
  • step S461 the syntax element inspection unit 421 determines that the value of the syntax element scaling_list_pred_mode_flag regarding the prediction mode of the scaling list (scaling_list_data ()) is 0 and the value of the syntax element scaling_list_pred_matrix_id_delta regarding the prediction matrix of the scaling list (scaling_list_data ()) is 0. Or, it is determined whether it is 1.
  • step S462 If it is determined that is, the process proceeds to step S462.
  • step S 462 the syntax element inspection unit 421 determines whether the value of the syntax element slice_type related to the slice type in the slice header (slice_header ()) is a value indicating I slice. If the determination result is true, that is, if it is determined that the value of the syntax element slice_type related to the slice type in the slice header (slice_header ()) is a value indicating I slice, the process proceeds to step S463.
  • step S463 the syntax element inspection unit 421 determines whether the null unit type (nal_unit_type) for VCL is IDR_W_LP or IDR_N_LP. If the determination result is true, that is, if it is determined that the null unit type (nal_unit_type) for VCL is IDR_W_LP or IDR_N_LP, the process proceeds to step S464.
  • step S464 the syntax element inspection unit 421 determines that the syntax element is normal.
  • the syntax element inspection process ends, and the process returns to FIG.
  • step S451 If it is determined in any of step S451 to step S463 of FIG. 43 that the determination result is false, the process proceeds to step S465.
  • step S465 the syntax element inspection unit 421 determines that the syntax element is abnormal.
  • the syntax element inspection process ends, and the process returns to FIG.
  • processing order of each step described above is arbitrary, and the processing order of each step may be switched, or processing of a plurality of steps may be executed in parallel.
  • the image decoding apparatus 400 can detect an incorrect setting of a syntax element, and can perform the decoding process more safely.
  • the application scope of the present technology can be applied to all image coding devices and image decoding devices that code and decode images.
  • the present technology is, for example, MPEG, H.
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc. via satellite broadcasting, cable television, the Internet, or network media such as a cellular phone
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
  • the present technology can also be applied to intra prediction devices included in such image coding devices and image decoding devices.
  • FIG. 44 shows an example of a multi-viewpoint image coding method.
  • the multi-viewpoint image includes images of a plurality of viewpoints (views).
  • the multiple views of this multi-view image are encoded using the base view that performs encoding / decoding using only the image of its own view without using the images of other views, and the image of the other view.
  • It consists of a non-base view that performs decoding.
  • the non-base view may use an image of a base view, or may use an image of another non-base view.
  • the images of each view are encoded / decoded.
  • the encoding / decoding of each view corresponds to the first to fourth embodiments.
  • the method described above in the embodiment may be applied. By doing this, it is possible to suppress a reduction in coding efficiency of each view.
  • flags and parameters used in the method described above in the first to fourth embodiments may be shared. By doing this, it is possible to suppress transmission of redundant information and reduce the amount of information (code amount) to be transmitted (that is, it is possible to suppress a reduction in encoding efficiency).
  • sequence parameter sets, profile tier levels, picture parameter sets, syntax elements of slice headers, etc. may be shared in encoding / decoding of each view.
  • FIG. 45 is a diagram showing a multi-viewpoint image coding apparatus which performs the above-described multi-viewpoint image coding.
  • the multi-viewpoint image coding device 600 includes a coding unit 601, a coding unit 602, and a multiplexing unit 603.
  • the encoding unit 601 encodes a base view image to generate a base view image coded stream.
  • the encoding unit 602 encodes the non-base view image to generate a non-base view image coded stream.
  • the multiplexing unit 603 multiplexes the base view image coded stream generated by the coding unit 601 and the non-base view image coded stream generated by the coding unit 602 to generate a multi-view image coded stream. Do.
  • the image coding apparatus 100 (FIG. 25) and the image coding apparatus 200 (FIG. 31) can be applied to the coding unit 601 and the coding unit 602 of the multi-viewpoint image coding apparatus 600. That is, when encoding for each view, when encoding is performed using a profile for encoding a still image, the value of syntax elements related to processing between images can be limited, and the encoding efficiency of each view can be reduced. Can be suppressed. Also, the encoding unit 601 and the encoding unit 602 can perform encoding using the same flags and parameters (for example, syntax elements related to inter-image processing) (that is, share flags and parameters). Can reduce the coding efficiency reduction.
  • flags and parameters for example, syntax elements related to inter-image processing
  • FIG. 46 is a diagram illustrating a multi-viewpoint image decoding apparatus that performs the above-described multi-viewpoint image decoding.
  • the multi-viewpoint image decoding device 610 includes a demultiplexing unit 611, a decoding unit 612, and a decoding unit 613.
  • a demultiplexing unit 611 demultiplexes a multi-view image coded stream in which the base view image coded stream and the non-base view image coded stream are multiplexed, and the base view image coded stream and the non-base view image. Extract the coded stream.
  • the decoding unit 612 decodes the base view image coded stream extracted by the demultiplexing unit 611 to obtain a base view image.
  • the decoding unit 613 decodes the non-base view image coded stream extracted by the demultiplexing unit 611 to obtain a non-base view image.
  • the image decoding apparatus 300 (FIG. 34) and the image decoding apparatus 400 (FIG. 39) can be applied to the decoding unit 612 and the decoding unit 613 of the multi-viewpoint image decoding apparatus 610. That is, in the decoding for each view, when encoding is performed using a profile for encoding a still image, syntax elements relating to processing between received images can be analyzed in a state in which values are limited.
  • the decoding unit 612 and the decoding unit 613 can perform decoding using the same flag or parameter (for example, syntax element or the like related to processing between images) (that is, share the flag or parameter). Since it is possible, it is possible to suppress a reduction in coding efficiency.
  • FIG. 47 shows an example of the hierarchical image coding method.
  • Hierarchical image coding (scalable coding) is to image data into a plurality of layers (layering) so as to have a scalability (scalability) function with respect to predetermined parameters, and to code each layer.
  • hierarchical image decoding hierarchical image coding (scalable decoding) is decoding corresponding to the hierarchical image coding.
  • the hierarchized image includes images of a plurality of hierarchies (layers) having different values of the predetermined parameter.
  • a plurality of layers of this hierarchical image are encoded using a base layer that performs encoding / decoding using only an image of its own layer without using an image of another layer, and an image of another layer It consists of a non-base layer (also referred to as an enhancement layer) that performs decoding.
  • the non-base layer may use an image of the base layer, or may use an image of another non-base layer.
  • the non-base layer is configured by data (difference data) of a difference image between its own image and an image of another layer so that redundancy is reduced.
  • difference data difference data
  • a base layer and a non-base layer also referred to as an enhancement layer
  • an image of lower quality than the original image can be obtained only with the data of the base layer.
  • an original image that is, a high quality image
  • images of various qualities can be easily obtained depending on the situation.
  • image compression information of only a base layer is transmitted, and a moving image with low space-time resolution or poor image quality is reproduced
  • image compression information of the enhancement layer is transmitted in addition to the base layer, and the space-time resolution is high, or It is possible to transmit image compression information according to the capabilities of the terminal or the network from the server without performing transcoding processing, such as reproducing high-quality moving images.
  • flags and parameters used in the method described in the first to fourth embodiments may be shared. By doing this, it is possible to suppress transmission of redundant information and reduce the amount of information (code amount) to be transmitted (that is, it is possible to suppress a reduction in encoding efficiency).
  • sequence parameter sets, profile tier levels, picture parameter sets, syntax elements of slice headers, etc. may be shared in encoding / decoding of each layer.
  • parameters having a scalability function are arbitrary.
  • spatial scalability as shown in FIG. 48 may be used as the parameter (spatial scalability).
  • the resolution of the image differs for each layer. That is, as shown in FIG. 48, an enhancement in which the original image (original spatial resolution) is obtained by combining each picture with the base layer with a resolution lower than that of the original image and the image of the base layer. Layered into two layers of layers. Of course, this number of layers is an example, and can be hierarchized into any number of layers.
  • temporal scalability as shown in FIG. 49 may be applied as a parameter for giving such scalability.
  • the frame rate is different for each layer. That is, in this case, as shown in FIG. 49, it is layered in layers of 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
  • the number of layers is an example, and the number of layers can be hierarchized.
  • a signal to noise ratio may be applied as a parameter for providing such scalability (SNR scalability).
  • SNR scalability the SNR scalability
  • the SN ratio differs for each layer. That is, as shown in FIG. 50, two layers of enhancement layers in which the original image (original SNR) can be obtained by combining each picture with the base layer having a lower SNR than the original image and the image of the base layer. It is hierarchized. That is, in the base layer image compression information, information related to a low PSNR image is transmitted, and by adding an enhancement layer image compression information to this, a high PSNR image is reconstructed. It is possible.
  • this number of layers is an example, and can be hierarchized into any number of layers.
  • the parameters for providing scalability may be other than the examples described above.
  • a bit-depth scalability is obtained in which a 10-bit image can be obtained. is there.
  • chroma scalability in which a component image of 4: 2: 2 format can be obtained by adding an enhancement layer to a component image of a 4: 2: 0 format as a base layer (base layer). scalability).
  • FIG. 51 is a diagram showing a hierarchical image coding apparatus that performs the above-described hierarchical image coding.
  • the hierarchical image coding device 620 includes a coding unit 621, a coding unit 622, and a multiplexing unit 623.
  • the encoding unit 621 encodes a base layer image to generate a base layer image coded stream.
  • the encoding unit 622 encodes the non-base layer image to generate a non-base layer image coded stream.
  • the multiplexing unit 623 multiplexes the base layer image coded stream generated by the coding unit 621 and the non-base layer image coded stream generated by the coding unit 622 to generate a hierarchical image coded stream. .
  • the image encoding device 100 (FIG. 25) and the image encoding device 200 (FIG. 31) can be applied to the encoding unit 621 and the encoding unit 622 of the hierarchical image encoding device 620. That is, in the case of encoding for each layer, when encoding is performed using a profile for encoding a still image, it is possible to limit the value of syntax elements related to inter-image processing, and the encoding efficiency of each layer is reduced. Can be suppressed.
  • the encoding unit 621 and the encoding unit 622 can perform filter processing control for intra prediction, etc. using the same flag and parameter (for example, syntax elements related to processing between images) , Flags and parameters can be shared), so it is possible to suppress a reduction in coding efficiency.
  • FIG. 52 is a diagram showing a hierarchical image decoding device 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.
  • a demultiplexing unit 631 demultiplexes the hierarchical image coded stream in which the base layer image coded stream and the non-base layer image coded stream are multiplexed, and the base layer image coded stream and the non-base layer image code Extract the stream of
  • the decoding unit 632 decodes the base layer image coded stream extracted by the demultiplexing unit 631 to obtain a base layer image.
  • the decoding unit 633 decodes the non-base layer image coded stream extracted by the demultiplexing unit 631 to obtain a non-base layer image.
  • the image decoding device 300 (FIG. 34) and the image decoding device 400 (FIG. 39) can be applied to the decoding unit 632 and the decoding unit 633 of the hierarchical image decoding device 630. That is, when performing encoding processing with a profile for encoding a still image in decoding for each layer, syntax elements related to processing between received images can be analyzed in a state where values are limited, It is possible to suppress a reduction in coding efficiency of each layer.
  • the decoding unit 612 and the decoding unit 613 can perform decoding using the same flag or parameter (for example, syntax element or the like related to processing between images) (that is, share the flag or parameter). Since it is possible, it is possible to suppress a reduction in coding efficiency.
  • the present technology is, for example, MPEG, H.
  • image information bit stream
  • orthogonal transformation such as discrete cosine transformation and motion compensation as in 26x etc. via satellite broadcasting, cable television, the Internet, or network media such as a cellular phone
  • the present technology can be applied to an image encoding device and an image decoding device that are used when processing on storage media such as an optical disk, a magnetic disk, and a flash memory.
  • the present technology can also be applied to a quantizer or an inverse quantizer included in the image coding apparatus and the image decoding apparatus.
  • the series of processes described above can be performed by hardware or software.
  • a program that configures the software is installed on a 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. 53 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 801, a read only memory (ROM) 802, and a random access memory (RAM) 803 are mutually connected via a bus 804.
  • An input / output interface 810 Also connected to the bus 804 is an input / output interface 810.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, and an output terminal.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, and a non-volatile memory.
  • the communication unit 814 is, for example, a network interface.
  • the drive 815 drives removable media 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. Processing is performed.
  • the RAM 803 also 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. Also, 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 media 821 to the drive 815. Also, the program can be received by the communication unit 814 via a wired or wireless transmission medium, and can be installed in the storage unit 813. In addition, the program can be installed in advance in the ROM 802 or the storage unit 813.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • the step of describing the program to be recorded on the recording medium is not limited to processing performed chronologically in the order described, but not necessarily parallel processing It also includes processing to be executed individually.
  • a system means a set of a plurality of components (apparatus, modules (parts), etc.), and it does not matter whether all the components are in the same case. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the configuration described above as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configuration described as a plurality of devices (or processing units) in the above may be collectively configured as one device (or processing unit). Further, it goes without saying that configurations other than those described above may be added to the configuration of each device (or each processing unit). Furthermore, part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit) if the configuration or operation of the entire system is substantially the same. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • the image encoding device and the image decoding device include a transmitter or a receiver in optical satellite, 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 apparatus which records an image on a medium such as a magnetic disk and a flash memory, or a reproduction apparatus which reproduces an image from the storage medium.
  • a recording apparatus which records an image on a medium such as a magnetic disk and a flash memory
  • a reproduction apparatus which reproduces an image from the storage medium.
  • FIG. 54 shows an example of a schematic configuration of a television set to which the embodiment described above is applied.
  • the television device 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • 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 coded bit stream obtained by demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television apparatus 900 which receives a coded stream in which an image is coded.
  • the demultiplexer 903 separates the video stream and audio stream of the program to be viewed from the coded bit stream, and outputs the separated streams to the decoder 904. Also, the demultiplexer 903 extracts auxiliary data such as an EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. When the coded bit stream is scrambled, the demultiplexer 903 may perform descrambling.
  • 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. Further, the decoder 904 outputs the 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 a video. Also, the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via the network. Further, the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting. Furthermore, the video signal processing unit 905 may generate an image of a graphical user interface (GUI) such as a menu, a button, or a cursor, for example, and may superimpose the generated image on the output image.
  • GUI graphical 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 the image surface of a display device (for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • a display device for example, a liquid crystal display, a plasma display, or OELD (Organic ElectroLuminescence Display) (organic EL display)). Or display an image.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on audio data input from the decoder 904, and causes the speaker 908 to output audio. Further, the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 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 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives the encoded stream in which the image is encoded.
  • the control unit 910 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the television device 900 is started.
  • the CPU controls the operation of the television apparatus 900 according to an operation signal input from, for example, the user interface 911 by executing a program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 has, for example, buttons and switches for the user to operate the television device 900, a receiver of remote control signals, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 mutually connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910.
  • the decoder 904 has the functions of the image decoding apparatus 300 (FIG. 34) and the image decoding apparatus 400 (FIG. 39) according to the above-described embodiment. Thereby, when decoding an image in the television apparatus 900, a reduction in encoding efficiency can be suppressed.
  • FIG. 55 shows an example of a schematic configuration of a mobile phone to which the embodiment described above is applied.
  • the mobile 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 multiplexing and separating unit 928, a recording and reproducing unit 929, a display unit 930, a control unit 931, an operation.
  • a unit 932 and a bus 933 are provided.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 mutually 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.
  • the cellular phone 920 can transmit and receive audio signals, transmit and receive electronic mail or image data, capture an image, and record data in various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode. Do 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, and A / D converts and compresses the converted audio data. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates audio data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception 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 and D / A converts audio data to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting an electronic mail in accordance with an operation by the user via the operation unit 932. Further, the control unit 931 causes the display unit 930 to display characters. Further, the control unit 931 generates electronic mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated electronic mail data to the communication unit 922.
  • a communication unit 922 encodes and modulates electronic mail data to generate 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 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the e-mail data, and outputs the restored e-mail data to the control unit 931.
  • the control unit 931 causes the display unit 930 to display the content of the e-mail, and stores the e-mail data in the storage medium of the recording and reproduction unit 929.
  • the recording and reproducing unit 929 includes an arbitrary readable and writable storage medium.
  • the storage medium may be a built-in storage medium such as RAM or flash memory, and may be an externally mounted type such as hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card Storage media.
  • the camera unit 926 captures an image of 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 and reproduction 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 communication unit 922 multiplexes the multiplexed stream.
  • Output to The communication unit 922 encodes and modulates the stream to generate a transmission signal.
  • the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 also amplifies and frequency-converts a radio signal received via the antenna 921 to obtain a reception signal.
  • the transmission signal and the reception signal may include a coded 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 to generate video data.
  • the video data is supplied to the display unit 930, and the display unit 930 displays a series of images.
  • the audio codec 923 decompresses and D / A converts the audio stream 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 includes the image coding apparatus 100 (FIG. 25), the image coding apparatus 200 (FIG. 31), and the image decoding apparatus 300 (FIG. 34) according to the above-described embodiment. And the image decoding apparatus 400 (FIG. 39).
  • the image processing unit 927 includes the image coding apparatus 100 (FIG. 25), the image coding apparatus 200 (FIG. 31), and the image decoding apparatus 300 (FIG. 34) according to the above-described embodiment.
  • the image decoding apparatus 400 (FIG. 39).
  • FIG. 56 shows an example of a schematic configuration of a recording and reproducing device to which the embodiment described above is applied.
  • the recording / reproducing device 940 encodes, for example, audio data and video data of the received broadcast program, and records the encoded data on a recording medium.
  • the recording and reproduction device 940 may encode, for example, audio data and video data acquired from another device and record the encoded data on a recording medium.
  • the recording / reproducing device 940 reproduces the data recorded on the recording medium on the monitor and the speaker, for example, in accordance with the user's instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. And 950.
  • the 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 coded bit stream obtained by demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording and reproducing device 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 has a role as a transmission unit in the recording and reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the coded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream obtained by compressing content data such as video and audio, various programs, and other data in an internal hard disk. Also, the HDD 944 reads these data from the hard disk when reproducing video and audio.
  • the disk drive 945 records and reads data on the attached 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 Blu-ray (registered trademark) disk, etc. It may be.
  • the selector 946 selects the coded bit stream input from the tuner 941 or the encoder 943 at the time of recording video and audio, and outputs the selected coded bit stream to the HDD 944 or the disk drive 945. Also, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 at the time of reproduction of video and audio.
  • the decoder 947 decodes the coded bit stream to generate video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. Further, 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.
  • the OSD 948 may superimpose an image of a GUI such as a menu, a button, or a cursor on the video to be displayed.
  • the control unit 949 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the recording and reproducing device 940 is started.
  • the CPU controls the operation of the recording / reproducing apparatus 940 in accordance with an operation signal input from, for example, the user interface 950 by executing a program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording and reproducing device 940, a receiver of a remote control signal, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has functions of the image coding apparatus 100 (FIG. 25), the image coding apparatus 200 (FIG. 31), and the like according to the above-described embodiment.
  • the decoder 947 has functions of the image decoding apparatus 300 (FIG. 34), the image decoding apparatus 400 (FIG. 39), and the like according to the above-described embodiment.
  • FIG. 57 shows an example of a schematic configuration of an imaging device to which the embodiment described above is applied.
  • the imaging device 960 captures an object to generate an image, encodes image data, and records the image data in a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972 is 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 971 is connected to the control unit 970.
  • the bus 972 mutually connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970.
  • the optical block 961 has a focus lens, an aperture mechanism, and the like.
  • the optical block 961 forms an optical image of a subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS), and converts an optical image formed on an imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD charge coupled device
  • CMOS complementary metal oxide semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 to generate encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965.
  • the image processing unit 964 may output the image data input from the signal processing unit 963 to the display unit 965 to display an image. The image processing unit 964 may superimpose the display data acquired from the OSD 969 on the image to be output to the display unit 965.
  • the OSD 969 generates an image of a GUI such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • a GUI such as a menu, a button, or a cursor
  • the external interface 966 is configured as, for example, a USB input / output terminal.
  • the external interface 966 connects the imaging device 960 and the printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • removable media such as a magnetic disk or an optical disk may be attached to the drive, and a program read from the removable media may be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted in the media drive 968 may be, for example, any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as, for example, a built-in hard disk drive or a solid state drive (SSD) may be configured.
  • SSD solid state drive
  • the control unit 970 includes a processor such as a CPU, and memories such as a RAM and a ROM.
  • the memory stores programs executed by the CPU, program data, and the like.
  • the program stored by the memory is read and executed by the CPU, for example, when the imaging device 960 starts up.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from, for example, the user interface 971 by executing a program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 includes the image coding device 100 (FIG. 25), the image coding device 200 (FIG. 31), and the image according to the above-described embodiment according to the above-described embodiment. It has functions of a decoding device 300 (FIG. 34), an image decoding device 400 (FIG. 39) and the like. Thereby, reduction of the image quality can be suppressed at the time of encoding and decoding of the image in the imaging device 960.
  • Scalable coding is used to select data to transmit, for example, 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 transmits the personal computer 1004, the AV device 1005, the tablet via the network 1003. It is distributed to terminal devices such as the device 1006 and the mobile telephone 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 unnecessarily transmits high-quality data, the terminal device can not always obtain high-quality images, which may cause delay or overflow. In addition, the communication band may be unnecessarily occupied, or the load on the terminal may be unnecessarily increased. Conversely, even if the distribution server 1002 unnecessarily transmits low quality data, there is a possibility that the terminal apparatus can not obtain an image of sufficient quality. Therefore, the distribution server 1002 appropriately reads and transmits scalable encoded data stored in the scalable encoded data storage unit 1001 as encoded data of appropriate quality for the capability of the terminal device, communication environment, etc. .
  • the scalable encoded data storage unit 1001 stores scalable encoded data (BL + EL) 1011 which has been encoded in a scalable manner.
  • This scalable encoded data (BL + EL) 1011 is encoded data including both a base layer and an enhancement layer, and data that can obtain both an image of the base layer and an image of the enhancement layer by decoding. It is.
  • the distribution server 1002 selects an appropriate layer according to the capability of the terminal apparatus that transmits data, the communication environment, and the like, and reads data of the layer. For example, the distribution server 1002 reads high-quality scalable encoded data (BL + EL) 1011 from the scalable encoded data storage unit 1001 and transmits it as it is to the high-performance personal computer 1004 or tablet device 1006. . On the other hand, for example, the distribution server 1002 extracts the data of the base layer from the scalable encoded data (BL + EL) 1011 for the AV device 1005 or the portable telephone 1007 having low processing capability, and the scalable encoding is performed. Data of the same content as data (BL + EL) 1011 is transmitted as scalable coded data (BL) 1012 that has lower quality than scalable coded data (BL + EL) 1011.
  • BL scalable coded data
  • the amount of data can be easily adjusted, so that occurrence of delay and overflow can be suppressed, and unnecessary increase in load on a terminal device or communication medium can be suppressed. be able to.
  • the amount of scalable encoded data (BL + EL) 1011 can be reduced compared to the case where the encoded data of each layer are individual data. . Therefore, the storage area of the scalable encoded data storage unit 1001 can be used more efficiently.
  • the network 1003 serving as a communication medium may be any communication network including wired and / or wireless networks such as the Internet and LAN (Local Area Network), and its data transmission capability is various. Furthermore, there is also the possibility of changes due to other communications and the like.
  • 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 on the capability of the terminal device and information on the communication environment such as the available bandwidth of the network 1003 may be obtained. Then, the distribution server 1002 may select an appropriate layer based on the information obtained here.
  • the layer extraction may be performed in the terminal device.
  • the personal computer 1004 may decode the transmitted scalable encoded data (BL + EL) 1011 to display an image of the base layer, or may display an image of the enhancement layer.
  • the personal computer 1004 extracts the scalable encoded data (BL) 1012 of the base layer from the transmitted scalable encoded data (BL + EL) 1011 and stores it or transfers it to another device. , And may be displayed to display the image of the base layer.
  • the numbers of the scalable encoded data storage unit 1001, the distribution server 1002, the network 1003, and the number of terminal devices are arbitrary.
  • the example in which the distribution server 1002 transmits data to the terminal device has been described above, the usage example is not limited to this.
  • the data transmission system 1000 is any system as long as it is a system that selects and transmits an appropriate layer according to the capability of the terminal device, the communication environment, etc., when transmitting the encoded data that has been subjected to scalable coding to the terminal device. It can be applied to the system.
  • the present technology is applied similarly to the application to the hierarchical encoding / hierarchical decoding described above with reference to FIGS. 47 to 52.
  • the same effects as the effects described above with reference to 47 to 52 can be obtained.
  • scalable coding is used for transmission via a plurality of communication media, as in the example shown in FIG. 59, for example.
  • a broadcasting station 1101 transmits scalable encoded data (BL) 1121 of a base layer by terrestrial broadcast 1111. Also, the broadcast station 1101 transmits (for example, packetizes and transmits) scalable encoded data (EL) 1122 of the enhancement layer via an arbitrary network 1112 formed of a wired and / or wireless communication network.
  • BL scalable encoded data
  • EL scalable encoded data
  • the terminal device 1102 has a function of receiving the terrestrial broadcast 1111 broadcasted by the broadcast station 1101, and receives scalable encoded data (BL) 1121 of the base layer transmitted via the terrestrial broadcast 1111. Also, the terminal device 1102 further has a communication function of performing communication via the network 1112, and receives scalable encoded data (EL) 1122 of the enhancement layer transmitted via the network 1112.
  • BL scalable encoded data
  • EL 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 or the like to obtain or store an image of the base layer, Transmit to other devices.
  • BL base layer scalable encoded data
  • the terminal device 1102 may perform scalable coding of the base layer scalable encoded data (BL) 1121 acquired through the terrestrial broadcast 1111 according to, for example, a user instruction and the like, and scalable encoding of the enhancement layer acquired through the network 1112. It combines data (EL) 1122 to obtain scalable encoded data (BL + EL), decodes it to obtain an image of an enhancement layer, stores it, and transmits it to another device.
  • BL base layer scalable encoded data
  • EL scalable encoded data
  • scalable encoded data can be transmitted, for example, via 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 to be used for transmission may be selected for each layer. For example, scalable encoded data (BL) 1121 of a base layer having a relatively large amount of data is transmitted through a communication medium having a wide bandwidth, and scalable encoded data (EL) 1122 of an enhancement layer having a relatively small amount of data is transmitted. It may be made to transmit via a narrow bandwidth communication medium. Also, for example, whether the communication medium for transmitting the enhancement layer scalable encoded data (EL) 1122 is the network 1112 or the terrestrial broadcasting 1111 is switched according to the available bandwidth of the network 1112. May be Of course, the same is true for data of any layer.
  • the data transmission system 1100 can be applied to any system as long as it is a system that divides scalable encoded coded data into a plurality of units on a layer basis and transmits the data through a plurality of circuits.
  • the present technology is applied similarly to the application to the hierarchical coding / hierarchical decoding described above with reference to FIGS. 47 to 52.
  • the same effects as the effects described above with reference to 47 to 52 can be obtained.
  • scalable coding is used to store coded data, for example, as in the example shown in FIG.
  • the imaging device 1201 performs scalable coding on image data obtained by imaging the subject 1211 and sets the scalable coded data storage device 1202 as scalable coded data (BL + EL) 1221. Supply to
  • the scalable encoded data storage device 1202 stores 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 data of the base layer from the scalable encoded data (BL + EL) 1221, and the scalable encoded data of the base layer with low quality and a small amount of data ( BL) 1222 is stored. On the other hand, for example, at the time of attention, the scalable encoded data storage device 1202 stores the high quality and scalable encoded data (BL + EL) 1221 with a large amount of data.
  • the scalable encoded data storage device 1202 can save the image with high image quality only when necessary, so that the amount of data can be increased while suppressing reduction of the image value due to image quality deterioration. Can be suppressed, 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 image data scalable coding Data
  • the image data is stored in low quality.
  • the monitoring target appears as a subject 1211 in the captured image (at the time of attention)
  • the content of the captured image is likely to be important, so the image quality is prioritized, and the image data (scalable (scalable)
  • the encoded data is stored with high quality.
  • the scalable encoded data storage device 1202 may determine whether it is normal time or attention time by analyzing the image. Alternatively, the imaging apparatus 1201 may make a determination and transmit the determination result to the scalable encoded data storage device 1202.
  • the criterion for determining whether it is normal time or attention time is arbitrary, and the content of the image used as the determination criterion is arbitrary. Of course, conditions other than the content of the image can also be used as the determination criteria. For example, switching may be performed according to the size, waveform, or the like of the recorded voice, switching may be performed every predetermined time, or switching may be performed according to an external instruction such as a user instruction.
  • the normal time and the attention time has been described, but the number of states is arbitrary. For example, the normal time, a little attention time, attention time, attention time, etc. Alternatively, three or more states may be switched. However, the upper limit number of switching states depends on the number of layers of scalable encoded data.
  • the imaging device 1201 may determine the number of layers of scalable coding according to the state. For example, in the normal state, the imaging device 1201 may generate scalable encoded data (BL) 1222 of a low quality and low data base layer and supply it to the scalable encoded data storage device 1202. Also, for example, at the time of attention, the imaging device 1201 generates scalable encoded data (BL + EL) 1221 of the base layer with high quality and a large amount of data, and supplies it to the scalable encoded data storage device 1202. May be
  • the application of the imaging system 1200 is optional and is not limited to the surveillance camera.
  • the present technology is applied similarly to the application to hierarchical coding and hierarchical decoding described above with reference to FIGS.
  • the same effect as the effect described above with reference to 52 can be obtained.
  • the present technology is also applicable to HTTP streaming, such as MPEG DASH, which selects and uses an appropriate one of a plurality of pieces of encoded data having different resolutions and the like prepared in advance in units of segments. Can. That is, information on encoding and decoding can also be shared among such multiple pieces of encoded data.
  • FIG. 61 illustrates an example of a schematic configuration of a video set to which the present technology is applied.
  • the video set 1300 shown in FIG. 61 is such a multi-functionalized configuration, and the device having a function related to image encoding and / or decoding may be included in the function. It is a combination of devices with other related functions.
  • a video set 1300 includes modules such as a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and related modules such as connectivity 1321, a camera 1322, and a sensor 1323. And a device having a function.
  • a module is a component that combines several component functions that are related to one another into components with a cohesive function.
  • the specific physical configuration is arbitrary, for example, it is conceivable that a plurality of processors having respective functions, electronic circuit elements such as resistors and capacitors, and other devices are disposed and integrated on a wiring board or the like. . It is also conceivable to combine a module with another module or processor to make a new module.
  • the video module 1311 is a combination of the configuration having the function related to image processing, and includes an application processor 1331, a video processor 1332, a broadband modem 1333 and an RF module 1334.
  • the processor is one in which a configuration having a predetermined function is integrated on a semiconductor chip by SoC (System On a Chip), and there is also one called a system LSI (Large Scale Integration) or the like.
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, etc., and a program (software configuration) to be executed using them. And both may be combined.
  • a program has a logic circuit and a CPU, a ROM, a RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and another program is executed on the CPU (software configuration) It may be realized by
  • the application processor 1331 in FIG. 61 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 can not only perform arithmetic processing in order to realize a predetermined function, but can also control the configuration inside and outside the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding and / or decoding.
  • the broadband modem 1333 generates analog signals by digitally modulating data (digital signals) to be transmitted by wired or wireless (or both) broadband communications performed via broadband links such as the Internet and public telephone networks. It converts or demodulates an analog signal received by the broadband communication to convert it into data (digital signal).
  • the broadband modem 1333 processes arbitrary information such as, for example, image data processed by the video processor 1332, a stream encoded with the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 performs frequency conversion and the like on the baseband signal generated by the broadband modem 1333 to generate an RF signal. Also, for example, the RF module 1334 performs frequency conversion or the like on the RF signal received via the front end module 1314 to generate a baseband signal.
  • RF Radio Frequency
  • the application processor 1331 and the video processor 1332 may be integrated and configured as one processor.
  • the external memory 1312 is a module provided outside the video module 1311 and having a storage device used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, it is generally used to store a large amount of data such as image data in units of frames.
  • a relatively inexpensive and large-capacity semiconductor memory such as a dynamic random access memory (DRAM).
  • DRAM dynamic random access memory
  • the power management module 1313 manages and controls the power supply to the video module 1311 (each configuration in the video module 1311).
  • the front end module 1314 is a module that provides the RF module 1334 with a front end function (a circuit of transmitting and receiving ends on the antenna side). As shown in FIG. 61, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplification unit 1353.
  • the antenna unit 1351 includes an antenna that transmits and receives a wireless signal and a configuration around the antenna.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a wireless signal, and supplies the received wireless signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs filter processing or the like on the RF signal received via the antenna unit 1351, and supplies the processed RF signal to the RF module 1334.
  • the amplification unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies it to the antenna unit 1351.
  • the connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the connectivity 1321 conforms to a wireless communication standard such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity (registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association)
  • a module having a function, an antenna that transmits and receives a signal conforming to the standard, or the like may be included.
  • the connectivity 1321 has a module having a communication function conforming to a wired communication standard such as Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI (registered trademark)), or a terminal conforming to the standard. You may do so.
  • the connectivity 1321 may have another data (signal) transmission function or the like such as an analog input / output terminal.
  • the connectivity 1321 may include a device to which data (signal) is to be transmitted.
  • a drive in which the connectivity 1321 reads data from or writes data to a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable media drive but also a hard disk, solid state drive (SSD) , NAS (Network Attached Storage), etc.
  • the connectivity 1321 may include an output device (such as a monitor or a speaker) of an image or sound.
  • the camera 1322 is a module having a function of capturing an image of a subject and obtaining image data of the subject.
  • the image data obtained by the imaging of the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 is, for example, an audio sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is, for example, supplied to the application processor 1331 and used by an application or the like.
  • the configuration described above as a module may be realized as a processor, and conversely, the configuration described as a processor may be realized as a module.
  • video set 1300 configured as described above, the present technology can be applied to the video processor 1332 as described later.
  • video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 62 shows an example of a schematic configuration of a video processor 1332 (FIG. 61) to which the present technology is applied.
  • the video processor 1332 receives an input of a video signal and an audio signal, and has a function of encoding them in a predetermined scheme, and decodes the encoded video data and audio data And a function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image scaling unit 1402, a second image scaling unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 has an encoding / decoding engine 1407, video ES (Elementary Stream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 further includes an audio encoder 1410, an audio decoder 1411, a multiplexer (MUX (Multiplexer)) 1412, a demultiplexer (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexer
  • DMUX demultiplexer
  • the video input processing unit 1401 acquires a video signal input from, for example, the connectivity 1321 (FIG. 61) or the like, and converts the video signal into digital image data.
  • the first image scaling unit 1402 performs format conversion, image scaling processing, and the like on image data.
  • the second image scaling unit 1403 performs image scaling processing on the image data according to the format at the output destination via the video output processing unit 1404, or the same as the first image scaling unit 1402. Format conversion, image enlargement / reduction processing, etc.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data, and outputs the reproduced signal as, for example, the connectivity 1321 (FIG. 61) or the like.
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized, for example, as a semiconductor memory such as a DRAM.
  • the memory control unit 1406 receives a synchronization signal from the encode / decode engine 1407 and controls write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access control table 1406A is updated by the memory control unit 1406 in accordance with the processing executed by the encoding / decoding engine 1407, the first image scaling unit 1402, the second image scaling unit 1403 and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream which is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the image data as a video stream in the video ES buffer 1408A. Also, for example, the video stream is sequentially read from the video ES buffer 1408 B and decoded, and is sequentially written to the frame memory 1405 as image data. The encoding / decoding engine 1407 uses the frame memory 1405 as a work area in these encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at the timing of starting processing for each macroblock.
  • the video ES buffer 1408 A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffer to the multiplexer (MUX) 1412.
  • the video ES buffer 1408 B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the video stream to the encode / decode engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffer to the multiplexer (MUX) 1412.
  • the audio ES buffer 1409 B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the audio stream to the audio decoder 1411.
  • the audio encoder 1410 digitally converts, for example, an audio signal input from the connectivity 1321 (FIG. 61) or the like, and encodes the signal according to a predetermined method such as the MPEG audio method or AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, into the audio ES buffer 1409A.
  • the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, and the like, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 (FIG. 61) and the like.
  • a multiplexer (MUX) 1412 multiplexes the video stream and the audio stream.
  • the method of this multiplexing ie, the format of the bit stream generated by multiplexing
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the format of the stream by multiplexing.
  • the multiplexing unit (MUX) 1412 converts a video stream and an audio stream into a transport stream, which is a bit stream of a transfer format, by multiplexing the video stream and the audio stream.
  • the multiplexing unit (MUX) 1412 converts the video stream and the audio stream into data (file data) of a file format for recording by multiplexing.
  • a demultiplexing unit (DMUX) 1413 demultiplexes a bitstream in which a video stream and an audio stream are multiplexed in a method corresponding to multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts a video stream and an audio stream from the bit stream read from the stream buffer 1414 (separate the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the format of the stream by demultiplexing (inverse conversion of conversion by the multiplexer (MUX) 1412).
  • the demultiplexing unit (DMUX) 1413 acquires a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 or the like (all in FIG. 61) via the stream buffer 1414 and demultiplexes the transport stream. , And can be converted to video and audio streams. Also, for example, the demultiplexing unit (DMUX) 1413 acquires file data read from various recording media by the connectivity 1321 (FIG. 61), for example, through the stream buffer 1414, and demultiplexes the file data. It can be converted into video and audio streams.
  • the stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412, and, for example, based on a request from the outside or the like at a predetermined timing, the connectivity 1321 or the broadband modem 1333 (any Also in FIG.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and, for example, the connectivity 1321 (FIG. 61) or the like at a predetermined timing or based on an external request or the like. To record on various recording media.
  • MUX multiplexing unit
  • the connectivity 1321 FIG. 61
  • the stream buffer 1414 buffers transport streams acquired via, for example, the connectivity 1321 and the broadband modem 1333 (all are shown in FIG. 61), and reverses them at a predetermined timing or based on an external request or the like.
  • the signal is supplied to a multiplexer (DMUX) 1413.
  • DMUX multiplexer
  • the stream buffer 1414 buffers file data read from various recording media, for example, in the connectivity 1321 (FIG. 61), etc., and is demultiplexed at a predetermined timing or based on an external request or the like. (DMUX) 1413 is supplied.
  • a video signal input from the connectivity 1321 (FIG. 61) or the like to the video processor 1332 is converted by the video input processing unit 1401 into digital image data of a predetermined format such as 4: 2: 2 Y / Cb / Cr format,
  • the frame memory 1405 is sequentially written.
  • This digital image data is read by the first image scaling unit 1402 or the second image scaling unit 1403, and format conversion and scaling processing to a predetermined format such as 4: 2: 0 Y / Cb / Cr format is performed. And are written to the frame memory 1405 again.
  • This image data is encoded by the encoding / decoding engine 1407 and written to the video ES buffer 1408A as a video stream.
  • an audio signal input from the connectivity 1321 (FIG. 61) or the like to the video processor 1332 is encoded by the audio encoder 1410 and is written to the audio ES buffer 1409A as an audio stream.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexer (MUX) 1412 and converted to a transport stream or file data.
  • the transport stream generated by the multiplexer (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 and the broadband modem 1333 (all are shown in FIG. 61).
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 (FIG. 61) or the like, and recorded in various recording media.
  • a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 (FIG. 61) is buffered in the stream buffer 1414 and then demultiplexed (DMUX). It is demultiplexed by 1413.
  • file data read from various recording media in connectivity 1321 (FIG. 61) and the like and input to video processor 1332 is buffered in stream buffer 1414 and then demultiplexed by demultiplexing unit (DMUX) 1413 Be That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • DMUX demultiplexing unit
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal. Also, after the video stream is written to the video ES buffer 1408 B, it is sequentially read and decoded by the encoding / decoding engine 1407 and written to the frame memory 1405. The decoded image data is scaled by the second image scaling unit 1403 and written to the frame memory 1405. Then, the decoded image data is read by the video output processing unit 1404, converted into a predetermined format such as 4: 2: 2 Y / Cb / Cr format, and further converted into an analog signal, and the video signal is converted. Is reproduced and output.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the functions of the image coding apparatus and the image decoding apparatus according to each of the above-described embodiments. By doing so, the video processor 1332 can obtain the same effect as the effect described above with reference to FIGS. 1 to 43.
  • the present technology (that is, the functions of the image encoding device and the image decoding device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit. It may be realized by software such as an embedded program or may be realized by both of them.
  • FIG. 63 shows another example of a schematic configuration of a video processor 1332 (FIG. 61) to which the present technology is applied.
  • the video processor 1332 has a function of encoding / decoding video data in a predetermined scheme.
  • the video processor 1332 has a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515. Also, the video processor 1332 has a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532 and a system controller 1533.
  • the main CPU 1531 executes a program or the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program or the like and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process or a subroutine of a program or the like executed by the main CPU 1531.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating programs executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs the image data to, for example, the connectivity 1321 (FIG. 61) or the like under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs the converted signal to a monitor device or the like of the connectivity 1321 (FIG. 61) as a reproduced video signal or as image data of digital data.
  • the display engine 1513 performs various conversion processing such as format conversion, size conversion, color gamut conversion, and the like on the image data under the control of the control unit 1511 so as to match the hardware specifications of the monitor device or the like that displays the image. I do.
  • the image processing engine 1514 performs predetermined image processing, such as filter processing for improving the image quality, on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided in the video processor 1332 shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and the data is displayed on the display engine 1513, as required (eg, on request).
  • the image processing engine 1514 or codec engine 1516 is supplied.
  • This internal memory 1515 may be realized by any storage device, but is generally used to store small-capacity data such as image data in units of blocks and parameters, etc. It is desirable to realize by a semiconductor memory that has a relatively small capacity (compared to, for example, the external memory 1312) such as a static random access memory, but has a high response speed.
  • the codec engine 1516 performs processing relating to encoding and decoding of image data.
  • the encoding / decoding method to which this codec engine 1516 corresponds is arbitrary, and the number may be one or more.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding methods, and one of them may be selected to encode image data or decode encoded data.
  • the codec engine 1516 includes, for example, MPEG-2 Video 1541, AVC / H.264 1542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544 as functional blocks of processing related to the codec. It has HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551.
  • the MPEG-2 Video 1541 is a functional block that encodes and decodes image data according to the MPEG-2 system.
  • AVC / H.2641542 is a functional block that encodes or decodes image data according to the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data according to the HEVC scheme.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding or scalable decoding of image data according to the HEVC scheme.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that performs multi-view coding and multi-view decoding of image data according to the HEVC method.
  • the MPEG-DASH 1551 is a functional block that transmits and receives image data in accordance with the MPEG-Dynamic Adaptive Streaming over HTTP (MPEG-DASH) method.
  • MPEG-DASH is a technology that performs streaming of video using HTTP (HyperText Transfer Protocol), and selects and transmits, in units of segments, an appropriate one from a plurality of pieces of encoded data having different resolutions prepared in advance and the like. To be one of the features.
  • the MPEG-DASH 1551 performs generation of a stream conforming to the standard, transmission control of the stream, and the like, and encoding and decoding of image data can be performed according to the MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 and the codec engine 1516 are supplied to the external memory 1312 via the memory interface 1517. Also, data read from the external memory 1312 is supplied to the video processor 1332 (image processing engine 1514 or codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes or demultiplexes various data related to an image, such as a bit stream of encoded data, an image data, a video signal, and the like.
  • the method of multiplexing / demultiplexing is optional.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information etc. to each divided data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes a bit stream to transport stream, which is a bit stream of transfer format, or data of file format for recording (file data). Can be converted to Of course, inverse conversion is also possible by demultiplexing.
  • the network interface 1519 is an interface for, for example, the broadband modem 1333 or the connectivity 1321 (all are shown in FIG. 61).
  • the video interface 1520 is an interface directed to, for example, the connectivity 1321 and the camera 1322 (all are shown in FIG. 61).
  • the transport stream is multiplexed / demultiplexed (MUX DMUX) via the network interface 1519. It is supplied to 1518 and demultiplexed and decoded by the codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, is subjected to predetermined conversion by the display engine 1513, and is displayed, for example, via the display interface 1512. 61) and the like, and the image is displayed on the monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • the information is output to the connectivity 1321 (FIG. 61) or the like via the interface 1520, and is recorded on various recording media.
  • file data of encoded data obtained by encoding image data and read out from a recording medium (not shown) by the connectivity 1321 (FIG. 61) or the like is multiplexed / demultiplexed via the video interface 1520
  • a section (MUX DMUX) 1518 is demultiplexed and decoded by the codec engine 1516.
  • the image data obtained by the decoding of the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, is subjected to predetermined conversion by the display engine 1513, and is, for example, connectivity 1321 (FIG. 61) via the display interface 1512. Etc., and the image is displayed on the monitor.
  • image data obtained by the decoding of the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
  • the network interface 1519 is supplied to, for example, the connectivity 1321 and the broadband modem 1333 (all are shown in FIG. 61) and transmitted to another device (not shown).
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
  • the power management module 1313 controls, for example, the power supply to the control unit 1511.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have functional blocks for realizing the image encoding device and the image decoding device according to each of the above-described embodiments. By doing so, the video processor 1332 can obtain the same effect as the effect described above with reference to FIGS. 1 to 43.
  • the present technology (that is, the functions of the image encoding device and the image decoding device according to each of the embodiments described above) may be realized by hardware such as a logic circuit Or the like, or both of them.
  • the configuration of the video processor 1332 is arbitrary, and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips.
  • a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used.
  • it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices for processing image data.
  • the video set 1300 can be incorporated into the television 900 (FIG. 54), the mobile phone 920 (FIG. 55), the recording / reproducing device 940 (FIG. 56), the imaging device 960 (FIG. 57), and the like.
  • the device can obtain the same effect as the effect described above with reference to FIGS.
  • the video set 1300 may be, for example, a terminal device such as the personal computer 1004, the AV device 1005, the tablet device 1006, and the portable telephone 1007 in the data transmission system 1000 of FIG. 58, the broadcast station 1101 in the data transmission system 1100 of FIG.
  • the terminal device 1102 can also be incorporated in the imaging device 1201 and the scalable encoded data storage device 1202 in the imaging system 1200 of FIG.
  • the device can obtain the same effect as the effect described above with reference to FIGS.
  • each configuration of the video set 1300 described above can be implemented as a configuration to which the present technology is applied, as long as the video processor 1332 is included.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor indicated by the dotted line 1341 or the video module 1311 can be implemented as a processor or a module to which the present technology is applied.
  • the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 may be combined to be implemented as a video unit 1361 to which the present technology is applied.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data as in the case of the video set 1300.
  • a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311 or a video unit 1361, a television device 900 (FIG. 54), a cellular phone 920 (FIG. 55), a recording / reproducing device 940 (FIG. 56)
  • An imaging apparatus 960 (FIG. 57), a terminal device such as a personal computer 1004, an AV device 1005, a tablet device 1006, and a portable telephone 1007 in the data transmission system 1000 of FIG. 58, a broadcast station 1101 and terminals in the data transmission system 1100 of FIG.
  • the apparatus 1102, and the imaging apparatus 1201 and the scalable encoded data storage apparatus 1202 in the imaging system 1200 of FIG. 60 can be incorporated. Then, by incorporating any of the configurations to which the present technology is applied, the apparatus can obtain the same effects as the effects described above with reference to FIGS. 1 to 43 as in the case of the video set 1300. .
  • the present technology uses HTTP streaming content such as MPEG DASH described later, for example, by selecting in a segment unit a suitable one from among a plurality of encoded data having different resolutions and the like prepared in advance.
  • the present invention can also be applied to a playback system and a wireless communication system of the Wi-Fi standard.
  • FIG. 64 is an explanatory view showing the configuration of the content reproduction system.
  • the content reproduction system includes content servers 1610 and 1611, a network 1612, and a content reproduction device 1620 (client device).
  • the content servers 1610 and 1611 and the content reproduction device 1620 are connected via the network 1612.
  • the network 1612 is a wired or wireless transmission path of information transmitted from a device connected to the network 1612.
  • the network 1612 may include the Internet, a public network such as a telephone network, a satellite communication network, various LANs (Local Area Network) including Ethernet (registered trademark), a WAN (Wide Area Network), or the like.
  • the network 1612 may include a dedicated line network such as an Internet Protocol-Virtual Private Network (IP-VPN).
  • IP-VPN Internet Protocol-Virtual Private Network
  • the content server 1610 encodes content data, and generates and stores a data file including encoded data and meta information of the encoded data.
  • the encoded data corresponds to “mdat”
  • the meta information corresponds to “moov”.
  • the content data may also be music data such as music, lectures and radio programs, movies, television programs, video programs, picture data such as photographs, documents, pictures and charts, games and software, etc. .
  • the content server 1610 generates a plurality of data files at different bit rates for the same content. Further, in response to the content reproduction request from the content reproduction device 1620, the content server 1611 includes the information of the parameter to be added to the URL by the content reproduction device 1620 in the information of the URL of the content server 1610. Send.
  • the matter will be specifically described with reference to FIG.
  • FIG. 65 is an explanatory view showing the flow of data in the content reproduction system of FIG.
  • the content server 1610 encodes the same content data at different bit rates, and generates, for example, a 2 Mbps file A, a 1.5 Mbps file B, and a 1 Mbps file C as shown in FIG. In comparison, file A has a high bit rate, file B has a standard bit rate, and file C has a low bit rate.
  • the encoded data of each file is divided into a plurality of segments.
  • the encoded data of file A is divided into segments “A1", “A2”, “A3”, ... “An”
  • the encoded data of file B is “B1", “B2”
  • It is divided into segments “B3”, ... "Bn”
  • the encoded data of file C is divided into segments “C1”, “C2”, “C3”, ... “Cn” .
  • Each segment is composed of one or more video encoded data and audio encoded data that can be independently reproduced starting with sync samples of MP4 (for example, IDR-picture in AVC / H.264 video encoding) May be composed of For example, when video data of 30 frames per second is encoded by GOP (Group of Picture) of 15 frame fixed length, each segment is video and audio encoded data for 2 seconds corresponding to 4 GOPs. Alternatively, it may be 10 seconds worth of video and audio encoded data corresponding to 20 GOPs.
  • GOP Group of Picture
  • the playback range (range of time position from the beginning of the content) by segments having the same arrangement order in each file is the same. For example, if the playback ranges of segment “A2”, segment “B2”, and segment “C2" are the same and each segment is 2 seconds of encoded data, segment “A2", segment “B2”, and The playback range of the segment “C2" is 2 to 4 seconds for all content.
  • the content server 1610 stores the files A to C when generating the files A to C composed of such a plurality of segments. Then, as shown in FIG. 65, the content server 1610 sequentially transmits segments making up different files to the content reproduction device 1620, and the content reproduction device 1620 performs streaming reproduction of the received segments.
  • the content server 1610 transmits a playlist file (hereinafter, MPD: Media Presentation Description) including bit rate information and access information of each encoded data to the content reproduction device 1620, and the content reproduction device 1620. , Selects one of the plurality of bit rates based on the MPD, and requests the content server 1610 to transmit a segment corresponding to the selected bit rate.
  • MPD Media Presentation Description
  • FIG. 66 is an explanatory diagram showing a specific example of the MPD.
  • the MPD includes access information on a plurality of encoded data having different bit rates (BANDWIDTH).
  • BANDWIDTH bit rates
  • the MPD shown in FIG. 66 indicates that each of 256 Kbps, 1.024 Mbps, 1.384 Mbps, 1.536 Mbps, and 2.048 Mbps encoded data exists, and includes access information on each encoded data.
  • the content reproduction device 1620 can dynamically change the bit rate of encoded data to be streamed and reproduced based on the MPD.
  • FIG. 64 shows a portable terminal as an example of the content reproduction device 1620
  • the content reproduction device 1620 is not limited to such an example.
  • the content reproduction device 1620 is an information processing device such as a personal computer (PC), a home video processing device (DVD recorder, video deck, etc.), a personal digital assistants (PDA), a home game machine, a home appliance, etc. It is also good.
  • the content reproduction device 1620 may be an information processing device such as a mobile phone, a personal handy phone system (PHS), a portable music reproduction device, a portable video processing device, a portable game device or the like.
  • PHS personal handy phone system
  • FIG. 67 is a functional block diagram showing a configuration of content server 1610.
  • the content server 1610 includes a file generation unit 1631, a storage unit 1632, and a communication unit 1633.
  • the file generation unit 1631 includes an encoder 1641 that encodes content data, and generates a plurality of pieces of encoded data having the same content but different bit rates, and the above-described MPD. For example, when generating encoded data of 256 Kbps, 1.024 Mbps, 1.384 Mbps, 1.536 Mbps, and 2.048 Mbps, the file generation unit 1631 generates an MPD as shown in FIG.
  • the storage unit 1632 stores a plurality of encoded data and MPDs of different bit rates generated by the file generation unit 1631.
  • the storage unit 1632 may be a storage medium such as a non-volatile memory, a magnetic disk, an optical disk, and an MO (Magneto Optical) disk.
  • the non-volatile memory include an EEPROM (Electrically Erasable Programmable Read-Only Memory) and an EPROM (Erasable Programmable ROM).
  • the magnetic disk a hard disk, a disk type magnetic disk, etc. may be mentioned.
  • the optical disc a CD (Compact Disc), a DVD-R (Digital Versatile Disc Recordable), a BD (Blu-Ray Disc (registered trademark)) and the like can be mentioned.
  • the communication unit 1633 is an interface with the content reproduction device 1620, and communicates with the content reproduction device 1620 via the network 1612. More specifically, the communication unit 1633 has a function as an HTTP server that communicates with the content reproduction device 1620 according to HTTP. For example, the communication unit 1633 transmits the MPD to the content reproduction device 1620, extracts the encoded data requested from the content reproduction device 1620 based on the MPD according to the HTTP from the storage unit 1632, and transmits it to the content reproduction device 1620 as an HTTP response. Send encoded data.
  • FIG. 68 is a functional block diagram showing a configuration of the content reproduction device 1620.
  • the content reproduction device 1620 includes a communication unit 1651, a storage unit 1652, a reproduction unit 1653, a selection unit 1654, and a current location acquisition unit 1656.
  • the communication unit 1651 is an interface with the content server 1610, requests data from the content server 1610, and acquires data from the content server 1610. More specifically, the communication unit 1651 has a function as an HTTP client that communicates with the content reproduction apparatus 1620 according to the HTTP. For example, the communication unit 1651 can selectively acquire the segment of the MPD and the encoded data from the content server 1610 by using the HTTP Range.
  • the storage unit 1652 stores various pieces of information regarding reproduction of content.
  • the communication unit 1651 sequentially buffers segments acquired from the content server 1610.
  • the segments of the encoded data buffered in the storage unit 1652 are sequentially supplied to the reproduction unit 1653 by FIFO (First In First Out).
  • the storage unit 1652 adds a parameter to the URL by the communication unit 1651 based on an instruction to add a parameter to the URL of the content described in the MPD, which is requested from the content server 1611 described later, and accesses the URL
  • the reproduction unit 1653 sequentially reproduces the segments supplied from the storage unit 1652. Specifically, the reproduction unit 1653 performs segment decoding, DA conversion, rendering, and the like.
  • the selection unit 1654 sequentially selects, within the same content, which segment of the encoded data corresponding to which bit rate is included in the MPD. For example, when the selecting unit 1654 sequentially selects the segments “A1”, “B2”, and “A3” according to the bandwidth of the network 1612, as shown in FIG. ",” “B2", “A3” are acquired sequentially.
  • the current location acquisition unit 1656 is for acquiring the current position of the content reproduction device 1620, and may be configured of a module for acquiring a current location such as a GPS (Global Positioning System) receiver. Further, the current location acquisition unit 1656 may acquire the current location of the content reproduction device 1620 using a wireless network.
  • a GPS Global Positioning System
  • FIG. 69 is an explanatory view showing a configuration example of the content server 1611.
  • the content server 1611 includes a storage unit 1671 and a communication unit 1672.
  • the storage unit 1671 stores information of the MPD URL. Information on the URL of the MPD is transmitted from the content server 1611 to the content reproduction device 1620 in response to a request from the content reproduction device 1620 for requesting reproduction of content. In addition, when providing the information of the URL of the MPD to the content reproduction device 1620, the storage unit 1671 stores definition information when causing the content reproduction device 1620 to add a parameter to the URL described in the MPD.
  • the communication unit 1672 is an interface with the content reproduction device 1620, and communicates with the content reproduction device 1620 via the network 1612. That is, the communication unit 1672 receives a request for information on the URL of the MPD from the content reproduction device 1620 that requests reproduction of the content, and transmits the information on the URL of the MPD to the content reproduction device 1620.
  • the MPD URL transmitted from the communication unit 1672 includes information for causing the content reproduction device 1620 to add a parameter.
  • the parameters to be added to the MPD URL by the content reproduction device 1620 can be variously set by definition information shared by the content server 1611 and the content reproduction device 1620.
  • the content reproduction device 1620 includes information such as the current position of the content reproduction device 1620, the user ID of the user who uses the content reproduction device 1620, the memory size of the content reproduction device 1620, and the storage capacity of the content reproduction device 1620. Can be added to the URL of MPD.
  • the encoder 1641 of the content server 1610 has the function of the image coding apparatus according to the above-described embodiment.
  • the playback unit 1653 of the content playback apparatus 1620 has the function of the image decoding apparatus according to the above-described embodiment. As a result, it is possible to suppress an increase in storage capacity required for encoding / decoding.
  • wireless packet transmission / reception is performed from specifying a specific application to be used until establishing a P2P connection to operate the specific application. Thereafter, after connection in the second layer, wireless packets are transmitted and received in the case of activating a specific application.
  • FIG. 70 and FIG. 71 show an example of wireless packet transmission / reception until the above-mentioned P2P (Peer to Peer) connection is established and a specific application is operated, and shows an example of communication processing by each device which is a basis of wireless communication. It is a sequence chart. Specifically, an example of a procedure for establishing a direct connection leading to a connection according to the Wi-Fi Direct (Direct) standard (sometimes called Wi-Fi P2P) standardized in the Wi-Fi Alliance is shown.
  • Direct Wi-Fi Direct
  • Wi-Fi Direct a plurality of wireless communication devices detect each other's presence (Device Discovery, Service Discovery). Then, when the connected device is selected, direct connection is established between the selected devices by performing device authentication in WPS (Wi-Fi Protected Setup).
  • WPS Wi-Fi Protected Setup
  • a communication group is formed by determining whether a plurality of wireless communication devices play a role as a master unit (Group Owner) or a slave unit (Client).
  • some packet transmission and reception are omitted.
  • packet exchange for using WPS is required, and packet exchange is also required for exchanging Authentication Request / Response.
  • FIG. 70 and FIG. 71 illustration of these packet exchanges is omitted, and only the second and subsequent connections are shown.
  • FIG. 70 and FIG. 71 show an example of communication processing between the first wireless communication device 1701 and the second wireless communication device 1702, the same applies to communication processing between other wireless communication devices.
  • Device Discovery is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1711).
  • the first wireless communication device 1701 transmits a probe request (response request signal), and receives a probe response (response signal) for the probe request from the second wireless communication device 1702.
  • the first wireless communication device 1701 and the second wireless communication device 1702 can discover the existence of each other.
  • Device Discovery it is possible to acquire the other party's device name and type (TV, PC, smartphone, etc.).
  • Service Discovery is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1712).
  • the first wireless communication device 1701 transmits a Service Discovery Query inquiring about a service supported by the second wireless communication device 1702 discovered by Device Discovery.
  • the first wireless communication device 1701 acquires a service supported by the second wireless communication device 1702 by receiving a Service Discovery Response from the second wireless communication device 1702. That is, with Service Discovery, it is possible to acquire an executable service etc. by the other party.
  • the service that the other party can execute is, for example, service, protocol (DLNA (Digital Living Network Alliance), DMR (Digital Media Renderer), etc.).
  • DLNA Digital Living Network Alliance
  • DMR Digital Media Renderer
  • connection partner selection operation connection partner selection operation (1713).
  • This connection partner selection operation may occur in only one of the first wireless communication device 1701 and the second wireless communication device 1702.
  • the connection partner selection screen is displayed on the display unit of the first wireless communication device 1701, and the second wireless communication device 1702 is selected by the user operation as the connection partner on the connection partner selection screen.
  • Group Owner Negotiation is performed between the first wireless communication device 1701 and the second wireless communication device 1702 (1714).
  • 70 and 71 show an example in which the first wireless communication device 1701 becomes a group owner (Group Owner) 1715 and the second wireless communication device 1702 becomes a client (Client) 1716 as a result of Group Owner Negotiation.
  • each process (1717 to 1720) is performed between the first wireless communication apparatus 1701 and the second wireless communication apparatus 1702 to establish direct connection. That is, Association (L2 (second layer) link establishment) (1717) and Secure link establishment (1718) are sequentially performed. Also, L4 setup (1720) on L3 by IP Address Assignment (1719), SSDP (Simple Service Discovery Protocol), etc. is sequentially performed.
  • L2 (layer 2) means the second layer (data link layer)
  • L3 (layer 3) means the third layer (network layer)
  • L4 (layer 4) is the fourth layer (transport layer) Means).
  • This application specification / startup operation may occur in only one of the first wireless communication device 1701 and the second wireless communication device 1702.
  • an application designation / startup operation screen is displayed on the display unit of the first wireless communication device 1701, and a specific application is selected by the user operation on the application designation / startup operation screen.
  • connection between AP (Access Point) and STA (Station) is performed within the range of specifications prior to the Wi-Fi Direct standard (specification standardized by IEEE 802.11).
  • Wi-Fi Direct standard specification standardized by IEEE 802.11.
  • connection partner information is, for example, a basic device type, a corresponding specific application, or the like. Then, based on the acquired information on the connection partner, the user can be made to select the connection partner.
  • FIG. 72 shows a configuration example of a frame format transmitted and received in this communication processing.
  • FIG. 72 is a diagram schematically illustrating a configuration example of a frame format transmitted and received in communication processing by each device which is a basis of the present technology. That is, FIG. 72 shows a configuration example of a MAC frame for establishing a connection in the second layer. Specifically, this is an example of a frame format of Association Request / Response (1787) for realizing the sequence shown in FIG.
  • MAC frame is made up of Frame Control (1751) to FCS (1758), of which Frame Control (1751) to Sequence Control (1756) are MAC headers.
  • the MAC frame (Frame body (1757)) shown in FIG. 70 is basically an Association Request / Response frame format described in sections 7.2.3.4 and 7.2.3.5 of the IEEE 802.11-2007 specifications. is there. However, it differs in that it includes not only the Information Element (hereinafter referred to as IE) (1759) defined in the IEEE 802.11 specification, but also an IE that is uniquely expanded.
  • IE Information Element
  • 127 is set in decimal as IE Type (Information Element ID (1761)).
  • IE Type Information Element ID (1761)
  • Length field (1762) and the OUI field (1763) follow the IEEE 802.11-2007 specification section 7.3.2.26, followed by the vendor specific content (1764).
  • Vendor specific content As the contents of Vendor specific content (1764), first, a field (IE type (1765)) indicating the type of vendor specific IE is provided. Then, after this, it can be considered to be configured to be able to store a plurality of subelements (1766).
  • subelement (1766) As the contents of subelement (1766), it is conceivable to include the name (1767) of a specific application to be used and the role of the device (1768) in the operation of the specific application.
  • specific applications or information such as port numbers used for control (information for L4 setup) (1769) and information on capabilities within specific applications (Capability information) (1770) It is possible to include.
  • the Capability information is, for example, information for specifying, when the specific application to be specified is DLNA, compatible with audio transmission / reproduction, compatible with video transmission / reproduction, and the like.
  • the method of transmitting such information is not limited to such an example.
  • the information may be transmitted or recorded as separate data associated with the coded bit stream without being multiplexed into the coded bit stream.
  • the term “associate” allows an image (a slice or a block, which may be a part of an image) included in a bitstream to be linked at the time of decoding with information corresponding to the image. Means That is, the information may be transmitted on a different transmission path from the image (or bit stream).
  • the information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream).
  • the information and the image (or bit stream) may be associated with each other in any unit such as, for example, a plurality of frames, one frame, or a part in a frame.
  • the present technology can also have the following configurations.
  • a limiting unit that limits the value of syntax elements related to processing between images;
  • An image processing apparatus comprising: a transmission unit that transmits the syntax element whose value is limited by the restriction unit.
  • the image processing apparatus further comprises an encoding unit that encodes image data using the syntax element restricted by the restriction unit to generate a bitstream.
  • the image processing apparatus according to any one of (1) and (3) to (7), wherein the transmission unit further transmits the bit stream generated by the encoding unit.
  • the syntax element is stored in a sequence parameter set of the bit stream.
  • the image processing apparatus according to any one of (1) to (3) and (5) to (7), in which the syntax element is a syntax related to a reference picture.
  • the image processing apparatus according to any one of (1) to (4), (6), and (7), in which the syntax element is syntax related to the number of reference pictures.
  • the limiting unit sets the value of the syntax element to a predetermined value when the encoding process is performed using a profile for encoding a still image, any one of (1) to (5), (7) The image processing apparatus according to claim 1.
  • the image processing apparatus according to any one of (1) to (6), wherein the predetermined value is 0.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (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規格については、2012年2月に最初のドラフト版仕様であるCommittee draftが発行されている(例えば、非特許文献1参照)。
  HEVCの場合、一般的に、符号化側から復号側に伝送される情報には、Iスライスのためのシンタクス(syntax)だけでなく、PスライスやBスライスのためのシンタクス(syntax)要素、すなわち、画面間の処理に関するシンタクス要素が含まれている。
  ところで、このHEVCを、静止画像用のコーデックとして用いるためのプロファイル(profile)であるスティルピクチャプロファイル(Still Picture Profile)が提案されている(例えば、非特許文献2参照)。
  このスティルピクチャプロファイル(Still Picture Profile)は、静止画像を符号化・復号するためのプロファイルであるので、このプロファイルを適用する場合、上述したような画面間の処理に関するシンタクス要素は不要である。
Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 8", JCTVC-H1003_d7, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 July 2012 Kemal Ugur, Jani Lainema, Miska Hannuksela, " On still picture profile ", JCTVC-J0037, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 July 2012
  しかしながら、非特許文献2に記載の方法の場合、画面間の処理に関するシンタクス要素に対する制御は行われない。つまり、動画像用のプロファイルの場合と同様に、画面間の処理に関するシンタクス要素も符号化側から復号側に伝送される。そのため、不要な情報を伝送することになり、符号化効率を低減させる恐れがあった。
  本開示は、このような状況に鑑みてなされたものであり、符号化効率の低減を抑制することができるようにするものである。
  本技術の一側面の画像処理装置は、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限する制限部と、前記制限部により値が制限された前記シンタクス要素を伝送する伝送部とを備える画像処理装置である。
  前記制限部により制限された前記シンタクス要素を用いて、画像データを符号化し、ビットストリームを生成する符号化部をさらに備え、前記伝送部は、前記符号化部で生成された前記ビットストリームをさらに伝送することができる。
  前記シンタクス要素は、前記ビットストリームのシーケンスパラメータセットに格納されるようにすることができる。
  前記シンタクス要素は、参照ピクチャに関するシンタクスであるようにすることができる。
  前記シンタクス要素は、参照ピクチャの枚数に関するシンタクスであるようにすることができる。
  前記制限部は、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、前記シンタクス要素の値を所定の値とすることができる。
  前記所定値とは0であるようにすることができる。
  本技術の一側面の画像処理方法は、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限し、値が制限された前記シンタクス要素を伝送する画像処理方法である。
  さらに、制限された前記シンタクス要素を用いて、画像データを符号化し、ビットストリームを生成し、伝送することができる。
  前記シンタクス要素は、前記ビットストリームのシーケンスパラメータセットに格納されるようにすることができる。
  前記シンタクス要素は、参照ピクチャに関するシンタクスであるようにすることができる。
  前記シンタクス要素は、参照ピクチャの枚数に関するシンタクスであるようにすることができる。
  静止画像を符号化するためのプロファイルにより符号化処理を行う場合、前記シンタクス要素の値を所定の値とすることができる。
  前記所定値とは0であるようにすることができる。
  本技術の一側面においては、静止画像を符号化するためのプロファイルにより符号化処理が行われる場合、画像間の処理に関するシンタクス要素の値が制限され、値が制限された前記シンタクス要素が伝送される。
  本開示によれば、画像を符号化・復号することができる。特に、符号化効率の低減を抑制することができる。
コーディングユニットの構成例を説明する図である。 タイル(Tile)の例を説明する図である。 プロファイルティアレベル(Profile_tier_level)の例を示す図である。 ビデオパラメータセット(VPS(Video Parameter Set))の例を示す図である。 シーケンスパラメータセット(SPS(Sequence Parameter Set))の例を示す図である。 シーケンスパラメータセット(SPS(Sequence Parameter Set))の例を示す、図5に続く図である。 プロファイルティアレベル(Profile_tier_level)の他の例を示す図である。 ビデオパラメータセット(VPS(Video Parameter Set))の他の例を示す図である。 シーケンスパラメータセット(SPS(Sequence Parameter Set))の他の例を示す図である。 シーケンスパラメータセット(SPS(Sequence Parameter Set))の他の例を示す、図9に続く図である。 ビデオパラメータセット(VPS(Video Parameter Set))の、さらに他の例を示す図である。 シーケンスパラメータセット(SPS(Sequence Parameter Set))の、さらに他の例を示す図である。 シーケンスパラメータセット(SPS(Sequence Parameter Set))の、さらに他の例を示す、図12に続く図である。 ピクチャパラメータセット(PPS(Picture Parameter Set))の例を示す図である。 ピクチャパラメータセット(PPS(Picture Parameter Set))の例を示す、図14に続く図である。 スケーリングリストデータ(scaling_list_data())の例を示す図である。 サイズID(SizeID)のセマンティクスの例を示す図である。 サイズID(SizeID)およびマトリクスID(MatrixID)のセマンティクスの例を示す図である。 スケーリングリストデータ(scaling_list_data())の他の例を示す図である。 スライスヘッダ(slice_header())の例を示す図である。 スライスヘッダ(slice_header())の例を示す、図20に続く図である。 スライスヘッダ(slice_header())の例を示す、図21に続く図である。 nal_unit_typeの割り当て例を示す図である。 ROI(Region of Interest)領域の例を説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 可逆符号化部の主な構成例を示すブロック図である。 符号化処理の流れの例を説明するフローチャートである。 符号化処理の流れの例を説明する、図27に続くフローチャートである。 可逆符号化処理の流れの例を説明するフローチャートである。 シンタクス要素設定処理の流れの例を説明するフローチャートである。 画像符号化装置の他の構成例を示すブロック図である。 符号化処理の流れの、他の例を説明するフローチャートである。 符号化処理の流れの、他の例を説明する、図32に続くフローチャートである。 画像復号装置の主な構成例を示すブロック図である。 可逆復号部の主な構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 復号処理の流れの例を説明する、図36に続くフローチャートである。 シンタクス要素解析処理の流れの例を説明するフローチャートである。 画像復号装置の他の構成例を示すブロック図である。 可逆復号部の他の構成例を示すブロック図である。 復号処理の流れの、他の例を説明するフローチャートである。 復号処理の流れの、他の例を説明する、図41に続くフローチャートである。 シンタクス要素検査処理の流れの例を説明するフローチャートである。 多視点画像符号化方式の例を示す図である。 本技術を適用した多視点画像符号化装置の主な構成例を示す図である。 本技術を適用した多視点画像復号装置の主な構成例を示す図である。 階層画像符号化方式の例を示す図である。 スペーシャルなスケーラブル符号化の例を説明する図である。 テンポラルなスケーラブル符号化の例を説明する図である。 信号雑音比のスケーラブル符号化の例を説明する図である。 本技術を適用した階層画像符号化装置の主な構成例を示す図である。 本技術を適用した階層画像復号装置の主な構成例を示す図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 スケーラブル符号化利用の一例を示すブロック図である。 スケーラブル符号化利用の他の例を示すブロック図である。 スケーラブル符号化利用のさらに他の例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。 コンテンツ再生システムの構成を示した説明図である。 コンテンツ再生システムにおけるデータの流れを示した説明図である。 MPDの具体例を示した説明図である。 コンテンツ再生システムのコンテンツサーバの構成を示した機能ブロック図である。 コンテンツ再生システムのコンテンツ再生装置の構成を示した機能ブロック図である。 コンテンツ再生システムのコンテンツサーバの構成を示した機能ブロック図である。 無線通信システムの各装置による通信処理例を示すシーケンスチャートである。 無線通信システムの各装置による通信処理例を示すシーケンスチャートである。 無線通信システムの各装置による通信処理において送受信されるフレームフォーマット(frame format)の構成例を模式的に示す図である。 無線通信システムの各装置による通信処理例を示すシーケンスチャートである。
  以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
  0.概要
  1.第1の実施の形態(画像符号化装置)
  2.第2の実施の形態(画像符号化装置)
  3.第3の実施の形態(画像復号装置)
  4.第4の実施の形態(画像復号装置)
  5.第5の実施の形態(多視点画像符号化・多視点画像復号装置)
  6.第6の実施の形態(階層画像符号化・階層画像復号装置)
  7.第7の実施の形態(コンピュータ)
  8.応用例
  9.スケーラブル符号化の応用例
 10.第8の実施の形態(セット・ユニット・モジュール・プロセッサ)
 11.第9の実施の形態(MPEG-DASHのコンテンツ再生システムの応用例)
 12.第10の実施の形態(Wi-Fi規格の無線通信システムの応用例)
  <0.概要>
    <符号化方式>
  以下においては、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に分割することができる。図1の例では、LCUの大きさが128x128であり、最大階層深度が5となる。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のサイズは、例えば128x128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
  よって、以下、LCUは、AVCにおけるマクロブロックをも含むものとし、CUは、AVCにおけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
    <モード選択>
  ところで、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)に加え、図2に示されるようなタイル(Tile)が規定されている。
  それぞれのタイルは、幅と高さが、画像圧縮情報において指定され、独立して復号処理を行うことができる。
    <スティルピクチャプロファイル>
  また、非特許文献2において、このHEVCを、静止画像用のコーデックとして用いるためのプロファイル(profile)であるスティルピクチャプロファイル(Still Picture Profile)が提案された。
  ところが、HEVCの場合、一般的に、符号化側から復号側に伝送される情報には、Iスライスのためのシンタクス(syntax)だけでなく、PスライスやBスライスのためのシンタクス(syntax)要素、すなわち、画面間の処理に関するシンタクス要素が含まれている。
  スティルピクチャプロファイル(Still Picture Profile)は、静止画像を符号化・復号するためのプロファイルであるので、このプロファイルを適用する場合、上述したような画面間の処理に関するシンタクス要素は不要である。しかしながら、非特許文献2に記載の方法の場合、画面間の処理に関するシンタクス要素に対する制御は行われない。つまり、動画像用のプロファイルの場合と同様に、画面間の処理に関するシンタクス要素も符号化側から復号側に伝送される。そのため、不要な情報を伝送することにより、符号化効率を低減させる恐れがあった。
  そこで、本技術においては、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限して、不要な情報の伝送を抑制するようにする。このようにすることにより、符号化効率の低減を抑制することができる。
  以下に、その制限について、具体的な例を説明する。
    <0-1:サブレイヤに関するシンタクス要素の制限>
  図3は、HEVCにおけるプロファイルティアレベル(profile_tier_level())のシンタクスの例を示す図である。左端の数字は、説明の為に行番号を付したものであり、実際のシンタクスには含まれない。以下に説明する図4乃至図23の各図の左端の数字も同様であり、各図の説明の為に付した行番号であって実際に含まれるものではない。
  図3に示されるプロファイルティアレベル(profile_tier_level())の、第5行目に示されるシンタクス要素general_profile_idcにより、処理対象のシーケンス(カレントシーケンス)のプロファイルがスティルピクチャプロファイル(Still Picture Profile)であることが規定される。
  図3のプロファイルティアレベル(profile_tier_level())は、ビデオパラメータセット(VPS(Video Parameter Set))やシーケンスパラメータセット(SPS(Sequence Parameter Set))により呼ばれる。
  図4は、HEVCにおけるビデオパラメータセット(VPS(Video Parameter Set))の例を示す図である。また、図5および図6は、HEVCにおけるシーケンスパラメータセット(SPS(Sequence Parameter Set))の例を示す図である。
  図4に示されるように、ビデオパラメータセット(VPS)においては、第7行目においてプロファイルティアレベル(profile_tier_level())が呼ばれる。また、図5に示されるように、シーケンスパラメータセット(SPS)においては、第5行目において、プロファイルティアレベル(profile_tier_level())が呼ばれる。
  ここで、スティルピクチャプロファイル(Still Picture Profile)により符号化される場合、テンポラルレイヤデプス(temporal layer depth)(サブレイヤとも称する)は存在しない。つまり、サブレイヤに関するシンタクス要素は、不要である。
  そこで、図3のプロファイルティアレベル(profile_tier_level())において、シンタクス要素general_profile_idcによりスティルピクチャプロファイル(Still Picture Profile)であることを規定する前に、図4のビデオパラメータセット(VPS)において、サブレイヤに関するパラメータvps_max_sub_layers_minus1(6行目)の値が0に指定され、さらに、シーケンスパラメータセット(SPS)(図5および図6)において、サブレイヤに関するパラメータsps_max_sub_layers_minus1(3行目)の値が0に指定されるようにしてもよい。
  換言するに、図3のプロファイルティアレベル(profile_tier_level())において、シンタクス要素general_profile_idcによりスティルピクチャプロファイル(Still Picture Profile)であることを規定する場合、図4のビデオパラメータセット(VPS)において、サブレイヤに関するパラメータvps_max_sub_layers_minus1(6行目)の値が0に指定されていなければならず、さらに、シーケンスパラメータセット(SPS)(図5および図6)において、サブレイヤに関するパラメータsps_max_sub_layers_minus1(3行目)の値が0に指定されていなければならないようにしてもよい。
  このようにすることにより、プロファイルティアレベル(profile_tier_level())の不要な部分を読み出してしまうことを抑制することができる。つまり、読み出しによる負荷の増大を抑制するだけでなく、不要なパラメータを読み出して伝送することを抑制することができる。したがって、符号化効率の低減を抑制することができる。
  また、このようにすることにより、プロファイルティアレベル(profile_tier_level())、ビデオパラメータセット(VPS)、およびシーケンスパラメータセット(SPS)のシンタクスを変更する必要がなく、セマンティクスによる制御によって、符号化効率の低減を抑制することができる。シンタクスを変更すると、例えばスティルピクチャプロファイル(Still Picture Profile)に対応していないような従来のエンコーダ・デコーダとのシンタクスの互換性の維持が困難になる可能性がある。特に、ハードウエアにより実現されるエンコーダ・デコーダの場合、シンタクスの更新が困難である場合もある。シンタクスの互換性が低減すると、汎用性が低減する可能性もある。しかしながら、上述したように、セマンティクスによって、シンタクス要素の値を制限することにより、シンタクスの互換性を維持することができ、汎用性の低減を抑制することができる。
  さらに、このようにシンタクスの互換性を維持することにより、静止画像の符号化も動画像の符号化も共通のシンタクスを適用することが容易に可能であるので、静止画像と動画像の両方を共通の回路で処理するエンコーダ・デコーダを容易に実現することができる。つまり、装置の小型化やコストの増大の抑制等にも寄与することができる。
    <0-2:プロファイルティアレベルの呼び出しに関するシンタクス要素の制限>
  ただし、このような制限を、シンタクスの変更によって実現することが不可能な訳ではない。
  上述したようにビデオパラメータセット(VPS)やシーケンスパラメータセット(SPS)からプロファイルティアレベル(profile_tier_level())を呼び出す場合、その呼び出しの際に指定される、プロファイルティアレベルの呼び出しに関するシンタクス要素ProfilePresentFlagの値は常に1である。
  つまり、このシンタクス要素を伝送することは冗長である。また、プロファイルティアレベル(profile_tier_level())の2行目(図3)のif文も不要である。
  そこで、図3のプロファイルティアレベル(profile_tier_level())のシンタクスを図7に示される例のようにし、図4のビデオパラメータセット(VPS)のシンタクスを図8に示される例のようにし、図5および図6のシーケンスパラメータセット(SPS)のシンタクスを、図9および図10の例のようにしても良い。
  つまり、シンタクス要素ProfilePresentFlagの指定は省略し、図7(第1行目)、図8(第7行目)、および図9(第5行目)の例のように、サブレイヤに関するシンタクス要素MaxNumSubLayersMinus1のみを指定することにより、プロファイルティアレベル(profile_tier_level())を指定することができるようにしてもよい。
  また、図7の第1行目乃至第7行目に示されるように、プロファイルティアレベル(profile_tier_level())において、シンタクス要素ProfilePresentFlag を用いるif文を省略するようにしてもよい。
  このようにすることにより、不要なパラメータの伝送を抑制し、符号化効率の低減を抑制することができる。また、不要なif文の読み込みによる、プロファイルティアレベル(profile_tier_level())の読み込み処理の負荷の増大を抑制することができる。
  換言するに、プロファイルティアレベルの呼び出しに関するシンタクス要素ProfilePresentFlagの値は1でなければならないようにしてもよい。
    <0-3:プロファイルティアレベルに関するシンタクス要素の制限>
 なお、上述の方法では、サブレイヤに関するシンタクス要素max_sub_layers_minus1を符号化する際、後続のプロファイルティアレベル(profile_tier_level())において、スティルピクチャプロファイル(Still Picture Profile)により符号化されるかどうかに関する情報を、前もって知った上で設定しなければならない。
  そこで、図4のビデオパラメータセット(VPS)のシンタクスを図11に示される例のようにし、図5および図6のシーケンスパラメータセット(SPS)のシンタクスを、図12および図13の例のようにしても良い。
  つまり、ビデオパラメータセット(VPS)において、第6行目乃至第8行目(図11)のように、プロファイルティアレベルに関するシンタクス要素profile_tier_level(1,0)を指定し、サブレイヤに関するシンタクス要素vps_max_sub_layers_minus1の値を指定し、プロファイルティアレベルに関するシンタクス要素profile_tier_level(0,vps_max_sub_layers_minus1)を指定するようにしてもよい。
  同様に、シーケンスパラメータセット(SPS)において、第3行目乃至第6行目(図12)のように、プロファイルティアレベルに関するシンタクス要素profile_tier_level(1,0)を指定し、サブレイヤに関するシンタクス要素sps_max_sub_layers_minus1の値を指定し、プロファイルティアレベルに関するシンタクス要素profile_tier_level(0,sps_max_sub_layers_minus1)を指定するようにしてもよい。
  なお、vps_max_sub_layers_minus1やsps_max_sub_layers_minus1のように、シンタクス要素が属するパラメータセット等を識別しない場合、単にmax_sub_layers_minus1と称する。つまり、vps_max_sub_layers_minus1は、ビデオパラメータセット(VPS)におけるmax_sub_layers_minus1であり、sps_max_sub_layers_minus1は、シーケンスパラメータセット(SPS)におけるmax_sub_layers_minus1である。他のシンタクス要素においても同様の関係を有するものとする。
  サブレイヤに関するシンタクス要素max_sub_layers_minus1を指定する前に、シンタクス要素profile_tier_level(1,0)を指定することにより、画像データの全てのテンポラルレイヤ(temporal_layer)を符号化・復号する場合に関する情報を伝送する。
  ここで、スティルピクチャプロファイル(Still Picture Profile)が適用される場合、サブレイヤに関するシンタクス要素max_sub_layers_minus1の値は、0に指定される。
  サブレイヤに関するシンタクス要素max_sub_layers_minus1を符号化した後、画像データの一部のテンポラルレイヤ(temporal_layer)を符号化・復号する場合に関する情報を、profile_tier_level(0, nax_sub_layers_minus1) により伝送する。
  シンタクスをこのように変更することにより、スティルピクチャプロファイル(Still Picture Profile)であるかどうかを指定した後、サブレイヤに関するシンタクス要素max_sub_layers_minus1の値を指定することが可能である。
    <0-4:仮想参照デコーダに関するシンタクス要素の制限>
  また、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、仮想参照デコーダの制御は不要である。そこで、図4に示されるように、ビデオパラメータセット(VPS)の、仮想参照デコーダに関するシンタクス要素vps_num_hrd_parameters(第14行目)の値を0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、ビデオパラメータセット(VPS)の、仮想参照デコーダに関するシンタクス要素vps_num_hrd_parameters(第14行目)の値が0でなければならないようにしてもよい。
  仮想参照デコーダに関するシンタクス要素vps_num_hrd_parametersは、拡張ゴロム符号化されて伝送される正の値である。したがって、この値が0若しくは1の場合、符号量が最も少なくなる。つまり、仮想参照デコーダに関するシンタクス要素vps_num_hrd_parametersの値を0に指定することにより、符号化効率の低減を抑制することができる。
  また、仮想参照デコーダに関するシンタクス要素vps_num_hrd_parametersの値を0にすることにより、第15行目乃至第19行目のループ処理(for文)を読み飛ばすことができる。したがって、このようにすることにより、負荷の増大を抑制することができる。また、ループ処理(for文)中の不要なシンタクス要素の伝送を抑制することができ、符号化効率の低減を抑制することができる。
  さらに、このシンタクス要素の値の制限は、シンタクスを変更せずにセマンティクスによって行うことができ、シンタクスの汎用性の低減を抑制することができる。
  なお、この制限は、ビデオパラメータセット(VPS)が、図8の場合や、図11の場合にも適用することができる。
    <0-5:PスライスやBスライスに関するシンタクス要素の制限>
  また、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、PスライスやBスライスは存在しない。そこで、図5に示されるように、シーケンスパラメータセット(SPS)の、PスライスやBスライスに関するシンタクス要素restricted_ref_pic_lists_flag(第32行目)の値を0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、シーケンスパラメータセット(SPS)の、PスライスやBスライスに関するシンタクス要素restricted_ref_pic_lists_flag(第32行目)の値が0でなければならないようにしてもよい。
  また、PスライスやBスライスに関するシンタクス要素restricted_ref_pic_lists_flagの値を0にすることにより、第33行目乃至第42行目を読み飛ばすことができる。したがって、このようにすることにより、負荷の増大を抑制することができる。また、第33行目乃至第42行目の不要なシンタクス要素の伝送を抑制することができ、符号化効率の低減を抑制することができる。
  さらに、このシンタクス要素の値の制限は、シンタクスを変更せずにセマンティクスによって行うことができ、シンタクスの汎用性の低減を抑制することができる。
  なお、この制限は、シーケンスパラメータセット(SPS)が、図9および図10の場合や、図12および図13の場合にも適用することができる。
    <0-6:ショートタームに関するシンタクス要素の制限>
  また、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、時間の概念が存在しない(他のピクチャは存在しない)。そこで、図6に示されるように、シーケンスパラメータセット(SPS)の、ショートタームに関するシンタクス要素num_short_term_ref_pic_sets(第56行目)の値を0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、シーケンスパラメータセット(SPS)の、ショートタームに関するシンタクス要素num_short_term_ref_pic_sets(第56行目)の値が0でなければならないようにしてもよい。
  このショートタームに関するシンタクス要素num_short_term_ref_pic_setsは、拡張ゴロム符号化されて伝送される正の値である。したがって、この値が0若しくは1の場合、符号量が最も少なくなる。つまり、ショートタームに関するシンタクス要素num_short_term_ref_pic_setsの値を0に指定することにより、符号化効率の低減を抑制することができる。
  また、このショートタームに関するシンタクス要素num_short_term_ref_pic_setsの値を0にすることにより、第57行目および第58行目を読み飛ばすことができる。したがって、このようにすることにより、負荷の増大を抑制することができる。
  さらに、このシンタクス要素の値の制限は、シンタクスを変更せずにセマンティクスによって行うことができ、シンタクスの汎用性の低減を抑制することができる。
  なお、この制限は、シーケンスパラメータセット(SPS)が、図9および図10の場合や、図12および図13の場合にも適用することができる。
    <0-7:ロングタームに関するシンタクス要素の制限>
  また、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、時間の概念が存在しない(他のピクチャは存在しない)。そこで、図6に示されるように、シーケンスパラメータセット(SPS)の、ロングタームに関するシンタクス要素long_term_ref_pics_present_flag(第59行目)の値を0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、シーケンスパラメータセット(SPS)の、ロングタームに関するシンタクス要素long_term_ref_pics_present_flag(第59行目)の値が0でなければならないようにしてもよい。
  このロングタームに関するシンタクス要素long_term_ref_pics_present_flagの値を0にすることにより、第60行目乃至第66行目を読み飛ばすことができる。したがって、このようにすることにより、負荷の増大を抑制することができる。また、第60行目乃至第66行目の不要なシンタクス要素の伝送を抑制することができ、符号化効率の低減を抑制することができる。
  さらに、このシンタクス要素の値の制限は、シンタクスを変更せずにセマンティクスによって行うことができ、シンタクスの汎用性の低減を抑制することができる。
  なお、この制限は、シーケンスパラメータセット(SPS)が、図9および図10の場合や、図12および図13の場合にも適用することができる。
    <0-8:動きベクトルに関するシンタクス要素の制限>
  また、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、時間の概念が存在しない(他のピクチャは存在しない)。そこで、図6に示されるように、シーケンスパラメータセット(SPS)の、動きベクトルに関するシンタクス要素sps_temporal_mvp_enable_flag(第67行目)の値を0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、シーケンスパラメータセット(SPS)の、動きベクトルに関するシンタクス要素sps_temporal_mvp_enable_flag(第67行目)の値が0でなければならないようにしてもよい。
  この動きベクトルに関するシンタクス要素sps_temporal_mvp_enable_flagの値を0にすることにより、符号量を最少とすることができ、符号化効率の低減を抑制することができる。
  さらに、このシンタクス要素の値の制限は、シンタクスを変更せずにセマンティクスによって行うことができ、シンタクスの汎用性の低減を抑制することができる。
  なお、この制限は、シーケンスパラメータセット(SPS)が、図9および図10の場合や、図12および図13の場合にも適用することができる。
    <0-9:ピクチャパラメータセットのシンタクス要素の制限>
  図14および図15は、HEVCにおけるピクチャパラメータセット(PPS(Picture Parameter Set))の例を示す図である。
  スティルピクチャプロファイル(Still Picture Profile)を適用する場合、時間の概念が存在しない(他のピクチャは存在しない)。そこで、図14に示されるように、ピクチャパラメータセット(PPS)の、L0に関するシンタクス要素num_ref_idx_l0_default_active minus1(第6行目)、および、L1に関するシンタクス要素num_ref_idx_l1_default_active minus1(第7行目)の値を、ともに0若しくは1に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、ピクチャパラメータセット(PPS)の、L0に関するシンタクス要素num_ref_idx_l0_default_active minus1(第6行目)、および、L1に関するシンタクス要素num_ref_idx_l1_default_active minus1(第7行目)の値が、ともに0若しくは1でなければならないようにしてもよい。
  これらのシンタクス要素は、拡張ゴロム符号化されて伝送される正の値である。したがって、これらの値が0若しくは1の場合、符号量が最も少なくなる。つまり、L0に関するシンタクス要素num_ref_idx_l0_default_active minus1、および、L1に関するシンタクス要素num_ref_idx_l1_default_active minus1の値を0に指定することにより、符号化効率の低減を抑制することができる。
  また、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、時間の概念が存在しない(他のピクチャは存在しない)。そこで、図15に示されるように、ピクチャパラメータセット(PPS)の、シンタクス要素ref_pic_list_modificationがカレントスライスヘッダに存在するか否かを示すシンタクス要素(フラグ)lists_modification_present_flag(第49行目)の値を0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、ピクチャパラメータセット(PPS)の、シンタクス要素ref_pic_list_modificationがカレントスライスヘッダに存在するか否かを示すシンタクス要素(フラグ)lists_modification_present_flag(第49行目)の値が0でなければならないようにしてもよい。
  シンタクス要素lists_modification_present_flagの値が1である場合、図21の第53行目および第54行目に示されるように、カレントスライスについて、参照画像リストに関するシンタクス要素ref_pic_list_modificationが伝送されるが、スティルピクチャプロファイル(Still Picture Profile)の場合、このシンタクス要素は不要である。つまり、シンタクス要素lists_modification_present_flagの値を0に指定することにより、カレントスライスについて、不要な情報である参照画像リストに関するシンタクス要素ref_pic_list_modificationの伝送を省略することができ、符号化効率の低減を抑制することができる。
  さらに、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、時間の概念が存在しない(他のピクチャは存在しない)。そこで、図15に示されるように、ピクチャパラメータセット(PPS)の、予測処理におけるマージモードやスキップモードの並列処理レベルを指定するシンタクス要素log2_parallel_merge_level_minus2(第50行目)の値を0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、ピクチャパラメータセット(PPS)の、予測処理におけるマージモードやスキップモードの並列処理レベルを指定するシンタクス要素log2_parallel_merge_level_minus2(第50行目)の値が0でなければならないようにしてもよい。
  このシンタクス要素は、拡張ゴロム符号化されて伝送される正の値である。したがって、この値が0の場合、符号量が最も少なくなる。つまり、予測処理におけるマージモードやスキップモードの並列処理レベルを指定するシンタクス要素log2_parallel_merge_level_minus2の値を0に指定することにより、符号化効率の低減を抑制することができる。
  なお、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、時間の概念が存在しない(他のピクチャは存在しない)。そこで、図14に示されるように、ピクチャパラメータセット(PPS)の、Pスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_pred_flag(第18行目)、および、Bスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_bipred_flag(第19行目)の値を、ともに0に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、ピクチャパラメータセット(PPS)の、Pスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_pred_flag(第18行目)、および、Bスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_bipred_flag(第19行目)の値が、ともに0でなければならないようにしてもよい。
  シンタクス要素weighted_pred_flagやweighted_bipred_flagの値が1である場合、図21の第65行目乃至第68行目に示されるように、カレントスライスについて、重み予測テーブル等が伝送されるが、スティルピクチャプロファイル(Still Picture Profile)の場合、これらの情報は不要である。つまり、シンタクス要素weighted_pred_flagやweighted_bipred_flagの値を0に指定することにより、カレントスライスについて、不要な情報の伝送を省略することができ、符号化効率の低減を抑制することができる。
  ただし、後述するようにスライスタイプをIスライスに制限することによっても、これらの情報の伝送を省略することができるので、シンタクス要素weighted_pred_flagやweighted_bipred_flagに関する上述したような制限は、省略することもできる。
  さらに、このシンタクス要素の値の制限は、シンタクスを変更せずにセマンティクスによって行うことができ、シンタクスの汎用性の低減を抑制することができる。
    <0-10:スケーリングリストの予測モードに関するシンタクス要素の制限>
  ところで、図5および図6に示されるシーケンスパラメータセット(SPS)においては、スケーリングリスト(scaling_list_data())が呼ばれる(第49行目)。同様に、図14および図15に示されるピクチャパラメータセット(PPS)においても、スケーリングリスト(scaling_list_data())が呼ばれる(第48行目)。
  図16にそのスケーリングリスト(scaling_list_data())の例を示す。図16に示されるスケーリングリスト(scaling_list_data())において、サイズID(sizeID)とマトリクスID(matrixID)のセマンティクスは、図17および図18に示されるとおりである。
  ここで、サイズID(sizeID)の値が0、1、若しくは2であり、マトリクスID(matrixID)の値が3、4、若しくは5である場合、または、サイズID(sizeID)の値が3であり、マトリクスID(matrixID)の値が1である場合、スティルピクチャプロファイル(Still Picture Profile)において、スケーリングリスト(scaling list)を伝送することは冗長である。
  そこで、これらの場合、スケーリングリストの予測モードに関するシンタクス要素scaling_list_pred_mode_flagの値を0に指定し、スケーリングリストの予測行列に関するシンタクス要素scaling_list_pred_matrix_id_deltaの値を0若しくは1に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、スケーリングリストの予測モードに関するシンタクス要素scaling_list_pred_mode_flag(第4行目)の値が0でなければならず、かつ、スケーリングリストの予測行列に関するシンタクス要素scaling_list_pred_matrix_id_delta(第6行目)の値が0若しくは1でなければならないようにしてもよい。
  なお、スケーリングリストの予測行列に関するシンタクス要素scaling_list_pred_matrix_id_deltaの値を1とすることで、符号長を最小限に保ちながら、スタートコードエミュレーションプリベンション(start code emulation prevention)を挿入する必要性を減少させることができる。
    <0-11:スケーリングリストの予測モードに関するシンタクスの変更>
  なお、上述したようにセマンティクスによりシンタクス要素の値を制限する代わりに、図19に示されるようにシンタクスを変更するようにしても良い。
  図19のシンタクスにおいては、第4行目に示されるように、for文の条件を、サイズID(sizeID)およびマトリクスID(matrixID)を用いて、上述したのと同様に詳細に指定している。
  このようにしても同等の結果をえることができる。
    <0-12:スライスタイプに関するシンタクス要素の制限>
  図20乃至図22にスライスヘッダのシンタクスの例を示す。
  スティルピクチャプロファイル(Still Picture Profile)を適用する場合、スライスタイプはIスライスのみとなる。そこで、図20に示されるように、スライスヘッダ(slice_header())の、スライスタイプに関するシンタクス要素slice_type(第11行目)の値を、Iスライスを示す値に指定するようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、スライスヘッダ(slice_header())の、スライスタイプに関するシンタクス要素slice_type(第11行目)の値がIスライスでなければならないようにしてもよい。
  このようにすることにより、スライスヘッダ(slice_header())の第44行目乃至第68行目を読み飛ばすことができる。したがって、このようにすることにより、負荷の増大を抑制することができる。また、第44行目乃至第68行目の不要なシンタクス要素の伝送を抑制することができ、符号化効率の低減を抑制することができる。
  さらに、このシンタクス要素の値の制限は、シンタクスを変更せずにセマンティクスによって行うことができ、シンタクスの汎用性の低減を抑制することができる。
    <0-13:ナルユニットタイプに関するシンタクス要素の制限>
  ところで、図20乃至図22において、IdrPicFlag及びRapPicFlagは、nal_unit_typeから以下の式(3)および式(4)のように算出される。
Figure JPOXMLDOC01-appb-M000003
  ここで、ナルユニットタイプに関するシンタクス要素nal_unit_typeは、図23のように割り当てられている。
  そこで、スティルピクチャプロファイル(Still Picture Profile)を適用する場合、VCLに対するナルユニットタイプ(nal_unit_type)は、IDR_W_LP若しくはIDR_N_LPとするようにしてもよい。
  換言するに、スティルピクチャプロファイル(Still Picture Profile)が適用されている場合、VCLに対するナルユニットタイプ(nal_unit_type)が、IDR_W_LP若しくはIDR_N_LPでなければならないようにしてもよい。
  以上のような処理を行うことにより、スティルピクチャプロファイル(Still Picture Profile)により符号化が行われる際の、冗長な情報を伝送することを排除し、出力となる画像圧縮情報における符号化効率を向上させることが可能である。
  なお、静止画像を符号化するためのプロファイルにより符号化処理を行う場合に値を制限する、画像間の処理に関するシンタクス要素は、上述した例に限らない。上述したシンタクス要素以外のシンタクス要素の値を制限するようにしてもよい。また、その際、セマンティクスにより制限を行うようにしてもよいし、シンタクスを変更するようにしてもよい。
  また、図24に示されるように、静止画像の一部に、人の顔が写っているなどの、ROI (Region of Interest) が存在する場合、図2のタイル(Tile)に画像を分割し、どのタイル(Tile)がROI領域であるかを、SEI(Suplemental Enhancement Information)等のメタデータにより指定することで、復号画像で、ROI領域のみの復号処理を行うことも可能である。
  次に、以上のような本技術について、具体的な装置への適用例について説明する。
  <1.第1の実施の形態>
    <画像符号化装置>
  図25は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図25に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。
  なお、この画像符号化装置100は、動画像の画像データだけでなく、静止画像の画像データも符号化することができる。その場合、画像符号化装置100には、静止画像用のプロファイル(例えば、スティルピクチャプロファイル(Still Picture Profile))が設定される。
  図25に示されるように画像符号化装置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には、符号化順に各フレームの画像データが供給される。なお、入力画像が静止画像の場合は、時間の概念が存在しないので(フレーム数が1であるので)、この並べ替えは省略される。
  演算部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の量子化動作のレートを制御する。
  画像符号化装置100は、さらに、プロファイル設定部121を有する。
  プロファイル設定部121は、画像データの符号化に適用するプロファイルを設定する。例えば、静止画像を符号化する場合、プロファイル設定部121は、スティルピクチャプロファイル(Still Picture Profile)を設定する。例えば、プロファイル設定部121は、ユーザ等の外部の指示に従って、プロファイルを設定する。もちろん、この方法は任意であり、プロファイルがどのような情報に基づいて設定されるようにしても良い。プロファイルを設定すると、プロファイル設定部121は、その情報を可逆符号化部106に供給する。
  可逆符号化部106は、プロファイル設定部121により設定されたプロファイルに従って符号化を行う。例えば、プロファイル設定部121によりスティルピクチャプロファイル(Still Picture Profile)が設定された場合、可逆符号化部106は、画像間の処理に関するシンタクス要素の値を制限する。その制限の具体的な例は、<0.概要>において上述した通りである。
    <可逆符号化部>
  図26は、図25の可逆符号化部106の、シンタクス要素設定に関する主な構成例を示すブロック図である。図25に示されるように可逆符号化部106は、シンタクス要素設定部131および符号化部132を有する。
  シンタクス要素設定部131は、シンタクス要素の設定に関する処理を行う。シンタクス要素設定部131は、例えばビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等、各種ナルユニット(nal_unit)のシンタクス要素の設定を行う。シンタクス要素設定部131は、必要に応じて、イントラ予測部113、インター予測部114等、画像符号化装置100の各処理部から必要な情報を取得し、その情報に基づいてシンタクス要素の値を設定する。
  また、シンタクス要素設定部131は、プロファイル設定部121からプロファイルの指定を受け付ける。シンタクス要素設定部131は、そのプロファイル設定部121により指定されたプロファイルに従って、シンタクス要素の設定を行う。
  例えば、プロファイル設定部121によりスティルピクチャプロファイル(Still Picture Profile)が設定された場合、シンタクス要素設定部131は、画像間の処理に関するシンタクス要素の値を制限する。その制限の具体的な例は、<0.概要>において上述した通りである。
  シンタクス要素設定部131は、設定したシンタクス要素を符号化部132に供給する。
  符号化部132は、例えば、量子化部105から画像データの量子化係数を取得し、算術符号化等によりそれを符号化し、符号化データを得る。符号化部132は、得られた符号化データを蓄積バッファ107に供給する。
  また、符号化部132は、画像データ以外の情報も符号化し、蓄積バッファ107に供給する。例えば、符号化部132は、シンタクス要素設定部131において設定されたシンタクス要素を符号化し、蓄積バッファ107に供給する。
  以上のように可逆符号化部106は、スティルピクチャプロファイル(Still Picture Profile)が設定された場合、画像間の処理に関するシンタクス要素の値を制限して、符号化データを生成する。したがって、画像符号化装置100は、冗長な情報の伝送を抑制することができ、符号化効率の低減を抑制することができる。
  付言するに、画像符号化装置100は、符号化データの冗長な情報を低減させることにより、復号処理の不要な負荷の増大を抑制することもできる。
  また、画像符号化装置100は、プロファイルを切り替えるだけで容易に、1の回路で、静止画像と動画像の両方を符号化することができる。
    <符号化処理の流れ>
  次に、図25に示される画像符号化装置100により実行される符号化処理の流れの例を、図27および図28のフローチャートを参照して説明する。
  符号化処理が開始されると、図27のステップS101において、プロファイル設定部121は、例えばユーザ等の外部の指示に従って、符号化する画像データに応じたプロファイルを設定する。
  ステップS102において、可逆符号化部106は、ステップS101において設定されたプロファイルが静止画像用のプロファイル(静止画像の画像データを符号化するのに適したプロファイル)であるか否かを判定する。設定されたプロファイルが動画像用のプロファイル(動画像の画像データを符号化するのに適したプロファイル)であると判定された場合、処理は、ステップS103に進む。
  動画像の画像データを符号化する場合、ステップS103において、A/D変換部101は、入力された動画像の各フレーム(ピクチャ)の画像をA/D変換する。
  ステップS104において、画面並べ替えバッファ102は、ステップS103においてA/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
  ステップS105において、イントラ予測部113は、イントラ予測モードのイントラ予測処理を行う。
  ステップS106において、インター予測部114は、インター予測モードでの動き予測や動き補償を行うインター予測処理を行う。
  ステップS107において、予測画像選択部115は、コスト関数値等に基づいて、予測画像を選択する。つまり、予測画像選択部115は、ステップS105のイントラ予測により生成された予測画像と、ステップS106のインター予測により生成された予測画像のいずれか一方を選択する。
  ステップS108において、演算部103は、ステップS104の処理によりフレーム順を並び替えられた入力画像と、ステップS107の処理により選択された予測画像との差分を演算する。つまり、演算部103は、入力画像と予測画像との差分画像の画像データを生成する。このようにして求められた差分画像の画像データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
  ステップS109において、直交変換部104は、ステップS108の処理により生成された差分画像の画像データを直交変換する。
  ステップS110において、量子化部105は、レート制御部116により算出された量子化パラメータを用いて、ステップS109の処理により得られた直交変換係数を量子化する。
  ステップS111において、逆量子化部108は、ステップS110の処理により生成された量子化された係数(量子化係数とも称する)を、量子化部105の特性に対応する特性で逆量子化する。
  ステップS112において、逆直交変換部109は、ステップS111の処理により得られた直交変換係数を逆直交変換する。
  ステップS113において、演算部110は、ステップS112の処理により復元された差分画像に、ステップS107の処理により選択された予測画像を加算することにより、再構成画像の画像データを生成する。
  ステップS114においてループフィルタ111は、ステップS113の処理により生成された再構成画像の画像データにループフィルタ処理を行う。これにより、再構成画像のブロック歪み等が除去される。
  ステップS115において、フレームメモリ112は、ステップS114の処理により得られた復号画像を記憶する。
  ステップS116において、可逆符号化部106は、ステップS110の処理により得られた、量子化された係数を符号化する。すなわち、差分画像に対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
  また、このとき、可逆符号化部106は、ステップS107の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部106は、イントラ予測部113から供給される最適イントラ予測モード情報、または、インター予測部114から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
  さらに、可逆符号化部106は、各種ナルユニット等のシンタクス要素も設定し、符号化し、符号化データに付加する。
  ステップS117において蓄積バッファ107は、ステップS115の処理により得られた符号化データを蓄積する。蓄積バッファ107に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
  ステップS118においてレート制御部116は、ステップS117の処理により蓄積バッファ107に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部105の量子化動作のレートを制御する。また、レート制御部116は、量子化パラメータに関する情報を、量子化部105に供給する。ステップS118の処理が終了すると、符号化処理が終了する。
  また、ステップS102において、ステップS101において設定されたプロファイルが静止画像用のプロファイル(静止画像の画像データを符号化するのに適したプロファイル)であると判定された場合、処理は、図28のステップS121に進む。
  この場合、ステップS121乃至ステップS134の各ステップにおいて、入力された静止画像の画像データに対して、図27の各ステップにおいて行われた動画像に対する処理と同様の処理が実行される。
  ただし、静止画像の画像データを符号化する場合、画像データに時間の概念が存在しない(ピクチャが複数存在しない)ので、ステップS106のインター予測処理は省略される。したがって、ステップS107の予測画像の選択処理も省略される。
  つまり、図28のステップS121乃至ステップS123の各処理は、図27のステップS103乃至ステップS105の各処理に対応する。また、図28のステップS124乃至ステップS134の各処理は、図27のステップS108乃至ステップS118の各処理に対応する。
  ただし、図28のステップS132の処理においては、画像間の処理に関するシンタクス要素の値が制限される。この処理の詳細については後述する。図28のステップS134の処理が終了すると、符号化処理が終了する。
    <可逆符号化処理の流れ>
  次に、図29のフローチャートを参照して、図28のステップS132において実行される可逆符号化処理の流れの例を説明する。
  静止画像の符号化において可逆符号化処理が開始されると、ステップS151において、シンタクス要素設定部131は、静止画像用の制限に基づいてシンタクス要素を設定する。例えば<0.概要>において上述したように、冗長な情報の伝送を低減させるために、スティルピクチャプロファイル(Still Picture Profile)が適用される場合、シンタクス要素設定部131は、画像間の処理に関するシンタクス要素の値を制限する。
  ステップS152において、符号化部132は、ステップS151において設定されたシンタクス要素を符号化する。
  ステップS153において、符号化部132は、量子化部105により量子化された直交変換係数を符号化する。ステップS153の処理が終了すると、可逆符号化処理が終了し、処理は、図28に戻る。
    <シンタクス要素設定処理の流れ>
  次に、図30のフローチャートを参照して、図29のステップS151において実行されるシンタクス要素設定処理の流れの例を説明する。
  シンタクス要素設定処理が開始されると、シンタクス要素設定部131は、ステップS171において、ビデオパラメータセット(VPS)のサブレイヤに関するパラメータvps_max_sub_layers_minus1と、シーケンスパラメータセット(SPS)のサブレイヤに関するパラメータsps_max_sub_layers_minus1とを0に設定する。
  ステップS172において、シンタクス要素設定部131は、プロファイルティアレベル(profile_tier_level())のシンタクス要素general_profile_idcを、スティルピクチャプロファイル(Still Picture Profile)を示す値に設定する。
  ステップS173において、シンタクス要素設定部131は、プロファイルティアレベル(profile_tier_level())のその他のシンタクス要素を設定する。
  ステップS174において、シンタクス要素設定部131は、ビデオパラメータセット(VPS)の仮想参照デコーダに関するシンタクス要素vps_num_hrd_parametersの値を0に設定する。
  ステップS175において、シンタクス要素設定部131は、シーケンスパラメータセット(SPS)のPスライスやBスライスに関するシンタクス要素restricted_ref_pic_lists_flagの値を0に設定する。
  ステップS176において、シンタクス要素設定部131は、シーケンスパラメータセット(SPS)のショートタームに関するシンタクス要素num_short_term_ref_pic_setsの値を0に設定する。
  ステップS177において、シンタクス要素設定部131は、シーケンスパラメータセット(SPS)のロングタームに関するシンタクス要素long_term_ref_pics_present_flagの値を0に設定する。
  ステップS178において、シンタクス要素設定部131は、シーケンスパラメータセット(SPS)の動きベクトルに関するシンタクス要素sps_temporal_mvp_enable_flagの値を0に設定する。
  ステップS179において、シンタクス要素設定部131は、ピクチャパラメータセット(PPS)のL0に関するシンタクス要素num_ref_idx_l0_default_active minus1、および、L1に関するシンタクス要素num_ref_idx_l1_default_active minus1の値を、ともに0若しくは1に設定する。
  ステップS180において、シンタクス要素設定部131は、ピクチャパラメータセット(PPS)の、シンタクス要素ref_pic_list_modificationがカレントスライスヘッダに存在するか否かを示すシンタクス要素lists_modification_present_flagの値を0に設定する。
  ステップS181において、シンタクス要素設定部131は、ピクチャパラメータセット(PPS)の、予測処理におけるマージモードやスキップモードの並列処理レベルを指定するシンタクス要素log2_parallel_merge_level_minus2の値を0に設定する。
  ステップS182において、シンタクス要素設定部131は、スケーリングリスト(scaling_list_data())の予測モードに関するシンタクス要素scaling_list_pred_mode_flagの値を0に設定し、スケーリングリスト(scaling_list_data())の予測行列に関するシンタクス要素scaling_list_pred_matrix_id_deltaの値を0若しくは1に設定する。
  ステップS183において、シンタクス要素設定部131は、スライスヘッダ(slice_header())の、スライスタイプに関するシンタクス要素slice_typeの値を、Iスライスを示す値に設定する。
  ステップS184において、シンタクス要素設定部131は、VCLに対するナルユニットタイプ(nal_unit_type)を、IDR_W_LP若しくはIDR_N_LPに設定する。
  ステップS185において、シンタクス要素設定部131は、その他のシンタクス要素を設定する。例えば、シンタクス要素設定部131は、ステップS185において、ピクチャパラメータセット(PPS)の、Pスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_pred_flagやBスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_bipred_flagの値を0に設定してもよい。ステップS185の処理が終了すると、処理は、図29に戻る。
  もちろん、上述した各ステップの処理順は、任意であり、各ステップの処理順を入れ替えてもよいし、複数ステップの処理を並行して実行するようにしてもよい。特に、<0-1>乃至<0-3>において上述したように、ステップS171乃至ステップS173の処理順は任意である。
  また、上述した各シンタクス要素の値の制限は互いに独立しているので、上述したシンタクス要素群の全ての値を制限しなければならないわけではなく、一部のシンタクス要素のみ値を制限するようにしてもよい。つまり、図30のシンタクス要素設定処理において上述した各ステップのうち、一部のステップの処理のみを実行するようにしてもよい。
  さらに、値を制限するシンタクス要素は、上述した例に限らないので、図30のシンタクス要素設定処理においても、上述していないシンタクス要素の値を制限する処理を追加するようにしてもよい。
  以上のように各処理を実行することにより、画像符号化装置100は、静止画像を符号化するためのプロファイルにより符号化が行われる際の、冗長な情報の伝送を抑制し、出力となる画像圧縮情報における符号化効率を向上させることができる。
  <2.第2の実施の形態>
    <画像符号化装置>
  なお、プロファイルの選択は、入力画像に対応することが望ましい。そこで、入力画像が動画像であるか静止画像であるかを判定し、その判定結果に応じて適切なプロファイルを設定するようにしてもよい。
  図31は、その場合の、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図31に示される画像符号化装置200は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像および静止画像の画像データを符号化する。
  画像符号化装置200は、画像符号化装置100と基本的に同様の構成を有し、同様の処理を行う。ただし、画像符号化装置200は、画像符号化装置100の構成に加え、判定部211を有する。
  判定部211は、画面並べ替えバッファ102から画像情報を取得し、その画像情報を解析することにより、符号化対象の画像データが動画像であるか静止画像であるかを判定する。判定部211は、その判定結果をプロファイル設定部121に供給する。
  プロファイル設定部121は、判定部211から供給されるその判定結果に応じて、適切なプロファイルを設定する。つまり、例えば、判定部211により符号化対象の画像データが動画像であると判定された場合、プロファイル設定部121は、動画像用のプロファイルを設定する。また、例えば、判定部211により符号化対象の画像データが静止画像であると判定された場合、プロファイル設定部121は、静止画像用のプロファイル(例えば、スティルピクチャプロファイル(Still Picture Profile))を設定する。
  プロファイルを設定すると、プロファイル設定部121は、その情報を可逆符号化部106に供給する。可逆符号化部106は、プロファイル設定部121により設定されたプロファイルに従って符号化を行う。
  このようにすることにより、画像符号化装置200は、例えばユーザ等の外部からの指定無しに、入力された画像データに応じたプロファイルを設定することができる。つまり、画像符号化装置200は、例えばユーザ等の外部からの指定無しに、冗長な情報の伝送を抑制し、出力となる画像圧縮情報における符号化効率を向上させることができる。
  付言するに、画像符号化装置200は、符号化データの冗長な情報を低減させることにより、復号処理の不要な負荷の増大を抑制することもできる。
  また、画像符号化装置200は、1の回路で、静止画像と動画像の両方を符号化することができる。
    <符号化処理の流れ>
  次に、図32および図33のフローチャートを参照して、画像符号化装置200により実行される、その場合の、符号化処理の流れの例を説明する。
  符号化処理が開始されると、図32のステップS201において、判定部211は、入力画像が静止画像であるか否かを判定する。
  ステップS202において、プロファイル設定部121は、ステップS201において得られた判定結果に応じたプロファイルを設定する。
  それ以降の、図32のステップS203乃至ステップS219の各ステップにおいては、図27のステップS102乃至ステップS118の各ステップと同様の処理が実行される。
  また、図32のステップS203において、静止画像用のプロファイルが設定されたと判定された場合、処理は、図33のステップS221に進む。図33のステップS221乃至ステップS234の各ステップにおいては、図28のステップS121乃至ステップS134の各ステップと同様の処理が実行される。
  以上のように各処理を実行することにより、画像符号化装置200は、例えばユーザ等の外部からの指定無しに、入力された画像データに応じたプロファイルを設定することができ、冗長な情報の伝送を抑制し、出力となる画像圧縮情報における符号化効率を向上させることができる。
  <3.第3の実施の形態>
    <画像復号装置>
  次に、以上のように符号化された符号化データの復号について説明する。図34は、本技術を適用した画像処理装置の一態様である、図25の画像符号化装置100や図31の画像符号化装置200に対応する画像復号装置の主な構成例を示すブロック図である。
  図34に示される画像復号装置300は、画像符号化装置100若しくは画像符号化装置200が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
  図34に示されるように画像復号装置300は、蓄積バッファ301、可逆復号部302、逆量子化部303、逆直交変換部304、演算部305、ループフィルタ306、画面並べ替えバッファ307、およびD/A変換部308を有する。また、画像復号装置300は、フレームメモリ309、イントラ予測部310、インター予測部311、および予測画像選択部312を有する。
  蓄積バッファ301は、伝送されてきた符号化データを受け取る受け取り部でもある。蓄積バッファ301は、伝送されてきた符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部302に供給する。符号化データには、予測モード情報などの復号に必要な情報が付加されている。可逆復号部302は、蓄積バッファ301より供給された、可逆符号化部106により符号化された情報を、その符号化方式に対応する復号方式で復号する。可逆復号部302は、復号して得られた差分画像の量子化された係数データを、逆量子化部303に供給する。
  また、可逆復号部302は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部310およびインター予測部311の内、選択されたと判定したモードの方に供給する。つまり、例えば、画像符号化装置において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部310に供給される。また、例えば、画像符号化装置において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報がインター予測部311に供給される。
  さらに、可逆復号部302は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報を逆量子化部303に供給する。
  逆量子化部303は、可逆復号部302により復号されて得られた量子化された係数データを、量子化部105の量子化方式に対応する方式で逆量子化する。なお、この逆量子化部303は、逆量子化部108と同様の処理部である。つまり、逆量子化部303の説明は、逆量子化部108にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
  逆量子化部303は、得られた係数データを逆直交変換部304に供給する。
  逆直交変換部304は、逆量子化部303から供給される直交変換係数を、必要に応じて、直交変換部104の直交変換方式に対応する方式で逆直交変換する。なお、この逆直交変換部304は、逆直交変換部109と同様の処理部である。つまり、逆直交変換部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から適宜供給される。イントラ予測部310は、イントラ予測部113において用いられたイントラ予測モード(最適イントラ予測モード)でイントラ予測を行い、予測画像を生成する。その際、イントラ予測部310は、演算部305から供給される再構成画像の画像データを用いてイントラ予測を行う。すなわち、イントラ予測部310は、この再構成画像を参照画像(周辺画素)として利用する。イントラ予測部310は、生成した予測画像を予測画像選択部312に供給する。
  インター予測部311は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部302から取得する。
  インター予測部311は、可逆復号部302から取得された最適予測モード情報が示すインター予測モード(最適インター予測モード)で、フレームメモリ309から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
  予測画像選択部312は、イントラ予測部310からの予測画像またはインター予測部311からの予測画像を、演算部305に供給する。そして、演算部305においては、その予測画像と逆直交変換部304からの復号残差データ(差分画像情報)とが加算されて再構成画像が得られる。
  画像復号装置300は、さらに、プロファイル判定部321を有する。
  プロファイル判定部321は、可逆復号部302から、符号化側(例えば画像符号化装置100や画像符号化装置200)から伝送された符号化データ(ビットストリーム)に含まれる、その符号化データのプロファイルに関する情報を取得し、その情報に基づいて、符号化側(例えば画像符号化装置100や画像符号化装置200)において設定されたプロファイルを判定する。
  例えば、プロファイル判定部321は、静止画像用のプロファイル(例えば、スティルピクチャプロファイル(Still Picture Profile))が設定されているか否かを判定する。
  プロファイル判定部321は、その判定結果を可逆復号部302に供給する。可逆復号部302は、プロファイル判定部321から供給されるプロファイルの判定結果に従って、符号化データの復号を行う。例えば、プロファイル判定部321により、静止画像用のプロファイル(例えば、スティルピクチャプロファイル(Still Picture Profile))が設定されていると判定された場合、可逆復号部302は、画像間の処理に関するシンタクス要素を、値が制限された状態で解析する。このシンタクス要素の値の制限の仕方の具体例は、<0.概要>において上述した通りである。
    <可逆復号部>
  図35は、図34の可逆復号部302の、シンタクス要素解析に関する主な構成例を示すブロック図である。図35に示されるように可逆復号部302は、復号部331およびシンタクス要素解析部332を有する。
  復号部331は、蓄積バッファ301から供給される符号化データを復号する。復号部331は、例えば、符号化データを復号して得られた、プロファイルに関する情報をプロファイル判定部321に供給する。
  プロファイル判定部321は、上述したように、設定されたプロファイルを判定し、そのプロファイルを指定する情報をシンタクス要素解析部332に供給する。
  また、復号部331は、例えば、符号化データを復号して得られた、量子化された直交変換係数を逆量子化部303に供給する。さらに、復号部331は、例えば、符号化データを復号して得られたシンタクス要素をシンタクス要素解析部332に供給する。
  シンタクス要素解析部332は、復号部331から供給される各種シンタクスを解析し、その解析結果に従って、例えばイントラ予測部310やインター予測部311等、画像復号装置300の各処理部の動作を制御する。
  シンタクス要素解析部332は、プロファイル判定部321から供給される判定結果に従って、このシンタクス要素の解析を行う。例えば、静止画像用のプロファイル(例えば、スティルピクチャプロファイル(Still Picture Profile))が設定されていると判定された場合、シンタクス要素解析部332は、画像間の処理に関するシンタクス要素を、値が制限された状態で解析する。このシンタクス要素の値の制限の仕方の具体例は、<0.概要>において上述した通りである。
  このようにすることにより、シンタクス要素解析部332は、設定されたプロファイルに応じて、不要なシンタクス要素の解析を省略することができる(シンタクス要素を読み飛ばすことができる)。つまり、画像復号装置300は、復号対象の符号化データに不要な情報が含まれる場合であっても、設定されたプロファイルに応じて、その不要な情報を適宜読み飛ばすことができ、復号処理の不要な負荷の増大を抑制することができる。
  また、画像復号装置300は、1の回路で、静止画像の符号化データと動画像の符号化データの両方を復号することができる。
    <復号処理の流れ>
  次に、図36および図37のフローチャートを参照して、以上のような画像復号装置300により実行される復号処理の流れの例を説明する。
  復号処理が開始されると、ステップS301において、可逆復号部302は、プロファイルを復号する。
  ステップS302において、プロファイル判定部321は、ステップS301において復号されたプロファイルに基づいて、符号化データに設定されているプロファイルが静止画像用のプロファイルであるか否かを判定する。動画像用のプロファイルが設定されていると判定された場合、処理は、ステップS303に進み、以下のように、動画像の符号化データを復号する各種処理(ステップS303乃至ステップS313の各ステップの処理)が行われる。
  ステップS303において、可逆復号部302のシンタクス要素解析部332は、符号化データから得られたシンタクス要素を解析し、復号に使用される各種パラメータ等をセットする。
  ステップS304において、蓄積バッファ301は、伝送されてきたビットストリーム(符号化データ)を蓄積する。ステップS305において、可逆復号部302は、蓄積バッファ301から供給されるビットストリーム(符号化データ)を復号する。すなわち、可逆符号化部106により符号化されたIピクチャ、Pピクチャ、並びにBピクチャ等の画像データが復号される。このとき、ヘッダ情報などのビットストリームに含められた画像データ以外の各種情報も復号される。
  ステップS306において、逆量子化部303は、ステップS305の処理により得られた、量子化された係数を逆量子化する。
  ステップS307において、逆直交変換部304は、ステップS306において逆量子化された係数を逆直交変換する。
  ステップS308において、イントラ予測部310若しくはインター予測部311は、予測処理を行い、予測画像を生成する。つまり、可逆復号部302において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部310が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、インター予測部311が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
  ステップS309において、演算部305は、ステップS307において逆直交変換されて得られた差分画像に、ステップS308において生成された予測画像を加算する。これにより再構成画像の画像データが得られる。
  ステップS310において、ループフィルタ306は、ステップS309の処理により得られた再構成画像の画像データに対して、デブロックフィルタ処理や適応ループフィルタ処理等を含むループフィルタ処理を適宜行う。
  ステップS311において、画面並べ替えバッファ307は、ステップS310においてフィルタ処理された再構成画像の各フレームの並べ替えを行う。すなわち、符号化の際に並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
  ステップS312において、D/A変換部308は、ステップS311においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
  ステップS313において、フレームメモリ309は、ステップS310においてフィルタ処理された画像を記憶する。
  ステップS313の処理が終了すると、復号処理が終了する。
  また、ステップS302において、静止画像用のプロファイル(静止画像の画像データを符号化するのに適したプロファイル)が設定されていると判定された場合、処理は、図37のステップS321に進む。
  この場合、ステップS321乃至ステップS331の各ステップにおいて、入力された静止画像の画像データに対して、図36の各ステップにおいて行われた動画像に対する処理と同様の処理が実行される。
  つまり、図37のステップS321乃至ステップS331の各処理は、図36のステップS303乃至ステップS313の各処理に対応する。
  ただし、静止画像の画像データを符号化する場合、画像データに時間の概念が存在しない(ピクチャが複数存在しない)ので、ステップS326においては、イントラ予測によって予測画像が生成される。
  また、ステップS321の処理においては、画像間の処理に関するシンタクス要素の値が制限された状態でシンタクス要素の解析が行われる。この処理の詳細については後述する。
  ステップS331の処理が終了すると、復号処理が終了する。
    <シンタクス要素解析処理の流れ>
  次に、図38のフローチャートを参照して、図37のステップS321において実行されるシンタクス要素解析処理の流れの例を説明する。
  シンタクス要素解析処理が開始されると、シンタクス要素解析部332は、ステップS351において、ビデオパラメータセット(VPS)のサブレイヤに関するパラメータvps_max_sub_layers_minus1と、シーケンスパラメータセット(SPS)のサブレイヤに関するパラメータsps_max_sub_layers_minus1とが0であると判定する。
  ステップS352において、シンタクス要素解析部332は、プロファイルティアレベル(profile_tier_level())のシンタクス要素general_profile_idcが、スティルピクチャプロファイル(Still Picture Profile)を示す値であると判定する。
  ステップS353において、シンタクス要素解析部332は、プロファイルティアレベル(profile_tier_level())のその他のシンタクス要素を判定する。
  ステップS354において、シンタクス要素解析部332は、ビデオパラメータセット(VPS)の仮想参照デコーダに関するシンタクス要素vps_num_hrd_parametersの値が0であると判定する。
  ステップS355において、シンタクス要素解析部332は、シーケンスパラメータセット(SPS)のPスライスやBスライスに関するシンタクス要素restricted_ref_pic_lists_flagの値が0であると判定する。
  ステップS356において、シンタクス要素解析部332は、シーケンスパラメータセット(SPS)のショートタームに関するシンタクス要素num_short_term_ref_pic_setsの値が0であると判定する。
  ステップS357において、シンタクス要素解析部332は、シーケンスパラメータセット(SPS)のロングタームに関するシンタクス要素long_term_ref_pics_present_flagの値が0であると判定する。
  ステップS358において、シンタクス要素解析部332は、シーケンスパラメータセット(SPS)の動きベクトルに関するシンタクス要素sps_temporal_mvp_enable_flagの値が0であると判定する。
  ステップS359において、シンタクス要素解析部332は、ピクチャパラメータセット(PPS)のL0に関するシンタクス要素num_ref_idx_l0_default_active minus1、および、L1に関するシンタクス要素num_ref_idx_l1_default_active minus1の値が、ともに0若しくは1であると判定する。
  ステップS360において、シンタクス要素解析部332は、ピクチャパラメータセット(PPS)の、シンタクス要素ref_pic_list_modificationがカレントスライスヘッダに存在するか否かを示すシンタクス要素lists_modification_present_flagの値が0であると判定する。
  ステップS361において、シンタクス要素解析部332は、ピクチャパラメータセット(PPS)の、予測処理におけるマージモードやスキップモードの並列処理レベルを指定するシンタクス要素log2_parallel_merge_level_minus2の値が0であると判定する。
  ステップS362において、シンタクス要素解析部332は、スケーリングリスト(scaling_list_data())の予測モードに関するシンタクス要素scaling_list_pred_mode_flagの値が0であると判定し、スケーリングリスト(scaling_list_data())の予測行列に関するシンタクス要素scaling_list_pred_matrix_id_deltaの値が0若しくは1であると判定する。
  ステップS363において、シンタクス要素解析部332は、スライスヘッダ(slice_header())の、スライスタイプに関するシンタクス要素slice_typeの値がIスライスを示す値であると判定する。
  ステップS364において、シンタクス要素解析部332は、VCLに対するナルユニットタイプ(nal_unit_type)が、IDR_W_LP若しくはIDR_N_LPであると判定する。
  ステップS365において、シンタクス要素解析部332は、その他のシンタクス要素を判定する。例えば、シンタクス要素解析部332は、ステップS365において、ピクチャパラメータセット(PPS)の、Pスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_pred_flagやBスライスの重み付け予測に関するシンタクス要素(フラグ)weighted_bipred_flagの値が0であると判定してもよい。ステップS365の処理が終了すると、処理は、図37に戻る。
  もちろん、上述した各ステップの処理順は、任意であり、各ステップの処理順を入れ替えてもよいし、複数ステップの処理を並行して実行するようにしてもよい。特に、<0-1>乃至<0-3>において上述したように、ステップS351乃至ステップS353の処理順は任意である。
  また、上述した各シンタクス要素の値の制限は互いに独立しているので、上述したシンタクス要素群の全ての値を制限した状態で解析しなければならないわけではなく、一部のシンタクス要素のみ値を制限した状態で解析するようにしてもよい。つまり、図38のシンタクス要素解析処理において上述した各ステップのうち、一部のステップの処理のみを実行するようにしてもよい。
  さらに、値を制限するシンタクス要素は、上述した例に限らないので、図38のシンタクス要素解析処理においても、上述していないシンタクス要素の値を制限した状態で解析する処理を追加するようにしてもよい。
  以上のように各処理を実行することにより、画像復号装置300は、静止画像を符号化するためのプロファイルにより符号化された符号化データを復号する際の、不要な負荷の増大を抑制することができる。
  <4.第4の実施の形態>
    <画像復号装置>
  なお、画像復号装置が、符号化データを復号する際に、その符号化データにおいて、設定されたプロファイルに対してシンタクスの値の設定が正しく行われているか否かを検査するようにしてもよい。
  図39は、その場合の、本技術を適用した画像処理装置の一態様である画像復号装置の構成の一例を示すブロック図である。図39に示される画像復号装置400は、画像復号装置300と同様に、画像符号化装置100や画像符号化装置200に対応する画像復号装置であり、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像および静止画像の画像データが符号化された符号化データを復号する。
  画像復号装置400は、画像復号装置300と基本的に同様の構成を有し、同様の処理を行う。ただし、画像復号装置400は、画像復号装置300の構成に加え、異常処理部411を有する。
  可逆復号部302は、プロファイル判定部321により判定されたプロファイルに対して、シンタクス要素が正しく設定されているか否かを検査する。その検査において異常が検出された場合、すなわち、不要なシンタクス要素が設定される等、シンタクス要素の設定が正しく無い場合、その旨を異常処理部411に通知する。
  異常処理部411は、可逆復号部302から異常の発生を通知された場合、予め定められた異常処理を行う。例えば、異常処理部411は、モニタに警告画像を表示したり、スピーカ等から警告音声を出力したりする。この異常処理の内容は任意である。例えば、異常処理部411が、安全の為、画像復号装置400の各部を制御して、復号処理を停止させたり、強制終了させたりするようにしてもよい。
    <可逆復号部>
  図40は、図39の可逆復号部302の、シンタクス要素解析に関する主な構成例を示すブロック図である。図40に示されるように、この場合の可逆復号部302は、図35の構成に加え、シンタクス要素検査部421を有する。
  プロファイル判定部321は、上述したように、復号部331から供給される情報に基づいて、設定されたプロファイルを判定し、そのプロファイルを指定する情報をシンタクス要素検査部421に供給する。
  また、復号部331は、符号化データを復号して得られたシンタクス要素をシンタクス要素検査部421に供給する。
  シンタクス要素検査部421は、プロファイル判定部321から供給される判定結果に従って、復号部331から供給される各種シンタクス要素の値を検査する。シンタクス要素が正常であれば、シンタクス要素検査部421は、その検査済みのシンタクス要素をシンタクス要素解析部332に供給する。
  また、シンタクス要素の検査において異常が検知された場合、例えば、不正なシンタクス要素が設定されていたり、シンタクス要素に不正な値が設定されていたりした場合、シンタクス要素検査部421は、その旨を異常処理部411に通知する。
  異常処理部411は、上述したように、その通知に従って異常処理を行う。
  このようにすることにより、画像復号装置400は、シンタクス要素の設定の不正を検出することができ、より安全に復号処理を行うことができる。また、画像復号装置400は、符号化データの検査・解析に利用することができる。つまり、画像復号装置400を符号化データのアナライザとして利用し、必要に応じて、符号化データの再作成等を促すこともできる。
  また、画像復号装置400は、1の回路で、静止画像の符号化データと動画像の符号化データの両方を復号することができる。
    <符号化処理の流れ>
  次に、図41および図42のフローチャートを参照して、画像復号装置400により実行される、その場合の、復号処理の流れの例を説明する。
  復号処理が開始されると、画像復号装置400は、図41のステップS401乃至ステップS413において、図36のステップS301乃至ステップS313の各ステップと同様の処理を実行する。ステップS413の処理が終了すると、復号処理が終了する。
  また、ステップS402において、静止画像用のプロファイルが設定されたと判定された場合、処理は、図42のステップS421に進む。
  図42のステップS421において、可逆復号部302のシンタクス要素検査部421は、静止画像用のプロファイルによる制限に基づいて、シンタクス要素を検査する。
  ステップS422において、シンタクス要素検査部421は、ステップS421の検査結果に基づいて、シンタクス要素に違反があるか否かを判定する。違反がないと判定された場合、処理は、ステップS423に進む。
  図42のステップS423乃至ステップS433の各ステップにおいては、図37のステップS321乃至ステップS331の各ステップと同様の処理が実行される。ステップS433の処理が終了すると、復号処理が終了する。
  また、図42のステップS422において、違反があると判定された場合、処理は、ステップS434に進む。
  ステップS434において、異常処理部411は、異常処理を行う。ステップS434の処理が終了すると、復号処理が終了する。
    <シンタクス要素解析処理の流れ>
  次に、図43のフローチャートを参照して、図42のステップS421において実行されるシンタクス要素検査処理の流れの例を説明する。
  シンタクス要素検査処理が開始されると、シンタクス要素検査部421は、ステップS451において、ビデオパラメータセット(VPS)のサブレイヤに関するパラメータvps_max_sub_layers_minus1と、シーケンスパラメータセット(SPS)のサブレイヤに関するパラメータsps_max_sub_layers_minus1とが0であるか否かを判定する。判定結果が真の場合、すなわち、ビデオパラメータセット(VPS)のサブレイヤに関するパラメータvps_max_sub_layers_minus1と、シーケンスパラメータセット(SPS)のサブレイヤに関するパラメータsps_max_sub_layers_minus1とが0であると判定された場合、処理は、ステップS452に進む。
  ステップS452において、シンタクス要素検査部421は、プロファイルティアレベル(profile_tier_level())のシンタクス要素general_profile_idcが、スティルピクチャプロファイル(Still Picture Profile)を示す値であるか否かを判定する。判定結果が真の場合、すなわち、プロファイルティアレベル(profile_tier_level())のシンタクス要素general_profile_idcが、スティルピクチャプロファイル(Still Picture Profile)を示す値であると判定された場合、処理はステップS453に進む。
  ステップS453において、シンタクス要素検査部421は、ビデオパラメータセット(VPS)の仮想参照デコーダに関するシンタクス要素vps_num_hrd_parametersの値が0であるか否かを判定する。判定結果が真の場合、すなわち、ビデオパラメータセット(VPS)の仮想参照デコーダに関するシンタクス要素vps_num_hrd_parametersの値が0であると判定された場合、処理はステップS454に進む。
  ステップS454において、シンタクス要素検査部421は、シーケンスパラメータセット(SPS)のPスライスやBスライスに関するシンタクス要素restricted_ref_pic_lists_flagの値が0であるか否かを判定する。判定結果が真の場合、すなわち、シーケンスパラメータセット(SPS)のPスライスやBスライスに関するシンタクス要素restricted_ref_pic_lists_flagの値が0であると判定された場合、処理はステップS455に進む。
  ステップS455において、シンタクス要素検査部421は、シーケンスパラメータセット(SPS)のショートタームに関するシンタクス要素num_short_term_ref_pic_setsの値が0であるか否かを判定する。判定結果が真の場合、すなわち、シーケンスパラメータセット(SPS)のショートタームに関するシンタクス要素num_short_term_ref_pic_setsの値が0であると判定された場合、処理はステップS456に進む。
  ステップS456において、シンタクス要素検査部421は、シーケンスパラメータセット(SPS)のロングタームに関するシンタクス要素long_term_ref_pics_present_flagの値が0であるか否かを判定する。判定結果が真の場合、すなわち、シーケンスパラメータセット(SPS)のロングタームに関するシンタクス要素long_term_ref_pics_present_flagの値が0であると判定された場合、処理はステップS457に進む。
  ステップS457において、シンタクス要素検査部421は、シーケンスパラメータセット(SPS)の動きベクトルに関するシンタクス要素sps_temporal_mvp_enable_flagの値が0であるか否かを判定する。判定結果が真の場合、すなわち、シーケンスパラメータセット(SPS)の動きベクトルに関するシンタクス要素sps_temporal_mvp_enable_flagの値が0であると判定された場合、処理はステップS458に進む。
  ステップS458において、シンタクス要素検査部421は、ピクチャパラメータセット(PPS)のL0に関するシンタクス要素num_ref_idx_l0_default_active minus1、および、L1に関するシンタクス要素num_ref_idx_l1_default_active minus1の値が、ともに0若しくは1であるか否かを判定する。判定結果が真の場合、すなわち、ピクチャパラメータセット(PPS)のL0に関するシンタクス要素num_ref_idx_l0_default_active minus1、および、L1に関するシンタクス要素num_ref_idx_l1_default_active minus1の値が、ともに0若しくは1であると判定された場合、処理はステップS459に進む。
  ステップS459において、シンタクス要素検査部421は、ピクチャパラメータセット(PPS)の、シンタクス要素ref_pic_list_modificationがカレントスライスヘッダに存在するか否かを示すシンタクス要素lists_modification_present_flagの値が0であるか否かを判定する。判定結果が真の場合、すなわち、ピクチャパラメータセット(PPS)の、シンタクス要素ref_pic_list_modificationがカレントスライスヘッダに存在するか否かを示すシンタクス要素lists_modification_present_flagの値が0であると判定された場合、処理はステップS460に進む。
  ステップS460において、シンタクス要素検査部421は、ピクチャパラメータセット(PPS)の、予測処理におけるマージモードやスキップモードの並列処理レベルを指定するシンタクス要素log2_parallel_merge_level_minus2の値が0であるか否かを判定する。判定結果が真の場合、すなわち、ピクチャパラメータセット(PPS)の、予測処理におけるマージモードやスキップモードの並列処理レベルを指定するシンタクス要素log2_parallel_merge_level_minus2の値が0であると判定された場合、処理はステップS461に進む。
  ステップS461において、シンタクス要素検査部421は、スケーリングリスト(scaling_list_data())の予測モードに関するシンタクス要素scaling_list_pred_mode_flagの値が0であり、スケーリングリスト(scaling_list_data())の予測行列に関するシンタクス要素scaling_list_pred_matrix_id_deltaの値が0若しくは1であるか否かを判定する。判定結果が真の場合、すなわち、スケーリングリスト(scaling_list_data())の予測モードに関するシンタクス要素scaling_list_pred_mode_flagの値が0であり、スケーリングリスト(scaling_list_data())の予測行列に関するシンタクス要素scaling_list_pred_matrix_id_deltaの値が0若しくは1であると判定された場合、処理はステップS462に進む。
  ステップS462において、シンタクス要素検査部421は、スライスヘッダ(slice_header())の、スライスタイプに関するシンタクス要素slice_typeの値がIスライスを示す値であるか否かを判定する。判定結果が真の場合、すなわち、スライスヘッダ(slice_header())の、スライスタイプに関するシンタクス要素slice_typeの値がIスライスを示す値であると判定された場合、処理はステップS463に進む。
  ステップS463において、シンタクス要素検査部421は、VCLに対するナルユニットタイプ(nal_unit_type)が、IDR_W_LP若しくはIDR_N_LPであるか否かを判定する。判定結果が真の場合、すなわち、VCLに対するナルユニットタイプ(nal_unit_type)が、IDR_W_LP若しくはIDR_N_LPであると判定された場合、処理はステップS464に進む。
  ステップS464において、シンタクス要素検査部421は、シンタクス要素が正常であると判定する。ステップS464の処理が終了すると、シンタクス要素検査処理が終了し、処理は、図42に戻る。
  また、図43のステップS451乃至ステップS463のいずれかにおいて、判定結果が偽であると判定された場合、処理はステップS465に進む。
  ステップS465において、シンタクス要素検査部421は、シンタクス要素が異常であると判定する。ステップS465の処理が終了すると、シンタクス要素検査処理が終了し、処理は、図42に戻る。
  もちろん、上述した各ステップの処理順は、任意であり、各ステップの処理順を入れ替えてもよいし、複数ステップの処理を並行して実行するようにしてもよい。
  また、上述した各検査の条件(各シンタクス要素の値の制限)は互いに独立しているので、上述したシンタクス要素群を全て検査しなければならないわけではなく、一部のシンタクス要素のみ検査するようにしてもよい。つまり、図43のシンタクス要素検査処理において上述した各ステップのうち、一部のステップの処理のみを実行するようにしてもよい。
  さらに、上述した例に含まれていないシンタクス要素の検査を追加するようにしてもよい。
  以上のように各処理を実行することにより、画像復号装置400は、シンタクス要素の設定の不正を検出することができ、より安全に復号処理を行うことができる。
  以上のように、本技術の適用範囲は、画像を符号化・復号するあらゆる画像符号化装置及び画像復号装置に適用することができる。
  また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれるイントラ予測装置にも適用することができる。
  <5.第5の実施の形態>
    <多視点画像符号化・多視点画像復号への適用>
  上述した一連の処理は、多視点画像符号化・多視点画像復号に適用することができる。図44は、多視点画像符号化方式の一例を示す。
  図44に示されるように、多視点画像は、複数の視点(ビュー(view))の画像を含む。この多視点画像の複数のビューは、他のビューの画像を利用せずに自身のビューの画像のみを用いて符号化・復号を行うベースビューと、他のビューの画像を利用して符号化・復号を行うノンベースビューとによりなる。ノンベースビューは、ベースビューの画像を利用するようにしても良いし、他のノンベースビューの画像を利用するようにしてもよい。
  図44のような多視点画像を符号化・復号する場合、各ビューの画像を符号化・復号するが、この各ビューの符号化・復号に対して、第1の実施の形態乃至第4の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各ビューの符号化効率の低減を抑制することができる。
  さらに、各ビューの符号化・復号において、第1の実施の形態乃至第4の実施の形態において上述した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、冗長な情報の伝送を抑制し、伝送する情報量(符号量)を低減することができる(つまり、符号化効率の低減を抑制することができる)。
  より具体的には、例えば、シーケンスパラメータセット、プロファイルティアレベル、ピクチャパラメータセット、スライスヘッダのシンタクス要素等を、各ビューの符号化・復号において共有するようにしてもよい。
  もちろん、これら以外の必要な情報も、各ビューの符号化・復号において共有するようにしてもよい。
    <多視点画像符号化装置>
  図45は、上述した多視点画像符号化を行う多視点画像符号化装置を示す図である。図45に示されるように、多視点画像符号化装置600は、符号化部601、符号化部602、および多重化部603を有する。
  符号化部601は、ベースビュー画像を符号化し、ベースビュー画像符号化ストリームを生成する。符号化部602は、ノンベースビュー画像を符号化し、ノンベースビュー画像符号化ストリームを生成する。多重化部603は、符号化部601において生成されたベースビュー画像符号化ストリームと、符号化部602において生成されたノンベースビュー画像符号化ストリームとを多重化し、多視点画像符号化ストリームを生成する。
  この多視点画像符号化装置600の符号化部601および符号化部602に対して、画像符号化装置100(図25)や画像符号化装置200(図31)を適用することができる。つまり、各ビューに対する符号化において、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限することができ、各ビューの符号化効率の低減を抑制することができる。また、符号化部601および符号化部602は、互いに同一のフラグやパラメータ(例えば、画像間の処理に関するシンタクス要素等)を用いて、符号化を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
    <多視点画像復号装置>
  図46は、上述した多視点画像復号を行う多視点画像復号装置を示す図である。図46に示されるように、多視点画像復号装置610は、逆多重化部611、復号部612、および復号部613を有する。
  逆多重化部611は、ベースビュー画像符号化ストリームとノンベースビュー画像符号化ストリームとが多重化された多視点画像符号化ストリームを逆多重化し、ベースビュー画像符号化ストリームと、ノンベースビュー画像符号化ストリームとを抽出する。復号部612は、逆多重化部611により抽出されたベースビュー画像符号化ストリームを復号し、ベースビュー画像を得る。復号部613は、逆多重化部611により抽出されたノンベースビュー画像符号化ストリームを復号し、ノンベースビュー画像を得る。
  この多視点画像復号装置610の復号部612および復号部613に対して、画像復号装置300(図34)や画像復号装置400(図39)を適用することができる。つまり、各ビューに対する復号において、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、受け取られた画像間の処理に関するシンタクス要素を、値が制限された状態で解析することができる。また、復号部612および復号部613は、互いに同一のフラグやパラメータ(例えば、画像間の処理に関するシンタクス要素等)を用いて、復号を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  <6.第6の実施の形態>
    <階層画像符号化・階層画像復号への適用>
  上述した一連の処理は、階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)に適用することができる。図47は、階層画像符号化方式の一例を示す。
  階層画像符号化(スケーラブル符号化)は、画像データを、所定のパラメータについてスケーラビリティ(scalability)機能を有するように、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化するものである。階層画像復号は、その階層画像符号化(スケーラブル復号)は、その階層画像符号化に対応する復号である。
  図47に示されるように、画像の階層化においては、スケーラビリティ機能を有する所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。つまり、階層化された画像(階層画像)は、その所定のパラメータの値が互いに異なる複数の階層(レイヤ)の画像を含む。この階層画像の複数のレイヤは、他のレイヤの画像を利用せずに自身のレイヤの画像のみを用いて符号化・復号を行うベースレイヤと、他のレイヤの画像を利用して符号化・復号を行うノンベースレイヤ(エンハンスメントレイヤとも称する)とによりなる。ノンベースレイヤは、ベースレイヤの画像を利用するようにしても良いし、他のノンベースレイヤの画像を利用するようにしてもよい。
  一般的に、ノンベースレイヤは、冗長性が低減されるように、自身の画像と、他のレイヤの画像との差分画像のデータ(差分データ)により構成される。例えば、1の画像をベースレイヤとノンベースレイヤ(エンハンスメントレイヤとも称する)に2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとノンベースレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
  このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
  図47の例のような階層画像を符号化・復号する場合、各レイヤの画像を符号化・復号するが、この各レイヤの符号化・復号に対して、第1の実施の形態乃至第4の実施の形態において上述した方法を適用するようにしてもよい。このようにすることにより、各レイヤの符号化効率の低減を抑制することができる。
  さらに、各レイヤの符号化・復号において、第1の実施の形態乃至第4の実施の形態において上述した方法において使用されるフラグやパラメータを共有するようにしてもよい。このようにすることにより、冗長な情報の伝送を抑制し、伝送する情報量(符号量)を低減することができる(つまり、符号化効率の低減を抑制することができる)。
  より具体的には、例えば、シーケンスパラメータセット、プロファイルティアレベル、ピクチャパラメータセット、スライスヘッダのシンタクス要素等を、各レイヤの符号化・復号において共有するようにしてもよい。
  もちろん、これら以外の必要な情報も、各レイヤの符号化・復号において共有するようにしてもよい。
    <スケーラブルなパラメータ>
  このような階層画像符号化・階層画像復号(スケーラブル符号化・スケーラブル復号)において、スケーラビリティ(scalability)機能を有するパラメータは、任意である。例えば、図48に示されるような空間解像度をそのパラメータとしてもよい(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に画像の解像度が異なる。つまり、図48に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
  また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、図49に示されるような、時間解像度を適用しても良い(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。つまり、この場合、図49に示されるように、互いに異なるフレームレートのレイヤに階層化されており、低フレームレートのレイヤに、高フレームレートのレイヤを加えることで、より高フレームレートの動画像を得ることができ、全てのレイヤを加えることで、元の動画像(元のフレームレート)を得ることができる。この階層数は一例であり、任意の階層数に階層化することができる。
  さらに、このようなスケーラビリティ性を持たせるパラメータとして、例えば、信号雑音比(SNR(Signal to Noise ratio))を適用しても良い(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。つまり、図50に示されるように、各ピクチャが、元の画像より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)がある。
    <階層画像符号化装置>
  図51は、上述した階層画像符号化を行う階層画像符号化装置を示す図である。図51に示されるように、階層画像符号化装置620は、符号化部621、符号化部622、および多重化部623を有する。
  符号化部621は、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。符号化部622は、ノンベースレイヤ画像を符号化し、ノンベースレイヤ画像符号化ストリームを生成する。多重化部623は、符号化部621において生成されたベースレイヤ画像符号化ストリームと、符号化部622において生成されたノンベースレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。
  この階層画像符号化装置620の符号化部621および符号化部622に対して、画像符号化装置100(図25)や画像符号化装置200(図31)を適用することができる。つまり、各レイヤに対する符号化において、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限することができ、各レイヤの符号化効率の低減を抑制することができる。また、符号化部621および符号化部622は、互いに同一のフラグやパラメータ(例えば、画像間の処理に関するシンタクス要素等)を用いて、イントラ予測のフィルタ処理の制御等を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
    <階層画像復号装置>
  図52は、上述した階層画像復号を行う階層画像復号装置を示す図である。図52に示されるように、階層画像復号装置630は、逆多重化部631、復号部632、および復号部633を有する。
  逆多重化部631は、ベースレイヤ画像符号化ストリームとノンベースレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを逆多重化し、ベースレイヤ画像符号化ストリームと、ノンベースレイヤ画像符号化ストリームとを抽出する。復号部632は、逆多重化部631により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。復号部633は、逆多重化部631により抽出されたノンベースレイヤ画像符号化ストリームを復号し、ノンベースレイヤ画像を得る。
  この階層画像復号装置630の復号部632および復号部633に対して、画像復号装置300(図34)や画像復号装置400(図39)を適用することができる。つまり、各レイヤに対する復号において、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、受け取られた画像間の処理に関するシンタクス要素を、値が制限された状態で解析することができ、各レイヤの符号化効率の低減を抑制することができる。また、復号部612および復号部613は、互いに同一のフラグやパラメータ(例えば、画像間の処理に関するシンタクス要素等)を用いて、復号を行うことができる(すなわち、フラグやパラメータを共有することができる)ので、符号化効率の低減を抑制することができる。
  また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる量子化装置若しくは逆量子化装置にも適用することができる。
  <7.第7の実施の形態>
    <コンピュータ>
  上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
  図53は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
  図53に示されるコンピュータ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つの応用例について説明する。
  <8.応用例>
    <第1の応用例:テレビジョン受像機>
  図54は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース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(図34)や画像復号装置400(図39)の機能を有する。それにより、テレビジョン装置900での画像の復号に際して、符号化効率の低減を抑制することができる。
    <第2の応用例:携帯電話機>
  図55は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機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は、上述した実施形態に係る画像符号化装置100(図25)、画像符号化装置200(図31)、画像復号装置300(図34)、画像復号装置400(図39)等の機能を有する。それにより、携帯電話機920での画像の符号化及び復号に際して、符号化効率の低減を抑制することができる。
    <第3の応用例:記録再生装置>
  図56は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
  記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
  チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ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において、エンコーダ943は、上述した実施形態に係る画像符号化装置100(図25)や画像符号化装置200(図31)等の機能を有する。また、デコーダ947は、上述した実施形態に係る、画像復号装置300(図34)や画像復号装置400(図39)等の機能を有する。それにより、記録再生装置940での画像の符号化及び復号に際して、符号化効率の低減を抑制することができる。
    <第4の応用例:撮像装置>
  図57は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
  撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
  光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
  光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
  信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
  画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
  OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
  外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送部としての役割を有する。
  メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
  制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
  ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
  このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る上述した実施形態に係る画像符号化装置100(図25)、画像符号化装置200(図31)、画像復号装置300(図34)、画像復号装置400(図39)等の機能を有する。それにより、撮像装置960での画像の符号化及び復号に際して、画質の低減を抑制することができる。
  <9.スケーラブル符号化の応用例>
    <第1のシステム>
  次に、スケーラブル符号化(階層(画像)符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図58に示される例のように、伝送するデータの選択のために利用される。
  図58に示されるデータ伝送システム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は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のような図58のようなデータ伝送システム1000においても、図47乃至図52を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図47乃至図52を参照して上述した効果と同様の効果を得ることができる。
    <第2のシステム>
  また、スケーラブル符号化は、例えば、図59に示される例のように、複数の通信媒体を介する伝送のために利用される。
  図59に示されるデータ伝送システム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は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
  そして、以上のような図59のようなデータ伝送システム1100においても、図47乃至図52を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図47乃至図52を参照して上述した効果と同様の効果を得ることができる。
    <第3のシステム>
  また、スケーラブル符号化は、例えば、図60に示される例のように、符号化データの記憶に利用される。
  図60に示される撮像システム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の用途は任意であり、監視カメラに限定されない。
  そして、以上の図60のような撮像システム1200においても、図47乃至図52を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図47乃至図52を参照して上述した効果と同様の効果を得ることができる。
  なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
  <10.第8の実施の形態>
    <実施のその他の例>
  以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
    <ビデオセット>
  本技術をセットとして実施する場合の例について、図61を参照して説明する。図61は、本技術を適用したビデオセットの概略的な構成の一例を示している。
  近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
  図61に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
  図61に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
  モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
  図61の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ1331、ビデオプロセッサ1332、ブロードバンドモデム1333、およびRFモジュール1334を有する。
  プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
  図61のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
  ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
  ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
  RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
  なお、図61において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
  外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
  パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
  フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図61に示されるように、フロントエンドモジュール1314は、例えば、アンテナ部1351、フィルタ1352、および増幅部1353を有する。
  アンテナ部1351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部1351は、増幅部1353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ1352に供給する。フィルタ1352は、アンテナ部1351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール1334に供給する。増幅部1353は、RFモジュール1334から供給されるRF信号を増幅し、アンテナ部1351に供給する。
  コネクティビティ1321は、外部との接続に関する機能を有するモジュールである。コネクティビティ1321の物理構成は、任意である。例えば、コネクティビティ1321は、ブロードバンドモデム1333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
  例えば、コネクティビティ1321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ1321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ1321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
  なお、コネクティビティ1321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ1321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ1321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
  カメラ1322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ1322の撮像により得られた画像データは、例えば、ビデオプロセッサ1332に供給されて符号化される。
  センサ1323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ1323により検出されたデータは、例えば、アプリケーションプロセッサ1331に供給されてアプリケーション等により利用される。
  以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
  以上のような構成のビデオセット1300において、後述するようにビデオプロセッサ1332に本技術を適用することができる。したがって、ビデオセット1300は、本技術を適用したセットとして実施することができる。
    <ビデオプロセッサの構成例>
  図62は、本技術を適用したビデオプロセッサ1332(図61)の概略的な構成の一例を示している。
  図62の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
  図62に示されるように、ビデオプロセッサ1332は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、フレームメモリ1405、およびメモリ制御部1406を有する。また、ビデオプロセッサ1332は、エンコード・デコードエンジン1407、ビデオES(Elementary Stream)バッファ1408Aおよび1408B、並びに、オーディオESバッファ1409Aおよび1409Bを有する。さらに、ビデオプロセッサ1332は、オーディオエンコーダ1410、オーディオデコーダ1411、多重化部(MUX(Multiplexer))1412、逆多重化部(DMUX(Demultiplexer))1413、およびストリームバッファ1414を有する。
  ビデオ入力処理部1401は、例えばコネクティビティ1321(図61)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321(図61)等に出力する。
  フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
  メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
  エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
  ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
  オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
  オーディオエンコーダ1410は、例えばコネクティビティ1321(図61)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321(図61)等に供給する。
  多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
  逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図61)から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により(図61)各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
  ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図61)等に供給する。
  また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321(図61)等に供給し、各種記録媒体に記録させる。
  さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等(いずれも図61)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  また、ストリームバッファ1414は、例えばコネクティビティ1321(図61)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
  次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321(図61)等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
  また、コネクティビティ1321(図61)等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
  ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図61)等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321(図61)等に出力され、各種記録媒体に記録される。
  また、例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図61)等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321(図61)等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
  オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
  このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した各実施形態に係る画像符号化装置や画像復号装置の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。
  なお、エンコード・デコードエンジン1407において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
    <ビデオプロセッサの他の構成例>
  図63は、本技術を適用したビデオプロセッサ1332(図61)の概略的な構成の他の例を示している。図63の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能とを有する。
  より具体的には、図63に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
  制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
  図63に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
  ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321(図61)等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321(図61)のモニタ装置等に出力する。
  ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
  画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
  内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
  コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
  図63に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
  MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
  MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
  メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
  多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
  ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321(いずれも図61)等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322(いずれも図61)等向けのインタフェースである。
  次に、このようなビデオプロセッサ1332の動作の例について説明する。例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図61)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図61)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321(図61)等に出力され、各種記録媒体に記録される。
  さらに、例えば、コネクティビティ1321(図61)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321(図61)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333(いずれも図61)等に供給され図示せぬ他の装置に伝送される。
  なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
  このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した各実施形態に係る画像符号化装置や画像復号装置を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。
  なお、コーデックエンジン1516において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
    <装置への適用例>
  ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図54)、携帯電話機920(図55)、記録再生装置940(図56)、撮像装置960(図57)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。
  また、ビデオセット1300は、例えば、図58のデータ伝送システム1000におけるパーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置、図59のデータ伝送システム1100における放送局1101および端末装置1102、並びに、図60の撮像システム1200における撮像装置1201およびスケーラブル符号化データ記憶装置1202等にも組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。
  なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。
  つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図54)、携帯電話機920(図55)、記録再生装置940(図56)、撮像装置960(図57)、図58のデータ伝送システム1000におけるパーソナルコンピュータ1004、AV機器1005、タブレットデバイス1006、および携帯電話機1007等の端末装置、図59のデータ伝送システム1100における放送局1101および端末装置1102、並びに、図60の撮像システム1200における撮像装置1201およびスケーラブル符号化データ記憶装置1202等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。
  <11.第9の実施の形態>
    <MPEG-DASHの応用例>
  なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えば、後述するMPEG DASH等のようなHTTPストリーミングのコンテンツ再生システムやWi-Fi規格の無線通信システムにも適用することができる。
    <コンテンツ再生システムの概要>
  まず、図64乃至図66を参照し、本技術を適用可能なコンテンツ再生システムについて概略的に説明する。
  以下では、まず、このような各実施形態において共通する基本構成について図64および図65を参照して説明する。
  図64は、コンテンツ再生システムの構成を示した説明図である。図64に示したように、コンテンツ再生システムは、コンテンツサーバ1610、1611と、ネットワーク1612と、コンテンツ再生装置1620(クライアント装置)とを備える。
  コンテンツサーバ1610、1611とコンテンツ再生装置1620は、ネットワーク1612を介して接続されている。このネットワーク1612は、ネットワーク1612に接続されている装置から送信される情報の有線、または無線の伝送路である。
  例えば、ネットワーク1612は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク1612は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
  コンテンツサーバ1610は、コンテンツデータを符号化し、符号化データおよび符号化データのメタ情報を含むデータファイルを生成して記憶する。なお、コンテンツサーバ1610がMP4形式のデータファイルを生成する場合、符号化データは「mdat」に該当し、メタ情報は「moov」に該当する。
  また、コンテンツデータは、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトウエアなどであってもよい。
  ここで、コンテンツサーバ1610は、同一コンテンツに関し、異なるビットレートで複数のデータファイルを生成する。またコンテンツサーバ1611は、コンテンツ再生装置1620からのコンテンツの再生要求に対して、コンテンツサーバ1610のURLの情報に、コンテンツ再生装置1620で当該URLに付加させるパラメータの情報を含めてコンテンツ再生装置1620に送信する。以下、図65を参照して当該事項について具体的に説明する。
  図65は、図64のコンテンツ再生システムにおけるデータの流れを示した説明図である。コンテンツサーバ1610は、同一のコンテンツデータを異なるビットレートで符号化し、図65に示したように例えば2MbpsのファイルA、1.5MbpsのファイルB、1MbpsのファイルCを生成する。相対的に、ファイルAはハイビットレートであり、ファイルBは標準ビットレートであり、ファイルCはロービットレートである。
  また、図65に示したように、各ファイルの符号化データは複数のセグメントに区分されている。例えば、ファイルAの符号化データは「A1」、「A2」、「A3」、・・・「An」というセグメントに区分されており、ファイルBの符号化データは「B1」、「B2」、「B3」、・・・「Bn」というセグメントに区分されており、ファイルCの符号化データは「C1」、「C2」、「C3」、・・・「Cn」というセグメントに区分されている。
  なお、各セグメントはMP4のシンクサンプル(たとえば、AVC/H.264の映像符号化ではIDR-ピクチャ)で始まる単独で再生可能な1または2以上の映像符号化データおよび音声符号化データより構成サンプルで構成されてもよい。例えば、一秒30フレームのビデオデータが15フレーム固定長のGOP(Group of Picture)にて符号化されていた場合、各セグメントは、4GOPに相当する2秒分の映像ならびに音声符号化データであっても、20GOPに相当する10秒分の映像ならびに音声符号化データであってもよい。
  また、各ファイルにおける配置順番が同一のセグメントによる再生範囲(コンテンツの先頭からの時間位置の範囲)は同一である。例えば、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は同一であり、各セグメントが2秒分の符号化データである場合、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は、いずれもコンテンツの2秒乃至4秒である。
  コンテンツサーバ1610は、このような複数のセグメントから構成されるファイルA乃至ファイルCを生成すると、ファイルA乃至ファイルCを記憶する。そして、コンテンツサーバ1610は、図65に示したように、異なるファイルを構成するセグメントをコンテンツ再生装置1620に順次に送信し、コンテンツ再生装置1620は、受信したセグメントをストリーミング再生する。
  ここで、本実施形態によるコンテンツサーバ1610は、各符号化データのビットレート情報およびアクセス情報を含むプレイリストファイル(以下、MPD:Media Presentation Description)をコンテンツ再生装置1620に送信し、コンテンツ再生装置1620は、MPDに基づき、複数のビットレートのうちのいずれかのビットレートを選択し、選択したビットレートに対応するセグメントの送信をコンテンツサーバ1610に要求する。
  図64では、1つのコンテンツサーバ1610のみが図示されているが、本開示は係る例に限定されないことは言うまでもない。
  図66は、MPDの具体例を示した説明図である。図66に示したように、MPDには、異なるビットレート(BANDWIDTH)を有する複数の符号化データに関するアクセス情報が含まれる。例えば、図66に示したMPDは、256Kbps、1.024Mbps、1.384Mbps、1.536Mbps、2.048Mbpsの各々の符号化データが存在することを示す共に、各符号化データに関するアクセス情報を含む。コンテンツ再生装置1620は、かかるMPDに基づき、ストリーミング再生する符号化データのビットレートを動的に変更することが可能である。
  なお、図64にはコンテンツ再生装置1620の一例として携帯端末を示しているが、コンテンツ再生装置1620はかかる例に限定されない。例えば、コンテンツ再生装置1620は、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、PDA(Personal Digital Assistants)、家庭用ゲーム機器、家電機器などの情報処理装置であってもよい。また、コンテンツ再生装置1620は、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、携帯用ゲーム機器などの情報処理装置であってもよい。
    <コンテンツサーバ1610の構成>
  以上、図64乃至図66を参照し、コンテンツ再生システムの概要を説明した。続いて、図67を参照し、コンテンツサーバ1610の構成を説明する。
  図67は、コンテンツサーバ1610の構成を示した機能ブロック図である。図67に示したように、コンテンツサーバ1610は、ファイル生成部1631と、記憶部1632と、通信部1633とを備える。
  ファイル生成部1631は、コンテンツデータを符号化するエンコーダ1641を備え、同一のコンテンツでビットレートが異なる複数の符号化データ、および上述したMPDを生成する。例えば、ファイル生成部1631は、256Kbps、1.024Mbps、1.384Mbps、1.536Mbps、2.048Mbpsの各々の符号化データを生成した場合、図66に示したようなMPDを生成する。
  記憶部1632は、ファイル生成部1631により生成されたビットレートが異なる複数の符号化データおよびMPDを記憶する。この記憶部1632は、不揮発性メモリ、磁気ディスク、光ディスク、およびMO(Magneto  Optical)ディスクなどの記憶媒体であってもよい。不揮発性メモリとしては、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、EPROM(Erasable Programmable ROM)があげられる。また、磁気ディスクとしては、ハードディスクおよび円盤型磁性体ディスクなどがあげられる。また、光ディスクとしては、CD(Compact Disc)、DVD-R(Digital Versatile Disc Recordable)およびBD(Blu-Ray Disc(登録商標))などがあげられる。
  通信部1633は、コンテンツ再生装置1620とのインタフェースであって、ネットワーク1612を介してコンテンツ再生装置1620と通信する。より詳細には、通信部1633は、HTTPに従ってコンテンツ再生装置1620と通信するHTTPサーバとしての機能を有する。例えば、通信部1633は、MPDをコンテンツ再生装置1620に送信し、HTTPに従ってコンテンツ再生装置1620からMPDに基づいて要求された符号化データを記憶部1632から抽出し、HTTPレスポンスとしてコンテンツ再生装置1620に符号化データを送信する。
    <コンテンツ再生装置1620の構成>
  以上、本実施形態によるコンテンツサーバ1610の構成を説明した。続いて、図68を参照し、コンテンツ再生装置1620の構成を説明する。
  図68は、コンテンツ再生装置1620の構成を示した機能ブロック図である。図68に示したように、コンテンツ再生装置1620は、通信部1651と、記憶部1652と、再生部1653と、選択部1654と、現在地取得部1656とを備える。
  通信部1651は、コンテンツサーバ1610とのインタフェースであって、コンテンツサーバ1610に対してデータを要求し、コンテンツサーバ1610からデータを取得する。より詳細には、通信部1651は、HTTPに従ってコンテンツ再生装置1620と通信するHTTPクライアントとしての機能を有する。例えば、通信部1651は、HTTP Rangeを利用することにより、コンテンツサーバ1610からMPDや符号化データのセグメントを選択的に取得することができる。
  記憶部1652は、コンテンツの再生に関する種々の情報を記憶する。例えば、通信部1651によりコンテンツサーバ1610から取得されるセグメントを順次にバッファリングする。記憶部1652にバッファリングされた符号化データのセグメントは、FIFO(First In First Out)で再生部1653へ順次に供給される。
  また記憶部1652は、後述のコンテンツサーバ1611から要求された、MPDに記述されているコンテンツのURLへのパラメータの付加指示に基づき、通信部1651でURLにパラメータを付加して、そのURLへアクセスするための定義を記憶する。
  再生部1653は、記憶部1652から供給されるセグメントを順次に再生する。具体的には、再生部1653は、セグメントのデコード、DA変換、およびレンダリングなどを行う。
  選択部1654は、MPDに含まれるいずれのビットレートに対応する符号化データのセグメントを取得するかを同一コンテンツ内で順次に選択する。例えば、選択部1654がネットワーク1612の帯域に応じてセグメント「A1」、「B2」、「A3」を順次に選択すると、図65に示したように、通信部1651がコンテンツサーバ1610からセグメント「A1」、「B2」、「A3」を順次に取得する。
  現在地取得部1656は、コンテンツ再生装置1620の現在の位置を取得するものであり、例えばGPS(Global Positioning System)受信機などの現在地を取得するモジュールで構成されていても良い。また現在地取得部1656は、無線ネットワークを使用してコンテンツ再生装置1620の現在の位置を取得するものであってもよい。
    <コンテンツサーバ1611の構成>
  図69は、コンテンツサーバ1611の構成例を示す説明図である。図69に示したように、コンテンツサーバ1611は、記憶部1671と、通信部1672とを備える。
  記憶部1671は、MPDのURLの情報を記憶する。MPDのURLの情報は、コンテンツの再生を要求するコンテンツ再生装置1620からの求めに応じ、コンテンツサーバ1611からコンテンツ再生装置1620へ送信される。また記憶部1671は、コンテンツ再生装置1620へのMPDのURLの情報を提供する際に、当該MPDに記述されているURLにコンテンツ再生装置1620でパラメータを付加させる際の定義情報を記憶する。
  通信部1672は、コンテンツ再生装置1620とのインタフェースであって、ネットワーク1612を介してコンテンツ再生装置1620と通信する。すなわち通信部1672は、コンテンツの再生を要求するコンテンツ再生装置1620から、MPDのURLの情報の要求を受信し、コンテンツ再生装置1620へMPDのURLの情報を送信する。通信部1672から送信されるMPDのURLには、コンテンツ再生装置1620でパラメータを付加させるための情報が含まれる。
  コンテンツ再生装置1620でMPDのURLに付加させるパラメータについては、コンテンツサーバ1611およびコンテンツ再生装置1620で共有する定義情報で様々に設定することが出来る。一例を挙げれば、コンテンツ再生装置1620の現在位置、コンテンツ再生装置1620を使用するユーザのユーザID、コンテンツ再生装置1620のメモリサイズ、コンテンツ再生装置1620のストレージの容量などの情報を、コンテンツ再生装置1620でMPDのURLに付加させることが出来る。
  以上のような構成のコンテンツ再生システムにおいて、図1乃至図43を参照して上述したような本技術を適用することにより、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。
  すなわち、コンテンツサーバ1610のエンコーダ1641は、上述した実施形態に係る画像符号化装置の機能を有する。また、コンテンツ再生装置1620の再生部1653は、上述した実施形態に係る画像復号装置の機能を有する。それにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
  また、コンテンツ再生システムにおいて、本技術により符号化されたデータを送受信することにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
  <12.第10の実施の形態>
    <Wi-Fi規格の無線通信システムの応用例>
  本技術を適用可能な無線通信システムにおける無線通信装置の基本動作例について説明する。
    <無線通信装置の基本動作例>
  最初に、P2P(Peer to Peer)接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信がなされる。
  次に、第2層で接続する前に、使用する特定のアプリケーションを指定してからP2P接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信がなされる。その後、第2層での接続後に、特定のアプリケーションを起動する場合の無線パケット送受信がなされる。
    <特定のアプリケーション動作開始時における通信例>
  図70および図71は、上述したP2P(Peer to Peer)接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信の例であり、無線通信の基礎となる各装置による通信処理例を示すシーケンスチャートである。具体的には、Wi-Fi Allianceにおいて標準化されているWi-Fiダイレクト(Direct)規格(Wi-Fi P2Pと呼ばれることもある)での接続に至るダイレクト接続の確立手順の一例を示す。
  ここで、Wi-Fiダイレクトでは、複数の無線通信装置が互いの存在を検出する(Device Discovery、Service Discovery)。そして、接続機器選択を行うとその選択された機器間において、WPS(Wi-Fi Protected Setup)で機器認証を行うことによりダイレクト接続を確立する。また、Wi-Fiダイレクトでは、複数の無線通信装置が親機(Group Owner)または子機(Client)の何れとしての役割を担うかを決定して通信グループを形成する。
  ただし、この通信処理例では、一部のパケット送受信については省略して示す。例えば、初回接続時には、上述したように、WPSを使うためのパケット交換が必要であり、AuthenticationRequest/Responseのやり取り等においてもパケット交換が必要となる。しかしながら、図70および図71では、これらのパケット交換についての図示を省略し、2回目以降の接続についてのみを示す。
  なお、図70および図71では、第1無線通信装置1701および第2無線通信装置1702間における通信処理例を示すが、他の無線通信装置間における通信処理についても同様である。
  最初に、第1無線通信装置1701および第2無線通信装置1702間においてDevice Discoveryが行われる(1711)。例えば、第1無線通信装置1701は、Probe request(応答要求信号)を送信し、このProbe requestに対するProbe response(応答信号)を第2無線通信装置1702から受信する。これにより、第1無線通信装置1701および第2無線通信装置1702は、互いの存在を発見することができる。また、Device Discoveryにより、相手のデバイス名や種類(TV、PC、スマートフォン等)を取得することができる。
  続いて、第1無線通信装置1701および第2無線通信装置1702間においてService Discoveryが行われる(1712)。例えば、第1無線通信装置1701は、Device Discoveryで発見した第2無線通信装置1702が対応しているサービスを問い合わせるService Discovery Queryを送信する。そして、第1無線通信装置1701は、Service Discovery Responseを第2無線通信装置1702から受信することにより、第2無線通信装置1702が対応しているサービスを取得する。すなわち、Service Discoveryにより、相手が実行可能なサービス等を取得することができる。相手が実行可能なサービスは、例えば、service、protocol(DLNA(Digital Living Network Alliance) DMR(Digital Media Renderer)等)である。
  続いて、ユーザにより接続相手の選択操作(接続相手選択操作)が行われる(1713)。この接続相手選択操作は、第1無線通信装置1701および第2無線通信装置1702の何れか一方のみに発生することもある。例えば、第1無線通信装置1701の表示部に接続相手選択画面が表示され、この接続相手選択画面において接続相手として第2無線通信装置1702がユーザ操作により選択される。
  ユーザにより接続相手選択操作が行われると(1713)、第1無線通信装置1701および第2無線通信装置1702間においてGroup Owner Negotiationが行われる(1714)。図70および図71では、Group Owner Negotiationの結果により、第1無線通信装置1701がグループオーナー(Group Owner)1715になり、第2無線通信装置1702がクライアント(Client)1716になる例を示す。
  続いて、第1無線通信装置1701および第2無線通信装置1702間において、各処理(1717乃至1720)が行われることにより、ダイレクト接続が確立される。すなわち、Association(L2(第2層) link確立)(1717)、Secure link確立(1718)が順次行われる。また、IP Address Assignment(1719)、SSDP(Simple Service Discovery Protocol)等によるL3上でのL4 setup(1720)が順次行われる。なお、L2(layer2)は、第2層(データリンク層)を意味し、L3(layer3)は、第3層(ネットワーク層)を意味し、L4(layer4)は、第4層(トランスポート層)を意味する。
  続いて、ユーザにより特定のアプリケーションの指定または起動操作(アプリ指定・起動操作)が行われる(1721)。このアプリ指定・起動操作は、第1無線通信装置1701および第2無線通信装置1702の何れか一方のみに発生することもある。例えば、第1無線通信装置1701の表示部にアプリ指定・起動操作画面が表示され、このアプリ指定・起動操作画面において特定のアプリケーションがユーザ操作により選択される。
  ユーザによりアプリ指定・起動操作が行われると(1721)、このアプリ指定・起動操作に対応する特定のアプリケーションが第1無線通信装置1701および第2無線通信装置1702間において実行される(1722)。
  ここで、Wi-Fi Direct規格以前の仕様(IEEE802.11で標準化された仕様)の範囲内で、AP(Access Point)-STA(Station)間の接続を行う場合を想定する。この場合には、第2層で接続する前(IEEE802.11用語ではassociation前)には、どのようなデバイスと繋ごうとしているのかを事前に知ることができなかった。
  これに対して、図70および図71に示すように、Wi-Fi Directでは、Device discoveryやService Discovery(option)において、接続候補相手を探す際に、接続相手の情報を取得することができる。この接続相手の情報は、例えば、基本的なデバイスのタイプや、対応している特定のアプリケーション等である。そして、その取得された接続相手の情報に基づいて、ユーザに接続相手を選択させることができる。
  この仕組みを拡張して、第2層で接続する前に特定のアプリケーションを指定して、接続相手を選択し、この選択後に、自動的に特定のアプリケーションを起動させる無線通信システムを実現することも可能である。このような場合の接続に至るシーケンスの一例を、図73に示す。また、この通信処理において送受信されるフレームフォーマット(frame format)の構成例を図72に示す。
    <フレームフォーマットの構成例>
  図72は、本技術の基礎となる各装置による通信処理において送受信されるフレームフォーマット(frame format)の構成例を模式的に示す図である。すなわち、図72には、第2層での接続を確立するためのMAC frameの構成例を示す。具体的には、図73に示すシーケンスを実現するためのAssociation Request/Response(1787)のフレームフォーマットの一例である。
  図72に示されるように、MAC frameは、Frame Control(1751)乃至FCS(1758)よりなり、その内、Frame Control(1751)からSequence Control(1756)までは、MACヘッダである。また、Association Requestを送信する際には、Frame Control(1751)において、B3B2="0b00"、かつ、B7B6B5B4="0b0000"が設定される。また、Association Responseをencapsulateする際には、Frame Control(1751)において、B3B2="0b00"、かつ、B7B6B5B4="0b0001"が設定される。なお、「0b00」は、2進法で「00」であることを示し、「0b0000」は、2進法で「0000」であることを示し、「0b0001」は、2進法で「0001」であることを示す。
  ここで、図70に示すMAC frame(Frame body(1757))は、基本的には、IEEE802.11-2007仕様書section7.2.3.4節と7.2.3.5節に記載のAssociation Request/Responseframe formatである。ただし、IEEE802.11仕様書内で定義されているInformation Element(以下、IEと省略)(1759)だけでなく、独自に拡張したIEを含めている点が異なる。
  また、Vendor Specific IE(1760)であることを示すため、IE Type(Information Element ID(1761))には、10進数で127がセットされる。この場合、IEEE802.11-2007仕様7.3.2.26節により、Lengthフィールド(1762)と、OUIフィールド(1763)が続き、この後にvendor specific content(1764)が配置される。
  Vendor specific content(1764)の内容としては、最初にvendor specific IEのtypeを示すフィールド(IE type(1765))を設ける。そして、この後に、複数のsubelement(1766)を格納することができる構成とすることが考えられる。
  subelement(1766)の内容として、使われるべき特定のアプリケーションの名称(1767)や、その特定のアプリケーション動作時のデバイスの役割(1768)を含めることが考えられる。また、特定のアプリケーション、または、その制御のために使われるポート番号等の情報(L4セットアップのための情報)(1769)や、特定のアプリケーション内でのCapabilityに関する情報(Capability情報)(1770)を含めることが考えられる。ここで、Capability情報は、例えば、指定する特定のアプリケーションがDLNAの場合に、音声送出/再生に対応している、映像送出/再生に対応している等を特定するための情報である。
  以上のような構成の無線通信システムにおいて、図1乃至図43を参照して上述したような本技術を適用することにより、図1乃至図43を参照して上述した効果と同様の効果を得ることができる。すなわち、符号化・復号に必要な記憶容量の増大を抑制することができる。また、上述した無線通信システムにおいて、本技術により符号化されたデータを送受信することにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
  また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
  以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
  なお、本技術は以下のような構成も取ることができる。
  (1)  静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限する制限部と、
  前記制限部により値が制限された前記シンタクス要素を伝送する伝送部と
  を備える画像処理装置。
  (2)  前記制限部により制限された前記シンタクス要素を用いて、画像データを符号化し、ビットストリームを生成する符号化部をさらに備え、
  前記伝送部は、前記符号化部で生成された前記ビットストリームをさらに伝送する
  (1)、(3)乃至(7)のいずれかに記載の画像処理装置。
  (3)  前記シンタクス要素は、前記ビットストリームのシーケンスパラメータセットに格納される
  (1)、(2)、(4)乃至(7)のいずれかに記載の画像処理装置。
  (4)  前記シンタクス要素は、参照ピクチャに関するシンタクスである
  (1)乃至(3)、(5)乃至(7)のいずれかに記載の画像処理装置。
  (5)  前記シンタクス要素は、参照ピクチャの枚数に関するシンタクスである
  (1)乃至(4)、(6)、(7)のいずれかに記載の画像処理装置。
  (6)  前記制限部は、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、前記シンタクス要素の値を所定の値とする
  (1)乃至(5)、(7)のいずれかに記載の画像処理装置。
  (7)  前記所定値とは0である
  (1)乃至(6)のいずれかに記載の画像処理装置。
  (8)  静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限し、
  値が制限された前記シンタクス要素を伝送する
  画像処理方法。
  (9)  さらに、制限された前記シンタクス要素を用いて、画像データを符号化し、ビットストリームを生成し、伝送する
  を備える(8)、(10)乃至(14)のいずれかに記載の画像処理方法。
  (10)  前記シンタクス要素は、前記ビットストリームのシーケンスパラメータセットに格納される
  (8)、(9)、(11)乃至(14)のいずれかに記載の画像処理方法。
  (11)  前記シンタクス要素は、参照ピクチャに関するシンタクスである
  (8)乃至(10)、(12)乃至(14)のいずれかに記載の画像処理方法。
  (12)  前記シンタクス要素は、参照ピクチャの枚数に関するシンタクスである
  (8)乃至(11)、(13)、(14)のいずれかに記載の画像処理方法。
  (13)  静止画像を符号化するためのプロファイルにより符号化処理を行う場合、前記シンタクス要素の値を所定の値とする
  (8)乃至(12)、(14)のいずれかに記載の画像処理方法。
  (14)  前記所定値とは0である
  (8)乃至(13)のいずれかに記載の画像処理方法。
  100  画像符号化装置,  106  可逆符号化部,  121  プロファイル設定部,  131  シンタクス要素設定部,  132  符号化部,  200  画像符号化装置,  211  判定部,  300  画像復号装置,  302  可逆復号部,  321  プロファイル判定部,  331  復号部,  332  シンタクス要素解析部,  400  画像復号装置,  411  異常処理部,  421  シンタクス要素検査部

Claims (14)

  1.   静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限する制限部と、
      前記制限部により値が制限された前記シンタクス要素を伝送する伝送部と
      を備える画像処理装置。
  2.   前記制限部により制限された前記シンタクス要素を用いて、画像データを符号化し、ビットストリームを生成する符号化部をさらに備え、
      前記伝送部は、前記符号化部で生成された前記ビットストリームをさらに伝送する
      請求項1に記載の画像処理装置。
  3.   前記シンタクス要素は、前記ビットストリームのシーケンスパラメータセットに格納される
      請求項2に記載の画像処理装置。
  4.   前記シンタクス要素は、参照ピクチャに関するシンタクスである
      請求項3に記載の画像処理装置。
  5.   前記シンタクス要素は、参照ピクチャの枚数に関するシンタクスである
      請求項3に記載の画像処理装置。
  6.   前記制限部は、静止画像を符号化するためのプロファイルにより符号化処理を行う場合、前記シンタクス要素の値を所定の値とする
      請求項1に記載の画像処理装置。
  7.   前記所定値とは0である
      請求項6に記載の画像処理装置。
  8.   静止画像を符号化するためのプロファイルにより符号化処理を行う場合、画像間の処理に関するシンタクス要素の値を制限し、
      値が制限された前記シンタクス要素を伝送する
      画像処理方法。
  9.   さらに、制限された前記シンタクス要素を用いて、画像データを符号化し、ビットストリームを生成し、伝送する
      請求項8に記載の画像処理方法。
  10.   前記シンタクス要素は、前記ビットストリームのシーケンスパラメータセットに格納される
      請求項9に記載の画像処理方法。
  11.   前記シンタクス要素は、参照ピクチャに関するシンタクスである
      請求項10に記載の画像処理方法。
  12.   前記シンタクス要素は、参照ピクチャの枚数に関するシンタクスである
      請求項10に記載の画像処理方法。
  13.   静止画像を符号化するためのプロファイルにより符号化処理を行う場合、前記シンタクス要素の値を所定の値とする
      請求項8に記載の画像処理方法。
  14.   前記所定値とは0である
      請求項13に記載の画像処理方法。
PCT/JP2013/081345 2012-11-30 2013-11-21 画像処理装置および方法 WO2014084109A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
MX2015006474A MX357870B (es) 2012-11-30 2013-11-21 Dispositivo y metodo de procesamiento de imagenes.
JP2014550149A JPWO2014084109A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法
EP13858705.0A EP2928195A4 (en) 2012-11-30 2013-11-21 DEVICE AND METHOD FOR PROCESSING IMAGES
RU2015119571A RU2663341C2 (ru) 2012-11-30 2013-11-21 Устройство обработки изображений и способ
KR1020157013424A KR20150092120A (ko) 2012-11-30 2013-11-21 화상 처리 장치 및 방법
US14/442,212 US10841618B2 (en) 2012-11-30 2013-11-21 Image processing device and method
BR112015011914A BR112015011914A2 (pt) 2012-11-30 2013-11-21 dispositivo e método de processamento de imagem
CN201380061209.2A CN104838659B (zh) 2012-11-30 2013-11-21 图像处理装置及方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012-263811 2012-11-30
JP2012263811 2012-11-30
JP2013-002877 2013-01-10
JP2013002877 2013-01-10

Publications (1)

Publication Number Publication Date
WO2014084109A1 true WO2014084109A1 (ja) 2014-06-05

Family

ID=50827747

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2013/081345 WO2014084109A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法
PCT/JP2013/081344 WO2014084108A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/081344 WO2014084108A1 (ja) 2012-11-30 2013-11-21 画像処理装置および方法

Country Status (9)

Country Link
US (2) US10834426B2 (ja)
EP (2) EP2928195A4 (ja)
JP (3) JPWO2014084109A1 (ja)
KR (2) KR20150092120A (ja)
CN (2) CN104838659B (ja)
BR (2) BR112015011914A2 (ja)
MX (2) MX353544B (ja)
RU (2) RU2663341C2 (ja)
WO (2) WO2014084109A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146788B2 (en) 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11201605217VA (en) * 2013-12-26 2016-07-28 Univ Singapore Technology & Design A method and apparatus for reducing data bandwidth between a cloud server and a thin client
US11134254B2 (en) * 2014-04-25 2021-09-28 Sony Corporation Transmission apparatus, transmission method, reception apparatus, and reception method
US20160021375A1 (en) * 2014-07-16 2016-01-21 Qualcomm Incorporated Transport stream for carriage of video coding extensions
KR102518817B1 (ko) * 2015-04-23 2023-04-06 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10593066B1 (en) * 2017-09-29 2020-03-17 A9.Com, Inc. Compression of multi-dimensional object representations
JP7154833B2 (ja) 2018-06-20 2022-10-18 キヤノン株式会社 通信装置、通信方法、およびプログラム
JP7118764B2 (ja) * 2018-06-20 2022-08-16 キヤノン株式会社 通信装置、制御方法、およびプログラム
CN110958459B (zh) * 2018-09-26 2022-06-03 阿里巴巴集团控股有限公司 一种数据处理方法及其装置
CN115244938A (zh) * 2020-01-13 2022-10-25 Lg电子株式会社 基于预测加权表对图像/视频进行编译的方法和装置
AR121126A1 (es) 2020-02-29 2022-04-20 Beijing Bytedance Network Tech Co Ltd Señalización de elementos de sintaxis para indicación de imagen de referencia
KR20230015392A (ko) * 2020-05-22 2023-01-31 엘지전자 주식회사 Gci를 시그널링하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 컴퓨터 판독 가능한 기록 매체
JP2023529191A (ja) * 2020-06-08 2023-07-07 テレフオンアクチーボラゲット エルエム エリクソン(パブル) ビデオビットストリーム内の第1のピクチャを復号する能力の判定

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
US7379498B2 (en) * 2002-03-11 2008-05-27 Broadcom Corporation Reconstructing a compressed still image by transformation to a compressed moving picture image
JP4931034B2 (ja) * 2004-06-10 2012-05-16 株式会社ソニー・コンピュータエンタテインメント 復号装置および復号方法、並びに、プログラムおよびプログラム記録媒体
EP1843322A1 (en) * 2005-01-06 2007-10-10 Mitsubishi Electric Corporation Video display apparatus
JP2007013436A (ja) 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
EP1928184B1 (en) * 2005-09-20 2017-09-27 Mitsubishi Electric Corporation Image encoding apparatus, image encoding method
JP2007201721A (ja) 2006-01-25 2007-08-09 Victor Co Of Japan Ltd 符号化データ生成装置
WO2007094100A1 (ja) * 2006-02-13 2007-08-23 Kabushiki Kaisha Toshiba 動画像符号化/復号化方法及び装置並びにプログラム
CN101627634B (zh) * 2006-10-16 2014-01-01 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法
US20090141809A1 (en) * 2007-12-04 2009-06-04 Sony Corporation And Sony Electronics Inc. Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in parallel with video
US8170097B2 (en) 2007-12-04 2012-05-01 Sony Corporation Extension to the AVC standard to support the encoding and storage of high resolution digital still pictures in series with video
JP5183309B2 (ja) * 2008-06-11 2013-04-17 キヤノン株式会社 映像復号化装置及び方法
TW201032597A (en) * 2009-01-28 2010-09-01 Nokia Corp Method and apparatus for video coding and decoding
US9813705B2 (en) * 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
US9491487B2 (en) * 2012-09-25 2016-11-08 Apple Inc. Error resilient management of picture order count in predictive coding systems
WO2014170547A1 (en) * 2013-04-17 2014-10-23 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"Advanced video coding for generic audiovisual services", RECOMMENDATION ITU-T H.264, January 2012 (2012-01-01), pages 287 - 288, XP017578118 *
BENJAMIN BROSS; WOO-JIN HAN; JENS-RAINER OHM; GARY J. SULLIVAN; THOMAS WIEGAND: "High efficiency video coding (HEVC) text specification draft 8", JCTVC-HL003-D7, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, 11 July 2012 (2012-07-11)
KEMAL UGUR ET AL.: "On still picture profile", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING, 11 July 2012 (2012-07-11) - 20 July 2012 (2012-07-20), STOCKHOLM, SE, XP030053691 *
KEMAL UGUR; JANI LAINEMA; MISKA HANNUKSELA: "On still picture profile", JCTVC-J0037, JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 ANDISO/IEC JTC1/SC29/WG11,10THMEETING, 11 July 2012 (2012-07-11)
See also references of EP2928195A4
WEI DAI ET AL.: "IN SUPPORT OF A STILL IMAGE PROFILE OF HEVC V1", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG 16 WP3 AND ISO/IEC JTC1/SC29/ WG11 10TH MEETING, 10 October 2012 (2012-10-10) - 19 October 2012 (2012-10-19), SHANGHAI, CN, XP030054966 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11146788B2 (en) 2015-06-12 2021-10-12 Qualcomm Incorporated Grouping palette bypass bins for video coding

Also Published As

Publication number Publication date
MX2015006474A (es) 2015-08-14
EP2942966A4 (en) 2016-05-25
KR20150092119A (ko) 2015-08-12
BR112015011913A2 (pt) 2017-07-11
US10841618B2 (en) 2020-11-17
MX357870B (es) 2018-07-27
US20160286239A1 (en) 2016-09-29
WO2014084108A1 (ja) 2014-06-05
BR112015011914A2 (pt) 2017-07-11
US10834426B2 (en) 2020-11-10
MX353544B (es) 2018-01-18
CN104813670A (zh) 2015-07-29
KR20150092120A (ko) 2015-08-12
RU2015119570A (ru) 2016-12-10
RU2651201C2 (ru) 2018-04-18
US20160286238A1 (en) 2016-09-29
EP2928195A1 (en) 2015-10-07
RU2015119571A (ru) 2016-12-10
MX2015006473A (es) 2015-08-14
JPWO2014084108A1 (ja) 2017-01-05
EP2942966A1 (en) 2015-11-11
JPWO2014084109A1 (ja) 2017-01-05
JP2018121336A (ja) 2018-08-02
CN104838659B (zh) 2019-09-10
EP2928195A4 (en) 2016-06-01
RU2663341C2 (ru) 2018-08-03
CN104838659A (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
US11503321B2 (en) Image processing device for suppressing deterioration in encoding efficiency
US11245925B2 (en) Image processing apparatus and image processing method
US10075719B2 (en) Image coding apparatus and method
WO2014084109A1 (ja) 画像処理装置および方法
JP6607414B2 (ja) 画像符号化装置および方法
US12022116B2 (en) Image processing apparatus and image processing method

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: 13858705

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014550149

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2013858705

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14442212

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20157013424

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2015119571

Country of ref document: RU

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: MX/A/2015/006474

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015011914

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112015011914

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20150522