WO2015133325A1 - 画像符号化装置および方法、並びに、画像処理装置および方法 - Google Patents

画像符号化装置および方法、並びに、画像処理装置および方法 Download PDF

Info

Publication number
WO2015133325A1
WO2015133325A1 PCT/JP2015/055142 JP2015055142W WO2015133325A1 WO 2015133325 A1 WO2015133325 A1 WO 2015133325A1 JP 2015055142 W JP2015055142 W JP 2015055142W WO 2015133325 A1 WO2015133325 A1 WO 2015133325A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
image
picture
bitstream
stream
Prior art date
Application number
PCT/JP2015/055142
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 EP19157523.2A priority Critical patent/EP3518541B1/en
Priority to KR1020167021257A priority patent/KR102307283B1/ko
Priority to JP2016506433A priority patent/JP6468279B2/ja
Priority to EP15758960.7A priority patent/EP3116230B1/en
Priority to CN201580011410.9A priority patent/CN106063275B/zh
Priority to US15/114,301 priority patent/US10375406B2/en
Publication of WO2015133325A1 publication Critical patent/WO2015133325A1/ja
Priority to US16/414,133 priority patent/US10764594B2/en

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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Definitions

  • the present disclosure relates to an image encoding apparatus and method, and an image processing apparatus and method, and in particular, an image encoding apparatus and method, and an image processing apparatus and method that can combine bitstreams more easily. About.
  • one bit stream is generated from a plurality of bit streams.
  • a method of decoding all the bitstreams to be in an uncompressed state and combining them, and encoding the combined moving images to generate one bitstream can be considered.
  • the processing load may increase.
  • smart rendering editing has been considered as a technique that shortens the encoding time and does not degrade the image quality when the encoded moving image data is cut out and edited with frame accuracy (for example, Patent Document 1 and Patent Document 1). 2).
  • This disclosure has been made in view of such a situation, and makes it possible to combine bitstreams more easily.
  • a setting unit that sets header information about a virtual reference decoder based on information about a position and information about a reference of a current picture that is a processing target of image data, and encodes the image data
  • the setting unit can set information indicating the null unit type.
  • the setting unit can further set information indicating the combination of bitstreams.
  • the setting unit can further set information indicating a difference in position between the access unit at the end of the bitstream and a prebun non-discardable picture.
  • the setting unit when the current picture is a leading picture, sets the information indicating the null unit type to a value indicating an IDR picture, sets the information indicating the bitstream combination to true, Information indicating a difference in position between the access unit at the end of the bit stream and the prebun non-discardable picture can be set to a minimum value.
  • the setting unit sets the information indicating the null unit type to a value indicating a referenced trailing picture that is not a temporal sublayer, and combines the bitstreams. It is possible to set the information indicating to false and to set the information indicating the difference in position between the access unit at the end of the bitstream and the preb non-discardable picture to a minimum value.
  • the setting unit sets the information indicating the null unit type to a value indicating a reference trailing picture that is not a temporal sublayer when the current picture is neither a head nor a terminal and is a reference picture.
  • the information indicating the combination of the bitstreams can be set to false, and the information indicating the position difference between the access unit at the end of the bitstream and the preb non-discardable picture can be set to the minimum value.
  • the setting unit sets the information indicating the null unit type to a value indicating a non-reference picture that is not a temporal sublayer when the current picture is neither a head nor an end and a reference picture, and the bit Information indicating the combination of streams can be set to false, and the information indicating the position difference between the access unit at the end of the bitstream and the preb non-discardable picture can be set to a minimum value.
  • a rate control unit configured to set a code amount target value based on information regarding the position of the current picture, information indicating whether the virtual reference decoder is being adjusted, and information indicating a generated code amount; Can be provided.
  • One aspect of the present technology is also configured to set header information related to a virtual reference decoder based on information related to a position and information related to a reference of a current picture that is a processing target of image data, encode the image data, and This is an image encoding method for generating a bit stream including encoded data of image data and set header information.
  • Another aspect of the present technology updates header information regarding a virtual reference decoder included in a bitstream including encoded data obtained by encoding image data so that the bitstream can be combined with another bitstream.
  • An image processing apparatus including an update unit.
  • the update unit is configured to make the relationship between the position of the encoded picture buffer at the end of the combined bitstream and the position of the encoded picture buffer at the beginning of the combined bitstream appropriate. Can be re-encoded.
  • the update unit can update the information indicating the null unit type at the end of the bitstream to a value corresponding to the prebunon discardable picture.
  • the update unit can update information related to reading from the encoded picture buffer to a value suitable for bitstream combination.
  • the updating unit may search for a prebnon discardable picture at the end of the bitstream, and update a position difference between the access unit at the end of the bitstream and the prebnon discardable picture based on a search result. it can.
  • the update unit can update information on reading from the encoded picture buffer and the decoded picture buffer at the end of the bit stream to a value suitable for the combination of the bit streams.
  • the update unit can update information on reading from the encoded picture buffer and the decoded picture buffer at the head of the bit stream to a value suitable for the combination of the bit streams.
  • the update unit converts information indicating the read delay from the encoded picture buffer of the head access unit of the combined bitstream into information indicating the read delay from the encoded picture buffer at the end of the combined bitstream. Can be updated to a value based on.
  • It may further include a combining unit that combines the bit stream updated by the updating unit with another bit stream.
  • Another aspect of the present technology also enables header information regarding a virtual reference decoder included in a bitstream including encoded data obtained by encoding image data to be combined with the bitstream with the other bitstream. This is an image processing method to be updated.
  • header information related to a virtual reference decoder is set based on information related to a position and information related to a reference of a current picture that is a processing target of image data, the image data is encoded, and the image data A bit stream including the encoded data and the set header information is generated.
  • header information regarding a virtual reference decoder included in a bitstream including encoded data obtained by encoding image data is updated so that the bitstream can be combined with another bitstream. Is done.
  • image data can be encoded or processed.
  • bitstreams can be combined more easily.
  • FIG. 20 is a block diagram illustrating a main configuration example of a computer. It is a block diagram which shows an example of a schematic structure of a television apparatus. It is a block diagram which shows an example of a schematic structure of a mobile telephone.
  • First Embodiment> ⁇ Smart rendering editing> Conventionally, in editing of moving images, there is editing that combines a plurality of moving images. In general, moving image data having a large data size in digital signal processing is often used after being encoded (compressed). Examples of general-purpose encoding methods for image data include MPEG (Moving Picture Experts Group), AVC (Advanced Video Coding), HEVC (High Efficiency Video Coding), and the like.
  • MPEG Motion Picture Experts Group
  • AVC Advanced Video Coding
  • HEVC High Efficiency Video Coding
  • one bit stream is generated from a plurality of bit streams.
  • a method of decoding all the bitstreams to be in an uncompressed state and combining them, and encoding the combined moving images to generate one bitstream can be considered.
  • the processing load may increase.
  • smart rendering is a technique that shortens the encoding time and does not deteriorate the image quality when the encoded moving image data is cut out and edited with frame accuracy. Editing was considered.
  • FIG. 1 shows an example in which bit streams in which image data is encoded by AVC are combined.
  • FIG. 1A shows an example of parameters (for example, parameters related to a virtual reference decoder) for a frame of a part of each bit stream (stream A, stream B) before the combination (in the vicinity of the connected portion). Yes.
  • the head of stream B is connected to the end of stream A.
  • FIG. 1B shows an example of parameters (for example, parameters related to a virtual reference decoder) for a frame of a part of the stream A + B (near the connected part) of the combined bit stream. .
  • the stream A used for such a combination is also referred to as a bit stream (stream) to be combined and a bit stream (stream) to combine the stream B.
  • the first CpbRemovalDelay of the stream B (StreamB) that is the bit stream to be combined is represented by CpbRemovalDelay + 1 at the end of the stream A (StreamA) that is the bitstream to be combined. It is necessary to. For this purpose, the user must check the CpbRemovalDelay at the end of the stream A (StreamA) and update the CpbRemovalDelay at the beginning of the stream B (StreamB), which requires complicated work.
  • FIG. 2 shows an example in which bit streams in which image data is encoded by HEVC are combined.
  • a in FIG. 2 is a parameter (for example, a virtual reference decoder) regarding a frame of a part of a bit stream (stream A, stream B) before the combination (in the vicinity of the connected part), similar to A in FIG. An example of parameters) is shown.
  • the coupling in FIG. 2 is performed in the same manner as in FIG. That is, the beginning of stream B is connected to the end of stream A.
  • B in FIG. 2 is a parameter (for example, a parameter related to a virtual reference decoder) regarding a frame of a part of the stream A + B that is a combined bit stream (in the vicinity of the connected part) as in FIG. Etc.).
  • concatenation_flag was added to Buffering Period SEI (Supplemental Enhancement Information) for the purpose of easily combining bitstreams.
  • concatenation_flag 1 indicates that bitstreams are combined, and the calculation method of AuNominalRemovalTime that represents the extraction timing of Cpb (Coded Picture Buffer (encoded picture buffer)) is changed.
  • the feature is that au_cpb_removal_delay_minus1 shown in Picture
  • bitstreams can be easily combined by using concatenation_flag. However, it is not always possible to combine bitstreams in this way.
  • FIG. 4 is an example in the case where reordering including a B picture (B-picture) occurs in the combination of AVC bitstreams.
  • 4A is a parameter (for example, a virtual reference decoder) for a frame of a part of the bitstreams (stream A and stream B) before the combination (in the vicinity of the connected part) as in FIG. 1A.
  • An example of parameters) is shown.
  • 4B is a parameter (for example, a parameter related to the virtual reference decoder) for a frame of a part of the stream A + B that is the combined bit stream (in the vicinity of the connected part) as in FIG. 1B. Etc.).
  • the bit streams can be combined by the same processing as in FIG.
  • FIG. 5 shows an example in that case.
  • 5A is a parameter (for example, a virtual reference decoder) for a frame of a part of the bit streams (stream A and stream B) before the combination (in the vicinity of the connected part), as in FIG. 2A.
  • An example of parameters is shown.
  • B in FIG. 5 is a parameter (for example, a parameter related to a virtual reference decoder) for a frame of a part of the stream A + B (in the vicinity of the connected part) of the combined bit stream, as in FIG. Etc.).
  • bitstreams can be more easily combined by appropriately setting syntax before combining bitstreams in HEVC.
  • Image encoding device For example, when encoding image data, header information related to a virtual reference decoder is set based on information related to position and information related to the current picture that is the processing target of the image data, and the image data is encoded. A bit stream including the encoded data and the set header information is generated.
  • the header information means that for each layer (sequence / picture / slice / tile / maximum coding unit / coding unit, etc.), the parsing (referencing) information or data in each layer prior to the data set in each layer This means the parse (reference) information independently of the set data.
  • video parameter set VPS (Video Parameter Set)
  • sequence parameter set SPS (Sequence Parameter Set)
  • picture parameter set PPS (Picture Parameter Set)
  • slice header Slice Header
  • null unit type null unit type
  • null unit type null unit type
  • SEI Supplementplemental Enhancement Information
  • the header information includes not only information explicitly defined as the syntax of the bitstream but also information located at the head of each layer.
  • FIG. 6 is a block diagram illustrating an example of a configuration of an image encoding device that is an aspect of an image processing device to which the present technology is applied.
  • the image encoding apparatus 100 illustrated in FIG. 6 encodes moving image image data using, for example, HEVC prediction processing or prediction processing based on the HEVC prediction processing.
  • the image encoding device 100 includes a screen rearrangement buffer 111, a calculation unit 112, an orthogonal transformation unit 113, a quantization unit 114, a lossless encoding unit 115, a storage buffer 116, an inverse quantization unit 117, And an inverse orthogonal transform unit 118.
  • the image encoding device 100 includes a calculation unit 119, an intra prediction unit 120, a loop filter 121, a frame memory 122, an inter prediction unit 123, and a predicted image selection unit 124.
  • the image encoding device 100 includes a rate control unit 125 and a nal_unit_type determination unit 126.
  • the screen rearrangement buffer 111 stores the images of the frames of the input image data in the display order, and the images of the frames in the stored display order are encoded for encoding according to GOP (Group Of Picture). The images are rearranged in the order of the frames, and the image in which the order of the frames is rearranged is supplied to the calculation unit 112. In addition, the screen rearrangement buffer 111 also supplies the image in which the order of the frames is rearranged to the intra prediction unit 120 and the inter prediction unit 123.
  • GOP Group Of Picture
  • the calculation unit 112 subtracts the predicted image supplied from the intra prediction unit 120 or the inter prediction unit 123 via the predicted image selection unit 124 from the image read from the screen rearrangement buffer 111, and calculates the difference information (residual). Difference data) is supplied to the orthogonal transform unit 113. For example, in the case of an image on which intra coding is performed, the calculation unit 112 subtracts the predicted image supplied from the intra prediction unit 120 from the image read from the screen rearrangement buffer 111. For example, in the case of an image on which inter coding is performed, the calculation unit 112 subtracts the prediction image supplied from the inter prediction unit 123 from the image read from the screen rearrangement buffer 111.
  • the orthogonal transform unit 113 performs orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform on the residual data supplied from the computing unit 112.
  • the orthogonal transform unit 113 supplies the transform coefficient obtained by the orthogonal transform to the quantization unit 114.
  • the quantization unit 114 quantizes the transform coefficient supplied from the orthogonal transform unit 113.
  • the quantization unit 114 sets a quantization parameter based on the information regarding the target value of the code amount supplied from the rate control unit 125, and performs the quantization.
  • the quantization unit 114 supplies the quantized transform coefficient to the lossless encoding unit 115.
  • the lossless encoding unit 115 encodes the transform coefficient quantized by the quantization unit 114 using an arbitrary encoding method. Further, the lossless encoding unit 115 acquires information indicating the mode of intra prediction from the intra prediction unit 120, and acquires information indicating the mode of inter prediction, difference motion vector information, and the like from the inter prediction unit 123. Further, the lossless encoding unit 115 acquires information such as concatenation_flag and nal_unit_type set in the nal_unit_type determination unit 126.
  • the lossless encoding unit 115 encodes these various types of information with an arbitrary encoding method, and uses (multiplexes) the information as a part of header information of encoded data (also referred to as an encoded stream).
  • the lossless encoding unit 115 supplies the encoded data obtained by encoding to the accumulation buffer 116 for accumulation.
  • Examples of the encoding method of the lossless encoding unit 115 include variable length encoding or arithmetic encoding.
  • Examples of variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • Examples of arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 116 temporarily stores the encoded data supplied from the lossless encoding unit 115.
  • the accumulation buffer 116 outputs the stored encoded data to the outside of the image encoding device 100 at a predetermined timing. That is, the accumulation buffer 116 is also a transmission unit that transmits encoded data.
  • the transform coefficient quantized by the quantization unit 114 is also supplied to the inverse quantization unit 117.
  • the inverse quantization unit 117 inversely quantizes the quantized transform coefficient by a method corresponding to the quantization by the quantization unit 114.
  • the inverse quantization unit 117 supplies the transform coefficient obtained by the inverse quantization to the inverse orthogonal transform unit 118.
  • the inverse orthogonal transform unit 118 performs inverse orthogonal transform on the transform coefficient supplied from the inverse quantization unit 117 by a method corresponding to the orthogonal transform process by the orthogonal transform unit 113.
  • the inverse orthogonal transform unit 118 supplies the output (restored residual data) subjected to the inverse orthogonal transform to the calculation unit 119.
  • the calculation unit 119 adds the predicted image supplied from the intra prediction unit 120 or the inter prediction unit 123 via the predicted image selection unit 124 to the restored residual data supplied from the inverse orthogonal transform unit 118, A locally reconstructed image (hereinafter referred to as a reconstructed image) is obtained.
  • the reconstructed image is supplied to the intra prediction unit 120 and the loop filter 121.
  • the intra prediction unit 120 performs intra prediction (intra-screen prediction) that generates a prediction image using pixel values in a processing target picture that is a reconstructed image supplied as a reference image from the calculation unit 119.
  • the intra prediction unit 120 performs this intra prediction in a plurality of intra prediction modes prepared in advance.
  • the intra prediction unit 120 generates prediction images in all candidate intra prediction modes, evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 111, and selects the optimum mode. select. When the optimal intra prediction mode is selected, the intra prediction unit 120 supplies the predicted image generated in the optimal mode to the predicted image selection unit 124.
  • the intra prediction unit 120 appropriately supplies the intra prediction mode information indicating the adopted intra prediction mode to the lossless encoding unit 115 to be encoded.
  • the loop filter 121 includes a deblock filter, an adaptive loop filter, and the like, and appropriately performs filter processing on the reconstructed image supplied from the calculation unit 119.
  • the loop filter 121 removes block distortion of the reconstructed image by performing deblocking filter processing on the reconstructed image.
  • the loop filter 121 improves the image quality by performing loop filter processing using a Wiener filter on the deblock filter processing result (reconstructed image from which block distortion has been removed). I do.
  • the loop filter 121 may further perform other arbitrary filter processing on the reconstructed image. Further, the loop filter 121 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 115 and encode it as necessary.
  • the loop filter 121 supplies a filter processing result (hereinafter referred to as a decoded image) to the frame memory 122.
  • the loop filter 121 may further perform other arbitrary filter processing on the reconstructed image. Further, the loop filter 121 can supply information such as filter coefficients used for the filter processing to the lossless encoding unit 115 and encode it as necessary.
  • the frame memory 122 stores the supplied decoded image, and supplies the stored decoded image as a reference image to the inter prediction unit 123 at a predetermined timing.
  • the inter prediction unit 123 performs an inter prediction process using the input image supplied from the screen rearrangement buffer 111 and the reference image read from the frame memory 122. More specifically, the inter prediction unit 123 performs motion prediction to detect a motion vector, performs motion compensation processing according to the motion vector, and generates a prediction image (inter prediction image information).
  • the inter prediction unit 123 generates a prediction image in all candidate inter prediction modes.
  • the inter prediction unit 123 evaluates the cost function value of each prediction image using the input image supplied from the screen rearrangement buffer 111, information on the generated difference motion vector, and the like, and selects an optimal mode.
  • the inter prediction unit 123 supplies the predicted image generated in the optimal mode to the predicted image selection unit 124.
  • the inter prediction unit 123 supplies information indicating the adopted inter prediction mode, information necessary for performing processing in the inter prediction mode, and the like to the lossless encoding unit 115 when decoding the encoded data, Encode.
  • the necessary information includes, for example, information on the generated differential motion vector and a flag indicating an index of the predicted motion vector as predicted motion vector information.
  • the predicted image selection unit 124 selects a supply source of the predicted image to be supplied to the calculation unit 112 calculation unit 119.
  • the prediction image selection unit 124 selects the intra prediction unit 120 as a supply source of the prediction image, and supplies the prediction image supplied from the intra prediction unit 120 to the calculation unit 112 and the calculation unit 119. To do.
  • the prediction image selection unit 124 selects the inter prediction unit 123 as a supply source of the prediction image, and calculates the prediction image supplied from the inter prediction unit 123 as the calculation unit 112 or the calculation unit 119. To supply.
  • the rate control unit 125 controls the rate of the quantization operation of the quantization unit 114 based on the code amount of the encoded data stored in the storage buffer 116 so that overflow or underflow does not occur.
  • the nal_unit_type determining unit 126 receives information (isFirstPicture) indicating whether or not the picture is the first picture of the stream from the screen rearrangement buffer 111, and information indicating whether or not the picture is the last picture of the stream ( isLastPicture) and information (isReferencePicture) indicating whether or not the picture is referenced (whether or not it is a reference picture).
  • information isFirstPicture
  • isLastPicture information indicating whether or not the picture is the last picture of the stream
  • isReferencePicture information indicating whether or not the picture is referenced (whether or not it is a reference picture).
  • the nal_unit_type determination unit 126 includes information indicating concatenation of bitstreams (concatenation_flag), information indicating the difference in position between the access unit at the end of the bitstream and the prevenon discardable picture (auCpbRemovalDelayMinus1), and information indicating the null unit type ( nal_unit_type).
  • the nal_unit_type determination unit 126 sets concatenation_flag to “1 (ie, true)” and sets auCpbRemovalDelayMinus1 to “0 (ie, , Minimum value) ”and nal_unit_type is set to IDR_W_RADL or IDR_N_LP (ie, a value indicating an IDR picture).
  • the nal_unit_type determining unit 126 sets concatenation_flag to “0 (ie, false)” and sets auCpbRemovalDelayMinus1 to “0 (ie, Minimum value) ”and nal_unit_type is set to TRAIL_R (that is, a value indicating a referenced trailing picture that is not a temporal sublayer).
  • nal_unit_type determination unit 126 sets concatenation_flag to “0 (that is, false)” and sets auCpbRemovalDelayMinus1 to “0 ( In other words, nal_unit_type is set to TRAIL_R (that is, a value indicating that it is a reference trailing picture that is not a temporal sublayer).
  • nal_unit_type determining unit 126 sets concatenation_flag to “0 (ie, false)” and sets auCpbRemovalDelayMinus1 to “0 ( In other words, nal_unit_type is set to TRAIL_N (a value indicating a non-reference picture that is not a temporal sublayer).
  • the nal_unit_type determination unit 126 supplies these pieces of information (concatenation_flag, auCpbRemovalDelayMinus1, nal_unit_type, etc.) set as described above to the lossless encoding unit 115, and the information is converted into a bitstream generated by the lossless encoding unit 115. To be included.
  • FIG. 7 is a block diagram illustrating a main configuration example of the rate control unit 125.
  • the rate control unit 125 includes an HRD trace unit 141 and a target bit determination unit 142.
  • the HRD trace unit 141 acquires, from the screen rearrangement buffer 111, information regarding the position of the current picture that is the processing target and information indicating whether the virtual reference decoder is being adjusted. More specifically, the HRD trace unit 141 acquires, for example, information (isLastPicture) indicating whether or not the picture is the last picture of the stream, as information regarding the position of the current picture. Further, the HRD trace unit 141 includes, for example, a trace rate (trace_rate) of a coded picture buffer (CPB), a frame rate (frame_rate), and a CPB size as information indicating whether or not a section for performing adjustment of the virtual reference decoder. Get (cpb_size) etc. These parameters are information about the encoded picture buffer (CPB) as shown in FIG. Further, the HRD trace unit 141 acquires information indicating the generated code amount (generated bit amount) from the accumulation buffer 116.
  • information isLastPicture
  • the HRD trace unit 141 acquires, for example,
  • the HRD trace unit 141 calculates information (cpb_pos) indicating the position of the encoded picture buffer (CPB) based on the control information and the generated code amount related to the virtual reference decoder (HRD).
  • the HRD trace unit 141 supplies information (cpb_pos) indicating the calculated CPB position to the Target / Bit determination unit 142.
  • the Target Bit determination unit 142 acquires information (cpb_pos) indicating the CPB position from the HRD trace unit 141. Further, the Target / Bit determination unit 142 sends information indicating the CPB position expected at the end (target_cpb_pos) and information indicating whether it is a period for adjusting the end of the CPB (isAdjustPeriod) to the HRD trace unit 141. Via the screen rearrangement buffer 111.
  • the Target ⁇ ⁇ ⁇ ⁇ Bit determining unit 142 calculates a target bit (target bit) that is information indicating the target value of the generated code amount.
  • the Target Bit determining unit 142 supplies the calculated target bit (target bit) to the quantizing unit 114.
  • the image encoding apparatus 100 generates a bit stream so as to satisfy the following conditions by appropriately setting various parameters.
  • the nal_unit_type at the end of the combined bitstream satisfies the condition of prevNonDiscardablePic (for example, TRAIL_R).
  • the cpb position at the end of the combined bitstream is higher than the cpb position at the beginning of the combined bitstream.
  • the value of initial_cpb_removal_delay is high.
  • the bit stream can be simply combined with other bit streams. That is, even if the user does not appropriately rewrite information on the virtual reference decoder included in each bitstream, the bitstreams can be combined so that the combined bitstream does not cause the virtual reference decoder to fail. That is, since the image encoding apparatus 100 performs encoding in consideration of combining in encoding, it is possible to generate a bitstream that can be easily combined with other bitstreams. it can.
  • the screen rearrangement buffer 111 stores the images of the frames (pictures) of the input moving image in the display order in step S101, and the encoding is performed from the display order of the pictures. Rearrange in the order of conversion.
  • the screen rearrangement buffer 111 includes a video parameter set (VPS (Video Parameter Set)), a sequence parameter set (SPS (Sequence Parameter Set)), a picture parameter set (PPS (Picture Parameter Set)), a slice header, Generate various header information such as SEI.
  • VPS Video Parameter Set
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • SEI Picture Parameter Set
  • step S103 the intra prediction unit 120 performs an intra prediction process and generates a predicted image.
  • step S104 the inter prediction unit 123 performs an inter prediction process to generate a prediction image.
  • step S105 the predicted image selection unit 124 selects one of the predicted image generated by the intra prediction process in step S103 and the predicted image generated by the inter prediction process in step S104 based on the cost function value and the like. select.
  • step S106 the calculation unit 112 calculates a difference between the input image whose frame order is rearranged by the process of step S101 and the predicted image selected by the process of step S105. That is, the calculation unit 112 generates residual data between the input image and the predicted image.
  • the residual data obtained in this way is reduced in data amount compared to the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S107 the orthogonal transform unit 113 performs orthogonal transform on the residual data generated by the process in step S106.
  • step S108 the quantization unit 114 quantizes the orthogonal transform coefficient obtained by the process in step S107.
  • step S109 the inverse quantization unit 117 inversely quantizes the quantized coefficient (also referred to as a quantization coefficient) generated by the process in step S108 with a characteristic corresponding to the quantization characteristic.
  • step S110 the inverse orthogonal transform unit 118 performs inverse orthogonal transform on the orthogonal transform coefficient obtained by the process of step S109.
  • step S111 the calculation unit 119 generates image data of a reconstructed image by adding the predicted image selected in the process of step S105 to the residual data restored in the process of step S110.
  • step S112 the loop filter 121 performs a loop filter process on the image data of the reconstructed image generated by the process of step S111. Thereby, block distortion and the like of the reconstructed image are removed.
  • step S113 the frame memory 122 stores the decoded image data obtained by the process in step S112.
  • the nal_unit_type determination unit 126 performs a null unit type (nal_unit_type) determination process, and obtains information indicating the combination of bitstreams (concatenation_flag), and the difference in position between the access unit at the end of the bitstream and the preb non-discardable picture.
  • Information indicating (auCpbRemovalDelayMinus1) and information indicating the null unit type (nal_unit_type) are set.
  • step S115 the lossless encoding unit 115 encodes the quantized coefficient obtained by the process in step S108. That is, lossless encoding such as variable length encoding or arithmetic encoding is performed on data corresponding to the residual data.
  • the lossless encoding unit 115 encodes information regarding the prediction mode of the prediction image selected by the process of step S105, and adds the encoded information to the encoded data obtained by encoding the difference image. That is, the optimal intra prediction mode information supplied from the lossless encoding unit 115 and the intra prediction unit 120 or the information corresponding to the optimal inter prediction mode supplied from the inter prediction unit 123 is also encoded and added to the encoded data. (To be included in the bitstream)
  • the lossless encoding unit 115 sets information indicating concatenation of bitstreams (concatenation_flag) set in step S114, information indicating a difference in position between the access unit at the end of the bitstream and the preb non-discardable picture (auCpbRemovalDelayMinus1). ) And information (nal_unit_type) indicating the null unit type are encoded and added to the encoded data (included in the bitstream).
  • step S116 the accumulation buffer 116 accumulates the encoded data obtained by the process in step S115.
  • the encoded data or the like stored in the storage buffer 116 is appropriately read as a bit stream and transmitted to the decoding side via a transmission path or a recording medium.
  • step S117 the rate control unit 125 causes the quantization unit to prevent overflow or underflow based on the code amount (generated code amount) of the encoded data accumulated in the accumulation buffer 116 by the process of step S116. Control the rate of 114 quantization operations. Further, the rate control unit 125 supplies information regarding the quantization parameter to the quantization unit 114.
  • step S117 ends, the encoding process ends.
  • the nal_unit_type determination unit 126 acquires isFirstPicture from the header information generated in step S102 in step S131. In step S132, the nal_unit_type determination unit 126 acquires isLastPicture from the header information generated in step S102. In step S133, the nal_unit_type determination unit 126 acquires isReferencePicture from the header information generated in step S102.
  • step S134 the nal_unit_type determining unit 126 sets concatenation_flag to “0 (false)”.
  • step S135 the nal_unit_type determination unit 126 sets auCpbRemovalDelayMinus1 to “0 (minimum value)”.
  • step S136 the nal_unit_type determination unit 126 determines whether or not the value of isFirstPicture is true. If the value of isFirstPicture is true (ie, it is determined that the current picture to be processed is the first picture of the stream), the process proceeds to step S137.
  • step S137 the nal_unit_type determining unit 126 sets concatenation_flag to “1 (true)”.
  • step S138 the nal_unit_type determination unit 126 sets the null unit type (nal_unit_type) of the current picture to IDR_W_RADL or IDR_N_LP (that is, a value indicating an IDR picture).
  • step S136 If it is determined in step S136 that the value of isFirstPicture is false and the current picture to be processed is not the first picture in the stream, the process proceeds to step S139.
  • step S139 the nal_unit_type determination unit 126 determines whether or not the value of isLastPicture is true. If the value of isLastPicture is true (ie, it is determined that the current picture to be processed is the picture at the end of the stream), the process proceeds to step S140.
  • step S140 the nal_unit_type determining unit 126 sets the null unit type (nal_unit_type) of the current picture to TRAIL_R (that is, a value indicating that it is a referenced trailing picture that is not a temporal sublayer).
  • TRAIL_R that is, a value indicating that it is a referenced trailing picture that is not a temporal sublayer.
  • step S139 If it is determined in step S139 that the value of isLastPicture is false and the current picture to be processed is not the picture at the end of the stream, the process proceeds to step S141.
  • step S141 the nal_unit_type determination unit 126 determines whether or not the value of isReferencePicture is true. If the value of isReferencePicture is true (ie, it is determined that the current picture to be processed is a reference picture), the process proceeds to step S142.
  • step S142 the nal_unit_type determining unit 126 sets the null unit type (nal_unit_type) of the current picture to TRAIL_R (that is, a value indicating that it is a referenced trailing picture that is not a temporal sublayer).
  • TRAIL_R that is, a value indicating that it is a referenced trailing picture that is not a temporal sublayer.
  • step S141 If it is determined in step S141 that the value of isReferencePicture is false and the current picture to be processed is not a reference picture, the process proceeds to step S143.
  • step S143 the nal_unit_type determining unit 126 sets the null unit type (nal_unit_type) of the current picture to TRAIL_N (a value indicating that the picture is a non-reference picture that is not a temporal sublayer).
  • TRAIL_N a value indicating that the picture is a non-reference picture that is not a temporal sublayer.
  • the HRD trace unit 141 When the rate control process is started, the HRD trace unit 141 performs the HRD trace process and calculates the CPB position in step S151. In step S152, the Target Bit determining unit 142 performs a target bit determining process and calculates a target bit (Target Bit).
  • step S152 When the process of step S152 is completed, the rate control process is terminated, and the process returns to FIG.
  • the HRD trace unit 141 acquires trace_rate from the header information generated in step S102 in step S161. In step S162, the HRD trace unit 141 acquires frame_rate from the header information generated in step S102. In step S163, the HRD trace unit 141 acquires cpb_size from the header information generated in step S102.
  • step S164 the HRD trace unit 141 determines the trace_rate and the initial extraction delay of the encoded picture buffer (CPB) (the time from the start of input of the bitstream to the CBP to the extraction time of the first access unit (AU)). Based on the above, the CPB position is initialized as in the following equation (1).
  • CPB encoded picture buffer
  • Cpb_pos trace_rate * initial_cpb_removal_delay / 90000 ... (1)
  • step S165 the HRD trace unit 141 acquires the code amount (generated_bits) generated in each image.
  • step S166 the HRD trace unit 141 acquires isLastPicture from the header information generated in step S102.
  • step S167 the HRD trace unit 141 updates the CPB position (cpb_pos) using the generated_bits in step S165 as in the following equation (2) (subtracts the extracted amount).
  • step S168 the HRD trace unit 141 updates the CPB position (cpb_pos) as shown in the following equation (3) based on trace_rate and frame_rate (adds the buffer inflow).
  • step S169 the HRD trace unit 141 performs clip processing using cpb_size as shown in the following equation (4).
  • Cpb_pos min (cpb_pos, cpb_size) (4)
  • step S170 the HRD trace unit 141 determines whether or not isLastPicture is true. If isLastPicture is false and it is determined that the current picture is not the picture at the end of the stream, the process returns to step S165, and the subsequent processes are repeated. That is, each process of step S165 to step S170 is executed for each picture.
  • step S170 If it is determined in step S170 that isLastPicture is true and the current picture is the picture at the end of the stream, the HRD trace process ends, and the process returns to FIG.
  • the Target / Bit determination unit 142 acquires information (cpb_pos) indicating the CPB position calculated in the HRD trace process (FIG. 12) in step S181.
  • the Target / Bit determination unit 142 acquires information (target_cpb_pos) indicating the CPB position expected at the end from the header information generated in step S102.
  • the Target / Bit determination unit 142 acquires information (isAdjustPeriod) indicating whether or not it is a period for adjusting the termination of the CPB from the header information generated in step S102.
  • step S184 the Target Bit determining unit 142 calculates a target bit (target bit) that is information indicating the target value of the generated code amount.
  • This target bit calculation method is arbitrary.
  • step S185 the Target Bit determining unit 142 determines whether or not isAdjustPeriod is true and cpb_pos is lower than target_cpb_pos (isAdjustPeriod && cpb_pos ⁇ target_cpb_pos).
  • step S186 If it is determined that isAdjustPeriod is true and cpb_pos is lower than target_cpb_pos, the process proceeds to step S186.
  • step S186 the Target Bit determining unit 142 calculates the target bit using the following equation (5) so as to converge to the position of the CPB expected at the end.
  • Target bit- gain * (target_cpb_pos-cpb_pos) (5)
  • the target bit (target bit) calculated here is supplied to the quantization unit 114 and used. That is, the quantization unit 114 performs quantization using this target bit (target bit).
  • step S185 If it is determined in step S185 that isAdjustPeriod is false or cpb_pos is higher than target_cpb_pos (cpb_pos ⁇ target_cpb_pos), the process of step S186 is omitted and the target bit determination process ends. The processing returns to FIG.
  • FIG. 14 illustrates an example in which bitstreams generated by the image encoding device 100 that performs the above-described processes are combined.
  • FIG. 14A shows an example of parameters (for example, parameters related to a virtual reference decoder) for a frame of a part of each bit stream (stream A, stream B) before the combination (in the vicinity of the connected portion). Yes.
  • the head of stream B is connected to the end of stream A.
  • FIG. 14B shows an example of parameters (for example, parameters related to a virtual reference decoder) for a frame of a part of the stream A + B (in the vicinity of the connected part) that is the combined bit stream. .
  • bitstream combiner> when image data is encoded to generate a bitstream, the bitstream is described as being in a state where it can be more easily combined with other bitstreams. It is possible to make it easy to combine with other bitstreams at any timing before combining the bitstreams.
  • FIG. 15 is a diagram illustrating a main configuration example of a bitstream combining device.
  • a bitstream combining device 200 shown in FIG. 15 is a device that performs processing for combining bitstreams by smart rendering editing.
  • the bit stream combining apparatus 200 inputs the stream A and the stream B, generates the stream A + B by connecting the head of the stream B to the end of the stream A, and outputs the stream A + B.
  • the bit stream combining device 200 includes a buffer determination unit 211, a nal_unit_type rewriting unit 212, a Buffering Period rewriting unit 213, and a bit stream combining unit 214.
  • the buffer determination unit 211 performs buffer determination processing and appropriately re-encodes the CP A in the stream A + B so that the CPB does not fail.
  • the nal_unit_type rewriting unit 212 rewrites nal_unit_type at the end of the stream A to a value corresponding to prevNonDiscardablePic.
  • the Buffering / Period rewriting unit 213 rewrites the syntax of Buffering / Period / SEI. For example, the Buffering / Period rewriting unit 213 rewrites the head concatenation_flag of the stream B to “1 (true)” and rewrites the head auCpbRemovalDelayMinus1 of the stream B to “0 (minimum value)”.
  • the bit stream combining unit 214 combines bit streams (for example, stream A and stream B) that have been updated with various information related to the virtual reference decoder as described above.
  • bitstream combining apparatus 200 generates a bitstream so as to satisfy the following conditions by appropriately setting various parameters before combining.
  • the nal_unit_type at the end of the combined bitstream satisfies the condition of prevNonDiscardablePic (for example, TRAIL_R).
  • the cpb position at the end of the combined bitstream is higher than the cpb position at the beginning of the combined bitstream.
  • the value of initial_cpb_removal_delay is high.
  • the bit stream can be simply combined with other bit streams. That is, even if the user does not appropriately rewrite information on the virtual reference decoder included in each bitstream, the bitstreams can be combined so that the combined bitstream does not cause the virtual reference decoder to fail. That is, since the bitstream combining device 200 makes the bitstreams to be combined into a state in which the bitstreams can be combined more easily and then combines them, the bitstreams can be combined more easily. it can.
  • the buffer determination unit 211 of the bitstream combining apparatus 200 acquires the stream A in step S201 and acquires the stream B in step S202.
  • step S203 the buffer determination unit 211 performs buffer determination processing and adjusts the CPB position of each stream.
  • step S204 the nal_unit_type rewriting unit 212 performs a null unit rewriting process, and rewrites nal_unit_type at the end of the stream A to be combined to a value corresponding to prevNonDiscardablePic.
  • step S205 the Buffering Period rewriting unit 213 performs buffering period rewriting processing, rewrites concatenation_flag at the head of stream B to “1 (true)”, and sets auCpbRemovalDelayMinus1 at the head of stream B to “0 (minimum value)”. rewrite.
  • step S206 the bit stream combining unit 214 combines the bit streams updated with various information related to the virtual reference decoder as described above. For example, the bit stream combining unit 214 connects the head of the stream B to the end of the stream A.
  • step S207 the bit stream combining unit 214 outputs the combined bit stream (stream A + B) to the outside of the bit stream combining device 200.
  • step S207 When the process of step S207 is completed, the bitstream combining process is completed.
  • the buffer determination unit 211 calculates the CPB position (cpb_pos_A) at the end of the stream A in step S221.
  • the buffer determination unit 211 calculates the CPB position (cpb_pos_B) at the end of the stream B.
  • step S223 the buffer determination unit 211 determines whether cpb_pos_A_ ⁇ cpb_pos_B is true. If it is determined that cpb_pos_A ⁇ cpb_pos_B is true, the process proceeds to step S224.
  • step S224 the buffer determination unit 211 re-encodes cpb_pos_A to be larger than cpb_pos_B so that the virtual reference decoder does not fail.
  • This re-encoding method is arbitrary.
  • the buffer determination unit 211 may re-encode the stream A.
  • the range of the picture to be re-encoded is arbitrary. For example, only the picture at the end of stream A may be re-encoded, or several pictures may be re-encoded from the end of stream A. Further, at that time, the compression rate of each picture may be gradually increased toward the end.
  • stream B may be re-encoded.
  • step S224 When the process of step S224 is completed, the process returns to FIG. If it is determined in step S223 that cpb_pos_A ⁇ cpb_pos_B is false, the process in step S224 is omitted, the buffer determination process ends, and the process returns to FIG.
  • nal_unit_type rewriting unit 212 checks (refers to) nal_unit_type_A which is the nal_unit_type at the end of the stream A in step S241.
  • step S242 the nal_unit_type rewriting unit 212 determines whether nal_unit_type_A corresponds to prevNonDisCardablePic based on the investigation result in step S241. If it is determined that the information does not apply, the process proceeds to step S243.
  • step S243 the nal_unit_type rewriting unit 212 rewrites nal_unit_type_A to nal_unit_type corresponding to prevNonDsicardable.
  • the null unit type rewriting process ends, and the process returns to FIG.
  • step S242 If it is determined in step S242 that nal_unit_type_A corresponds to prevNonDisCardablePic, the process of step S243 is omitted, the null unit type rewriting process ends, and the process returns to FIG.
  • the Buffering period rewriting unit 213 examines the buffering period SEI at the head of the stream B. In step S261, the Buffering / Period rewriting unit 213 determines whether or not the concatenation_flag of the first Buffering / Period / SEI of the stream B is “1 (true)”. If concatenation_flag is reflected as “0 (false)”, the process proceeds to step S262.
  • step S262 the Buffering Period rewriting unit 213 rewrites the concatenation_flag to “1 (true)”.
  • step S263 the Buffering Period rewriting unit 213 rewrites the concatenation_flag to “1 (true)”.
  • step S261 if concatenation_flag is reflected as “1 (true)”, the process in step S262 is omitted, and the process proceeds to step S263.
  • step S263 the Buffering Period rewriting unit 213 determines whether or not auCpbRemovalDelayDeltaMinus1 of the first Buffering Period SEI of the stream B is “0 (minimum value)”. If it is reflected that auCpbRemovalDelayDeltaMinus1 is not “0 (minimum value)”, the process proceeds to step S264.
  • step S264 the BufferingBufferPeriod rewriting unit 213 sets its auCpbRemovalDelayDeltaMinus1 to “0 (minimum value)”.
  • step S263 If it is determined in step S263 that the auCpbRemovalDelayDeltaMinus1 of the first Buffering Period SEI of the stream B is “0 (minimum value)”, the processing in step S264 is omitted, and the buffering period rewriting processing is terminated and the processing is completed. Return to FIG.
  • FIG. 20 illustrates an example in which the bitstream combining device 200 that performs the above-described processes combines bitstreams.
  • FIG. 20A shows an example of parameters (for example, parameters related to a virtual reference decoder) for a frame of a part of each bit stream (stream A, stream B) before the combination (near the connected part). Yes.
  • the head of stream B is connected to the end of stream A.
  • B of FIG. 20 shows an example of parameters (for example, parameters related to a virtual reference decoder, etc.) for a frame of a part of the stream A + B (near the connected part) of the combined bit stream. .
  • bitstream combining device 200 can combine the bitstreams more easily by executing the processes described above.
  • FIG. 21 is a diagram illustrating another configuration example of the bit stream combining device.
  • a bitstream combining device 300 shown in FIG. 21 is a device that performs processing for combining bitstreams by smart rendering editing, as in the case of the bitstream combining device 200 (FIG. 15).
  • the bit stream combining apparatus 300 inputs the stream A and the stream B, generates the stream A + B by connecting the head of the stream B to the end of the stream A, and outputs the stream A + B.
  • the bit stream combining device 300 includes a buffer determining unit 211, a prevNonDiscardablePic searching unit 312, a Buffering Period rewriting unit 213, and a bit stream combining unit 214.
  • the prevNonDiscardablePic search unit 312 searches for the position of the prevNonDiscardablePic.
  • the Buffering / Period rewriting unit 213 rewrites the head concatenation_flag of the stream B to “1 (true)” and rewrites the auCpbRemovalDelayDeltaMinus1 of the stream B to (auCpbRemovalDelayDelta-1).
  • bitstream combining apparatus 300 generates a bitstream so as to satisfy the following conditions by appropriately setting various parameters before combining.
  • cpb position at the end of the combined bitstream is higher than the top cpb position of the combined bitstream.
  • the syntax has a high initial_cpb_removal_delay value.
  • the bit stream can be simply combined with other bit streams. That is, even if the user does not appropriately rewrite information on the virtual reference decoder included in each bitstream, the bitstreams can be combined so that the combined bitstream does not cause the virtual reference decoder to fail. That is, since the bitstream combining device 300 makes the bitstreams to be combined into a state in which the bitstreams can be combined more easily and then combines them, the bitstreams can be combined more easily. it can.
  • the buffer determination unit 211 of the bitstream combining apparatus 300 acquires the stream A in step S301 and acquires the stream B in step S302.
  • step S303 the buffer determination unit 211 performs buffer determination processing (FIG. 17) in the same manner as in step S203 of FIG. 16, and adjusts the CPB position of each stream.
  • step S304 the prevNonDiscardablePic search unit 312 performs a preb non-discardable picture search process and searches for the position of the prevNonDiscardablePic.
  • step S 305 the Buffering Period rewriting unit 213 performs buffering period rewriting processing, and performs processing such as rewriting the leading concatenation_flag of the stream B to “1 (true)”.
  • step S306 the bitstream combining unit 214 combines the bitstreams in which various information related to the virtual reference decoder is updated as described above, similarly to the case of step S206 in FIG.
  • the bit stream combining unit 214 connects the head of the stream B to the end of the stream A.
  • step S307 the bit stream combining unit 214 outputs the combined bit stream (stream A + B) to the outside of the bit stream combining apparatus 200, as in step S206 of FIG.
  • step S307 When the process of step S307 is completed, the bitstream combining process is completed.
  • the prevNonDiscardablePic search unit 312 checks the position of the prevNonDiscardablePic at the end of the stream A in step S321.
  • step S322 the prevNonDiscardablePic search unit 312 calculates the difference auCpbRemovalDelayDelta between the position of the access unit (AU) at the end of the bitstream and the prevNonDiscardablePic.
  • step S322 the prebunone discarder double picture search process is completed, and the process returns to FIG.
  • the Buffering period rewriting unit 213 examines the buffering period SEI at the head of the stream B. In step S341, the Buffering / Period rewriting unit 213 determines whether or not the concatenation_flag of the first Buffering / Period / SEI of the stream B is “1 (true)”. If concatenation_flag is reflected as “0 (false)”, the process proceeds to step S342.
  • step S342 the Buffering Period rewriting unit 213 rewrites the concatenation_flag to “1 (true)”.
  • step S343 the Buffering Period rewriting unit 213 rewrites the concatenation_flag to “1 (true)”.
  • step S341 when it is reflected that concatenation_flag is “1 (true)”, the process of step S342 is omitted, and the process proceeds to step S343.
  • step S343 the Buffering Period rewriting unit 213 rewrites auCpbRemovalDelayDeltaMinus1 of the first Buffering Period SEI of the stream B to “auCpbRemovalDelayDelta-1”.
  • auCpbRemovalDelayDelta-1 auCpbRemovalDelayDelta-1
  • FIG. 25 illustrates an example in which the bitstream combining device 300 that executes the above-described processes combines bitstreams.
  • FIG. 25A shows an example of parameters (for example, parameters related to a virtual reference decoder) for a frame of a part of each bit stream (stream A, stream B) before connection (near the connected part). Yes.
  • the head of stream B is connected to the end of stream A.
  • B of FIG. 25 shows an example of parameters (for example, parameters related to a virtual reference decoder, etc.) for a frame of a part of the stream A + B (near the connected part) of the combined bit stream. .
  • bit streams can be simply connected. That is, the bit stream combining apparatus 300 can combine the bit streams more easily by executing the above-described processes.
  • FIG. 26 is a diagram illustrating another configuration example of the bit stream combining device.
  • a bitstream combining device 400 shown in FIG. 26 is a device that performs processing for combining bitstreams by smart rendering editing, as in the case of the bitstream combining device 200 (FIG. 15).
  • the bit stream combining apparatus 400 inputs the stream A and the stream B, generates the stream A + B by connecting the head of the stream B to the end of the stream A, and outputs it.
  • the bitstream combining device 300 includes a buffer determination unit 211, a prevNonDiscardablePic search unit 312, a prevCpbRemovalDelay search unit 413, a Buffering Period rewrite unit 414, a Picture Timing SEI rewrite unit 415, and a bitstream combination unit 214.
  • a buffer determination unit 211 a prevNonDiscardablePic search unit 312, a prevCpbRemovalDelay search unit 413, a Buffering Period rewrite unit 414, a Picture Timing SEI rewrite unit 415, and a bitstream combination unit 214.
  • the prevCpbRemovalDelay search unit 413 searches for prevCpbRemovalDelay.
  • the Buffering / Period rewriting unit 414 rewrites the syntax of Buffering / Period / SEI.
  • the Picture Timing SEI rewriting unit 415 rewrites the syntax of Picture Timing SEI.
  • bit stream combining apparatus 400 generates a bit stream so as to satisfy the following conditions by appropriately setting various parameters before combining.
  • the top au_cpb_removal_delay_minus1 of the bitstream to be combined is au_cpb_removal_delay_minus1 + 1 at the end of the bitstream to be combined.
  • the bit stream can be simply combined with other bit streams. That is, even if the user does not appropriately rewrite information on the virtual reference decoder included in each bitstream, the bitstreams can be combined so that the combined bitstream does not cause the virtual reference decoder to fail.
  • the bitstream combining device 400 combines the bitstreams after combining the bitstreams in a state in which the bitstreams can be combined more easily, so that the bitstreams can be combined more easily. it can.
  • the buffer determination unit 211 of the bit stream combining device 200 acquires stream A in step S401 and acquires stream B in step S402.
  • step S403 the buffer determination unit 211 performs buffer determination processing (FIG. 17) and adjusts the CPB position of each stream in the same manner as in step S203 of FIG.
  • step S404 the prevNonDiscardablePic search unit 312 performs a preb nondiscardable picture search process and searches for the position of the prevNonDiscardablePic as in step S304 of FIG.
  • step S405 the prevCpbRemovalDelay search unit 413 performs preb Cpb removal delay search processing and searches for the position of prevCpbRemovalDelay.
  • step S406 the Buffering Period rewriting unit 414 performs buffering period rewriting processing, rewrites concatenation_flag at the beginning of stream B to “0 (true)”, and rewrites auCpbRemovalDelayDeltaMinus1 at the beginning of stream B to auCpbRemovalDelayDelta ⁇ 1.
  • step S407 the Picture Timing SEI rewriting unit 415 performs a picture timing SEI rewriting process, and rewrites the syntax of the Picture Timing SEI.
  • step S408 the bitstream combining unit 214 combines the bitstreams in which various information related to the virtual reference decoder is updated as described above. For example, the bit stream combining unit 214 connects the head of the stream B to the end of the stream A.
  • step S409 the bit stream combining unit 214 outputs the combined bit stream (stream A + B) to the outside of the bit stream combining device 200.
  • step S409 When the process of step S409 is completed, the bitstream combining process is completed.
  • the prevCpbRemovalDelay search unit 413 sets au_cpb_removal_delay_minus1 of the picture-timing-SEI at the end of the stream A to be combined as prevCpbRemovalDelay in step S421.
  • step S421 When the process of step S421 is completed, the preb Cpb removal delay search process is terminated, and the process returns to FIG.
  • step S442 the Buffering Period rewriting unit 414 rewrites the value of concatenation_flag to “0 (false)”.
  • step S443 When the process of step S443 is completed, the buffering period rewriting process is completed, and the process returns to FIG.
  • the Picture Timing SEI rewriting unit 415 rewrites au_cpb_removal_delay_minus1 of the first Picture Timing SEI of the stream B to be combined to prevCpbRemovalDelay + 1 in step S461.
  • step S461 When the process of step S461 is completed, the picture timing SEI rewriting process is terminated, and the process returns to FIG.
  • FIG. 31 illustrates an example in which the bitstream combining device 400 that executes the above-described processes combines bitstreams.
  • FIG. 31A shows an example of parameters (for example, parameters related to a virtual reference decoder) for a frame of a part of each bit stream (stream A, stream B) before the combination (in the vicinity of the connected portion). Yes.
  • the head of stream B is connected to the end of stream A.
  • B of FIG. 31 shows an example of parameters (for example, parameters related to a virtual reference decoder, etc.) regarding a frame of a part of the stream A + B (in the vicinity of the connected part) of the combined bit stream. .
  • au_cpb_removal_delay_minus1 0 in IDR.
  • au_cpb_removal_delay_minus1 at the beginning of stream B is prevCpbRemovalDelay + 1 at the end of Stream A.
  • the position of prevNonDiscardablePic at the end of Stream ⁇ ⁇ A is confirmed, and auCpbRemovalDelayDeltaMinus1 is rewritten.
  • bit streams can be simply connected to each other. That is, the bitstream combining device 400 can combine the bitstreams more easily by executing the processes described above.
  • information indicating which picture is prevNonDiscardablePic may be included in the bitstream in advance. By doing so, it is possible to more easily search for prevNonDiscardablePic based on the information, and it is possible to suppress an increase in processing load.
  • the information indicating such prevNonDiscardablePic may be added to any position of the bitstream. For example, it may be arranged at the head of the access unit (AU). Further, it may be arranged at the head of the GOP. Further, for example, the same information may be arranged at a plurality of positions such as the head of AU and the head of GOP. Since a part of the bitstream may be cut by editing, it is possible to prevent information from being lost by such editing by arranging the same information in a plurality of positions in this way. Can do.
  • additional information for example, information specifying a range for searching for prevNonDiscardablePic may be added to the bitstream. By limiting the search range based on such information, it is possible to suppress an unnecessary increase in processing load.
  • bitstream information added to the bitstream is arbitrary and is not limited to the above-described example.
  • the scope of application of the present technology can be applied to any image encoding device capable of encoding image data and any image processing device capable of combining a bit stream of image data.
  • this technology is, for example, MPEG, H.264.
  • image information bitstream
  • orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present technology can be applied to an apparatus used when processing on a storage medium such as an optical disk, a magnetic disk, and a flash memory.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • a program constituting the software is installed in the computer.
  • the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.
  • FIG. 32 is a block diagram showing an example of the hardware configuration of a computer that executes the above-described series of processing by a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 810 is also connected to the bus 804.
  • An input unit 811, an output unit 812, a storage unit 813, a communication unit 814, and a drive 815 are connected to the input / output interface 810.
  • the input unit 811 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like.
  • the output unit 812 includes, for example, a display, a speaker, an output terminal, and the like.
  • the storage unit 813 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like.
  • the communication unit 814 includes a network interface, for example.
  • the drive 815 drives a removable medium 821 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 801 loads the program stored in the storage unit 813 into the RAM 803 via the input / output interface 810 and the bus 804 and executes the program, for example. Is performed.
  • the RAM 803 also appropriately stores data necessary for the CPU 801 to execute various processes.
  • the program executed by the computer (CPU 801) can be recorded and applied to, for example, a removable medium 821 as a package medium or the like.
  • the program can be installed in the storage unit 813 via the input / output interface 810 by attaching the removable medium 821 to the drive 815.
  • This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 814 and installed in the storage unit 813.
  • a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be received by the communication unit 814 and installed in the storage unit 813.
  • this program can be installed in advance in the ROM 802 or the storage unit 813.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
  • the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units).
  • the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit).
  • a configuration other than that described above may be added to the configuration of each device (or each processing unit).
  • a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is jointly processed.
  • each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
  • the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
  • the image encoding device and the bit stream combining device are, for example, a transmitter or a receiver in cable broadcasting such as satellite broadcasting and cable TV, distribution on the Internet, and distribution to terminals by cellular communication.
  • the present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or a playback device that reproduces an image from these storage media.
  • a recording device that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
  • a playback device that reproduces an image from these storage media.
  • FIG. 33 illustrates an example of a schematic configuration of a television device to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface (I / F) unit 909, and a control unit. 910, a user interface (I / F) unit 911, and a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television device 900 that receives an encoded stream in which an image is encoded.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. Further, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • a display device for example, a liquid crystal display, a plasma display, or an OELD (Organic ElectroLuminescence Display) (organic EL display)). Or an image is displayed.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface unit 909 is an interface for connecting the television device 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface unit 909 may be decoded by the decoder 904. That is, the external interface unit 909 also has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded.
  • the control unit 910 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television apparatus 900 is activated.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface unit 911 by executing the program.
  • the user interface unit 911 is connected to the control unit 910.
  • the user interface unit 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface unit 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910 to each other.
  • the video signal processing unit 905 may have the function of the image encoding apparatus 100 described above.
  • the video signal processing unit 905 may encode the image data supplied from the decoder 904 by the method described above.
  • the video signal processing unit 905 supplies the encoded data (bit stream) obtained by the encoding to, for example, the external interface unit 909 and causes the external interface unit 909 to output it to the outside of the television device 900. Therefore, the television device 900 can output a bitstream obtained by encoding an image to be processed in a state where it can be more easily combined with another bitstream.
  • the video signal processing unit 905 may have the function of the above-described bit stream combining device (any of the bit stream combining device 200 to the bit stream combining device 400).
  • the video signal processing unit 905 may perform the smart rendering editing by the method described in the second to fourth embodiments so as to combine the bit streams.
  • the television device 900 video signal processing unit 905 can more easily combine bit streams.
  • the video signal processing unit 905 may supply the encoded data (bit stream) obtained in this manner to the external interface unit 909 and output the encoded data (bit stream) from the external interface unit 909 to the outside of the television apparatus 900. it can.
  • FIG. 34 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a cellular phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 decompresses the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930, supplies the electronic mail data to the recording / reproducing unit 929, and writes the data in the storage medium.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted type such as a hard disk, magnetic disk, magneto-optical disk, optical disk, USB (Universal Serial Bus) memory, or memory card. It may be a storage medium.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926, supplies the encoded stream to the recording / reproducing unit 929, and writes the encoded stream in the storage medium.
  • the recording / reproducing unit 929 reads out the encoded stream recorded in the storage medium and outputs the encoded stream to the image processing unit 927.
  • the image processing unit 927 decodes the encoded stream input from the recording / reproducing unit 929, supplies the image data to the display unit 930, and displays the image.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include an encoded bit stream.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 may have the function of the image encoding device 100 described above. That is, the image processing unit 927 may encode the image data by the method described above. In this way, the mobile phone 920 can output or record a bitstream that is encoded with image data and can be more easily combined with other bitstreams.
  • the image processing unit 927 may have the function of the above-described bit stream combining device (any of the bit stream combining device 200 to the bit stream combining device 400).
  • the image processing unit 927 may perform bit rendering by performing smart rendering editing by the method described in the second to fourth embodiments.
  • the cellular phone 920 image processing unit 927) can more easily combine bit streams.
  • the image processing unit 927 supplies the encoded data (bit stream) obtained in this way to the recording / reproducing unit 929 to be written in the storage medium or transmitted via the communication unit 922. be able to.
  • FIG. 35 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing apparatus 940 includes a tuner 941, an external interface (I / F) unit 942, an encoder 943, an HDD (Hard Disk Drive) unit 944, a disk drive 945, a selector 946, a decoder 947, and an OSD (On-Screen Display) unit 948.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 serves as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface unit 942 is an interface for connecting the recording / reproducing device 940 to an external device or a network.
  • the external interface unit 942 may be, for example, an IEEE (Institute of Electrical and Electronic Engineers) 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • IEEE Institute of Electrical and Electronic Engineers 1394 interface
  • a network interface e.g., a USB interface
  • a flash memory interface e.g., a flash memory interface.
  • video data and audio data received via the external interface unit 942 are input to the encoder 943. That is, the external interface unit 942 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface unit 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD unit 944 records an encoded bit stream, various programs, and other data in which content data such as video and audio is compressed in an internal hard disk. Further, the HDD unit 944 reads out these data from the hard disk when reproducing video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • Recording media mounted on the disk drive 945 are, for example, DVD (Digital Versatile Disc) discs (DVD-Video, DVD-RAM (DVD -Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD-). Rewritable), DVD + R (DVD + Recordable), DVD + RW (DVD + Rewritable), etc.) or Blu-ray (registered trademark) disc.
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD unit 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD unit 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD unit 948. The decoder 947 outputs the generated audio data to an external speaker.
  • the OSD unit 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD unit 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU executes the program to control the operation of the recording / reproducing device 940 in accordance with, for example, an operation signal input from the user interface unit 950.
  • the user interface unit 950 is connected to the control unit 949.
  • the user interface unit 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface unit 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 may have the function of the image encoding apparatus 100 described above. That is, the encoder 943 may encode the image data by the method described above. In this way, the recording / reproducing device 940 can output or record a bitstream that is encoded with image data and can be more easily combined with other bitstreams.
  • the encoder 943 may have the function of the above-described bit stream combining device (any of the bit stream combining device 200 to the bit stream combining device 400).
  • the encoder 943 can combine the bitstreams not only by encoding the image data but also by performing smart rendering editing by the method described in the second to fourth embodiments. It may be. By doing in this way, the recording / reproducing apparatus 940 (encoder 943) can combine bit streams more easily.
  • FIG. 36 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface (I / F) unit 966, a memory unit 967, a media drive 968, an OSD unit 969, and a control.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface unit 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface unit 966, the memory unit 967, the media drive 968, the OSD unit 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD (Charge-Coupled Device) or a CMOS (Complementary Metal-Oxide Semiconductor), and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • CCD Charge-Coupled Device
  • CMOS Complementary Metal-Oxide Semiconductor
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface unit 966 or the media drive 968. In addition, the image processing unit 964 decodes encoded data input from the external interface unit 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD unit 969 on an image output to the display unit 965.
  • the OSD unit 969 generates a GUI image such as a menu, a button, or a cursor, and outputs the generated image to the image processing unit 964.
  • the external interface unit 966 is configured as a USB input / output terminal, for example.
  • the external interface unit 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface unit 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface unit 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface unit 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • a recording medium may be fixedly mounted on the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface unit 971 by executing the program.
  • the user interface unit 971 is connected to the control unit 970.
  • the user interface unit 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface unit 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 may have the function of the image encoding device 100 described above. That is, the image processing unit 964 may encode the image data by the method described above. In this way, the imaging device 960 can output or record a bitstream that is encoded with image data and can be more easily combined with other bitstreams.
  • the image processing unit 964 may have the function of the above-described bit stream combining device (any one of the bit stream combining device 200 to the bit stream combining device 400).
  • the image processing unit 964 may perform smart rendering editing by the method described in the second embodiment to the fourth embodiment so that the bit streams can be combined. In this way, the imaging device 960 (image processing unit 964) can more easily combine bit streams.
  • the present technology can also be applied to HTTP streaming such as MPEGASHDASH, for example, by selecting an appropriate piece of data from a plurality of encoded data with different resolutions prepared in advance. Can do. That is, information regarding encoding and decoding can be shared among a plurality of such encoded data.
  • FIG. 37 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. 37 has such a multi-functional configuration, and a device having a function related to image encoding and decoding (either or both of them) can be used for the function. It is a combination of devices having other related functions.
  • the video set 1300 includes a module group such as a video module 1311, an external memory 1312, a power management module 1313, and a front end module 1314, and an associated module 1321, a camera 1322, a sensor 1323, and the like. And a device having a function.
  • a module is a component that has several functions that are related to each other and that has a coherent function.
  • the specific physical configuration is arbitrary. For example, a plurality of processors each having a function, electronic circuit elements such as resistors and capacitors, and other devices arranged on a wiring board or the like can be considered. . It is also possible to combine the module with another module, a processor, or the like to form a new module.
  • the video module 1311 is a combination of configurations having functions related to image processing, and includes an application processor, a video processor, a broadband modem 1333, and an RF module 1334.
  • a processor is a configuration in which a configuration having a predetermined function is integrated on a semiconductor chip by a SoC (System On a Chip), and for example, there is a system LSI (Large Scale Integration).
  • the configuration having the predetermined function may be a logic circuit (hardware configuration), a CPU, a ROM, a RAM, and the like, and a program (software configuration) executed using them. , Or a combination of both.
  • a processor has a logic circuit and a CPU, ROM, RAM, etc., a part of the function is realized by a logic circuit (hardware configuration), and other functions are executed by the CPU (software configuration) It may be realized by.
  • the 37 is a processor that executes an application related to image processing.
  • the application executed in the application processor 1331 not only performs arithmetic processing to realize a predetermined function, but also can control the internal and external configurations of the video module 1311 such as the video processor 1332 as necessary. .
  • the video processor 1332 is a processor having a function related to image encoding / decoding (one or both of them).
  • the broadband modem 1333 converts the data (digital signal) transmitted by wired or wireless (or both) broadband communication via a broadband line such as the Internet or a public telephone line network into an analog signal by digitally modulating the data.
  • the analog signal received by the broadband communication is demodulated and converted into data (digital signal).
  • the broadband modem 1333 processes arbitrary information such as image data processed by the video processor 1332, a stream obtained by encoding the image data, an application program, setting data, and the like.
  • the RF module 1334 is a module that performs frequency conversion, modulation / demodulation, amplification, filter processing, and the like on an RF (Radio Frequency) signal transmitted / received via an antenna. For example, the RF module 1334 generates an RF signal by performing frequency conversion or the like on the baseband signal generated by the broadband modem 1333. Further, for example, the RF module 1334 generates a baseband signal by performing frequency conversion or the like on the RF signal received via the front end module 1314.
  • RF Radio Frequency
  • the application processor 1331 and the video processor 1332 may be integrated into a single processor.
  • the external memory 1312 is a module that is provided outside the video module 1311 and has a storage device used by the video module 1311.
  • the storage device of the external memory 1312 may be realized by any physical configuration, but is generally used for storing a large amount of data such as image data in units of frames. For example, it is desirable to realize it with a relatively inexpensive and large-capacity semiconductor memory such as DRAM (Dynamic Random Access Memory).
  • the power management module 1313 manages and controls power supply to the video module 1311 (each component in the video module 1311).
  • the front-end module 1314 is a module that provides the RF module 1334 with a front-end function (circuit on the transmitting / receiving end on the antenna side). As illustrated in FIG. 37, the front end module 1314 includes, for example, an antenna unit 1351, a filter 1352, and an amplifying unit 1353.
  • the antenna unit 1351 has an antenna for transmitting and receiving a radio signal and its peripheral configuration.
  • the antenna unit 1351 transmits the signal supplied from the amplification unit 1353 as a radio signal, and supplies the received radio signal to the filter 1352 as an electric signal (RF signal).
  • the filter 1352 performs a filtering process on the RF signal received via the antenna unit 1351 and supplies the processed RF signal to the RF module 1334.
  • the amplifying unit 1353 amplifies the RF signal supplied from the RF module 1334 and supplies the amplified RF signal to the antenna unit 1351.
  • Connectivity 1321 is a module having a function related to connection with the outside.
  • the physical configuration of the connectivity 1321 is arbitrary.
  • the connectivity 1321 has a configuration having a communication function other than the communication standard supported by the broadband modem 1333, an external input / output terminal, and the like.
  • the communication 1321 is compliant with wireless communication standards such as Bluetooth (registered trademark), IEEE 802.11 (for example, Wi-Fi (Wireless Fidelity, registered trademark)), NFC (Near Field Communication), IrDA (InfraRed Data Association), etc. You may make it have a module which has a function, an antenna etc. which transmit / receive the signal based on the standard.
  • the connectivity 1321 has a module having a communication function compliant with a wired communication standard such as USB (Universal Serial Bus), HDMI (registered trademark) (High-Definition Multimedia Interface), or a terminal compliant with the standard. You may do it.
  • the connectivity 1321 may have other data (signal) transmission functions such as analog input / output terminals.
  • the connectivity 1321 may include a data (signal) transmission destination device.
  • the drive 1321 reads and writes data to and from a recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory (not only a removable medium drive, but also a hard disk, SSD (Solid State Drive) NAS (including Network Attached Storage) and the like.
  • the connectivity 1321 may include an image or audio output device (a monitor, a speaker, or the like).
  • the camera 1322 is a module having a function of capturing a subject and obtaining image data of the subject.
  • Image data obtained by imaging by the camera 1322 is supplied to, for example, a video processor 1332 and encoded.
  • the sensor 1323 includes, for example, a voice sensor, an ultrasonic sensor, an optical sensor, an illuminance sensor, an infrared sensor, an image sensor, a rotation sensor, an angle sensor, an angular velocity sensor, a velocity sensor, an acceleration sensor, an inclination sensor, a magnetic identification sensor, an impact sensor, It is a module having an arbitrary sensor function such as a temperature sensor.
  • the data detected by the sensor 1323 is supplied to the application processor 1331 and used by an application or the like.
  • the configuration described as a module in the above may be realized as a processor, or conversely, the configuration described as a processor may be realized as a module.
  • the present technology can be applied to the video processor 1332 as described later. Therefore, the video set 1300 can be implemented as a set to which the present technology is applied.
  • FIG. 38 illustrates an example of a schematic configuration of a video processor 1332 (FIG. 37) to which the present technology is applied.
  • the video processor 1332 receives the video signal and the audio signal, encodes them in a predetermined method, decodes the encoded video data and audio data, A function of reproducing and outputting an audio signal.
  • the video processor 1332 includes a video input processing unit 1401, a first image enlargement / reduction unit 1402, a second image enlargement / reduction unit 1403, a video output processing unit 1404, a frame memory 1405, and a memory control unit 1406.
  • the video processor 1332 includes an encoding / decoding engine 1407, video ES (ElementaryElementStream) buffers 1408A and 1408B, and audio ES buffers 1409A and 1409B.
  • the video processor 1332 includes an audio encoder 1410, an audio decoder 1411, a multiplexing unit (MUX (Multiplexer)) 1412, a demultiplexing unit (DMUX (Demultiplexer)) 1413, and a stream buffer 1414.
  • MUX Multiplexing unit
  • DMUX Demultiplexer
  • the video input processing unit 1401 acquires, for example, a video signal input from the connectivity 1321 (FIG. 37) and converts it into digital image data.
  • the first image enlargement / reduction unit 1402 performs format conversion, image enlargement / reduction processing, and the like on the image data.
  • the second image enlargement / reduction unit 1403 performs image enlargement / reduction processing on the image data in accordance with the format of the output destination via the video output processing unit 1404, or is the same as the first image enlargement / reduction unit 1402. Format conversion and image enlargement / reduction processing.
  • the video output processing unit 1404 performs format conversion, conversion to an analog signal, and the like on the image data and outputs the reproduced video signal to, for example, the connectivity 1321.
  • the frame memory 1405 is a memory for image data shared by the video input processing unit 1401, the first image scaling unit 1402, the second image scaling unit 1403, the video output processing unit 1404, and the encoding / decoding engine 1407. .
  • the frame memory 1405 is realized as a semiconductor memory such as a DRAM, for example.
  • the memory control unit 1406 receives the synchronization signal from the encoding / decoding engine 1407, and controls the write / read access to the frame memory 1405 according to the access schedule to the frame memory 1405 written in the access management table 1406A.
  • the access management table 1406A is updated by the memory control unit 1406 in accordance with processing executed by the encoding / decoding engine 1407, the first image enlargement / reduction unit 1402, the second image enlargement / reduction unit 1403, and the like.
  • the encoding / decoding engine 1407 performs encoding processing of image data and decoding processing of a video stream that is data obtained by encoding the image data. For example, the encoding / decoding engine 1407 encodes the image data read from the frame memory 1405 and sequentially writes the data as a video stream in the video ES buffer 1408A. Further, for example, the video stream is sequentially read from the video ES buffer 1408B, decoded, and sequentially written in the frame memory 1405 as image data.
  • the encoding / decoding engine 1407 uses the frame memory 1405 as a work area in the encoding and decoding. Also, the encoding / decoding engine 1407 outputs a synchronization signal to the memory control unit 1406, for example, at a timing at which processing for each macroblock is started.
  • the video ES buffer 1408A buffers the video stream generated by the encoding / decoding engine 1407 and supplies the buffered video stream to the multiplexing unit (MUX) 1412.
  • the video ES buffer 1408B buffers the video stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered video stream to the encoding / decoding engine 1407.
  • the audio ES buffer 1409A buffers the audio stream generated by the audio encoder 1410 and supplies the buffered audio stream to the multiplexing unit (MUX) 1412.
  • the audio ES buffer 1409B buffers the audio stream supplied from the demultiplexer (DMUX) 1413 and supplies the buffered audio stream to the audio decoder 1411.
  • the audio encoder 1410 converts, for example, an audio signal input from the connectivity 1321 or the like, for example, into a digital format, and encodes it using a predetermined method such as an MPEG audio method or an AC3 (Audio Code number 3) method.
  • the audio encoder 1410 sequentially writes an audio stream, which is data obtained by encoding an audio signal, in the audio ES buffer 1409A.
  • the audio decoder 1411 decodes the audio stream supplied from the audio ES buffer 1409B, performs conversion to an analog signal, for example, and supplies the reproduced audio signal to, for example, the connectivity 1321 or the like.
  • the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream.
  • the multiplexing method (that is, the format of the bit stream generated by multiplexing) is arbitrary.
  • the multiplexing unit (MUX) 1412 can also add predetermined header information or the like to the bit stream. That is, the multiplexing unit (MUX) 1412 can convert the stream format by multiplexing. For example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream to convert it into a transport stream that is a bit stream in a transfer format. Further, for example, the multiplexing unit (MUX) 1412 multiplexes the video stream and the audio stream, thereby converting the data into file format data (file data) for recording.
  • the demultiplexing unit (DMUX) 1413 demultiplexes the bit stream in which the video stream and the audio stream are multiplexed by a method corresponding to the multiplexing by the multiplexing unit (MUX) 1412. That is, the demultiplexer (DMUX) 1413 extracts the video stream and the audio stream from the bit stream read from the stream buffer 1414 (separates the video stream and the audio stream). That is, the demultiplexer (DMUX) 1413 can convert the stream format by demultiplexing (inverse conversion of the conversion by the multiplexer (MUX) 1412).
  • the demultiplexing unit (DMUX) 1413 obtains a transport stream supplied from, for example, the connectivity 1321 or the broadband modem 1333 via the stream buffer 1414 and demultiplexes the video stream and the audio stream. And can be converted to Further, for example, the demultiplexer (DMUX) 1413 obtains the file data read from various recording media by the connectivity 1321, for example, via the stream buffer 1414, and demultiplexes the video stream and the audio. Can be converted to a stream.
  • Stream buffer 1414 buffers the bit stream.
  • the stream buffer 1414 buffers the transport stream supplied from the multiplexing unit (MUX) 1412 and, for example, in the connectivity 1321 or the broadband modem 1333 at a predetermined timing or based on an external request or the like. Supply.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers the file data supplied from the multiplexing unit (MUX) 1412 and supplies it to the connectivity 1321 at a predetermined timing or based on an external request, for example. It is recorded on various recording media.
  • MUX multiplexing unit
  • the stream buffer 1414 buffers a transport stream acquired through, for example, the connectivity 1321 or the broadband modem 1333, and performs a demultiplexing unit (DMUX) at a predetermined timing or based on a request from the outside. 1413.
  • DMUX demultiplexing unit
  • the stream buffer 1414 buffers file data read from various recording media in, for example, the connectivity 1321, and the demultiplexer (DMUX) 1413 at a predetermined timing or based on an external request or the like. To supply.
  • DMUX demultiplexer
  • a video signal input to the video processor 1332 from the connectivity 1321 or the like is converted into digital image data of a predetermined format such as 4: 2: 2Y / Cb / Cr format by the video input processing unit 1401 and stored in the frame memory 1405.
  • This digital image data is read by the first image enlargement / reduction unit 1402 or the second image enlargement / reduction unit 1403, and format conversion to a predetermined method such as 4: 2: 0Y / Cb / Cr method and enlargement / reduction processing are performed. Is written again in the frame memory 1405.
  • This image data is encoded by the encoding / decoding engine 1407 and written as a video stream in the video ES buffer 1408A.
  • an audio signal input from the connectivity 1321 or the like to the video processor 1332 is encoded by the audio encoder 1410 and written as an audio stream in the audio ES buffer 1409A.
  • the video stream of the video ES buffer 1408A and the audio stream of the audio ES buffer 1409A are read and multiplexed by the multiplexing unit (MUX) 1412 and converted into a transport stream, file data, or the like.
  • the transport stream generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414 and then output to the external network via, for example, the connectivity 1321 or the broadband modem 1333.
  • the file data generated by the multiplexing unit (MUX) 1412 is buffered in the stream buffer 1414, and then output to, for example, the connectivity 1321 and recorded on various recording media.
  • a transport stream input from an external network to the video processor 1332 via the connectivity 1321 or the broadband modem 1333 is buffered in the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413.
  • DMUX demultiplexer
  • file data read from various recording media by the connectivity 1321 and input to the video processor 1332 is buffered by the stream buffer 1414 and then demultiplexed by the demultiplexer (DMUX) 1413. That is, the transport stream or file data input to the video processor 1332 is separated into a video stream and an audio stream by the demultiplexer (DMUX) 1413.
  • the audio stream is supplied to the audio decoder 1411 via the audio ES buffer 1409B and decoded to reproduce the audio signal.
  • the video stream is written to the video ES buffer 1408B, and then sequentially read and decoded by the encoding / decoding engine 1407, and written to the frame memory 1405.
  • the decoded image data is enlarged / reduced by the second image enlargement / reduction unit 1403 and written to the frame memory 1405.
  • the decoded image data is read out to the video output processing unit 1404, format-converted to a predetermined system such as 4: 2: 2Y / Cb / Cr system, and further converted into an analog signal to be converted into a video signal. Is played out.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the encoding / decoding engine 1407. That is, for example, the encoding / decoding engine 1407 may have the function of the image encoding device according to each of the above-described embodiments. Further, for example, the encoding / decoding engine 1407 may have the function of the bitstream combining device according to each of the above-described embodiments. For example, the encoding / decoding engine 1407 may perform the smart rendering editing by the method described in the second embodiment to the fourth embodiment to combine the bit streams. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present technology (that is, the functions of the image encoding device and the bit stream combining device according to each of the above embodiments) may be realized by hardware such as a logic circuit. Alternatively, it may be realized by software such as an embedded program, or may be realized by both of them.
  • FIG. 39 illustrates another example of a schematic configuration of a video processor 1332 to which the present technology is applied.
  • the video processor 1332 has a function of encoding and decoding video data by a predetermined method.
  • the video processor 1332 includes a control unit 1511, a display interface 1512, a display engine 1513, an image processing engine 1514, and an internal memory 1515.
  • the video processor 1332 includes a codec engine 1516, a memory interface 1517, a multiplexing / demultiplexing unit (MUX DMUX) 1518, a network interface 1519, and a video interface 1520.
  • MUX DMUX multiplexing / demultiplexing unit
  • the control unit 1511 controls the operation of each processing unit in the video processor 1332 such as the display interface 1512, the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the control unit 1511 includes, for example, a main CPU 1531, a sub CPU 1532, and a system controller 1533.
  • the main CPU 1531 executes a program and the like for controlling the operation of each processing unit in the video processor 1332.
  • the main CPU 1531 generates a control signal according to the program and supplies it to each processing unit (that is, controls the operation of each processing unit).
  • the sub CPU 1532 plays an auxiliary role of the main CPU 1531.
  • the sub CPU 1532 executes a child process such as a program executed by the main CPU 1531, a subroutine, or the like.
  • the system controller 1533 controls operations of the main CPU 1531 and the sub CPU 1532 such as designating a program to be executed by the main CPU 1531 and the sub CPU 1532.
  • the display interface 1512 outputs the image data to, for example, the connectivity 1321 under the control of the control unit 1511.
  • the display interface 1512 converts image data of digital data into an analog signal, and outputs it to a monitor device or the like of the connectivity 1321 as a reproduced video signal or as image data of the digital data.
  • the display engine 1513 Under the control of the control unit 1511, the display engine 1513 performs various conversion processes such as format conversion, size conversion, color gamut conversion, and the like so as to match the image data with hardware specifications such as a monitor device that displays the image. I do.
  • the image processing engine 1514 performs predetermined image processing such as filter processing for improving image quality on the image data under the control of the control unit 1511.
  • the internal memory 1515 is a memory provided in the video processor 1332 that is shared by the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 is used, for example, for data exchange performed between the display engine 1513, the image processing engine 1514, and the codec engine 1516.
  • the internal memory 1515 stores data supplied from the display engine 1513, the image processing engine 1514, or the codec engine 1516, and stores the data as needed (eg, upon request). This is supplied to the image processing engine 1514 or the codec engine 1516.
  • the internal memory 1515 may be realized by any storage device, but is generally used for storing a small amount of data such as image data or parameters in units of blocks. It is desirable to realize a semiconductor memory having a relatively small capacity but a high response speed (for example, as compared with the external memory 1312) such as “Static Random Access Memory”.
  • the codec engine 1516 performs processing related to encoding and decoding of image data.
  • the encoding / decoding scheme supported by the codec engine 1516 is arbitrary, and the number thereof may be one or plural.
  • the codec engine 1516 may be provided with codec functions of a plurality of encoding / decoding schemes, and may be configured to perform encoding of image data or decoding of encoded data using one selected from them.
  • the codec engine 1516 includes, for example, MPEG-2 video 1541, AVC / H.2641542, HEVC / H.2651543, HEVC / H.265 (Scalable) 1544, as function blocks for processing related to the codec.
  • HEVC / H.265 (Multi-view) 1545 and MPEG-DASH 1551 are included.
  • MPEG-2 Video1541 is a functional block that encodes and decodes image data in the MPEG-2 format.
  • AVC / H.2641542 is a functional block that encodes and decodes image data using the AVC method.
  • HEVC / H.2651543 is a functional block that encodes and decodes image data using the HEVC method.
  • HEVC / H.265 (Scalable) 1544 is a functional block that performs scalable encoding and scalable decoding of image data using the HEVC method.
  • HEVC / H.265 (Multi-view) 1545 is a functional block that multi-view encodes or multi-view decodes image data using the HEVC method.
  • MPEG-DASH 1551 is a functional block that transmits and receives image data using the MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP) method.
  • MPEG-DASH is a technology for streaming video using HTTP (HyperText Transfer Protocol), and selects and transmits appropriate data from multiple encoded data with different resolutions prepared in advance in segments. This is one of the features.
  • MPEG-DASH 1551 generates a stream compliant with the standard, controls transmission of the stream, and the like.
  • MPEG-2 Video 1541 to HEVC / H.265 (Multi-view) 1545 described above are used. Is used.
  • the memory interface 1517 is an interface for the external memory 1312. Data supplied from the image processing engine 1514 or the codec engine 1516 is supplied to the external memory 1312 via the memory interface 1517. The data read from the external memory 1312 is supplied to the video processor 1332 (the image processing engine 1514 or the codec engine 1516) via the memory interface 1517.
  • a multiplexing / demultiplexing unit (MUX DMUX) 1518 performs multiplexing and demultiplexing of various data related to images such as a bit stream of encoded data, image data, and a video signal.
  • This multiplexing / demultiplexing method is arbitrary.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can not only combine a plurality of data into one but also add predetermined header information or the like to the data.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 not only divides one data into a plurality of data but also adds predetermined header information or the like to each divided data. it can.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 can convert the data format by multiplexing / demultiplexing.
  • the multiplexing / demultiplexing unit (MUX DMUX) 1518 multiplexes the bitstream, thereby transporting the transport stream, which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • the transport stream which is a bit stream in a transfer format, or data in a file format for recording (file data).
  • file data file format for recording
  • the network interface 1519 is an interface for a broadband modem 1333, connectivity 1321, etc., for example.
  • the video interface 1520 is an interface for the connectivity 1321, the camera 1322, and the like, for example.
  • the transport stream is supplied to the multiplexing / demultiplexing unit (MUX DMUX) 1518 via the network interface 1519.
  • MUX DMUX multiplexing / demultiplexing unit
  • codec engine 1516 the image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and is connected to, for example, the connectivity 1321 through the display interface 1512. And the image is displayed on the monitor.
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by a multiplexing / demultiplexing unit (MUX DMUX) 1518, converted into file data, and video
  • MUX DMUX multiplexing / demultiplexing unit
  • encoded data file data obtained by encoding image data read from a recording medium (not shown) by the connectivity 1321 or the like is transmitted through a video interface 1520 via a multiplexing / demultiplexing unit (MUX DMUX). ) 1518 to be demultiplexed and decoded by the codec engine 1516.
  • Image data obtained by decoding by the codec engine 1516 is subjected to predetermined image processing by the image processing engine 1514, subjected to predetermined conversion by the display engine 1513, and supplied to, for example, the connectivity 1321 through the display interface 1512. The image is displayed on the monitor.
  • image data obtained by decoding by the codec engine 1516 is re-encoded by the codec engine 1516, multiplexed by the multiplexing / demultiplexing unit (MUX DMUX) 1518, and converted into a transport stream,
  • the data is supplied to, for example, the connectivity 1321 and the broadband modem 1333 via the network interface 1519 and transmitted to another device (not shown).
  • image data and other data are exchanged between the processing units in the video processor 1332 using, for example, the internal memory 1515 or the external memory 1312.
  • the power management module 1313 controls power supply to the control unit 1511, for example.
  • the present technology when the present technology is applied to the video processor 1332 configured as described above, the present technology according to each embodiment described above may be applied to the codec engine 1516. That is, for example, the codec engine 1516 may have a functional block that realizes the image encoding device according to each of the above-described embodiments. Further, for example, the codec engine 1516 may have the function of the bitstream combination device according to each of the above-described embodiments. For example, the codec engine 1516 may perform smart rendering editing by the method described in the second embodiment to the fourth embodiment so that bitstreams can be combined. In this way, the video processor 1332 can obtain the same effects as those described above with reference to FIGS.
  • the present technology (that is, the functions of the image encoding device and the bit stream combining device according to each of the above-described embodiments) may be realized by hardware such as a logic circuit or may be incorporated. It may be realized by software such as a program, or may be realized by both of them.
  • the configuration of the video processor 1332 is arbitrary and may be other than the two examples described above.
  • the video processor 1332 may be configured as one semiconductor chip, but may be configured as a plurality of semiconductor chips. For example, a three-dimensional stacked LSI in which a plurality of semiconductors are stacked may be used. Further, it may be realized by a plurality of LSIs.
  • Video set 1300 can be incorporated into various devices that process image data.
  • the video set 1300 can be incorporated in the television device 900 (FIG. 33), the mobile phone 920 (FIG. 34), the recording / reproducing device 940 (FIG. 35), the imaging device 960 (FIG. 36), or the like.
  • the apparatus can obtain the same effects as those described above with reference to FIGS.
  • the video processor 1332 can implement as a structure to which this technique is applied.
  • the video processor 1332 can be implemented as a video processor to which the present technology is applied.
  • the processor or the video module 1311 indicated by the dotted line 1341 can be implemented as a processor or a module to which the present technology is applied.
  • the video module 1311, the external memory 1312, the power management module 1313, and the front end module 1314 can be combined and implemented as a video unit 1361 to which the present technology is applied. In any case, the same effects as those described above with reference to FIGS. 1 to 31 can be obtained.
  • any configuration including the video processor 1332 can be incorporated into various devices that process image data, as in the case of the video set 1300.
  • a video processor 1332 a processor indicated by a dotted line 1341, a video module 1311, or a video unit 1361, a television device 900 (FIG. 33), a mobile phone 920 (FIG. 34), a recording / playback device 940 (FIG. 35), The imaging device 960 (FIG. 36) or the like can be incorporated.
  • the apparatus can obtain the same effects as those described above with reference to FIGS. 1 to 31 as in the case of the video set 1300. .
  • the method for transmitting such information is not limited to such an example.
  • these pieces of information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means. That is, information may be transmitted on a transmission path different from that of the image (or bit stream).
  • Information may be recorded on a recording medium (or another recording area of the same recording medium) different from the image (or bit stream). Furthermore, the information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • this technique can also take the following structures.
  • a setting unit that sets header information about a virtual reference decoder based on information about a position and information about a reference of a current picture that is a processing target of image data;
  • An image encoding apparatus comprising: an encoding unit that encodes the image data and generates a bitstream including encoded data of the image data and header information set by the setting unit.
  • the setting unit further sets information indicating combination of bitstreams.
  • the setting unit further sets information indicating a difference in position between the access unit at the end of the bitstream and a prebun non-discardable picture.
  • (1) to (3), (5) to (9) The image encoding device according to any one of the above.
  • the setting unit The information indicating the null unit type is set to a value indicating an IDR picture, Set the information indicating the combination of the bitstreams to true,
  • the setting unit when the current picture is a terminal picture, The information indicating the null unit type is set to a value indicating that it is a reference trailing picture that is not a temporal sublayer, Set the information indicating the combination of the bitstreams to false, The image according to any one of (1) to (5) and (7) to (9), wherein information indicating a difference in position between the access unit at the end of the bitstream and a prebunon discardable picture is set to a minimum value.
  • Encoding device when the current picture is a terminal picture, The information indicating the null unit type is set to a value indicating that it is a reference trailing picture that is not a temporal sublayer, Set the information indicating the combination of the bitstreams to false, The image according to any one of (1) to (5) and (7) to (9), wherein information indicating a difference in position between the access unit at the end of the bitstream and a prebunon discardable picture is set to a minimum value.
  • Encoding device when the current picture is a terminal picture
  • the setting unit when the current picture is neither the head nor the end, and is a reference picture, The information indicating the null unit type is set to a value indicating that it is a reference trailing picture that is not a temporal sublayer, Set the information indicating the combination of the bitstreams to false, The image according to any one of (1) to (6), (8), and (9), wherein information indicating a difference in position between the access unit at the end of the bitstream and a prebunon discardable picture is set to a minimum value.
  • Encoding device when the current picture is neither the head nor the end, and is a reference picture, The information indicating the null unit type is set to a value indicating that it is a reference trailing picture that is not a temporal sublayer, Set the information indicating the combination of the bitstreams to false, The image according to any one of (1) to (6), (8), and (9), wherein information indicating a difference in position between the access unit at the end of the bitstream and a prebunon discardable picture is set
  • the setting unit when the current picture is neither the head nor the end, and is not a reference picture, The information indicating the null unit type is set to a value indicating a non-reference picture that is not a temporal sublayer, Set the information indicating the combination of the bitstreams to false,
  • the image encoding device according to any one of (1) to (7) and (9), wherein information indicating a difference in position between the access unit at the end of the bit stream and a prebun non-discardable picture is set to a minimum value.
  • Rate control for setting a code amount target value based on information on the position of the current picture, information indicating whether the virtual reference decoder is adjusted, and information indicating the generated code amount
  • the image encoding device according to any one of (1) to (8).
  • the header information on the virtual reference decoder is set, An image encoding method for encoding the image data and generating a bitstream including the encoded data of the image data and set header information.
  • An image comprising: an update unit that updates header information relating to a virtual reference decoder included in a bitstream including encoded data obtained by encoding image data so that the bitstream can be combined with another bitstream.
  • the update unit is configured so that the relationship between the position of the encoded picture buffer at the end of the combined bitstream and the position of the encoded picture buffer at the beginning of the combined bitstream is appropriate.
  • the image processing device according to any one of (11), (13) to (19), wherein the bitstream is re-encoded.
  • the update unit updates the information indicating the null unit type at the end of the bitstream to a value corresponding to the prebunon discardable picture. Any one of (11), (12), (14) to (19) An image processing apparatus according to claim 1.
  • the update unit updates information related to reading from the encoded picture buffer to a value suitable for combining bitstreams. (11) to (13), or (15) to (19) The image processing apparatus described.
  • the update unit searches for a prebnon discardable picture at the end of the bitstream, and updates a position difference between the access unit at the end of the bitstream and the prebnon discardable picture based on a search result.
  • the image processing apparatus according to any one of (11) to (14) and (16) to (19).
  • the updating unit updates information on reading from the encoded picture buffer and the decoded picture buffer at the end of the bit stream to a value suitable for combining bit streams.
  • the update unit updates information on reading from the encoded picture buffer and the decoded picture buffer at the head of the bitstream to a value suitable for bitstream combination.
  • the update unit reads information indicating a read delay from the encoded picture buffer of the head access unit of the bit stream to be combined, and reads a delay from the encoded picture buffer at the end of the bit stream to be combined.
  • the image processing apparatus according to any one of (11) to (17) and (19), wherein the value is updated to a value based on the indicated information.
  • the image processing device according to any one of (11) to (18), further including a combining unit that combines the bitstream updated by the updating unit with another bitstream.
  • 100 image encoding device 100 image encoding device, 125 rate control unit, 126 nal_unit_type determination unit, 141 HRD trace unit, 142 Target Bit determination unit, 200 bitstream combiner, 211 buffer determination unit, 212 nal_unit_type rewrite unit, 213 Buffering Period rewrite unit, 214 Bitstream combiner, 300 bitstream combiner, 312 prevNonDiscardablePic search unit, 400 bitstream combiner, 413 prevCpbRemovalDelay search unit, 414 Buffering Period rewrite unit, 415 Picture Timing SEI rewrite unit

Landscapes

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

Abstract

 本開示は、ビットストリームをより容易に結合することができるようにする画像符号化装置および方法、並びに、画像処理装置および方法に関する。 画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定する設定部と、前記画像データを符号化し、前記画像データの符号化データと、前記設定部により設定されたヘッダ情報とを含むビットストリームを生成する符号化部とを備えるようにする。本開示は、例えば、画像処理装置または画像符号化装置等に適用することができる。

Description

画像符号化装置および方法、並びに、画像処理装置および方法
 本開示は、画像符号化装置および方法、並びに、画像処理装置および方法に関し、特に、ビットストリームをより容易に結合することができるようにした画像符号化装置および方法、並びに、画像処理装置および方法に関する。
 従来、動画像の編集において、複数の動画像同士を結合する編集がある。一般的に、デジタル信号処理において動画像データはデータサイズが大きいので、符号化(圧縮)されて利用されることが多い。画像データの汎用的な符号化方式として、例えばMPEG(Moving Picture Experts Group)、AVC(Advanced Video Coding)、HEVC(High Efficiency Video Coding)等がある。
 このように符号化された動画像データを用いて、上述したような動画像同士の結合を行う場合、複数本のビットストリームから1本のビットストリームを生成することになる。その際、各ビットストリームをすべて復号して非圧縮の状態にしてから結合し、結合後の動画像を符号化して1本のビットストリームを生成する方法が考えられるが、その場合、ビットストリームのデータサイズが大きくなればなるほど、処理の負荷が大きなものとなってしまうおそれがある。
 そこで、このように符号化された動画像データをフレーム精度で切り出し編集する際に、エンコード時間を短くし且つ画質を劣化させない技術としてスマートレンダリング編集が考えられた(例えば、特許文献1および特許文献2参照)。
 ところで、AVCやHEVCにおいては、ビットストリームを破綻なく伝送するために、仮想参照デコーダHRD(Hypothetical reference decoder)という概念が導入されている。エンコーダは、仮想参照デコーダを破綻させないようにビットストリームを生成する必要がある。上述したスマートレンダリング編集における符号化においても同様である。
特開2008-22361号公報 特開2008-131147号公報
 しかしながら、スマートレンダリング編集において、単純に、動画の所定のエンコード区間を符号化しただけでは、結合したビットストリーム同士の関係が考慮されていないため、結合した部分を超えて(結合後のビットストリーム全体において)仮想参照デコーダを破綻させないようにすることを保証することができない。すなわち、結合後のビットストリームが、正しく復号することができないものとなってしまうおそれがあった。
 結合後のビットストリームが正しく復号することができるようにするためには、ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換える等の煩雑な作業が必要であった。
 本開示は、このような状況に鑑みてなされたものであり、ビットストリームをより容易に結合することができるようにするものである。
 本技術の一側面は、画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定する設定部と、前記画像データを符号化し、前記画像データの符号化データと、前記設定部により設定されたヘッダ情報とを含むビットストリームを生成する符号化部とを備える画像符号化装置である。
 前記設定部は、ナルユニットタイプを示す情報を設定することができる。
 前記設定部は、ビットストリームの結合を示す情報をさらに設定することができる。
 前記設定部は、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報をさらに設定することができる。
 前記設定部は、前記カレントピクチャが先頭のピクチャである場合、前記ナルユニットタイプを示す情報を、IDRピクチャであることを示す値に設定し、前記ビットストリームの結合を示す情報を真に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定することができる。
 前記設定部は、前記カレントピクチャが終端のピクチャである場合、前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記ビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定することができる。
 前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャである場合、前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、前記ビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定することができる。
 前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャでもない場合、前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない非参照ピクチャであることを示す値に設定し、前記ビットストリームの結合を示す情報を偽に設定し、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定することができる。
 前記カレントピクチャの位置に関する情報と、前記仮想参照デコーダの調整を行う区間であるかを示す情報と、発生符号量を示す情報とに基づいて、符号量の目標値を設定するレート制御部をさらに備えることができる。
 本技術の一側面は、また、画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定し、前記画像データを符号化し、前記画像データの符号化データと、設定されたヘッダ情報とを含むビットストリームを生成する画像符号化方法である。
 本技術の他の側面は、画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する更新部を備える画像処理装置である。
 前記更新部は、結合されるビットストリームの終端の符号化済みピクチャバッファの位置と、結合するビットストリームの先頭の前記符号化済みピクチャバッファの位置との関係が適切となるように、前記ビットストリームを再符号化することができる。
 前記更新部は、前記ビットストリームの終端のナルユニットタイプを示す情報を、プレブノンディスカーダブルピクチャに該当する値に更新することができる。
 前記更新部は、符号化済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新することができる。
 前記更新部は、前記ビットストリームの終端のプレブノンディスカーダブルピクチャを探索し、探索結果に基づいて、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を更新することができる。
 前記更新部は、前記ビットストリームの終端の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新することができる。
 前記更新部は、前記ビットストリームの先頭の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新することができる。
 前記更新部は、結合するビットストリームの先頭のアクセスユニットの符号化済みピクチャバッファからの読み出し遅延を示す情報を、結合されるビットストリームの終端の符号化済みピクチャバッファからの読み出し遅延を示す情報に基づく値に更新することができる。
 前記更新部により更新された前記ビットストリームを他のビットストリームと結合する結合部をさらに備えることができる。
 本技術の他の側面は、また、画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する画像処理方法である。
 本技術の一側面においては、画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報が設定され、画像データが符号化され、画像データの符号化データと、設定されたヘッダ情報とを含むビットストリームが生成される。
 本技術の他の側面においては、画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報が、前記ビットストリームを他の前記ビットストリームと結合できるように更新される。
 本開示によれば、画像データを符号化若しくは処理することができる。特に、ビットストリームをより容易に結合することができる。
スマートレンダリング編集の様子の例を説明する図である。 スマートレンダリング編集の様子の例を説明する図である。 仮想参照デコーダの例を説明する図である。 スマートレンダリング編集の様子の例を説明する図である。 スマートレンダリング編集の様子の例を説明する図である。 画像符号化装置の主な構成例を示すブロック図である。 レート制御部の主な構成例を示すブロック図である。 仮想参照デコーダに関するパラメータについて説明する図である。 符号化処理の流れの例を説明するフローチャートである。 ナルユニットタイプ判定処理の流れの例を説明するフローチャートである。 レート制御処理の流れの例を説明するフローチャートである。 HRDトレース処理の流れの例を説明するフローチャートである。 ターゲットビット決定処理の流れの例を説明するフローチャートである。 スマートレンダリング編集の様子の例を説明する図である。 ビットストリーム結合装置の主な構成例を示すブロック図である。 ビットストリーム結合処理の流れの例を説明するフローチャートである。 バッファ判定処理の流れの例を説明するフローチャートである。 ナルユニットタイプ書き換え処理の流れの例を説明するフローチャートである。 バッファリングピリオド書き換え処理の流れの例を説明するフローチャートである。 スマートレンダリング編集の様子の例を説明する図である。 ビットストリーム結合装置の主な構成例を示すブロック図である。 ビットストリーム結合処理の流れの例を説明するフローチャートである。 プレブノンディスカーダブルピクチャ探索処理の流れの例を説明するフローチャートである。 バッファリングピリオド書き換え処理の流れの例を説明するフローチャートである。 スマートレンダリング編集の様子の例を説明する図である。 ビットストリーム結合装置の主な構成例を示すブロック図である。 ビットストリーム結合処理の流れの例を説明するフローチャートである。 プレブCpbリムーバブルディレイ探索処理の流れの例を説明するフローチャートである。 バッファリングピリオド書き換え処理の流れの例を説明するフローチャートである。 ピクチャタイミングSEI書き換え処理の流れの例を説明するフローチャートである。 スマートレンダリング編集の様子の例を説明する図である。 コンピュータの主な構成例を示すブロック図である。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。 ビデオセットの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の一例を示すブロック図である。 ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
 以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.第1の実施の形態(画像符号化装置)
 2.第2の実施の形態(ビットストリーム結合装置)
 3.第3の実施の形態(ビットストリーム結合装置)
 4.第4の実施の形態(ビットストリーム結合装置)
 5.第5の実施の形態(コンピュータ)
 6.第6の実施の形態(応用例)
 7.第7の実施の形態(セット・ユニット・モジュール・プロセッサ)
 <1.第1の実施の形態>
  <スマートレンダリング編集>
 従来、動画像の編集において、複数の動画像同士を結合する編集がある。一般的に、デジタル信号処理において動画像データはデータサイズが大きいので、符号化(圧縮)されて利用されることが多い。画像データの汎用的な符号化方式として、例えばMPEG(Moving Picture Experts Group)、AVC(Advanced Video Coding)、HEVC(High Efficiency Video Coding)等がある。
 このように符号化された動画像データを用いて、上述したような動画像同士の結合を行う場合、複数本のビットストリームから1本のビットストリームを生成することになる。その際、各ビットストリームをすべて復号して非圧縮の状態にしてから結合し、結合後の動画像を符号化して1本のビットストリームを生成する方法が考えられるが、その場合、ビットストリームのデータサイズが大きくなればなるほど、処理の負荷が大きなものとなってしまうおそれがある。
 そこで、例えば特許文献1や特許文献2に記載のように、このように符号化された動画像データをフレーム精度で切り出し編集する際に、エンコード時間を短くし且つ画質を劣化させない技術としてスマートレンダリング編集が考えられた。
 ところで、AVCやHEVCにおいては、ビットストリームを破綻なく伝送するために、仮想参照デコーダ(HRD(Hypothetical reference decoder))という概念が導入されている。エンコーダは、仮想参照デコーダを破綻させないようにビットストリームを生成する必要がある。上述したスマートレンダリング編集における符号化においても同様である。
 しかしながら、スマートレンダリング編集において、単純に、動画の所定のエンコード区間を符号化しただけでは、結合したビットストリーム同士の関係が考慮されていないため、結合した部分を超えて(結合後のビットストリーム全体において)仮想参照デコーダを破綻させないようにすることを保証することができない。結合後のビットストリームが正しく復号することができるようにするためには、ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換える等の煩雑な作業が必要であった。
 例えば、図1は、画像データがAVCで符号化されたビットストリーム同士を結合する場合の例を示している。図1のAは、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図1の結合においては、ストリームBの先頭がストリームAの終端に接続される。図1のBは、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。
 以下において、このような結合に用いられる、ストリームAを結合されるビットストリーム(ストリーム)とも称し、ストリームBを結合するビットストリーム(ストリーム)とも称する。
 図1のBに示されるように、この例の場合、結合するビットストリームであるストリームB(StreamB)の先頭のCpbRemovalDelayを、結合されるビットストリームであるストリームA(StreamA)の終端のCpbRemovalDelay+1にする必要がある。そのためには、ユーザがストリームA(StreamA)の終端のCpbRemovalDelayを調べ、ストリームB(StreamB)の先頭のCpbRemovalDelayを更新しなければならず、煩雑な作業を必要とした。
 図2は、画像データがHEVCで符号化されたビットストリーム同士を結合する場合の例を示している。図2のAは、図1のAと同様に、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図2の結合も図1と同様に行われる。すなわち、ストリームBの先頭がストリームAの終端に接続される。図2のBは、図1のBと同様に、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。
 図2に示されるように、HEVCでは、ビットストリームを簡単に結合させる目的で、Buffering Period SEI(Supplemental Enhancement Information)にconcatenation_flagが追加された。concatenation_flag=1の場合は、ビットストリームが結合されたことを表しており、Cpb(Coded Picture Buffer(符号化済みピクチャバッファ))の引き抜きタイミングを表す、AuNominalRemovalTimeの計算方法が変更される。この際、Picture Timing SEIに示されるau_cpb_removal_delay_minus1を計算に使用しないことが特徴となる。
 HEVCのビットストリームの場合、このconcatenation_flag=1とするだけで日本のビットストリームを結合してもHRD的に破たんのないストリームを生成することが出来る。
 図3は、concatenation_flag=1の時のAuNominalRemovalTimeの実際の計算方法の例を表したものである。この計算を見るとpicture timing SEIのau_cpb_removal_delay_minus1を使わずにシームレスな結合が出来ていることが分かる。
 このようにHEVCでは、concatenation_flagを使うことで簡単にビットストリームを結合できる場合がある。しかしながら、常に、このように簡単にビットストリームを結合することができるわけではない。
 図4は、AVCのビットストリームの結合においてBピクチャ(B-picture)を含むようなリオーダが発生する場合の例である。図4のAは、図1のAと同様に、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図4のBは、図1のBと同様に、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。この場合、図1と同様の処理でビットストリームを結合することができる。
 これに対して、HEVCのビットストリームの結合においてBピクチャ(B-picture)を含むようなリオーダが発生する場合、AVCよりも処理が複雑になるおそれがあった。図5は、その場合の例を示している。図5のAは、図2のAと同様に、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図5のBは、図2のBと同様に、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。
 図5に示されるように、この例の場合、結合するビットストリームであるストリームB(StreamB)のconcatenation_flag=1とし、IDR(Instantaneous Decoding Refresh)ピクチャでcpb_removal_delay=0として運用し、ユーザは、結合されるビットストリームであるストリームA(StreamA)の終端のprevNonDiscardablePicの位置を確認して、ストリームB(StreamB)のauCpbRemovalDelayDeltaMinus1を書き換える必要があった。つまり、煩雑な作業を必要とした。図5の例の場合、ストリームA(StreamA)の終端のprevNonDiscardablePicは、(n+3)のピクチャ(nal_unit_typeがTRAIL_R)であるので、ストリームB(StreamB)のauCpbRemovalDelayDeltaMinus1=2である。
 そこで、HEVCにおいてビットストリームを結合する前にシンタクス(Syntax)を適切に設定することでより容易にビットストリーム同士を結合することができるようにする。
  <画像符号化装置>
 例えば、画像データの符号化の際に、その画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定し、その画像データを符号化した符号化データと、その設定されたヘッダ情報とを含むビットストリームを生成するようにする。
 ヘッダ情報とは、各階層(シーケンス/ピクチャ/スライス/タイル/最大符号化単位/符号化単位等)に対して、各階層に設定されたデータに先立ってパース(参照する)情報又は各階層に設定されたデータとは独立してパース(参照する)情報を意味する。例えば、ビデオパラメータセット(VPS(Video Parameter Set))、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS(Picture Parameter Set))、スライスヘッダ(Slice Header)、ナルユニットタイプ(nal_unit_typ)、SEI(Supplemental Enhancement Information)等の情報がヘッダ情報に該当する。ヘッダ情報は、ビットストリームのシンタクスとして明示的に定義された情報だけではなく、各階層の先頭に位置する情報も含む。
 図6は、本技術を適用した画像処理装置の一態様である画像符号化装置の構成の一例を示すブロック図である。図6に示される画像符号化装置100は、例えば、HEVCの予測処理、またはそれに準ずる方式の予測処理を用いて動画像の画像データを符号化する。
 図6に示されるように画像符号化装置100は、画面並べ替えバッファ111、演算部112、直交変換部113、量子化部114、可逆符号化部115、蓄積バッファ116、逆量子化部117、および逆直交変換部118を有する。また、画像符号化装置100は、演算部119、イントラ予測部120、ループフィルタ121、フレームメモリ122、インター予測部123、および予測画像選択部124を有する。
 さらに、画像符号化装置100は、レート制御部125およびnal_unit_type判定部126を有する。
 画面並べ替えバッファ111は、入力された画像データの各フレームの画像をその表示順に記憶し、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部112に供給する。また、画面並べ替えバッファ111は、フレームの順番を並び替えた画像を、イントラ予測部120およびインター予測部123にも供給する。
 演算部112は、画面並べ替えバッファ111から読み出された画像から、予測画像選択部124を介してイントラ予測部120若しくはインター予測部123から供給される予測画像を減算し、その差分情報(残差データ)を直交変換部113に供給する。例えば、イントラ符号化が行われる画像の場合、演算部112は、画面並べ替えバッファ111から読み出された画像から、イントラ予測部120から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部112は、画面並べ替えバッファ111から読み出された画像から、インター予測部123から供給される予測画像を減算する。
 直交変換部113は、演算部112から供給される残差データに対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部113は、その直交変換により得られた変換係数を量子化部114に供給する。
 量子化部114は、直交変換部113から供給される変換係数を量子化する。量子化部114は、レート制御部125から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部114は、量子化された変換係数を可逆符号化部115に供給する。
 可逆符号化部115は、量子化部114において量子化された変換係数を任意の符号化方式で符号化する。また、可逆符号化部115は、イントラ予測のモードを示す情報などをイントラ予測部120から取得し、インター予測のモードを示す情報や差分動きベクトル情報などをインター予測部123から取得する。さらに、可逆符号化部115は、nal_unit_type判定部126において設定されたconcatenation_flagやnal_unit_type等の情報を取得する。
 可逆符号化部115は、これらの各種情報を任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)のヘッダ情報の一部とする(多重化する)。可逆符号化部115は、符号化して得られた符号化データを蓄積バッファ116に供給して蓄積させる。
 可逆符号化部115の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
 蓄積バッファ116は、可逆符号化部115から供給された符号化データを、一時的に保持する。蓄積バッファ116は、所定のタイミングにおいて、保持している符号化データを、画像符号化装置100の外部に出力する。すなわち、蓄積バッファ116は、符号化データを伝送する伝送部でもある。
 また、量子化部114において量子化された変換係数は、逆量子化部117にも供給される。逆量子化部117は、その量子化された変換係数を、量子化部114による量子化に対応する方法で逆量子化する。逆量子化部117は、その逆量子化により得られた変換係数を、逆直交変換部118に供給する。
 逆直交変換部118は、逆量子化部117から供給された変換係数を、直交変換部113による直交変換処理に対応する方法で逆直交変換する。逆直交変換部118は、逆直交変換された出力(復元された残差データ)を演算部119に供給する。
 演算部119は、逆直交変換部118から供給された、復元された残差データに、予測画像選択部124を介してイントラ予測部120若しくはインター予測部123から供給される予測画像を加算し、局所的に再構成された画像(以下、再構成画像と称する)を得る。その再構成画像は、イントラ予測部120およびループフィルタ121に供給される。
 イントラ予測部120は、演算部119から参照画像として供給される再構成画像である処理対象ピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部120は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
 イントラ予測部120は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ111から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部120は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部124に供給する。
 また、上述したように、イントラ予測部120は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部115に供給し、符号化させる。
 ループフィルタ121は、デブロックフィルタや適応ループフィルタ等を含み、演算部119から供給される再構成画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ121は、再構成画像に対してデブロックフィルタ処理を行うことにより再構成画像のブロック歪を除去する。また、例えば、ループフィルタ121は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。
 なお、ループフィルタ121が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ121は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部115に供給し、それを符号化させるようにすることもできる。
 ループフィルタ121は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ122に供給する。
 なお、ループフィルタ121が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ121は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部115に供給し、それを符号化させるようにすることもできる。
 フレームメモリ122は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、インター予測部123に供給する。
 インター予測部123は、画面並べ替えバッファ111から供給される入力画像と、フレームメモリ122から読み出した参照画像とを用いてインター予測処理を行う。より具体的には、インター予測部123は、動き予測を行って動きベクトルを検出し、その動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。
 インター予測部123は、候補となる全てのインター予測モードで予測画像を生成する。インター予測部123は、画面並べ替えバッファ111から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。インター予測部123は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部124に供給する。
 インター予測部123は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部115に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
 予測画像選択部124は、演算部112演算部119に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部124は、予測画像の供給元としてイントラ予測部120を選択し、そのイントラ予測部120から供給される予測画像を演算部112や演算部119に供給する。また、例えば、インター符号化の場合、予測画像選択部124は、予測画像の供給元としてインター予測部123を選択し、そのインター予測部123から供給される予測画像を演算部112や演算部119に供給する。
 レート制御部125は、蓄積バッファ116に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部114の量子化動作のレートを制御する。
 nal_unit_type判定部126は、画面並べ替えバッファ111から、当該ピクチャがストリームの先頭のピクチャであるか否かを示す情報(isFirstPicture)、当該ピクチャがストリームの終端のピクチャであるか否かを示す情報(isLastPicture)、並びに、当該ピクチャが参照されるか否か(参照ピクチャであるか否か)を示す情報(isReferencePicture)を取得する。
 nal_unit_type判定部126は、ビットストリームの結合を示す情報(concatenation_flag)、ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報(auCpbRemovalDelayMinus1)、並びに、ナルユニットタイプを示す情報(nal_unit_type)を設定する。
 より具体的には、例えば、処理対象であるカレントピクチャがストリームの先頭のピクチャである場合、nal_unit_type判定部126は、concatenation_flagを「1(すなわち、真)」に設定し、auCpbRemovalDelayMinus1を「0(すなわち、最小値)」に設定し、nal_unit_typeをIDR_W_RADL若しくはIDR_N_LP(すなわち、IDRピクチャであることを示す値)に設定する。
 また、例えば、処理対象であるカレントピクチャがストリームの先頭でなく終端のピクチャである場合、nal_unit_type判定部126は、concatenation_flagを「0(すなわち、偽)」に設定し、auCpbRemovalDelayMinus1を「0(すなわち、最小値)」に設定し、nal_unit_typeをTRAIL_R(すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値)に設定する。
 さらに、例えば、処理対象であるカレントピクチャがストリームの先頭でも終端でもなく、参照ピクチャである場合、nal_unit_type判定部126は、concatenation_flagを「0(すなわち、偽)」に設定し、auCpbRemovalDelayMinus1を「0(すなわち、最小値)」に設定し、nal_unit_typeをTRAIL_R(すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値)に設定する。
 また、例えば、処理対象であるカレントピクチャがストリームの先頭でも終端でもなく、参照ピクチャでもない場合、nal_unit_type判定部126は、concatenation_flagを「0(すなわち、偽)」に設定し、auCpbRemovalDelayMinus1を「0(すなわち、最小値)」に設定し、nal_unit_typeをTRAIL_N(テンポラルサブレイヤでない非参照ピクチャであることを示す値)に設定する。
 nal_unit_type判定部126は、以上のように設定したこれらの情報(concatenation_flag、auCpbRemovalDelayMinus1、nal_unit_type等)を可逆符号化部115に供給し、それらの情報が、可逆符号化部115において生成されるビットストリームに含められるようにする。
  <レート制御部>
 図7は、レート制御部125の主な構成例を示すブロック図である。図7に示される世に、レート制御部125は、HRDトレース部141およびTarget Bit決定部142を有する。
 HRDトレース部141は、画面並べ替えバッファ111から、処理対象であるカレントピクチャの位置に関する情報と、仮想参照デコーダの調整を行う区間であるかを示す情報とを取得する。より具体的には、HRDトレース部141は、カレントピクチャの位置に関する情報として、例えば、当該ピクチャがストリームの終端のピクチャであるか否かを示す情報(isLastPicture)を取得する。また、HRDトレース部141は、仮想参照デコーダの調整を行う区間であるかを示す情報として、例えば、符号化済みピクチャバッファ(CPB)のトレースレート(trace_rate)、フレームレート(frame_rate)、およびCPBサイズ(cpb_size)等を取得する。これらのパラメータは、図8に示されるように、符号化済みピクチャバッファ(CPB)に関する情報である。また、HRDトレース部141は、蓄積バッファ116から発生符号量(発生ビット量)を示す情報を取得する。
 HRDトレース部141は、これらの仮想参照デコーダ(HRD)に関する制御情報や発生符号量に基づいて、符号化済みピクチャバッファ(CPB)位置を示す情報(cpb_pos)を算出する。HRDトレース部141は、算出したCPB位置を示す情報(cpb_pos)をTarget Bit決定部142に供給する。
 Target Bit決定部142は、HRDトレース部141からCPB位置を示す情報(cpb_pos)を取得する。また、Target Bit決定部142は、終端で期待されるCPB位置を示す情報(target_cpb_pos)と、CPBの終端を調整する期間であるか否かを示す情報(isAdjustPeriod)とを、HRDトレース部141を介して画面並べ替えバッファ111から取得する。
 Target Bit決定部142は、これらの情報に基づいて、発生符号量の目標値を示す情報であるターゲットビット(target bit)を算出する。Target Bit決定部142は、算出したターゲットビット(target bit)を量子化部114に供給する。
 以上のように、画像符号化装置100は、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
 ・結合されるビットストリームの終端のnal_unit_typeがprevNonDiscardablePicの条件を満たす(例えば、TRAIL_Rなど)。
 ・結合されるビットストリームの終端のcpb位置が結合するビットストリーム先頭のcpb位置よりも高い。シンタクス的には、initial_cpb_removal_delayの値が高い。
 ・結合するビットストリームの先頭がconcatenation_flag=1である。
 ・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている(例えば、auCpbRemovalDelayDeltaMinus1=0)。
 これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、画像符号化装置100は、エンコードするときに結合することを事前に考慮して符号化を行うので、他のビットストリームとより容易に結合することができる状態のビットストリームを生成することができる。
  <符号化処理の流れ>
 次に、画像符号化装置100により実行される各処理の流れの例を説明する。最初に、符号化処理の流れの例を、図9のフローチャートを参照して説明する。
 符号化処理が開始されると、画面並べ替えバッファ111は、ステップS101において、入力された動画像の各フレーム(ピクチャ)の画像をその表示する順番に記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS102において、画面並べ替えバッファ111は、ビデオパラメータセット(VPS(Video Parameter Set))、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS(Picture Parameter Set))、スライスヘッダ、SEI等の、各種ヘッダ情報を生成する。
 ステップS103において、イントラ予測部120は、イントラ予測処理を行い、予測画像を生成する。また、ステップS104において、インター予測部123は、インター予測処理を行い、予測画像を生成する。
 ステップS105において、予測画像選択部124は、コスト関数値等に基づいて、ステップS103のイントラ予測処理により生成された予測画像と、ステップS104のインター予測処理により生成された予測画像のいずれか一方を選択する。
 ステップS106において、演算部112は、ステップS101の処理によりフレーム順を並び替えられた入力画像と、ステップS105の処理により選択された予測画像との差分を演算する。つまり、演算部112は、入力画像と予測画像との残差データを生成する。このようにして求められた残差データは、元の画像データに比べてデータ量が低減される。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。
 ステップS107において、直交変換部113は、ステップS106の処理により生成された残差データを直交変換する。
 ステップS108において、量子化部114は、ステップS107の処理により得られた直交変換係数を量子化する。
 ステップS109において、逆量子化部117は、ステップS108の処理により生成された量子化された係数(量子化係数とも称する)を、その量子化の特性に対応する特性で逆量子化する。
 ステップS110において、逆直交変換部118は、ステップS109の処理により得られた直交変換係数を逆直交変換する。
 ステップS111において、演算部119は、ステップS110の処理により復元された残差データに、ステップS105の処理により選択された予測画像を加算することにより、再構成画像の画像データを生成する。
 ステップS112においてループフィルタ121は、ステップS111の処理により生成された再構成画像の画像データにループフィルタ処理を行う。これにより、再構成画像のブロック歪み等が除去される。
 ステップS113において、フレームメモリ122は、ステップS112の処理により得られた復号画像データを記憶する。
 ステップS114において、nal_unit_type判定部126は、ナルユニットタイプ(nal_unit_type)判定処理を行い、ビットストリームの結合を示す情報(concatenation_flag)、ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報(auCpbRemovalDelayMinus1)、並びに、ナルユニットタイプを示す情報(nal_unit_type)を設定する。
 ステップS115において、可逆符号化部115は、ステップS108の処理により得られた、量子化された係数を符号化する。すなわち、残差データに対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
 また、このとき、可逆符号化部115は、ステップS105の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部115、イントラ予測部120から供給される最適イントラ予測モード情報、または、インター予測部123から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する(ビットストリームに含めるようにする)。
 さらに、可逆符号化部115は、ステップS114において設定された、ビットストリームの結合を示す情報(concatenation_flag)、ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報(auCpbRemovalDelayMinus1)、並びに、ナルユニットタイプを示す情報(nal_unit_type)を符号化し、符号化データに付加する(ビットストリームに含めるようにする)。
 ステップS116において蓄積バッファ116は、ステップS115の処理により得られた符号化データ等を蓄積する。蓄積バッファ116に蓄積された符号化データ等は、ビットストリームとして適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
 ステップS117において、レート制御部125は、ステップS116の処理により蓄積バッファ116に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部114の量子化動作のレートを制御する。また、レート制御部125は、量子化パラメータに関する情報を、量子化部114に供給する。
 ステップS117の処理が終了すると、符号化処理が終了する。
  <ナルユニットタイプ判定処理の流れ>
 次に、図9のステップS114において実行されるナルユニットタイプ判定処理の流れの例を、図10のフローチャートを参照して説明する。
 ナルユニットタイプ判定処理が開始されると、nal_unit_type判定部126は、ステップS131において、ステップS102において生成されたヘッダ情報の中からisFirstPictureを取得する。ステップS132において、nal_unit_type判定部126は、ステップS102において生成されたヘッダ情報の中からisLastPictureを取得する。ステップS133において、nal_unit_type判定部126は、ステップS102において生成されたヘッダ情報の中からisReferencePictureを取得する。
 ステップS134において、nal_unit_type判定部126は、concatenation_flagを「0(偽)」に設定する。ステップS135において、nal_unit_type判定部126は、auCpbRemovalDelayMinus1を「0(最小値)」に設定する。
 ステップS136において、nal_unit_type判定部126は、isFirstPictureの値が真(true)であるか否かを判定する。isFirstPictureの値が真(true)、すなわち、処理対象であるカレントピクチャがストリームの先頭のピクチャであると判定された場合、処理は、ステップS137に進む。
 ステップS137において、nal_unit_type判定部126は、concatenation_flagを「1(真)」に設定する。また、ステップS138において、nal_unit_type判定部126は、カレントピクチャのナルユニットタイプ(nal_unit_type)を、IDR_W_RADL若しくはIDR_N_LP(すなわち、IDRピクチャであることを示す値)に設定する。ステップS138の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図9に戻る。
 また、ステップS136において、isFirstPictureの値が偽(false)であり、処理対象であるカレントピクチャがストリームの先頭のピクチャでないと判定された場合、処理は、ステップS139に進む。
 ステップS139において、nal_unit_type判定部126は、isLastPictureの値が真(true)であるか否かを判定する。isLastPictureの値が真(true)、すなわち、処理対象であるカレントピクチャがストリームの終端のピクチャであると判定された場合、処理は、ステップS140に進む。
 ステップS140において、nal_unit_type判定部126は、カレントピクチャのナルユニットタイプ(nal_unit_type)を、TRAIL_R(すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値)に設定する。ステップS140の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図9に戻る。
 また、ステップS139において、isLastPictureの値が偽(false)であり、処理対象であるカレントピクチャがストリームの終端のピクチャでないと判定された場合、処理は、ステップS141に進む。
 ステップS141において、nal_unit_type判定部126は、isReferencePictureの値が真(true)であるか否かを判定する。isReferencePictureの値が真(true)、すなわち、処理対象であるカレントピクチャが参照ピクチャであると判定された場合、処理は、ステップS142に進む。
 ステップS142において、nal_unit_type判定部126は、カレントピクチャのナルユニットタイプ(nal_unit_type)を、TRAIL_R(すなわち、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値)に設定する。ステップS142の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図9に戻る。
 また、ステップS141において、isReferencePictureの値が偽(false)であり、処理対象であるカレントピクチャが参照ピクチャでないと判定された場合、処理は、ステップS143に進む。
 ステップS143において、nal_unit_type判定部126は、カレントピクチャのナルユニットタイプ(nal_unit_type)を、TRAIL_N(テンポラルサブレイヤでない非参照ピクチャであることを示す値)に設定する。ステップS143の処理が終了すると、ナルユニットタイプ判定処理が終了し、処理は図9に戻る。
  <レート制御処理の流れ>
 次に、図11のフローチャートを参照して、図9のステップS117において実行されるレート制御処理の流れの例を説明する。
 レート制御処理が開始されると、HRDトレース部141は、ステップS151において、HRDトレース処理を行い、CPB位置を算出する。ステップS152において、Target Bit決定部142は、ターゲットビット決定処理を行い、ターゲットビット(Target Bit)を算出する。
 ステップS152の処理が終了すると、レート制御処理が終了し、処理は図9に戻る。
  <HRDトレース処理の流れ>
 次に、図11のステップS151において実行されるHRDトレース処理の流れの例を、図12のフローチャートを参照して説明する。
 HRDトレース処理が開始されると、HRDトレース部141は、ステップS161において、ステップS102において生成されたヘッダ情報の中からtrace_rateを取得する。ステップS162において、HRDトレース部141は、ステップS102において生成されたヘッダ情報の中からframe_rateを取得する。ステップS163において、HRDトレース部141は、ステップS102において生成されたヘッダ情報の中からcpb_sizeを取得する。
 ステップS164において、HRDトレース部141は、trace_rateと符号化済みピクチャバッファ(CPB)の初期引き抜き遅延(CBPへのビットストリームの入力開始から、最初のアクセスユニット(AU)の引き抜き時刻までの時間)とに基づいて、CPB位置を以下の式(1)のように初期化する。
 cpb_pos = trace_rate * initial_cpb_removal_delay / 90000 ・・・(1)
 ステップS165において、HRDトレース部141は、各画像で発生する符号量(generated_bits)を取得する。ステップS166において、HRDトレース部141は、ステップS102において生成されたヘッダ情報の中からisLastPictureを取得する。
 ステップS167において、HRDトレース部141は、ステップS165においてgenerated_bitsを用いて、以下の式(2)のようにCPB位置(cpb_pos)を更新する(引き抜き分を減算する)。
 cpb_pos -= generated_bits ・・・(2)
 ステップS168において、HRDトレース部141は、trace_rate およびframe_rateに基づいて、以下の式(3)のようにCPB位置(cpb_pos)を更新する(バッファ流入分を追加する)。
 cpb_pos += trace_rate / frame_rate ・・・(3)
 ステップS169において、HRDトレース部141は、cpb_sizeを用いて、以下の式(4)のように、クリップ処理を行う。
 cpb_pos = min(cpb_pos, cpb_size) ・・・(4)
 ステップS170において、HRDトレース部141は、isLastPictureが真(true)であるか否かを判定する。isLastPictureが偽(false)であり、カレントピクチャがストリームの終端のピクチャでないと判定された場合、処理は、ステップS165に戻り、それ以降の処理が繰り返される。すなわち、各ピクチャについて、ステップS165乃至ステップS170の各処理が実行される。
 ステップS170において、isLastPictureが真(true)であり、カレントピクチャがストリームの終端のピクチャであると判定された場合、HRDトレース処理が終了し、処理は図11に戻る。
  <ターゲットビット決定処理の流れ>
 次に、図13のフローチャートを参照して、図11のステップS152において実行されるターゲットビット決定処理の流れの例を説明する。
 ターゲットビット決定処理が開始されると、Target Bit決定部142は、ステップS181において、HRDトレース処理(図12)において算出されたCPB位置を示す情報(cpb_pos)を取得する。また、ステップS182において、Target Bit決定部142は、ステップS102において生成されたヘッダ情報の中から、終端で期待されるCPB位置を示す情報(target_cpb_pos)を取得する。さらに、ステップS183において、Target Bit決定部142は、ステップS102において生成されたヘッダ情報の中から、CPBの終端を調整する期間であるか否かを示す情報(isAdjustPeriod)を取得する。
 ステップS184において、Target Bit決定部142は、発生符号量の目標値を示す情報であるターゲットビット(target bit)を算出する。このtarget bit算出方法は、任意である。
 ステップS185において、Target Bit決定部142は、isAdjustPeriodが真であり、かつ、cpb_posがtarget_cpb_posよりも低い位置にあるか否か(isAdjustPeriod && cpb_pos < target_cpb_pos)を判定する。
 isAdjustPeriodが真であり、かつ、cpb_posがtarget_cpb_posよりも低い位置にあると判定された場合、処理はステップS186に進む。
 ステップS186において、Target Bit決定部142は、終端で期待されるCPBの位置に収束させるように、target bitを以下の式(5)を用いて算出する。
 target bit -= gain * (target_cpb_pos - cpb_pos) ・・・(5)
 なお、ここで、gainには、画像終端に近づくに従って大きな値を用いると良い。ここで算出されたターゲットビット(target bit)は、量子化部114に供給され利用される。つまり、量子化部114は、このターゲットビット(target bit)を用いて量子化を行う。ステップS186の処理が終了すると、ターゲットビット決定処理が終了し、処理は図11に戻る。
 また、ステップS185において、isAdjustPeriodが偽であるか、若しくは、cpb_posがtarget_cpb_posよりも高い位置にある(cpb_pos ≧ target_cpb_pos)と判定された場合、ステップS186の処理が省略され、ターゲットビット決定処理が終了し、処理は図11に戻る。
  <ビットストリームの結合>
 図14は、上述した各処理を実行する画像符号化装置100が生成するビットストリームを結合する場合の例を示している。図14のAは、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図14の結合においては、ストリームBの先頭がストリームAの終端に接続される。図14のBは、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。
 図14に示されるように、この場合、Stream B concatenation_flag=1とし、IDRでcpb_removal_delay=0として運用する。また、Stream Aの終端のピクチャは、prevNonDiscardablePicにするため、そのnal_unit_typeがTRAIL_Rとされる。このようにすることにより、Initial_cpb_removal_delayが正しい値であれば、ビットストリーム同士を単純に接続することができる。つまり、画像符号化装置100は、上述した各処理を実行することにより、他のビットストリームとより容易に結合することができる状態のビットストリームを生成することができる。
 <2.第2の実施の形態>
  <ビットストリーム結合装置>
 以上においては、画像データを符号化してビットストリームを生成する際に、そのビットストリームを、より容易に他のビットストリームと結合することができる状態にするように説明したが、このように、より容易に他のビットストリームと結合することができる状態にするのは、ビットストリームを結合する前であれば、どのようなタイミングであっても可能である。
 例えば、ビットストリームを結合する直前に行うようにしてもよい。以下にその例を説明する。図15は、ビットストリーム結合装置の主な構成例を示す図である。図15に示されるビットストリーム結合装置200は、スマートレンダリング編集によって、ビットストリーム同士を結合する処理を行う装置である。例えば、ビットストリーム結合装置200は、ストリームAおよびストリームBを入力し、ストリームAの終端にストリームBの先頭を接続してストリームA+Bを生成し、出力する。
 図15に示されるように、ビットストリーム結合装置200は、バッファ判定部211、nal_unit_type書き換え部212、Buffering Period書き換え部213、およびビットストリーム結合部214を有する。
 バッファ判定部211は、バッファ判定処理を行い、ストリームA+BにおいてCPBが破綻しないように適宜再エンコードを行う。nal_unit_type書き換え部212は、ストリームAの終端のnal_unit_typeをprevNonDiscardablePicに該当する値に書き換える。Buffering Period書き換え部213は、Buffering Period SEIのシンタクスを書き換える。例えば、Buffering Period書き換え部213は、ストリームBの先頭のconcatenation_flagを「1(真)」に書き換え、ストリームBの先頭のauCpbRemovalDelayMinus1を「0(最小値)」に書き換える。ビットストリーム結合部214は、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士(例えばストリームAとストリームB)を結合する。
 このようにすることにより、ビットストリーム結合装置200は、結合前に、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
 ・結合されるビットストリームの終端のnal_unit_typeがprevNonDiscardablePicの条件を満たす(例えば、TRAIL_Rなど)。
 ・結合されるビットストリームの終端のcpb位置が結合するビットストリーム先頭のcpb位置よりも高い。シンタクスでは、initial_cpb_removal_delayの値が高い。
 ・結合するビットストリームの先頭がconcatenation_flag=1である。
 ・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている(例えば、auCpbRemovalDelayDeltaMinus1=0)。
 これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができるようになる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、ビットストリーム結合装置200は、結合する各ビットストリームを、より容易にビットストリーム同士を結合することができる状態にしてから、それらを結合するので、より容易にビットストリーム同士を結合することができる。
  <ビットストリーム結合処理の流れ>
 次に、ビットストリーム結合装置200により実行される各処理の流れの例を説明する。最初に、ビットストリーム結合処理の流れの例を、図16のフローチャートを参照して説明する。
 ビットストリーム結合処理が開始されると、ビットストリーム結合装置200のバッファ判定部211は、ステップS201においてストリームAを取得し、ステップS202においてストリームBを取得する。
 ステップS203において、バッファ判定部211は、バッファ判定処理を行い、各ストリームのCPB位置の調整を行う。
 ステップS204において、nal_unit_type書き換え部212は、ナルユニット書き換え処理を行い、結合されるストリームAの終端のnal_unit_typeをprevNonDiscardablePicに該当する値に書き換える。
 ステップS205において、Buffering Period書き換え部213は、バッファリングピリオド書き換え処理を行い、ストリームBの先頭のconcatenation_flagを「1(真)」に書き換え、ストリームBの先頭のauCpbRemovalDelayMinus1を「0(最小値)」に書き換える。
 ステップS206において、ビットストリーム結合部214は、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士を結合する。例えば、ビットストリーム結合部214は、ストリームAの終端にストリームBの先頭を接続する。
 ステップS207において、ビットストリーム結合部214は、結合したビットストリーム(ストリームA+B)をビットストリーム結合装置200の外部に出力する。
 ステップS207の処理が終了すると、ビットストリーム結合処理が終了する。
  <バッファ判定処理の流れ>
 次に、図17のフローチャートを参照して、図16のステップS203において実行されるバッファ判定処理の流れの例を説明する。バッファ判定処理が開始されると、ステップS221において、バッファ判定部211は、ストリームAの終端のCPB位置(cpb_pos_A)を算出する。ステップS222において、バッファ判定部211は、ストリームBの終端のCPB位置(cpb_pos_B)を算出する。
 ステップS223において、バッファ判定部211は、cpb_pos_A < cpb_pos_Bが真であるか否かを判定する。cpb_pos_A < cpb_pos_Bが真であると判定された場合、処理は、ステップS224に進む。
 ステップS224において、バッファ判定部211は、仮想参照デコーダが破綻しないように、cpb_pos_Aがcpb_pos_Bより大きくなるように再エンコードする。この再エンコードの仕方は任意である。例えば、バッファ判定部211が、ストリームAを再エンコードするようにしてもよい。また、再エンコードするピクチャの範囲は任意である。例えば、ストリームAの終端のピクチャのみを再エンコードするようにしてもよいし、ストリームAの終端から数ピクチャを再エンコードするようにしてもよい。さらにその際、各ピクチャの圧縮率を、終端に向かって徐々に大きくなるようにしてもよい。逆にストリームBを再エンコードするようにしてもよい。
 ステップS224の処理が終了すると、処理は、図16に戻る。また、ステップS223において、cpb_pos_A < cpb_pos_Bが偽であると判定された場合、ステップS224の処理が省略され、バッファ判定処理が終了し、処理は図16に戻る。
  <ナルユニットタイプ書き換え処理の流れ>
 次に、図18のフローチャートを参照して、図16のステップS204において実行されるナルユニットタイプ書き換え処理の流れの例を説明する。ナルユニットタイプ書き換え処理が開始されると、nal_unit_type書き換え部212は、ステップS241において、ストリームAの終端のnal_unit_typeであるnal_unit_type_Aを調べる(参照する)。
 ステップS242において、nal_unit_type書き換え部212は、ステップS241の調査結果に基づいて、nal_unit_type_AがprevNonDisCardablePicに該当するか否かを判定する。該当しないと判定された場合処理はステップS243に進む。
 ステップS243において、nal_unit_type書き換え部212は、nal_unit_type_AをprevNonDsicardableに該当するnal_unit_typeに書き換える。ステップS243の処理が終了すると、ナルユニットタイプ書き換え処理が終了し、処理は図16に戻る。
 また、ステップS242において、nal_unit_type_AがprevNonDisCardablePicに該当すると判定された場合、ステップS243の処理が省略され、ナルユニットタイプ書き換え処理が終了し、処理は図16に戻る。
  <バッファリングピリオド書き換え処理の流れ>
 次に、図19のフローチャートを参照して、図16のステップS205において実行されるバッファリングピリオド書き換え処理の流れの例を説明する。
 バッファリングピリオド書き換え処理が開始されると、Buffering Period書き換え部213は、ストリームBの先頭のBuffering Period SEIを調べる。ステップS261において、Buffering Period書き換え部213は、ストリームBの先頭のBuffering Period SEIのconcatenation_flagが「1(真)」であるか否かを判定する。concatenation_flagが「0(偽)」であると反映された場合、処理はステップS262に進む。
 ステップS262において、Buffering Period書き換え部213は、concatenation_flagを「1(真)」に書き換える。ステップS262の処理が終了すると、処理は、ステップS263に進む。
 また、ステップS261において、concatenation_flagが「1(真)」であると反映された場合、ステップS262の処理が省略され、処理はステップS263に進む。
 ステップS263において、Buffering Period書き換え部213は、ストリームBの先頭のBuffering Period SEIのauCpbRemovalDelayDeltaMinus1が「0(最小値)」であるか否かを判定する。auCpbRemovalDelayDeltaMinus1が「0(最小値)」でないと反映された場合、処理はステップS264に進む。
 ステップS264において、Buffering Period書き換え部213は、そのauCpbRemovalDelayDeltaMinus1を「0(最小値)」に設定する。ステップS264の処理が終了すると、バッファリングピリオド書き換え処理が終了し、処理は図16に戻る。
 また、ステップS263において、ストリームBの先頭のBuffering Period SEIのauCpbRemovalDelayDeltaMinus1が「0(最小値)」であると判定された場合、ステップS264の処理が省略され、バッファリングピリオド書き換え処理が終了し、処理は図16に戻る。
  <ビットストリームの結合>
 図20は、上述した各処理を実行するビットストリーム結合装置200がビットストリームを結合する場合の例を示している。図20のAは、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図20の結合においては、ストリームBの先頭がストリームAの終端に接続される。図20のBは、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。
 図20に示されるように、この場合、Stream Bのconcatenation_flag=1とし、IDRでcpb_removal_delay=0として運用する。また、Stream Aの終端のピクチャは、prevNonDiscardablePicにするため、そのnal_unit_typeがTRAIL_Rとされる。このようにすることにより、ビットストリーム同士を単純に接続することができる。つまり、ビットストリーム結合装置200は、上述した各処理を実行することにより、より容易にビットストリーム同士を結合することができる。
 <3.第3の実施の形態>
  <ビットストリーム結合装置>
 図21は、ビットストリーム結合装置の他の構成例を示す図である。図21に示されるビットストリーム結合装置300は、ビットストリーム結合装置200(図15)の場合と同様に、スマートレンダリング編集によって、ビットストリーム同士を結合する処理を行う装置である。例えば、ビットストリーム結合装置300は、ストリームAおよびストリームBを入力し、ストリームAの終端にストリームBの先頭を接続してストリームA+Bを生成し、出力する。
 図21に示されるように、ビットストリーム結合装置300は、バッファ判定部211、prevNonDiscardablePic探索部312、Buffering Period書き換え部213、およびビットストリーム結合部214を有する。
 prevNonDiscardablePic探索部312は、prevNonDiscardablePicの位置を探索する。また、Buffering Period書き換え部213は、この場合、ストリームBの先頭のconcatenation_flagを「1(真)」に書き換え、ストリームBのauCpbRemovalDelayDeltaMinus1を(auCpbRemovalDelayDelta-1)に書き換える。
 このようにすることにより、ビットストリーム結合装置300は、結合前に、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
 ・結合されるビットストリームの終端のcpb位置が結合するビットストリームの先頭のcpb位置よりも高い。シンタクスとしてはinitial_cpb_removal_delayの値が高い。
 ・結合するビットストリームの先頭がconcatenation_flag=1である。
 ・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている(例えばauCpbRemovalDelayDeltaMinus1=2)
 これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、ビットストリーム結合装置300は、結合する各ビットストリームを、より容易にビットストリーム同士を結合することができる状態にしてから、それらを結合するので、より容易にビットストリーム同士を結合することができる。
  <ビットストリーム結合処理の流れ>
 次に、ビットストリーム結合装置300により実行される各処理の流れの例を説明する。最初に、ビットストリーム結合処理の流れの例を、図22のフローチャートを参照して説明する。
 ビットストリーム結合処理が開始されると、ビットストリーム結合装置300のバッファ判定部211は、ステップS301においてストリームAを取得し、ステップS302においてストリームBを取得する。
 ステップS303において、バッファ判定部211は、図16のステップS203の場合と同様にバッファ判定処理(図17)を行い、各ストリームのCPB位置の調整を行う。
 ステップS304において、prevNonDiscardablePic探索部312は、プレブノンディスカーダブルピクチャ探索処理を行い、prevNonDiscardablePicの位置を探索する。
 ステップS305において、Buffering Period書き換え部213は、バッファリングピリオド書き換え処理を行い、ストリームBの先頭のconcatenation_flagを「1(真)」に書き換える等の処理を行う。
 ステップS306において、ビットストリーム結合部214は、図16のステップS206の場合と同様に、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士を結合する。例えば、ビットストリーム結合部214は、ストリームAの終端にストリームBの先頭を接続する。
 ステップS307において、ビットストリーム結合部214は、図16のステップS206の場合と同様に、結合したビットストリーム(ストリームA+B)をビットストリーム結合装置200の外部に出力する。
 ステップS307の処理が終了すると、ビットストリーム結合処理が終了する。
  <プレブノンディスカーダブルピクチャ探索処理の流れ>
 次に、図23のフローチャートを参照して、図22のステップS304において実行されるプレブノンディスカーダブルピクチャ探索処理の流れの例を説明する。
 プレブノンディスカーダブルピクチャ探索処理が開始されると、prevNonDiscardablePic探索部312は、ステップS321において、ストリームAの終端のprevNonDiscardablePicの位置を調べる。
 ステップS322において、prevNonDiscardablePic探索部312は、ビットストリーム終端のアクセスユニット(AU)の位置と、prevNonDiscardablePicの差分auCpbRemovalDelayDeltaを算出する。
 ステップS322が終了すると、プレブノンディスカーダブルピクチャ探索処理が終了し、処理は図22に戻る。
  <バッファリングピリオド書き換え処理の流れ>
 次に、図22のステップS305において実行されるバッファリングピリオド書き換え処理の流れの例を、図24のフローチャートを参照して説明する。
 バッファリングピリオド書き換え処理が開始されると、Buffering Period書き換え部213は、ストリームBの先頭のBuffering Period SEIを調べる。ステップS341において、Buffering Period書き換え部213は、ストリームBの先頭のBuffering Period SEIのconcatenation_flagが「1(真)」であるか否かを判定する。concatenation_flagが「0(偽)」であると反映された場合、処理はステップS342に進む。
 ステップS342において、Buffering Period書き換え部213は、concatenation_flagを「1(真)」に書き換える。ステップS342の処理が終了すると、処理は、ステップS343に進む。
 また、ステップS341において、concatenation_flagが「1(真)」であると反映された場合、ステップS342の処理が省略され、処理はステップS343に進む。
 ステップS343において、Buffering Period書き換え部213は、ストリームBの先頭のBuffering Period SEIのauCpbRemovalDelayDeltaMinus1を「auCpbRemovalDelayDelta - 1」に書き換える。ステップS343の処理が終了すると、バッファリングピリオド書き換え処理が終了し、処理は図22に戻る。
  <ビットストリームの結合>
 図25は、上述した各処理を実行するビットストリーム結合装置300がビットストリームを結合する場合の例を示している。図25のAは、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図25の結合においては、ストリームBの先頭がストリームAの終端に接続される。図25のBは、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。
 図25に示されるように、この場合、Stream Bのconcatenation_flag=1とし、IDRでcpb_removal_delay=0として運用する。また、Stream Aの終端のprevNonDiscardablePicの位置を確認してauCpbRemovalDelayDeltaMinus1が書き換えられる。このようにすることにより、ビットストリーム同士を単純に接続することができる。つまり、ビットストリーム結合装置300は、上述した各処理を実行することにより、より容易にビットストリーム同士を結合することができる。
 <4.第4の実施の形態>
  <ビットストリーム結合装置>
 図26は、ビットストリーム結合装置の他の構成例を示す図である。図26に示されるビットストリーム結合装置400は、ビットストリーム結合装置200(図15)の場合と同様に、スマートレンダリング編集によって、ビットストリーム同士を結合する処理を行う装置である。例えば、ビットストリーム結合装置400は、ストリームAおよびストリームBを入力し、ストリームAの終端にストリームBの先頭を接続してストリームA+Bを生成し、出力する。
 図26に示されるように、ビットストリーム結合装置300は、バッファ判定部211、prevNonDiscardablePic探索部312、prevCpbRemovalDelay探索部413、Buffering Period書き換え部414、Picture Timing SEI書き換え部415、およびビットストリーム結合部214を有する。
 prevCpbRemovalDelay探索部413は、prevCpbRemovalDelayを探索する。Buffering Period書き換え部414は、Buffering Period SEIのシンタクスを書き換える。Picture Timing SEI書き換え部415は、Picture Timing SEIのシンタクスを書き換える。
 このようにすることにより、ビットストリーム結合装置400は、結合前に、各種パラメータを適宜設定することにより、以下の条件を満たすようにビットストリームを生成する。
 ・結合されるビットストリームの終端のcpb位置が結合するビットストリームの先頭のcpb位置よりも高いこと。シンタクスとしては、initial_cpb_removal_delayの値が高い。
 ・結合するビットストリームの先頭がconcatenation_flag=0である。
 ・結合するビットストリームの先頭のauCpbRemovalDelayDeltaMinus1が適切に設定されている(例えば、auCpbRemovalDelayDeltaMinus1=2)。
 ・結合するビットストリームの先頭のau_cpb_removal_delay_minus1が、結合されるビットストリームの終端のau_cpb_removal_delay_minus1+1である。
 これらの条件を満たすことにより、ビットストリームは、他のビットストリームと単純に結合することができるようになる。つまり、ユーザが各ビットストリームに含まれる仮想参照デコーダに関する情報を適切に書き換えなくても、結合後のビットストリームが仮想参照デコーダを破綻させないように、それらのビットストリームを結合させることができる。すなわち、ビットストリーム結合装置400は、結合する各ビットストリームを、より容易にビットストリーム同士を結合することができる状態にしてから、それらを結合するので、より容易にビットストリーム同士を結合することができる。
  <ビットストリーム結合処理の流れ>
 次に、ビットストリーム結合装置400により実行される各処理の流れの例を説明する。最初に、ビットストリーム結合処理の流れの例を、図27のフローチャートを参照して説明する。
 ビットストリーム結合処理が開始されると、ビットストリーム結合装置200のバッファ判定部211は、ステップS401においてストリームAを取得し、ステップS402においてストリームBを取得する。
 ステップS403において、バッファ判定部211は、図16のステップS203の場合と同様に、バッファ判定処理(図17)を行い、各ストリームのCPB位置の調整を行う。
 ステップS404において、prevNonDiscardablePic探索部312は、図22のステップS304の場合と同様に、プレブノンディスカーダブルピクチャ探索処理を行い、prevNonDiscardablePicの位置を探索する。
 ステップS405において、prevCpbRemovalDelay探索部413は、プレブCpbリムーバルディレイ探索処理を行い、prevCpbRemovalDelayの位置を探索する。
 ステップS406において、Buffering Period書き換え部414は、バッファリングピリオド書き換え処理を行い、ストリームBの先頭のconcatenation_flagを「0(真)」に書き換え、ストリームBの先頭のauCpbRemovalDelayDeltaMinus1をauCpbRemovalDelayDelta - 1に書き換える。
 ステップS407において、Picture Timing SEI書き換え部415は、ピクチャタイミングSEI書き換え処理を行い、Picture Timing SEIのシンタクスを書き換える。
 ステップS408において、ビットストリーム結合部214は、以上のように仮想参照デコーダに関する各種情報を更新したビットストリーム同士を結合する。例えば、ビットストリーム結合部214は、ストリームAの終端にストリームBの先頭を接続する。
 ステップS409において、ビットストリーム結合部214は、結合したビットストリーム(ストリームA+B)をビットストリーム結合装置200の外部に出力する。
 ステップS409の処理が終了すると、ビットストリーム結合処理が終了する。
  <プレブCpbリムーバルディレイ探索処理の流れ>
 次に、図27のステップS405において実行されるプレブCpbリムーバルディレイ探索処理の流れの例を、図28のフローチャートを参照して説明する。
 プレブCpbリムーバルディレイ探索処理が開始されると、prevCpbRemovalDelay探索部413は、ステップS421において、結合されるストリームAの終端のPicture Timing SEIのau_cpb_removal_delay_minus1をprevCpbRemovalDelayとする。
 ステップS421の処理が終了すると、プレブCpbリムーバルディレイ探索処理が終了し、処理は図27に戻る。
  <バッファリングピリオド書き換え処理の流れ>
 次に、図27のステップS406において実行されるバッファリングピリオド書き換え処理の流れの例を、図29のフローチャートを参照して説明する。
 バッファリングピリオド書き換え処理が開始されると、Buffering Period書き換え部414は、ステップS441において、結合するストリームBの先頭のBuffering Period SEIのconcatenation_flagの値が「1(真)」であるか否かを判定する。concatenation_flag == 1であると判定された場合、処理はステップS442に進む。
 ステップS442において、Buffering Period書き換え部414は、concatenation_flagの値を「0(偽)」に書き換える。ステップS442の処理が終了すると、処理はステップS443に進む。また、ステップS441において、concatenation_flag == 1でない(concatenation_flag == 0である)と判定された場合、ステップS442の処理は省略され、処理はステップS443に進む。
 ステップS443において、Buffering Period書き換え部414は、auCpbRemovalDelayDeltaMinus1の値を(auCpbRemovalDelayDelta - 1)に書き換える(すなわち、auCpbRemovalDelayDeltaMinus1 = auCpbRemovalDelayDelta - 1とする)。
 ステップS443の処理が終了すると、バッファリングピリオド書き換え処理が終了し、処理は図27に戻る。
  <ピクチャタイミングSEI書き換え処理の流れ>
 次に、図27のステップS407において実行されるピクチャタイミングSEI書き換え処理の流れの例を、図30のフローチャートを参照して説明する。
 ピクチャタイミングSEI書き換え処理が開始されると、Picture Timing SEI書き換え部415は、ステップS461において、結合するストリームBの先頭のPicture Timing SEIのau_cpb_removal_delay_minus1をprevCpbRemovalDelay + 1に書き換える。
 ステップS461の処理が終了すると、ピクチャタイミングSEI書き換え処理が終了し、処理は図27に戻る。
  <ビットストリームの結合>
 図31は、上述した各処理を実行するビットストリーム結合装置400がビットストリームを結合する場合の例を示している。図31のAは、結合前の各ビットストリーム(ストリームA、ストリームB)の一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。図31の結合においては、ストリームBの先頭がストリームAの終端に接続される。図31のBは、その結合後のビットストリームであるストリームA+Bの一部(接続される部分の近傍の)のフレームについてのパラメータ(例えば仮想参照デコーダに関するパラメータ等)の例を示している。
 図31に示されるように、この場合、Stream Bのconcatenation_flag=0とし、IDRでau_cpb_removal_delay_minus1=0として運用する。なお、stream Bの先頭のau_cpb_removal_delay_minus1は、Stream Aの終端のprevCpbRemovalDelay + 1にする。そして、Stream Aの終端のprevNonDiscardablePicの位置を確認してauCpbRemovalDelayDeltaMinus1が書き換えられる。
 このようにすることにより、ビットストリーム同士を単純に接続することができる。つまり、ビットストリーム結合装置400は、上述した各処理を実行することにより、より容易にビットストリーム同士を結合することができる。
  <付加情報>
 なお、ビットストリームには、上述したような結合の際に行われる処理に使用される情報を付加するようにしてもよい。例えば、prevNonDiscardablePicは、ビットストリーム中のどこにあるのかわからないため、上述したように探索しなければならならいが、そのためには、ビットストリームの終端から各ピクチャの情報を参照しなければならず、処理の負荷が増大する恐れがある。
 そこで、どのピクチャがprevNonDiscardablePicであるかを示す情報を予めビットストリーム中に含めるようにしてもよい。このようにすることにより、その情報に基づいてprevNonDiscardablePicをより容易に探索することができ、処理の負荷の増大を抑制することができる。
 このようなprevNonDiscardablePicを示す情報は、ビットストリームのどのような位置に付加するようにしてもよい。例えば、アクセスユニット(AU)の先頭に配置するようにしてもよい。また、GOPの先頭に配置するようにしてもよい。また、例えば、AUの先頭とGOPの先頭のように、同一の情報を複数の位置に配置するようにしてもよい。ビットストリームは、編集により、その一部がカットされたりするおそれがあるため、このように同一の情報を複数の位置に配置することにより、そのような編集により情報が欠落することを抑制することができる。
 また、このような付加情報として、例えば、prevNonDiscardablePicを探索する範囲を指定する情報をビットストリームに付加するようにしてもよい。このような情報に基づいて探索範囲を限定することにより、処理の負荷が不要に増大するのを抑制することができる。
 もちろん、ビットストリームに付加する情報は任意であり、上述した例に限定されない。
 本技術の適用範囲は、画像データを符号化可能なあらゆる画像符号化装置並びに画像データのビットストリームを結合可能なあらゆる画像処理装置に適用することができる。
 また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる装置に適用することができる。
 <5.第5の実施の形態>
  <コンピュータ>
 上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
 図32は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 図32に示されるコンピュータ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つの応用例について説明する。
 <6.第6の実施の形態>
  <第1の応用例:テレビジョン受像機>
 図33は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース(I/F)部909、制御部910、ユーザインタフェース(I/F)部911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース部909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース部909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置900における伝送部としての役割を有する。
 制御部910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース部911は、制御部910と接続される。ユーザインタフェース部911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース部909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、例えば映像信号処理部905が、上述した画像符号化装置100の機能を有するようにしてもよい。例えば、映像信号処理部905が、デコーダ904から供給される画像データを上述した方法で符号化するようにしてもよい。映像信号処理部905は、その符号化により得られた符号化データ(ビットストリーム)を、例えば、外部インタフェース部909に供給し、外部インタフェース部909からテレビジョン装置900の外部に出力させる。したがって、テレビジョン装置900は、処理対象となる画像を符号化したビットストリームを、より容易に他のビットストリームと結合可能な状態にして出力することができる。
 また、例えば、映像信号処理部905が、上述したビットストリーム結合装置(ビットストリーム結合装置200乃至ビットストリーム結合装置400のいずれか)の機能を有するようにしてもよい。例えば、映像信号処理部905が、第2の実施の形態乃至第4の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、テレビジョン装置900(映像信号処理部905)は、より容易にビットストリーム同士を結合することができる。映像信号処理部905は、例えば、このようにして得られた符号化データ(ビットストリーム)を外部インタフェース部909に供給し、外部インタフェース部909からテレビジョン装置900の外部に出力させたりすることができる。
  <第2の応用例:携帯電話機>
 図34は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929に供給し、その記憶媒体に書き込ませる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB(Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929に供給し、その記憶媒体に書き込ませる。
 さらに、画像表示モードにおいて、記録再生部929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部927へ出力する。画像処理部927は、記録再生部929から入力される符号化ストリームを復号し、画像データを表示部930に供給し、その画像を表示させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号を、アンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、例えば画像処理部927が、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部927が、画像データを上述した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機920は、画像データを符号化して、より容易に他のビットストリームと結合可能な状態にしたビットストリームを出力したり、記録したりすることができる。
 また、例えば、画像処理部927が、上述したビットストリーム結合装置(ビットストリーム結合装置200乃至ビットストリーム結合装置400のいずれか)の機能を有するようにしてもよい。例えば、画像処理部927が、第2の実施の形態乃至第4の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、携帯電話機920(画像処理部927)は、より容易にビットストリーム同士を結合することができる。画像処理部927は、例えば、このようにして得られた符号化データ(ビットストリーム)を、記録再生部929に供給してその記憶媒体に書き込ませたり、通信部922を介して送信させたりすることができる。
  <第3の応用例:記録再生装置>
 図35は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データおよび映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース(I/F)部942、エンコーダ943、HDD(Hard Disk Drive)部944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)部948、制御部949、およびユーザインタフェース(I/F)部950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送部としての役割を有する。
 外部インタフェース部942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部942を介して受信される映像データおよび音声データは、エンコーダ943へ入力される。即ち、外部インタフェース部942は、記録再生装置940における伝送部としての役割を有する。
 エンコーダ943は、外部インタフェース部942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD部944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD部944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像および音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD部944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD部944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD部948へ出力する。また、デコーダ947は、生成した音声データを外部のスピーカへ出力する。
 OSD部948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD部948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース部950は、制御部949と接続される。ユーザインタフェース部950は、例えば、ユーザが記録再生装置940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、エンコーダ943が、画像データを上述した方法で符号化するようにしてもよい。このようにすることにより、記録再生装置940は、画像データを符号化して、より容易に他のビットストリームと結合可能な状態にしたビットストリームを出力したり、記録したりすることができる。
 また、例えば、エンコーダ943が、上述したビットストリーム結合装置(ビットストリーム結合装置200乃至ビットストリーム結合装置400のいずれか)の機能を有するようにしてもよい。例えば、エンコーダ943が、画像データの符号化だけでなく、第2の実施の形態乃至第4の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、記録再生装置940(エンコーダ943)は、より容易にビットストリーム同士を結合することができる。
  <第4の応用例:撮像装置>
 図36は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース(I/F)部966、メモリ部967、メディアドライブ968、OSD部969、制御部970、ユーザインタフェース(I/F)部971、およびバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース部971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース部966、メモリ部967、メディアドライブ968、OSD部969、および制御部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は、OSD部969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD部969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース部966は、例えばUSB入出力端子として構成される。外部インタフェース部966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース部966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース部966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部966は、撮像装置960における伝送部としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース部971は、制御部970と接続される。ユーザインタフェース部971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した画像符号化装置100の機能を有するようにしてもよい。つまり、画像処理部964が、画像データを上述した方法で符号化するようにしてもよい。このようにすることにより、撮像装置960は、画像データを符号化して、より容易に他のビットストリームと結合可能な状態にしたビットストリームを出力したり、記録したりすることができる。
 また、例えば、画像処理部964が、上述したビットストリーム結合装置(ビットストリーム結合装置200乃至ビットストリーム結合装置400のいずれか)の機能を有するようにしてもよい。例えば、画像処理部964が、第2の実施の形態乃至第4の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、撮像装置960(画像処理部964)は、より容易にビットストリーム同士を結合することができる。
 なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
 <7.第7の実施の形態>
  <実施のその他の例>
 以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
  <ビデオセット>
 本技術をセットとして実施する場合の例について、図37を参照して説明する。図37は、本技術を適用したビデオセットの概略的な構成の一例を示している。
 近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
 図37に示されるビデオセット1300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
 図37に示されるように、ビデオセット1300は、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314等のモジュール群と、コネクティビティ1321、カメラ1322、およびセンサ1323等の関連する機能を有するデバイスとを有する。
 モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
 図37の例の場合、ビデオモジュール1311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム1333、およびRFモジュール1334を有する。
 プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
 図37のアプリケーションプロセッサ1331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ1331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ1332等、ビデオモジュール1311内外の構成を必要に応じて制御することもできる。
 ビデオプロセッサ1332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
 ブロードバンドモデム1333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム1333は、例えば、ビデオプロセッサ1332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
 RFモジュール1334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール1334は、ブロードバンドモデム1333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール1334は、フロントエンドモジュール1314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
 なお、図37において点線1341に示されるように、アプリケーションプロセッサ1331とビデオプロセッサ1332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
 外部メモリ1312は、ビデオモジュール1311の外部に設けられた、ビデオモジュール1311により利用される記憶デバイスを有するモジュールである。この外部メモリ1312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
 パワーマネージメントモジュール1313は、ビデオモジュール1311(ビデオモジュール1311内の各構成)への電力供給を管理し、制御する。
 フロントエンドモジュール1314は、RFモジュール1334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図37に示されるように、フロントエンドモジュール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は、本技術を適用したセットとして実施することができる。
  <ビデオプロセッサの構成例>
 図38は、本技術を適用したビデオプロセッサ1332(図37)の概略的な構成の一例を示している。
 図38の例の場合、ビデオプロセッサ1332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
 図38に示されるように、ビデオプロセッサ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(図37)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部1402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部1403は、画像データに対して、ビデオ出力処理部1404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部1402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部1404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ1321等に出力する。
 フレームメモリ1405は、ビデオ入力処理部1401、第1画像拡大縮小部1402、第2画像拡大縮小部1403、ビデオ出力処理部1404、およびエンコード・デコードエンジン1407によって共用される画像データ用のメモリである。フレームメモリ1405は、例えばDRAM等の半導体メモリとして実現される。
 メモリ制御部1406は、エンコード・デコードエンジン1407からの同期信号を受けて、アクセス管理テーブル1406Aに書き込まれたフレームメモリ1405へのアクセススケジュールに従ってフレームメモリ1405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル1406Aは、エンコード・デコードエンジン1407、第1画像拡大縮小部1402、第2画像拡大縮小部1403等で実行される処理に応じて、メモリ制御部1406により更新される。
 エンコード・デコードエンジン1407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン1407は、フレームメモリ1405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ1408Aに順次書き込む。また、例えば、ビデオESバッファ1408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ1405に順次書き込む。エンコード・デコードエンジン1407は、これらの符号化や復号において、フレームメモリ1405を作業領域として使用する。また、エンコード・デコードエンジン1407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部1406に対して同期信号を出力する。
 ビデオESバッファ1408Aは、エンコード・デコードエンジン1407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)1412に供給する。ビデオESバッファ1408Bは、逆多重化部(DMUX)1413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン1407に供給する。
 オーディオESバッファ1409Aは、オーディオエンコーダ1410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)1412に供給する。オーディオESバッファ1409Bは、逆多重化部(DMUX)1413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ1411に供給する。
 オーディオエンコーダ1410は、例えばコネクティビティ1321等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ1410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ1409Aに順次書き込む。オーディオデコーダ1411は、オーディオESバッファ1409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ1321等に供給する。
 多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)1412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)1412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)1412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
 逆多重化部(DMUX)1413は、多重化部(MUX)1412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)1413は、ストリームバッファ1414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)1413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)1412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321やブロードバンドモデム1333等から供給されたトランスポートストリームを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)1413は、例えばコネクティビティ1321により各種記録媒体から読み出されたファイルデータを、ストリームバッファ1414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
 ストリームバッファ1414は、ビットストリームをバッファリングする。例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321やブロードバンドモデム1333等に供給する。
 また、例えば、ストリームバッファ1414は、多重化部(MUX)1412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ1321等に供給し、各種記録媒体に記録させる。
 さらに、ストリームバッファ1414は、例えばコネクティビティ1321やブロードバンドモデム1333等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 また、ストリームバッファ1414は、例えばコネクティビティ1321等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)1413に供給する。
 次に、このような構成のビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321等からビデオプロセッサ1332に入力されたビデオ信号は、ビデオ入力処理部1401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ1405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部1402または第2画像拡大縮小部1403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ1405に書き込まれる。この画像データは、エンコード・デコードエンジン1407によって符号化され、ビデオストリームとしてビデオESバッファ1408Aに書き込まれる。
 また、コネクティビティ1321等からビデオプロセッサ1332に入力されたオーディオ信号は、オーディオエンコーダ1410によって符号化され、オーディオストリームとして、オーディオESバッファ1409Aに書き込まれる。
 ビデオESバッファ1408Aのビデオストリームと、オーディオESバッファ1409Aのオーディオストリームは、多重化部(MUX)1412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)1412により生成されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークに出力される。また、多重化部(MUX)1412により生成されたファイルデータは、ストリームバッファ1414にバッファされた後、例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 また、例えばコネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからビデオプロセッサ1332に入力されたトランスポートストリームは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。また、例えばコネクティビティ1321等において各種記録媒体から読み出され、ビデオプロセッサ1332に入力されたファイルデータは、ストリームバッファ1414にバッファされた後、逆多重化部(DMUX)1413により逆多重化される。つまり、ビデオプロセッサ1332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)1413によりビデオストリームとオーディオストリームとに分離される。
 オーディオストリームは、オーディオESバッファ1409Bを介してオーディオデコーダ1411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ1408Bに書き込まれた後、エンコード・デコードエンジン1407により順次読み出されて復号されてフレームメモリ1405に書き込まれる。復号された画像データは、第2画像拡大縮小部1403によって拡大縮小処理されて、フレームメモリ1405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部1404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、エンコード・デコードエンジン1407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン1407が、上述した各実施の形態に係る画像符号化装置の機能を有するようにすればよい。また、例えば、エンコード・デコードエンジン1407が、上述した各実施の形態に係るビットストリーム結合装置の機能を有するようにしてもよい。例えば、エンコード・デコードエンジン1407が、第2の実施の形態乃至第4の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図31を参照して上述した効果と同様の効果を得ることができる。
 なお、エンコード・デコードエンジン1407において、本技術(すなわち、上述した各実施形態に係る画像符号化装置やビットストリーム結合装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
  <ビデオプロセッサの他の構成例>
 図39は、本技術を適用したビデオプロセッサ1332の概略的な構成の他の例を示している。図39の例の場合、ビデオプロセッサ1332は、ビデオデータを所定の方式で符号化・復号する機能を有する。
 より具体的には、図39に示されるように、ビデオプロセッサ1332は、制御部1511、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、および内部メモリ1515を有する。また、ビデオプロセッサ1332は、コーデックエンジン1516、メモリインタフェース1517、多重化・逆多重化部(MUX DMUX)1518、ネットワークインタフェース1519、およびビデオインタフェース1520を有する。
 制御部1511は、ディスプレイインタフェース1512、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516等、ビデオプロセッサ1332内の各処理部の動作を制御する。
 図39に示されるように、制御部1511は、例えば、メインCPU1531、サブCPU1532、およびシステムコントローラ1533を有する。メインCPU1531は、ビデオプロセッサ1332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU1531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU1532は、メインCPU1531の補助的な役割を果たす。例えば、サブCPU1532は、メインCPU1531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ1533は、メインCPU1531およびサブCPU1532が実行するプログラムを指定する等、メインCPU1531およびサブCPU1532の動作を制御する。
 ディスプレイインタフェース1512は、制御部1511の制御の下、画像データを例えばコネクティビティ1321等に出力する。例えば、ディスプレイインタフェース1512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ1321のモニタ装置等に出力する。
 ディスプレイエンジン1513は、制御部1511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
 画像処理エンジン1514は、制御部1511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
 内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516により共用される、ビデオプロセッサ1332の内部に設けられたメモリである。内部メモリ1515は、例えば、ディスプレイエンジン1513、画像処理エンジン1514、およびコーデックエンジン1516の間で行われるデータの授受に利用される。例えば、内部メモリ1515は、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン1513、画像処理エンジン1514、またはコーデックエンジン1516に供給する。この内部メモリ1515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ1312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
 コーデックエンジン1516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン1516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン1516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
 図39に示される例において、コーデックエンジン1516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video1541、AVC/H.2641542、HEVC/H.2651543、HEVC/H.265(Scalable)1544、HEVC/H.265(Multi-view)1545、およびMPEG-DASH1551を有する。
 MPEG-2 Video1541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2641542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2651543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)1544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)1545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
 MPEG-DASH1551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH1551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video1541乃至HEVC/H.265(Multi-view)1545を利用する。
 メモリインタフェース1517は、外部メモリ1312用のインタフェースである。画像処理エンジン1514やコーデックエンジン1516から供給されるデータは、メモリインタフェース1517を介して外部メモリ1312に供給される。また、外部メモリ1312から読み出されたデータは、メモリインタフェース1517を介してビデオプロセッサ1332(画像処理エンジン1514若しくはコーデックエンジン1516)に供給される。
 多重化・逆多重化部(MUX DMUX)1518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)1518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)1518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)1518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
 ネットワークインタフェース1519は、例えばブロードバンドモデム1333やコネクティビティ1321等向けのインタフェースである。ビデオインタフェース1520は、例えばコネクティビティ1321やカメラ1322等向けのインタフェースである。
 次に、このようなビデオプロセッサ1332の動作の例について説明する。例えば、コネクティビティ1321やブロードバンドモデム1333等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース1519を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、例えば、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてファイルデータに変換され、ビデオインタフェース1520を介して例えばコネクティビティ1321等に出力され、各種記録媒体に記録される。
 さらに、例えば、コネクティビティ1321等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース1520を介して多重化・逆多重化部(MUX DMUX)1518に供給されて逆多重化され、コーデックエンジン1516により復号される。コーデックエンジン1516の復号により得られた画像データは、画像処理エンジン1514により所定の画像処理が施され、ディスプレイエンジン1513により所定の変換が行われ、ディスプレイインタフェース1512を介して例えばコネクティビティ1321等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン1516の復号により得られた画像データは、コーデックエンジン1516により再符号化され、多重化・逆多重化部(MUX DMUX)1518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース1519を介して例えばコネクティビティ1321やブロードバンドモデム1333等に供給され図示せぬ他の装置に伝送される。
 なお、ビデオプロセッサ1332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ1515や外部メモリ1312を利用して行われる。また、パワーマネージメントモジュール1313は、例えば制御部1511への電力供給を制御する。
 このように構成されるビデオプロセッサ1332に本技術を適用する場合、コーデックエンジン1516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン1516が、上述した各実施の形態に係る画像符号化装置を実現する機能ブロックを有するようにすればよい。また、例えば、コーデックエンジン1516が、上述した各実施の形態に係るビットストリーム結合装置の機能を有するようにしてもよい。例えば、コーデックエンジン1516が、第2の実施の形態乃至第4の実施の形態において説明した方法でスマートレンダリング編集を行って、ビットストリーム同士を結合することができるようにしてもよい。このようにすることにより、ビデオプロセッサ1332は、図1乃至図31を参照して上述した効果と同様の効果を得ることができる。
 なお、コーデックエンジン1516において、本技術(すなわち、上述した各実施形態に係る画像符号化装置やビットストリーム結合装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
 以上にビデオプロセッサ1332の構成を2例示したが、ビデオプロセッサ1332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ1332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
  <装置への適用例>
 ビデオセット1300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット1300は、テレビジョン装置900(図33)、携帯電話機920(図34)、記録再生装置940(図35)、撮像装置960(図36)等に組み込むことができる。ビデオセット1300を組み込むことにより、その装置は、図1乃至図31を参照して上述した効果と同様の効果を得ることができる。
 なお、上述したビデオセット1300の各構成の一部であっても、ビデオプロセッサ1332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ1332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線1341により示されるプロセッサやビデオモジュール1311等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール1311、外部メモリ1312、パワーマネージメントモジュール1313、およびフロントエンドモジュール1314を組み合わせ、本技術を適用したビデオユニット1361として実施することもできる。いずれの構成の場合であっても、図1乃至図31を参照して上述した効果と同様の効果を得ることができる。
 つまり、ビデオプロセッサ1332を含むものであればどのような構成であっても、ビデオセット1300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ1332、点線1341により示されるプロセッサ、ビデオモジュール1311、または、ビデオユニット1361を、テレビジョン装置900(図33)、携帯電話機920(図34)、記録再生装置940(図35)、撮像装置960(図36)等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット1300の場合と同様に、図1乃至図31を参照して上述した効果と同様の効果を得ることができる。
 また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 なお、本技術は以下のような構成も取ることができる。
 (1) 画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定する設定部と、
 前記画像データを符号化し、前記画像データの符号化データと、前記設定部により設定されたヘッダ情報とを含むビットストリームを生成する符号化部と
 を備える画像符号化装置。
 (2) 前記設定部は、ナルユニットタイプを示す情報を設定する
 (1)、(3)乃至(9)のいずれかに記載の画像符号化装置。
 (3) 前記設定部は、ビットストリームの結合を示す情報をさらに設定する
 (1)、(2)、(4)乃至(9)のいずれかに記載の画像符号化装置。
 (4) 前記設定部は、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報をさらに設定する
 (1)乃至(3)、(5)乃至(9)のいずれかに記載の画像符号化装置。
 (5) 前記設定部は、前記カレントピクチャが先頭のピクチャである場合、
  前記ナルユニットタイプを示す情報を、IDRピクチャであることを示す値に設定し、
  前記ビットストリームの結合を示す情報を真に設定し、
  前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
 (1)乃至(4)、(6)乃至(9)のいずれかに記載の画像符号化装置。
 (6) 前記設定部は、前記カレントピクチャが終端のピクチャである場合、
  前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、
  前記ビットストリームの結合を示す情報を偽に設定し、
  前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
 (1)乃至(5)、(7)乃至(9)のいずれかに記載の画像符号化装置。
 (7) 前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャである場合、
  前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、
  前記ビットストリームの結合を示す情報を偽に設定し、
  前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
 (1)乃至(6)、(8)、(9)のいずれかに記載の画像符号化装置。
 (8) 前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャでもない場合、
  前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない非参照ピクチャであることを示す値に設定し、
  前記ビットストリームの結合を示す情報を偽に設定し、
  前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
 (1)乃至(7)、(9)のいずれかに記載の画像符号化装置。
 (9) 前記カレントピクチャの位置に関する情報と、前記仮想参照デコーダの調整を行う区間であるかを示す情報と、発生符号量を示す情報とに基づいて、符号量の目標値を設定するレート制御部をさらに備える
 (1)乃至(8)のいずれかに記載の画像符号化装置。
 (10) 画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定し、
 前記画像データを符号化し、前記画像データの符号化データと、設定されたヘッダ情報とを含むビットストリームを生成する
 画像符号化方法。
 (11) 画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する更新部
 を備える画像処理装置。
 (12) 前記更新部は、結合されるビットストリームの終端の符号化済みピクチャバッファの位置と、結合するビットストリームの先頭の前記符号化済みピクチャバッファの位置との関係が適切となるように、前記ビットストリームを再符号化する
 (11)、(13)乃至(19)のいずれかに記載の画像処理装置。
 (13) 前記更新部は、前記ビットストリームの終端のナルユニットタイプを示す情報を、プレブノンディスカーダブルピクチャに該当する値に更新する
 (11)、(12)、(14)乃至(19)のいずれかに記載の画像処理装置。
 (14) 前記更新部は、符号化済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
 (11)乃至(13)、(15)乃至(19)のいずれかに記載の画像処理装置。
 (15) 前記更新部は、前記ビットストリームの終端のプレブノンディスカーダブルピクチャを探索し、探索結果に基づいて、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を更新する
 (11)乃至(14)、(16)乃至(19)のいずれかに記載の画像処理装置。
 (16) 前記更新部は、前記ビットストリームの終端の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
 (11)乃至(15)、(17)乃至(19)のいずれかに記載の画像処理装置。
 (17) 前記更新部は、前記ビットストリームの先頭の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
 (11)乃至(16)、(18)、(19)のいずれかに記載の画像処理装置。
 (18) 前記更新部は、結合するビットストリームの先頭のアクセスユニットの符号化済みピクチャバッファからの読み出し遅延を示す情報を、結合されるビットストリームの終端の符号化済みピクチャバッファからの読み出し遅延を示す情報に基づく値に更新する
 (11)乃至(17)、(19)のいずれかに記載の画像処理装置。
 (19) 前記更新部により更新された前記ビットストリームを他のビットストリームと結合する結合部をさらに備える
 (11)乃至(18)のいずれかに記載の画像処理装置。
 (20) 画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する
 画像処理方法。
 100 画像符号化装置, 125 レート制御部, 126 nal_unit_type判定部, 141 HRDトレース部, 142 Target Bit決定部, 200 ビットストリーム結合装置, 211 バッファ判定部, 212 nal_unit_type書き換え部, 213 Buffering Period書き換え部, 214 ビットストリーム結合部, 300 ビットストリーム結合装置, 312 prevNonDiscardablePic探索部, 400 ビットストリーム結合装置, 413 prevCpbRemovalDelay探索部, 414 Buffering Period書き換え部, 415 Picture Timing SEI書き換え部

Claims (20)

  1.  画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定する設定部と、
     前記画像データを符号化し、前記画像データの符号化データと、前記設定部により設定されたヘッダ情報とを含むビットストリームを生成する符号化部と
     を備える画像符号化装置。
  2.  前記設定部は、ナルユニットタイプを示す情報を設定する
     請求項1に記載の画像符号化装置。
  3.  前記設定部は、ビットストリームの結合を示す情報をさらに設定する
     請求項2に記載の画像符号化装置。
  4.  前記設定部は、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報をさらに設定する
     請求項3に記載の画像符号化装置。
  5.  前記設定部は、前記カレントピクチャが先頭のピクチャである場合、
      前記ナルユニットタイプを示す情報を、IDRピクチャであることを示す値に設定し、
      前記ビットストリームの結合を示す情報を真に設定し、
      前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
     請求項4に記載の画像符号化装置。
  6.  前記設定部は、前記カレントピクチャが終端のピクチャである場合、
      前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、
      前記ビットストリームの結合を示す情報を偽に設定し、
      前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
     請求項4に記載の画像符号化装置。
  7.  前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャである場合、
      前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない、参照されるトレーリングピクチャであることを示す値に設定し、
      前記ビットストリームの結合を示す情報を偽に設定し、
      前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
     請求項4に記載の画像符号化装置。
  8.  前記設定部は、前記カレントピクチャが、先頭でも終端でも無く、かつ、参照ピクチャでもない場合、
      前記ナルユニットタイプを示す情報を、テンポラルサブレイヤでない非参照ピクチャであることを示す値に設定し、
      前記ビットストリームの結合を示す情報を偽に設定し、
      前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を示す情報を最小値に設定する
     請求項4に記載の画像符号化装置。
  9.  前記カレントピクチャの位置に関する情報と、前記仮想参照デコーダの調整を行う区間であるかを示す情報と、発生符号量を示す情報とに基づいて、符号量の目標値を設定するレート制御部をさらに備える
     請求項1に記載の画像符号化装置。
  10.  画像データの処理対象であるカレントピクチャの、位置に関する情報と参照に関する情報とに基づいて、仮想参照デコーダに関するヘッダ情報を設定し、
     前記画像データを符号化し、前記画像データの符号化データと、設定されたヘッダ情報とを含むビットストリームを生成する
     画像符号化方法。
  11.  画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する更新部
     を備える画像処理装置。
  12.  前記更新部は、結合されるビットストリームの終端の符号化済みピクチャバッファの位置と、結合するビットストリームの先頭の前記符号化済みピクチャバッファの位置との関係が適切となるように、前記ビットストリームを再符号化する
     請求項11に記載の画像処理装置。
  13.  前記更新部は、前記ビットストリームの終端のナルユニットタイプを示す情報を、プレブノンディスカーダブルピクチャに該当する値に更新する
     請求項11に記載の画像処理装置。
  14.  前記更新部は、符号化済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
     請求項11に記載の画像処理装置。
  15.  前記更新部は、前記ビットストリームの終端のプレブノンディスカーダブルピクチャを探索し、探索結果に基づいて、前記ビットストリームの終端のアクセスユニットとプレブノンディスカーダブルピクチャとの位置の差を更新する
     請求項11に記載の画像処理装置。
  16.  前記更新部は、前記ビットストリームの終端の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
     請求項11に記載の画像処理装置。
  17.  前記更新部は、前記ビットストリームの先頭の、符号化済みピクチャバッファおよび復号済みピクチャバッファからの読み出しに関する情報を、ビットストリームの結合に適した値に更新する
     請求項11に記載の画像処理装置。
  18.  前記更新部は、結合するビットストリームの先頭のアクセスユニットの符号化済みピクチャバッファからの読み出し遅延を示す情報を、結合されるビットストリームの終端の符号化済みピクチャバッファからの読み出し遅延を示す情報に基づく値に更新する
     請求項17に記載の画像処理装置。
  19.  前記更新部により更新された前記ビットストリームを他のビットストリームと結合する結合部をさらに備える
     請求項11に記載の画像処理装置。
  20.  画像データが符号化された符号化データを含むビットストリームに含まれる、仮想参照デコーダに関するヘッダ情報を、前記ビットストリームを他の前記ビットストリームと結合できるように更新する
     画像処理方法。
PCT/JP2015/055142 2014-03-07 2015-02-24 画像符号化装置および方法、並びに、画像処理装置および方法 WO2015133325A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP19157523.2A EP3518541B1 (en) 2014-03-07 2015-02-24 Method and apparatus for splicing in a compressed video bitstream
KR1020167021257A KR102307283B1 (ko) 2014-03-07 2015-02-24 화상 부호화 장치 및 방법과 화상 처리 장치 및 방법
JP2016506433A JP6468279B2 (ja) 2014-03-07 2015-02-24 画像符号化装置および方法、並びに、画像処理装置および方法
EP15758960.7A EP3116230B1 (en) 2014-03-07 2015-02-24 Method and apparatus for splicing in a compressed video bitstream
CN201580011410.9A CN106063275B (zh) 2014-03-07 2015-02-24 图像编码装置和方法及图像处理装置和方法
US15/114,301 US10375406B2 (en) 2014-03-07 2015-02-24 Image encoding device and method, and image processing device and method for enabling bitstream concatenation
US16/414,133 US10764594B2 (en) 2014-03-07 2019-05-16 Image encoding device and method, and image processing device and method for enabling bitstream concatenation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-045741 2014-03-07
JP2014045741 2014-03-07

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/114,301 A-371-Of-International US10375406B2 (en) 2014-03-07 2015-02-24 Image encoding device and method, and image processing device and method for enabling bitstream concatenation
US16/414,133 Continuation US10764594B2 (en) 2014-03-07 2019-05-16 Image encoding device and method, and image processing device and method for enabling bitstream concatenation

Publications (1)

Publication Number Publication Date
WO2015133325A1 true WO2015133325A1 (ja) 2015-09-11

Family

ID=54055134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/055142 WO2015133325A1 (ja) 2014-03-07 2015-02-24 画像符号化装置および方法、並びに、画像処理装置および方法

Country Status (6)

Country Link
US (2) US10375406B2 (ja)
EP (2) EP3518541B1 (ja)
JP (3) JP6468279B2 (ja)
KR (1) KR102307283B1 (ja)
CN (2) CN111432209A (ja)
WO (1) WO2015133325A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112839226A (zh) * 2019-11-25 2021-05-25 深信服科技股份有限公司 一种图像编码、解码方法、相关装置及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111432209A (zh) 2014-03-07 2020-07-17 索尼公司 图像编码装置、方法及计算机可读存储介质
JP2022549443A (ja) * 2019-09-24 2022-11-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド シーケンスレベルhrdパラメータ
US20220408098A1 (en) * 2021-06-18 2022-12-22 Tencent America LLC Block-wise entropy coding method in neural image compression

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09331524A (ja) * 1996-06-13 1997-12-22 Sony Corp ディジタル信号符号化方法、編集方法、及び伝送方法
JP2003052010A (ja) * 2001-05-30 2003-02-21 Victor Co Of Japan Ltd Mpegデータ記録方法
JP2010516103A (ja) * 2007-01-08 2010-05-13 トムソン ライセンシング ビデオストリームのスプライシングのための方法及び装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615038B2 (en) * 2004-12-06 2013-12-24 Nokia Corporation Video coding, decoding and hypothetical reference decoder
JP4229149B2 (ja) 2006-07-13 2009-02-25 ソニー株式会社 ビデオ信号処理装置およびビデオ信号処理方法、ビデオ信号符号化装置およびビデオ信号符号化方法、並びにプログラム
JP2008131147A (ja) 2006-11-17 2008-06-05 Sony Corp 画像処理装置および方法、並びにプログラム
JP5686594B2 (ja) * 2007-04-12 2015-03-18 トムソン ライセンシングThomson Licensing スケーラブル・ビデオ符号化のためのビデオ・ユーザビリティ情報(vui)用の方法及び装置
RU2011135321A (ru) * 2009-01-28 2013-03-10 Нокиа Корпорейшн Способ и устройство для кодирования и декодирования видеосигналов
US9197888B2 (en) * 2012-03-13 2015-11-24 Dolby Laboratories Licensing Corporation Overlapped rate control for video splicing applications
US9661341B2 (en) * 2013-01-07 2017-05-23 Microsoft Technology Licensing, Llc Syntax and semantics for buffering information to simplify video splicing
CN111432209A (zh) * 2014-03-07 2020-07-17 索尼公司 图像编码装置、方法及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09331524A (ja) * 1996-06-13 1997-12-22 Sony Corp ディジタル信号符号化方法、編集方法、及び伝送方法
JP2003052010A (ja) * 2001-05-30 2003-02-21 Victor Co Of Japan Ltd Mpegデータ記録方法
JP2010516103A (ja) * 2007-01-08 2010-05-13 トムソン ライセンシング ビデオストリームのスプライシングのための方法及び装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Recommendation ITU-T H.265", HIGH EFFICIENCY VIDEO CODING, April 2013 (2013-04-01), pages 242,246 - 247, XP055357886 *
GARY J. SULLIVAN ET AL.: "HRD issue for bitstream splicing", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING, 14 January 2013 (2013-01-14), Geneva, CH, XP030113816 *
KIMIHIKO KAZUI ET AL.: "AHG9: Simple HEVC stream editing", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 LLTH MEETING, 10 October 2012 (2012-10-10), Shanghai, CN, XP030113022 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112839226A (zh) * 2019-11-25 2021-05-25 深信服科技股份有限公司 一种图像编码、解码方法、相关装置及存储介质
CN112839226B (zh) * 2019-11-25 2024-02-23 深信服科技股份有限公司 一种图像编码、解码方法、相关装置及存储介质

Also Published As

Publication number Publication date
JP2019071665A (ja) 2019-05-09
JP6468279B2 (ja) 2019-02-13
EP3518541A1 (en) 2019-07-31
EP3116230A4 (en) 2017-10-18
EP3116230B1 (en) 2019-05-08
JP2019071666A (ja) 2019-05-09
JP6646883B2 (ja) 2020-02-14
EP3518541B1 (en) 2021-01-20
JP6690741B2 (ja) 2020-04-28
US20190281314A1 (en) 2019-09-12
KR20160130990A (ko) 2016-11-15
US10375406B2 (en) 2019-08-06
CN106063275A (zh) 2016-10-26
JPWO2015133325A1 (ja) 2017-04-06
KR102307283B1 (ko) 2021-09-30
EP3116230A1 (en) 2017-01-11
US10764594B2 (en) 2020-09-01
CN106063275B (zh) 2020-05-19
CN111432209A (zh) 2020-07-17
US20170013267A1 (en) 2017-01-12

Similar Documents

Publication Publication Date Title
US10779009B2 (en) Image decoding device and method
EP3528499A1 (en) Image processing device and image processing method
JP6646883B2 (ja) 画像符号化装置および方法、並びに、プログラム
RU2653308C2 (ru) Устройство и способ обработки изображений
US20170295369A1 (en) Image processing device and method
US10595021B2 (en) Image processing device and method
WO2015056566A1 (ja) 画像処理装置および方法
KR102338669B1 (ko) 화상 처리 장치 및 방법, 및 기록 매체
JP6402802B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15758960

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15114301

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2016506433

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20167021257

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015758960

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015758960

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE