[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2014049980A1 - 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 - Google Patents

画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 Download PDF

Info

Publication number
WO2014049980A1
WO2014049980A1 PCT/JP2013/005269 JP2013005269W WO2014049980A1 WO 2014049980 A1 WO2014049980 A1 WO 2014049980A1 JP 2013005269 W JP2013005269 W JP 2013005269W WO 2014049980 A1 WO2014049980 A1 WO 2014049980A1
Authority
WO
WIPO (PCT)
Prior art keywords
slice
image
tile
decoding
slices
Prior art date
Application number
PCT/JP2013/005269
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 JP2014514656A priority Critical patent/JP5608839B2/ja
Priority to RU2015106415A priority patent/RU2639679C2/ru
Priority to ES13842930T priority patent/ES2915051T3/es
Priority to PL13842930.3T priority patent/PL2903270T3/pl
Priority to MYPI2015000472A priority patent/MY182530A/en
Priority to BR112015004216-3A priority patent/BR112015004216B1/pt
Priority to MX2015002891A priority patent/MX345003B/es
Priority to EP13842930.3A priority patent/EP2903270B1/en
Priority to CA2882731A priority patent/CA2882731C/en
Priority to EP22161531.3A priority patent/EP4033764B1/en
Priority to EP23172593.8A priority patent/EP4224858A1/en
Priority to CN201380044687.2A priority patent/CN104584555B/zh
Priority to AU2013322041A priority patent/AU2013322041B2/en
Priority to SG11201501400QA priority patent/SG11201501400QA/en
Priority to KR1020157004659A priority patent/KR101918808B1/ko
Publication of WO2014049980A1 publication Critical patent/WO2014049980A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods 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 using parallelised computational arrangements
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to an image encoding method and an image decoding method.
  • Hybrid video coding is similar to ISO / IEC standards (MPEG-X standards such as MPEG-1, MPEG-2 and MPEG-4) as well as ITU-T standards (H.261 and H.263). H.26x standard).
  • H.264 The latest video coding standard is H.264. It is called H.264 / MPEG-4 Advanced Video Coding (AVC). This standard was standardized by a joint team of JVT (Joint CoVedeo Team) and ITU-T and ISO / IEC MPEG groups.
  • HEVC High-Efficiency Video Coding
  • JCT-VC Joint Collaborative Team on Video Coding
  • an object of the present invention is to provide an image encoding method or an image decoding method that can improve efficiency when using both parallel tile processing and dependent slices.
  • An image decoding method is an image decoding method for decoding a bitstream including an encoded signal in which an image is divided into a plurality of tiles and is divided into a plurality of slices and encoded.
  • the present invention can provide an image encoding method or an image decoding method capable of improving efficiency when using both parallel tile processing and dependent slices.
  • FIG. 1 is a block diagram of an image coding apparatus according to an embodiment.
  • FIG. 2 is a block diagram of the image decoding apparatus according to the embodiment.
  • FIG. 3A is a schematic diagram for explaining the WPP according to the embodiment.
  • FIG. 3B is a schematic diagram for explaining a dependent slice in the WPP according to the embodiment.
  • FIG. 4A is a schematic diagram for explaining a dependent slice when the WPP according to the embodiment is not used.
  • FIG. 4B is a schematic diagram for explaining dependent slices when WPP according to the embodiment is used.
  • FIG. 5 is a diagram illustrating a slice header of an entropy slice or a dependent slice according to the embodiment.
  • FIG. 6 is a diagram illustrating an example of a slice structure that is not permitted when WPP is used according to the embodiment.
  • FIG. 7 is a diagram illustrating an example of an allowed slice structure when using WPP according to the embodiment.
  • FIG. 8 is a schematic diagram showing a CABAC initialization process according to the embodiment.
  • FIG. 9 is a flowchart of the determination process of the CABAC initialization method for the dependent slice according to the feature of the preceding slice according to the embodiment.
  • FIG. 10 is a diagram illustrating an example of a slice structure according to the embodiment.
  • FIG. 11 is a diagram illustrating an example of a slice structure according to the embodiment.
  • FIG. 12 is a diagram illustrating a syntax example of the slice header according to the first embodiment.
  • FIG. 13 is a flowchart of the determination process of the CABAC initialization method for the dependent slice according to the first embodiment.
  • FIG. 13 is a flowchart of the determination process of the CABAC initialization method for the dependent slice according to the first embodiment.
  • FIG. 14 is a diagram illustrating an example of a picture divided into slices according to the second embodiment.
  • FIG. 15 is a flowchart of the determination process of the CABAC initialization method according to the second embodiment.
  • FIG. 16 is a diagram illustrating an example of a picture divided into slices according to the second embodiment.
  • FIG. 17 is a diagram illustrating an example of a picture divided into slices according to the second embodiment.
  • FIG. 18 is a diagram illustrating an example of a picture divided into slices according to the third embodiment.
  • FIG. 19 is a diagram illustrating a slice header according to the fourth embodiment.
  • FIG. 20 is a diagram illustrating an example of a picture divided into tiles according to the fourth embodiment.
  • FIG. 21A is a diagram showing a scanning order according to the fourth embodiment.
  • FIG. 21A is a diagram showing a scanning order according to the fourth embodiment.
  • FIG. 21B is a diagram showing a scanning order according to the fourth embodiment.
  • FIG. 22A is a diagram showing a relationship between a tile and a slice according to the fourth embodiment.
  • FIG. 22B is a diagram showing a relationship between tiles and slices according to Embodiment 4.
  • FIG. 22C is a diagram showing a relationship between tiles and slices according to Embodiment 4.
  • FIG. 23 is a diagram illustrating an example of dividing a picture into tiles and slices according to the fourth embodiment.
  • FIG. 24 is a diagram illustrating the decoding order of pictures divided into tiles according to the fourth embodiment.
  • FIG. 25A is a diagram illustrating an example of a slice structure that is not permitted according to the fourth embodiment.
  • FIG. 25B is a diagram illustrating an example of a permitted slice structure according to Embodiment 4.
  • FIG. 25C is a diagram illustrating an example of a permitted slice structure according to Embodiment 4.
  • FIG. 26A is a diagram illustrating an example of a slice structure that is not permitted according to the fourth embodiment.
  • FIG. 26B is a diagram illustrating an example of a permitted slice structure according to Embodiment 4.
  • FIG. 27A is a diagram illustrating an example of a slice structure that is not permitted according to the fourth embodiment.
  • FIG. 27B is a diagram illustrating an example of a permitted slice structure according to Embodiment 4.
  • FIG. 28 is an overall configuration diagram of a content supply system that implements a content distribution service.
  • FIG. 29 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 30 is a block diagram illustrating a configuration example of a television.
  • FIG. 30 is a block diagram illustrating a configuration example of a television.
  • FIG. 31 is a block diagram illustrating a configuration example of an information reproducing / recording unit that reads and writes information from and on a recording medium that is an optical disk.
  • FIG. 32 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 33A is a diagram illustrating an example of a mobile phone.
  • FIG. 33B is a block diagram illustrating a configuration example of a mobile phone.
  • FIG. 34 is a diagram showing a structure of multiplexed data.
  • FIG. 35 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 36 is a diagram showing in more detail how the video stream is stored in the PES packet sequence.
  • FIG. 37 is a diagram showing the structure of TS packets and source packets in multiplexed data.
  • FIG. 38 shows the data structure of the PMT.
  • FIG. 39 shows the internal structure of multiplexed data information.
  • FIG. 40 shows the internal structure of stream attribute information.
  • FIG. 41 is a diagram showing steps for identifying video data.
  • FIG. 42 is a block diagram illustrating a configuration example of an integrated circuit that implements the moving picture coding method and the moving picture decoding method according to each embodiment.
  • FIG. 43 is a diagram showing a configuration for switching drive frequencies.
  • FIG. 44 is a diagram illustrating steps for identifying video data and switching between driving frequencies.
  • FIG. 45 is a diagram illustrating an example of a look-up table in which video data standards are associated with drive frequencies.
  • FIG. 46A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit.
  • FIG. 46B is a diagram illustrating another example of a configuration for sharing a module
  • the video signal input to the image encoding device includes a plurality of images each called a frame (picture).
  • Each frame includes a plurality of pixels arranged in a two-dimensional matrix.
  • each video frame is divided into a plurality of blocks each containing a plurality of pixels.
  • the size of this block is changed depending on the content of the image, for example. Different encoding methods can be used for each block. For example, in HEVC, the maximum size of this block is 64 ⁇ 64 pixels. This maximum size is referred to as the maximum coding unit (LCU).
  • the LCU can be recursively divided into four coding units (CUs).
  • the encoding step in hybrid video encoding includes spatial and / or temporal prediction. That is, each block to be encoded is predicted using spatially adjacent blocks or temporally adjacent blocks, that is, using encoded video frames. Next, a residual block that is a difference between the encoding target block and the prediction result is calculated. The residual block is then transformed from the spatial (pixel) domain to the frequency domain. The purpose of this conversion is to reduce the correlation of the input blocks.
  • the transform coefficient obtained by the transform is quantized.
  • This quantization is lossy compression.
  • the obtained quantization coefficient is reversibly compressed by entropy coding.
  • auxiliary information necessary for reconstructing the encoded video signal is encoded and output together with the encoded video signal. This information is, for example, information related to spatial prediction, temporal prediction, and / or quantization.
  • FIG. 1 is a diagram illustrating an example of an image encoding device 100 compliant with H.264 / MPEG-4 AVC and / or HEVC.
  • the subtractor 105 calculates a residual signal 106 (residual block) that is a difference between the encoding target block of the input image signal 101 and the corresponding predicted signal 181 (predicted block).
  • the prediction signal 181 is generated by temporal prediction or spatial prediction by the prediction unit 180.
  • the prediction type used for prediction may be changed for each frame or block. Blocks and / or frames predicted using temporal prediction are referred to as inter-coded, and blocks and / or frames predicted using spatial prediction are referred to as intra-coded.
  • the prediction signal using temporal prediction is derived using the encoded and decoded images stored in the memory.
  • a prediction signal using spatial prediction is derived using the boundary pixel values of the encoded and decoded adjacent blocks stored in the memory. Further, the number of intra prediction directions is determined according to the size of the coding unit.
  • the residual signal 106 is also called a prediction error or a prediction residual.
  • the conversion unit 110 generates a conversion coefficient 111 by converting the residual signal 106.
  • the quantization unit 120 generates the quantization coefficient 121 by quantizing the transform coefficient 111.
  • the entropy encoding unit 190 entropy encodes the quantized coefficient 121 in order to further reduce the amount of data to be stored and to transmit it reversibly.
  • entropy coding is variable length coding. Further, the length of the code word is determined based on the occurrence probability.
  • the encoded signal 191 (encoded bit stream) is generated by the above processing.
  • the image encoding device 100 includes a decoding unit for obtaining a decoded image signal (reconstructed image signal).
  • the inverse transform unit 130 generates the residual signal 131 by performing inverse quantization and inverse transform on the quantization coefficient 121.
  • This residual signal 131 is strictly different from the original residual signal 106 due to the influence of a quantization error, also referred to as quantization noise.
  • the adder 140 generates a decoded image signal 141 by adding the residual signal 131 and the prediction signal 181.
  • the prediction signal 181 is generated using the encoded and decoded image signal in both the image encoding device and the image decoding device.
  • quantization noise is superimposed on the decoded image signal 141 by quantization. Since encoding is performed in units of blocks, the superimposed noise often differs from block to block. Thereby, when especially strong quantization is performed, the block boundary of a decoded image signal becomes conspicuous. Such blocking noise seems to have deteriorated image quality in human visual recognition. In order to reduce this blocking noise, the deblocking filter 150 performs a deblocking filter process on the decoded image signal 141.
  • a filter process suitable for the area is selected for each area. For example, when the blocking noise is large, a strong (narrow band) low-pass filter is used, and when the blocking noise is small, a weak (wide band) low-pass filter is used.
  • the strength of the low-pass filter is determined according to the prediction signal 181 and the residual signal 131.
  • the adaptive loop filter 160 generates the decoded image signal 161 by performing the sample adaptive offset process and / or the adaptive loop filter process on the decoded image signal 151 after the deblocking filter process. As described above, deblocking filtering improves subjective image quality. On the other hand, the sample adaptive offset (SAO) process and the adaptive loop filter (ALF) process aim to improve the reliability (objective quality) of each pixel.
  • SAO sample adaptive offset
  • ALF adaptive loop filter
  • SAO is a process of adding an offset value to a pixel in accordance with a neighboring pixel.
  • ALF is used to compensate for image distortion caused by compression.
  • ALF is a Wiener filter having a filter coefficient determined so that the mean square error (MSE) between the decoded image signal 151 and the input image signal 101 is minimized.
  • MSE mean square error
  • the ALF coefficient is calculated and transmitted in units of frames.
  • ALF may be applied to the entire frame (image) or local region (block).
  • auxiliary information indicating an area to be subjected to filter processing may be transmitted in units of blocks, frames, or quadtrees.
  • the reference frame buffer 170 holds the decoded image signal 161 as a decoded image signal 171.
  • the prediction unit 180 performs inter prediction using motion compensation prediction. Specifically, first, the motion estimator searches for a block most similar to the target block among blocks included in the encoded and decoded video frame. This similar block is used as the prediction signal 181. The relative shift (motion) between the target block and the similar block is sent as motion data to the image decoding apparatus.
  • This motion data is, for example, a three-dimensional motion vector included in auxiliary information provided together with encoded video data.
  • the three dimensions include two dimensions of space and one dimension of time.
  • a motion vector having a spatial subpixel resolution such as a 1/2 pixel resolution or a 1/4 pixel resolution may be used.
  • the spatial sub-pixel resolution motion vector indicates the spatial position within the decoded frame, i.e. the position of the sub-pixel, where there is no actual pixel value. Therefore, in order to perform motion compensation prediction, spatial interpolation of pixel values is necessary. This interpolation processing is achieved by, for example, an interpolation filter (included in the prediction unit 180 shown in FIG. 1).
  • the residual signal 106 that is the difference between the input image signal 101 and the prediction signal 181 is transformed and quantized to generate a quantization coefficient 121.
  • the transform unit 110 uses an orthogonal transform such as a two-dimensional discrete cosine transform (DCT) or an integer version thereof for this transform.
  • DCT discrete cosine transform
  • the entropy encoding unit 190 converts the two-dimensional array quantization coefficient 121 into a one-dimensional array.
  • a so-called zigzag scan is typically used.
  • the two-dimensional array is scanned in a predetermined order from the DC coefficient at the upper left corner of the two-dimensional array to the AC coefficient at the lower right corner.
  • energy concentrates in the upper left part of the coefficients of a two-dimensional matrix corresponding to a low frequency. Therefore, when zigzag scanning is performed, the latter half value tends to become zero.
  • efficient encoding can be realized by using run-length codes as part of entropy encoding or as preprocessing thereof.
  • CABAC Context adaptive arithmetic coding
  • the encoded bitstream can be reversibly compressed using a variable length code.
  • the codeword since the codeword has a variable length, the codeword must be decoded continuously. That is, before encoding or decoding the preceding codeword without restarting (initializing) entropy encoding or individually indicating the position of the first codeword (starting point) during decoding. In addition, subsequent codewords cannot be encoded or decoded.
  • a bit string is encoded into one code word by arithmetic encoding based on a predetermined probability model.
  • the predetermined probability model is determined according to the content of the video sequence in the case of CABAC. Therefore, arithmetic coding and CABAC are performed more efficiently as the length of the bit stream to be encoded is longer. That is, it can be said that CABAC applied to a bit string is more efficient in a larger block.
  • CABAC is restarted at the beginning of each sequence. That is, the probability model is initialized with a default value or a predetermined value at the head of each video sequence.
  • H. H.264 / MPEG-4, H.264. H.264 / MPEG-4 AVC and HEVC have two functional layers: a video coding layer (VCL) and a network abstraction layer (NAL).
  • An encoding function is provided by the video encoding layer.
  • NAL encapsulates information elements in standard units called NAL units, depending on applications such as transmission across channels and storage in storage devices. This information element is, for example, information necessary for decoding an encoded prediction error signal and a video signal.
  • Information necessary for decoding the video signal includes a prediction type, a quantization parameter, a motion vector, and the like.
  • NAL unit can be used to improve decoding accuracy, VCL NAL unit including compressed video data and related information, non-VCL unit that encapsulates additional data such as parameter sets related to the entire video sequence Additional extended information (SEI) for providing additional information.
  • SEI Supplemental extended information
  • a non-VCL unit includes a parameter set.
  • the parameter set is a set of a plurality of parameters related to encoding and decoding of a certain video sequence.
  • the parameter set includes a sequence parameter set (SPS) including parameters related to encoding and decoding of the entire video sequence (picture sequence).
  • SPS sequence parameter set
  • the sequence parameter set has a syntax structure including syntax elements.
  • a reference picture parameter set PPS
  • pic_parameter_set_id which is a syntax element included in each slice header.
  • seq_parameter_set_id which is a syntax element included in the PPS.
  • PPS is a parameter set that defines parameters applied to encoding and decoding of one picture included in a video sequence.
  • PPS has a syntax structure including syntax elements.
  • a reference picture parameter set (PPS) is specified by pic_parameter_set_id which is a syntax element included in each slice header.
  • pic_parameter_set_id is a syntax element included in each slice header.
  • VPS is a parameter of the highest layer and includes information on a plurality of video sequences.
  • Information included in the VPS includes a bit rate and a temporal_layering structure of a video sequence.
  • the VPS also includes information regarding inter-layer dependencies (dependencies between different video sequences). Therefore, the VPS can be regarded as information relating to a plurality of video sequences, and an outline of each video sequence can be understood from the VPS.
  • FIG. 1 is a block diagram illustrating an example of an image decoding device 200 compliant with H.264 / MPEG-4 AVC or HEVC video coding standard.
  • the encoded signal 201 (bit stream) input to the image decoding apparatus 200 is sent to the entropy decoding unit 290.
  • the entropy decoding unit 290 acquires the quantization coefficient and information elements necessary for decoding such as motion data and prediction mode by decoding the encoded signal 201.
  • the entropy decoding unit 290 generates a quantization coefficient 291 by performing reverse scanning on the obtained quantization coefficient for the purpose of obtaining a two-dimensional matrix, and outputs the quantization coefficient 291 to the inverse conversion unit 230.
  • the inverse transform unit 230 generates a residual signal 231 by performing inverse quantization and inverse transform on the quantization coefficient 291.
  • the residual signal 231 corresponds to a difference obtained by subtracting a prediction signal from an input image signal input to an image coding apparatus that has no quantization noise and no error.
  • the prediction unit 280 generates a prediction signal 281 using temporal prediction or spatial prediction.
  • the decoded information element further includes information necessary for prediction, such as a prediction type in the case of intra prediction, and motion data in the case of motion compensation prediction.
  • the adder 240 adds the residual signal 231 in the spatial domain and the prediction signal 281 generated by the prediction unit 280, thereby generating a decoded image signal 241.
  • the deblocking filter 250 performs a deblocking filter process on the decoded image signal 241 to generate a decoded image signal 251.
  • the adaptive loop filter 260 performs a sample adaptive offset process and an adaptive loop filter process on the decoded image signal 251 to generate a decoded image signal 261.
  • the decoded image signal 261 is output as a display image and is stored in the reference frame buffer 270 as a decoded image signal 271.
  • the decoded image signal 271 is used for temporal or spatial prediction of subsequent blocks or images.
  • HEVC has a function to assist advanced parallel processing of encoding and decoding.
  • WPP wavefront parallel processing
  • Non-Patent Document 1 information indicating the start point, which is the position where decoding of the LCU row starts, is included in the slice header and signaled. The details of WPP are described in Non-Patent Document 1.
  • a frame (picture) is divided into a plurality of tiles.
  • Each tile is rectangular and includes a plurality of LCUs.
  • the boundaries between the tiles are set so as to divide the picture into a matrix.
  • a plurality of tiles are processed in the raster scan order.
  • the concept of slice is The concept of dependent slices and entropy slices has been proposed in order to make the concept more suitable for parallelization than the error resilience that was the original purpose of the slice in H.264 / MPEG-4 AVC. That is, in HEVC, three slices of a normal slice, a dependent slice, and an entropy slice are used.
  • Normal slice is H. It is a slice already known by H.264 / MPEG-4 AVC. Spatial prediction is not possible between normal slices. In other words, prediction across the boundary between slices is not possible. In other words, a normal slice is encoded without reference to another slice. The CABAC is restarted at the beginning of each slice so that such a slice can be decoded separately.
  • a normal slice is used at the beginning of the frame. That is, each frame must start from a normal slice.
  • a normal slice has a header including parameters necessary for decoding slice data.
  • the entropy slice is a slice that can be spatially predicted between the parent slice and the entropy slice.
  • the parent slice is, for example, a normal slice immediately before the entropy slice.
  • the analysis of the parent slice and the entropy slice is performed independently.
  • the analysis of slice data is performed independently for the parent slice and the entropy slice, except for the syntax element of the thrust header. That is, the CABAC decoding process for entropy slices requires syntax elements included in the slice header of the parent slice. For example, the syntax element includes switching information indicating whether the slice data includes a filtering parameter. When the filtering parameter exists in the slice data, the CABAC decoding unit extracts the information. If it does not exist, the CABAC decoding unit does not assume filtering data. That is, after analyzing the slice header of the normal slice, the CABAC decoding unit can process the parent slice and the entropy slice in parallel.
  • the syntax element includes switching information indicating whether the slice data includes a filtering parameter.
  • the parent slice may be a normal slice, for example, and is necessary for reconstructing the pixel value of the entropy slice. Also, CABAC is restarted at the head of the slice so that the entropy slice can be independently analyzed.
  • the slice header shorter than the slice header of the normal slice can be used for the entropy slice.
  • the slice header includes a coding parameter subset related to information transmitted in the header of the normal slice.
  • Information not included in the header of the entropy slice is copied from the header of the parent slice.
  • Dependent slices are similar to entropy slices where CABAC is not restarted.
  • the CABAC restart includes a process for initializing the context table (probability table) to a default value and a termination process (terminate process) in the arithmetic encoding process or arithmetic decoding process.
  • the header of the parent slice is used for analysis and / or decoding of the dependent slice. Therefore, since the dependent slice cannot be analyzed without the parent slice, the dependent slice cannot be decoded when the parent slice is not acquired.
  • the parent slice is usually a slice that precedes the dependent slice in coding order and includes a complete slice header. The same applies to the parent slice of the entropy slice.
  • an entropy slice can be regarded as being dependent on header parameters of other slices, the present invention can be applied to both a dependent slice and an entropy slice.
  • the dependent slice and the entropy slice use the slice header of the immediately preceding slice in the coding order of the slice (information not included in the dependent slice header). This rule is applied recursively. It is recognized that the parent slice on which the target dependent slice depends can be referred to. Reference includes use of spatial prediction between slices, common CABAC state, and the like.
  • the dependent slice uses a CABAC context table generated at the end of the immediately preceding slice. As described above, the dependent slice does not initialize the CABAC table to the default value and continues to use the created table.
  • the entropy slice and the dependent slice are described in Non-Patent Document 3 (for example, see “dependent_slice_flag” on page 73).
  • the dependent slice starts at the beginning of the LCU row and the slice including the upper right LCU of the first LCU is indicated to be referable, the dependent slice is displayed in the CABAC context table of the upper right LCU. Is used.
  • the profile includes settings of an image encoding device and an image decoding device suitable for a specific application.
  • the “primary profile” includes only normal slices and dependent slices, and does not include entropy slices.
  • a coded slice is encapsulated in a NAL unit, and further encapsulated in, for example, a real-time protocol (RTP) and finally encapsulated in an Internet protocol (IP) packet.
  • RTP real-time protocol
  • IP Internet protocol
  • This protocol stack or another protocol stack enables transmission of encoded video in a packet-oriented network such as the Internet or a specific network.
  • a network typically includes at least one or more routers, and the routers are configured with dedicated hardware that operates at ultra high speed.
  • the router has a function of receiving an IP packet, analyzing the header of the IP packet, and appropriately forwarding the IP packet to each destination. Since routers need to handle communications from many sources, the packets that control the logic must be as simple as possible. The router needs to check at least the destination address field included in the IP header in order to determine the route for transferring the IP packet.
  • QoS quality of service
  • smart (media aware) routers additionally check dedicated fields in network protocol headers such as IP header, RTP header, and NALU header.
  • dependency slices and entropy slices incorporate dependency between slices (dependency in a frame) as a supplementary aspect of dependency. This dependency is not the only dependency in the frame.
  • the contexts of the arithmetic encoding unit and the arithmetic decoding unit are determined by default settings or based on the encoded or decoded slices.
  • the dependency on the header is different from the dependency on the arithmetic code initialization, there is a possibility that a delay occurs and the complexity increases against the purpose of the mechanism of the parallel processing and the dependency slice.
  • Dependent slices can be used with parallel processing tools such as WPP or tiles. Further, by using the dependent slice, it is possible to generate a wavefront (substream) that can reduce transmission delay without causing coding loss.
  • the dependent slice can be used as the start point of the CABAC substream.
  • information indicating the starting point may be included in the bitstream and transmitted.
  • the starting point is explicitly signaled using the number of bytes per substream.
  • the sub-stream indicates a part of the stream that can be analyzed separately according to the start point.
  • the dependent slice can be used as a “marker” for the starting point. That is, the starting point for such a marker can be signaled.
  • the method of explicitly notifying the start point by a signal and the method of marking the start point via the dependent slice can be used at the same time.
  • arbitrary methods can be used. For example, the following two methods can be used.
  • the first method is a method of inserting, for example, a 3-byte start code at the head of each NAL header.
  • the second method is a method of packetizing each NAL unit into separate packets. Further, the size of the slice header may be reduced due to the dependency of the slice.
  • each LCU row can be realized by one processing core by the WPP parallelization tool.
  • the assignment of LCU rows to each core may be different. For example, two rows may be assigned to one core, and one row may be assigned to two cores.
  • FIG. 3A is a diagram showing a picture 300 divided into a plurality of rows. Each row includes a plurality of maximum coding units (LCU). Row 301 (Wavefront 1) and row 302 (Wavefront 2) are targets to be processed in parallel. After the first two LCUs are decoded in row 301, the processing in row 302 begins, as indicated by the CABAC states arrow in FIG. 3A. Also, the CABAC state after encoding or decoding the first two LCUs in row 301 is used in CABAC initialization in row 302. Thus, the processing in row 302 can be started after the processing of the first two LCUs in row 301 is complete. That is, there is a delay of two LCUs between the two processing cores.
  • LCU maximum coding units
  • FIG. 3B is a diagram illustrating an example of using a dependent slice using WPP.
  • a picture 310 shown in FIG. 3B includes rows 311 to 314.
  • row 311 (Wavefront 1)
  • row 312 (Wavefront 2)
  • row 313 (Wavefront 3) are processed by separate cores.
  • Dependent slices form a WPP that can improve delay.
  • Dependent slices do not have a complete slice header. Also, if the start point (or the start point of the dependent slice known by the rules as described above) is known, the dependent slice can be decoded independently of the other slices. In addition, the dependency slice can form a WPP suitable for a low delay application without causing a coding loss.
  • the slice can be prepared for transmission only after the last substream of the slice is completely encoded.
  • the slice header is completed only after encoding of all substreams in the slice is completed. That is, transmission of the head of the slice cannot be started through packet fragmentation in the RTP / IP layer until the processing of the entire slice is completed.
  • the normal slice can be divided into many dependent slices without coding loss. Also, the dependent slice can be transmitted as soon as encoding of the encapsulated substream is complete (or earlier in the case of packet fragmentation).
  • Dependent slices do not weaken the spatial prediction dependency. Furthermore, the dependency slice does not weaken the analysis dependency. This is because analysis of a target-dependent slice usually requires the CABAC state of the preceding slice.
  • each LCU row can be a slice. Such a configuration improves transmission delay, but at the same time results in significant coding loss as described above.
  • the entire frame (picture) is encapsulated in one slice.
  • Encapsulating the entire picture into one slice does not worsen the transmission delay. For example, transmission of a part of the slice may be started before encoding is completely finished.
  • the slice header needs to be modified later to mark the starting point. Therefore, it is necessary to delay transmission of the entire slice.
  • the delay can be reduced by using the dependent slice.
  • the picture 310 is divided into rows 311 that are normal slices and rows 312, 313, and 314 that are dependent slices. If each row is one dependent slice, transmission of one row can be delayed without coding loss. This is because the dependency slice does not weaken the spatial dependency and does not restart the CABAC engine.
  • FIG. 4A and 4B are diagrams showing another example of CABAC initialization.
  • FIG. 4A shows CABAC initialization when WPP is not used. Also, neither WPP nor tiles are used. It is also acceptable to use normal slices and dependent slices together.
  • Dependent slice (3) copies the header from normal slice (2). That is, the normal slice (2) is a parent slice of the dependent slice (3).
  • the dependency slice (3) uses the context table generated at the end of the normal slice (2).
  • the dependency slice (3) depends on the normal slice (2), not the normal slice (1). That is, there is no spatial prediction between the normal slice (1) and the dependent slice (3).
  • FIG. 4B is a diagram illustrating initialization of CABAC when WPP is used. It is allowed to use normal slices, dependent slices, and WPP together.
  • Dependent slice (3) copies the header of normal slice (2).
  • the dependent slice (3) is expected to use the context table generated at the end of the second LCU of the normal slice (1).
  • the second LCU of the slice (1) cannot be referred to. That is, slice (1) is not referred to because it is not the preceding slice immediately before the dependent slice in the coding order.
  • slice (2) is used as a reference slice for slices (3) and (4). That is, when starting to decode slice (3), the CABAC state needs to be initialized to a default value (indicated by a dotted arrow in FIG. 4B).
  • the dependent slice (4) uses the CABAC state (solid arrow) after the upper right second LCU according to the WPP conditions as described above.
  • FIG. 5 is a diagram illustrating a syntax example of a slice header compliant with the current HEVC reference model (HM8.0).
  • the slice header 320 includes a syntax element dependent_slice_flag that indicates whether the target slice is a dependent slice or a normal slice.
  • the header includes slice header information. That is, the slice has a complete header. Otherwise, the header does not contain slice header information. That is, as described above, the dependent slice and the entropy slice do not have a complete slice header, but refer to the header of the preceding normal slice.
  • the start point is signaled later to support parallel processing. Even when the entropy encoding unit or the entropy decoding unit is not restarted, parallel decoding can be performed independently on a part of the video stream (substream) between the start points using this start point. As described above, the start point is also marked for the dependent slice, the normal slice, and the entropy slice.
  • this restriction applies to a specific profile (or a specific level of the profile). The purpose of this restriction is to reduce the complexity of hardware implementation.
  • the PPS entropy_coding_sync_enabled_flag is equivalent to 1 (that is, WPP is used), and the first coding block included in the slice includes the coding tree block of the tile. If it is not the first coding block, the condition that the bit stream conforms to the standard is that the last coding block of the slice belongs to the same coding tree block row as the first coding block of the slice.
  • the coding tree shows the structure of the LCU and the LCU is recursively divided into 4 blocks each. That is, if WPP is possible, and if the slice does not start from the beginning of the target LCU row, the slice must end at or before the end of the target LCU row.
  • Non-patent document 3 also describes details regarding not only parallel processing means but also HEVC syntax.
  • a picture 330 shown in FIG. 6 includes slices 331, 332, and 333, which are normal slices. Slices 331 and 332 are included in one LCU row.
  • the slice 333 is a slice that is not permitted because it spans multiple LCU rows (three rows in this example). Subject to the above restrictions, slice 333 must end at the end of the first LCU row.
  • FIG. 7 is a diagram showing a picture 340 having a permitted slice structure when WPP is used.
  • the picture 340 includes slices 341, 342, and 343 that are normal slices and a slice 344 that is a dependent slice. These slices 341, 342, and 343 are included in the first LCU row.
  • Slice 344 includes the following two rows.
  • CABAC initialization for the slice 344 depends on the other slices 341, 342 and / or 343. If either of the slices 342 and 343 is a normal slice as shown in FIG. 7, the slice 344 is initialized to the default CABAC state. Otherwise, a WPP table is used. That is, the CABAC state after the processing of the second LCU in the LCU row above the target row is used for initialization.
  • the CABAC for the dependent slice 344 is initialized using a predetermined default CABAC state.
  • CABAC initialization is based on multiple preceding slices. Therefore, processing of the target slice, particularly analysis, depends on a plurality of other slices. Specifically, whether the CABAC context is initialized with a default value or a WPP value is determined according to the type of the preceding slice of the target slice. In this way, it is confirmed whether the preceding slice can be used, and an initialization method to be applied to the target slice is determined. In other words, processing in a fairly complicated order is necessary. This will be described in detail below.
  • the first slice 341 has at least two LCUs, it is possible to refer to the CABAC state after encoding or decoding the first two LCUs.
  • the slice 344 cannot be accurately decoded. This is because CABAC initialization cannot be performed because the type of slice 342 or slice 343 is unknown. In other words, even if only information related to the two preceding slices is missing and the slice 344 can be acquired correctly, the CABAC cannot be initialized for the slice 344, and therefore the data of the slice 344 that has been acquired correctly can be discarded. . Therefore, error concealment is required for the slice 344. This can cause image quality degradation due to distortion due to incomplete error concealment.
  • the slice header most of the syntax elements (these are mainly switching of control such as a specific filtering operation) need to be determined for all slices included in the frame. Some syntax elements can be changed for each slice, but in most processes by the image coding apparatus, all control parameters determined for the entire frame are maintained. Therefore, the following method can be used as a method for concealing errors. In this method, only information on whether the lost slice was a dependent slice or a normal slice is required.
  • the decoding delay gets worse. That is, when packet rearrangement is expected, decoding delay may be deteriorated. This is inconsistent with providing a very low delay with dependent slices, which is the basic goal of WPP.
  • FIG. 8 is a diagram showing another example of the CABAC initialization process.
  • a picture 350 shown in FIG. 8 includes a slice 351 and a slice 354.
  • the slice 351 is a normal slice, the first slice in the frame, and includes four LCUs.
  • CABAC is initialized to a default state value (zero state).
  • a plurality of default states may exist. In this case, one default state is selected from the plurality of default states.
  • the default state is a predetermined value of the probability model of the arithmetic code.
  • FIG. 9 is a flowchart of initialization method determination processing performed when the dependent slice 354 is acquired. In other words, this flowchart shows how CABAC initialization depends on more than one slice.
  • the parameter numLCUinRow indicates the number of LCUs per row of the picture 350. Therefore, the condition of (Expression 1) is satisfied at the head of the line.
  • the parameter numLCUinRow can be derived from the SPS setting.
  • the slice (4) is a dependent slice (S101). If the slice (4) is not a dependent slice (No in S101), default initialization is performed.
  • slice (4) is a dependent slice (Yes in S101)
  • i is set to 3 (S102). That is, slice (3) immediately before slice (4) is set as slice i.
  • slice i is slice (3) immediately before the dependent slice (slice (4)) to be processed.
  • the start position of the slice i is analyzed. Specifically, it is determined whether slice_address% numLCUinRow is smaller than 2 (S106). That is, it is determined whether the start position of the slice i is the head of the row or the second LCU.
  • slice_address% numLCUinRow is smaller than 2 (Yes in S106)
  • WPP initialization is performed (S107).
  • slice_address% numLCUinRow is 2 or more (No in S106)
  • default initialization is performed (S108).
  • the start position of the slice i is analyzed. Specifically, it is determined whether slice_address% numLCUinRow is smaller than 3 (S105). That is, it is determined whether the start position of slice i is the first, second, or third LCU in the row.
  • slice_address% numLCUinRow is smaller than 3 (Yes in S105)
  • WPP initialization is performed (S107).
  • slice_address% numLCUinRow is 3 or more (No in S105)
  • initialization is not performed and the index i is decreased by 1 (S109). That is, in this example, the slice (2) immediately before the target slice (slice (4)) is set as the slice i. Then, the processing after step S103 is performed on the slice (2). If the same determination is made for slice (2), then slice (1) is set as slice i.
  • FIG. 10 is a diagram showing a picture 360.
  • the picture 360 includes five slices 361-365.
  • the slice 361 is a normal slice and includes the entire first row.
  • the slice 362 is a dependent slice and includes the entire second row.
  • the third row includes a dependent slice 363 and a slice 364.
  • Slice 365 is a dependent slice and includes the entire fourth row.
  • slice 364 has at least two LCUs.
  • the image decoding apparatus cannot determine the type of the slice 364. If the lost slice 364 is a dependent slice, it is possible to continue decoding the slice 365 and subsequent slices with a little error in the reconstruction process. This is because the slice 365 uses the CABAC state of the second LCU of the slice 363 as described with reference to FIGS. Therefore, no error occurs in the CABAC initialization process. However, since the slice 365 uses spatial prediction from the slice 364, an error may occur in the pixel reconstruction process.
  • the lost slice 364 is a normal slice
  • the slice 365 cannot be decoded. This is because some syntax elements may use the information in the slice header of the lost slice 364. That is, the normal slice 364 is a parent slice of the dependent slice 365, and information on the parent slice is necessary for analysis and decoding of the dependent slice 365.
  • the image decoding apparatus discards the decodable slice 365 in order to avoid erroneous decoding that may occur when the lost slice 364 is a normal slice. This is inefficient because the slice 365 is discarded even when the data of the slice 365 can be correctly acquired. Furthermore, all the dependent slices following the slice 365 need to be discarded.
  • the CABAC engine is initialized to the default CABAC value for decoding the slice 365 (see the case of No in S101 of FIG. 9). Therefore, the slice 365 does not depend on the slice 363. Further, spatial prediction between the slice 363 and the slice 365 is not performed. Thus, the dependent slice 365 is similar to a normal slice because CABAC is initialized to the default value at the start of the slice 365.
  • a normal slice has a complete slice header.
  • the slice 365 has only a short slice header and depends on the parameters set by the slice header of the preceding normal slice. That is, when the slice 365 is a dependent slice, there is an advantage that the header size can be reduced, but this advantage is not so large.
  • the slice 365 when the slice 365 is a normal slice, the slice 365 can be decoded. Thus, in the above case, it is considered that the advantage is greater when the slice 365 is set as a normal slice than when the slice 365 is set as a dependent slice.
  • FIG. 11 is a diagram for illustrating another problem related to CABAC initialization in the case of using WPP, and is a diagram illustrating a picture 370.
  • the picture 370 includes four slices 371-374.
  • the slice 371 is a normal slice, and the slice 372 is a dependent slice.
  • the slice 371 has at least two LCUs.
  • the first line of the picture 370 includes slices 371 and 372.
  • the second row of the picture 370 includes slices 373 and 374 that are dependent slices.
  • the image encoding device uses at least two processor cores. That is, when using WPP, the image encoding apparatus encodes and analyzes two LCU rows in parallel. Thus, slice 373 becomes available long before slice 372 becomes available.
  • Two processing units such as a processor core or a processor encode the first slice (slice 371 and 373) of each row at the same time.
  • the encoded slices 371 and 373 are encapsulated into packets having packet numbers (packet_id) of 0 and 4, respectively.
  • packet number 4 is selected to reserve a small number for slice 372 and possibly another NALU.
  • the slice 372 is encapsulated into a packet of packet number 1 and transmitted. Also, two NAL units having corresponding packet numbers 2 and 3 and dummy (filler) data are generated so that the missing packet numbers 2 and 3 are not determined to be missing packets.
  • the filler type NALU is used to fill the difference.
  • the initialization of the target line depends on the second LCU on the line above it. Also, if a slice is inserted after the second LCU, it will be a problem because it affects the CABAC initialization decision. Based on this analysis and problem, the present invention provides a technique for deriving a more efficient relationship between the use of WPP and dependent slices. In order to maintain WPP efficiency, the situation where CABAC initialization for one row depends on another row should be avoided.
  • An image decoding method is an image decoding method for decoding a bitstream including an encoded signal in which an image is divided into a plurality of tiles and is divided into a plurality of slices and encoded.
  • the top slice of the second tile refers to a slice other than the top of the first tile, it is possible to improve efficiency when using both parallel tile processing and dependent slices.
  • the decoding step when the first tile and the second tile are decoded in parallel and decoding of the second tile is started, without referring to the division information indicating the slice structure in the first tile,
  • the second tile may be decoded.
  • the dependent slice may include the entire third tile.
  • the second tile may not start from the dependent slice.
  • the image decoding method may further include a step of acquiring information indicating whether a slice is a normal slice or a dependent slice from a slice header.
  • the first slice of the image may be a normal slice, and all other slices may be dependent slices.
  • the image decoding method may further include a step of acquiring a restriction indicator indicating that the division of a picture is restricted from the bitstream.
  • the image decoding method may further include a step of acquiring from the bitstream an indicator indicating whether or not a parent slice in which a slice header is used for the dependent slice starts from the top of the tile.
  • An image encoding method is an image encoding method for generating a bitstream by dividing an image into a plurality of tiles and encoding the image by dividing the image into a plurality of slices.
  • the information included in the slice header is one of a normal slice used for another slice and a dependent slice using the information included in the slice header of another slice for decoding.
  • the normal slice is When starting from other than the beginning of the first tile, the second tile encoded next to the first tile starts from the dependent slice. As no al, into a plurality of slices with dividing the image into a plurality of tiles.
  • the top slice of the second tile refers to a slice other than the top of the first tile, it is possible to improve efficiency when using both parallel tile processing and dependent slices.
  • the slice in the first tile is started when the image decoding device starts decoding the second tile.
  • the image may be divided into the plurality of tiles and the plurality of slices so that the second tile can be decoded without referring to the division information indicating the structure.
  • the image is divided into a plurality of tiles and divided into a plurality of slices so that the dependent slice includes the entire third tile. May be.
  • the image is divided into a plurality of tiles so that the second tile does not start from a dependent slice. It may be divided into a plurality of slices.
  • the image encoding method may further include a step of embedding information indicating whether a slice is a normal slice or a dependent slice in a slice header.
  • the first slice of the image may be a normal slice, and all other slices may be dependent slices.
  • the image coding method may further include a step of embedding a restriction indicator indicating that division of pictures is restricted in the bitstream.
  • the image coding method may further include a step of embedding an indicator indicating whether or not a parent slice in which a slice header is used for the dependent slice starts from the top of the tile in the bitstream.
  • An image decoding device is an image decoding device that decodes a bitstream including an encoded signal that is encoded by being divided into a plurality of slices while the image is divided into a plurality of tiles.
  • Each of the plurality of slices includes a normal slice in which information included in a slice header of the slice is used for another slice, and a slice header of another slice for decoding. If the information included in is one of the dependent slices used, and the normal slice starts from other than the top of the first tile, the second tile encoded next to the first tile does not start from the dependent slice.
  • the top slice of the second tile refers to a slice other than the top of the first tile, it is possible to improve efficiency when using both parallel tile processing and dependent slices.
  • An image encoding device is an image encoding device that generates a bitstream by dividing an image into a plurality of tiles and encoding the image into a plurality of slices.
  • a division unit that divides the image into a plurality of tiles and a plurality of slices; and a coding unit that encodes the plurality of divided tiles and the plurality of slices, and each of the plurality of slices includes the slice.
  • Information included in the slice header is a normal slice in which another slice is used, and a dependent slice in which information included in the slice header of another slice is used for decoding.
  • the second tile encoded next to the first tile does not start from the dependent slice. It is divided into a plurality of slices as well as dividing a plurality of tiles image.
  • the top slice of the second tile refers to a slice other than the top of the first tile, it is possible to improve efficiency when using both parallel tile processing and dependent slices.
  • an image encoding / decoding device includes the image encoding device and the image decoding device.
  • FIG. 12 is a diagram illustrating the syntax of the slice header according to the first embodiment.
  • the slice header 380 includes a new line 381 with a new syntax element “entropy_default_initialization_flag”.
  • the entropy_default_initialization_flag is an indicator that indicates that the CABAC of the slice is initialized with the CABAC default (predetermined) value when set to a predetermined value.
  • This flag has a first value such as “1” indicating that the slice is initialized with the default CABAC value, and a second value such as “0” indicating that the initialization is performed in another way. Is a 1-bit indicator. The assignment of the values “1” and “0” may be interchanged.
  • “Another method” for determining the initialization may be a predetermined method such as initialization based on the value of the preceding slice. However, “another method” may include another decision flow similar to the flow shown in FIG. 9, which may also lead to an initialization method with default CABAC values.
  • the image decoding apparatus decodes a bit stream of an encoded video sequence including an image slice that is at least partially encoded with an arithmetic code.
  • the image decoding apparatus according to the initialization indicator, an analysis unit for extracting from the bit stream data of the slice, an initialization indicator indicating whether the probability model of arithmetic decoding of the slice is initialized with a predetermined value, A control unit that controls whether or not the probability model for arithmetic decoding is initialized with the predetermined value, and an arithmetic decoding unit that decodes the slice by performing arithmetic decoding.
  • the arithmetic code may be a context adaptive arithmetic code as defined in HEVC.
  • the present invention is not limited to this.
  • the predetermined value is a default value notified to the image encoding device and the image decoding device, and does not change depending on the encoded content.
  • This initialization indicator preferably refers to a 1-bit flag, where “1” indicates that the probability model of arithmetic decoding is initialized with a predetermined value, and “0” indicates that the arithmetic decoding is performed. Indicates that the probabilistic model is initialized in another way.
  • the initialization indicator (flag) is advantageous when performing parallel processing of a slice and another slice.
  • the syntax element “slice_address” indicates the start of a slice by an offset included in the bitstream.
  • “PicWidthInCtbsY” indicates the width of the frame in the number of units (LCU) of the coding tree block.
  • the image coding method and the image decoding method according to the present embodiment divide an image slice into coding units corresponding to the pixel blocks of the image, and the analysis unit performs header data only when the slice is a dependent slice.
  • the initialization indicator included in is extracted.
  • the arithmetic decoding unit of the dependent slice is initialized based on the context of the arithmetic decoding unit of the parent slice corresponding to each dependent slice.
  • the analysis unit may extract an initialization indicator for header data only when parallel decoding of a row composed of coding units is possible.
  • the slice of the image is divided into coding units corresponding to the pixel blocks of the image, and the analysis unit only starts when the slice starts from the beginning of the row composed of the coding unit blocks of the image. Extract the header data initialization indicator.
  • FIG. 13 is a flowchart of a method for determining CABAC initialization of a slice according to the present embodiment.
  • FIG. 13 assumes the case of the picture 350 shown in FIG. Assuming that slice (4) (slice 354) is analyzed in parallel with slice (1) (slice 351), the following decisions are made:
  • the present embodiment is not limited to signaling the initialization indicator in the slice header.
  • the same indicator may be embedded in another data structure, for example, an additional extended information message.
  • Embodiment 2 According to the first embodiment, efficient processing of parallel LCU row processing such as WPP and dependent slice can be realized. On the other hand, a new syntax element is incorporated into the slice header. On the other hand, independence of CABAC initialization with respect to slices being processed in parallel may be achieved by modifying the initialization rules to avoid adding new syntax elements.
  • the definition of the dependent slice and the operations of the image encoding device and the image decoding device for the dependent slice are corrected. This can be realized by limiting the bitstream standard.
  • the image decoding apparatus decodes a bit stream of an encoded video sequence that includes a plurality of image slices that are divided into a plurality of encoding units and are at least partially encoded with arithmetic codes.
  • the image decoding apparatus includes an analysis unit that extracts a first row and a second row composed of coding units from a bit stream, and initializes an arithmetic decoding unit for the second slice of the second row.
  • the coding units of the first row and the second row are allocated to the slice so that the division information of the first slice of the eye does not have to be referred to.
  • the start position of the first slice in the first row is a predetermined number of encoding units after the second slice in the second row.
  • the image decoding apparatus further includes an arithmetic decoding unit that decodes each slice by arithmetically decoding the first slice and the second slice at least partially in parallel.
  • FIG. 14 is a diagram for illustrating the function of the present embodiment, and shows a picture 390 divided into a plurality of slices.
  • the picture 390 includes a normal slice 391, a normal slice 392, a dependent slice 393, and a normal slice 394, which are four slices.
  • the three slices 391, 392, and 393 are included in the first row composed of coding units (LCU).
  • Slice 394 includes the entire second and third rows.
  • a first example of restrictions that apply to slicing and the use of row-wise parallel processing is: "If entropy_code_sync_enabled_flag is equivalent to 1 and dependent_slice_enabled_flag is equivalent to 1, only at the beginning of the coding tree block row Usually a slice may start. " Also, both flags of entropy_code_sync_enabled_flag and dependent_slice_enabled_flag are included in the picture parameter set.
  • the coding tree block (CTB) and the maximum coding unit (LCU) are the same unit. CTB is used in the standard text (see Non-Patent Document 3). In addition, LCU was used in the previous version of the standard text, but CTB is currently used.
  • a dependent slice following the normal slice in another row may always refer to the CABAC state of the normal slice.
  • the CABAC state is a CABAC state after processing of the first LCU or the first two LCUs as executed by the WPP.
  • the headers of the dependent slices depend on the headers of the normal slices preceding them, it is necessary to discard the dependent slices when the normal slice 394 is lost.
  • the restrictions in the first example need not be strict.
  • at least one or two LCUs of the preceding normal slice may be made available to the dependent slice.
  • the second example may be applied as another restriction (rule).
  • the normal slice is not started after the second coding tree block in the coding tree block row. Since the normal slice must start at the beginning of the LCU row, for example, as shown in FIG. 14, it is not allowed to set the second slice 392 as a normal slice.
  • the first slice described above may have a start position up to the second coding unit in the first row.
  • the first slice may be a normal slice
  • the second slice may be a dependent slice using a slice header of the normal slice.
  • the start position of the first slice may be the beginning of the first row.
  • FIG. 15 is a flowchart of the CABAC initialization method determination process when the above-described rules are provided. Here, a description will be given using the example shown in FIG.
  • the image encoding method uses a context adaptive entropy encoding unit.
  • the image coding method is applied to a picture frame divided into at least two parts.
  • the at least two parts are a first part and a second part that can be encoded and decoded separately and at least partially in parallel.
  • the initialization of the context table of the second part of the stream is determined by a method that does not depend on the division of the first part. For example, since WPP is performed for each row (each LCU row), a part of the stream may correspond to the LCU row.
  • entropy_coding_sync_enabled_flag indicates the position of a slice starting in the bitstream
  • PicWidthInCtbsY indicates the width of a picture (frame) in an LCU (coding tree block).
  • a picture 400 shown in FIG. 16 includes three slices 401 to 403 included in the first row. Of these three slices, the first two slices 401 and 402 are normal slices, and the third slice 403 is a dependent slice.
  • the fourth slice 404 cannot be set as a dependent slice. In FIG. 16, this is shown by putting a cross mark on the slice 404.
  • the bitstream may include normal slices and dependent slices, and their decoding is based on parameters signaled in the slice header of the normal slice. If a normal slice starts at a position after the beginning of the LCU line, the next LCU line does not start with a dependent slice.
  • the normal slice is recognized only as the first slice in the frame. That is, all slices in the frame are dependent slices except the first slice.
  • the picture 410 shown in FIG. 17 includes five slices 411 to 415.
  • Slices 411, 412, and 415 are normal slices, and slices 413 and 414 are dependent slices.
  • normal slices 412 and 415 except the first normal slice 411 are not allowed. That is, slices 412 and 415 must be dependent slices.
  • the bitstream includes a normal slice and a dependent slice.
  • the decoding of the normal slice and the dependent slice is based on parameters signaled in the slice header of the normal slice. Only the first slice in the image is a normal slice and the remaining slices are dependent slices, and then the image is divided into slices.
  • Each slice includes all m coding unit rows.
  • m is an integer of 1 or more.
  • an indicator indicating the restriction may be embedded in the bitstream.
  • this indicator is embedded in SPS or PPS.
  • this indicator may be embedded in another message, such as a SEI message, or in any video usability information (VUI) message.
  • this restriction is a restriction that a normal slice is allowed only at the head of an LCU row (WPP) or at the head of a tile. Note that this is only an example of a restriction, and any of the above restrictions, a combination of these restrictions, or additional restrictions not explicitly described may be applied.
  • this indicator may be a 1-bit flag indicating whether or not the restriction is applied to a predetermined restriction.
  • There may be a plurality of selectable restrictions, and information indicating the selected restrictions is included in the bitstream and signaled to the image decoding apparatus. That is, instead of explicitly restricting use as in the above-described example, the image encoding device may inform the image decoding device that such a restriction is used. Therefore, any of the above examples related to restrictions may be applied.
  • the present embodiment can prevent the dependent slice processing from being delayed by two or more or three or more coding units by performing CABAC initialization considering the preceding slice in parallel processing. As a result, row encoding, decoding, and analysis can be efficiently performed in parallel.
  • the restriction may also relate to a slice from which a CABAC context is obtained.
  • a rule is set so that the dependent slice always obtains the slice header and the CABAC context from the same slice regardless of the division of the LCU row into slices (and / or the type of the subsequent slice).
  • the picture 420 shown in FIG. 18 includes slices 421 to 424.
  • the parent slice of the dependent slice 424 is the slice 422.
  • the slice header of the dependent slice 424 is acquired from the slice 422 that is the preceding closest normal slice.
  • the dependent slice may perform CABAC initialization using the normal slice at the head of the preceding LCU row. However, when the slice 422 is lost, the CABAC of the slice 424 can be initialized, but since the slice header information is lost, the slice 424 cannot be decoded.
  • the dependent slice has, as a parent slice, the nearest normal slice starting from the same row or the previous row including the dependent slice.
  • the parent slice of the slice 424 is set to the slice 421 as shown in FIG. Then, the dependent slice 424 uses the slice header of the slice 421 and performs CABAC initialization using the CABAC state of the slice 421.
  • the dependency of the slice is set so that the arithmetic decoding unit of each dependent slice is initialized based on the context of the arithmetic decoding unit of the parent slice.
  • CABAC context table used for slice initialization may be explicitly signaled in the SEI message. That is, all initial values that may be used to initialize the CABAC engine may be explicitly signaled in the SEI message.
  • initializing the CABAC context table means setting the CABAC context table to either a default initial value or a previously stored value. For tiles, the CABAC context table is always initialized to the default value at the beginning of the tile (even if the tile starts with a dependent slice).
  • the syntax element is, for example, a flag indicating ON / OFF of sample adaptive offset processing.
  • this flag is “ON”, the CABAC engine filters parameters while analyzing slice data.
  • this relates to CABAC engine state control. This will be described in detail below.
  • FIG. 19 is a diagram showing the syntax of the slice header according to the present embodiment.
  • This slice header includes dependent_slice_flag which is an indicator related to dependency.
  • FIG. 20 is a diagram illustrating a picture 500 divided into two tiles 501 and 502. As shown in FIG. 20, a tile is different from a slice in that a picture is divided by a vertical line. In general, a picture can be divided into a plurality of tiles. The tile division information is signaled in a picture parameter set (PPS) for the picture.
  • PPS picture parameter set
  • tiles are one of the tools that enable parallel processing. That is, a plurality of tiles may be decoded in parallel. Note that after the tile reconstruction, the loop filter processing is generally performed at the tile boundary at the end.
  • the picture parameter set includes information on the number and position of tiles in the picture. Tiles are similar to slices in that spatial prediction between tiles is not allowed.
  • spatial prediction refers to intra prediction, motion vector prediction, or parameter reference.
  • the parameter is a sample adaptive offset parameter, another parameter related to a picture, or a parameter related to another tile.
  • the entropy encoder and entropy decoder are restarted at the beginning of each tile.
  • FIG. 21A is a diagram illustrating a processing order of coding units such as a coding tree block or a maximum coding unit. This order is also called Z scan or raster scan.
  • FIG. 21A shows the case where the tile is not valid. In other words, one tile is set for one picture. Note that WPP may be enabled.
  • FIG. 21B is a diagram showing a frame including two tiles 511 and 512 divided by a boundary 513.
  • the processing order when two or more tiles exist in a frame is determined as follows.
  • the order of all tiles is determined according to the normal raster scan order described above for the LCU. This is the order starting with tile 511 and ending with tile 512 in FIG. 21B.
  • LCU scan order is used for slices. Therefore, if slice A precedes slice B in coding order, it means that all LCUs in slice A precede all LCUs in slice B.
  • the coding units are scanned in an order different from the order applied when only slices are used (when tiles are not used).
  • the coding unit in a picture is scanned by so-called Z-scan.
  • the Z scan starts from the upper left coding unit in the picture, scans the first line in the right direction, and when scanning to the right end of the first line is completed, starts from the coding unit at the left end of the second line, Are scanned up to the rightmost encoding unit.
  • the last coding unit in the last row is scanned.
  • the slice is configured as a continuous number of coding units in the Z-scan order.
  • the encoding or decoding order of the coding units is changed from this order. Specifically, scanning is performed in the order of Z scanning within each tile. That is, scanning in the Z scan order is not performed across tiles. Therefore, encoding or decoding of the coding unit included in the tile starts from the upper left coding unit of the tile and ends with the lower right coding unit of the tile. Also, the tiles in the picture are ordered in the Z scan order as described above.
  • the syntax element tiles_enabled_flag is included in the syntax of the bitstream as part of the sequence parameter set (SPS). By setting this syntax element to the logical value “1”, the tile can be used.
  • the SPS syntax element entropy_coding_sync_enabled_flag for controlling the use of WPP is set to a logical value “0”.
  • 22A to 22C are diagrams for explaining limitations when using tiles and slices at the same time. As shown in FIG. 22A, it is allowed to split a slice into two tiles. In this example, slice (1) includes the entire picture and is divided into two tiles having the same size.
  • the picture is divided into two tiles. Each tile is divided into two slices. Specifically, the picture is first divided into tile 1 and tile 2.
  • Tile 1 and tile 2 include the left half and the right half of the picture, respectively.
  • Tile 1 is divided into two slices, slice 1 and slice 2
  • tile 2 is divided into two slices, slice 3 and slice 4.
  • FIG. 22C is a diagram showing an unrecognized slice and tile structure.
  • slice 1 is included in both tile 1 and tile 2.
  • slice 2 exists only in tile 2.
  • neither tile 1 nor tile 2 includes an integer number of complete tiles.
  • neither slice 1 nor slice 2 contains an integer number of complete tiles.
  • FIG. 23 is a diagram illustrating an example of dividing a picture into tiles and slices. This division is permitted in accordance with the above restrictions. This division corresponds to the example of FIG. 22B.
  • slices 521 and 522 included in tile 1 are normal slices.
  • Slices 523 and 524 included in tile 2 are dependent slices.
  • FIG. 24 is a diagram showing a scanning order when a single core is used for processing of coding units in a picture, particularly decoding or coding of a coding unit. As shown in FIG. 24, when tile division is not used, the single core decodes coding units in the Z scan order.
  • the CABAC engine is re-initialized according to the tile definition, ie, tile boundaries. That is, the CABAC state at the tile boundary needs to be stored for later initialization.
  • the single core decoding procedure requires jumps in the bitstream. This is because tile division changes the coding order of coding units.
  • the first coding unit row of the slice 521 is decoded.
  • the slice address of slice 522 is decoded.
  • the slice address is signaled in the slice header.
  • the slice address is represented by the number of LCUs, and indicates a position in the bit stream where the slice starts. Further, the slice address is different from the first encoding unit included in the tile 2.
  • the slice 523 is decoded. Although the slice address is correct, this slice is a dependent slice. Accordingly, the slice 523 uses the slice header of the slice 522 included in the tile 1. Therefore, the decoding process jumps back to the slice 522, and the header is decoded. Then, since the decoding process returns to decoding of the slice 523, the process jumps forward. Thereafter, decoding of the slice 523 is started.
  • the image decoding device needs to jump back and forward in the bitstream, and when starting decoding of tile 2, an additional confirmation is required. There is a need to do. This is due to the occurrence of dependencies between tiles in order to use dependent slices.
  • the present embodiment realizes a technique that enables effective application of dependent slices and tiles. Specifically, by limiting the division of a picture into slices and tiles, it is possible to ensure proper encoding and decoding in a normal order.
  • the image decoding apparatus decodes a bit stream of an encoded video sequence that includes a plurality of frames each including a plurality of image slices and image tiles. Each image slice and each image tile includes a plurality of coding units.
  • the image decoding apparatus includes an analysis unit that extracts (analyzes) a tile 1 and a tile 2 encoded next to the tile 1 from a bit stream. In decoding of tile 2 by the arithmetic decoding unit, the frame is divided into slices and tiles so that the division information of tile 1 is not required.
  • the image decoding apparatus further includes an arithmetic decoding unit that decodes slices by arithmetically decoding tiles 1 and 2 at least partially in parallel.
  • the image encoding apparatus encodes a video including a plurality of image slices divided into a plurality of encoding units into a bitstream, at least partially using an arithmetic code.
  • the image encoding apparatus decodes the second tile by the bit stream generation unit that embeds the first tile and the second tile encoded next to the first tile in the bit stream, and the arithmetic decoding unit, Dividing each frame into the slices and the tiles so that the division information of the first tiles is not required, and arithmetically coding the first tiles and the second tiles at least partially in parallel. And an arithmetic coding unit for coding each slice.
  • the normal slice starts only at the head of the tile. That is, if tiles_enabled_flag is equal to 1 and at the same time dependent_slice_enabled_flag is equal to 1, each normal slice must start at the start position of the tile.
  • a slice (ordinary slice) in which the header is used for another slice always starts at the top of the tile.
  • the first slice of the image is a normal slice
  • the other slices are dependent slices. That is, the normal slice is recognized only as the first slice of the image.
  • the slices other than the head are always dependent slices.
  • the picture shown in FIG. 25C is allowed, but the picture shown in FIG. 25B is not allowed.
  • the tile to be encoded next does not start from the dependent slice. That is, if tiles_enabled_flag is equal to 1 and slice_address is equal to the start address of the tile, the next tile does not start from the dependent slice.
  • a tile encoded next to the tile has a header of another slice for decoding. Does not start with the slice used (dependent slice).
  • the second tile encoded next to the first tile does not start from the dependent slice. That is, when at least one of the second and subsequent slices of the first tile is a normal slice, the first slice of the second tile is a normal slice.
  • the top slice (4) of the tile 2 cannot be set as the dependent slice.
  • the slice (4) cannot be set as a dependent slice. Therefore, as shown in FIG. 25B, it is necessary to set slice (4) to a normal slice.
  • a picture as shown in FIG. 25C is also recognized.
  • a complete tile is included in the dependent slice. That is, when a tile starts from a slice that uses the header of another slice for decoding, the entire tile is included in the slice.
  • the dependent slice when the top of the third tile is a dependent slice, the dependent slice includes the entire third tile.
  • the third tile includes only one dependent slice.
  • FIG. 26A if tile 2 starts with a dependent slice (4), it is not allowed that tile 2 includes multiple slices. Therefore, as shown in FIG. 26B, the tile 2 needs to include only one dependent slice (4).
  • the middle of the tile means that the first CTB of the slice is not the first CTB of the tile, not the actual middle. That is, “the middle of the tile” means the inside of the tile.
  • the next encoded tile will not start with a slice using the header of another slice.
  • the first tile includes a slice that starts from other than the beginning of the first tile (when the first tile includes a plurality of slices)
  • the second tile does not start from the dependent slice.
  • FIG. 27A when the tile 1 includes a plurality of tiles, it is not permitted to set the first slice (4) of the tile 2 as a dependent slice. Therefore, as shown in FIG. 27B, it is necessary to set the top slice (4) of tile 2 to a normal slice.
  • a dependent slice is not permitted. That is, dependent slices are allowed to be used with WPP, but not to be used with tiles. This avoids additional problems when using tiles. That is, when using a tile, a slice does not use the header of another slice for decoding.
  • an indicator indicating the restriction may be embedded in the bitstream.
  • this indicator is embedded in SPS or PPS.
  • this indicator may be embedded in another message, such as a SEI message, or in any video usability information (VUI) message.
  • this restriction is a restriction that a normal slice may start only at the head of a tile (or in the case of WPP, the head of an LCU row). Note that this is only an example of a restriction, and any of the above restrictions, a combination of these restrictions, or additional restrictions not explicitly described may be applied.
  • this indicator may be a 1-bit flag indicating whether or not the restriction is applied to a predetermined restriction.
  • There may be a plurality of selectable restrictions, and information indicating the selected restrictions is included in the bitstream and signaled to the image decoding apparatus. That is, instead of explicitly restricting use as in the above-described example, the image encoding device may inform the image decoding device that such a restriction is used. Therefore, any of the above examples related to restrictions may be applied.
  • the image decoding method includes a step of acquiring a restriction indicator indicating that the division of a picture is restricted from the bitstream.
  • the image coding method includes a step of embedding a restriction indicator indicating that division of a picture is restricted in the bitstream.
  • whether or not to add an indicator may not be determined depending on whether the WPP or the tile is enabled.
  • the dependent slice may not be validated. That is, an indicator may be added regardless of whether the use of the dependent slice is valid or invalid.
  • an indicator indicating that the parent slice of the target slice starts at the top of the tile may be added to the bitstream. That is, the image decoding method according to an aspect of the present invention includes a step of obtaining an indicator indicating whether or not a parent slice whose slice header is used for a dependent slice starts from the top of the tile from the bitstream. In addition, the image coding method according to an aspect of the present invention includes a step of embedding an indicator indicating whether or not a parent slice in which a slice header is used for a dependent slice starts from the top of the tile in the bitstream.
  • an indicator indicating that all slices included in the picture use the same slice header may be added to the bitstream. That is, this indicator indicates that all syntax elements that are present in the header of the normal slice and are not present in the header of the dependent slice are the same for all slices included in the picture.
  • a restriction indicator indicating that the division of pictures is restricted by a predetermined rule may be included in the bitstream.
  • an indicator indicating whether or not the parent slice of the target slice starts at the top of the tile may be embedded in the bitstream.
  • the header of the parent slice is used for the target slice.
  • An image decoding method is an image decoding method for decoding a bitstream including an encoded signal in which an image is divided into a plurality of tiles and divided into a plurality of slices. And a decoding step of decoding the encoded signal.
  • An image encoding method is an image encoding method for generating a bitstream by dividing an image into a plurality of tiles and encoding the image into a plurality of slices. Are divided into a plurality of tiles and divided into a plurality of slices, and an encoding step of encoding the plurality of divided tiles and the plurality of slices is included.
  • Each of the plurality of slices is either a normal slice or a dependent slice.
  • a normal slice is a slice in which information included in the slice header of the slice may be used for another slice.
  • a dependent slice is a slice that uses information included in a slice header of another slice for decoding.
  • another slice is, for example, the nearest normal slice that is located before the dependent slice.
  • the image is divided into a plurality of tiles and divided into a plurality of slices so that one or more of the above-described restrictions are satisfied.
  • the decoding step the first tile and the second tile are decoded in parallel, and the second tile is decoded without referring to the division information indicating the slice structure in the first tile when decoding of the second tile is started. May be.
  • the division step when the image decoding apparatus performs the parallel decoding of the first tile and the second tile, the division information indicating the slice structure in the first tile when the image decoding apparatus starts decoding the second tile.
  • the image may be divided into a plurality of tiles and a plurality of slices so that the second tile can be decoded without referring to FIG.
  • the division information is, for example, information indicating a slice position (start position) or a slice header position.
  • the image decoding apparatus refers to the division information to perform the above-described processing of jumping the processing target tile.
  • the image decoding method includes a step of acquiring information indicating whether a slice is a normal slice or a dependent slice from a slice header. Further, the image encoding method includes a step of embedding information indicating whether a slice is a normal slice or a dependent slice in a slice header.
  • the above solution can also be applied to tiles.
  • the part to be processed in parallel is a tile composed of LCUs, not LCU rows. That is, the above-described solution can be used as it is for tiles by replacing LCU rows with tiles.
  • the bitstream may include normal slices and dependent slices, and their decoding is based on parameters signaled in the slice header of the normal slices.
  • a restriction is applied that a dependent slice that depends on the normal slice cannot follow the normal slice.
  • a restriction is applied in which an image is divided into slices so that only the first slice included in the image is a normal slice and the remaining slices are dependent slices.
  • the arithmetic decoding unit of each dependent slice uses the slice header of the parent slice, so that the dependency of the slice occurs.
  • a restriction indicator is embedded in the bitstream when a dependent slice is applicable.
  • the dependent slice is a slice that includes encoded image data and uses parameters of a header of another slice.
  • restriction may be any restriction described above, a combination of such restrictions, or a restriction other than the restrictions exemplified above.
  • An apparatus is an apparatus for decoding a bitstream of an encoded video sequence including a plurality of image slices and a plurality of image tiles, which is at least partially encoded with an arithmetic code, An initialization indicator indicating whether or not a probability model for arithmetic decoding of a slice is initialized with a predetermined value, an analysis unit that extracts from the data for the slice of the bitstream, and the predetermined value according to the initialization indicator The control unit for controlling whether or not to initialize the probability model for arithmetic decoding, and the arithmetic decoding unit for decoding the slice by performing arithmetic decoding.
  • An apparatus is an apparatus that generates a bitstream by encoding a video sequence including a plurality of image slices at least partially using an arithmetic code, and a probability model for arithmetic decoding of a slice is predetermined.
  • An initialization indicator indicating whether or not to initialize with a value is embedded in the data for the slice of the bitstream data, and according to the initialization indicator, the arithmetic coding with the predetermined value
  • a control unit that controls whether to initialize the probability model, and an arithmetic coding unit that codes the slice by performing arithmetic coding.
  • the initialization indicator is embedded in the header data of the slice.
  • this initialization indicator is a 1-bit flag.
  • “1” indicates that the arithmetic decoding probability model is initialized with a predetermined value
  • “0” indicates that the arithmetic decoding probability model is initialized by another method.
  • the slice of the image may be divided into coding units corresponding to the pixel blocks of the image, and the analysis unit displays the header data only when the slice is a dependent slice that uses a header parameter of another slice.
  • the initialization indicator at may be extracted.
  • the analysis unit may extract an initialization indicator of header data only when parallel decoding of tiles is possible.
  • the analysis unit may extract an initialization indicator of header data only when the slice starts at the top of the tile.
  • the initialization indicator is embedded in the SEI message outside the slice header.
  • one slice includes one normal slice segment and one or more dependent slice segments that follow the normal slice segment. That is, when a normal slice segment is immediately after a certain normal slice segment, the slice includes only the normal slice segment. In addition, when one or more dependent slice segments continue immediately after a certain normal slice segment, the slice includes the normal slice segment and the one or more dependent slice segments. That is, one slice includes a normal slice segment to a dependent slice segment immediately before the next normal slice segment.
  • the coding tree unit has the same meaning as the above-described LCU and coding tree block.
  • All coding tree units included in a slice segment belong to the same tile.
  • All coding tree units included in a tile belong to the same slice segment.
  • the image encoding method and the image decoding method are realized by an image encoding device and an image decoding device.
  • the configurations of the image encoding device and the image decoding device are the same as those shown in FIGS. 1 and 2, for example.
  • the characteristic steps included in the image encoding method and the image decoding method are as shown in FIGS. It is executed by any of the processing units shown in FIG. 2 or a processing unit (not shown).
  • each processing unit included in the image encoding device and the image decoding device according to the above embodiment is typically realized as an LSI that is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • circuits are not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the image encoding device and the image decoding device include a control circuit (control circuit) and a storage device (storage) electrically connected to the control circuit (accessible from the control circuit).
  • the control circuit includes at least one of dedicated hardware and a program execution unit. Further, when the control circuit includes a program execution unit, the storage device stores a software program executed by the program execution unit.
  • the present invention may be the software program or a non-transitory computer-readable recording medium on which the program is recorded.
  • the program can be distributed via a transmission medium such as the Internet.
  • division of functional blocks in the block diagram is an example, and a plurality of functional blocks can be realized as one functional block, a single functional block can be divided into a plurality of functions, or some functions can be transferred to other functional blocks. May be.
  • functions of a plurality of functional blocks having similar functions may be processed in parallel or time-division by a single hardware or software.
  • the order in which the steps included in the image encoding method or the image decoding method are executed is for illustrating the present invention specifically, and may be in an order other than the above. . Also, some of the above steps may be executed simultaneously (in parallel) with other steps.
  • the image encoding device and the image decoding device according to one or more aspects of the present invention have been described based on the embodiment, but the present invention is not limited to this embodiment. Unless it deviates from the gist of the present invention, the embodiment in which various modifications conceived by those skilled in the art have been made in the present embodiment, and forms constructed by combining components in different embodiments are also applicable to one or more of the present invention. It may be included within the scope of the embodiments.
  • the storage medium may be any medium that can record a program, such as a magnetic disk, an optical disk, a magneto-optical disk, an IC card, and a semiconductor memory.
  • the system has an image encoding / decoding device including an image encoding device using an image encoding method and an image decoding device using an image decoding method.
  • image encoding / decoding device including an image encoding device using an image encoding method and an image decoding device using an image decoding method.
  • Other configurations in the system can be appropriately changed according to circumstances.
  • FIG. 28 is a diagram showing an overall configuration of a content supply system ex100 that realizes a content distribution service.
  • a communication service providing area is divided into desired sizes, and base stations ex106, ex107, ex108, ex109, and ex110, which are fixed wireless stations, are installed in each cell.
  • the content supply system ex100 includes a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, a game machine ex115 via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex106 to ex110. Etc. are connected.
  • PDA Personal Digital Assistant
  • each device may be directly connected to the telephone network ex104 without going from the base station ex106, which is a fixed wireless station, to ex110.
  • the devices may be directly connected to each other via short-range wireless or the like.
  • the camera ex113 is a device that can shoot moving images such as a digital video camera
  • the camera ex116 is a device that can shoot still images and movies such as a digital camera.
  • the mobile phone ex114 is a GSM (registered trademark) (Global System for Mobile Communications) system, a CDMA (Code Division Multiple Access) system, a W-CDMA (Wideband-Code Division Multiple Access) system, or an LTE (Long Terminal Term Evolution). It is possible to use any of the above-mentioned systems, HSPA (High Speed Packet Access) mobile phone, PHS (Personal Handyphone System), or the like.
  • the camera ex113 and the like are connected to the streaming server ex103 through the base station ex109 and the telephone network ex104, thereby enabling live distribution and the like.
  • live distribution content that is shot by a user using the camera ex113 (for example, music live video) is encoded as described in each of the above embodiments (that is, in one aspect of the present invention).
  • the streaming server ex103 stream-distributes the content data transmitted to the requested client. Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, and a game machine ex115 that can decode the encoded data.
  • Each device that receives the distributed data decodes the received data and reproduces it (that is, functions as an image decoding device according to one embodiment of the present invention).
  • the captured data may be encoded by the camera ex113, the streaming server ex103 that performs data transmission processing, or may be shared with each other.
  • the decryption processing of the distributed data may be performed by the client, the streaming server ex103, or may be performed in common with each other.
  • still images and / or moving image data captured by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111.
  • the encoding process in this case may be performed by any of the camera ex116, the computer ex111, and the streaming server ex103, or may be performed in a shared manner.
  • these encoding / decoding processes are generally performed in the computer ex111 and the LSI ex500 included in each device.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • moving image encoding / decoding software is incorporated into some recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex111, etc., and encoding / decoding processing is performed using the software. May be.
  • moving image data acquired by the camera may be transmitted.
  • the moving image data at this time is data encoded by the LSI ex500 included in the mobile phone ex114.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the encoded data can be received and reproduced by the client.
  • the information transmitted by the user can be received, decrypted and reproduced by the client in real time, and personal broadcasting can be realized even for a user who does not have special rights or facilities.
  • the digital broadcast system ex200 also includes at least the video encoding device (video encoding device) or video decoding of each of the above embodiments. Any of the devices (image decoding devices) can be incorporated.
  • video encoding device video encoding device
  • Any of the devices (image decoding devices) can be incorporated.
  • the broadcast station ex201 multiplexed data obtained by multiplexing music data and the like on video data is transmitted to a communication or satellite ex202 via radio waves.
  • This video data is data encoded by the moving image encoding method described in each of the above embodiments (that is, data encoded by the image encoding apparatus according to one aspect of the present invention).
  • the broadcasting satellite ex202 transmits a radio wave for broadcasting, and this radio wave is received by a home antenna ex204 capable of receiving satellite broadcasting.
  • the received multiplexed data is decoded and reproduced by an apparatus such as the television (receiver) ex300 or the set top box (STB) ex217 (that is, functions as an image decoding apparatus according to one embodiment of the present invention).
  • a reader / recorder ex218 that reads and decodes multiplexed data recorded on a recording medium ex215 such as a DVD or a BD, or encodes a video signal on the recording medium ex215 and, in some cases, multiplexes and writes it with a music signal. It is possible to mount the moving picture decoding apparatus or moving picture encoding apparatus described in the above embodiments. In this case, the reproduced video signal is displayed on the monitor ex219, and the video signal can be reproduced in another device or system using the recording medium ex215 on which the multiplexed data is recorded.
  • a moving picture decoding apparatus may be mounted in a set-top box ex217 connected to a cable ex203 for cable television or an antenna ex204 for satellite / terrestrial broadcasting and displayed on the monitor ex219 of the television.
  • the moving picture decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 30 is a diagram illustrating a television (receiver) ex300 that uses the video decoding method and the video encoding method described in each of the above embodiments.
  • the television ex300 obtains or outputs multiplexed data in which audio data is multiplexed with video data via the antenna ex204 or the cable ex203 that receives the broadcast, and demodulates the received multiplexed data.
  • the modulation / demodulation unit ex302 that modulates multiplexed data to be transmitted to the outside, and the demodulated multiplexed data is separated into video data and audio data, or the video data and audio data encoded by the signal processing unit ex306 Is provided with a multiplexing / demultiplexing unit ex303.
  • the television ex300 also decodes the audio data and the video data, or encodes the information, the audio signal processing unit ex304, the video signal processing unit ex305 (the image encoding device or the image according to one embodiment of the present invention) A signal processing unit ex306 that functions as a decoding device), a speaker ex307 that outputs the decoded audio signal, and an output unit ex309 that includes a display unit ex308 such as a display that displays the decoded video signal. Furthermore, the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user operation. Furthermore, the television ex300 includes a control unit ex310 that performs overall control of each unit, and a power supply circuit unit ex311 that supplies power to each unit.
  • the interface unit ex317 includes a bridge unit ex313 connected to an external device such as a reader / recorder ex218, a recording unit ex216 such as an SD card, and an external recording unit such as a hard disk.
  • a driver ex315 for connecting to a medium, a modem ex316 for connecting to a telephone network, and the like may be included.
  • the recording medium ex216 is capable of electrically recording information by using a nonvolatile / volatile semiconductor memory element to be stored.
  • Each part of the television ex300 is connected to each other via a synchronous bus.
  • the television ex300 receives a user operation from the remote controller ex220 or the like, and demultiplexes the multiplexed data demodulated by the modulation / demodulation unit ex302 by the multiplexing / demultiplexing unit ex303 based on the control of the control unit ex310 having a CPU or the like. Furthermore, in the television ex300, the separated audio data is decoded by the audio signal processing unit ex304, and the separated video data is decoded by the video signal processing unit ex305 using the decoding method described in each of the above embodiments.
  • the decoded audio signal and video signal are output from the output unit ex309 to the outside. At the time of output, these signals may be temporarily stored in the buffers ex318, ex319, etc. so that the audio signal and the video signal are reproduced in synchronization. Also, the television ex300 may read multiplexed data from recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from broadcasting. Next, a configuration in which the television ex300 encodes an audio signal or a video signal and transmits the signal to the outside or to a recording medium will be described.
  • the television ex300 receives a user operation from the remote controller ex220 and the like, encodes an audio signal with the audio signal processing unit ex304, and converts the video signal with the video signal processing unit ex305 based on the control of the control unit ex310. Encoding is performed using the encoding method described in (1).
  • the encoded audio signal and video signal are multiplexed by the multiplexing / demultiplexing unit ex303 and output to the outside. When multiplexing, these signals may be temporarily stored in the buffers ex320, ex321, etc. so that the audio signal and the video signal are synchronized.
  • a plurality of buffers ex318, ex319, ex320, and ex321 may be provided as illustrated, or one or more buffers may be shared. Further, in addition to the illustrated example, data may be stored in the buffer as a buffer material that prevents system overflow and underflow, for example, between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303.
  • the television ex300 has a configuration for receiving AV input of a microphone and a camera, and performs encoding processing on the data acquired from them. Also good.
  • the television ex300 has been described as a configuration capable of the above-described encoding processing, multiplexing, and external output, but these processing cannot be performed, and only the above-described reception, decoding processing, and external output are possible. It may be a configuration.
  • the decoding process or the encoding process may be performed by either the television ex300 or the reader / recorder ex218,
  • the reader / recorder ex218 may share with each other.
  • FIG. 31 shows a configuration of the information reproducing / recording unit ex400 when data is read from or written to an optical disk.
  • the information reproducing / recording unit ex400 includes elements ex401, ex402, ex403, ex404, ex405, ex406, and ex407 described below.
  • the optical head ex401 irradiates a laser spot on the recording surface of the recording medium ex215 that is an optical disk to write information, and detects information reflected from the recording surface of the recording medium ex215 to read the information.
  • the modulation recording unit ex402 electrically drives a semiconductor laser built in the optical head ex401 and modulates the laser beam according to the recording data.
  • the reproduction demodulator ex403 amplifies the reproduction signal obtained by electrically detecting the reflected light from the recording surface by the photodetector built in the optical head ex401, separates and demodulates the signal component recorded on the recording medium ex215, and is necessary To play back information.
  • the buffer ex404 temporarily holds information to be recorded on the recording medium ex215 and information reproduced from the recording medium ex215.
  • the disk motor ex405 rotates the recording medium ex215.
  • the servo control unit ex406 moves the optical head ex401 to a predetermined information track while controlling the rotational drive of the disk motor ex405, and performs a laser spot tracking process.
  • the system control unit ex407 controls the entire information reproduction / recording unit ex400.
  • the system control unit ex407 uses various types of information held in the buffer ex404, and generates and adds new information as necessary.
  • the modulation recording unit ex402, the reproduction demodulation unit This is realized by recording / reproducing information through the optical head ex401 while operating the ex403 and the servo control unit ex406 in a coordinated manner.
  • the system control unit ex407 includes, for example, a microprocessor, and executes these processes by executing a read / write program.
  • the optical head ex401 has been described as irradiating a laser spot.
  • a configuration in which higher-density recording is performed using near-field light may be used.
  • FIG. 32 shows a schematic diagram of a recording medium ex215 that is an optical disk.
  • Guide grooves grooves
  • address information indicating the absolute position on the disc is recorded in advance on the information track ex230 by changing the shape of the groove.
  • This address information includes information for specifying the position of the recording block ex231 that is a unit for recording data, and the recording block is specified by reproducing the information track ex230 and reading the address information in a recording or reproducing apparatus.
  • the recording medium ex215 includes a data recording area ex233, an inner peripheral area ex232, and an outer peripheral area ex234.
  • the area used for recording user data is the data recording area ex233, and the inner circumference area ex232 and the outer circumference area ex234 arranged on the inner or outer circumference of the data recording area ex233 are used for specific purposes other than user data recording. Used.
  • the information reproducing / recording unit ex400 reads / writes encoded audio data, video data, or multiplexed data obtained by multiplexing these data with respect to the data recording area ex233 of the recording medium ex215.
  • an optical disk such as a single-layer DVD or BD has been described as an example.
  • an optical disc with a multi-dimensional recording / reproducing structure such as recording information using light of different wavelengths in the same place on the disc, or recording different layers of information from various angles. It may be.
  • the car ex210 having the antenna ex205 can receive data from the satellite ex202 and the like, and the moving image can be reproduced on a display device such as the car navigation ex211 that the car ex210 has.
  • the configuration of the car navigation ex211 may be, for example, a configuration in which a GPS receiving unit is added in the configuration illustrated in FIG. 30, and the same may be considered for the computer ex111, the mobile phone ex114, and the like.
  • FIG. 33A is a diagram illustrating the mobile phone ex114 using the video decoding method and the video encoding method described in the above embodiment.
  • the mobile phone ex114 includes an antenna ex350 for transmitting and receiving radio waves to and from the base station ex110, a camera unit ex365 capable of capturing video and still images, a video captured by the camera unit ex365, a video received by the antenna ex350, and the like Is provided with a display unit ex358 such as a liquid crystal display for displaying the decrypted data.
  • the mobile phone ex114 further includes a main body unit having an operation key unit ex366, an audio output unit ex357 such as a speaker for outputting audio, an audio input unit ex356 such as a microphone for inputting audio, a captured video,
  • an audio input unit ex356 such as a microphone for inputting audio
  • a captured video In the memory unit ex367 for storing encoded data or decoded data such as still images, recorded audio, received video, still images, mails, or the like, or an interface unit with a recording medium for storing data
  • a slot ex364 is provided.
  • the mobile phone ex114 has a power supply circuit part ex361, an operation input control part ex362, and a video signal processing part ex355 with respect to a main control part ex360 that comprehensively controls each part of the main body including the display part ex358 and the operation key part ex366.
  • a camera interface unit ex363, an LCD (Liquid Crystal Display) control unit ex359, a modulation / demodulation unit ex352, a multiplexing / demultiplexing unit ex353, an audio signal processing unit ex354, a slot unit ex364, and a memory unit ex367 are connected to each other via a bus ex370. ing.
  • the power supply circuit unit ex361 starts up the mobile phone ex114 in an operable state by supplying power from the battery pack to each unit.
  • the cellular phone ex114 converts the audio signal collected by the audio input unit ex356 in the voice call mode into a digital audio signal by the audio signal processing unit ex354 based on the control of the main control unit ex360 having a CPU, a ROM, a RAM, and the like. Then, this is subjected to spectrum spread processing by the modulation / demodulation unit ex352, digital-analog conversion processing and frequency conversion processing are performed by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the mobile phone ex114 also amplifies the received data received via the antenna ex350 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, performs spectrum despreading processing by the modulation / demodulation unit ex352, and performs voice signal processing unit After being converted into an analog audio signal by ex354, this is output from the audio output unit ex357.
  • the text data of the e-mail input by operating the operation key unit ex366 of the main unit is sent to the main control unit ex360 via the operation input control unit ex362.
  • the main control unit ex360 performs spread spectrum processing on the text data in the modulation / demodulation unit ex352, performs digital analog conversion processing and frequency conversion processing in the transmission / reception unit ex351, and then transmits the text data to the base station ex110 via the antenna ex350.
  • almost the reverse process is performed on the received data and output to the display unit ex358.
  • the video signal processing unit ex355 compresses the video signal supplied from the camera unit ex365 by the moving image encoding method described in the above embodiments. Encode (that is, function as an image encoding device according to an aspect of the present invention), and send the encoded video data to the multiplexing / demultiplexing unit ex353.
  • the audio signal processing unit ex354 encodes the audio signal picked up by the audio input unit ex356 while the camera unit ex365 images a video, a still image, etc., and sends the encoded audio data to the multiplexing / separating unit ex353. To do.
  • the multiplexing / demultiplexing unit ex353 multiplexes the encoded video data supplied from the video signal processing unit ex355 and the encoded audio data supplied from the audio signal processing unit ex354 by a predetermined method, and is obtained as a result.
  • the multiplexed data is subjected to spread spectrum processing by the modulation / demodulation unit (modulation / demodulation circuit unit) ex352, digital-analog conversion processing and frequency conversion processing by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the multiplexing / separating unit ex353 separates the multiplexed data into a video data bit stream and an audio data bit stream, and performs video signal processing on the video data encoded via the synchronization bus ex370.
  • the encoded audio data is supplied to the audio signal processing unit ex354 while being supplied to the unit ex355.
  • the video signal processing unit ex355 decodes the video signal by decoding using the video decoding method corresponding to the video encoding method described in each of the above embodiments (that is, an image according to an aspect of the present invention).
  • video and still images included in the moving image file linked to the home page are displayed from the display unit ex358 via the LCD control unit ex359.
  • the audio signal processing unit ex354 decodes the audio signal, and the audio is output from the audio output unit ex357.
  • the terminal such as the mobile phone ex114 is referred to as a transmission terminal having only an encoder and a receiving terminal having only a decoder.
  • a transmission terminal having only an encoder
  • a receiving terminal having only a decoder.
  • multiplexed data in which music data or the like is multiplexed with video data is received and transmitted, but data in which character data or the like related to video is multiplexed in addition to audio data It may be video data itself instead of multiplexed data.
  • the moving picture encoding method or the moving picture decoding method shown in each of the above embodiments can be used in any of the above-described devices / systems. The described effect can be obtained.
  • multiplexed data obtained by multiplexing audio data or the like with video data is configured to include identification information indicating which standard the video data conforms to.
  • identification information indicating which standard the video data conforms to.
  • FIG. 34 is a diagram showing a structure of multiplexed data.
  • multiplexed data is obtained by multiplexing one or more of a video stream, an audio stream, a presentation graphics stream (PG), and an interactive graphics stream.
  • the video stream indicates the main video and sub-video of the movie
  • the audio stream (IG) indicates the main audio portion of the movie and the sub-audio mixed with the main audio
  • the presentation graphics stream indicates the subtitles of the movie.
  • the main video indicates a normal video displayed on the screen
  • the sub-video is a video displayed on a small screen in the main video.
  • the interactive graphics stream indicates an interactive screen created by arranging GUI components on the screen.
  • the video stream is encoded by the moving image encoding method or apparatus shown in the above embodiments, or the moving image encoding method or apparatus conforming to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1. ing.
  • the audio stream is encoded by a method such as Dolby AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, or linear PCM.
  • Each stream included in the multiplexed data is identified by PID. For example, 0x1011 for video streams used for movie images, 0x1100 to 0x111F for audio streams, 0x1200 to 0x121F for presentation graphics, 0x1400 to 0x141F for interactive graphics streams, 0x1B00 to 0x1B1F are assigned to video streams used for sub-pictures, and 0x1A00 to 0x1A1F are assigned to audio streams used for sub-audio mixed with the main audio.
  • FIG. 35 is a diagram schematically showing how multiplexed data is multiplexed.
  • a video stream ex235 composed of a plurality of video frames and an audio stream ex238 composed of a plurality of audio frames are converted into PES packet sequences ex236 and ex239, respectively, and converted into TS packets ex237 and ex240.
  • the data of the presentation graphics stream ex241 and interactive graphics ex244 are converted into PES packet sequences ex242 and ex245, respectively, and further converted into TS packets ex243 and ex246.
  • the multiplexed data ex247 is configured by multiplexing these TS packets into one stream.
  • FIG. 36 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first row in FIG. 36 shows a video frame sequence of the video stream.
  • the second level shows a PES packet sequence.
  • a plurality of Video Presentation Units in the video stream are divided into pictures, B pictures, and P pictures, and are stored in the payload of the PES packet.
  • Each PES packet has a PES header, and a PTS (Presentation Time-Stamp) that is a display time of a picture and a DTS (Decoding Time-Stamp) that is a decoding time of a picture are stored in the PES header.
  • PTS Presentation Time-Stamp
  • DTS Decoding Time-Stamp
  • FIG. 37 shows the format of TS packets that are finally written in the multiplexed data.
  • the TS packet is a 188-byte fixed-length packet composed of a 4-byte TS header having information such as a PID for identifying a stream and a 184-byte TS payload for storing data.
  • the PES packet is divided and stored in the TS payload.
  • a 4-byte TP_Extra_Header is added to a TS packet, forms a 192-byte source packet, and is written in multiplexed data.
  • TP_Extra_Header information such as ATS (Arrival_Time_Stamp) is described.
  • ATS indicates the transfer start time of the TS packet to the PID filter of the decoder.
  • Source packets are arranged in the multiplexed data as shown in the lower part of FIG. 37, and the number incremented from the head of the multiplexed data is called SPN (source packet number).
  • TS packets included in the multiplexed data include PAT (Program Association Table), PMT (Program Map Table), PCR (Program Clock Reference), and the like in addition to each stream such as video / audio / caption.
  • PAT indicates what the PID of the PMT used in the multiplexed data is, and the PID of the PAT itself is registered as 0.
  • the PMT has the PID of each stream such as video / audio / subtitles included in the multiplexed data and the attribute information of the stream corresponding to each PID, and has various descriptors related to the multiplexed data.
  • the descriptor includes copy control information for instructing permission / non-permission of copying of multiplexed data.
  • the PCR corresponds to the ATS in which the PCR packet is transferred to the decoder. Contains STC time information.
  • FIG. 38 is a diagram for explaining the data structure of the PMT in detail.
  • a PMT header describing the length of data included in the PMT is arranged at the head of the PMT.
  • a plurality of descriptors related to multiplexed data are arranged.
  • the copy control information and the like are described as descriptors.
  • a plurality of pieces of stream information regarding each stream included in the multiplexed data are arranged.
  • the stream information includes a stream descriptor in which a stream type, a stream PID, and stream attribute information (frame rate, aspect ratio, etc.) are described to identify a compression codec of the stream.
  • the multiplexed data is recorded together with the multiplexed data information file.
  • the multiplexed data information file is management information of multiplexed data, has a one-to-one correspondence with the multiplexed data, and includes multiplexed data information, stream attribute information, and an entry map.
  • the multiplexed data information is composed of a system rate, a reproduction start time, and a reproduction end time.
  • the system rate indicates a maximum transfer rate of multiplexed data to a PID filter of a system target decoder described later.
  • the ATS interval included in the multiplexed data is set to be equal to or less than the system rate.
  • the playback start time is the PTS of the first video frame of the multiplexed data
  • the playback end time is set by adding the playback interval for one frame to the PTS of the video frame at the end of the multiplexed data.
  • attribute information about each stream included in the multiplexed data is registered for each PID.
  • the attribute information has different information for each video stream, audio stream, presentation graphics stream, and interactive graphics stream.
  • the video stream attribute information includes the compression codec used to compress the video stream, the resolution of the individual picture data constituting the video stream, the aspect ratio, and the frame rate. It has information such as how much it is.
  • the audio stream attribute information includes the compression codec used to compress the audio stream, the number of channels included in the audio stream, the language supported, and the sampling frequency. With information. These pieces of information are used for initialization of the decoder before the player reproduces it.
  • the stream type included in the PMT is used.
  • video stream attribute information included in the multiplexed data information is used.
  • the video encoding shown in each of the above embodiments for the stream type or video stream attribute information included in the PMT.
  • FIG. 41 shows the steps of the moving picture decoding method according to the present embodiment.
  • step exS100 the stream type included in the PMT or the video stream attribute information included in the multiplexed data information is acquired from the multiplexed data.
  • step exS101 it is determined whether or not the stream type or the video stream attribute information indicates multiplexed data generated by the moving picture encoding method or apparatus described in the above embodiments. To do.
  • step exS102 the above embodiments are performed. Decoding is performed by the moving picture decoding method shown in the form.
  • the conventional information Decoding is performed by a moving image decoding method compliant with the standard.
  • FIG. 42 shows a configuration of LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, and ex509 described below, and each element is connected via a bus ex510.
  • the power supply circuit unit ex505 is activated to an operable state by supplying power to each unit when the power supply is on.
  • the LSI ex500 uses the AV I / O ex509 to perform the microphone ex117 and the camera ex113 based on the control of the control unit ex501 including the CPU ex502, the memory controller ex503, the stream controller ex504, the driving frequency control unit ex512, and the like.
  • the AV signal is input from the above.
  • the input AV signal is temporarily stored in an external memory ex511 such as SDRAM.
  • the accumulated data is divided into a plurality of times as appropriate according to the processing amount and the processing speed and sent to the signal processing unit ex507, and the signal processing unit ex507 encodes an audio signal and / or video. Signal encoding is performed.
  • the encoding process of the video signal is the encoding process described in the above embodiments.
  • the signal processing unit ex507 further performs processing such as multiplexing the encoded audio data and the encoded video data according to circumstances, and outputs the result from the stream I / Oex 506 to the outside.
  • the output multiplexed data is transmitted to the base station ex107 or written to the recording medium ex215. It should be noted that data should be temporarily stored in the buffer ex508 so as to be synchronized when multiplexing.
  • the memory ex511 is described as an external configuration of the LSI ex500.
  • a configuration included in the LSI ex500 may be used.
  • the number of buffers ex508 is not limited to one, and a plurality of buffers may be provided.
  • the LSI ex500 may be made into one chip or a plurality of chips.
  • control unit ex501 includes the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like, but the configuration of the control unit ex501 is not limited to this configuration.
  • the signal processing unit ex507 may further include a CPU.
  • the CPU ex502 may be configured to include a signal processing unit ex507 or, for example, an audio signal processing unit that is a part of the signal processing unit ex507.
  • the control unit ex501 is configured to include a signal processing unit ex507 or a CPU ex502 having a part thereof.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • Such a programmable logic device typically loads or reads a program constituting software or firmware from a memory or the like, so that the moving image encoding method or the moving image described in each of the above embodiments is used.
  • An image decoding method can be performed.
  • FIG. 43 shows a configuration ex800 in the present embodiment.
  • the drive frequency switching unit ex803 sets the drive frequency high when the video data is generated by the moving image encoding method or apparatus described in the above embodiments.
  • the decoding processing unit ex801 that executes the moving picture decoding method described in each of the above embodiments is instructed to decode the video data.
  • the video data is video data compliant with the conventional standard, compared to the case where the video data is generated by the moving picture encoding method or apparatus shown in the above embodiments, Set the drive frequency low. Then, it instructs the decoding processing unit ex802 compliant with the conventional standard to decode the video data.
  • the drive frequency switching unit ex803 includes the CPU ex502 and the drive frequency control unit ex512 in FIG.
  • the decoding processing unit ex801 that executes the moving picture decoding method shown in each of the above embodiments and the decoding processing unit ex802 that complies with the conventional standard correspond to the signal processing unit ex507 in FIG.
  • the CPU ex502 identifies which standard the video data conforms to.
  • the drive frequency control unit ex512 sets the drive frequency.
  • the signal processing unit ex507 decodes the video data.
  • the identification information described in the sixth embodiment can be used for identifying the video data.
  • the identification information is not limited to that described in the sixth embodiment, and any information that can identify which standard the video data conforms to may be used. For example, it is possible to identify which standard the video data conforms to based on an external signal that identifies whether the video data is used for a television or a disk. In some cases, identification may be performed based on such an external signal.
  • the selection of the driving frequency in the CPU ex502 may be performed based on, for example, a lookup table in which video data standards and driving frequencies are associated with each other as shown in FIG. The look-up table is stored in the buffer ex508 or the internal memory of the LSI, and the CPU ex502 can select the drive frequency by referring to the look-up table.
  • FIG. 44 shows steps for executing the method of the present embodiment.
  • the signal processing unit ex507 acquires identification information from the multiplexed data.
  • the CPU ex502 identifies whether the video data is generated by the encoding method or apparatus described in each of the above embodiments based on the identification information.
  • the CPU ex502 sends a signal for setting the drive frequency high to the drive frequency control unit ex512. Then, the drive frequency control unit ex512 sets a high drive frequency.
  • step exS203 the CPU ex502 drives the signal for setting the drive frequency low. This is sent to the frequency control unit ex512. Then, in the drive frequency control unit ex512, the drive frequency is set to be lower than that in the case where the video data is generated by the encoding method or apparatus described in the above embodiments.
  • the power saving effect can be further enhanced by changing the voltage applied to the LSI ex500 or the device including the LSI ex500 in conjunction with the switching of the driving frequency. For example, when the drive frequency is set low, it is conceivable that the voltage applied to the LSI ex500 or the device including the LSI ex500 is set low as compared with the case where the drive frequency is set high.
  • the setting method of the driving frequency may be set to a high driving frequency when the processing amount at the time of decoding is large, and to a low driving frequency when the processing amount at the time of decoding is small. It is not limited to the method.
  • the amount of processing for decoding video data compliant with the MPEG4-AVC standard is larger than the amount of processing for decoding video data generated by the moving picture encoding method or apparatus described in the above embodiments. It is conceivable that the setting of the driving frequency is reversed to that in the case described above.
  • the method for setting the drive frequency is not limited to the configuration in which the drive frequency is lowered.
  • the voltage applied to the LSIex500 or the apparatus including the LSIex500 is set high.
  • the driving of the CPU ex502 is stopped.
  • the CPU ex502 is temporarily stopped because there is room in processing. Is also possible. Even when the identification information indicates that the video data is generated by the moving image encoding method or apparatus described in each of the above embodiments, if there is a margin for processing, the CPU ex502 is temporarily driven. It can also be stopped. In this case, it is conceivable to set the stop time shorter than in the case where the video data conforms to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1.
  • a plurality of video data that conforms to different standards may be input to the above-described devices and systems such as a television and a mobile phone.
  • the signal processing unit ex507 of the LSI ex500 needs to support a plurality of standards in order to be able to decode even when a plurality of video data complying with different standards is input.
  • the signal processing unit ex507 corresponding to each standard is used individually, there is a problem that the circuit scale of the LSI ex500 increases and the cost increases.
  • a decoding processing unit for executing the moving picture decoding method shown in each of the above embodiments and a decoding conforming to a standard such as MPEG-2, MPEG4-AVC, or VC-1
  • the processing unit is partly shared.
  • An example of this configuration is shown as ex900 in FIG. 46A.
  • the moving picture decoding method shown in each of the above embodiments and the moving picture decoding method compliant with the MPEG4-AVC standard are processed in processes such as entropy coding, inverse quantization, deblocking filter, and motion compensation. Some contents are common.
  • the decoding processing unit ex902 corresponding to the MPEG4-AVC standard is shared, and for other processing contents specific to one aspect of the present invention that do not correspond to the MPEG4-AVC standard, a dedicated decoding processing unit A configuration using ex901 is conceivable.
  • a dedicated decoding processing unit ex901 is used for picture division processing, and other dequantization, entropy decoding, It is conceivable to share a decoding processing unit for any of the deblocking filter, motion compensation, or all processes.
  • the decoding processing unit for executing the moving picture decoding method described in each of the above embodiments is shared, and the processing content specific to the MPEG4-AVC standard As for, a configuration using a dedicated decoding processing unit may be used.
  • ex1000 in FIG. 46B shows another example in which processing is partially shared.
  • a dedicated decoding processing unit ex1001 corresponding to the processing content specific to one aspect of the present invention
  • a dedicated decoding processing unit ex1002 corresponding to the processing content specific to another conventional standard
  • a common decoding processing unit ex1003 corresponding to the processing contents common to the moving image decoding method according to the above and other conventional moving image decoding methods.
  • the dedicated decoding processing units ex1001 and ex1002 are not necessarily specialized in one aspect of the present invention or processing content specific to other conventional standards, and can execute other general-purpose processing. Also good.
  • the configuration of the present embodiment can be implemented by LSI ex500.
  • the processing content common to the moving picture decoding method according to one aspect of the present invention and the moving picture decoding method of the conventional standard reduces the circuit scale of the LSI by sharing the decoding processing unit, In addition, the cost can be reduced.
  • the present invention can be applied to an image encoding method, an image decoding method, an image encoding device, and an image decoding device.
  • the present invention can also be used for high-resolution information display devices or imaging devices such as televisions, digital video recorders, car navigation systems, mobile phones, digital cameras, and digital video cameras that include an image encoding device.
  • DESCRIPTION OF SYMBOLS 100 Image coding apparatus 101 Input image signal 105 Subtractor 106 Residual signal 110 Conversion part 111 Conversion coefficient 120 Quantization part 121,291 Quantization coefficient 130,230 Inverse conversion part 131,231 Residual signal 140,240 Adder 141 151, 161, 171, 241, 251, 261, 271 Decoded image signal 150, 250 Deblocking filter 160, 260 Adaptive loop filter 170, 270 Reference frame buffer 180, 280 Prediction unit 181, 281 Prediction signal 190 Entropy coding Unit 191, 201 encoded signal 200 image decoding device 290 entropy decoding unit 300, 310, 330, 340, 350, 360, 370, 390, 400, 410, 420, 500 picture 301, 302, 311, 312 313, 314, 321, 381 Line 320, 380 Slice header 331, 332, 333, 341, 342, 343, 344, 351, 354, 361, 362, 363, 364, 365, 371, 37

Landscapes

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

Abstract

 画像が複数のタイルに分割されるとともに複数のスライスに分割されて符号化された符号化信号を含むビットストリームを復号する画像復号方法であって、前記符号化信号を復号する復号ステップを含み、前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらない。

Description

画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
 本発明は、画像符号化方法及び画像復号方法に関する。
 現在の標準的な映像符号化アルゴリズムの大半はハイブリッド映像符号化に基づく。ハイブリッド映像符号化方法では、所望の圧縮ゲインを達成するために、いくつかの異なる可逆圧縮方式と不可逆圧縮方式とが用いられる。ハイブリッド映像符号化は、ISO/IEC標準規格(MPEG‐1、MPEG‐2及びMPEG‐4などのMPEG-X標準規格)と同様に、ITU‐T標準規格(H.261及びH.263などのH.26x標準規格)の基礎である。
 最新の映像符号化標準規格は、H.264/MPEG‐4 Advanced Video Coding(AVC)と称される。この規格は、JVT(Joint CoVedeo Team)と、ITU‐T及びISO/IEC MPEGグループとの合同チームにより標準化された。
 また、高解像度の映像符号化の効率改善を目的として、HEVC(High-Efficiency Video Coding)と称される映像符号化標準規格が、JCT-VC(Joint Collaborative Team on Video Coding)により検討されている。
[規則91に基づく訂正 30.09.2013] 
"Wavefront Parallel Processing for HEVC Encoding and Decoding" by C.Gordon et al., no. JCTVC-F274-v2, from the Meeting in Torino, July 2011 "Tiles" by A.Fuldseth et al., no. JCTVC-F355-v1, from the Meeting in Torino, July 2011 JCTVC-J1003_d7, "High efficiency video coding (HEVC) text specification draft 8" of July 2012
 このような画像符号化方法及び画像復号方法では、並列タイル処理及び依存スライスを共に利用する状況において、効率性を向上できることが望まれている。
 そこで、本発明は、並列タイル処理及び依存スライスを共に利用する際の効率性を改善できる画像符号化方法又は画像復号方法を提供することを目的とする。
 本発明の一態様に係る画像復号方法は、画像が複数のタイルに分割されるとともに複数のスライスに分割されて符号化された符号化信号を含むビットストリームを復号する画像復号方法であって、前記符号化信号を復号する復号ステップを含み、前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらない。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本発明は、並列タイル処理及び依存スライスを共に利用する際の効率性を改善できる画像符号化方法又は画像復号方法を提供できる。
図1は、実施の形態に係る画像符号化装置のブロック図である。 図2は、実施の形態に係る画像復号装置のブロック図である。 図3Aは、実施の形態に係るWPPを説明するための概略図である。 図3Bは、実施の形態に係るWPP内の依存スライスを説明するための概略図である。 図4Aは、実施の形態に係るWPPを用いない場合の依存スライスを説明するための概略図である。 図4Bは、実施の形態に係るWPPを用いる場合の依存スライスを説明するための概略図である。 図5は、実施の形態に係るエントロピースライス又は依存スライスのスライスヘッダを示す図である。 図6は、実施の形態に係る、WPPを用いる場合の許可されないスライス構造の例を示す図である。 図7は、実施の形態に係る、WPPを用いる場合の許可されるスライス構造の例を示す図である。 図8は、実施の形態に係るCABACの初期化プロセスを示す概略図である。 図9は、実施の形態に係る、先行スライスの特徴に応じた、依存スライスのCABAC初期化方法の決定処理のフローチャートである。 図10は、実施の形態に係るスライス構造の一例を示す図である。 図11は、実施の形態に係るスライス構造の一例を示す図である。 図12は、実施の形態1に係るスライスヘッダのシンタックス例を示す図である。 図13は、実施の形態1に係る依存スライスのCABAC初期化方法の決定処理のフローチャートである。 図14は、実施の形態2に係る、スライスに分割されたピクチャの一例を示す図である。 図15は、実施の形態2に係るCABAC初期化方法の決定処理のフローチャートである。 図16は、実施の形態2に係る、スライスに分割されたピクチャの一例を示す図である。 図17は、実施の形態2に係る、スライスに分割されたピクチャの一例を示す図である。 図18は、実施の形態3に係る、スライスに分割されたピクチャの一例を示す図である。 図19は、実施の形態4に係るスライスヘッダを示す図である。 図20は、実施の形態4に係るタイルに分割されたピクチャの一例を示す図である。 図21Aは、実施の形態4に係る走査順を示す図である。 図21Bは、実施の形態4に係る走査順を示す図である。 図22Aは、実施の形態4に係るタイルとスライスとの関係を示す図である。 図22Bは、実施の形態4に係るタイルとスライスとの関係を示す図である。 図22Cは、実施の形態4に係るタイルとスライスとの関係を示す図である。 図23は、実施の形態4に係るタイル及びスライスへのピクチャの分割例を示す図である。 図24は、実施の形態4に係るタイルに分割されたピクチャの復号順を示す図である。 図25Aは、実施の形態4に係る許可されないスライス構造の例を示す図である。 図25Bは、実施の形態4に係る許可されるスライス構造の例を示す図である。 図25Cは、実施の形態4に係る許可されるスライス構造の例を示す図である。 図26Aは、実施の形態4に係る許可されないスライス構造の例を示す図である。 図26Bは、実施の形態4に係る許可されるスライス構造の例を示す図である。 図27Aは、実施の形態4に係る許可されないスライス構造の例を示す図である。 図27Bは、実施の形態4に係る許可されるスライス構造の例を示す図である。 図28は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図29は、デジタル放送用システムの全体構成図である。 図30は、テレビの構成例を示すブロック図である。 図31は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図32は、光ディスクである記録メディアの構造例を示す図である。 図33Aは、携帯電話の一例を示す図である。 図33Bは、携帯電話の構成例を示すブロック図である。 図34は、多重化データの構成を示す図である。 図35は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。 図36は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。 図37は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。 図38は、PMTのデータ構成を示す図である。 図39は、多重化データ情報の内部構成を示す図である。 図40は、ストリーム属性情報の内部構成を示す図である。 図41は、映像データを識別するステップを示す図である。 図42は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。 図43は、駆動周波数を切り替える構成を示す図である。 図44は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。 図45は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。 図46Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。 図46Bは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
 (本発明の基礎となった知見)
 本発明者は、「背景技術」の欄において記載した、画像符号化方法及び画像復号方法に関し、以下の問題が生じることを見出した。
 まず、HEVCにおける画像符号化装置及び画像復号装置について説明する。
 画像符号化装置へ入力される映像信号は、各々がフレーム(ピクチャ)と呼ばれる複数の画像を含む。各フレームは二次元行列状に配置された複数の画素を含む。ハイブリッド映像符号化に基づく上述の全ての標準規格では、個々の映像フレームは、各々が複数の画素を含む複数のブロックに分割される。このブロックのサイズは、例えば、画像の内容によって変更される。また、ブロックごとに異なる符号化方法を用いることができる。例えば、HEVCにおいて、このブロックの最大サイズは64×64画素である。この最大サイズは、最大符号化単位(LCU)と称される。LCUは、帰納的に、4つの符号化単位(CU)に分割することができる。
 H.264/MPEG-4 AVCにおいては、マクロブロック(通常16×16画素のブロック)単位で符号化が行われる。このマクロブロックはサブブロックに分割される場合もある。
 典型的には、ハイブリッド映像符号化における符号化ステップには、空間及び/又は時間予測が含まれる。つまり、空間的に隣接したブロック又は時間的に隣接したブロックを用いて、即ち、符号化済み映像フレームを用いて、各符号化対象ブロックが予測される。次に、符号化対象ブロックと、予測結果との差分である残差ブロックが算出される。次に、残差ブロックは、空間(画素)ドメインから周波数ドメインへ変換される。この変換の目的は、入力ブロックの相関性を低下させることである。
 次に、変換により得られた変換係数が量子化される。この量子化は不可逆圧縮である。また、得られた量子化係数は、エントロピー符号化によって可逆圧縮される。また、符号化映像信号を再構築するために必要な補助情報が符号化され、符号化映像信号とともに出力される。この情報は、例えば、空間予測、時間予測、又は/及び量子化に関する情報である。
 図1は、H.264/MPEG-4 AVC及び/又はHEVCに準拠した画像符号化装置100の一例を示す図である。
 減算器105は、入力画像信号101の符号化対象ブロックと、対応する予測信号181(予測ブロック)との差分である残差信号106(残差ブロック)を算出する。この予測信号181は、予測部180による時間予測又は空間予測により生成される。予測に用いられる予測タイプは、フレーム毎又はブロック毎に変更される可能性がある。時間予測を用いて予測されたブロック及び/又はフレームはインター符号化されたと称され、空間予測を用いて予測されたブロック及び/又はフレームは、イントラ符号化されたと称される。
 時間予測を用いる予測信号は、メモリに格納されている符号化及び復号済みの画像を用いて導出される。空間予測を用いる予測信号は、メモリに格納されている符号化及び復号済みの隣接ブロックの境界画素値を用いて導出される。また、イントラ予測方向の数は、符号化単位のサイズに応じて決定される。
 残差信号106は、予測誤差又は予測残差とも呼ばれる。変換部110は、この残差信号106を変換することで変換係数111を生成する。量子化部120は、変換係数111を量子化することで量子化係数121を生成する。エントロピー符号化部190は、格納するデータ量さらに削減し、かつ可逆的に送信するために、量子化係数121をエントロピー符号化する。例えば、エントロピー符号化は、可変長符号化である。また、符号語の長さは発生確率に基づいて決定される。
 以上の処理により符号化信号191(符号化ビットストリーム)が生成される。
 また、画像符号化装置100は、復号画像信号(再構築画像信号)を得るための復号部を有する。具体的には、逆変換部130は、量子化係数121を逆量子化及び逆変換することで残差信号131を生成する。この残差信号131は、量子化ノイズとも称される量子化誤差の影響により、元の残差信号106とは厳密には異なる。
 次に、加算器140は、残差信号131と予測信号181とを加算することで復号画像信号141を生成する。このように、画像符号化装置と画像復号装置との互換性を保つため、画像符号化装置と画像復号装置との両方において、符号化され復号された画像信号を用いて予測信号181が生成される。
 また、量子化により、復号画像信号141には量子化ノイズが重畳される。ブロック単位での符号化が行われるため、重畳されたノイズはブロックごとに異なることが多い。これにより、特に強い量子化が行われた場合は、復号画像信号のブロック境界が目立つことになる。このようなブロッキングノイズは、人間の視覚認識において画質が劣化しているように見える。このブロッキングノイズを削減するため、デブロッキングフィルタ150は、復号画像信号141にデブロッキングフィルタ処理を行う。
 例えば、H.264/MPEG-4 AVCにおけるデブロッキングフィルタ処理では、領域ごとに、当該領域に適したフィルタ処理が選択される。例えば、ブロッキングノイズが大きい場合は、強い(狭帯域)ローパスフィルタが用いられ、ブロッキングノイズが小さい場合は、弱い(広帯域)ローパスフィルタが用いられる。このローパスフィルタの強度は、予測信号181及び残差信号131に応じて決定される。このデブロッキングフィルタ処理により、ブロックのエッジが平滑化される。これにより、復号画像信号の主観的画質が改善する。また、フィルタ処理済みの画像が次の画像の動き補償予測に用いられる。よって、このフィルタ処理により予測誤差も削減されるので、符号化効率を改善することができる。
 適応的ループフィルタ160は、デブロッキングフィルタ処理の後の復号画像信号151に、サンプル適応オフセット処理、及び/又は適応的ループフィルタ処理を行うことで復号画像信号161を生成する。上述したように、デブロッキングフィルタ処理は主観的画質を改善する。一方で、サンプル適応オフセット(Sample Adaptive Offset:SAO)処理及び適応的ループフィルタ(Adaptive loop filter:ALF)処理は、画素単位の信頼性(客観的品質)の改善を目的とする。
 SAOは、近接画素に応じて画素にオフセット値を加える処理である。ALFは、圧縮によって生じる画像の歪みを補償するために用いられる。例えば、ALFは、復号画像信号151と入力画像信号101との平均二乗誤差(MSE)が最小化されるように決定されたフィルタ係数を有するウィーナフィルタである。例えば、ALFの係数は、フレーム単位で算出及び送信される。また、ALFはフレーム全体(画像)又は局所領域(ブロック)に適用されてもよい。また、フィルタ処理を行う領域を示す補助情報が、ブロック単位、フレーム単位、又は四分木単位で送信されてもよい。
 インター符号化ブロックを復号するには、符号化され復号された画像の一部を参照フレームバッファ170に格納しておく必要がある。参照フレームバッファ170は、復号画像信号161を復号画像信号171として保持する。予測部180は、動き補償予測を用いてインター予測を行う。具体的には、まず、動き推定器が、符号化及び復号済みの映像フレームに含まれるブロックのうち対象ブロックに最も類似するブロックを探索する。この類似ブロックが予測信号181として用いられる。対象ブロックと類似ブロックとの間の相対的なずれ(動き)が動きデータとして画像復号装置へ送られる。この動きデータは、例えば、符号化映像データとともに提供される補助情報に含まれる三次元の動きベクトルである。ここで三次元とは、空間二次元と時間一次元とを含む。
 なお、予測精度を最適化するため、1/2画素解像度又は1/4画素解像度などの空間サブピクセル解像度の動きベクトルが用いられてもよい。空間サブピクセル解像度の動きベクトルは、実存する画素値が存在しない、復号フレーム内の空間的位置、つまりサブピクセルの位置を示す。よって、動き補償予測を行うためには、画素値の空間補間が必要である。この補間処理は、例えば、補間フィルタ(図1に示す予測部180に含まれる)により達成される。
 イントラ符号化モード及びインター符号化モードの両方において、入力画像信号101と予測信号181との差分である残差信号106が変換及び量子化されることで量子化係数121が生成される。一般的に、変換部110は、この変換に、二次元離散コサイン変換(DCT)又はその整数版などの直交変換を使用する。これにより自然映像の相関を効率的に削減できる。また、一般に高周波成分よりも低周波成分が画質にとってより重要なので、高周波成分よりも低周波成分により多くのビットが使用される。
 エントロピー符号化部190は、二次元配列の量子化係数121を一次元配列に変換する。典型的には、いわゆるジグザグスキャンが用いられる。ジグザグスキャンでは、二次元配列の左上隅にあるDC係数から右下隅にあるAC係数まで、所定の順序で二次元配列が走査される。通常、エネルギーは低周波に相当する二次元行列の係数の左上部分に集中するため、ジグザク走査を行うと、後半の値がゼロになる傾向がある。これにより、エントロピー符号化の一部として、又はその前処理として、ランレングス符号を用いることで、効率的な符号化を実現できる。
 H.264/MPEG-4 AVC及びHEVCでは、複数種類のエントロピー符号化が用いられる。シンタックス要素の中には固定長で符号化されるものもあるが、ほとんどのシンタックス要素が可変長符号化される。特に、予測残差の符号化にはコンテキスト適応可変長符号が用いられ、他のシンタックス要素の符号化には別の様々な整数符号が用いられる。また、コンテキスト適応算術符号化(CABAC)が用いられる場合もある。
 可変長符号により、符号化済みビットストリームを可逆圧縮できる。しかしながら、符号語は可変長であるため、符号語を連続して復号しなければならない。つまり、エントロピー符号化をリスタート(初期化)することなく、又は、復号の際の最初の符号語(開始点)の位置を個別に示すことなく、先行の符号語を符号化又は復号する前に、後の符号語を符号化又は復号することはできない。
 所定の確率モデルに基づく算術符号化によりビット列が1つの符号語に符号化される。所定の確率モデルは、CABACの場合の映像シーケンスの内容に応じて決定される。よって、符号化対象のビットストリームの長さが長いほど、算術符号化及びCABACはより効率的に行われる。つまり、ビット列に適用されるCABACは、より大きなブロックにおいてより効率的であるといえる。各シーケンスの先頭でCABACがリスタートされる。つまり、各映像シーケンスの先頭で確率モデルが既定値又は所定値で初期化される。
 H.264/MPEG-4、H.264/MPEG-4 AVC、及び、HEVCは、ビデオ符号化層(VCL)及びネットワーク抽象化層(NAL)の2つの機能層を有する。ビデオ符号化層により符号化機能が提供される。NALは、チャネルを越える送信及び記憶装置への格納などの用途に応じて、NALユニットと称される標準単位に情報要素をカプセル化する。この情報要素は、例えば、符号化予測誤差信号、及び、映像信号の復号に必要な情報である。映像信号の復号に必要な情報とは、予測タイプ、量子化パラメータ及び動きベクトルなどである。
 NALユニットには、圧縮映像データと関連情報とを含むVCL NALユニットと、映像シーケンス全体に関連するパラメータセットなどの追加データをカプセル化するnon-VCLユニットと、復号精度の改善に用いることが可能な追加情報を提供するための付加拡張情報(SEI)とがある。
 例えば、non-VCLユニットにはパラメータセットが含まれる。パラメータセットとは、一定の映像シーケンスの符号化及び復号に関する複数のパラメータのセットのことである。例えば、パラメータセットには、映像シーケンス(ピクチャシーケンス)全体の符号化及び復号に関連するパラメータを含むシーケンスパラメータセット(SPS)がある。
 シーケンスパラメータセットは、シンタックス要素を含むシンタックス構造を有する。各スライスヘッダに含まれるシンタックス要素であるpic_parameter_set_idにより、参照先のピクチャパラメータセット(PPS)が指定される。また、PPSに含まれるシンタックス要素であるseq_parameter_set_idにより、参照先のSPSが指定される。このように、SPSに含まれるシンタックス要素は、符号化映像シーケンス全体に適用される。
 PPSは、映像シーケンスに含まれる1枚のピクチャの符号化及び復号に適用されるパラメータを定義したパラメータセットである。PPSは、シンタックス要素を含むシンタックス構造を有する。各スライスヘッダに含まれるシンタックス要素であるpic_parameter_set_idにより、参照先のピクチャパラメータセット(PPS)が指定される。このように、SPSに含まれるシンタックス要素は、符号化ピクチャ全体に適用される。
 よって、PPSよりもSPSの追跡を続ける方が容易である。なぜなら、PPSが各ピクチャに対して変化するのに対して、SPSは、数分又は数時間にも及ぶ可能性のある映像シーケンス全体に対して一定であるからである。
 VPSは、最上位階層のパラメータであり、複数の映像シーケンスに関する情報を含む。VPSに含まれる情報は、ビットレート及び映像シーケンスのtemporal_layering構造などである。また、VPSは、層間の依存性(異なる映像シーケンス間の依存性)に関する情報を含む。よって、VPSは、複数の映像シーケンスに関する情報としてみなすことができ、VPSにより、各映像シーケンスの概要が分かる。
 図2は、H.264/MPEG-4 AVC又はHEVC映像符号化規格に準拠した画像復号装置200の一例を示すブロック図である。
 画像復号装置200に入力された符号化信号201(ビットストリーム)は、エントロピー復号部290に送られる。エントロピー復号部290は、符号化信号201を復号することで、量子化係数と、動きデータ及び予測モードなどの復号に必要な情報要素とを取得する。また、エントロピー復号部290は、得られた量子化係数を、二次元行列を得る目的で逆走査することで量子化係数291を生成し、量子化係数291を逆変換部230に出力する。
 逆変換部230は、量子化係数291を逆量子化及び逆変換することで残差信号231を生成する。残差信号231は、量子化ノイズがなく、誤差が生じていない画像符号化装置に入力された入力画像信号から予測信号を減算することで得られる差分に相当する。
 予測部280は、時間予測又は空間予測を用いて予測信号281を生成する。通常、復号済み情報要素はさらに、イントラ予測の場合には予測タイプなどの、また、動き補償予測の場合には動きデータなどの予測に必要な情報を含む。
 加算器240は、空間ドメインにおける残差信号231と、予測部280で生成された予測信号281とを加算することで、復号画像信号241を生成する。デブロッキングフィルタ250は、復号画像信号241にデブロッキングフィルタ処理を行うことで復号画像信号251を生成する。適応的ループフィルタ260は、復号画像信号251にサンプル適応オフセット処理、及び適応的ループフィルタ処理を行うことで復号画像信号261を生成する。この復号画像信号261は、表示画像として出力されるとともに、復号画像信号271として参照フレームバッファ270に格納される。復号画像信号271は、後続のブロック又は画像の時間又は空間予測に使用される。
 H.264/MPEG-4 AVCと比較すると、HEVCは、符号化及び復号の高度な並列処理を補助する機能を有する。H.264/MPEG-4 AVCと同様に、HEVCでは、フレームを複数のスライスに分割することができる。ここで、各スライスは、走査順で連続する複数のLCUを含む。H.264/MPEG-4 AVCにおいて、スライスはそれぞれ、個々に復号可能であり、スライスを跨いだ空間予測は行われない。よって、スライス単位で、並列処理が可能である。
 しかしながら、スライスはかなり大きなヘッダを有しており、また、スライス間で依存性がないため、圧縮の効率が低下する。また、CABAC符号化は、小さなデータブロックに行われる場合に効率性が損なわれる。
 これに対して、より効率的な並列処理を可能にするため、波面並列処理(WPP)が提案されている。WPPでは、ピクチャの各LCU行(以下、単に「行」とも呼ぶ)の1番目のLCU(先頭のLCU)のリセットに用いるCABAC確率モデルとして、前行の2番目のLCUの処理後の確率モデルが用いられる。これにより、ブロック間の依存性が維持される。よって、複数のLCU行の並列復号が可能になる。また、各行の処理は、前行に対して、LCU2つ分遅延する。
 また、LCU行の復号を開始する位置である開始点を示す情報がスライスヘッダに含まれて信号伝達される。なお、WPPの詳細については、非特許文献1に記載されている。
 並列化改善のための別の手法としてタイルを用いる方法がある。フレーム(ピクチャ)は、複数のタイルに分割される。各タイルは、長方形であり、複数のLCUを含む。タイル間の境界は、行列状にピクチャを分割するように設定される。また、複数のタイルは、ラスタスキャン順に処理される。
 また、各タイルの境界において全ての依存性が失われる。CABACなどのエントロピー符号化も、各タイルの先頭でリセットされる。なお、デブロッキングフィルタ処理とサンプル適応オフセット処理のみが、タイル間の境界を跨いで適用される。よって、複数のタイルを並列に符号化又は復号できる。なお、タイルの詳細については、非特許文献2及び非特許文献3に記載されている。
 また、スライスの概念を、H.264/MPEG-4 AVCにおけるスライスの本来の目的であった誤り耐性よりも、並列化に適した概念にするため、依存スライス及びエントロピースライスの概念が提案されている。つまり、HEVCでは、通常スライス、依存スライス、及び、エントロピースライスの3つのスライスが用いられる。
 通常スライスは、H.264/MPEG-4 AVCにより既に知られているスライスのことである。通常スライス間では空間予測はできない。つまり、スライス間の境界を跨いだ予測はできない。言い換えると、別のスライスを参照することなく、通常スライスは符号化される。このようなスライスの復号を別々に行えるように、CABACは各スライスの先頭でリスタートされる。
 また、フレームの先頭には、通常スライスが用いられる。つまり、各フレームは通常スライスから開始しなければならない。通常スライスは、スライスデータの復号に必要なパラメータを含むヘッダを有する。
 エントロピースライスは、親スライスとエントロピースライスとの間で空間予測が可能なスライスのことである。ここで、親スライスとは、例えば、エントロピースライスの直前の通常スライスである。親スライス及びエントロピースライスの解析は、独立して行われる。
 また、スライスデータの解析は、スラスヘッダのシンタックス要素を除いては、親スライスとエントロピースライスとで独立して行われる。つまり、エントロピースライスのCABAC復号処理には、親スライスのスライスヘッダに含まれるシンタックス要素が必要である。例えば、このシンタックス要素は、スライスデータがフィルタリングパラメータを含むかどうかを示す切り替え情報を含む。スライスデータにフィルタリングパラメータが存在する場合、CABAC復号部はその情報を抽出する。存在しない場合、CABAC復号部は、フィルタリングデータを想定しない。つまり、通常スライスのスライスヘッダを解析後、CABAC復号部は、親スライスとエントロピースライスとを並列して処理することができる。
 しかしながら、親スライスは、例えば通常スライスでもよく、エントロピースライスの画素値の再構築に必要とされる。また、エントロピースライスが独立解析できるよう、スライスの先頭でCABACもリスタートされる。
 エントロピースライスに、通常スライスのスライスヘッダより短いスライスヘッダを用いることができる。スライスヘッダには、通常スライスのヘッダ内で送信される情報に関する符号化パラメータサブセットが含まれる。エントロピースライスのヘッダに含まれない情報は、親スライスのヘッダからコピーされる。
 依存スライスは、CABACがリスタートされないエントロピースライスと類似している。CABACのリスタートとは、コンテキストテーブル(確率テーブル)をデフォルト値に初期化する処理と、算術符号化処理又は算術復号処理における終端処理(ターミネート処理)とを含む。
 親スライスのヘッダは、依存スライスの解析及び/又は復号に用いられる。よって、親スライスなしに依存スライスを解析することはできないため、親スライスを取得していない場合、依存スライスを復号できない。親スライスは通常、符号化順において依存スライスの先行スライスであり、完全なスライスヘッダを含むスライスである。このことは、エントロピースライスの親スライスでも同じである。
 一般的に、エントロピースライスは、他のスライスのヘッダパラメータに依存しているとみなすことができるため、依存スライス及びエントロピースライスの両方に本発明を適用することが可能である。
 以上のように、依存スライス及びエントロピースライスは、スライスの符号化順における直前のスライスのスライスヘッダ(依存スライスのヘッダに含まれていない情報)を用いる。このルールは帰納的に適用される。対象依存スライスが依存する親スライスが参照可能であると認識される。参照には、スライス間の空間予測及び共通CABAC状態などの利用が含まれる。依存スライスは、直前のスライスの終端で生成されるCABACコンテキストテーブルを用いる。このように、依存スライスは、CABACテーブルをデフォルト値に初期化せず、作成済みのテーブルを継続して利用する。また、エントロピースライス及び依存スライスに関しては、非特許文献3に記載されている(例えば、第73頁の「dependent_slice_flag」等を参照)。
 WPPが用いられる場合、依存スライスがLCU行の先頭で始まり、かつ、当該先頭のLCUの右上のLCUを含むスライスが参照可能と示されていれば、依存スライスは、右上のLCUのCABACコンテキストテーブルを用いる。
 HEVCは、いくつかのプロファイルを提示する。プロファイルは、特定のアプリケーションに適する画像符号化装置及び画像復号装置の設定を含む。例えば、「主要プロファイル」は、通常スライス及び依存スライスのみを含み、エントロピースライスを含まない。
 上述したように、符号化スライスは、NALユニットにカプセル化され、さらに、例えばリアルタイムプロトコル(RTP)にカプセル化され、最終的にインターネットプロトコル(IP)パケットにカプセル化される。このプロトコルスタック又は別のプロトコルスタックにより、インターネット又は固有ネットワークなどのパケット指向型ネットワークにおいて、符号化映像の送信が可能になる。
 典型的に、ネットワークは少なくとも1つ以上のルータを含み、ルータは超高速で動作する専用ハードウェアで構成される。ルータは、IPパケットを受信してIPパケットのヘッダを解析し、適宜IPパケットをそれぞれの宛先に転送する機能を有する。ルータは、多くのソースからの通信を処理する必要があるので、ロジックを制御するパケットはなるべくシンプルでなければならない。ルータは、少なくとも、IPパケットを転送する経路を決定するため、IPヘッダに含まれる宛先アドレスフィールドを確認する必要がある。サービス品質(QoS)に対するサポートをさらに提供するため、スマート(メディア・アウェア)ルータは、IPヘッダ、RTPヘッダ、及びNALUヘッダなどのネットワーク・プロトコルヘッダにおける専用フィールドを追加的に確認する。
 映像符号化に関する上記の記載から分かるように、依存スライス及びエントロピースライスなど、並列処理のために定義された異なるタイプのスライスは、データが欠落した場合の画質の低下に対する重要性が異なる。親スライスなしに、依存スライスを解析及び復号することはできない。なぜなら、依存スライスの先頭で、エントロピー符号化部又はエントロピー復号部をリスタートすることができないからである。よって、画像又は映像を再構築するうえで、親スライスはより重要であるといえる。
 HEVCにおいて、依存スライス及びエントロピースライスは、依存性の補足的な側面として、スライス間の依存性(フレーム内の依存性)を取り入れている。この依存性は、フレーム内の唯一の依存性ではない。
 また、タイルごとにスライスの並列処理を行うため、算術符号化部及び算術復号部のコンテキストは、デフォルトの設定により、又は、符号化済み或いは復号済みスライスに基づいて、決定される。しかしながら、ヘッダの依存性と、算術符号初期化の依存性とは異なるので、並列処理及び依存スライスのメカニズムの目的に反して、遅延が生じたり複雑さが増す可能性がある。
 依存スライスは、WPP又はタイルなどの並列処理ツールとともに用いることができる。また、依存スライスを用いることで、符号化損失を引き起こすことなく伝送遅延を削減することが可能なウェイブフロント(サブストリーム)を生成することができる。
 また、依存スライスではCABACがリスタートされないため、依存スライスをCABACサブストリームの開始点として用いることができる。また、独立した解析の開始点を示すため、当該開始点を示す情報をビットストリームに含めて伝達してもよい。特に、2つ以上のCABACサブストリームを通常スライス又は依存スライスにカプセル化する場合、サブストリーム毎のバイト数を用いて明示的に開始点を信号伝達する。ここで、サブストリームは、開始点により別々に解析可能なストリームの一部分を示す。さらに、各依存スライスはNALユニットのヘッダを必要とするため、開始点の「マーカー」として依存スライスを用いることができる。つまり、そのようなマーカーに対する開始点を信号伝達できる。
 信号により明示的に開始点を通知する方法と、依存スライスを介して開始点をマーキングする方法とは同時に用いることができる。ここで、各NALユニットの開始点(各NALヘッダの先頭)が特定できる必要がある。なお、特定方法に関しては、任意の方法を用いることができる。例えば、以下の2つの方法を用いることができる。
 一つ目の方法は、各NALヘッダの先頭に、例えば、3バイトのスタートコードを挿入する方法である。二つ目の方法は、各NALユニットを別々のパケットにパケット化する方法である。また、スライスの依存性のため、スライスヘッダのサイズを縮小してもよい。
 これらの方法により、エントロピースライスに対して並列CABAC解析が可能になる。これは、エントロピースライスの先頭でCABACが必ずリスタートされるからである。CABACの並列処理では、連続する画素構築処理の後の並列CABAC解析により障害を克服できる。具体的には、WPP並列化ツールにより、各LCU行の復号処理を1つの処理コアにより実現できる。なお、各コアへのLCU行の割り当ては異なってよい。例えば、1つのコアに2行が割り当てられてもよいし、2つのコアに1行が割り当てられてもよい。
 図3Aは、複数の行に分割されたピクチャ300を示す図である。各行は、複数の最大符号化単位(LCU)を含む。行301(Wavefront1)及び行302(Wavefront2)は、並列に処理される対象である。図3AのCABAC状態(CABAC states)の矢印で示されるように、行301において最初の2つのLCUが復号された後、行302の処理が始まる。また、行301の最初の2つのLCUを符号化又は復号した後のCABAC状態が、行302のCABAC初期化の際に用いられる。よって、行302の処理は、行301の最初の2つのLCUの処理が終了した後に開始可能である。つまり、2つの処理コアの間でLCU2つ分の遅延が存在する。
 図3Bは、WPPを用いた依存スライスの使用例を示す図である。図3Bに示すピクチャ310は、行311~314を含む。ここで、行311(Wavefront1)、行312(Wavefront2)、及び行313(Wavefront3)は、別々のコアで処理される。
 依存スライスは、遅延を改善できるWPPを形成する。依存スライスには完全なスライスヘッダがない。また、開始点(又は、上述したようなルールで知られる、依存スライスの開始点)が分かっていれば、他のスライスとは独立して依存スライスを復号できる。また、依存スライスは、符号化損失を生ずることなく、低遅延アプリケーションにも適したWPPを形成できる。
 サブストリーム(LCU行)をスライスにカプセル化する通常のケースでは、確実に、エントロピー符号化及び復号を並列に行うためには明確な開始点をスライスヘッダに挿入する必要がある。そのため、スライスの最後のサブストリームが完全に符号化されてはじめて、スライスの伝送の準備ができる。また、スライス中の全てのサブストリームの符号化が完了してはじめてスライスヘッダは完成する。つまり、スライス全体の処理が終わるまで、RTP/IP層のパケットフラグメンテーションを介してスライスの先頭の伝送を開始できない。
 しかしながら、依存スライスが用いられる場合には、依存スライスを開始点マーカーとして利用できるため、開始点の明示的な信号による通知は必要ない。したがって、符号化損失なく通常スライスを多くの依存スライスに分割することができる。また、カプセル化されたサブストリームの符号化が完了するとすぐに(又は、パケットフラグメンテーションの場合は、それよりも早く)、依存スライスを伝送することができる。
 また、依存スライスは、空間予測の依存性を弱めない。さらに、依存スライスは解析依存性も弱めない。なぜなら、対象依存スライスの解析には通常、先行スライスのCABAC状態を必要とするからである。
 依存スライスが許可されない場合、各LCU行をスライスとすることができる。そのような構成は伝送遅延を改善するが、同時に、上述したように大きな符号化損失が生ずることになる。
 フレーム(ピクチャ)全体を1つのスライスにカプセル化する場合を想定する。この場合、並列解析を可能にするため、スライスヘッダにサブストリーム(LCU行)の開始点を信号により伝達する必要がある。これによりフレームレベルで伝送遅延が発生する。つまり、フレーム全体を符号化した後、ヘッダを修正する必要がある。ピクチャ全体を1つのスライスにカプセル化すること自体は、伝送遅延を悪化させない。例えば、符号化が完全に終わる前に、スライスの一部の伝送を開始してもよい。しかしながら、WPPを用いる場合、開始点を記すためにスライスヘッダを後で修正する必要がある。したがって、スライス全体の伝送を遅延させる必要がある。
 このように、依存スライスの使用により、遅延を削減することができる。図3Bに示されるように、ピクチャ310は、通常スライスである行311、依存スライスである行312、313及び314に分割される。各行が1つの依存スライスである場合、符号化損失なく、1つの行の伝送を遅延させることができる。これは、依存スライスが、空間依存を弱めず、かつCABACエンジンをリスタートしないからである。
 図4A及び図4Bは、CABAC初期化の別の例を示す図である。図4Aは、WPPを用いない場合のCABACの初期化が示されている。また、WPP及びタイルの両方が用いられていない。また、通常スライス及び依存スライスを一緒に用いることは認められる。
 依存スライス(3)は、通常スライス(2)からヘッダをコピーする。つまり、通常スライス(2)は、依存スライス(3)の親スライスである。依存スライス(3)は、通常スライス(2)の終端で生成されたコンテキストテーブルを用いる。依存スライス(3)は、通常スライス(1)ではなく、通常スライス(2)に依存する。つまり、通常スライス(1)と依存スライス(3)との間には、空間予測は存在しない。
 図4Bは、WPPを用いる場合のCABACの初期化を示す図である。通常スライス、依存スライス、及び、WPPを一緒に用いることは認められている。
 依存スライス(3)は、通常スライス(2)のヘッダをコピーする。依存スライス(3)は、通常スライス(1)の2番目のLCUの終端で生成されたコンテキストテーブルを用いることが予想される。しかしながら、スライス(2)が通常スライスであるため、スライス(1)の2番目のLCUは参照できないことが示される。つまり、スライス(1)は、符号化順において依存スライスの直前の先行スライスではないため、参照されない。
 しかし、スライス(2)は、スライス(3)及び(4)の参照スライスとして用いられる。つまり、スライス(3)の復号を開始する際、CABAC状態はデフォルト値に初期化される必要がある(図4Bに、点線の矢印で示されている)。依存スライス(4)は、上述したようなWPPの条件に従う右上の第2のLCUの後のCABAC状態(実線の矢印)を用いる。
 図5は、現在のHEVC参照モデル(HM8.0)に準拠するスライスヘッダのシンタックス例を示す図である。スライスヘッダ320は、対象スライスが依存スライスであるか、通常スライスであるかを示すシンタックス要素dependent_slice_flagを含む。
 図5の行321から分かるように、dependent_slice_flagが0と同等である場合、ヘッダはスライスヘッダ情報を含む。つまり、スライスが完全なヘッダを有する。そうでない場合、ヘッダはスライスヘッダ情報を含まない。つまり、上述したように、依存スライス及びエントロピースライスは、完全なスライスヘッダを持たず、先行の通常スライスのヘッダを参照する。
 並列処理をサポートするため、開始点が後に信号で伝えられる。エントロピー符号化部又はエントロピー復号部がリスタートされない場合でも、この開始点を用いて、開始点間の映像ストリーム(サブストリーム)の一部に対し、並列復号を独立して行うことができる。上述したように、依存スライス、通常スライス、及び、エントロピースライスに対しても、開始点がマークされる。
 HEVCにおいて、いくつかの並列処理ツールがある。上述したように、このツールは、WPP、依存スライス、エントロピースライス、及びタイルである。しかしながら、これらのツールは互換性がないこともあるので、これらを組み合わせた利用には制限がある。一般的に、タイルとスライスとを一緒に用いることは認められている。
 ただし、主要プロファイルにおいて、1つのスライスを1以上の整数個のタイルに分割しなければならず、また、1つのタイルを1以上の整数個のスライスに分割しなければならないという制限がある。典型的には、この制限は特定のプロファイル(又は、プロファイルの特定のレベル)に適用される。この制限の目的は、ハードウェア実行の複雑さを低減することである。
 PPSのentropy_coding_sync_enabled_flagが1と同等であり(つまり、WPPが使用され)、スライスに含まれる1番目の符号化ブロックが、タイルの符号化ツリーブロックで構成される行の1番目の符号化ツリーブロックの1番目の符号化ブロックでない場合、ビットストリームが規格に適合する条件は、スライスの最後の符号化ブロックが、スライスの1番目の符号化ブロックと同じ符号化ツリーブロック行に属することである。符号化ツリーは、LCUの構造、及び、LCUをそれぞれさらに4ブロックへ帰納的に分割することを示す。つまり、WPPが可能である場合、そして、対象LCU行の先頭からスライスが開始されない場合、スライスは、対象LCU行の終端又はそれより前で終了しなければならない。また、並列処理手段だけでなくHEVCシンタックスに関する詳細も、非特許文献3に記載されている。
 この制限を、図6を用いて説明する。図6に示すピクチャ330は、通常スライスであるスライス331、332及び333を含む。スライス331及び332は、1つのLCU行に含まれる。スライス333は、複数のLCU行(この例では3行)にまたがっているため、許可されないスライスである。上記の制限に従い、スライス333は、第1LCU行の終端で終わらなければならない。
 図7は、WPPを用いる場合の、許可されるスライス構造を有するピクチャ340を示す図である。ピクチャ340は、通常スライスであるスライス341、342及び343と、依存スライスであるスライス344とを含む。これらのスライス341、342及び343は、1行目のLCU行に含まれる。スライス344は、次の2行を含む。
 スライス344は依存スライスであるため、スライス344に対するCABAC初期化は、他のスライス341、342及び/又は343に依存する。スライス342及び343の何れかが図7に示されるように通常スライスである場合、スライス344はデフォルトのCABAC状態に初期化される。そうでない場合は、WPPテーブルが用いられる。つまり、対象行の上のLCU行の2番目のLCUの処理後のCABAC状態が初期化に用いられる。
 この例では、図4B及び上述したCABAC初期化の関連記載において述べたように、依存スライス344に対するCABACは、予め定められたデフォルトのCABAC状態を用いて初期化される。
 このように、CABAC初期化は、複数の先行スライスに基づく。よって、対象スライスの処理、特に解析については、複数の他のスライスに依存する。具体的には、対象スライスの先行スライスの種類に応じて、CABACコンテキストがデフォルト値及びWPP値のどちらで初期化されるか決定される。このように、先行スライスを利用可能かどうかが確認され、対象スライスに適用する初期化方法が決定される。つまり、かなり複雑な順序の処理が必要である。以下、これについて詳細に説明する。
 第1のスライス341が少なくとも2つのLCUを有するので、最初の2つのLCUを符号化又は復号した後のCABAC状態を参照することは可能である。
 また、スライス342又はスライス343が失われた場合、スライス344を正確に復号することはできない。なぜなら、スライス342又はスライス343の種類が分からないため、CABAC初期化できないからである。つまり、2つの先行スライスに関する情報のみが欠落し、スライス344を正しく取得できた場合であっても、スライス344に対するCABACの初期化ができないため、正しく取得できたスライス344のデータを捨てることになる。よって、スライス344に対し、誤り隠蔽が必要になる。これにより、不完全な誤り隠蔽による歪みが原因となり画質が低下する可能性がある。
 ここで、スライスヘッダにおいて、シンタックス要素のほとんど(これらは主に、特定のフィルタリング操作等の制御の切り替えである)は、フレームに含まれる全てのスライスに対し決定される必要がある。また、中にはスライスごとに変更可能なシンタックス要素もあるが、画像符号化装置によるほとんどの処理では、フレーム全体に対し決められた制御パラメータが全て維持される。よって、誤り隠蔽する方法として以下の方法を用いることができる。この方法では、失われたスライスが依存スライスであったのか、通常スライスであったのかという情報のみが必要とされる。
 また、順番が乱れてパケットが到着する場合、復号遅延は悪化する。つまり、パケットの並び替えが予想される場合には、復号遅延が悪化する可能性がある。これは、WPPの基本的な目的である、依存スライスにより超低遅延を提供することと矛盾する。
 図8は、CABAC初期化処理の別の例を示す図である。図8では、図7に示されるスライスの構造を想定している。図8に示すピクチャ350は、スライス351とスライス354とを含む。スライス351は、通常スライスであり、フレーム中の1番目のスライスであり、4つのLCUを含む。フレームの先頭において、つまり、スライス351の先頭において、CABACはデフォルト状態値(ゼロ状態)に初期化される。なお、複数のデフォルト状態が存在してもよく、この場合、複数のデフォルト状態から、一つのデフォルト状態が選択される。なお、デフォルト状態とは、算術符号の確率モデルの所定値のことである。
 依存スライス354に属するデータを取得しても、欠落又はエラーによりスライス342及びスライス343(図7参照)のデータがない場合は、スライス354を復号することは不可能である。なぜなら、上述したように、スライス342及び343の情報なしに、CABACエンジンを初期化することはできないからである。
 図9は、依存スライス354が取得された際に行われる、初期化方法の決定処理のフローチャートである。言い換えると、このフローチャートは、CABAC初期化の、2つ以上のスライスへの依存の仕方を示す。
 スライス(4)(依存スライス354)に対して以下の条件が設定されることが想定される。WPPが可能である。SPSのdependent_slice_enabled_flagが1に設定されている。スライス(4)の位置が(式1)を満たす。
  slice_address % numLCUinRow = 0 ・・・(式1)
 ここで、「%」は、モジュロ演算(整数割り算の余り)である。パラメータnumLCUinRowは、ピクチャ350の1行あたりのLCUの数を示す。よって、(式1)の条件は、行の先頭で満たされる。パラメータnumLCUinRowは、SPSの設定から導出できる。
 まず、スライス(4)が依存スライスであるか否かが判定される(S101)。スライス(4)が依存スライスでない場合(S101でNo)、デフォルトの初期化が行われる。
 図8に示すように、スライス(4)が依存スライスである場合(S101でYes)、iが3に設定される(S102)。つまり、スライス(4)の直前のスライス(3)がスライスiに設定される。
 次に、スライスiが、スライス(4)の1行上から開始しているか否かが判定される(S103)。ここでは、iが3に設定されているため、スライスiは、処理対象の依存スライス(スライス(4))の直前のスライス(3)である。
 スライスiが、スライス(4)の1行上から開始していない場合(S103でNo)、WPPの初期化(WPPテーブルを用いた初期化)が行われる(S107)。
 一方、スライスiが、スライス(4)の1行上から開始している場合(S103でYes)、つまり図8に示すケースの場合、スライスiが依存スライスであるか否かが判定される(S104)。
 スライスiが依存スライスでない場合(S104No)、次に、スライスiの開始位置が分析される。具体的には、slice_address % numLCUinRowが2より小さいか否かが判定される(S106)。つまり、スライスiの開始位置が、行先頭又は2番のLCUであるかが判定される。
 slice_address % numLCUinRowが2より小さい場合(S106でYes)、WPPの初期化が行われる(S107)。一方、slice_address % numLCUinRowが2以上の場合(S106でNo)、デフォルトの初期化が行われる(S108)。
 また、スライスiが依存スライスである場合(S104でYes)、スライスiの開始位置が分析される。具体的には、slice_address % numLCUinRowが3より小さいか否かが判定される(S105)。つまり、スライスiの開始位置が、行先頭、2番、又は3番目のLCUであるかが判定される。
 slice_address % numLCUinRowが3より小さい場合(S105でYes)、WPPの初期化が行われる(S107)。一方、slice_address % numLCUinRowが3以上の場合(S105でNo)、初期化は行われず、インデックスiが1減少する(S109)。つまり、この例では、対象スライス(スライス(4))の2つ前のスライス(2)がスライスiに設定される。そして、スライス(2)に対してステップS103以降の処理が行われる。また、スライス(2)に対しても同様の判定が行われた場合には、次に、スライス(1)がスライスiに設定される。
 図10は、ピクチャ360を示す図である。ピクチャ360は5つのスライス361~365を含む。スライス361は通常スライスであり、1行目全体を含む。スライス362は、依存スライスであり、2行目全体を含む。3行目は、依存スライス363及びスライス364を含む。スライス365は依存スライスであり、4行目全体を含む。
 以下では、スライス364が失われた場合、又はスライス364が遅延した場合において、スライス364が依存スライスである場合、及びスライス364が通常スライスである場合の各ケースについて検討する。また、ここでは、スライス363が少なくとも2つのLCUを有する。
 スライス364が失われた場合、画像復号装置は、スライス364の種別を判別できない。失われたスライス364が依存スライスの場合、再構築処理において、少しの誤差で、スライス365及びそれ以降のスライスの復号を継続することは可能である。なぜなら、図8及び9を用いて説明したように、スライス365は、スライス363の2番目のLCUのCABAC状態を用いるからである。よって、CABAC初期化処理ではエラーが生じない。しかしながら、スライス365がスライス364からの空間予測を用いるため、画素再構築処理ではエラーが発生する可能性がある。
 一方で、失われたスライス364が通常スライスである場合、スライス365を復号できない。なぜなら、シンタックス要素の中には、失われたスライス364のスライスヘッダの情報を用いるものがあるかもしれないからである。つまり、通常スライス364が依存スライス365の親スライスであり、依存スライス365の解析及び復号に親スライスの情報が必要であるからである。
 失われたスライス364におけるスライスの種別が分からない場合、失われたスライス364が通常スライスである場合に起こりうる間違った復号を避けるため、画像復号装置は復号可能なスライス365を捨てることになる。これは、正しくスライス365のデータを取得できた場合でもスライス365を捨てることになるので非効率的である。さらに、スライス365に続く依存スライスも全て捨てる必要がある。
 スライス364が通常スライスである場合、スライス365の復号のため、CABACエンジンがデフォルトのCABAC値に初期化される(図9のS101でNoの場合を参照)。よって、スライス365はスライス363に依存しない。また、スライス363とスライス365との間の空間予測も行われない。このように、スライス365の開始位置においてCABACがデフォルト値に初期化されるため、依存スライス365は通常スライスと類似する。
 しかしながら、通常スライスは完全なスライスヘッダを有している。一方で、スライス365は、短いスライスヘッダのみを有し、先行の通常スライスのスライスヘッダにより設定されるパラメータに依存する。つまり、スライス365が依存スライスである場合、ヘッダのサイズを小さくできるという利点があるものの、この利点はそれほど大きくない。一方で、スライス365が通常スライスである場合には、スライス365を復号することができる。このように、上記ケースでは、スライス365を依存スライスに設定するよりも、通常スライスに設定するほうが利点が大きかったと考えられる。
 しかしながら、WPPにおいて、依存スライスは、損失に対するロバスト性を確実にすることが目的ではなく、超低遅延でのWPP操作を可能にすることを目的としている。一方で、リアルタイムのアプリケーションなどネットワークを越えた超低遅延アプリケーションの場合には、パケット損失及びパケットの並び替えが予想される。このような場合には、最終的にスライス364が取得できれば、スライス365を復号することはできる。しかしながら、少なくとも遅延の悪化及びパケットの損失を引き起こすことになる。よって、損失の多い環境においては、WPPは最適ではない状態で行われることになる。
 図11は、WPPを用いる場合のCABAC初期化に関連する別の課題を示すための図であり、ピクチャ370を示す図である。ピクチャ370は、4つのスライス371~374を含む。
 スライス371は通常スライスであり、スライス372は依存スライスである。ここで、スライス371は少なくとも2つのLCUを有する。ピクチャ370の1行目は、スライス371及び372を含む。ピクチャ370の2行目は、依存スライスであるスライス373及び374を含む。
 この場合、画像符号化装置は、少なくとも2つのプロセッサコアを利用することが想定される。つまり、WPPを使用する場合、画像符号化装置は、2つのLCU行を並列に符号化及び解析する。よって、スライス372が利用可能になる随分前に、スライス373が利用可能になる。
 しかしながら、スライス373に対するCABAC初期化はスライス372に依存しているため、スライス373の復号を開始できない。よって、行間における符号化又は復号の開始遅延を、1つのLCU行全体より小さくすることはできない。これは、2つのLCUまで遅延を小さくするというWPPの目的に矛盾する。
 図11に示されるようなスライスの符号化及び伝送の並列処理について、以下で説明する。プロセッサコア又はプロセッサなどの2つの処理部は、各行の1番目のスライス(スライス371及びスライス373)を同時に符号化する。符号化が終了すると、符号化済みスライス371及び373は、パケット番号(packet_id)がそれぞれ0と4のパケットにカプセル化される。ここでは、スライス372及び可能であれば別のNALUのために、小さな番号を確保するため、パケット番号4が選択される。
 スライス372の符号化が完了すると、スライス372は、パケット番号1のパケットにカプセル化され伝送される。また、欠落パケット番号2及び3がパケットの欠落と判定されないよう、対応するパケット番号2と3、及び、ダミー(フィラー)データを有する2つのNALユニットが生成される。
 HEVCにおいて、これは、filler_data SEIメッセージ、又は、フィラーデータ用に確保した所定のNALユニットタイプを用いることにより達成される。このように、パケットIDがNALユニット毎に1つずつ増加する必要がある場合、フィラータイプNALUがその差を埋めるために用いられる。
 対象行の初期化は、その上の行の2番目のLCUに依存する。また、2番目のLCUの後ろにスライスを挿入した場合、CABAC初期化の決定に影響を与えるので問題となる。この分析及び問題に基づき、本発明は、WPP及び依存スライスの利用のより効率的な関係を導くための手法を提供する。WPPの効率性を維持するため1行に対するCABAC初期化が別の行に依存するという状況は避けるべきである。
 また、上記と同様の課題が、WPPの代わりにタイルを用いる場合にも生じる。
 本発明の一態様に係る画像復号方法は、画像が複数のタイルに分割されるとともに複数のスライスに分割されて符号化された符号化信号を含むビットストリームを復号する画像復号方法であって、前記符号化信号を復号する復号ステップを含み、前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらない。
 これによれば、第2タイルの先頭のスライスが、第1タイルの先頭以外のスライスを参照するケースの発生を除外できるので、並列タイル処理及び依存スライスを共に利用する際の効率性を改善できる。
 例えば、前記復号ステップでは、前記第1タイル及び前記第2タイルを並列復号し、前記第2タイルの復号を開始する際に、前記第1タイルにおけるスライス構造を示す分割情報を参照せずに、前記第2タイルを復号してもよい。
 例えば、第3タイルの先頭が前記依存スライスである場合、当該依存スライスは前記第3タイル全体を含んでもよい。
 例えば、前記第1タイルが、前記第1タイルの先頭以外から始まるスライスを含む場合、前記第2タイルは依存スライスから始まらなくてもよい。
 例えば、前記画像復号方法は、さらに、スライスが通常スライスであるか依存スライスであるかを示す情報をスライスヘッダから取得するステップを含んでもよい。
 例えば、前記画像の先頭スライスは通常スライスであり、他の全てのスライスは依存スライスであってもよい。
 例えば、前記画像復号方法は、さらに、ピクチャの分割が制限されていることを示す制限インジケータを前記ビットストリームから取得するステップを含んでもよい。
 例えば、前記画像復号方法は、さらに、前記依存スライスにスライスヘッダが用いられる親スライスがタイル先頭から始まるか否かを示すインジケータを前記ビットストリームから取得するステップを含んでもよい。
 また、本発明の一態様に係る画像符号化方法は、画像を複数のタイルに分割するとともに複数のスライスに分割して符号化することでビットストリームを生成する画像符号化方法であって、前記画像を複数のタイルに分割するとともに複数のスライスに分割する分割ステップと、分割された複数のタイル及び複数のスライスを符号化する符号化ステップとを含み、前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、前記分割ステップでは、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらないように、前記画像を複数のタイルに分割するとともに複数のスライスに分割する。
 これによれば、第2タイルの先頭のスライスが、第1タイルの先頭以外のスライスを参照するケースの発生を除外できるので、並列タイル処理及び依存スライスを共に利用する際の効率性を改善できる。
 例えば、前記分割ステップでは、画像復号装置において前記第1タイル及び前記第2タイルを並列復号する場合において、当該画像復号装置が前記第2タイルの復号を開始する際に、前記第1タイルにおけるスライス構造を示す分割情報を参照せずに、前記第2タイルを復号できるように前記画像を前記複数のタイル及び前記複数のスライスに分割してもよい。
 例えば、前記分割ステップでは、第3タイルの先頭が前記依存スライスである場合、当該依存スライスは前記第3タイル全体を含むように、前記画像を複数のタイルに分割するとともに複数のスライスに分割してもよい。
 例えば、前記分割ステップでは、前記第1タイルが、前記第1タイルの先頭以外から始まるスライスを含む場合、前記第2タイルは依存スライスから始まらないように、前記画像を複数のタイルに分割するとともに複数のスライスに分割してもよい。
 例えば、前記画像符号化方法は、さらに、スライスが通常スライスであるか依存スライスであるかを示す情報をスライスヘッダに埋め込むステップを含んでもよい。
 例えば、前記画像の先頭スライスは通常スライスであり、他の全てのスライスは依存スライスであってもよい。
 例えば、前記画像符号化方法は、さらに、ピクチャの分割が制限されていることを示す制限インジケータを前記ビットストリームに埋め込むステップを含んでもよい。
 例えば、前記画像符号化方法は、さらに、前記依存スライスにスライスヘッダが用いられる親スライスがタイル先頭から始まるか否かを示すインジケータを前記ビットストリームに埋め込むステップを含んでもよい。
 また、本発明の一態様に係る画像復号装置は、画像が複数のタイルに分割されるとともに複数のスライスに分割されて符号化された符号化信号を含むビットストリームを復号する画像復号装置であって、前記符号化信号を復号する復号部を備え、前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらない。
 これによれば、第2タイルの先頭のスライスが、第1タイルの先頭以外のスライスを参照するケースの発生を除外できるので、並列タイル処理及び依存スライスを共に利用する際の効率性を改善できる。
 また、本発明の一態様に係る画像符号化装置は、画像を複数のタイルに分割するとともに複数のスライスに分割して符号化することでビットストリームを生成する画像符号化装置であって、前記画像を複数のタイルに分割するとともに複数のスライスに分割する分割部と、分割された複数のタイル及び複数のスライスを符号化する符号化部とを備え、前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、前記分割部は、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらないように、前記画像を複数のタイルを分割するとともに複数のスライスに分割する。
 これによれば、第2タイルの先頭のスライスが、第1タイルの先頭以外のスライスを参照するケースの発生を除外できるので、並列タイル処理及び依存スライスを共に利用する際の効率性を改善できる。
 また、本発明の一態様に係る画像符号化復号装置は、前記画像符号化装置と、前記画像復号装置とを備える。
 なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態1)
 本実施の形態1に係る画像符号化方法及び画像復号方法では、CABAC初期化を明示するインジケータを追加する。
 図12は、実施の形態1に係るスライスヘッダのシンタックスを示す図である。スライスヘッダ380は、新たなシンタックス要素「entropy_default_initialization_flag」を有する新たな行381を含む。
 このentropy_default_initialization_flagは、所定値に設定された場合に、スライスのCABACがCABACデフォルト(所定)値で初期化されることを示すインジケータである。このフラグは、スライスがデフォルトCABAC値で初期化されることを示す「1」などの第1の値、及び、初期化が別の方法で行われることを示す「0」などの第2の値を有する、1ビットのインジケータである。なお、「1」及び「0」の値の割り当ては入れ替えてもよい。
 初期化決定の「別の方法」は、先行スライスの値に基づく初期化など所定の方法であってもよい。しかしながら、「別の方法」は、図9に示されるフローと類似する別の決定フローを含んでもよく、これにより、デフォルトCABAC値による初期化方法も導く可能性がある。
 本実施の形態に係る画像復号装置は、少なくとも部分的に算術符号で符号化される画像スライスを含む符号化映像シーケンスのビットストリームを復号する。当該画像復号装置は、スライスの算術復号の確率モデルが所定値で初期化されるか否かを示す初期化インジケータを、前記スライスのビットストリームデータから抽出する解析部と、前記初期化インジケータに従い、前記所定値で算術復号用の前記確率モデルを初期化するか否かを制御する制御部と、算術復号を行うことにより、前記スライスを復号する算術復号部とを備える。
 例えば、算術符号は、HEVCで定義されるようなコンテキスト適応算術符号であってもよい。しかしながら、本発明はこれに限定されない。
 所定値とは、画像符号化装置及び画像復号装置に知らされたデフォルト値のことであり、符号化されたコンテンツにより変化することはない。
 この初期化インジケータは、好ましくは、1ビットフラグのことを指し、1ビットフラグでは、「1」は算術復号の確率モデルが所定値で初期化されることを示し、「0」は算術復号の確率モデルが別の方法で初期化されることを示す。
 対象スライスが依存スライスの場合のみ、このインジケータの存在は必要である。なぜなら、通常スライスの場合、CABACデフォルト値が初期化に用いられる(図9のS101でNoの場合を参照)。よって、条件dependent_slice_flag == 1を確認することにより、対象スライスが依存スライスであるか否かががまず分析される。
 また、スライスと他のスライスとの並列処理を行う場合に、初期化インジケータ(フラグ)は有利である。例えば、並列処理はWPPであってもよい。よって、条件のentropy_coding_sync_enabled_flag == 1が真である場合のみ、図12に示すスライスヘッダのシンタックスは、初期化インジケータentropy_default_initialization_flagを含む。
 また、スライスがLCU行の先頭で始まる場合のみ、初期化インジケータは適切である。なぜなら、そのときのみ、並列処理を可能にするため、CABACの即時の初期化が必要であるからである。これは、図12に示すシンタックスにおいて、条件slice_address % PicWidthInCtbsY == 0により示される。
 上述したように、シンタックス要素「slice_address」は、ビットストリームに含まれるオフセットにより、スライスの開始を示す。「PicWidthInCtbsY」は、符号化ツリーブロックの単位(LCU)の数でフレームの幅を示す。
 行381に示すように、上述した3つの条件の論理積が判定に用いられる。つまり、以下の(式2)が真である場合のみ、初期化方法を明確に信号で伝えるために、entropy_default_initialization_flagが伝達される。
 dependent_slice_flag == 1 && entropy_coding_sync_enabled_flag == 1 && slice_address % PicWidthInCtbsY == 0   ・・・(式2)
 (式2)が真でない場合、通常の方法に基づいて、つまり、WPPルールに基づいて初期化が行われる。
 つまり、本実施の形態に係る画像符号化方法及び画像復号方法は、画像の画素ブロックに対応する符号化単位に画像のスライスを分割し、解析部は、スライスが依存スライスの場合のみ、ヘッダデータに含まれる初期化インジケータを抽出する。依存スライスの算術復号部は、各依存スライスに対応する親スライスの算術復号部のコンテキストに基づき初期化される。
 また、符号化単位で構成される行の並列復号が可能な場合のみ、解析部は、ヘッダデータの初期化インジケータを抽出してもよい。
 つまり、本実施の形態に従い、画像の画素ブロックに対応する符号化単位に画像のスライスが分割され、解析部は、画像の符号化単位ブロックで構成される行の先頭からスライスが始まる場合のみ、ヘッダデータの初期化インジケータを抽出する。
 図13は、本実施の形態に係る、スライスのCABAC初期化の決定方法のフローチャートである。図13は、図8に示すピクチャ350の場合を想定している。スライス(4)(スライス354)がスライス(1)(スライス351)と並列に解析されると想定すると、以下の決定がなされる。
 まず、スライス(4)が依存スライスであるか否かが判定される(S111)。スライス(4)が依存スライスであり、かつ、他の条件(行の並列処理が行われ、かつ、LCU行の先頭においてスライスが開始している)が満たされる場合(S111でYes)、初期化の実行方法を決定するため、初期化インジケータ「entropy_default_initialization_flag」が確認される(S112)。
 entropy_default_initialization_flagにより、デフォルトの初期化が適用されることが示される場合(S112でNo)、デフォルトの初期化が適用される(S114)。一方、entropy_default_initialization_flagにより、デフォルトの初期化が適用されることが示されない場合(S112でYes)、先行スライスを参照するWPPの初期化が適用される(S113)。
 なお、本実施の形態は、スライスヘッダ内で初期化インジケータを信号伝達することに限定されない。別のデータ構造、例えば、付加拡張情報メッセージに、同一のインジケータを埋め込んでもよい。
 (実施の形態2)
 実施の形態1により、WPP及び依存スライスなどの並列LCU行処理の効率的な処理が実現できる。一方で、新たなシンタックス要素が、スライスヘッダに組み込まれる。これに対して、新たなシンタックス要素の追加を避けるため、初期化ルールを修正することにより、並列処理中のスライスに対するCABAC初期化の独立性も達成してよい。
 本実施の形態では、依存スライスの定義、及び、依存スライスに対する画像符号化装置及び画像復号装置の動作を修正する。これは、ビットストリームの規格に制限を加えることにより実現できる。
 つまり、本実施の形態に係る画像復号装置は、複数の符号化単位に分割され、少なくとも部分的に算術符号で符号化される複数の画像スライスを含む符号化映像シーケンスのビットストリームを復号する。当該画像復号装置は、符号化単位で構成される1行目及び2行目をビットストリームから抽出する解析部を備え、2行目の第2スライスに対する算術復号部を初期化する際、1行目の第1スライスの分割情報を参照しなくてもよいように、1行目及び2行目の符号化単位がスライスに割り当てられる。1行目の第1スライスの開始位置は、2行目の第2スライスより所定の符号化単位数分後ろである。当該画像復号装置は、前記第1スライス及び前記第2スライスを少なくとも部分的に並列に算術復号することにより、前記各スライスを復号する算術復号部をさらに備える。
 図14は、本実施の形態の機能を示すための図であり、複数のスライスに分割されたピクチャ390を示す。ピクチャ390は、4つのスライスである、通常スライス391と、通常スライス392と、依存スライス393と、通常スライス394とを含む。
 3つのスライス391、392及び393は、符号化単位(LCU)で構成される1行目に含まれる。スライス394は、2行目及び3行目全体を含む。
 スライス化、及び、行単位の並列処理の使用に適用される制限の第1例は、「entropy_code_sync_enabled_flagが1と同等であり、dependent_slice_enabled_flagが1と同等である場合、符号化ツリーブロック行の先頭でのみ通常スライスは始まってもよい」である。また、entropy_code_sync_enabled_flag及びdependent_slice_enabled_flagの両方のフラグは、ピクチャパラメータセットに含まれる。なお、符号化ツリーブロック(CTB)、及び、最大符号化単位(LCU)は、同一の単位のことである。標準テキスト(非特許文献3を参照)では、CTBが用いられている。また、標準テキストの前バージョンではLCUが使用されていたが、現在はCTBが使用されている。
 符号化単位行(LCU行)の先頭においてのみ通常スライスが始まる場合、他の行の当該通常スライスに続く依存スライスは、常に通常スライスのCABAC状態を参照してもよい。ここでCABAC状態とは、WPPにより実行されるような最初のLCU又は最初の2つのLCUの処理後のCABAC状態である。また、依存スライスのヘッダがそれらに先行する通常スライスのヘッダに依存するため、通常スライス394が失われた場合、依存スライスを捨てる必要がある。
 上記第1例の制限は、厳密である必要はない。WPPの初期化の適用を可能にするため、前行の通常スライスの少なくとも1つ又は2つのLCUを、依存スライスが利用できるようにすればよい。
 または、別の制限(ルール)として第2例を適用してもよい。第2例では、符号化ツリーブロック行における2番目の符号化ツリーブロックの後で、通常スライスを開始しない。通常スライスはLCU行の先頭で始まらなければならないため、例えば、図14に示すように、2番目のスライス392を通常スライスに設定することは認められない。
 なお、上述した第1スライスとは、開始位置が1行目の2つ目の符号化単位までであればよい。また、第1スライスは通常スライスであり、第2スライスは、通常スライスのスライスヘッダを用いる依存スライスであってもよい。また、第1スライスの開始位置は、1行目の先頭であってもよい。
 図15は、上述したルールを設けた場合の、CABAC初期化方法の決定処理のフローチャートである。ここで、図8に示す例を用いて説明する。
 まず、スライス(4)が依存スライスであるか否かが判定される(S111)。スライス(4)が依存スライスである場合(S111でYes)、WPPの初期化が行われる(S113)。一方、スライス(4)が依存スライスでない場合(S111でNo)、デフォルトの初期化が行われる(S114)。
 このように、本実施の形態に係る画像符号化方法は、コンテキスト適応エントロピー符号化部を用いる。当該画像符号化方法は、少なくとも2つの部分に分割されるピクチャフレームに適用される。少なくとも2つの部分とは、別々に、少なくとも部分的に並列に符号化及び復号可能な第1部分及び第2部分のことである。
 本実施の形態によると、サブストリームの第1部分をスライスへ分割する際、ストリームの第2部分のコンテキストテーブルの初期化が第1部分の分割に依存しない方法で決定される。例えば、WPPは行毎(LCU行毎)に行われるため、ストリームの一部分がLCU行に対応してもよい。
 なお、本発明は、上で例示した制限に限定されない。または、上記の制限を異なる方法で公式化してもよい。以下、制限の別の例を説明する。
 通常スライスが以下の(式3)の条件を満たす場合、後続LCU行の先頭で始まるスライスは、依存スライスではない。
  slice_adress % PicWidthInCtbsY > 1  ・・・(式3) 
 簡略化するため、上記の条件を以下の(式4)で表してもよい。 
  slice_adress % PicWidthInCtbsY != 0  ・・・(式4)
 ここで、「!=」は、同等ではないことを示す。entropy_coding_sync_enabled_flagが1と同等である場合、つまり、LCU行の並列処理が可能な場合、これらの制限は適用可能である。また、「slice_adress」は、ビットストリーム内で始まるスライスの位置を示し、パラメータ「PicWidthInCtbsY」は、LCU(符号化ツリーブロック)におけるピクチャ(フレーム)の幅を示す。
 つまり、通常スライスが行の先頭で始まらない場合、その直後の行で始まるスライスは依存スライスではない(第3例)。この条件により、2行目のスライスの復号を、1行目のある位置の通常スライスを解析(復号)するまで待つ必要がなくなる。
 上記の第3例の制限による影響を、図16を用いて説明する。図16に示すピクチャ400は、1行目に含まれる3つのスライス401~403を含む。これら3つのスライスのうち最初の2つのスライス401及び402は通常スライスであり、3つ目のスライス403は依存スライスである。
 上記の条件によると、4番目のスライス404を依存スライスに設定することはできない。図16において、スライス404にバツ印をつけることで、これを示している。
 よって、ビットストリームは、通常スライス及び依存スライスを含んでもよく、これらの復号は通常スライスのスライスヘッダにおいて信号伝達されるパラメータに基づく。LCU行の先頭より後ろの位置で通常スライスが始まる場合、次のLCU行は依存スライスで始まらない。
 図17を用いて、第4例の制限を説明する。entropy_coding_sync_enabled_flagが1と同等であり、かつ、dependent_slice_enabled_flagが1と同等である場合、フレーム中の最初のスライス以外、通常スライスは認められない(第4例)。
 つまり、並列処理が可能であり、かつ、依存スライスが有効な場合、通常スライスは、フレーム中の最初のスライスとしてのみ認められる。つまり、最初のスライスを除き、フレーム中の全てのスライスが依存スライスである。
 図17に示すピクチャ410は、5つのスライス411~415を含む。スライス411、412、及び415は通常スライスであり、スライス413及び414は依存スライスである。上記の第4例の制限に従い、1番目の通常スライス411を除く、通常スライス412及び415は認められない。つまり、スライス412及び415は、依存スライスでなければならない。
 なお、この第4例の制限を用いた場合、パケット損失に対するロバスト性に関してデメリットを有する。依存性を低減するため、また、損失の多い環境におけるエラー伝播を低減するため、一般的には通常スライスが用いられる。また、1番目のスライスのみが通常スライスのフレームでは、1番目のスライスを復号できない場合、全てのスライスが復号できないというリスクを負うことになる。
 また、別の制限として以下の制限を用いてもよい。スライス(通常又は依存スライス)がLCU行の真ん中で(つまり、行の開始位置とは別の位置で)始まる場合、次の符号化単位行は依存スライスで始まらない(第5例)。
 なお、当該技術分野の当業者には明らかなように、ここで記載された複数の制限を任意に組み合わせることが可能である。つまり、上記第1例~第5例を組み合わせて適用してもよい。
 さらに、制限の別の例を以下に挙げる。entropy_coding_sync_enabled_flagが1と同等な場合、1つのLCU行をスライスに分割することはできない(第6例)。この制限を適用した場合、図17に示すスライス構造では、スライス412及び413は認められない。つまり、符号化単位行の並列処理が可能である場合、スライスは、1つの符号化単位行全体、又は、複数の符号化単位行全体を含むことのみ認められる。
 このように、ビットストリームは、通常スライス及び依存スライスを含む。通常スライス及び依存スライスの復号は、通常スライスのスライスヘッダで信号伝達されるパラメータに基づく。画像中の1番目のスライスのみを通常スライスとし、残りのスライスを依存スライスとしたうえで、画像をスライスに分割する。
 また、各スライスは、m行の符号化単位行の全てを含む。ここで、mは1以上の整数である。
 また、上記制限の適用に加えて、又は、その代わりに、依存スライスが有効で、WPP及びタイルの何れかが有効な場合、上記制限を示すインジケータをビットストリームに埋め込んでもよい。例えば、このインジケータはSPS又はPPSに埋め込まれる。なお、このインジケータは、SEIメッセージなどの別のメッセージ又は任意のビデオ・ユーザビリティ情報(VUI)メッセージに埋め込まれてもよい。
 このインジケータに基づいて、画像復号装置は、適用される制限を把握する。例えば、この制限は、LCU行(WPP)の先頭、又は、タイルの先頭でのみに、通常スライスが認められるという制限である。なお、これは、制限の一例にすぎず、上記の制限の何れか、又は、これらの制限の組み合わせ、又は、明示的に記載されていない追加の制限を適用してもよい。
 例えば、このインジケータは、所定の制限に対し、当該制限を適用するか否かを示す、1ビットのフラグであってもよい。また、選択可能な複数の制限があってもよく、選択された制限を示す情報がビットストリームに含まれて画像復号装置に信号伝達される。つまり、上述した例のように明示的に使用を制限するのではなく、画像符号化装置がそのような制限を用いることを画像復号装置に知らせてもよい。したがって、制限に関連する上記例のいずれを適用してもよい。
 なお、インジケータを追加するか否かを、WPP又はタイルが有効化どうかによって決定しなくてもよい。
 以上のように、本実施の形態は、並列処理において、先行スライスを考慮したCABAC初期化により、依存スライス処理が、2以上又は3以上の符号化単位分遅延することを防止できる。これにより、行の符号化、復号、及び解析を効率的に並列処理できる。
 なお、本発明は、スライス化の方法を制限する実施の形態に限定されない。また、上記制限は、CABACコンテキストが得られるスライスに関連してもよい。
 (実施の形態3)
 本実施の形態では、WPP処理の際の依存スライスに対するCABAC初期化方法を変更する。具体的には、依存スライスに対する親スライスの割り当てルールを変更する。
 例えば、スライスへのLCU行の分割(及び/又は、後続スライスの種別)に関わらず、依存スライスが常に、同一スライスからスライスヘッダ及びCABACコンテキストを取得するようなルールを定める。
 図18に示すピクチャ420は、スライス421~424を含む。現在のHEVCでは、依存スライス424の親スライスはスライス422である。つまり、依存スライス424のスライスヘッダは、先行する最も近くの通常スライスであるスライス422から取得する。
 図9を用いて説明したように、依存スライスは、先行のLCU行の先頭にある通常スライスを用いてCABAC初期化を行う場合もある。しかしながら、スライス422が失われた場合、スライス424のCABACの初期化を行うことはできるが、スライスヘッダ情報が欠落するため、スライス424を復号できない。
 これに対して、本実施の形態では、依存スライスは、依存スライスが含まれる行と同じ又は前の行から開始される最も近くの通常スライスを親スライスとして有する。このルールに従い、本実施の形態では、図19に示すように、スライス424の親スライスはスライス421に設定される。そして、依存スライス424は、スライス421のスライスヘッダを用いるとともに、スライス421のCABAC状態を用いてCABAC初期化を行う。
 また、各依存スライスの算術復号部は、親スライスの算術復号部のコンテキストに基づき初期化されるように、スライスの依存性が設定される。
 なお、スライスの初期化に用いられるCABACコンテキストテーブルを示す情報が、SEIメッセージ内で、明示的に信号伝達されてもよい。つまり、CABACエンジンの初期化に用いられると思われる全ての初期値を、明示的にSEIメッセージ内で信号伝達してもよい。
 (実施の形態4)
 本実施の形態では、WPPではなくタイルを用いる場合について説明する。
 WPPでなくタイルの場合も、WPPに対して述べた上記の問題が生じる。しかしながら、CABACコンテキストテーブルの初期化は、デフォルト初期値又は以前に記憶された値のどちらかにCABACコンテキストテーブルを設定することを意味する。タイルの場合、(タイルが依存スライスから始まる場合でも)CABACコンテキストテーブルは常にタイルの先頭で、デフォルト値に初期化される。
 しかしながら、通常スライスがタイルの真ん中で現れる場合、そのスライスヘッダに含まれるシンタックス要素のいくつかを修正する場合がある。このシンタックス要素とは、例えば、サンプル適応オフセット処理のオン/オフを示すフラグである。このフラグが「オン」の場合、CABACエンジンは、スライスデータを解析しながら、パラメータをフィルタリングする。このように、これはCABACエンジンの状態制御に関する。これについては、以下で詳述することにする。
 図19は、本実施の形態に係るスライスヘッダのシンタックスを示す図である。このスライスヘッダは、依存性に関するインジケータであるdependent_slice_flagを含む。
 図20は、2つのタイル501及び502に分割されたピクチャ500を示す図である。図20に示すように、タイルは、垂直線でピクチャを分割するという点が、スライスとは異なる。一般的に、ピクチャを複数のタイルに分割することができる。タイルの分割情報は、ピクチャに関するピクチャパラメータセット(PPS)に含まれて信号伝達される。
 上述したように、タイルは、並列処理を可能にするツールの1つである。つまり、複数のタイルを並列に復号してもよい。なお、タイルの再構築後に、タイル境界において、最後にループフィルタ処理が一般的に行われる。
 ピクチャパラメータセットは、ピクチャ内のタイルの数及び位置に関する情報を含む。タイル間の空間予測が認められないという点において、タイルはスライスと類似している。ここで、「空間予測」は、イントラ予測、動きベクトル予測、又は、パラメータを参照することである。ここでパラメータとは、サンプル適応オフセットパラメータ、ピクチャに関する他のパラメータ、又は、別のタイルに関連するパラメータのことである。
 エントロピー符号化部及びエントロピー復号部は、各タイルの先頭でリスタートされる。
 図21Aは、符号化ツリーブロック又は最大符号化単位などの符号化単位の処理順を示す図である。この順番は、Zスキャン又はラスタスキャンとも呼ばれる。図21Aは、タイルが有効でない場合を示す。言い換えると、1ピクチャにつき1タイルが設定されている場合である。なお、WPPを有効にしてもよい。
 図21Bは、境界513により分割された2つのタイル511及び512を含むフレームを示す図である。フレーム内に2つ以上のタイルが存在する場合の処理順は、以下のように決定される。
 まず、LCUについて上述した通常のラスタスキャン順により、全てのタイルの順序を決定する。これは、図21Bにおいて、タイル511で始まりタイル512で終わる順番である。
 次に、図21Bの矢印で示されるような通常のラスタスキャン順を用いて、各タイル内のLCUの順序を決定する。最後に、各タイルの最後のLCUを後続タイルの最初のLCUと結ぶ。これにより、図21Bに示す順序が決定される。なお、処理順の詳細については、例えば、非特許文献3に記載されている。
 スライスではLCU走査順が用いられる。したがって、符号化順においてスライスAがスライスBに先行する場合、スライスAの全てのLCUが、スライスBの全てのLCUに先行することを意味する。
 一方、タイルを用いた場合には、スライスのみが用いられる場合(タイルが用いられない場合)に適用される順序と異なる順序で符号化単位が走査される。具体的には、スライスのみが用いられる場合、ピクチャ内の符号化単位は、所謂Zスキャンにより走査される。Zスキャンは、ピクチャ内の左上の符号化単位から始まり、1行目を右方向に走査し、1行目の右端まで走査が終わると、2行目の左端の符号化単位から、2行目の右端の符号化単位までが走査される。このような、順序で、最後の行の最後の符号化単位までが走査される。
 スライスがZスキャン順における連続数の符号化単位として構成される場合に、これは効率的である。しかしながら、タイルが用いられる場合、符号化単位の符号化又は復号順はこの順序から変更される。具体的には、各タイル内でZスキャン順に走査が行われる。つまり、Zスキャン順の走査がタイルをまたがり行われることはない。よって、タイルに含まれる符号化単位の符号化又は復号は、タイルの左上の符号化単位から始まり、同タイルの右下の符号化単位で終わる。また、ピクチャ内のタイルも、上述したようにZスキャン順で順序付けされる。
 現在のHEVC標準化では、タイルとスライスとを組み合わせて使用することに関する制限が設けられている。具体的には、スライスが、整数の完全なタイルを含むことのみ認められている。また、タイルが、整数の完全なスライスを含むことのみ認められている。
 シンタックス要素tiles_enabled_flagは、シーケンスパラメータセット(SPS)の一部としてのビットストリームのシンタックス内に含まれる。このシンタックス要素を論理値「1」に設定することにより、タイルの使用が可能となる。
 タイルが用いられる場合、WPPを使用することはできない。よって、タイルを使用する場合には、WPPの使用を制御するSPSのシンタックス要素entropy_coding_sync_enabled_flagが論理値「0」に設定される。
 図22A~図22Cは、タイルとスライスとを同時に使用する場合の制限を説明するための図である。図22Aに示すように、スライスを2つのタイルに分割することは認められている。この例では、スライス(1)は、ピクチャ全体を含み、大きさが同じ2つのタイルに分割されている。
 図22Bに示す例では、ピクチャが2つのタイルに分割されている。また、各タイルは2つのスライスに分割されている。具体的には、ピクチャは、まずタイル1及びタイル2に分割される。タイル1とタイル2はそれぞれピクチャの左半分と右半分を含む。タイル1は、スライス1及びスライス2の2つのスライスに分割され、タイル2は、スライス3及びスライス4の2つのスライスに分割される。
 図22Cは、認められていないスライス及びタイル構造を示す図である。この例では、スライス1がタイル1及びタイル2の両方に含まれる。一方で、スライス2はタイル2内のみに存在する。よって、タイル1もタイル2も、整数の完全なタイルを含んでいない。同様に、スライス1もスライス2も、整数の完全なタイルを含んでいない。
 スライスとタイルとの同時使用には、このようなルールが適用される。しかしながら、これらのルールでは、異なる種類のスライスを用いる場合について具体的な検討がなされていない。つまり、スライスが通常スライスであるか依存スライスであるかは検討されていない。
 図23は、ピクチャをタイル及びスライスに分割する例を示す図である。この分割は、上記の制限に従い認められている。この分割は、図22Bの例に相当する。また、タイル1に含まれるスライス521及び522は通常スライスである。タイル2に含まれるスライス523及び524は依存スライスである。
 図24は、ピクチャ内の符号化単位の処理、特に、符号化単位の復号又は符号化にシングルコアが用いられる場合の走査順を示す図である。図24に示されるように、タイル分割が用いられなかった場合、シングルコアは、Zスキャン順で符号化単位を復号する。
 しかしながら、タイルの定義、つまりタイル境界に従い、CABACエンジンは再初期化される。つまり、タイルの境界におけるCABAC状態を、後の初期化のために記憶しておく必要がある。このように、シングルコア復号手順は、ビットストリームにおいてジャンプを必要とする。なぜなら、タイル分割は、符号化単位の符号化順を変更するからである。
 また、依存スライスが有効な場合、シングルコア復号はより複雑になる。図23で示される分割されたピクチャの復号を以下に例示する。
 第1ステップでは、スライス521の符号化単位行1行目が復号される。第2ステップでは、スライス522のスライスアドレスが復号される。スライスアドレスはスライスヘッダに含まれて信号伝達される。スライスアドレスは、LCU数で表され、スライスが始まるビットストリーム内の位置を示す。また、スライスアドレスは、タイル2に含まれる一番目の符号化単位とは異なる。
 第3ステップでは、スライス523が復号される。スライスアドレスは正確であるが、このスライスは依存スライスである。よって、スライス523は、タイル1に含まれるスライス522のスライスヘッダを用いる。このため、復号処理は、スライス522へジャンプして戻り、そのヘッダが復号される。そして、復号処理は、スライス523の復号に戻るため、ジャンプして前に進む。その後、スライス523の復号が開始される。
 この簡略な例から分かるように、画像復号装置は、ビットストリーム内で、ジャンプして後ろに戻ったり前に進んだりする必要があり、タイル2の復号を開始する際には、追加の確認を行う必要がある。これは、依存スライスを使用するために、タイル間に依存性が生じることによる。
 これに対して、本実施の形態では、依存スライス及びタイルの効果的な適用を可能にする手法を実現する。具体的には、ピクチャのスライス及びタイルへの分割に関して制限を設けることで、通常の順序において確実に適切な符号化及び復号を行えるようにする。
 本実施の形態に係る画像復号装置は、それぞれが複数の画像スライス及び画像タイルを含む複数のフレームを含む符号化映像シーケンスのビットストリームを復号する。各画像スライス及び各画像タイルは、複数の符号化単位を含む。当該画像復号装置は、タイル1、及び、タイル1の次に符号化されるタイル2を、ビットストリームから抽出(解析)する解析部を備える。算術復号部によるタイル2の復号において、タイル1の分割情報を必要としないように、フレームはスライス及びタイルへ分割される。
 当該画像復号装置はさらに、少なくとも部分的に並列にタイル1及びタイル2を算術復号することにより、スライスを復号する算術復号部を備える。
 また、本実施の形態に係る画像符号化装置は、少なくとも部分的に算術符号を用いて、複数の符号化単位に分割された複数の画像スライスを含む映像をビットストリームへ符号化する。
 当該画像符号化装置は、第1タイル及び前記第1タイルの次に符号化された第2タイルを前記ビットストリームへ埋め込むビットストリーム生成部と、算術復号部により前記第2タイルを復号する際、前記第1タイルの分割情報を必要としないで済むように、前記各フレームを前記スライス及び前記タイルに分割し、前記第1タイル及び前記第2タイルを少なくとも部分的に並列に算術符号化することにより、前記各スライスを符号化する算術符号化部とを備える。
 本実施の形態の第1例では、タイルが有効であり、同時に依存スライスの利用が可能な場合には、通常スライスはタイルの先頭でのみ始まる。つまり、tiles_enabled_flagが1と同等であり、同時にdependent_slice_enabled_flagが1と同等である場合、各通常スライスはタイルの開始位置で始まらなければならない。
 ここで、tiles_enabled_flag及びdependent_slice_enabled_flagの両方は、ピクチャパラメータセットに含まれる。
 なお、dependent_slice_enabled_flagが0と同等の場合、通常スライスのみが用いられる。これにより、上記の問題は避けられる。これは、図22Bに示すピクチャにおいて、全てのスライスが通常スライスである場合に対応する。
 このように第1例では、別のスライスにヘッダが用いられるスライス(通常スライス)は常に、タイルの先頭で始まる。言い換えると、画像の先頭スライスは通常スライスであり、他のスライスは依存スライスである。つまり、通常スライスは画像の先頭スライスとしてのみ認められる。また、先頭以外のスライスは、常に依存スライスである。例えば、図25Cに示すピクチャは認められるが、図25Bに示すピクチャは認められない。
 本実施の形態の第2例では、タイルが有効であり、タイルの開始位置以外の位置で通常スライスが始まる場合、次に符号化されるタイルは依存スライスから始まらない。つまり、tiles_enabled_flagが1と同等で、slice_addressがタイルの開始アドレスと同等な場合、次のタイルは依存スライスから始まらない。
 これにより、図23を用いて説明したように、依存スライス523を復号する際、通常スライス522のスライスヘッダにジャンプして戻るという処理が発生しない。つまり、スライス523は、依存スライスとして認められない。なぜなら、通常スライス522は、タイルの開始位置ではなく、タイル内で始まるからである。
 よって、本実施の形態において、ヘッダを別のスライスに用いられるスライス(通常スライス)がタイルの先頭で始まらない場合、当該タイルの次に符号化されるタイルは、復号に別のスライスのヘッダを用いるスライス(依存スライス)から始まらない。
 このように、第2例では、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらない。つまり、第1タイルの2番目又はそれ以降のスライスのうち少なくとも一つが通常スライスである場合、第2タイルの先頭スライスは通常スライスである。
 例えば、図25Aに示すように、タイル1に含まれる通常スライス(3)が存在する場合、タイル2の先頭スライス(4)を依存スライスに設定することはできない。また、スライス(2)及びスライス(3)の少なくとも一方が通常スライスである場合には、スライス(4)を依存スライスに設定することはできない。よって、図25Bに示すように、スライス(4)を通常スライスに設定する必要がある。また、第2例では、図25Cに示すようなピクチャも認められる。
 本実施の形態の第3例では、タイルが依存スライスで始まる場合、完全なタイルが依存スライスに含まれる。つまり、復号に別のスライスのヘッダを用いるスライスからタイルが始まる場合、タイル全体が当該スライス内に含まれる。
 このように、第3例では、第3タイルの先頭が依存スライスである場合、当該依存スライスは第3タイル全体を含む。言い換えると、第3タイルは、一つの依存スライスのみを含む。例えば、図26Aに示すように、タイル2が依存スライス(4)で始まる場合、タイル2が複数のスライスを含むことは認められない。よって、図26Bに示すように、タイル2は、一つの依存スライス(4)のみを含む必要がある。
 本実施の形態の第4例では、tiles_enabled_flagが1と同等であり、スライス(通常スライス又は依存スライス)がタイルの真ん中で始まる場合、次に符号化されるタイルは依存スライスから始まらない。なお、ここで、「タイルの真ん中」は、実際の真ん中ではなく、スライスの一つ目のCTBがタイルの一つ目のCTBではないことを意味する。つまり、「タイルの真ん中」は、タイル内のことを意味する。
 つまり、スライスがタイルの先頭で始まらない場合、次に符号化されるタイルは、別のスライスのヘッダを用いるスライスから始まらない。言い換えると、第1タイルが、第1タイルの先頭以外から始まるスライスを含む場合(第1タイルが複数のスライスを含む場合)、第2タイルは依存スライスから始まらない。例えば、図27Aに示すように、タイル1が複数のタイルを含む場合には、タイル2の先頭スライス(4)を依存スライスに設定することは認められない。よって、図27Bに示すように、タイル2の先頭スライス(4)を通常スライスに設定する必要がある。
 なお、タイルに関連する本実施の形態及び他の実施の形態は組み合わせ可能であり、特定のルール及び制限を組み合わせてもよい。
 また、本実施の形態の別の例では、tiles_enabled_flagが1と同等の場合、依存スライスは許可されない。つまり、依存スライスを、WPPと一緒に用いることは認められるが、タイルと一緒に用いることは認められない。これにより、タイルを用いる場合の追加的な問題を回避できる。つまり、タイルを用いる場合、スライスが、他のスライスのヘッダを復号に用いることはない。
 また、上記制限の適用に加えて、又は、その代わりに、依存スライスが有効で、WPP及びタイルの何れかが有効な場合、上記制限を示すインジケータをビットストリームに埋め込んでもよい。例えば、このインジケータはSPS又はPPSに埋め込まれる。なお、このインジケータは、SEIメッセージなどの別のメッセージ又は任意のビデオ・ユーザビリティ情報(VUI)メッセージに埋め込まれてもよい。
 このインジケータに基づいて、画像復号装置は、適用される制限を把握する。例えば、この制限は、タイルの先頭(又は、WPPの場合は、LCU行の先頭)のみで通常スライスが始まってもよいという制限である。なお、これは、制限の一例にすぎず、上記の制限の何れか、又は、これらの制限の組み合わせ、又は、明示的に記載されていない追加の制限を適用してもよい。
 例えば、このインジケータは、所定の制限に対し、当該制限を適用するか否かを示す、1ビットのフラグであってもよい。また、選択可能な複数の制限があってもよく、選択された制限を示す情報がビットストリームに含まれて画像復号装置に信号伝達される。つまり、上述した例のように明示的に使用を制限するのではなく、画像符号化装置がそのような制限を用いることを画像復号装置に知らせてもよい。したがって、制限に関連する上記例のいずれを適用してもよい。
 このように、本発明の一態様に係る画像復号方法は、ピクチャの分割が制限されていることを示す制限インジケータをビットストリームから取得するステップを含む。また、本発明の一態様に係る画像符号化方法は、ピクチャの分割が制限されていることを示す制限インジケータをビットストリームに埋め込むステップを含む。
 なお、インジケータを追加するか否かを、WPP又はタイルが有効化どうかによって決定しなくてもよい。また、インジケータを追加する場合に、依存スライスを有効化しなくてもよい。つまり、依存スライスの利用の有効及び無効に係らず、インジケータを追加してもよい。
 また、対象スライスの親スライスがタイルの先頭で始まることを示すインジケータをビットストリームに追加してもよい。つまり、本発明の一態様に係る画像復号方法は、依存スライスにスライスヘッダが用いられる親スライスがタイル先頭から始まるか否かを示すインジケータをビットストリームから取得するステップを含む。また、本発明の一態様に係る画像符号化方法は、依存スライスにスライスヘッダが用いられる親スライスがタイル先頭から始まるか否かを示すインジケータをビットストリームに埋め込むステップを含む。
 また、ピクチャに含まれる全てのスライスが同一のスライスヘッダを用いることを示すインジケータをビットストリームに追加してもよい。つまり、このインジケータは、通常スライスのヘッダに存在し、かつ依存スライスのヘッダに存在しないシンタックス要素全てが、ピクチャに含まれる全てのスライスに対して同一であることを示す。
 このように、ピクチャの分割が所定のルールにより制限されたことを示す制限インジケータがビットストリームに含まれてもよい。
 また、対象スライスの親スライスがタイルの先頭で始まるか否かを示すインジケータが、ビットストリームに埋め込まれてもよい。ここで、親スライスのヘッダは、対象スライスに用いられる。
 また、本発明の一態様に係る画像復号方法は、画像が複数のタイルに分割されるとともに複数のスライスに分割されて符号化された符号化信号を含むビットストリームを復号する画像復号方法であって、前記符号化信号を復号する復号ステップを含む。また、本発明の一態様に係る画像符号化方法は、画像を複数のタイルを分割するとともに複数のスライスに分割して符号化することでビットストリームを生成する画像符号化方法であって、画像を複数のタイルに分割するとともに複数のスライスに分割する分割ステップと、分割された複数のタイル及び複数のスライスを符号化する符号化ステップとを含む。
 また、複数のスライスの各々は、通常スライスと、依存スライスとのいずれかである。通常スライスは、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる可能性があるスライスである。依存スライスは、復号に別のスライスのスライスヘッダに含まれる情報を用いるスライスである。ここで、別のスライスとは、例えば、依存スライスの前に位置し、かつ最も近い通常スライスである。
 また、分割ステップでは、上述した制限の1つ又は複数が満たされるように、画像を複数のタイルに分割するとともに複数のスライスに分割する。
 また、復号ステップでは、第1タイル及び第2タイルを並列復号し、第2タイルの復号を開始する際に、第1タイルにおけるスライス構造を示す分割情報を参照せずに、第2タイルを復号してもよい。また、分割ステップでは、画像復号装置において第1タイル及び第2タイルを並列復号する場合において、当該画像復号装置が第2タイルの復号を開始する際に、第1タイルにおけるスライス構造を示す分割情報を参照せずに、第2タイルを復号できるように画像を複数のタイルに分割するとともに複数のスライスに分割してもよい。
 ここで分割情報とは、例えば、スライス位置(先頭位置)又はスライスヘッダの位置を示す情報である。画像復号装置は、この分割情報を参照することで、上述した処理対象のタイルをジャンプする処理を行う。
 また、上述したようにスライスヘッダに、当該スライスが通常スライスである依存スライスであるかを示す情報(dependent_slice_flag)が含まれる。つまり、画像復号方法は、スライスが通常スライスであるか依存スライスであるかを示す情報をスライスヘッダから取得するステップを含む。また、画像符号化方法は、スライスが通常スライスであるか依存スライスであるかを示す情報をスライスヘッダに埋め込むステップを含む。
 また、WPPの場合に上記で検討したのと同一の問題がタイルにも起こる。よって、上記の解決策をタイルにも適用できる。WPPの代わりにタイルが有効化される場合、並列処理される部分は、LCU行ではなく、LCUで構成されるタイルである。つまり、上述した解決策は、LCU行をタイルに置き換えることで、タイルにそのまま利用可能である。
 上述したように、ビットストリームは、通常スライス及び依存スライスを含んでもよく、これらの復号は通常スライスのスライスヘッダにおいて信号伝達されるパラメータに基づく。
 本発明の一態様では、通常スライスがタイルの開始位置で始まらない場合、通常スライスに依存する依存スライスは、当該通常スライスに続くことができないという制限が適用される。
 また、本発明の一態様では、画像に含まれる1番目のスライスのみを通常スライスとし、残りのスライスを依存スライスとするように、画像をスライスに分割するという制限を適用する。
 また、各依存スライスの算術復号部が親スライスのスライスヘッダを使用することで、スライスの依存性が生じる。
 また、本発明の一態様では、依存スライスの適用が可能な場合、制限インジケータがビットストリームに埋め込まれる。当該依存スライスは、符号化画像データを含み、別のスライスのヘッダのパラメータを用いるスライスである。
 また、制限は、上述したどの制限でも、そのような制限の組み合わせでも、上で例示した制限以外の制限であってもよい。
 また、本発明の一態様に係る装置は、少なくとも部分的に算術符号で符号化された、複数の画像スライス及び複数の画像タイルを含む符号化映像シーケンスのビットストリームを復号する装置であって、スライスの算術復号の確率モデルが所定値で初期化されるか否かを示す初期化インジケータを、前記ビットストリームの前記スライス用のデータから抽出する解析部と、前記初期化インジケータに従い、前記所定値で算術復号用の前記確率モデルを初期化するか否かを制御する制御部と、算術復号を行うことにより、前記スライスを復号する算術復号部とを備える。
 また、本発明の一態様に係る装置は、複数の画像スライスを含む映像シーケンスを少なくとも部分的に算術符号で符号化し、ビットストリームを生成する装置であって、スライスの算術復号の確率モデルが所定値で初期化されるか否かを示す初期化インジケータを、前記ビットストリームデータの前記スライス用のデータへ埋め込むビットストリーム生成部と、前記初期化インジケータに従い、前記所定値で算術符号化用の前記確率モデルを初期化するか否かを制御する制御部と、算術符号化を行うことにより、前記スライスを符号化する算術符号化部とを備える。
 例えば、前記初期化インジケータは、前記スライスのヘッダデータに埋め込まれる。
 例えば、この初期化インジケータは、1ビットフラグである。当該1ビットフラグにおいて、「1」は算術復号の確率モデルが所定値で初期化されることを示し、「0」は算術復号の確率モデルが別の方法で初期化されることを示す。
 例えば、画像の画素ブロックに対応する符号化単位に画像のスライスを分割してもよく、スライスが、別のスライスのヘッダのパラメータを用いるスライスである依存スライスの場合のみ、解析部は、ヘッダデータにおける初期化インジケータを抽出してもよい。
 例えば、タイルの並列復号が可能な場合のみ、解析部は、ヘッダデータの初期化インジケータを抽出してもよい。または、スライスがタイルの先頭で始まる場合のみ、解析部は、ヘッダデータの初期化インジケータを抽出してもよい。
 例えば、初期化インジケータは、スライスヘッダの外のSEIメッセージに埋め込まれる。
 なお、上記説明で用いた「スライス(通常スライス又は依存スライス)」は、「スライスセグメント(通常スライスセグメント又は依存スライスセグメント)」と呼ばれる場合もある。この場合、1以上の連続するスライスセグメントを含む単位を「スライス」と呼ぶ。具体的には、一つのスライスは、一つの通常スライスセグメントと、当該通常スライスセグメントの後に連続する1以上の依存スライスセグメントとを含む。つまり、ある通常スライスセグメントの直後が通常スライスセグメントである場合、スライスは当該通常スライスセグメントのみを含む。また、ある通常スライスセグメントの直後に1以上の依存スライスセグメントが連続する場合、スライスは、当該通常スライスセグメントと、当該1以上の依存スライスセグメントとを含む。つまり、通常スライスセグメントから、次の通常スライスセグメントの直前の依存スライスセグメントまでが、一つのスライスに含まれる。
 また、このような定義を用いた場合、上述したタイルとスライスとの制限は、以下の定義に対応するといえる。
 以下の二つの条件のうち少なくとも一方が満たされる必要がある。(1)あるスライスに含まれる全ての符号化ツリー単位は同じタイルに属する。(2)あるタイルに含まれる全ての符号化ツリー単位は同じスライスに属する。
 ここで符号化ツリー単位とは、上述したLCU及び符号化ツリーブロックと同様の意味である。
 また、以下の二つの条件のうち少なくとも一方が満たされる必要がある。(1)あるスライスセグメントに含まれる全ての符号化ツリー単位は同じタイルに属する。(2)あるタイルに含まれる全ての符号化ツリー単位は同じスライスセグメントに属する。
 以上、実施の形態に係る画像符号化方法に及び画像復号方法ついて説明したが、本発明は、この実施の形態に限定されるものではない。
 上記画像符号化方法及び画像復号方法は、画像符号化装置及び画像復号装置により実現される。また、画像符号化装置及び画像復号装置の構成は、例えば、図1及び図2に示す構成と同様であり、上記画像符号化方法及び画像復号方法に含まれる特徴的なステップは、図1及び図2に図示するいずれかの処理部、又は、図示しない処理部により実行される。
 また、上記実施の形態に係る画像符号化装置及び画像復号装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 言い換えると、画像符号化装置及び画像復号装置は、制御回路(control circuitry)と、当該制御回路に電気的に接続された(当該制御回路からアクセス可能な)記憶装置(storage)とを備える。制御回路は、専用のハードウェア及びプログラム実行部の少なくとも一方を含む。また、記憶装置は、制御回路がプログラム実行部を含む場合には、当該プログラム実行部により実行されるソフトウェアプログラムを記憶する。
 さらに、本発明は上記ソフトウェアプログラムであってもよいし、上記プログラムが記録された非一時的なコンピュータ読み取り可能な記録媒体であってもよい。また、上記プログラムは、インターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
 また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 また、上記の画像符号化方法又は画像復号方法に含まれるステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
 以上、本発明の一つ又は複数の態様に係る画像符号化装置及び画像復号装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の一つ又は複数の態様の範囲内に含まれてもよい。
 (実施の形態5)
 上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
 図28は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図28のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
 カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標)(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
 コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の一態様に係る画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
 なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
 また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
 なお、コンテンツ供給システムex100の例に限らず、図29に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
 また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
 図30は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
 また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の一態様に係る画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
 まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図31に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
 以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図32に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
 以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
 また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図30に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
 図33Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
 さらに、携帯電話ex114の構成例について、図33Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
 電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
 携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
 さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
 データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の一態様に係る画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
 多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
 データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の一態様に係る画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
 また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態6)
 上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
 ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
 この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図34は、多重化データの構成を示す図である。図34に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、または、リニアPCMのなどの方式で符号化されている。
 多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
 図35は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図36は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図36における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図36の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 図37は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD-ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図37下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
 また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
 図38はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
 記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
 多重化データ情報ファイルは、図39に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
 多重化データ情報は図39に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
 ストリーム属性情報は図40に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
 本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
 また、本実施の形態における動画像復号化方法のステップを図41に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
 このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
 (実施の形態7)
 上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図42に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。このようなプログラマブル・ロジック・デバイスは、典型的には、ソフトウェア又はファームウェアを構成するプログラムを、ロードする又はメモリ等から読み込むことで、上記各実施の形態で示した動画像符号化方法、又は動画像復号化方法を実行することができる。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (実施の形態8)
 上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
 この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図43は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
 より具体的には、駆動周波数切替え部ex803は、図42のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図42の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態6で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態6で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図45のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
 図44は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
 さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
 また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4-AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
 さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
 このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
 (実施の形態9)
 テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
 この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図46Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、ピクチャの分割処理に特徴を有していることから、例えば、ピクチャの分割処理については専用の復号処理部ex901を用い、それ以外の逆量子化、エントロピー復号、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
 また、処理を一部共有化する他の例を図46Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
 このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
 本発明は、画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置に適用できる。また、本発明は、画像符号化装置を備える、テレビ、デジタルビデオレコーダー、カーナビゲーション、携帯電話、デジタルカメラ、及びデジタルビデオカメラ等の高解像度の情報表示機器又は撮像機器に利用可能である。
 100 画像符号化装置
 101 入力画像信号
 105 減算器
 106 残差信号
 110 変換部
 111 変換係数
 120 量子化部
 121、291 量子化係数
 130、230 逆変換部
 131、231 残差信号
 140、240 加算器
 141、151、161、171、241、251、261、271 復号画像信号
 150、250 デブロッキングフィルタ
 160、260 適応的ループフィルタ
 170、270 参照フレームバッファ
 180、280 予測部
 181、281 予測信号
 190 エントロピー符号化部
 191、201 符号化信号
 200 画像復号装置
 290 エントロピー復号部
 300、310、330、340、350、360、370、390、400、410、420、500 ピクチャ
 301、302、311、312、313、314、321、381 行
 320、380 スライスヘッダ
 331、332、333、341、342、343、344、351、354、361、362、363、364、365、371、372、373、374、391、392、393、394、401、402、403、404、411、412、413、414、415、421、422、423、424、521、522、523、524 スライス
 501、502、511、512 タイル
 513 境界

Claims (19)

  1.  画像が複数のタイルに分割されるとともに複数のスライスに分割されて符号化された符号化信号を含むビットストリームを復号する画像復号方法であって、
     前記符号化信号を復号する復号ステップを含み、
     前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、
     通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらない
     画像復号方法。
  2.  前記復号ステップでは、
     前記第1タイル及び前記第2タイルを並列復号し、
     前記第2タイルの復号を開始する際に、前記第1タイルにおけるスライス構造を示す分割情報を参照せずに、前記第2タイルを復号する
     請求項1記載の画像復号方法。
  3.  第3タイルの先頭が前記依存スライスである場合、当該依存スライスは前記第3タイル全体を含む
     請求項1又は2記載の画像復号方法。
  4.  前記第1タイルが、前記第1タイルの先頭以外から始まるスライスを含む場合、前記第2タイルは依存スライスから始まらない
     請求項1~3のいずれか1項に記載の画像復号方法。
  5.  前記画像復号方法は、さらに、
     スライスが通常スライスであるか依存スライスであるかを示す情報をスライスヘッダから取得するステップを含む
     請求項1~4のいずれか1項に記載の画像復号方法。
  6.  前記画像の先頭スライスは通常スライスであり、他の全てのスライスは依存スライスである
     請求項1~5のいずれか1項に記載の画像復号方法。
  7.  前記画像復号方法は、さらに、
     ピクチャの分割が制限されていることを示す制限インジケータを前記ビットストリームから取得するステップを含む
     請求項1~6のいずれか1項に記載の画像復号方法。
  8.  前記画像復号方法は、さらに、
     前記依存スライスにスライスヘッダが用いられる親スライスがタイル先頭から始まるか否かを示すインジケータを前記ビットストリームから取得するステップを含む
     請求項1~7のいずれか1項に記載の画像復号方法。
  9.  画像を複数のタイルに分割するとともに複数のスライスに分割して符号化することでビットストリームを生成する画像符号化方法であって、
     前記画像を複数のタイルに分割するとともに複数のスライスに分割する分割ステップと、
     分割された複数のタイル及び複数のスライスを符号化する符号化ステップとを含み、
     前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、
     前記分割ステップでは、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらないように、前記画像を複数のタイルに分割するとともに複数のスライスに分割する
     画像符号化方法。
  10.  前記分割ステップでは、
     画像復号装置において前記第1タイル及び前記第2タイルを並列復号する場合において、当該画像復号装置が前記第2タイルの復号を開始する際に、前記第1タイルにおけるスライス構造を示す分割情報を参照せずに、前記第2タイルを復号できるように前記画像を前記複数のタイル及び前記複数のスライスに分割する
     請求項9記載の画像符号化方法。
  11.  前記分割ステップでは、第3タイルの先頭が前記依存スライスである場合、当該依存スライスは前記第3タイル全体を含むように、前記画像を複数のタイルに分割するとともに複数のスライスに分割する
     請求項9又は10記載の画像符号化方法。
  12.  前記分割ステップでは、前記第1タイルが、前記第1タイルの先頭以外から始まるスライスを含む場合、前記第2タイルは依存スライスから始まらないように、前記画像を複数のタイルに分割するとともに複数のスライスに分割する
     請求項9~11のいずれか1項に記載の画像符号化方法。
  13.  前記画像符号化方法は、さらに、
     スライスが通常スライスであるか依存スライスであるかを示す情報をスライスヘッダに埋め込むステップを含む
     請求項9~12のいずれか1項に記載の画像符号化方法。
  14.  前記画像の先頭スライスは通常スライスであり、他の全てのスライスは依存スライスである
     請求項9~13のいずれか1項に記載の画像符号化方法。
  15.  前記画像符号化方法は、さらに、
     ピクチャの分割が制限されていることを示す制限インジケータを前記ビットストリームに埋め込むステップを含む
     請求項9~14のいずれか1項に記載の画像符号化方法。
  16.  前記画像符号化方法は、さらに、
     前記依存スライスにスライスヘッダが用いられる親スライスがタイル先頭から始まるか否かを示すインジケータを前記ビットストリームに埋め込むステップを含む
     請求項9~15のいずれか1項に記載の画像符号化方法。
  17.  画像が複数のタイルに分割されるとともに複数のスライスに分割されて符号化された符号化信号を含むビットストリームを復号する画像復号装置であって、
     前記符号化信号を復号する復号部を備え、
     前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、
     通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらない
     画像復号装置。
  18.  画像を複数のタイルに分割するとともに複数のスライスに分割して符号化することでビットストリームを生成する画像符号化装置であって、
     前記画像を複数のタイルに分割するとともに複数のスライスに分割する分割部と、
     分割された複数のタイル及び複数のスライスを符号化する符号化部とを備え、
     前記複数のスライスの各々は、当該スライスのスライスヘッダに含まれる情報が別のスライスに用いられる通常スライスと、復号に別のスライスのスライスヘッダに含まれる情報が用いられる依存スライスとのいずれかであり、
     前記分割部は、通常スライスが第1タイルの先頭以外から始まる場合、当該第1タイルの次に符号化された第2タイルは依存スライスから始まらないように、前記画像を複数のタイルを分割するとともに複数のスライスに分割する
     画像符号化装置。
  19.  請求項18記載の画像符号化装置と、
     請求項17記載の画像復号装置とを備える
     画像符号化復号装置。
PCT/JP2013/005269 2012-09-26 2013-09-05 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 WO2014049980A1 (ja)

Priority Applications (15)

Application Number Priority Date Filing Date Title
JP2014514656A JP5608839B2 (ja) 2012-09-26 2013-09-05 画像復号方法、及び画像復号装置
RU2015106415A RU2639679C2 (ru) 2012-09-26 2013-09-05 Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения
ES13842930T ES2915051T3 (es) 2012-09-26 2013-09-05 Procedimiento de codificación de imágenes, procedimiento de decodificación de imágenes
PL13842930.3T PL2903270T3 (pl) 2012-09-26 2013-09-05 Sposób kodowania obrazów, sposób dekodowania obrazów
MYPI2015000472A MY182530A (en) 2012-09-26 2013-09-05 Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
BR112015004216-3A BR112015004216B1 (pt) 2012-09-26 2013-09-05 Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação de imagem
MX2015002891A MX345003B (es) 2012-09-26 2013-09-05 Metodo de decodificacion de imagen, metodo de codificacion de imagen, aparato de decodificacion de imagen, aparato de codificacion de imagen y aparato de codificacion y decodificacion de imagen.
EP13842930.3A EP2903270B1 (en) 2012-09-26 2013-09-05 Image encoding method, image decoding method
CA2882731A CA2882731C (en) 2012-09-26 2013-09-05 Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP22161531.3A EP4033764B1 (en) 2012-09-26 2013-09-05 Image encoding apparatus, image decoding apparatus and storage medium
EP23172593.8A EP4224858A1 (en) 2012-09-26 2013-09-05 Image encoding computer program, image decoding computer program and storage medium
CN201380044687.2A CN104584555B (zh) 2012-09-26 2013-09-05 图像解码方法、图像解码装置
AU2013322041A AU2013322041B2 (en) 2012-09-26 2013-09-05 Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
SG11201501400QA SG11201501400QA (en) 2012-09-26 2013-09-05 Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
KR1020157004659A KR101918808B1 (ko) 2012-09-26 2013-09-05 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261705891P 2012-09-26 2012-09-26
US61/705,891 2012-09-26

Publications (1)

Publication Number Publication Date
WO2014049980A1 true WO2014049980A1 (ja) 2014-04-03

Family

ID=50338836

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/005269 WO2014049980A1 (ja) 2012-09-26 2013-09-05 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置

Country Status (17)

Country Link
US (9) US9036697B2 (ja)
EP (3) EP2903270B1 (ja)
JP (2) JP5608839B2 (ja)
KR (1) KR101918808B1 (ja)
CN (2) CN108881921B (ja)
AR (1) AR092660A1 (ja)
AU (1) AU2013322041B2 (ja)
BR (1) BR112015004216B1 (ja)
CA (1) CA2882731C (ja)
ES (2) ES2962366T3 (ja)
MX (1) MX345003B (ja)
MY (1) MY182530A (ja)
PL (2) PL4033764T3 (ja)
RU (1) RU2639679C2 (ja)
SG (1) SG11201501400QA (ja)
TW (1) TWI580255B (ja)
WO (1) WO2014049980A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100798188B1 (ko) * 2002-04-16 2008-01-24 도요 세이칸 가부시키가이샤 커버용 밀봉재 및 이를 사용한 커버의 제조방법
US9621905B2 (en) * 2012-06-29 2017-04-11 Qualcomm Incorporated Tiles and wavefront parallel processing
ES2962366T3 (es) * 2012-09-26 2024-03-18 Sun Patent Trust Aparato de codificación de imágenes, aparato de decodificación de imágenes y medio de almacenamiento
WO2014050038A1 (ja) * 2012-09-26 2014-04-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および、画像符号化復号装置
GB2519745B (en) * 2013-10-22 2018-04-18 Canon Kk Method of processing disordered frame portion data units
CN106210729A (zh) * 2015-05-06 2016-12-07 扬智科技股份有限公司 视频流解码系统及视频流解码方法
US10027989B2 (en) * 2015-05-06 2018-07-17 Integrated Device Technology, Inc. Method and apparatus for parallel decoding
CN106331722B (zh) 2015-07-03 2019-04-26 华为技术有限公司 图像预测方法和相关设备
US20170105010A1 (en) * 2015-10-09 2017-04-13 Microsoft Technology Licensing, Llc Receiver-side modifications for reduced video latency
CN107301621B (zh) * 2017-06-13 2020-06-16 东南大学 一种提高数字图像分辨率的方法
KR20190024212A (ko) * 2017-08-31 2019-03-08 세종대학교산학협력단 타일 구조의 구성 방법 및 이의 장치
CN111771379B (zh) 2018-01-25 2022-10-11 弗劳恩霍夫应用研究促进协会 有效子图片提取
JP6982253B2 (ja) * 2018-10-31 2021-12-17 日本電信電話株式会社 復号装置、符号化装置、復号方法、符号化方法、及びプログラム
JPWO2020116630A1 (ja) * 2018-12-07 2021-10-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 復号装置及び復号方法
CN113228671B (zh) 2018-12-28 2022-12-02 华为技术有限公司 通过将图像划分成包括图块的条带对图像进行译码的设备和方法及计算机可读存储介质
EP3935835A4 (en) * 2019-03-08 2022-12-14 Telefonaktiebolaget Lm Ericsson (Publ) METHODS OF PROVIDING DEPENDENT/INDEPENDENT SCORE ENCODING/DECODING AND ASSOCIATED DEVICES
CN113785575A (zh) * 2019-03-21 2021-12-10 佳稳电子有限公司 处理图片分割的影像编码方法、影像解码方法及其装置
CN118474378A (zh) * 2019-05-21 2024-08-09 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法、解码方法和非暂时性的计算机可读取介质
CN113875249A (zh) * 2019-09-20 2021-12-31 韩国电子通信研究院 图像编码/解码方法和设备以及存储比特流的记录介质
WO2021087843A1 (en) * 2019-11-07 2021-05-14 Intel Corporation Heterogeneous real-time streaming and decoding of ultra-high resolution video content
KR102708658B1 (ko) 2019-12-26 2024-09-24 바이트댄스 아이엔씨 비디오 코딩에서의 프로필, 티어 및 계층 표시
JP7425878B2 (ja) 2019-12-26 2024-01-31 バイトダンス インコーポレイテッド レイヤ化されたビデオにおける復号ピクチャバッファパラメータのシグナリング
WO2021134054A1 (en) 2019-12-27 2021-07-01 Bytedance Inc. Subpicture signaling in video coding
JP7428808B2 (ja) 2020-01-09 2024-02-06 バイトダンス インコーポレイテッド 高レベルシンタックス指示のシグナリング
CN116195256A (zh) * 2020-03-20 2023-05-30 寰发股份有限公司 图片和视频编解码中以信号通知片和切片分区信息的方法和装置
CN111726626B (zh) * 2020-06-18 2022-05-03 格兰菲智能科技有限公司 集成电路及用于视频解码的概率表存储方法
US20220180567A1 (en) * 2020-12-04 2022-06-09 Tencent America LLC Method and apparatus for point cloud coding
US11611775B2 (en) 2021-01-19 2023-03-21 Tencent America LLC Method and apparatus for point cloud coding

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12016A (en) * 1854-11-28 Improvement in machinery for making rope and cordage
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
CA2633637C (en) * 2006-01-05 2014-06-17 Nippon Telegraph And Telephone Corporation Video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs
US9313515B2 (en) * 2007-05-16 2016-04-12 Thomson Licensing Methods and apparatus for the use of slice groups in encoding multi-view video coding (MVC) information
US8705879B2 (en) * 2009-04-01 2014-04-22 Microsoft Corporation Image compression acceleration using multiple processors
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
US10244239B2 (en) * 2010-12-28 2019-03-26 Dolby Laboratories Licensing Corporation Parameter set for picture segmentation
US9300976B2 (en) * 2011-01-14 2016-03-29 Cisco Technology, Inc. Video encoder/decoder, method and computer program product that process tiles of video data
US9325999B2 (en) * 2011-03-10 2016-04-26 Sharp Kabushiki Kaisha Video decoder for slices
US20120230399A1 (en) * 2011-03-10 2012-09-13 Christopher Andrew Segall Video decoder parallelization including a bitstream signal
GB2488830B (en) * 2011-03-10 2015-07-29 Canon Kk Method and device for encoding image data and method and device for decoding image data
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
JP2013098735A (ja) * 2011-10-31 2013-05-20 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
US9077998B2 (en) 2011-11-04 2015-07-07 Qualcomm Incorporated Padding of segments in coded slice NAL units
US9124895B2 (en) 2011-11-04 2015-09-01 Qualcomm Incorporated Video coding with network abstraction layer units that include multiple encoded picture partitions
SG10201505819XA (en) * 2012-01-30 2015-09-29 Samsung Electronics Co Ltd Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area
DK2866439T3 (da) * 2012-06-26 2020-12-14 Lg Electronics Inc Videodekodningsfremgangsmåde og videokodningsfremgangsmåde
ES2962366T3 (es) * 2012-09-26 2024-03-18 Sun Patent Trust Aparato de codificación de imágenes, aparato de decodificación de imágenes y medio de almacenamiento

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
"High efficiency video coding (HEVC) text specification draft 8", JCTVC-J1003_D7, July 2012 (2012-07-01)
A. FULDSETH ET AL.: "Tiles", JCTVC-F355-VL, FROM THE MEETING IN TORINO, July 2011 (2011-07-01)
C. GORDON ET AL.: "Wavefront Parallel Processing for HEVC Encoding and Decoding", JCTVC-F274-V2, FROM THE MEETING IN TORINO, July 2011 (2011-07-01)
M. ALVAREZ-MESA ET AL.: "Parallel video decoding in the emerging HEVC standard", 2012 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (ICASSP), March 2012 (2012-03-01), pages 1545 - 1548, XP032227426 *
MUHAMMED COBAN ET AL.: "On tiles and wavefront parallel processing", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JCTVC-J0123, 10TH MEETING, July 2012 (2012-07-01), STOCKHOLM, SE, pages 1 - 6, XP030053779 *
See also references of EP2903270A4
SEMIH ESENLIK ET AL.: "AHG4: Dependent slices restriction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/ IEC JTC 1/SC 29/WG 11, JCTVC-K0183, LLTH MEETING, October 2012 (2012-10-01), SHANGHAI, CN, pages 1 - 6, XP030113065 *
T. SCHIERL: "Dependent Slices", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JCTVC-I0229R1, 9TH MEETING, April 2012 (2012-04-01), GENEVA, CH, pages 1 - 8, XP030111992 *
TAMMY LEE ET AL.: "On dependent slices", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/ IEC JTC 1/SC 29/WG 11, JCTVC-J0217_RL, 10TH MEETING, July 2012 (2012-07-01), STOCKHOLM, SE, pages 1 - 7, XP030112579 *

Also Published As

Publication number Publication date
CA2882731C (en) 2018-10-09
MY182530A (en) 2021-01-25
US11871019B2 (en) 2024-01-09
CN104584555B (zh) 2018-07-17
US20160142719A1 (en) 2016-05-19
US9948942B2 (en) 2018-04-17
PL4033764T3 (pl) 2023-12-27
US20180199049A1 (en) 2018-07-12
AR092660A1 (es) 2015-04-29
US20150215628A1 (en) 2015-07-30
CA2882731A1 (en) 2014-04-03
JP5608839B2 (ja) 2014-10-15
US20140086305A1 (en) 2014-03-27
CN108881921B (zh) 2021-01-12
US9036697B2 (en) 2015-05-19
BR112015004216A2 (pt) 2017-07-04
RU2015106415A (ru) 2016-11-20
US9414077B2 (en) 2016-08-09
EP2903270A1 (en) 2015-08-05
EP4033764B1 (en) 2023-07-19
ES2962366T3 (es) 2024-03-18
US20160142724A1 (en) 2016-05-19
JP2015005997A (ja) 2015-01-08
EP2903270B1 (en) 2022-04-27
MX2015002891A (es) 2015-06-03
BR112015004216A8 (pt) 2017-07-11
MX345003B (es) 2017-01-13
JPWO2014049980A1 (ja) 2016-08-22
SG11201501400QA (en) 2015-04-29
EP2903270A4 (en) 2015-10-28
KR20150060676A (ko) 2015-06-03
TW201419870A (zh) 2014-05-16
US10992944B2 (en) 2021-04-27
US20240089480A1 (en) 2024-03-14
KR101918808B1 (ko) 2018-11-14
US20210211702A1 (en) 2021-07-08
US10397593B2 (en) 2019-08-27
US9602825B2 (en) 2017-03-21
EP4224858A1 (en) 2023-08-09
US20190335188A1 (en) 2019-10-31
AU2013322041B2 (en) 2017-03-09
CN104584555A (zh) 2015-04-29
TWI580255B (zh) 2017-04-21
US20170111648A1 (en) 2017-04-20
EP4033764A1 (en) 2022-07-27
BR112015004216B1 (pt) 2023-01-17
PL2903270T3 (pl) 2022-08-29
ES2915051T3 (es) 2022-06-20
US9277229B2 (en) 2016-03-01
JP6191920B2 (ja) 2017-09-06
AU2013322041A1 (en) 2015-03-05
RU2639679C2 (ru) 2017-12-21
CN108881921A (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
JP6558784B2 (ja) 方法、装置、および媒体
JP6191920B2 (ja) 画像符号化方法、及び画像符号化装置
JP6124221B2 (ja) 画像復号方法、画像符号化方法、画像復号装置及び画像符号化装置

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2014514656

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 13842930

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2013842930

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2882731

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 20157004659

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2013322041

Country of ref document: AU

Date of ref document: 20130905

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: MX/A/2015/002891

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112015004216

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2015106415

Country of ref document: RU

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112015004216

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20150226