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

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

Info

Publication number
WO2013001765A1
WO2013001765A1 PCT/JP2012/004061 JP2012004061W WO2013001765A1 WO 2013001765 A1 WO2013001765 A1 WO 2013001765A1 JP 2012004061 W JP2012004061 W JP 2012004061W WO 2013001765 A1 WO2013001765 A1 WO 2013001765A1
Authority
WO
WIPO (PCT)
Prior art keywords
context
unit
type
block
control parameter
Prior art date
Application number
PCT/JP2012/004061
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 RU2013152159/08A priority Critical patent/RU2602671C2/ru
Priority to AU2012277215A priority patent/AU2012277215B2/en
Priority to EP12804513.5A priority patent/EP2728867A4/en
Priority to JP2013522740A priority patent/JP5933546B2/ja
Priority to CN201280025470.2A priority patent/CN103563377B/zh
Priority to CA2837535A priority patent/CA2837535C/en
Priority to BR122022013246-4A priority patent/BR122022013246B1/pt
Priority to MX2013012980A priority patent/MX2013012980A/es
Priority to EP23196609.4A priority patent/EP4300956A1/en
Priority to KR1020137031181A priority patent/KR102062284B1/ko
Priority to BR112013030181-3A priority patent/BR112013030181B1/pt
Publication of WO2013001765A1 publication Critical patent/WO2013001765A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264

Definitions

  • the present invention relates to an image decoding method, an image encoding method, an image decoding device, an image encoding device, and an image encoding / decoding device, and in particular, an image decoding method, an image encoding method, and an image decoding using arithmetic coding or arithmetic decoding.
  • the present invention relates to a device, an image encoding device, and an image encoding / decoding device.
  • CABAC Context-Based Adaptive Binary Arithmetic Coding
  • Context-Based Adaptive (adapting based on context) is to adapt the encoding and decoding methods to fluctuations in statistical bias. That is, “Context-Based Adaptive” can be said to predict an appropriate probability as an occurrence probability of a symbol in accordance with an occurrence event of a surrounding condition when a certain symbol is encoded or decoded. For example, in encoding, when the occurrence probability p (x) of each value of a certain symbol S is determined, a conditional occurrence probability on the condition of an actually occurred event or a sequence of events F (z) is used.
  • Bin string means that symbols are expressed in binary array. Symbols expressed in multiple values are once transformed into a binary array called bin string. Then, while switching and using the prediction probability (conditional probability) for each array element, it is converted into a bit string which of two value events has occurred. As a result, the probability of the value can be managed (initialized and updated) in a unit (binary element unit) that is more detailed than the unit of the signal type (see Fig. 2 in Non-Patent Document 1).
  • “arithmetic” means that the above-described bit string generation processing is output by calculation instead of correspondence by a table.
  • arithmetic means that the above-described bit string generation processing is output by calculation instead of correspondence by a table.
  • the coding method using the variable length code table in H.263, MPEG-4 and H.264 even if the occurrence probability is a symbol having an occurrence probability higher than 0.5 (50%), Each needs to correspond to one binary string (bit string). Therefore, even for the value with the highest probability, one bit must be associated with one symbol at the shortest.
  • arithmetic coding can express the occurrence of an event with a high probability with an integer value of 1 bit or less.
  • JCT-VC Joint Collaborative Team on 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 reduce the memory usage.
  • an image decoding method is an image decoding method using arithmetic decoding, wherein a context control step for determining a context to be used for a processing target block among a plurality of contexts An arithmetic decoding step of restoring a binary array by arithmetically decoding a bit string corresponding to the processing target block obtained by arithmetically encoding a control parameter using the determined context; A multi-leveling step of restoring the control parameter by multi-leveling the binary array, wherein the context control step determines a signal type of the control parameter of the block to be processed, and the signal type is In the case of one type, the decoded control parameters of the left block and the upper block adjacent to the processing target block
  • the context is determined using a first condition that uses both the first and second data, and when the signal type is a second type different from the first type, a second control parameter that does not use the decoded control parameter of the upper block is used.
  • the context is determined using a first condition that uses both the first
  • the present invention can provide an image encoding method or an image decoding method capable of reducing the memory usage.
  • FIG. 1 is a functional block diagram of an image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a functional block diagram of the variable length coding unit according to Embodiment 1 of the present invention.
  • FIG. 3 is a table relating to the context model of the control parameter according to Embodiment 1 of the present invention.
  • FIG. 4 is a flowchart showing the arithmetic coding method according to Embodiment 1 of the present invention.
  • FIG. 5 is a functional block diagram of an image decoding apparatus according to Embodiment 2 of the present invention.
  • FIG. 6 is a functional block diagram of the variable length decoding unit according to Embodiment 2 of the present invention.
  • FIG. 1 is a functional block diagram of an image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 2 is a functional block diagram of the variable length coding unit according to Embodiment 1 of the present invention.
  • FIG. 3 is a table relating to the context model
  • FIG. 7 is a flowchart showing the arithmetic decoding method according to Embodiment 2 of the present invention.
  • FIG. 8 is a flowchart showing a modification of the arithmetic decoding method according to Embodiment 2 of the present invention.
  • FIG. 9 is a diagram showing divided blocks (tree structure) in HEVC according to Embodiment 2 of the present invention.
  • FIG. 10 is a diagram for explaining a multi-level block structure according to Embodiment 2 of the present invention.
  • FIG. 11 is a table showing a split_coding_unit_flag arithmetic decoding method according to Embodiment 3 of the present invention.
  • FIG. 12A is a table showing verification results for split_coding_unit_flag according to Embodiment 3 of the present invention.
  • FIG. 12B is a table showing verification results for split_coding_unit_flag according to Embodiment 3 of the present invention.
  • FIG. 13 is a table showing an arithmetic decoding method for skip_flag according to Embodiment 3 of the present invention.
  • FIG. 14A is a table showing verification results for skip_flag according to Embodiment 3 of the present invention.
  • FIG. 14B is a table showing verification results for skip_flag according to Embodiment 3 of the present invention.
  • FIG. 15A is a table showing an arithmetic decoding method of no_residual_data_flag according to Embodiment 3 of the present invention.
  • FIG. 15B is a table showing a syntax of no_residual_data_flag according to Embodiment 3 of the present invention.
  • FIG. 16A is a table showing verification results for no_residual_data_flag according to Embodiment 3 of the present invention.
  • FIG. 16B is a table showing verification results for no_residual_data_flag according to Embodiment 3 of the present invention.
  • FIG. 17 is a diagram for explaining a context model that uses values of corresponding control parameters of adjacent two blocks according to the embodiment of the present invention.
  • FIG. 18 is a diagram for explaining an increase in memory usage when the upper block is used according to the embodiment of the present invention.
  • FIG. 19 is an overall configuration diagram of a content supply system that realizes a content distribution service.
  • FIG. 20 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 21 is a block diagram illustrating a configuration example of a television.
  • FIG. 22 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. 23 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 24A is a diagram illustrating an example of a mobile phone.
  • FIG. 24B is a block diagram illustrating a configuration example of a mobile phone.
  • FIG. 24A is a diagram illustrating an example of a mobile phone.
  • FIG. 25 is a diagram showing a structure of multiplexed data.
  • FIG. 26 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 27 is a diagram showing in more detail how the video stream is stored in the PES packet sequence.
  • FIG. 28 is a diagram illustrating the structure of TS packets and source packets in multiplexed data.
  • FIG. 29 is a diagram illustrating a data structure of the PMT.
  • FIG. 30 is a diagram showing an internal configuration of multiplexed data information.
  • FIG. 31 shows the internal structure of stream attribute information.
  • FIG. 32 is a diagram illustrating steps for identifying video data.
  • FIG. 33 is a block diagram illustrating a configuration example of an integrated circuit that realizes the moving picture coding method and the moving picture decoding method according to each embodiment.
  • FIG. 34 is a diagram illustrating a configuration for switching the driving frequency.
  • FIG. 35 is a diagram illustrating steps for identifying video data and switching between driving frequencies.
  • FIG. 36 is a diagram illustrating an example of a look-up table in which video data standards are associated with drive frequencies.
  • FIG. 37A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit.
  • FIG. 37B is a diagram illustrating another example of a configuration for sharing a module of a signal processing unit.
  • Non-Patent Document 2 studies on context models in encoding and decoding of various control parameters are in progress (Non-Patent Document 2).
  • the control parameter means a parameter (flag or the like) included in the encoded bit stream and used in the encoding process or the decoding process, and specifically, syntax element.
  • the context model is (1) what unit (multi-value, binary value, or individual element of binary array (bin string)) (2) what condition is considered. It is information to show.
  • what kind of condition is what kind of condition of the number of elements is applied, or what kind of signal type of the control parameter is considered as a condition.
  • the number of times of learning for each condition decreases, so that the accuracy of probability prediction decreases (see, for example, “dilution effect” in Non-Patent Document 1).
  • H.264 classifies the context model into four basic types (basic design types) while using a limited number of pre-events for symbol coding as a rule rule.
  • the first and second types relate to encoding and decoding of control parameters.
  • the first type of context model uses two adjacent encoded values with an upper limit of two (up to two) (see Non-Patent Document 1).
  • the definition of two adjacent encoded values depends on the signal type of the control parameter, but usually uses the value of the corresponding control parameter included in the adjacent block on the left and above.
  • the type of the second context model is a type that determines a context based on a binary tree as an occurrence probability. Specifically, it is applied to the control parameters mb_type and sub_mb_type.
  • the third and fourth types relate to encoding and decoding of residual values (residual data) such as image data.
  • residual values residual data
  • residual data residual data
  • the third type only values encoded or decoded in the past are used in accordance with the scanning order of frequency coefficients (or quantization coefficients).
  • the fourth type the context is determined according to the value (level value) decoded and accumulated.
  • the design policy and implementation method of the stochastic transition model in H.264 such as the first type has been verified for a long time, and studies are proceeding to be applied to the HEVC currently under study (non-patent literature) 2).
  • the first type includes control parameters alf_cu_flag, split_coding_unit_flag, skip_flag, merge_flag, intra_chroma_pred_mode, inter_pred_flag, ref_idx_lc, ref_idx_l0, ref_idx_l1, mv (See Section 93.3.1.1 of Non-Patent Document 2).
  • FIG. 17 is a diagram for explaining a context model that uses the values of control parameters corresponding to two adjacent blocks.
  • FIG. 17 shows a context model that uses adjacent blocks in H.264.
  • Block C in the figure includes the value of the control parameter SE that is the current encoding or decoding target.
  • this SE value is encoded, the same kind of control parameter SE values included in the upper block A and the left block B that have already been encoded are used.
  • (condition A (value of the upper block) and condition B (value of the left block))) with the condition of the control parameter SE of A and the value of the control parameter SE of the left block B Use to predict.
  • FIG. 18 is a diagram for explaining an increase in memory usage when the upper block is used.
  • (XP, yP) in the figure indicates the upper left pixel position of the Prediction Unit (PU: motion prediction unit) including the block C.
  • the block C is a block including the control parameter (for example, skip_flag) of the current encoding target.
  • (xP, yA) in the figure indicates a pixel position included in the block B, which is used as condition A (the value of the control parameter skip_flag of the upper block).
  • (xL, yP) indicate pixel positions included in the block A used as condition B (value of the control parameter skip_flag of the left block).
  • the encoding / decoding device in order to encode or decode the value of the control parameter skip_flag of the block C, the encoding / decoding device has the value of the skip_flag of the PU corresponding to the position of (xP, yA) included in the upper block B ( Alternatively, the determination result of the condition) and the PU skip_flag value (or the determination result of the condition) corresponding to the position of (xL, yP) included in the left block A must be held.
  • the horizontal width of this picture is 4096 pixels
  • it is necessary to hold all the determination values included in the upper block row (Line L shown in FIG. 18) in order to encode one control parameter skip_flag. is there. That is, a memory capacity of 4096 pixels / block size is required for one control parameter.
  • the block size of the encoding target block C is variable, for example, 64 ⁇ 64, 16 ⁇ 16, 4 ⁇ 4, or the like.
  • the block size of the block C to be encoded or decoded later cannot be predicted. This is because the encoding or decoding device can know the size of each block in the lower row (the row including block C) at the time of encoding or decoding the upper row (the row including block A). This is because there is not.
  • the encoding or decoding apparatus assumes that the minimum block size is used as the block size of the lower row among the block sizes to which the control parameter is applied, and sets the control parameter for each minimum block size.
  • the value (or judgment value) must be retained. Note that the position of the black circle in FIG. 18 is a condition that must be retained even though the condition value is not actually required in encoding or decoding of the lower row (the row including the block C). Show.
  • two adjacent blocks (left block A and upper block B) shown in FIG. 18 show the concept of adjacent blocks at the time of H.264, and no new hierarchical block division viewpoint has been introduced.
  • hierarchical depth, or block position for control parameters adapted to the recursive quad block partition tree structure (quad tree partitioning) that is planned to be introduced in HEVC The reference condition value shown in FIG. 18 may not make sense.
  • the present inventor has found that the memory usage increases by using the condition value of the upper block in the arithmetic encoding or decoding of the control parameter. Furthermore, the present inventor has found that this memory usage is further increased in HEVC.
  • an image decoding method is an image decoding method using arithmetic decoding, and includes a context control step for determining a context to be used for a processing target block among a plurality of contexts, and a control An arithmetic decoding step of restoring a binary array by arithmetically decoding a bit string corresponding to the processing target block obtained by arithmetically encoding a parameter using the determined context; and the binary A multi-value quantization step of restoring the control parameter by multi-valued an array.
  • the signal type of the control parameter of the processing target block is determined, and the signal type is the first type In some cases, both the decoded control parameters of the left block and the upper block adjacent to the processing target block are used.
  • the first condition is used to determine the context, and when the signal type is a second type different from the first type, the second condition not using the decoded control parameter of the upper block is used.
  • the context is determined, the first type is “split_coding_unit_flag” or “skip_flag”, and the second type is “no_residual_data_flag”.
  • the image decoding method can reduce the memory usage. Specifically, since the image decoding method does not use the control parameter of the upper block for the second type of control parameter, it is not necessary to hold the control parameter of the second type of the upper block. As a result, the image decoding method uniformly reduces the amount of memory used compared to the case where the left block and the upper block are used as “use the context model based on the control parameter value of the adjacent block”. can do. Furthermore, the image decoding method can appropriately reduce the memory usage of the second type control parameter without impairing the BD-rate value evaluation of the image.
  • the image decoding method can use a context suitable for a hierarchical tree structure of a new HEVC-specific data structure that is not considered in the conventional H.264, or can perform memory reference.
  • the second condition may be a condition in which both the decoded control parameters of the upper block and the left block are not used.
  • the image decoding method can further reduce the memory usage by not using the control parameter of the left block in addition to the upper block.
  • a predetermined context may be determined as a context used for arithmetic decoding of the target block as the second condition.
  • the image decoding method can reduce the processing amount.
  • the context control step based on the position of the processing target block, it is determined whether or not the control parameter of the upper block can be used at the time of decoding, and when the control parameter of the upper block cannot be used, The context may be determined using a second condition.
  • the image decoding method can reduce the processing amount.
  • the processing target block belongs to a slice boundary, it may be determined that the control parameter of the upper block cannot be used at the time of decoding.
  • control parameter of the upper block it may be determined whether the control parameter of the upper block can be used at the time of decoding according to the depth of the hierarchy of the data unit to which the control parameter of the processing target block belongs.
  • the second type may be a control parameter having a predetermined data structure.
  • the context is determined using the first condition for the control parameter of the second unit smaller than the first unit based on the value of the control parameter of the first unit.
  • the context may be determined using the second condition.
  • the “split_coding_unit_flag” indicates whether or not the processing target block is divided into a plurality of blocks
  • the “skip_flag” indicates whether or not the processing target block is skipped
  • the “no_residual_data_flag” It may indicate whether or not there is residual data for the processing target block.
  • the image decoding method includes: a decoding process compliant with the first standard, a decoding process compliant with the second standard, according to an identifier indicating the first standard or the second standard included in the encoded signal;
  • the ID indicates the first standard
  • the context control step, the arithmetic decoding step, and the multi-value conversion step may be performed as a decoding process compliant with the first standard.
  • An image encoding method is an image encoding method using arithmetic encoding, and binarization that generates a binary array by binarizing a control parameter of a processing target block.
  • a context control step for determining a context to be used for the processing target block among a plurality of contexts, and an arithmetic code for generating a bit string by arithmetically encoding the binary array using the determined context
  • the signal type of the control parameter of the processing target block is determined, and when the signal type is the first type, the left block and the upper block adjacent to the processing target block
  • the context is determined using a first condition that uses both control parameters, and the signal type is
  • the context is determined using a second condition that does not use the control parameter of the upper block, and the first type is "split_coding_unit_flag" or "skip_flag”
  • the second type is “no_residual_data_flag”.
  • the image coding method can reduce the memory usage. Specifically, since the image coding method does not use the control parameter of the upper block for the second type of control parameter, it is not necessary to hold the control parameter of the second type of the upper block. As a result, the image encoding method uniformly reduces the memory usage compared to the case where the left block and the upper block are used as “use the context model based on the control parameter value of the adjacent block”. Can be reduced. Further, the image encoding method can appropriately reduce the memory usage of the second type control parameter without impairing the BD-rate value evaluation of the image.
  • the image encoding method can use a context suitable for a hierarchical tree structure of a new HEVC-specific data structure that is not considered in the conventional H.264, or can perform memory reference.
  • An image decoding apparatus is an image decoding apparatus that uses arithmetic decoding, and includes a context control unit that determines a context to be used for arithmetic decoding of a processing target block among a plurality of contexts, and a control An arithmetic decoding unit that restores a binary array by arithmetically decoding a bit string corresponding to the processing target block obtained by arithmetically encoding a parameter using the determined context, and the binary A multi-level unit that restores the control parameter by multi-leveling the array, and the context control unit determines a signal type of the control parameter of the processing target block, and the signal type is a first type
  • the first condition using the decoded control parameters of the left block and the upper block adjacent to the processing target block together is used to A context is determined, and when the signal type is a second type different from the first type, the context is determined using a second condition that does not use the decoded control parameter of the upper block;
  • the image decoding apparatus can reduce the memory usage.
  • An image coding apparatus is an image coding apparatus using arithmetic coding, and binarization that generates a binary array by binarizing control parameters of a processing target block.
  • a context control unit that determines a context to be used for the processing target block among a plurality of contexts, and an arithmetic code that generates a bit string by arithmetically encoding the binary array using the determined context
  • the context control unit determines a signal type of a control parameter of the processing target block, and when the signal type is the first type, a left block and an upper block adjacent to the processing target block
  • the context is determined using a first condition using both control parameters, and the signal type is a second type different from the first type.
  • the context is determined using a second condition that does not use the control parameter of the upper block, the first type is "split_coding_unit_flag” or “skip_flag", and the second type is " no_residual_data_flag ".
  • the image coding apparatus can reduce the memory usage.
  • an image encoding / decoding device includes the image decoding device and the image encoding device.
  • the image coding apparatus determines (1) the context using the upper block or (2) the upper block according to the signal type of the control parameter. Determine context without using or switch. As a result, it is possible to reduce the amount of memory used while suppressing deterioration in image quality.
  • FIG. 1 is a block diagram of an image encoding device 100 according to the present embodiment.
  • the image encoding device 100 includes a control unit 101, a difference unit 102, a transform and quantization unit 103, a variable length coding unit 104, an inverse quantization and inverse transform unit 105, an adder unit 106, a screen
  • An intra prediction unit 107, an inter-screen prediction unit 108, and a switch 109 are included.
  • the control unit 101 calculates a control parameter 130 based on the input image signal 121 to be encoded.
  • the control parameter 130 includes information indicating the picture type of the input image signal 121 to be encoded, the size of the motion prediction unit (Prediction Unit PU) of the block to be encoded, control information of the motion prediction unit, and the like.
  • the control parameter 130 (Control data) itself is an encoding target. Therefore, the control unit 101 outputs the control parameter 130 to the variable length coding unit 104.
  • the difference unit 102 calculates a residual signal 122 that is a difference value (residual value) between the input image signal 121 and the predicted image signal 129 in units of blocks.
  • the transform and quantization unit 103 transforms the residual signal 122 into a frequency coefficient value, and quantizes the obtained frequency coefficient value to generate a quantized transform coefficient 123 (residual data).
  • the inverse quantization and inverse transform unit 105 inversely quantizes the quantized transform coefficient 123 to a frequency coefficient value, and inversely transforms the obtained frequency coefficient value to generate a restored residual signal 125.
  • the addition unit 106 outputs the restored image signal 126 by adding the residual signal 125 and the predicted image signal 129.
  • the intra-screen prediction unit 107 generates the predicted image signal 127 by performing intra-screen prediction processing using the restored image signal 126.
  • the inter-screen prediction unit 108 generates the predicted image signal 128 by performing inter-screen prediction processing using the restored image signal 126.
  • the switch 109 selects one of the predicted image signal 127 and the predicted image signal 128, and outputs the selected signal as the predicted image signal 129.
  • variable length encoding unit 104 generates the bit stream 124 by encoding the input quantization transform coefficient 123 and control parameter 130 for each block using the above-described CABAC.
  • variable length coding unit 104 Next, the configuration of the variable length coding unit 104 will be described.
  • FIG. 2 is a functional block diagram of the variable length coding unit 104.
  • the variable length coding unit 104 includes a binarization unit 141, a context control unit 142, and a binary arithmetic coding unit 143.
  • the variable length encoding process of the control parameter 130 will be described.
  • the variable length encoding process for the quantized transform coefficient 123 is not described here, but can be realized using a known technique, for example.
  • the binarization unit 141 generates a binary array 151 by binarizing the control parameter 130.
  • the binarization unit 141 is a processing unit that executes II. 1) binarizaion processing in Non-Patent Document 1.
  • the binarization unit 141 converts the control parameter 130 into a binary array 151 called bin string by a binarization processing method determined in advance for each signal type. The correspondence between the signal type and the binarization processing method will be described later.
  • the binarization unit 141 outputs the control parameter 130 as it is as a binary array 151.
  • the context control unit 142 determines a context to be used for arithmetic coding of the control parameter 130 included in the block to be processed among a plurality of contexts (probability state tables). In addition, the context control unit 142 outputs a context index 152 specifying the determined context to the binary arithmetic coding unit 143.
  • the context control unit 142 is a processing unit that executes 2) context modeling process in Non-Patent Document 1.
  • a plurality of elements included in the binary array 151 output by the binary arithmetic encoding unit 143 are sequentially input to the context control unit 142.
  • the context control unit 142 selects a context to be used for the binary from a plurality of contexts according to the signal type of the control parameter 130 and the element position in the binary binary array 151, and indicates the selected context.
  • the context index 152 that is an index is output to the binary arithmetic encoding unit 143.
  • the context control unit 142 holds a probability state table of the number (so-called context index number) obtained by further segmenting the individual elements of the binary array of the control parameter 130 into the conditional probability conditions as context states. This probability state table is initialized and updated.
  • the context control unit 142 further classifies each signal type (if the number of elements of the binary array is 2 or more, it is for each element number of the binary array of the control parameter 130; the same applies hereinafter).
  • the state (probability state index) for each occurrence condition ⁇ (for each context) is held. In this state, of the two values “0” or “1”, the probability of occurrence P (internal ratio: typically 6-bit value) with the lower probability and the value with the higher probability are shown. (1bit) and 7bit value in total.
  • holding the state means initializing and updating. For example, the update process is a transition between 64 finite states as in H264, and is to change the indexing of which probability state probabilityprostate (that is, which probability) is currently in.
  • the context control unit 142 slightly increases the rate of the probability on the most probable side. For example, the context control unit 142 can slightly increase the probability ratio on the most probable side by increasing or decreasing the value of the probability index (probability state index) corresponding to 64 tables by one.
  • the context control unit 142 increases the proportion of the most probable probability held by the predetermined scale factor ⁇ . (For example, refer to non-patent document 1, Fig.6).
  • the context control unit 142 changes and holds the state based on the associated table index change value so as to correspond to the change in consideration of ⁇ . .
  • the binary arithmetic encoding unit 143 generates a bit stream 124 (bit string) by arithmetically encoding the binary array 151 using the context determined by the context control unit 142.
  • the binary arithmetic coding unit 143 is a processing unit that executes 3) binarybinarithmetic coding processing in Non-Patent Document 1.
  • the binary arithmetic encoding unit 143 generates the bit stream 124 by arithmetically encoding the binary array 151 using the context specified by the context index 152.
  • arithmetic coding treats events that occur with respect to control parameters 130 of various signal types as cumulative probability, and associates what events have occurred while narrowing the range to a predetermined range on one number line. It can be said.
  • the binary arithmetic encoding unit 143 internally divides one number line into two half intervals according to the occurrence probability of two values that can be taken by the binary given from the context control unit 142.
  • the binary value actually generated for example, “0”
  • the binary arithmetic coding unit 143 may The lower limit value low of the range is maintained unchanged, and a value corresponding to the result of multiplying the current probability 0.75 by the scale factor 0.95 once is set in the new range Range.
  • the binary arithmetic encoding unit 143 moves the lower limit value low of the range by the higher probability, The width Range is changed according to the lower probability. As described above, the interval is held by accumulating the multiplication results of the probability range Range. However, when the value with the lower probability is continuously generated, the length of the width Range becomes less than the accuracy that can be secured by the calculation. In this case, the binary arithmetic encoding unit 143 performs a process (renorm) of expanding the width Range in order to maintain accuracy, and outputs a bit string for indicating the current range.
  • renorm a process of expanding the width Range in order to maintain accuracy
  • FIG. 3 is a table in which the control parameters 130 using the context model based on the values of the control parameters 130 of adjacent blocks are arranged.
  • Signal type indicates a specific name of the signal type of the control parameter 130. The meaning of each signal type will be described later.
  • the binarization scheme indicates a binarization scheme applied to the control parameter 130 (SE) specified in the rightmost column. Note that the binarization process is executed by the binarization unit 141. Further, “fixed length” in the column means that the binarization unit 141 outputs the value of the control parameter 130 on the left in a binary array (bin string) of fixed length (Fixed Length).
  • the control parameter 130 of the signal type whose signal type name ends with “flag” in HEVC is a binary value that takes a value of “0” or “1”.
  • the binarization unit 141 outputs the value of the control parameter 130 as it is as the binary array 151.
  • variable length means that the binarization unit 141 associates the value of the control parameter 130 with a variable length binary string (bin string) associated with the shortest binary length in order of occurrence of the value. Or a binary array and the number of elements ⁇ 1) is used to indicate a binary array to be output.
  • the binarization unit 141 outputs using a method corresponding to the signal type, such as a (Truncated) Unary type, or a combination of a plurality of methods such as the Unary type and another index Golomb method (non-patent document). (Ref. 1, A. Binarization).
  • the array element of the binary array 151 may be one, but may be two or more.
  • a multi-value conversion unit of the image decoding apparatus to be described later restores the input binary array to a multi-value or a flag value by performing a reverse conversion of this binarization method.
  • “0, 1, 2” is described in the column, it means that the context control unit 142 selects and applies one probability state table from three probability state tables (contexts).
  • skip_flag it means that three context indexes that are subdivided by condition are prepared for this one signal type, that is, three contexts are prepared and arithmetic coding is performed. Yes.
  • the value of the control parameter 130 of the signal type specified in the c2 column is binarized by the binarization method in the c3 column.
  • (C5) left block condition L (condL) indicates a condition of the left block for the context control unit 142 to select one of the values 0, 1, and 2 in the column c4. This condition takes a true or false value determined according to the control parameter value of the left block corresponding to the control parameter of the encoding target (or decoding target).
  • control parameter (SE) is skip_flag
  • true if the value of skip_flag [xL] [yL] is true (eg, “1”), and false if it is false (eg, “0”). Is output.
  • the upper block condition A (condA) is an upper limit for the context control unit 142 to select one of the values 0, 1, and 2 in encoding and decoding of the array element specified in the column c4. Indicates the condition of the block. This condition takes a value of true or false determined according to the value of the control parameter of the upper block corresponding to the control parameter of the encoding target (or decoding target). For example, when the control parameter (SE) is skip_flag, true is given if the value of skip_flag [xA] [yA] is true (eg, “1”), and false if false (eg, “0”). Is output.
  • the image coding method according to the present embodiment switches the following operation according to the signal type of the control parameter 130 for the left block condition L and the upper block condition A (operates using different patterns).
  • FIG. 4 is a flowchart showing an image encoding method according to the present embodiment executed by the variable length encoding unit 104 shown in FIG.
  • the binarization unit 141 binarizes the value of the control parameter 130 by a method corresponding to the signal type of the control parameter 130 (S101).
  • the context control unit 142 acquires the basic value of the context used for arithmetic coding of the control parameter 130 (S102). For example, the context control unit 142 determines this basic value according to the picture type (I, P, B).
  • the context control unit 142 determines a context value using any one of the patterns 1 to 3 according to the signal type of the control parameter 130 (S103).
  • determining the context value is equivalent to determining an adjustment value (increment value CtxIdxInc) for the basic value of the context.
  • the context control unit 142 determines the signal type of the control parameter 130 (S103).
  • the signal type of the control parameter 130 is the first type corresponding to the pattern 1 (the first type in S104)
  • the context control unit 142 sets the control parameter of each of the two adjacent blocks (block A and block B).
  • the context value is determined using the determination value derived from the value (S105).
  • the context control unit 142 determines a context using a condition that uses control parameters of two adjacent blocks of the left block and the upper block.
  • the context control unit 142 uses both values of the determination result of (c5) CondL and the determination result of (c6) condA shown in FIG. Therefore, data for one horizontal row of the picture is held for the first type control parameter.
  • the context control unit 142 has one adjacent block (the nearest adjacent block in the encoding order).
  • the context value is determined using the value of the control parameter (S106). In other words, the context control unit 142 determines the context using a condition that does not use the control parameter of the upper block.
  • the context control unit 142 does not use the control parameters of the upper block and the left block,
  • the context value is fixedly determined (S107).
  • the context control unit 142 derives a context index value by adding the increment value determined in step S103 to the basic value of the context determined in step S102 (S108).
  • the binary arithmetic encoding unit 143 performs arithmetic encoding on the binary value of the first element using the context value specified by the context index value determined in step S108, thereby generating a bit string (bit stream 124). ) Is generated (S109).
  • variable length encoding unit 104 performs the next processing included in the binary array.
  • the processes of steps S102 to S109 are executed for the element.
  • the variable length coding unit 104 performs coding processing on the control parameter of the processing target block. Exit.
  • the image coding apparatus 100 determines the context using the upper block for the first type of control parameter in the arithmetic coding, and determines the second type and the first type. For the three types of control parameters, the context is determined without using the upper block.
  • the image encoding apparatus 100 uses a memory as compared with the case where the left block and the upper block are used as “use the context model based on the value of the control parameter of the adjacent block” uniformly. The amount can be reduced. Thereby, the image coding apparatus 100 can reduce the memory usage while suppressing the deterioration of the image quality.
  • FIG. 5 is a block diagram of the image decoding apparatus 200 according to the present embodiment.
  • the image decoding apparatus 200 is an image decoding apparatus that uses arithmetic decoding, and generates an image signal 229 by decoding the bit stream 124.
  • the bit stream 124 is, for example, the bit stream 124 generated by the image encoding device 100 described above.
  • the image decoding apparatus 200 includes a control unit 201, a variable length decoding unit 202, an inverse quantization unit 204, an inverse transform unit 205, an addition unit 206, an intra-screen prediction unit 207, and an inter-screen prediction unit 208. Including.
  • the image decoding apparatus 200 performs a decoding process for each code string of a predetermined processing unit.
  • the processing unit is, for example, a slice unit or a block unit.
  • the variable length decoding unit 202 performs arithmetic decoding on the bitstream 124, thereby generating a control parameter 230 (control data syntax element) and a quantized transform coefficient 223 (Residual data syntax element value).
  • the generated control parameter 230 is output to the control unit 201.
  • the control unit 201 controls the processing unit included in the image decoding device 200 according to the control parameter 230.
  • the inverse quantization unit 204 generates the orthogonal transform coefficient 224 by dequantizing the quantized transform coefficient 223.
  • the inverse transform unit 205 restores the residual signal 225 by inverse transforming the orthogonal transform coefficient 224.
  • the adder 206 adds the residual signal 225 and the predicted image signal (image signal 229) to generate a decoded image signal 226.
  • the intra-screen prediction unit 207 generates the predicted image signal 227 by performing intra-screen prediction processing using the decoded image signal 226.
  • the inter-screen prediction unit 208 generates the predicted image signal 228 by performing inter-screen prediction processing using the decoded image signal 226.
  • the switch 209 selects one of the predicted image signal 227 and the predicted image signal 228, and outputs the selected signal as the image signal 229 (predicted image signal).
  • variable length decoding unit 202 Next, the configuration of the variable length decoding unit 202 will be described.
  • FIG. 6 is a functional block diagram showing the configuration of the variable length decoding unit 202.
  • the variable length decoding unit 202 includes a binary arithmetic decoding unit 243, a context control unit 242, and a multilevel conversion unit 241.
  • the variable length decoding process of the control parameter 230 will be described.
  • the variable length decoding process for the quantized transform coefficient 223 is not described here, but can be realized using a known technique, for example.
  • the context control unit 242 determines a context to be used for arithmetic decoding of the control parameter 230 of the block to be processed among a plurality of contexts. In addition, the context control unit 242 outputs a context index 252 specifying the determined context to the binary arithmetic decoding unit 243.
  • the context control unit 242 uses the same context model as the context control unit 142 shown in FIG.
  • the binary arithmetic decoding unit 243 also has 64 probability states. This is because the range on the number line to be encoded must be interpreted in exactly the same way on both the encoding and decoding sides. Therefore, the encoding side uses the same pattern as the pattern selected from the three patterns 1 to 3 described above on the decoding device side.
  • the binary arithmetic decoding unit 243 restores the binary array 251 by performing arithmetic decoding on the bit string (bit stream 124) using the context determined by the context control unit 242. Specifically, the binary arithmetic decoding unit 243 restores the input bit string to the binary array 251 using the context (probability state table) specified by the context index given from the context control unit 242.
  • the multi-value conversion unit 241 restores the control parameter 230 by converting the binary array 251 into multiple values if necessary.
  • the context control unit 142 included in the image encoding device 100 and the context control unit 242 included in the image decoding device 200 have the same context model in both arithmetic encoding and arithmetic decoding of a control parameter of a certain signal type. Use.
  • FIG. 7 is a flowchart showing the image decoding method according to the present embodiment executed by the variable length decoding unit 202.
  • variable length decoding unit 202 acquires the bit stream 124 (S201).
  • the context control unit 242 determines the signal type of the control parameter to be decoded according to the data structure of the bit stream 124 (S202).
  • the context control unit 242 determines the basic value of the context used for arithmetic decoding of the control parameter to be decoded (S203). For example, the context control unit 242 determines this basic value according to the picture type (I, P, B).
  • the context control unit 242 determines a context value using one of the patterns 1 to 3 according to the signal type of the control parameter (S204).
  • determining the context value is equivalent to determining an adjustment value (increment value CtxIdxInc) for the basic value of the context.
  • the context control unit 242 determines which of pattern 1 to pattern 3 is to be used according to the signal type of the control parameter according to a statically predetermined table.
  • the context control unit 242 switches adjacent blocks used for determining a context used for obtaining the binary value of the first element included in the binary array 251 by arithmetic decoding according to the signal type of the control parameter.
  • the context control unit 242 determines the signal type of the control parameter 230 (S205).
  • the signal type is the first type corresponding to pattern 1 (the first type in S205)
  • the context control unit 242 determines the context value using the control parameters of each of the two adjacent blocks (S206). In other words, the context control unit 242 determines the context using a condition that uses the decoded control parameters of the two adjacent blocks of the left block and the upper block.
  • the context control unit 242 controls the control parameter value of one adjacent block (nearest adjacent block in the encoding order).
  • the context value is determined using (S207). In other words, the context control unit 242 determines a context using a condition that does not use the decoded control parameter of the upper block.
  • the context control unit 242 fixedly determines the context value (S208). In other words, the context control unit 242 determines a context using a condition that does not use the decoded control parameters of the upper block and the left block.
  • the context control unit 242 determines the context index value by adding the basic value of the context index determined in step S203 and the increment value determined in step S204 (S209).
  • the binary arithmetic decoding unit 243 obtains one of the elements of the binary array by decoding using the context value indicated by the context index value given from the context control unit 242 (S210).
  • variable length decoding unit 202 performs the next processing included in the binary array.
  • the process of steps S203 to S210 is executed for the element.
  • the multilevel conversion unit 241 performs the processing of steps S203 to S210 once.
  • the control parameter 230 is generated by multi-value one or more elements of the binary array 251 obtained by repeating the above (S212).
  • the image decoding apparatus 200 determines the context using the upper block for the first type control parameter in the arithmetic decoding, and controls the second type and the third type. For parameters, the context is determined without using the upper block.
  • the image decoding apparatus 200 uses the memory as compared with the case where the left block and the upper block are used as “use the context model based on the control parameter value of the adjacent block” uniformly. Can be reduced. As a result, the image decoding apparatus 200 can reduce the amount of memory used while suppressing deterioration in image quality.
  • the multi-value conversion unit 241 may output the binary array 251 as it is when the binary array 251 is flag or the like and the number of elements is 1, that is, 1 binary.
  • control unit 101 or 201 may perform processing for controlling each processing unit via a signal line (not shown), processing for referring to a memory value, or the like.
  • the context control unit 142 or 242 switches the three patterns 1 to 3 according to the signal type of the control parameter, but two patterns 1 to 3 are selected as the signal type. You may switch according to. In other words, the context control unit 142 or 242 may switch between using and not using the upper block condition according to the signal type of the control parameter.
  • the context control unit 142 or 242 may change the method of switching the selected context model (including the case where the context model increment value is changed, the same applies hereinafter) according to predetermined image information.
  • the context control unit 142 or 242 may further switch the switching policy itself according to the size of the horizontal width of the image, the sampling format, or the like that affects the memory holding amount and the number of learning times of each context.
  • the context control unit 142 or 242 switches between using and not using the upper block condition.
  • the context control unit 142 or 242 cannot use the upper block in the first place.
  • the context control unit 142 or 242 may change the switching policy itself depending on whether the slice to be processed is an entropy slice (whether entropy_slice_flag is 1 or 0).
  • the context control unit 142 or 242 may change the switching policy to not use the upper block.
  • the context control unit 142 or 242 determines the context model determination policy as the first determination rule (S302) and the second determination according to the parameter value in a predetermined unit (S301). You may switch by a decision rule (S303).
  • the first determination criterion is a criterion for performing the processing shown in FIG.
  • the second decision rule is a decision rule that does not include step S204 shown in FIG. 7, and is, for example, a conventional decision rule. This is equivalent to determining the increment value of the context index by a local parameter of a predetermined unit and a parameter value of a unit larger than that unit.
  • the context control unit 142 or 242 may switch the decision rule applied to a unit smaller than the first unit to another decision rule based on the value of the control parameter of the first unit.
  • the context control unit 142 or 242 may change the decision rule used) according to the characteristics of the image series. For example, the context control unit 142 or 242 may change the determination rule to be used according to the interval between I pictures (the setting value of IntraPeriod).
  • the context control unit 142 or 242 switches the decision rule according to the above conditions, but may switch whether to use the upper block.
  • the context control unit 142 or 242 may determine whether to use the upper block control parameter based on whether the upper block control parameter can be used at the time of encoding or decoding. . That is, the context control unit 142 or 242 determines whether or not the control parameter of the upper block can be used at the time of decoding based on the block position to be processed. If the control parameter of the upper block cannot be used, the pattern 2 or pattern 3 may be used to determine the context. Furthermore, the context control unit 142 or 242 may determine whether or not the reference value of the upper block can be used based on the tree structure of TU, CU, or PU block division. That is, the context control unit 142 or 242 may determine whether or not the control parameter of the upper block can be used at the time of decoding according to the depth of the hierarchy of the data unit to which the control parameter to be processed belongs.
  • FIG. 9 is a diagram showing the relationship between pictures, slices, and blocks in the HEVC standard.
  • One picture is divided into one or more slices.
  • the picture is divided into two slices (SLICE1 and SLICE2).
  • One slice is composed of a plurality of blocks 301 (for example, treeblocks).
  • the block 301 is the maximum unit as a control unit when the slice is divided into a predetermined size, and the size of the root when the unit is the root of the hierarchy division.
  • SLICE2 is composed of one sequence including a plurality of blocks starting from the block 301A (startTb) through the hatched block 301 to the block at the lower right corner.
  • the hatched block is one block (Treeblock) that is the current processing target.
  • each block 301 is composed of N ⁇ M pixels. Further, one block 301 is internally recursively divided (typically divided into four). That is, one Treeblock conceptually constitutes one quadtree (QuadTree).
  • the upper right block divided into four is recursively divided into four over two layers. That is, the block 301B includes ten logical units divided from a predetermined viewpoint from 0 in the upper left to 9 in the lower right.
  • a plurality of trees whose depths are different from each other based on a certain root such as a tree for a coding unit (CU) or a tree for residual_data.
  • various control parameter values belong to one of the leaf nodes.
  • the context control unit 142 or 242 may change the determination rule according to the type of tree to which the control parameter belongs. This is equivalent to changing to a syntax unit.
  • the context control unit 142 or 242 uses the pattern 2 or the pattern 3 that does not use the upper block for the data structure data such as alf_param for the adaptive filter, and the conventional context model for the other syntaxes.
  • Policy Policy (Pattern 1) may be used. That is, the second type or the third type may be a control parameter having a predetermined data structure. This also means that it varies depending on the type of tree of the adjacent definition.
  • control parameter whether or not the value of the control parameter can actually be used or whether it has an effect on reducing the memory usage depends on the position of the block in the hierarchical relationship. That is, the context control unit 142 or 242 may switch whether to use the upper block according to the block hierarchy and the position in the hierarchy.
  • the numbers 0 to 9 in the block 301B shown in FIG. 9 are in decoding order.
  • the control parameters of the block of number 1 and the block of number 2 can be used.
  • the context control unit 142 or 242 uses the upper block if the block is not Depth0 and its own position is the second or higher element in the vertical division. Pattern 1 may be selected.
  • depth indicates the number of layers from the root. That is, when a certain block is defined as block [xn], [y0] [depth], whether or not the block to be processed is a block satisfying block [xn] [(y0) + 1] [depth]) Depending on, the decision criteria may be changed. That is, the upper block is used for the blocks of numbers 4 to 9 shown in FIG.
  • the context control unit 142 or 242 may change these norms in consideration of the positional relationship between the processing target block and other slices.
  • the context control unit 142 or 242 may change these norms in consideration of the positional relationship between the processing target block and other slices.
  • the block 301A is a start block, and both the left block and the upper block are included in other slices.
  • the upper block is included in another slice.
  • both the upper block and the left block are included in the same slice as the slice in which the block is included.
  • the context control unit 142 or 242 may switch the norm depending on such conditions. That is, the context control unit 142 or 242 may switch the norm depending on whether (1) the upper block is included in another slice, or (2) whether the left block is included in another slice. The norm may be switched depending on whether or not (3) the norm may be switched according to both of these.
  • the context control unit 142 or 242 may determine that the control parameter of the upper block cannot be used at the time of decoding. Thereby, for example, when the decoding process of the upper slice 1 is not completed, it is possible to realize a decoding process that considers whether or not information can be obtained within the slice 2 by itself.
  • FIG. 10 is an explanatory diagram for explaining hierarchical processing units (multi-hierarchical block structure).
  • the image encoding device 100 encodes a moving image for each processing unit, and the image decoding device 200 decodes the encoded stream for each processing unit.
  • This processing unit is divided into a plurality of small processing units, and the small processing unit is further hierarchized so as to be further divided into a plurality of smaller processing units. Note that the smaller the processing unit is, the deeper the hierarchy in which the processing unit is and the lower the value, and the larger the value indicating the hierarchy. Conversely, the larger the processing unit is, the shallower the hierarchy in which the processing unit is, the higher the hierarchy, and the smaller the value indicating the hierarchy.
  • the processing unit includes a coding unit (CU), a prediction unit (PU), and a transform unit (TU).
  • a CU is a block composed of a maximum of 128 ⁇ 128 pixels, and is a unit corresponding to a conventional macroblock.
  • PU is a basic unit of inter-screen prediction.
  • the TU is a basic unit of orthogonal transformation, and the size of the TU is the same as the PU or a size smaller than the PU.
  • the CU is divided into, for example, four sub CUs, and one of the sub CUs includes a PU and a TU having the same size as the sub CU (in this case, the PU and the TU overlap each other).
  • the PU is further divided into four sub-PUs
  • the TU is further divided into four sub-TUs.
  • the processing unit is divided into a plurality of small processing units
  • the small processing unit is referred to as a sub processing unit.
  • the sub processing unit is a sub CU.
  • the sub processing unit is a sub PU.
  • the sub processing unit is a sub TU. It is.
  • the picture is divided into slices.
  • a slice is a sequence of maximum coding units.
  • the position of the maximum coding unit is indicated by the maximum coding unit address lcuAddr.
  • Each coding unit including the maximum coding unit is divided into four coding units. As a result, quadtree partitioning with the size of the coding unit is configured. The position of the coding unit is indicated by a coding unit index cuIdx starting from the upper left sample (pixel or coefficient) of the maximum coding unit.
  • the coding unit is treated as a prediction unit. Similar to the coding unit, the position of the prediction unit is indicated by a prediction unit index puIdx starting from the sample at the upper left corner of the maximum coding unit.
  • the prediction unit may include a plurality of partitions (prediction unit partition or sub PU).
  • the prediction unit partition is indicated by a prediction unit partition index puPartIdx starting from the upper left sample of the prediction unit.
  • the prediction unit may include a plurality of conversion units. Similar to the encoding unit, the conversion unit may be divided into four small size conversion units (sub-conversion units). This allows quadtree partitioning of the residual signal. The position of the conversion unit is indicated by a conversion unit index tuIdx starting from the upper left sample of the prediction unit.
  • each processing unit is as follows.
  • CTB (coding tree block): A basic unit for specifying quadtree partitioning of a square area.
  • CTB has various sizes of squares.
  • LCTB largest coding tree block: the largest CTB allowed in a slice.
  • a slice is composed of a plurality of LCTBs that do not overlap.
  • SCTB smallest coding tree block: the smallest size CTB allowed in a slice. Splitting SCTB into smaller CTBs is not allowed.
  • PU prediction unit
  • the size of the PU is the same as the size of the CU that is not allowed to be divided.
  • the CU is allowed to be divided into four square areas, whereas in the PU, the PU can be divided into a plurality of partitions having an arbitrary shape.
  • TU transform unit
  • LCU largest coding unit
  • SCU smallest coding unit: Same as the smallest CTB.
  • the quantization parameter includes at least one of a delta quantization scale parameter (delta QP or QP delta), a quantization offset parameter, an index (Qmatrix selectcidc), and a quantization dead zone offset parameter.
  • the index is for selecting one from a plurality of quantization scale matrices.
  • delta quantization scale parameter (delta QP or QP delta) is the quantization scale parameter to be applied to the transform coefficient and the quantization scale parameter specified in the sequence header or slice header (or the previous quantum in the Z-scan order). The difference from the scale parameter).
  • the quantization offset parameter is also called a quantization offset, and is an adjustment value (offset value) for how to round the signal when performing quantization. Therefore, when performing the quantization, the image encoding device 100 encodes the quantization offset, and the image decoding device 200 decodes the encoded quantization offset. Then, when the transform coefficient is inversely quantized, the image decoding apparatus 200 performs correction using the quantization offset.
  • the index (Qmatrix select idc) is also called an adaptive quantization matrix, and is an index indicating which quantization scaling matrix is used from a plurality of quantization scaling matrices. Qmatrixmaselect idc indicates whether or not to use the quantization scaling matrix when there is only one quantization scaling matrix.
  • the adaptive quantization matrix can be controlled in block units (processing units).
  • the quantization dead zone offset parameter is also called an adaptive dead zone, and is control information for adaptively changing the dead zone for each block.
  • the dead zone is a width at which the frequency coefficient becomes 0 by quantization (a width immediately before it becomes +1 or ⁇ 1 after quantization).
  • the context control unit 142 or 242 may determine the context according to the depth of the hierarchy of the data unit to which the control parameter belongs.
  • Non-Patent Document 2 Section 9.3.3.1.1.1.
  • the verification for each signal type is based on a wide range of parameters, and the verification results for one signal type (which one of patterns 1 to 3 is better) confirm that each pattern of the other signal types is valid. This is because it is difficult to predict whether it will be met or not.
  • the verification conforms to the configuration (setting parameters and software version HM3.0) described in “JCTVC-E700,” “Common test conditions and software reference configuration” (see Non-Patent Document 3). In addition, all test image lengths are limited to 49 frames.
  • the image encoding method and the image decoding method according to this embodiment relate to CABAC. Therefore, the verification was performed using the following four test patterns, which are set values of the SymbolMode value of 1 (# 0: LCEC, 1: CABAC ⁇ ⁇ ⁇ ) as the Entropy Coding mode.
  • BD-RATE an evaluation value used as a unified evaluation scale for implementation evaluation in HEVC.
  • Y BD-rate, U BD-rate, and V BD-rate are BD-rates for the color spaces Y, U, and V, and are evaluation scale values.
  • the BD-rate is an evaluation value representing the coding efficiency by integrating the two sets of code amounts described in VCEG-AI11 (Non-patent Document 4) and the PSNR result, and the ratio of the areas. is there.
  • the BD-rate shows a negative value, it indicates that the encoding efficiency is improved.
  • the standard for comparison is the output result of the reference program that implements pattern 1, and the result this time indicates the value for pattern 1 of pattern 2 and pattern 3.
  • FIG. 11 is a table for explaining an arithmetic decoding method of split_coding_unit_flag.
  • the context model is changed from pattern 1 to pattern 2 or pattern 3 only for the signal type to be verified, and other signal types and verification parameters specified in Non-Patent Document 3 are not changed. Is going.
  • “Fixed” in the values in the column of FIG. 11 means that in the derivation of the context value (or increment value), the condition of the column in which “Fixed” is described (the left block condition or the upper block condition is not used). In other words, when only one of the left block condition and the right block condition is “fixed”, only the other condition is used, and when both the left block condition and the right block condition are “fixed”. A predetermined value (for example, “0”) is used as the context value (or increment value).
  • Split_coding_unit_flag [x0] [y0] indicates whether or not the target CU is divided into a plurality of CUs whose horizontal and vertical sizes are half.
  • x0 and y0 indicate the coordinates of the luminance sample located at the upper left corner of the target CU with reference to the luminance sample located at the upper left corner of the image. That is, split_coding_unit_flag indicates whether or not the target CU is divided into four. Specifically, when the value of split_coding_unit_flag is “1”, the target CU is divided, and when the value is “0”, the target CU is not divided.
  • This split_coding_unit_flag is structured as a syntax in Coding tree syntax.
  • the image decoding apparatus interprets the bit string according to the syntax of this data structure.
  • FIG. 12A and FIG. 12B are tables showing verification results for split_coding_unit_flag.
  • FIG. 12A shows the verification result when (Pattern 2) one adjacent block (only the judgment value of the left block condition L) is used.
  • FIG. 12B shows the verification result when (pattern 3) 0 adjacent blocks are used (the upper block condition L and the left are not used).
  • FIGS. 12A and 12B show the increase / decrease in the BD-Rate values of the four test patterns described above.
  • the evaluation value is an evaluation scale indicating a relative value with the evaluation value in the case of the pattern 1 using both the left block and the upper block. Specifically, if the evaluation value is a positive value, the result is worse than the evaluation value (BD-rate) in the case of pattern 1. If the evaluation value is a negative value, the result is improved over the evaluation value in the case of pattern 1.
  • pattern 1 is excellent as a pattern of the context model.
  • the evaluation value of pattern 2 and pattern 3 is worse than that of pattern 1.
  • the context control units 142 and 242 determine the context value using the conventional context model pattern 1 from the BD-rate viewpoint. To do.
  • FIG. 13 is a table for explaining an arithmetic decoding method of skip_flag.
  • the verification method is the same as the first verification described above.
  • skip_flag [x0] [y0] When decoding a P or B slice and the value of skip_flag [x0] [y0] is “1”, after the skip_flag [x0] [y0], in addition to the predicted motion vector index, the current CU symbol This means that there is no tax element. Further, when the value of skip_flag [x0] [y0] is “1”, it means that the current CU is not skipped.
  • x0 and y0 indicate the coordinates of the luminance sample located at the upper left corner of the target CU with reference to the luminance sample located at the upper left corner of the image. That is, skip_flag indicates whether or not the target CU is skipped (treated as a skipped block).
  • This skip_flag is structured as a syntax in CodingCounit syntax. That is, skip_flag is set for each CU.
  • the image decoding apparatus interprets the bit string according to the syntax of this data structure.
  • FIG. 14A and FIG. 14B are tables showing verification results for skip_flag.
  • FIG. 14A shows the verification result when (Pattern 2) one adjacent block (only the determination value of the left block condition L) is used.
  • FIG. 14B shows the verification result when (pattern 3) 0 adjacent blocks are used (the upper block condition L and the left are not used).
  • FIGS. 14A and 14B show the increase / decrease in the BD-Rate values of the four test patterns described above, as in the first verification.
  • the meaning of the evaluation value is the same as that in the first verification.
  • pattern 1 is excellent as a pattern of the context model.
  • the evaluation value of pattern 2 and pattern 3 is worse than that of pattern 1.
  • the context control units 142 and 242 determine a context value using the conventional context model pattern 1 from the BD-rate viewpoint. To do.
  • FIG. 15A is a table for explaining an arithmetic decoding method of “no_residual_data_flag”.
  • no_residual_data_flag When no_residual_data_flag is “1”, there is no residual data for the current CU. When no_residual_data_flag is “0”, there is residual data for the current CU. When no_residual_data_flag does not exist, the value is regarded as “0”.
  • This no_residual_data_flag is structured as data in the Transform Tree among the above tree types as syntax.
  • FIG. 15B is a table showing Transform tree syntax. The image decoding apparatus interprets the bit string according to the syntax of this data structure.
  • FIG. 16A and FIG. 16B are tables showing verification results for “no_residual_data_flag”.
  • FIG. 16A shows the verification result when (Pattern 2) one adjacent block (only the determination value of the left block condition L) is used.
  • FIG. 16B shows the verification result when (pattern 3) 0 adjacent blocks are used (the upper block condition L and the left are not used).
  • FIGS. 16A and 16B show the increase / decrease in the BD-Rate values of the four test patterns described above, as in the first verification.
  • the meaning of the evaluation value is the same as that in the first verification.
  • the result is different from the above-described split_coding_unit_flag of the first verification and skip_flag of the second verification.
  • the pattern 1 and the pattern 2 or the pattern 3 are used as the context model patterns. There is no big difference in BD-rate.
  • the context control units 142 and 242 determine the context value without using the upper block as an adjacent block, particularly in a case where the signal type is no_residual_data_flag in an environment where control parameters of a plurality of signal types are mixed. That is, when the signal type of the control parameter is no_residual_data_flag, the context control units 142 and 242 determine the context value using the pattern 2 or the pattern 3.
  • the first type includes “split_coding_unit_flag” or “skip_flag”
  • the second type or the third type includes “no_residual_data_flag”.
  • no_residual_data_flag indicates the presence / absence of coefficient of luminance and color difference (residual). Further, this residual becomes large in the case of intra prediction and becomes small in the case of inter prediction. Therefore, when the mode of the surrounding block is different from the mode of the target block (when the characteristics are different), the encoding efficiency is lowered. For example, when the target block is intra predicted and the surrounding blocks are inter predicted, the residual of the target block is small and the residual of the surrounding blocks is large. As a result, when the surrounding context is used, the encoding efficiency decreases. Therefore, the context control units 142 and 242 can improve the encoding efficiency by using the context of the target block without depending on the surrounding blocks.
  • the image encoding device the image decoding device, and their modifications according to the first to third embodiments may be combined.
  • 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.
  • each step is performed in the above-described image encoding method by the image encoding device and the image decoding method by the image decoding device is for illustrating the present invention specifically. Other orders may be used. Also, some of the above steps may be executed simultaneously (in parallel) with other steps.
  • 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. 19 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.
  • This 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 moving image encoding device (image encoding device) or the moving image decoding of each of the above embodiments. 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. 21 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. 22 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. 23 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.
  • the present invention is not limited to these, and an optical disk having a multilayer structure and capable of recording other than the surface may be used.
  • 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 receiver is added in the configuration shown in FIG. 21, and the same may be considered for the computer ex111, the mobile phone ex114, and the like.
  • FIG. 24A is a diagram showing the mobile phone ex114 using the moving picture decoding method and the moving picture 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. 25 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. 26 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. 27 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first row in FIG. 27 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 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. 28 shows the format of the TS packet that is 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. 28, 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. 29 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 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 as shown in FIG.
  • 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.
  • the attribute information for 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. 32 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. 33 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
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • FIG. 34 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 conforms to the conventional standard correspond to the signal processing unit ex507 in FIG.
  • the CPU ex502 identifies which standard the video data conforms to. Then, based on the signal from the CPU ex502, the drive frequency control unit ex512 sets the drive frequency. Further, based on the signal from the CPU ex502, the signal processing unit ex507 decodes the video data.
  • the identification information described in the fifth embodiment may be used.
  • the identification information is not limited to that described in the fifth 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 drive frequency in the CPU ex502 may be performed based on, for example, a look-up table in which video data standards and drive 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. 35 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. 37A.
  • 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 arithmetic decoding, and other dequantization, deblocking filter, motion compensation, and the like are used. It is conceivable to share the decoding processing unit for any or all of the 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. 37B 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, and in particular, an image encoding method, an image decoding method, an image encoding device, and an image that perform arithmetic encoding and arithmetic decoding. It can be used for a decoding device.

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

 本発明の一形態に係る画像復号方法は、複数のコンテキストのうち、処理対象ブロックに使用するコンテキストを決定するコンテキスト制御ステップ(S204)と、前記処理対象ブロックに対応するビット列を、決定された前記コンテキストを用いて算術復号する算術復号ステップ(S210)とを含み、前記コンテキスト制御ステップ(S204)では、前記制御パラメータの信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの制御パラメータを共に利用する条件を用いて前記コンテキストを決定し(S206)、前記制御パラメータの信号種別が第2種別である場合に、前記上ブロックの制御パラメータを利用しない条件を用いて前記コンテキストを決定し(S207)、前記第2種別は、"no_residual_data_flag"である。

Description

画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
 本発明は、画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置に関し、特に、算術符号化又は算術復号を用いる画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置に関する。
 自然画の画像信号は統計的な偏りを有しその偏りは変動的な振る舞いをする。統計の偏りの変動性を利用したエントロピー符号化方式の1つにContext-Based Adaptive Binary Arithmetic Coding (CABAC)が存在する(非特許文献1を参照)。このCABAC方式はITU-T/ISOIEC standard for video coding, H.264/AVC方式に採用されている。
 以下、CABAC方式で用いられる用語の意味を説明する。
 (1)"Context-Based Adaptive"(コンテキストに基づき適応)は、符号化及び復号方法を、統計の偏りの変動に適応させることである。つまり、"Context-Based Adaptive"は、あるシンボルを符号化又は復号する場合に、周囲の条件の発生事象にあわせて当該シンボルの発生確率として適切な確率を予測することともいえる。例えば、符号化においては、あるシンボルSの各値の発生確率p(x)を決定する場合に、実際に起こった事象又は事象の列F(z)を条件とした条件付発生確率を用いる。
 (2)"Binary"(バイナリ)は、シンボルをバイナリ配列で表現することを意味する。多値で表されるシンボルについては、一度bin stringとよばれる二値配列に変形する。そして配列要素の個々について予測確率(条件付確率)を切り替えて用いつつ、2つの値の事象のどちらが発生したかをビット列化する。これにより信号種別の単位よりも詳細な単位(バイナリ要素単位)で値の確率を管理(初期化及び更新)することができる(非特許文献1のFig.2等を参照)。
 (3)"arithmetic"(算術)とは、前述のビット列生成処理が、表による対応ではなく計算により出力されるということである。H.263、MPEG-4及びH.264での可変長符号表を用いる符号化方式では、発生確率が0.5(50%)より高い発生確率をもつシンボルであっても、シンボルのとりうる値の個々を、1つのバイナリ列(ビット列)に対応させる必要がある。よって、最も確率が高い値についても最短でも1つのシンボルに1ビットを対応付けなければならない。これに対し算術符号化は、事象の高い確率での発生を整数値1ビット以下で表現することができる。例えば、1バイナリ目の値が「0」となる発生確率が0.9(90%)を越えるような信号種別があり、事象として1バイナリ目の値がN回連続して「0」であった場合、個々の値「0」に対して1ビットのデータをN回出力する必要がなくなる。
Detlev Marpe, et. al., "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE Transaction on circuits and systems for video technology, Vol. 13, No.7, July 2003. Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu, KR, 20-28 January, 2011 "WD2: Working Draft 2 of High-Efficiency Video Coding" JCTVC-D503 http://wftp3.itu.int/av-arch/jctvc-site/2011_01_D_Daegu/JCTVC-D503.doc Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 4th Meeting: Daegu, KR, 20-28 January, 2011, "Common test conditions and software reference configurations",JCTVC-E700 Gisle Bjontegaard, "Improvements of the BD-PSNR model," ITU-T SG16 Q.6 Document,VCEG-AI11, Berlin, July 2008
 しかしながら、このような画像符号化方法及び画像復号方法においては、メモリ使用量(使用するメモリ容量)の低減が望まれている。
 そこで、本発明は、メモリ使用量を削減できる画像符号化方法又は画像復号方法を提供することを目的とする。
 上記目的を達成するために、本発明の一形態に係る画像復号方法は、算術復号を用いる画像復号方法であって、複数のコンテキストのうち、処理対象ブロックに使用するコンテキストを決定するコンテキスト制御ステップと、制御パラメータが算術符号化されることで得られた、前記処理対象ブロックに対応するビット列を、決定された前記コンテキストを用いて算術復号することで二値配列を復元する算術復号ステップと、前記二値配列を多値化することで前記制御パラメータを復元する多値化ステップとを含み、前記コンテキスト制御ステップでは、前記処理対象ブロックの制御パラメータの信号種別を判定し、前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの復号済の制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの復号済みの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、前記第2種別は、"no_residual_data_flag"である。
 本発明は、メモリ使用量を削減できる画像符号化方法又は画像復号方法を提供できる。
図1は、本発明の実施の形態1に係る画像符号化装置の機能ブロック図である。 図2は、本発明の実施の形態1に係る可変長符号化部の機能ブロック図である。 図3は、本発明の実施の形態1に係る制御パラメータのコンテキストモデルに関する表である。 図4は、本発明の実施の形態1に係る算術符号化方法を示すフロー図である。 図5は、本発明の実施の形態2に係る画像復号装置の機能ブロック図である。 図6は、本発明の実施の形態2に係る可変長復号部の機能ブロック図である。 図7は、本発明の実施の形態2に係る算術復号方法を示すフロー図である。 図8は、本発明の実施の形態2に係る算術復号方法の変形例を示すフロー図である。 図9は、本発明の実施の形態2に係るHEVCにおける分割ブロック(ツリー構造)を示す図である。 図10は、本発明の実施の形態2に係る多階層ブロック構造を説明するための図である。 図11は、本発明の実施の形態3に係るsplit_coding_unit_flagの算術復号方法を示す表である。 図12Aは、本発明の実施の形態3に係るsplit_coding_unit_flagについての検証結果を示す表である。 図12Bは、本発明の実施の形態3に係るsplit_coding_unit_flagについての検証結果を示す表である。 図13は、本発明の実施の形態3に係るskip_flagの算術復号方法を示す表である。 図14Aは、本発明の実施の形態3に係るskip_flagについての検証結果を示す表である。 図14Bは、本発明の実施の形態3に係るskip_flagについての検証結果を示す表である。 図15Aは、本発明の実施の形態3に係るno_residual_data_flagの算術復号方法を示す表である。 図15Bは、本発明の実施の形態3に係るno_residual_data_flagのシンタックを示す表である。 図16Aは、本発明の実施の形態3に係るno_residual_data_flagについての検証結果を示す表である。 図16Bは、本発明の実施の形態3に係るno_residual_data_flagについての検証結果を示す表である。 図17は、本発明の実施の形態に係る、隣接2ブロックの対応する制御パラメータの値を利用するコンテキストモデルを説明するための図である。 図18は、本発明の実施の形態に係る、上ブロックを利用する場合のメモリ使用量の増加を説明するための図である。 図19は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図20は、デジタル放送用システムの全体構成図である。 図21は、テレビの構成例を示すブロック図である。 図22は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図23は、光ディスクである記録メディアの構造例を示す図である。 図24Aは、携帯電話の一例を示す図である。 図24Bは、携帯電話の構成例を示すブロック図である。 図25は、多重化データの構成を示す図である。 図26は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。 図27は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。 図28は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。 図29は、PMTのデータ構成を示す図である。 図30は、多重化データ情報の内部構成を示す図である。 図31は、ストリーム属性情報の内部構成を示す図である。 図32は、映像データを識別するステップを示す図である。 図33は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。 図34は、駆動周波数を切り替える構成を示す図である。 図35は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。 図36は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。 図37Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。 図37Bは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
 (本発明の基礎となった知見)
 本発明者は、以下の問題が生じることを見出した。
 ここで、次世代符号化方式であるHigh-Efficiency Video Coding(HEVC)においても、各種制御パラメータの符号化及び復号におけるコンテキストモデルについての検討が進んでいる(非特許文献2)。制御パラメータとは、符号化ビットストリームに含まれ、符号化処理又は復号処理で用いられるパラメータ(フラグ等)を意味し、具体的には、syntax elementである。
 コンテキストモデルとは、(1)どのような単位(多値、バイナリ値、又はバイナリ配列(bin string)の個々の要素)の信号に、(2)どのような条件(Condition)を考慮するかを示す情報である。ここで、どのような条件とは、どのような条件の要素数の条件を適用するか、又は、条件として考慮する制御パラメータの信号種別は何がよいかである。この条件を詳細に区分すればするほど、つまり、条件数τ(the number of conditions)を増やせば増やすほど、1つの条件に該当する回数が減る。その結果、条件ごとの学習回数が減ることで、確率の予測の精度が低下する(例えば、非特許文献1の"dilution effect"を参照)。
 また、条件数を少なくすればするほど、コンテキスト(周囲の条件)が考慮されていないことになり、統計の変動に追従(adaptive)していないことになる。
 コンテキストのモデル設計には、モデルの設計指針を決定したうえで、画像内容の統計的偏りの検証、又は画像の符号化及び復号を制御する制御パラメータの統計的偏りの検証等の画像に特化した検証を行うことで、その妥当性を考慮する必要がある。
 H.264では、限定された数の事前事象をシンボルの符号化に用いることをルールの規範としつつ、コンテキストモデルを4つの基本的なタイプ(basic design types)に類型化している。
 第1及び第2の類型は制御パラメータの符号化及び復号に関する。
 第1の類型のコンテキストモデルは、2つを上限とする(up to two)の隣接する符号化済の値を利用する(非特許文献1参照)。隣接する2つの符号化済みの値の定義は制御パラメータの信号種別の個々に依存するが、通常左及び上に隣接するブロックに含まれる対応する制御パラメータの値を使う。
 第2のコンテキストモデルの類型は、発生確率としてバイナリツリーに基づいて、コンテキストを決めるタイプである。具体的には、制御パラメータmb_type及びsub_mb_typeに適用される。
 第3及び第4の類型は、画像データ等の残差値(residual data)の符号化及び復号に関する。第3の類型では周波数係数(又は量子化係数)のスキャンの順番に応じて、過去に符号化又は復号された値のみを利用する。第4の類型では、復号され累積された値(レベル値)に応じて、コンテキストを決定する。
 上記第1の類型等の、H.264における確率遷移モデルの設計方針及び実装方法は長く効果が検証されており、現在検討中のHEVCにも適用されるよう検討が進んでいる(非特許文献2を参照)。例えば第1の類型(コンテキストモデル using neighbouring syntax elements)は、制御パラメータalf_cu_flag、 split_coding_unit_flag、skip_flag、merge_flag、intra_chroma_pred_mode、inter_pred_flag、ref_idx_lc、ref_idx_l0、ref_idx_l1、mvd_l0、mvd_l1、mvd_lc、no_residual_data_flag、cbf_luma、cbf_cb及びcbf_crに利用されることが検討されている(非特許文献2の9.3.3.1.1節を参照)。
 しかしながら、この第1の類型「隣接2ブロックを利用するコンテキストモデル」を利用する符号化については、そのメモリ使用量について、以下の課題があることを本発明者は見出した。
 図17は、隣接2ブロックの対応する制御パラメータの値を利用するコンテキストモデルを説明するための図である。また、図17は、H.264における隣接ブロックを利用するコンテキストモデルを示す。
 図中のブロックCは、現在(Current)の符号化又は復号対象である制御パラメータSEの値を含む。このSEの値を符号化する場合、既に符号化済である上ブロックA及び左ブロックBに含まれる同種の制御パラメータSEの値を利用する。具体的には、ブロックCの制御パラメータSE(又は制御パラメータSEのbin stringの1バイナリ目)の値xが「1」であるか「0」であるかの確率p(x)を、上ブロックAの制御パラメータSEの値と左ブロックBの制御パラメータSEの値とを条件とした条件付確率p(x|(condition A (上ブロックの値)かつ condition B(左ブロックの値)))を用いて予測する。
 図18は、上ブロックを利用する場合のメモリ使用量の増加を説明するための図である。
 図中の(xP、yP)は、ブロックCが含まれるPredictionUnit(PU:動き予測単位)の左上画素位置を示す。ここでブロックCは、現在の符号化対象の制御パラメータ(例えば、skip_flag)を含むブロックである。また、図中の(xP、yA)は、condition A(上ブロックの制御パラメータskip_flagの値)として用いられる、ブロックBに含まれる画素位置を示す。図中(xL、yP)は、condition B (左ブロックの制御パラメータskip_flagの値)として用いられる、ブロックAに含まれる画素位置を示す。
 この場合、ブロックCの制御パラメータskip_flagの値を符号化又は復号するために、符号化又は復号装置は、上ブロックBに含まれる(xP、yA)の位置に対応する、PUのskip_flagの値(又は条件の判定結果)と、左ブロックAに含まれる(xL、yP)の位置に対応する、PUのskip_flagの値(又は、条件の判定結果)とを保持する必要がある。ここで、このピクチャの横幅が4096ピクセルであるとすると、1つの制御パラメータskip_flagの符号化のために、上ブロック行(図18に示すLine L)に含まれる全ての判定値を保持する必要がある。つまり、1つの制御パラメータのために、4096ピクセル÷ブロックサイズのメモリ容量が必要となる。
 ここで、符号化対象のブロックCのブロックサイズは可変であり、例えば、64×64、16×16、又は4×4等である。また、(xP, yA)を含む上の行(Line L)に含まれるブロックの符号化又は復号時には、後で符号化又は復号されるブロックCのブロックサイズは予測できない。これは、符号化又は復号装置は、上の行(ブロックAが含まれる行)の符号化又は復号の時点では、その下の行(ブロックCが含まれる行)の各ブロックのサイズを知りえないためである。したがって、符号化又は復号装置は、下の行のブロックサイズとして、その制御パラメータが適用されるブロックサイズのうち最小のブロックサイズが用いられる場合を想定し、その最小のブロックサイズ毎に制御パラメータの値(又は判定値)を保持しておかなければならない。なお、図18の黒丸の位置は、実際には下の行(ブロックCが含まれる行)の符号化又は復号においてはその条件値が必要ないにもかかわらず保持しておかなければならない条件を示す。
 さらに、図18に示す隣接2ブロック(左ブロックAと上ブロックB)は、H.264時点の隣接ブロックの概念を示し、新しい階層ブロック分割の観点は導入されていない。後述するとおり、HEVCで導入が予定されている再帰4分ブロック分割ツリー構造(quad tree partitioning)に適応した制御パラメータに対しては、再帰の実行順、階層深さ、又はブロックの位置に応じて、図18で示した参照する条件値が意味を成さない場合がある。
 このように、本発明者は、制御パラメータの算術符号化又は復号において上ブロックの条件値を利用することでメモリ使用量が増加することを見出した。さらに、本発明者は、HEVCではこのメモリ使用量がさらに増加することを見出した。
 これに対して、本発明の一形態に係る画像復号方法は、算術復号を用いる画像復号方法であって、複数のコンテキストのうち、処理対象ブロックに使用するコンテキストを決定するコンテキスト制御ステップと、制御パラメータが算術符号化されることで得られた、前記処理対象ブロックに対応するビット列を、決定された前記コンテキストを用いて算術復号することで二値配列を復元する算術復号ステップと、前記二値配列を多値化することで前記制御パラメータを復元する多値化ステップとを含み、前記コンテキスト制御ステップでは、前記処理対象ブロックの制御パラメータの信号種別を判定し、前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの復号済の制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの復号済みの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、前記第2種別は、"no_residual_data_flag"である。
 これによれば、当該画像復号方法は、メモリ使用量を削減できる。具体的には、当該画像復号方法は、第2種別の制御パラメータに対しては上ブロックの制御パラメータを使用しないので、上ブロックの第2種別の制御パラメータを保持する必要がない。これにより、当該画像復号方法は、画一的に「隣接ブロックの制御パラメータの値に基づいたコンテキストモデルを利用する」として左ブロックと上ブロックとを利用する場合に比してメモリ使用量を削減することができる。さらに、当該画像復号方法は、画像のBD-rate値評価等を損なわずに、適切に第2種別の制御パラメータのメモリ使用量を削減することができる。
 また、当該画像復号方法は、従来のH.264では考慮されていない、新規なHEVC特有のデータ構造の階層ツリー構造に適したコンテキストの利用、又は、メモリ参照を行うことができる。
 また、前記第2条件は、前記上ブロック及び前記左ブロックの復号済みの制御パラメータを共に利用しない条件であってもよい。
 これによれば、当該画像復号方法は、上ブロックに加え、左ブロックの制御パラメータも使用しないことにより、さらにメモリ使用量を削減できる。
 また、前記コンテキスト制御ステップでは、前記信号種別が前記第2種別である場合に、前記第2条件として、予め定められたコンテキストを前記対象ブロックの算術復号に使用するコンテキストに決定してもよい。
 これによれば、当該画像復号方法は、処理量を低減できる。
 また、前記コンテキスト制御ステップでは、さらに、前記処理対象ブロックの位置に基づき、前記上ブロックの制御パラメータを復号時に利用できるか否かを判定し、前記上ブロックの制御パラメータを利用できない場合に、前記第2条件を用いて前記コンテキストを決定してもよい。
 これによれば、当該画像復号方法は、処理量を低減できる。
 また、前記コンテキスト制御ステップでは、前記処理対象ブロックがスライス境界に属する場合に、前記上ブロックの制御パラメータを復号時に利用できないと判定してもよい。
 また、前記コンテキスト制御ステップでは、前記処理対象ブロックの制御パラメータの属するデータ単位の階層の深さに応じて前記上ブロックの制御パラメータを復号時に利用できるか否かを判定してもよい。
 また、前記第2種別は、予め定められたデータ構造を有する制御パラメータであってもよい。
 また、前記コンテキスト制御ステップでは、さらに、第1単位の制御パラメータの値に基づいて、前記第1単位より小さい第2単位の制御パラメータに対して、前記第1条件を用いて前記コンテキストを決定するか、前記第2条件を用いてコンテキストを決定するかを切り替えてもよい。
 また、前記"split_coding_unit_flag"は、前記処理対象ブロックが、複数のブロックに分割されているか否かを示し、前記"skip_flag"は、前記処理対象ブロックをスキップするか否かを示し、前記"no_residual_data_flagは、前記処理対象ブロック用の残差データが存在するか否かを示してもよい。
 また、前記画像復号方法は、符号化信号に含まれる、第1規格又は第2規格を示す識別子に応じて、前記第1規格に準拠した復号処理と、前記第2規格に準拠した復号処理とを切り替え、前記IDが第1規格を示す場合に、前記第1規格に準拠した復号処理として、前記コンテキスト制御ステップと、前記算術復号ステップと、前記多値化ステップとを行ってもよい。
 また、本発明の一形態に係る画像符号化方法は、算術符号化を用いる画像符号化方法であって、処理対象ブロックの制御パラメータを二値化することで二値配列を生成する二値化ステップと、複数のコンテキストのうち、前記処理対象ブロックに使用するコンテキストを決定するコンテキスト制御ステップと、決定された前記コンテキストを用いて前記二値配列を算術符号化することでビット列を生成する算術符号化ステップとを含み、前記コンテキスト制御ステップでは、前記処理対象ブロックの制御パラメータの信号種別を判定し、前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、前記第2種別は、"no_residual_data_flag"である。
 これによれば、当該画像符号化方法は、メモリ使用量を削減できる。具体的には、当該画像符号化方法は、第2種別の制御パラメータに対しては上ブロックの制御パラメータを使用しないので、上ブロックの第2種別の制御パラメータを保持する必要がない。これにより、当該画像符号化方法は、画一的に「隣接ブロックの制御パラメータの値に基づいたコンテキストモデルを利用する」として左ブロックと上ブロックとを利用する場合に比してメモリ使用量を削減することができる。さらに、当該画像符号化方法は、画像のBD-rate値評価等を損なわずに、適切に第2種別の制御パラメータのメモリ使用量を削減することができる。
 また、当該画像符号化方法は、従来のH.264では考慮されていない、新規なHEVC特有のデータ構造の階層ツリー構造に適したコンテキストの利用、又は、メモリ参照を行うことができる。
 また、本発明の一形態に係る画像復号装置は、算術復号を用いる画像復号装置であって、複数のコンテキストのうち、処理対象ブロックの算術復号に使用するコンテキストを決定するコンテキスト制御部と、制御パラメータが算術符号化されることで得られた、前記処理対象ブロックに対応するビット列を、決定された前記コンテキストを用いて算術復号することで二値配列を復元する算術復号部と、前記二値配列を多値化することで前記制御パラメータを復元する多値化部とを含み、前記コンテキスト制御部は、前記処理対象ブロックの制御パラメータの信号種別を判定し、前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの復号済の制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの復号済みの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、前記第2種別は、"no_residual_data_flag"である。
 これによれば、当該画像復号装置は、メモリ使用量を削減できる。
 また、本発明の一形態に係る画像符号化装置は、算術符号化を用いる画像符号化装置であって、処理対象ブロックの制御パラメータを二値化することで二値配列を生成する二値化部と、複数のコンテキストのうち、前記処理対象ブロックに使用するコンテキストを決定するコンテキスト制御部と、決定された前記コンテキストを用いて前記二値配列を算術符号化することでビット列を生成する算術符号化部とを含み、前記コンテキスト制御部は、前記処理対象ブロックの制御パラメータの信号種別を判定し、前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、前記第2種別は、"no_residual_data_flag"である。
 これによれば、当該画像符号化装置は、メモリ使用量を削減できる。
 また、本発明の一形態に係る画像符号化復号装置は、前記画像復号装置と、前記画像符号化装置とを含む。
 なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
 以下、本発明の一態様に係る画像復号装置および画像符号化装置について、図面を参照しながら具体的に説明する。
 なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態1)
 以下、本発明の実施の形態1に係る画像符号化装置について説明する。本発明の実施の形態1に係る画像符号化装置は、算術符号化において、制御パラメータの信号種別に応じて、(1)上ブロックを利用してコンテキストを決定するか、(2)上ブロックを利用せずにコンテキストを決定するか、を切り替える。これにより、画質の劣化を抑制しつつ、メモリ使用量を削減できる。
 まず、本発明の実施の形態1に係る画像符号化装置の構成を説明する。
 図1は、本実施の形態に係る画像符号化装置100のブロック図である。
 図1に示す画像符号化装置100は、算術符号化を用いる画像符号化装置であり、入力画像信号121を符号化することによりビットストリーム124を生成する。この画像符号化装置100は、制御部101と、差分部102と、変換及び量子化部103と、可変長符号化部104と、逆量子化及び逆変換部105と、加算部106と、画面内予測部107と、画面間予測部108と、スイッチ109とを含む。
 制御部101は、符号化対象の入力画像信号121に基づいて制御パラメータ130を算出する。例えば、制御パラメータ130は、符号化対象の入力画像信号121のピクチャタイプを示す情報、符号化対象ブロックの動き予測単位(Prediction Unit PU)のサイズ、及び、動き予測単位の制御情報等を含む。ここで制御パラメータ130(Control data)はそれ自身が符号化対象となる。よって、制御部101は、この制御パラメータ130を、可変長符号化部104に出力する。
 差分部102は、ブロック単位の入力画像信号121と予測画像信号129との差分値(残差値)である残差信号122を算出する。
 変換及び量子化部103は、残差信号122を周波数係数値に変換し、得られた周波数係数値を量子化することで量子化変換係数123(residual data)を生成する。
 逆量子化及び逆変換部105は、量子化変換係数123を周波数係数値に逆量子化し、得られた周波数係数値を逆変換することで、復元された残差信号125を生成する。
 加算部106は、残差信号125と予測画像信号129とを加算することで復元画像信号126を出力する。
 画面内予測部107は、復元画像信号126を用いて画面内予測処理を行うことで予測画像信号127を生成する。画面間予測部108は、復元画像信号126を用いて画面間予測処理を行うことで予測画像信号128を生成する。
 スイッチ109は、予測画像信号127及び予測画像信号128の一方を選択し、選択した信号を予測画像信号129として出力する。
 可変長符号化部104は、入力されたブロック毎の量子化変換係数123及び制御パラメータ130を、前述のCABACを用いて符号化することでビットストリーム124を生成する。
 次に、可変長符号化部104の構成を説明する。
 図2は、可変長符号化部104の機能ブロック図である。可変長符号化部104は、二値化部141と、コンテキスト制御部142と、二値算術符号化部143とを含む。以下、制御パラメータ130の可変長符号化処理について説明する。なお、量子化変換係数123の可変長符号化処理については説明を省略するが、例えば、既知の技術を用いて実現できる。
 二値化部141は、制御パラメータ130を二値化することで二値配列151を生成する。具体的には、二値化部141は、非特許文献1におけるII. 1) binarizaion処理を実行する処理部である。この二値化部141は、制御パラメータ130を信号種別毎に事前に定められた二値化処理方法によりbin stringと呼ばれる二値配列151に変換する。なお、信号種別と二値化処理方法の対応については後述する。また、二値化部141は、入力された制御パラメータ130がflag等の1バイナリ値である場合は、当該制御パラメータ130をそのまま二値配列151として出力する。
 コンテキスト制御部142は、複数のコンテキスト(確率状態テーブル)のうち、処理対象のブロックに含まれる制御パラメータ130の算術符号化に使用するコンテキストを決定する。また、コンテキスト制御部142は、決定したコンテキストを指定するコンテキストインデクス152を二値算術符号化部143へ出力する。
 具体的には、コンテキスト制御部142は、非特許文献1における2)context modeling処理を実行する処理部である。このコンテキスト制御部142には、二値算術符号化部143が出力した二値配列151に含まれる複数の要素が順次入力される。コンテキスト制御部142は、制御パラメータ130の信号種別とこのバイナリの二値配列151中の要素位置とに応じて、複数のコンテキストのうち、このバイナリに使用するコンテキストを選択し、選択したコンテキストを示すインデクスであるコンテキストインデクス152を二値算術符号化部143に出力する。
 また、コンテキスト制御部142は、コンテキストの状態として、制御パラメータ130の二値配列の個々の要素をさらに条件付確率の条件に詳細区分化した数(いわゆるコンテキストインデクス数)の確率状態テーブルを保持しており、この確率状態テーブルを初期化及び更新する。
 また、コンテキスト制御部142は、信号種別毎(二値配列の要素数が2以上である場合は、制御パラメータ130の二値配列の要素番号毎のことである。以下同じ)に更なる詳細区分として発生条件τ毎(コンテキスト毎)の状態(probability state index)を保持する。この状態は、「0」または「1」の二値のうち、確率が低い方の発生確率P(内分比率:典型的には6bitの値)と、確率の高い方がどちらかを示す値(1bit)との合計7bit値である。また、状態を保持するとは初期化及び更新することである。例えば、更新処理とは、H264と同じく64個の有限の状態間の遷移であり、今どの確率状態probability state(すなわちどの確率)にあるかのindexingを変更することである。
 具体的には、コンテキスト制御部142は、二値のうち確率の高いmost probable側の事象Xが発生した場合は、most probable側である確率の割合を少し増加させる。例えば、コンテキスト制御部142は、64個のテーブルに対応する確率インデクス(probability state index)の値を1増減させることで、most probable側である確率の割合を少し増加させることができる。他方、(予測された確率に反して)確率の低い方の事象not Xが発生した場合には、コンテキスト制御部142は、保持しているmost probableの確率の割合を大きく、所定のスケール係数α(例えば≒0.95)に基づいて減少させる(非特許文献1, Fig 6を参照)。本実施の形態のコンテキスト制御部142は、H.264と同様に、このαを考慮した変更に対応するように、対応付けられたテーブルインデクス変更値に基づいて状態を遷移させて保持している。
 二値算術符号化部143は、コンテキスト制御部142で決定されたコンテキストを用いて二値配列151を算術符号化することでビットストリーム124(ビット列)を生成する。
 具体的には、二値算術符号化部143は、非特許文献1における3)binary arithmetic coding処理を実行する処理部である。この二値算術符号化部143は、コンテキストインデクス152で指定されるコンテキストを用いて、二値配列151を算術符号化することでビットストリーム124を生成する。ここで算術符号化とは、種々の信号種別の制御パラメータ130について発生した事象を確率の累積として扱い、どのような事象がおこったのかを1つの数直線上の所定範囲に範囲を狭めながら対応付けることといえる。
 まず、二値算術符号化部143は、1つの数直線を、コンテキスト制御部142から与えられた、バイナリがとりうる2つの値の発生確率に応じて2つの半区間に内分する。実際に発生したバイナリの値(例えば「0」)が、高い確率(0.5を超える確率(例えば0.75))側の値であった場合には、二値算術符号化部143は、数直線中の範囲の下値限値lowを変更せず維持し、今回の確率0.75に、スケール係数0.95を1回乗算した結果に対応する値を新たな幅Rangeに設定する。一方、実際に発生したバイナリの値が、予測された低い確率側の値であった場合には、二値算術符号化部143は、範囲の下限値lowを、高い方の確率分移動させ、幅Rangeを低い方の確率に応じて変更させる。このように、確率幅Rangeの乗算結果の累積によって区間を保持するが、確率の低い方の値が連続して発生した場合には幅Rangeの長さが演算で確保できる精度以下になる。この場合、二値算術符号化部143は、精度を維持するために幅Rangeを拡大する処理(renorm)を行うとともに現時点の範囲を示すためのビット列を出力する。逆に、確率の高い方(0.95等)の値が連続して発生した場合には、この確率値を乗算したとしても幅Rangeの長さが所定の長さより短くなるまでに何回もの演算(表による実装の場合は状態遷移)を行うことができる。従ってこの場合はビットを出力するまでに累積できるシンボル数が多いことになる。
 図3は、隣接ブロックの制御パラメータ130の値に基づくコンテキストモデルを利用する制御パラメータ130を整理した表である。
 左から列の意味を説明する。
 (c2)信号種別(syntax element)は、制御パラメータ130の信号種別の具体名称を示す。なお、各信号種別の意味は後述する。
 (c3)二値化方式(binarization scheme)は、直左の列で指定される制御パラメータ130(SE)に適用される二値化方式を示す。なお、二値化処理は、上記二値化部141で実行される。また、欄中「固定長」とは、二値化部141が、直左の制御パラメータ130の値を固定長(Fixed Length)の二値配列(bin string)で出力することを意味する。HEVCにおいて信号種別名が"flag"で終わる信号種別の制御パラメータ130は、「0」または「1」のいずれかの値をとる1バイナリ値である。従って、二値化部141の出力する二値配列151の要素は、第1番目の要素(binIdx = 0)のみであり、第2番目以降の要素(binIdx >= 1の要素は出力しない。つまり、二値化部141は、制御パラメータ130の値をそのまま二値配列151として出力する。
 また、欄中「可変長」とは、二値化部141が、制御パラメータ130の値を、その値の発生頻度順に短いバイナリ長になるように対応付けられた可変長のバイナリ列(bin string、又は、二値配列であって要素数≧ 1)を用いて、二値配列化して出力することを示す。例えば、二値化部141は、(Truncated)Unary型、又はUnary型と他の指数のGolomb方式等の複数の方式の組み合わせ等の、信号種別に対応した方式を利用して出力する(非特許文献1、A.Binarizationを参照)。なお、可変長の場合、二値配列151の配列要素は1個である場合もあるが、2個以上になることもある。また、後述する画像復号装置の多値化部では、この二値化方式の逆の変換を行うことにより、入力された二値配列を多値又はフラグ値に復元する。
 (c4) 第1番目要素(binIdx=0)コンテキストインデクスは、コンテキスト制御部142が、c3の欄で指定された二値化方式によって生成されたバイナリ配列に含まれる1番目の要素に対して適用するコンテキストインデクス(増分値)の選択肢を示す。欄中に「0、1、2」と記載されている場合、コンテキスト制御部142は、3つの確率状態テーブル(コンテキスト)から一つの確率状態テーブルを選択して適用することを意味する。例えば、信号種別"skip_flag"については、この1つの信号種別について、条件で細分化なコンテキストインデクスを3つ用意して、つまり、コンテキストを3つ用意して算術符号化を行うことを意味している。
 同様に、c4欄中に「0、1、2、3」と記載されている場合、c2欄で指定される信号種別の制御パラメータ130の値を、c3欄の二値化方式により二値配列化された二値配列151に含まれる第1要素(binIdx = 0)に適用されるコンテキストが0、1、2、または、3の4つの択一であることを意味する。なお、欄中の条件式については後述する。
 (c5) 左ブロック条件L(condL)は、コンテキスト制御部142が、カラムc4において0、1、2の値のいずれかの値を選択するための左ブロックの条件(condition)を示す。この条件は、符号化対象(または復号対象)の制御パラメータに対応する、左ブロックの制御パラメータの値に応じて決定されるtrueまたはfalseの値をとる。
 例えば、制御パラメータ(SE)がskip_flagである場合には、skip_flag[xL][yL]の値がtrue(例えば「1」)であればtrueが、false(例えば「0」)であればfalseが出力される。
 (c6) 上ブロック条件A(condA)は、コンテキスト制御部142が、カラムc4に指定された配列要素の符号化及び復号において0、1、2の値のいずれかの値を選択するための上ブロックの条件(condition)を示す。この条件は、符号化対象(または復号対象)の制御パラメータに対応する、上ブロックの制御パラメータの値に応じて決定されるtrueまたはfalseの値をとる。例えば、制御パラメータ(SE)がskip_flagである場合には、skip_flag[xA][yA]の値がtrue(例えば「1」)であればtrueが、false(例えば「0」)であればfalseが出力される。
 なお、図示していないが、2ビット以上の信号種別には(c7)「binIdx >= 1に適用するコンテキスト増分値」が対応付けられていている。この(c7)は、コンテキスト制御部142が、二値配列の2要素目以降のバイナリ(binIdx >= 1のインデクス値を有するバイナリ配列要素のバイナリ値)に適用するコンテキストモデルを示す。
 本実施の形態に係る画像符号化方法は、上記左ブロック条件L及び上ブロック条件Aについて制御パラメータ130の信号種別に応じて以下の動作を切り替える(異なるパターンを利用して動作する)。
 (パターン1)2個の隣接ブロック(左ブロック条件Lの判定値と上ブロック条件Aの判定値)を使う。
 (パターン2)1個の隣接ブロック(左ブロック条件Lの判定値のみ)を使う。
 (パターン3)0個の隣接ブロックを使う(左ブロック条件Lも上ブロック条件Aも使わない)。
 図4は、図2に示す可変長符号化部104が実行する本実施の形態に係る画像符号化方法を示すフロー図である。
 まず、二値化部141は制御パラメータ130の値を、この制御パラメータ130の信号種別に対応する方式で二値配列化する(S101)。
 次に、コンテキスト制御部142は、この制御パラメータ130の算術符号化に用いるコンテキストの基本値を取得する(S102)。例えば、コンテキスト制御部142は、ピクチャタイプ(I、P、B)に応じてこの基本値を決定する。
 次に、コンテキスト制御部142は、制御パラメータ130の信号種別に応じて、上記パターン1~パターン3のいずれかを用いてコンテキスト値を決定する(S103)。ここで、コンテキスト値を決定するとは、コンテキストの基本値に対する調整値(インクリメント値CtxIdxInc)を決定することと等価である。
 まず、コンテキスト制御部142は、制御パラメータ130の信号種別を判別する(S103)。制御パラメータ130の信号種別がパターン1に対応する第1種別である場合(S104で第1種別)、コンテキスト制御部142は、隣接する2つのブロック(ブロックAとブロックB)の各々の制御パラメータの値から導出された判定値を用いコンテキスト値を決定する(S105)。言い換えると、コンテキスト制御部142は、左ブロック及び上ブロックの2つの隣接ブロックの制御パラメータを利用する条件を用いてコンテキストを決定する。この場合、コンテキスト制御部142は、図3に示す(c5)CondLの判定結果と(c6)condAの判定結果との両方の値を利用する。従って、第1種別の制御パラメータに対してはピクチャの横一列分のデータを保持することになる。
 一方で、制御パラメータ130の信号種別がパターン2に対応する第2種別である場合(S104で第2種別)、コンテキスト制御部142は、1個の隣接ブロック(符号化順で直近の隣接ブロック)の制御パラメータの値を用いてコンテキスト値を決定する(S106)。言い換えると、コンテキスト制御部142は、上ブロックの制御パラメータを利用しない条件を用いてコンテキストを決定する。
 一方で、制御パラメータ130の信号種別がパターン3に対応する第3種別である場合(S104で第3種別)、コンテキスト制御部142は、上ブロック及び左ブロックの制御パラメータを共に利用せずに、固定的にコンテキスト値を決定する(S107)。
 次に、コンテキスト制御部142は、ステップS102で決定されたコンテキストの基本値に、ステップS103で決定された増分値を加算することでコンテキストインデクス値を導出する(S108)。
 最後に、二値算術符号化部143は、第1要素のバイナリ値を、ステップS108で決定されたコンテキストインデクス値で指定されるコンテキスト値を用いて算術符号化することで、ビット列(ビットストリーム124)を生成する(S109)。
 次に、二値配列に含まれる全ての要素に対してステップS102~S109の処理の実行が完了していない場合(S110でNO)、可変長符号化部104は、二値配列に含まれる次の要素に対して、ステップS102~S109の処理を実行する。一方、二値配列に含まれる全ての要素に対してステップS102~S109の処理の実行が完了した場合(S110でYES)、可変長符号化部104は、処理対象ブロックの制御パラメータに対する符号化処理を終了する。
 以上のように、本実施の形態に係る画像符号化装置100は、算術符号化において、第1種別の制御パラメータに対しては、上ブロックを利用してコンテキストを決定し、第2種別及び第3種別の制御パラメータに対しては、上ブロックを利用せずにコンテキストを決定する。
 この構成により、当該画像符号化装置100は、画一的に「隣接ブロックの制御パラメータの値に基づいたコンテキストモデルを利用する」として左ブロックと上ブロックとを利用する場合に比してメモリ使用量を削減することができる。これにより、当該画像符号化装置100は、画質の劣化を抑制しつつ、メモリ使用量を削減できる。
 (実施の形態2)
 本実施の形態では、上記画像符号化装置100により生成されたビットストリーム124を復号する画像復号装置について説明する。
 図5は、本実施の形態に係る画像復号装置200のブロック図である。この画像復号装置200は、算術復号を用いる画像復号装置であり、ビットストリーム124を復号することで画像信号229を生成する。ここでビットストリーム124は、例えば、上述した画像符号化装置100により生成されたビットストリーム124である。
 画像復号装置200は、制御部201と、可変長復号部202と、逆量子化部204と、逆変換部205と、加算部206と、画面内予測部207と、画面間予測部208とを含む。
 画像復号装置200は、所定の処理単位の符号列ごとに復号処理を行う。ここで処理単位は、例えば、スライス単位、又はブロック単位である。
 可変長復号部202は、ビットストリーム124に算術復号を行うことで、制御パラメータ230(control data syntax element)と、量子化変換係数223(Residual data syntax element値)とを生成する。生成された制御パラメータ230は制御部201に出力される。
 制御部201は、制御パラメータ230に応じて画像復号装置200に含まれる処理部を制御する。
 逆量子化部204は、量子化変換係数223を逆量子化することで直交変換係数224を生成する。
 逆変換部205は、直交変換係数224を逆変換することで残差信号225を復元する。加算部206は残差信号225と予測画像信号(画像信号229)とを加算することで復号画像信号226を生成する。
 画面内予測部207は、復号画像信号226を用いて画面内予測処理を行うことで予測画像信号227を生成する。画面間予測部208は、復号画像信号226を用いて画面間予測処理を行うことで予測画像信号228を生成する。
 スイッチ209は、予測画像信号227及び予測画像信号228の一方を選択し、選択した信号を画像信号229(予測画像信号)として出力する。
 次に、可変長復号部202の構成を説明する。
 図6は、可変長復号部202の構成を示す機能ブロック図である。可変長復号部202は、二値算術復号部243と、コンテキスト制御部242と、多値化部241とを含む。以下、制御パラメータ230の可変長復号処理について説明する。なお、量子化変換係数223の可変長復号処理については説明を省略するが、例えば、既知の技術を用いて実現できる。
 コンテキスト制御部242は、複数のコンテキストのうち、処理対象のブロックの制御パラメータ230の算術復号に使用するコンテキストを決定する。また、コンテキスト制御部242は、決定したコンテキストを指定するコンテキストインデクス252を二値算術復号部243へ出力する。
 具体的には、コンテキスト制御部242は、保持する確率遷移モデルとして、図2に示すコンテキスト制御部142と同じコンテキストモデルを用いる。二値算術符号化部143が64個の確率状態を用いる場合は、二値算術復号部243も64個の確率状態を持つ。これは、符号化される数直線上のレンジを、符号化側及び復号側の両方でまったく同じように解釈する必要があるためである。よって、符号化側が、上述したパターン1~3の3つのパターンから選択したパターンと、同じパターンを復号装置側でも用いる。
 二値算術復号部243は、コンテキスト制御部242で決定されたコンテキストを用いてビット列(ビットストリーム124)を算術復号することで二値配列251を復元する。具体的には、二値算術復号部243は、コンテキスト制御部242から与えられたコンテキストインデクスにより指定されるコンテキスト(確率状態テーブル)を用いて、入力されたビット列を二値配列251に復元する。
 多値化部241は、二値配列251を必要であれば多値化することで制御パラメータ230に復元する。このように、画像符号化装置100が備えるコンテキスト制御部142と、画像復号装置200が備えるコンテキスト制御部242とは、ある信号種別の制御パラメータの算術符号化及び算術復号時に双方で同じコンテキストモデルを利用する。
 図7は、可変長復号部202が実行する本実施の形態に係る画像復号方法を示すフロー図である。
 まず、可変長復号部202はビットストリーム124を取得する(S201)。
 次に、コンテキスト制御部242は、ビットストリーム124のデータ構造に応じて復号対象の制御パラメータの信号種別を決定する(S202)。
 次に、コンテキスト制御部242は、復号対象の制御パラメータの算術復号に用いるコンテキストの基本値を決定する(S203)。例えば、コンテキスト制御部242は、ピクチャタイプ(I、P、B)に応じてこの基本値を決定する。
 次に、コンテキスト制御部242は、制御パラメータの信号種別に応じて、上記パターン1~パターン3のいずれかを用いてコンテキスト値を決定する(S204)。ここで、コンテキスト値を決定することとは、コンテキストの基本値に対する調整値(インクリメント値CtxIdxInc)を決定することと等価である。例えば、コンテキスト制御部242は、制御パラメータの信号種別に応じてパターン1~パターン3のいずれを用いるかの判断を、静的に事前に決定された表に従い行なう。
 コンテキスト制御部242は、二値配列251に含まれる第1要素のバイナリの値を算術復号により得るために用いるコンテキストの決定に用いる隣接ブロックを、制御パラメータの信号種別に応じて切り替える。
 まず、コンテキスト制御部242は、制御パラメータ230の信号種別を判定する(S205)。信号種別がパターン1に対応する第1種別である場合(S205で第1種別)、コンテキスト制御部242は、隣接する2つのブロックの各々の制御パラメータを用いてコンテキスト値を決定する(S206)。言い換えると、コンテキスト制御部242は、左ブロック及び上ブロックの2つの隣接ブロックの復号済の制御パラメータを利用する条件を用いてコンテキストを決定する。
 一方、信号種別がパターン2に対応する第2種別である場合(S205で第2種別)、コンテキスト制御部242は、1個の隣接ブロック(符号化順で直近の隣接ブロック)の制御パラメータの値を用いてコンテキスト値を決定する(S207)。言い換えると、コンテキスト制御部242は、上ブロックの復号済みの制御パラメータを利用しない条件を用いてコンテキストを決定する。
 一方、信号種別がパターン3に対応する第3種別である場合(S205で第3種別)、コンテキスト制御部242は、固定的にコンテキスト値を決定する(S208)。言い換えると、コンテキスト制御部242は、上ブロック及び左ブロックの復号済みの制御パラメータを共に利用しない条件を用いてコンテキストを決定する。
 次に、コンテキスト制御部242は、ステップS203で決定されたコンテキストインデクスの基本値と、ステップS204で決定された増分値とを加算することでコンテキストインデクス値を決定する(S209)。
 次に、二値算術復号部243は、コンテキスト制御部242から与えられたコンテキストインデクス値で示されるコンテキスト値を用いて、二値配列の要素の1つを復号により得る(S210)。
 次に、二値配列に含まれる全ての要素に対してステップS203~S210の処理の実行が完了していない場合(S211でNO)、可変長復号部202は、二値配列に含まれる次の要素に対して、ステップS203~S210の処理を実行する。
 一方、二値配列に含まれる全ての要素に対してステップS203~S210の処理の実行が完了した場合(S211でYES)、多値化部241は、上記のステップS203~S210の処理を1回以上繰り返すことで得られた二値配列251の1個以上の要素を多値化することで制御パラメータ230を生成する(S212)。
 以上より、本実施の形態に係る画像復号装置200は、算術復号において、第1種別の制御パラメータに対しては、上ブロックを利用してコンテキストを決定し、第2種別及び第3種別の制御パラメータに対しては、上ブロックを利用せずにコンテキストを決定する。
 この構成により、当該画像復号装置200は、画一的に「隣接ブロックの制御パラメータの値に基づいたコンテキストモデルを利用する」として左ブロックと上ブロックとを利用する場合に比してメモリ使用を削減することができる。これにより、当該画像復号装置200は、画質の劣化を抑制しつつ、メモリ使用量を削減できる。
 なお、多値化部241は、二値配列251がflag等であり、要素数が1つの場合、つまり、1binaryである場合には、当該二値配列251をそのまま出力してもよい。
 また、上述説明に加え、制御部101又は201は図示しない信号線を介して各処理部を制御する処理、又はメモリの値を参照する処理等を行ってもよい。
 また、上記説明では、コンテキスト制御部142又は242は、パターン1~パターン3の3つのパターンを制御パラメータの信号種別に応じて切り替えているが、パターン1~パターン3のうち2つのパターンを信号種別に応じて切り替えてもよい。言い換えると、コンテキスト制御部142又は242は、制御パラメータの信号種別に応じて、上ブロック条件を利用する/しないを切り替えればよい。
 また、コンテキスト制御部142又は242は、このような選択されるコンテキストモデルの切り替え方法(コンテキストモデル増分値を変更する場合も含む、以下同じ)を所定の画像情報に応じて変更してもよい。例えば、コンテキスト制御部142又は242は、メモリ保持量及び各コンテキストの学習回数に影響する画像の横幅のサイズ又はサンプリングフォーマット等に応じて、この切り替え方針自体をさらに切り替えるとしてもよい。
 また、上記説明では、説明の簡略化のために、コンテキスト制御部142又は242が、上ブロック条件を利用する/しないを切り替えるとしたが、コンテキスト制御部142又は242は、上ブロックがそもそも利用できない場合をこれと組み合わせて適用してもよい。例えば、コンテキスト制御部142又は242は、処理対象のスライスがエントロピースライスであるか否か(entropy_slice_flag が1であるか0であるか)に応じて、この切り替え方針自体を変更してもよい。同様に、そもそも上隣接ブロックの利用可能性が担保できない場合には、コンテキスト制御部142又は242は、切り替え方針を、上ブロックを利用しないに変更してもよい。
 例えば、図8に示すように、コンテキスト制御部142又は242は、所定の単位のパラメータの値に応じて(S301)、コンテキストモデルの決定方針を第1の決定規範(S302)と、第2の決定規範(S303)とで切り替えてもよい。ここで、所定の単位のパラメータの値に応じてとは、上述したように、スライスがentropy slice であるか否か等に応じてである。また、第1の決定規範とは、図7に示す処理を行う規範である。第2の決定規範とは、図7に示すステップS204を含まない決定規範であり、例えば従来の決定規範である。これはコンテキストインデクスの増分値を、局所的な所定の単位のパラメータとその単位より大きな単位のパラメータの値とで決定することと等価である。
 すなわち、コンテキスト制御部142又は242は、第1の単位の制御パラメータの値に基づいて、第1の単位より小さい単位に適用される決定規範を他の決定規範に切り替えてもよい。
 また、コンテキスト制御部142又は242は、画像系列の特徴に応じて、使用する決定規範)を変更してもよい。例えば、コンテキスト制御部142又は242は、Iピクチャの間隔(IntraPeriod の設定値)に応じて、使用する決定規範を変更してもよい。
 なお、ここでは、コンテキスト制御部142又は242は、上記の条件に応じて、決定規範を切り替えるとしたが、上ブロックを利用するか否かを切り替えてもよい。
 また、コンテキスト制御部142又は242は、位置的に上ブロックの制御パラメータが符号化又は復号時に利用できるか否かに基づいて、上ブロックの制御パラメータを利用するか否かを決定してもよい。つまり、コンテキスト制御部142又は242は、処理対象のブロック位置に基づき、上ブロックの制御パラメータを復号時に利用できるか否かを判定し、上ブロックの制御パラメータを利用できない場合に、パターン2又はパターン3を用いてコンテキストを決定してもよい。さらに、コンテキスト制御部142又は242は、この上ブロックの参照値を利用できるか否かを、TU、CU、又はPUブロック分割のツリー構造に基づいて決定してもよい。つまり、コンテキスト制御部142又は242は、処理対象の制御パラメータの属するデータ単位の階層の深さに応じて上ブロックの制御パラメータを復号時に利用できるか否かを判定してもよい。
 図9は、HEVC規格におけるピクチャとスライスとブロックとの関係を示す図である。1つのピクチャは1以上のスライスに分割されている。図9に示す例ではピクチャは、2つのスライス(SLICE1及びSLICE2)に分割されている。1つのスライスは、複数のブロック301(例えば、treeblocks)で構成される。ここで、ブロック301は、スライスを所定のサイズに分割した場合に、何かの制御単位として最大の単位であり、その単位を階層分割のrootとした場合のそのrootのサイズである。
 図9に示す例では、SLICE2は、ブロック301A(startTb)からはじまり、ハッチングされたブロック301を経由して右下隅のブロックまでの複数のブロックを含む1シーケンスで構成される。なお、図中ハッチングされたブロックは現在の処理対象となる1つのブロック(Treeblock)である。
 さて、各々のブロック301はN×M画素で構成される。また、1つのブロック301は内部で再帰的に分割(典型的には4分割)される。つまり、1つのTreeblockは概念的に1つの4分木を構成する(QuadTree)。図9に示すブロック301Bでは、4分割された右上のブロックが2階層にわたり再帰的に4分割されている。つまり、ブロック301Bは、左上の0番から右下の9番まで、所定の観点で分割された10個の論理的なユニットを含む。
 ここで、観点とは、符号化単位(CU)についてのtree、又はresidual_dataについてのTree等、あるrootを基点に互いに深さの異なりうる複数の木が観念される。ここで各種の制御パラメータの値はいずれかの葉ノードに属することになる。
 さて、ここで、実際に上ブロックに含まれるある信号種別の制御パラメータの値が「利用できるか(available)否かは」、当該制御パラメータが属する木の種別に依存する。よって、コンテキスト制御部142又は242は、制御パラメータの属する木の種別に従って決定規範を変更してもよい。これは、シンタクス単位に変更することと等価である。例えば、コンテキスト制御部142又は242は、適応フィルタについてのalf_param等のデータ構造のデータに対しては、上ブロックを利用しないパターン2またはパターン3を利用し、他のシンタクスについては従来どおりのコンテキストモデル方針(パターン1)を利用してもよい。つまり、上記第2種別又は第3種別は、予め定められたデータ構造を有する制御パラメータであってもよい。また、これは、隣接の定義のツリーの種別によって変わることを意味する。
 さらに、実際にその制御パラメータの値が利用できるかどうか、又は、メモリ使用量の削減に効果を生じるかは、ブロックの階層関係上の位置に応じて異なる。つまり、コンテキスト制御部142又は242は、ブロックの階層及び階層内の位置に応じて上ブロックを利用するか否かを切り替えてもよい。
 例えば、図9に示すブロック301Bにおける各番号0~9は、復号順であるとする。この場合、番号4のブロックを符号化又は復号する場合に、番号1のブロック及び番号2のブロックの制御パラメータを利用できる。
 さらに、メモリ使用量の削減の観点から、コンテキスト制御部142又は242は、Depth0でないブロックであり、かつ、自己の位置が縦方向分割における2個目以上の要素であれば、上ブロックを利用するパターン1を選択してもよい。ここでdepthとは、rootからの階層数を示す。すなわち、あるブロックをblock[xn],[y0][depth]と規定した場合、処理対象のブロックがblock[xn][(y0) + 1][depth])が成立するブロックであるか否かに応じて、決定規範を変更してもよい。つまり、図9に示す番号4~9のブロックに対して上ブロックが利用される。これは、このツリーの符号化又は復号が、図示された番号順(0から始まり9で終わる順番)であれば、番号4~9のブロックでは、上ブロックに含まれる制御パラメータが利用できることも明らかであるためである。さらに、これらのブロックでは、データの保持は一時的でよいという利点もある。また、このことは、x、y座標に加え階層を含む三次元の位置に応じてコンテキスト値を決定することもいえる。また、上階層のブロックの条件値を下階層のブロックの条件値として利用(踏襲)することが可能である。
 さらに、コンテキスト制御部142又は242は、処理対象のブロックと、他のスライスとの位置関係を考慮して、これらの規範を変更してもよい。以下、図9に示す3つのハッチングしたブロック301A、301B及び301Cの例を説明する。
 ここで、ブロック301Aは、スタートブロックであり、左ブロック及び上ブロックが共に他のスライスに含まれる。ブロック301Bは、上ブロックが別スライスに含まれる。ブロック301Cは、上ブロック及び左ブロックが共に、自己のブロックが含まれるスライスと同じスライスに含まれる。コンテキスト制御部142又は242は、このような条件に応じて、規範を切り替えても良い。つまり、コンテキスト制御部142又は242は、(1)上ブロックが他のスライスに含まれるか否かに応じて規範を切り替えてもよいし、(2)左ブロックが他のスライスに含まれるか否かに応じて規範を切り替えてもよいし、(3)これらの両方に応じて規範を切り替えてもよい。言い換えると、コンテキスト制御部142又は242は、処理対象のブロックがスライス境界に属する場合に、上ブロックの制御パラメータを復号時に利用できないと判定してもよい。これにより、例えば、上のスライス1の復号処理が終了していない場合に、スライス2の内部で自己的に情報が得られるか否かを考慮した復号処理が実現できる。
 以下、階層化された処理単位(多階層ブロック構造)について説明する。図10は、階層化された処理単位(多階層ブロック構造)を説明するための説明図である。
 上記画像符号化装置100は、動画像を処理単位ごとに符号化し、画像復号装置200は、符号化ストリームを処理単位ごとに復号する。この処理単位は、複数の小さな処理単位に分割され、その小さな処理単位がさらに複数のより小さな処理単位に分割されるように、階層化されている。なお、処理単位が小さいほど、その処理単位がある階層は深く、下位にあり、その階層を示す値は大きい。逆に、処理単位が大きいほど、その処理単位がある階層は浅く、上位にあり、その階層を示す値は小さい。
 処理単位には、符号化単位(CU)と予測単位(PU)と変換単位(TU)とがある。CUは、最大128×128画素からなるブロックであり、従来のマクロブロックに相当する単位である。PUは、画面間予測の基本単位である。TUは、直交変換の基本単位であり、そのTUのサイズはPUと同じか、PUよりも一階層小さいサイズである。CUは、例えば4つのサブCUに分割され、そのうちの1つのサブCUは、そのサブCUと同じサイズのPUおよびTUを含む(この場合、PUとTUは互いに重なった状態にある)。例えば、そのPUはさらに4つのサブPUに分割され、TUもさらに4つのサブTUに分割される。なお、処理単位が複数の小さい処理単位に分割される場合、その小さい処理単位をサブ処理単位という。例えば、処理単位がCUの場合では、サブ処理単位はサブCUであり、処理単位がPUの場合では、サブ処理単位はサブPUであり、処理単位がTUの場合では、サブ処理単位はサブTUである。
 具体的には、以下のとおりである。
 ピクチャはスライスに分割される。スライスは最大符号化単位のシーケンスである。最大符号化単位の位置は、最大符号化単位アドレスlcuAddrによって示される。
 最大符号化単位を含むそれぞれの符号化単位は、4つの符号化単位に分割される。その結果、符号化単位の大きさの四分木分割が構成される。符号化単位の位置は、最大符号化単位の左上端のサンプル(画素または係数)を起点とした符号化単位インデクスcuIdxによって示される。
 符号化単位の分割が許可されていない場合、その符号化単位は予測単位として扱われる。符号化単位と同様に、予測単位の位置は、最大符号化単位の左上端のサンプルを起点とした予測単位インデクスpuIdxによって示される。
 予測単位は複数のパーティション(予測単位パーティションまたはサブPU)を含んでいてもよい。予測単位パーティションは、予測単位の左上端のサンプルを起点とした予測単位パーティションインデクスpuPartIdxによって示される。
 予測単位は複数の変換単位を含んでいてもよい。符号化単位と同様に、変換単位は4つの小さいサイズの変換単位(サブ変換単位)に分割されてもよい。このことは、残差信号の四分木分割を許可する。変換単位の位置は、予測単位の左上端のサンプルを起点とした変換単位インデクスtuIdxによって示される。
 ここで、各処理単位の定義は以下のとおりである。
 CTB(coding tree block):正方形領域の四分木分割を特定するための基本単位。CTBは正方形の多様なサイズを有する。
 LCTB(largest coding tree block):スライスにおいて許可される最も大きいサイズのCTB。スライスは重複しない複数のLCTBからなる。
 SCTB(smallest coding tree block):スライスにおいて許可される最も小さいサイズのCTB。SCTBをより小さいCTBに分割することは許可されていない。
 PU(prediction unit):予測処理を特定するための基本単位。PUのサイズは、分割が許可されていないCUのサイズと同じである。CUでは、CUを4つの正方形領域に分割することが許可されているのに対して、PUでは、PUを任意の形状の複数のパーティションに分割することができる。
 TU(transform unit):変換および量子化を特定するための基本単位。
 CU(coding unit):CTBと同一。
 LCU(largest coding unit):最も大きいCTBと同一。
 SCU(smallest coding unit):最も小さいCTBと同一。
 また、量子化パラメータは、デルタ量子化スケールパラメータ(delta QPまたはQP delta)、量子化オフセットパラメータ、インデクス(Qmatrix select idc)および量子化デッドゾーンオフセットパラメータのうちの少なくとも1つを含む。なお、インデクスは、複数の量子化スケールマトリクスから1つを選択するためのものである。
 デルタ量子化スケールパラメータ(delta QP or QP delta)は、変換係数に適用されるべき量子化スケールパラメータと、シーケンスヘッダまたはスライスヘッダで指定される量子化スケールパラメータ(または、Z走査順で直前の量子化スケールパラメータ)との差分である。
 量子化オフセットパラメータは、量子化オフセットとも呼ばれ、量子化を行う際の信号の丸め方の調整値(オフセット値)である。したがって、画像符号化装置100は、量子化を行うときには、その量子化オフセットを符号化し、画像復号装置200は、その符号化された量子化オフセットを復号する。そして、画像復号装置200は、変換係数を逆量子化する際には、その量子化オフセットを用いた補正を行う。
 インデクス(Qmatrix select idc)は、適応量子化マトリクスとも呼ばれ、複数の量子化スケーリングマトリクスから何れの量子化スケーリングマトリクスを用いるかを示すインデクスである。また、Qmatrix select idcは、1つの量子化スケーリングマトリクスしかない場合には、その量子化スケーリングマトリクスを使うか否かを示す。なお、適応用量子化マトリクスはブロック単位(処理単位)で制御可能である。
 量子化デッドゾーンオフセットパラメータは、適応デッドゾーンとも呼ばれ、デッドゾーンをブロック毎に適応的に変更するための制御情報である。デッドゾーンは、周波数係数が量子化によって0となる幅(量子化後に+1または-1となる直前の幅)である。
 なお、上記説明では、パターン3として予め定められた固定値をコンテキスト値として用いる例を述べたが、上ブロック及び左ブロックの制御パラメータを共に利用しない条件であればよく、パターン3として上ブロック及び左ブロックの制御パラメータの条件を含まない条件を用いてもよい。例えば、パターン3として、コンテキスト制御部142又は242は、制御パラメータの属するデータ単位の階層の深さに応じてコンテキストを決定してもよい。
 (実施の形態3)
 本実施の形態では、上記第1種別及び第2種別(又は第3種別)としてどのような信号種別を利用すべきかについて説明する。
 具体的には、本発明者は、図3(非特許文献2、9.3.3.1.1.1節)に示された信号種別のうち以下の信号種別の個々について検証を行った。個々の信号種別について検証を行ったのは、パラメータが多岐にわたり、1つの信号種別についての検証結果(パターン1~パターン3のいずれがよいか)から、他の信号種別の各パターンが妥当性を満たすかあるかの予見が困難であるためである。
 検証は JCTVC-E700, "Common test conditions and software reference configurations"(非特許文献3参照)に記載された構成(設定パラメータ、及びソフトウェアバージョンHM3.0)に準拠する。また、テスト画像の長さは全て49フレームに制限した結果である。
 本実施の形態に係る画像符号化方法及び画像復号方法はCABACに関するものである。よって、Entropy Codingモードとして、SymbolModeの値が1(# 0:LCEC, 1:CABAC )である設定値のセットである以下の4つのテストパターンを用いて検証を行った。
 4.1 Intra, high-efficiency setting
 4.3 Random access, high-efficiency setting
 4.5 Low delay, high-efficiency setting
 4.7 Low delay, high-efficiency setting (P slices only)
 また、評価は、HEVCでの実装評価に統一的な評価尺度として利用されている"BD-RATE"値とよばれる評価値を用いる。Y BD-rate、U BD-rate、及びV BD-rateは、色空間Y, U, VについてのBD-rateであり、評価尺度値である。ここでBD-rateとは、VCEG-AI11(非特許文献4)に記載されている、2組の符号量とPSNRの結果とを積分し、その面積の比によって符号化効率を表した評価値ある。また、BD-rateがマイナスの値を示す場合に符号化効率が良くなったことを示している。比較の基準はパターン1を実装する参照プログラムの出力結果であり、今回の結果は、パターン2及びパターン3の各々のパターン1に対する値を示している。
 以下、各信号種別の検証結果を説明する。
 (第1の検証)"split_coding_unit_flag"
 (第2の検証)"skip_flag"
 (第3の検証)"no_residual_data_flag"
 (第1の検証)"split_coding_unit_flag"
 図11はsplit_coding_unit_flagの算術復号方法について説明するための表である。
 検証においては、検証対象の信号種別のみ、コンテキストモデルをパターン1からパターン2またはパターン3に変更し、他の信号種別、及び非特許文献3で指定する検証用パラメータについては変更をせず検証を行っている。また、図11の欄中の値で「固定」とは、コンテキスト値(又は増分値)の導出において、「固定」が記載された列の条件(左ブロック条件又は上ブロック条件を用いないことである。つまり、左ブロック条件及び右ブロック条件の一方の条件のみが「固定」の場合は、他方の条件のみが用いられる。また、左ブロック条件及び右ブロック条件の両方が「固定」の場合には、コンテキスト値(又は増分値)として予め定められた値(例えば「0」)が用いられる。
 信号種別"split_coding_unit_flag"の意味は、以下で定義される。
 split_coding_unit_flag[x0][y0]は、対象のCUが水平及び垂直のサイズが半分の複数のCUに分割されるか否かを示す。x0及びy0は、画像の左上隅に位置する輝度サンプルを基準とした、対象のCUの左上隅に位置する輝度サンプルの座標を示す。つまり、split_coding_unit_flagは、対象のCUが4分割されているか否かを示す。具体的には、split_coding_unit_flagの値が「1」の場合、対象のCUは分割されており、当該値が「0」の場合、対象のCUは分割されていない。
 このsplit_coding_unit_flagは、syntaxとしてCoding tree syntaxにデータ構造化される。画像復号装置は、このデータ構造のシンタクスに準じてビット列を解釈する。
 図12A及び図12Bはsplit_coding_unit_flagについての検証結果を示す表である。
 図12Aは、(パターン2)1個の隣接ブロック(左ブロック条件Lの判定値のみ)が用いられる場合の検証結果を示す。図12Bは、(パターン3)0個の隣接ブロックが用いられる(上ブロック条件Lも左も用いられない)場合の検証結果を示す。
 また、図12A及び図12Bに示す検証結果は、上述した4つのテストパターンのBD-Rate値の増減を示す。
 また、評価値は、左ブロック及び上ブロックの両方を用いるパターン1の場合の評価値との相対的な値を示す評価尺度である。具体的には、評価値が正の値であればその結果はパターン1の場合の評価値(BD-rate)よりも悪い。また、評価値が負の値であればその結果はパターン1の場合の評価値よりも改善されている。
 この結果によれば、split_coding_unit_flagに関しては、コンテキストモデルのパターンとしてパターン1が優れていることがわかる。言い換えると、パターン2及びパターン3はパターン1より評価値が悪い。
 従って、コンテキスト制御部142及び242は、制御パラメータの信号種別が  "split_coding_unit_flag" である場合は、BD-rateの観点より、従来通りのコンテキストモデルのパターンであるパターン1を利用してコンテキスト値を決定する。
 (第2の検証)"skip_flag"
 図13はskip_flagの算術復号方法について説明するための表である。なお、検証方法は、上述した第1の検証と同様である。
 信号種別"skip_flag"の意味は以下で定義される。
 P又はBスライスを復号する場合において、skip_flag[x0][y0]の値が「1」の場合、当該skip_flag[x0][y0]の後に、予測動きベクトルインデクス以外に、現在のCU用のシンタックスエレメントが存在しないことを意味する。また、skip_flag[x0][y0]の値が「1」の場合、現在のCUがスキップされないことを意味する。x0及びy0は、画像の左上隅に位置する輝度サンプルを基準とした、対象のCUの左上隅に位置する輝度サンプルの座標を示す。つまり、skip_flagは、対象のCUをスキップするか(スキップドブロックとして扱うか)否かを示す。
 このskip_flagは、syntaxとしてCoding unit syntaxにデータ構造化される。つまり、skip_flagはCUごとに設定される。画像復号装置では、このデータ構造のシンタクスに準じて、ビット列を解釈する。
 図14A及び図14Bはskip_flagについての検証結果を示す表である。
 図14Aは、(パターン2)1個の隣接ブロック(左ブロック条件Lの判定値のみ)が用いられる場合の検証結果を示す。図14Bは、(パターン3)0個の隣接ブロックが用いられる(上ブロック条件Lも左も用いられない)場合の検証結果を示す。
 なお、図14A及び図14Bに示す検証結果は、第1の検証と同様に、上述した4つのテストパターンのBD-Rate値の増減を示す。また、評価値の意味は第1の検証と同様である。
 この結果によれば、"skip_flag"に関しては、コンテキストモデルのパターンとしてパターン1が優れていることがわかる。言い換えると、パターン2及びパターン3はパターン1より評価値が悪い。
 従って、コンテキスト制御部142及び242は、制御パラメータの信号種別が "skip_flag"である場合は、BD-rateの観点より、従来通りのコンテキストモデルのパターンであるパターン1を利用してコンテキスト値を決定する。
 (第3の検証)"no_residual_data_flag"
 図15Aは"no_residual_data_flag"の算術復号方法について説明するための表である。
 信号種別"no_residual_data_flag"の意味は以下で定義される。
 no_residual_data_flagが「1」の場合、現在のCU用の残差データが存在しない。no_residual_data_flagが「0」の場合、現在のCU用の残差データが存在する。no_residual_data_flagが存在しない場合、その値は「0」とみなされる。
 このno_residual_data_flagは、syntaxとして前述の木の種別のうち、Transform Tree中にデータ構造化される。図15Bは、Transform tree syntaxを示す表である。画像復号装置では、このデータ構造のシンタクスに準じて、ビット列を解釈する。
  図16A及び図16Bは、"no_residual_data_flag"についての検証結果を示す表である。
 図16Aは、(パターン2)1個の隣接ブロック(左ブロック条件Lの判定値のみ)が用いられる場合の検証結果を示す。図16Bは、(パターン3)0個の隣接ブロックが用いられる(上ブロック条件Lも左も用いられない)場合の検証結果を示す。
 なお、図16A及び図16Bに示す検証結果は、第1の検証と同様に、上述した4つのテストパターンのBD-Rate値の増減を示す。また、評価値の意味は第1の検証と同様である。
 この結果によれば、前述の第1の検証のsplit_coding_unit_flag、及び、第2の検証のskip_flagとは結果が異なり、この no_residual_data_flagに関しては、コンテキストモデルのパターンとしてパターン1と、パターン2またはパターン3との間にBD-rateの大きな差が発生していない。
 従って、コンテキスト制御部142及び242は、複数の信号種別の制御パラメータが混在する環境において、特に、信号種別がno_residual_data_flagである場合は、隣接ブロックとして上ブロックを利用しないでコンテキスト値を決定する。つまり、コンテキスト制御部142及び242は、制御パラメータの信号種別がno_residual_data_flagである場合は、パターン2又はパターン3を用いてコンテキスト値を決定する。言い換えると、上記第1種別は、"split_coding_unit_flag"、または、"skip_flag"を含み、上記第2種別又は第3種別は、"no_residual_data_flag"を含む。これにより、本実施の形態に係る画像符号化装置及び画像復号装置は、BD-rate値の低下を抑えつつ、メモリ使用量を削減することができる。
 なお、no_residual_data_flagに対するパターン2とパターン3とを比較した場合、これらのBD-rateには大きな差が発生していない。よって、no_residual_data_flagに対してパターン3を用いることがより好ましい。これにより、さらなるメモリ使用量の削減、及び処理量の削減を実現できる。
 ここで、no_residual_data_flagは、輝度及び色差の係数(残差)の有無を示す。また、この残差は、イントラ予測の場合には大きくなり、インター予測の場合には小さくなる。よって、周囲のブロックのモードが、対象ブロックのモードと異なる場合(特性が異なる場合)には、符号化効率が低下する。例えば、対象ブロックがイントラ予測され、周囲のブロックがインター予測されている場合、対象ブロックの残差は小さく、周囲のブロックの残差は大きくなる。これにより、周囲のコンテキストを用いると符号化効率が低下する。従って、コンテキスト制御部142及び242は、周囲のブロックに依存せずに、対象ブロックのコンテキストを利用することにより符号化効率を向上させることが可能になる。
 以上、本発明の実施の形態に係る画像符号化装置及び画像復号装置について説明したが、本発明は、この実施の形態に限定されるものではない。
 例えば、上記実施の形態1~3に係る、画像符号化装置、画像復号装置及びそれらの変形例の機能のうち少なくとも一部を組み合わせてもよい。
 また、上記で用いた数字及び論理値は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。
 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 また、上記の画像符号化装置による画像符号化方法、及び画像復号装置による画像復号方法における、各ステップが実行される順序は、本発明を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
 (実施の形態4)
 上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
 図19は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図19のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局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の例に限らず、図20に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の一態様に係る画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の一態様に係る画像復号装置として機能する)。
 また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
 図21は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)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の構成を図22に示す。情報再生/記録部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はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図23に光ディスクである記録メディア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の構成は例えば図21に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
 図24Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
 さらに、携帯電話ex114の構成例について、図24Bを用いて説明する。携帯電話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において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態5)
 上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
 ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
 この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図25は、多重化データの構成を示す図である。図25に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(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が、それぞれ割り当てられている。
 図26は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図27は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図27における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図27の矢印yy1,yy2,yy3,yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 図28は、多重化データに最終的に書き込まれる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フィルタへの転送開始時刻を示す。多重化データには図28下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号は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時間の情報を持つ。
 図29はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
 記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
 多重化データ情報ファイルは、図30に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
 多重化データ情報は図30に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
 ストリーム属性情報は図31に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
 本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
 また、本実施の形態における動画像復号化方法のステップを図32に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
 このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
 (実施の形態6)
 上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図33に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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (実施の形態7)
 上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
 この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図34は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
 より具体的には、駆動周波数切替え部ex803は、図33のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図33の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態5で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態5で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図36のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
 図35は、本実施の形態の方法を実施するステップを示している。まず、ステップ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を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
 (実施の形態8)
 テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
 この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図37Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明の一態様に特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。特に、本発明の一態様は、算出復号に特徴を有していることから、例えば、算術復号については専用の復号処理部ex901を用い、それ以外の逆量子化、デブロッキング・フィルタ、動き補償のいずれか、または、全ての処理については、復号処理部を共有することが考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
 また、処理を一部共有化する他の例を図37Bのex1000に示す。この例では、本発明の一態様に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の一態様に係る動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明の一態様、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
 このように、本発明の一態様に係る動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
 本発明は、画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置に適用でき、特に、算術符号化及び算術復号を行う画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置に利用可能である。
 100 画像符号化装置
 101 制御部
 102 差分部
 103 変換及び量子化部
 104 可変長符号化部
 105 逆量子化及び逆変換部
 106、206 加算部
 107、207 面内予測部
 108、208 面間予測部
 109、209 スイッチ
 121 入力画像信号
 122、125、225 残差信号
 123、223 量子化変換係数
 124 ビットストリーム
 126 復元画像信号
 127、128、129、227、228 予測画像信号
 130、230 制御パラメータ
 141 二値化部
 142、242 コンテキスト制御部
 143 二値算術符号化部
 151、251 二値配列
 152、252 コンテキストインデクス
 200 画像復号装置
 201 制御部
 202 可変長復号部
 204 逆量子化部
 205 逆変換部
 224 直交変換係数
 226 復号画像信号
 229 画像信号
 241 多値化部
 243 二値算術復号部

Claims (14)

  1.  算術復号を用いる画像復号方法であって、
     複数のコンテキストのうち、処理対象ブロックに使用するコンテキストを決定するコンテキスト制御ステップと、
     制御パラメータが算術符号化されることで得られた、前記処理対象ブロックに対応するビット列を、決定された前記コンテキストを用いて算術復号することで二値配列を復元する算術復号ステップと、
     前記二値配列を多値化することで前記制御パラメータを復元する多値化ステップとを含み、
     前記コンテキスト制御ステップでは、
     前記処理対象ブロックの制御パラメータの信号種別を判定し、
     前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの復号済の制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、
     前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの復号済みの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、
     前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、
     前記第2種別は、"no_residual_data_flag"である
     画像復号方法。
  2.  前記第2条件は、前記上ブロック及び前記左ブロックの復号済みの制御パラメータを共に利用しない条件である
     請求項1記載の画像復号方法。
  3.  前記コンテキスト制御ステップでは、
     前記信号種別が前記第2種別である場合に、前記第2条件として、予め定められたコンテキストを前記対象ブロックの算術復号に使用するコンテキストに決定する
     請求項2記載の画像復号方法。
  4.  前記コンテキスト制御ステップでは、さらに、
     前記処理対象ブロックの位置に基づき、前記上ブロックの制御パラメータを復号時に利用できるか否かを判定し、
     前記上ブロックの制御パラメータを利用できない場合に、前記第2条件を用いて前記コンテキストを決定する
     請求項1~3のいずれか1項に記載の画像復号方法。
  5.  前記コンテキスト制御ステップでは、
     前記処理対象ブロックがスライス境界に属する場合に、前記上ブロックの制御パラメータを復号時に利用できないと判定する
     請求項4記載の画像復号方法。
  6.  前記コンテキスト制御ステップでは、
     前記処理対象ブロックの制御パラメータの属するデータ単位の階層の深さに応じて前記上ブロックの制御パラメータを復号時に利用できるか否かを判定する
     請求項4記載の画像復号方法。
  7.  前記第2種別は、予め定められたデータ構造を有する制御パラメータである
     請求項1~6のいずれか1項に記載の画像復号方法。
  8.  前記コンテキスト制御ステップでは、さらに、
     第1単位の制御パラメータの値に基づいて、前記第1単位より小さい第2単位の制御パラメータに対して、前記第1条件を用いて前記コンテキストを決定するか、前記第2条件を用いてコンテキストを決定するかを切り替える
     請求項1~7のいずれか1項に記載の画像復号方法。
  9.  前記"split_coding_unit_flag"は、前記処理対象ブロックが、複数のブロックに分割されているか否かを示し、
     前記"skip_flag"は、前記処理対象ブロックをスキップするか否かを示し、
     前記"no_residual_data_flagは、前記処理対象ブロック用の残差データが存在するか否かを示す
     請求項1~8のいずれか1項に記載の画像復号方法。
  10.  前記画像復号方法は、符号化信号に含まれる、第1規格又は第2規格を示す識別子に応じて、前記第1規格に準拠した復号処理と、前記第2規格に準拠した復号処理とを切り替え、
     前記IDが第1規格を示す場合に、前記第1規格に準拠した復号処理として、前記コンテキスト制御ステップと、前記算術復号ステップと、前記多値化ステップとを行う
     請求項1~9のいずれか1項に記載の画像復号方法。
  11.  算術符号化を用いる画像符号化方法であって、
     処理対象ブロックの制御パラメータを二値化することで二値配列を生成する二値化ステップと、
     複数のコンテキストのうち、前記処理対象ブロックに使用するコンテキストを決定するコンテキスト制御ステップと、
     決定された前記コンテキストを用いて前記二値配列を算術符号化することでビット列を生成する算術符号化ステップとを含み、
     前記コンテキスト制御ステップでは、
     前記処理対象ブロックの制御パラメータの信号種別を判定し、
     前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、
     前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、
     前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、
     前記第2種別は、"no_residual_data_flag"である
     画像符号化方法。
  12.  算術復号を用いる画像復号装置であって、
     複数のコンテキストのうち、処理対象ブロックの算術復号に使用するコンテキストを決定するコンテキスト制御部と、
     制御パラメータが算術符号化されることで得られた、前記処理対象ブロックに対応するビット列を、決定された前記コンテキストを用いて算術復号することで二値配列を復元する算術復号部と、
     前記二値配列を多値化することで前記制御パラメータを復元する多値化部とを含み、
     前記コンテキスト制御部は、
     前記処理対象ブロックの制御パラメータの信号種別を判定し、
     前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの復号済の制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、
     前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの復号済みの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、
     前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、
     前記第2種別は、"no_residual_data_flag"である
     画像復号装置。
  13.  算術符号化を用いる画像符号化装置であって、
     処理対象ブロックの制御パラメータを二値化することで二値配列を生成する二値化部と、
     複数のコンテキストのうち、前記処理対象ブロックに使用するコンテキストを決定するコンテキスト制御部と、
     決定された前記コンテキストを用いて前記二値配列を算術符号化することでビット列を生成する算術符号化部とを含み、
     前記コンテキスト制御部は、
     前記処理対象ブロックの制御パラメータの信号種別を判定し、
     前記信号種別が第1種別である場合に、前記処理対象ブロックに隣接する左ブロック及び上ブロックの制御パラメータを共に利用する第1条件を用いて前記コンテキストを決定し、
     前記信号種別が、前記第1種別と異なる第2種別である場合に、前記上ブロックの制御パラメータを利用しない第2条件を用いて前記コンテキストを決定し、
     前記第1種別は、"split_coding_unit_flag"、または、"skip_flag"であり、
     前記第2種別は、"no_residual_data_flag"である
     画像符号化装置。
  14.  請求項12記載の画像復号装置と、
     請求項13記載の画像符号化装置とを含む
     画像符号化復号装置。
PCT/JP2012/004061 2011-06-28 2012-06-22 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 WO2013001765A1 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
RU2013152159/08A RU2602671C2 (ru) 2011-06-28 2012-06-22 Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений
AU2012277215A AU2012277215B2 (en) 2011-06-28 2012-06-22 Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP12804513.5A EP2728867A4 (en) 2011-06-28 2012-06-22 IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING / DECODING DEVICE
JP2013522740A JP5933546B2 (ja) 2011-06-28 2012-06-22 復号方法及び復号装置
CN201280025470.2A CN103563377B (zh) 2011-06-28 2012-06-22 解码方法及解码装置
CA2837535A CA2837535C (en) 2011-06-28 2012-06-22 Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
BR122022013246-4A BR122022013246B1 (pt) 2011-06-28 2012-06-22 Aparelho de decodificação para decodificar um parâmetro de controle para controlar decodificação de uma imagem, e aparelho de codificação para codificar um parâmetro de controle para controlar codificação de uma imagem
MX2013012980A MX2013012980A (es) 2011-06-28 2012-06-22 Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodififcacion de imagenes.
EP23196609.4A EP4300956A1 (en) 2011-06-28 2012-06-22 Decoding apparatus and encoding apparatus
KR1020137031181A KR102062284B1 (ko) 2011-06-28 2012-06-22 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
BR112013030181-3A BR112013030181B1 (pt) 2011-06-28 2012-06-22 Método de decodificação para decodificar um parâmetro de controle para controlar decodificação de uma imagem, e método de codificação para codificar um parâmetro de controle para controlar codificação de uma imagem

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161501954P 2011-06-28 2011-06-28
US61/501,954 2011-06-28

Publications (1)

Publication Number Publication Date
WO2013001765A1 true WO2013001765A1 (ja) 2013-01-03

Family

ID=47390679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/004061 WO2013001765A1 (ja) 2011-06-28 2012-06-22 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置

Country Status (13)

Country Link
US (3) US9363525B2 (ja)
EP (2) EP2728867A4 (ja)
JP (4) JP5933546B2 (ja)
KR (1) KR102062284B1 (ja)
CN (3) CN106878724B (ja)
AU (1) AU2012277215B2 (ja)
BR (2) BR122022013246B1 (ja)
CA (1) CA2837535C (ja)
MX (1) MX2013012980A (ja)
MY (1) MY165469A (ja)
RU (1) RU2602671C2 (ja)
TW (1) TW201316775A (ja)
WO (1) WO2013001765A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113711600A (zh) * 2019-04-26 2021-11-26 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112013030469B1 (pt) 2011-06-23 2022-07-26 Sun Patent Trust Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, aparelho de codificação de imagem, e aparelho de codificação e decodificação de imagem
USRE47366E1 (en) 2011-06-23 2019-04-23 Sun Patent Trust Image decoding method and apparatus based on a signal type of the control parameter of the current block
US9106919B2 (en) 2011-06-24 2015-08-11 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP3407610B1 (en) 2011-06-24 2019-09-04 Sun Patent Trust Coding method and coding apparatus
EP4270950A3 (en) 2011-06-27 2024-02-14 Sun Patent Trust Encoding apparatus and decoding apparatus
EP2728867A4 (en) 2011-06-28 2014-12-03 Panasonic Ip Corp America IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING / DECODING DEVICE
KR102006032B1 (ko) 2011-06-29 2019-07-31 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
WO2013001769A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR102007047B1 (ko) 2011-06-30 2019-08-02 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
RU2714371C2 (ru) 2011-07-11 2020-02-14 Сан Пэтент Траст Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений
US9948938B2 (en) * 2011-07-21 2018-04-17 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
US20140241558A1 (en) * 2013-02-27 2014-08-28 Nokia Corporation Multiple Audio Display Apparatus And Method
US10003792B2 (en) 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
US9715005B2 (en) 2013-06-06 2017-07-25 Zih Corp. Method, apparatus, and computer program product improving real time location systems with multiple location technologies
US10609762B2 (en) 2013-06-06 2020-03-31 Zebra Technologies Corporation Method, apparatus, and computer program product improving backhaul of sensor and other data to real time location system network
US10437658B2 (en) 2013-06-06 2019-10-08 Zebra Technologies Corporation Method, apparatus, and computer program product for collecting and displaying sporting event data based on real time data for proximity and movement of objects
US11423464B2 (en) 2013-06-06 2022-08-23 Zebra Technologies Corporation Method, apparatus, and computer program product for enhancement of fan experience based on location data
US9699278B2 (en) 2013-06-06 2017-07-04 Zih Corp. Modular location tag for a real time location system network
US9517417B2 (en) 2013-06-06 2016-12-13 Zih Corp. Method, apparatus, and computer program product for performance analytics determining participant statistical data and game status data
US20140364973A1 (en) 2013-06-06 2014-12-11 Zih Corp. Method, apparatus, and computer program product for monitoring health, fitness, operation, or performance of individuals
US10136140B2 (en) 2014-03-17 2018-11-20 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
CN106461754B (zh) 2014-06-05 2019-10-11 斑马技术公司 用于自适应开窗和高分辨率toa确定的接收器处理器
US9953195B2 (en) 2014-06-05 2018-04-24 Zih Corp. Systems, apparatus and methods for variable rate ultra-wideband communications
US10261169B2 (en) 2014-06-05 2019-04-16 Zebra Technologies Corporation Method for iterative target location in a multiple receiver target location system
US9626616B2 (en) 2014-06-05 2017-04-18 Zih Corp. Low-profile real-time location system tag
US9668164B2 (en) 2014-06-05 2017-05-30 Zih Corp. Receiver processor for bandwidth management of a multiple receiver real-time location system (RTLS)
US20150375083A1 (en) 2014-06-05 2015-12-31 Zih Corp. Method, Apparatus, And Computer Program Product For Enhancement Of Event Visualizations Based On Location Data
US9661455B2 (en) 2014-06-05 2017-05-23 Zih Corp. Method, apparatus, and computer program product for real time location system referencing in physically and radio frequency challenged environments
US9759803B2 (en) 2014-06-06 2017-09-12 Zih Corp. Method, apparatus, and computer program product for employing a spatial association model in a real time location system
EP3152585B1 (en) 2014-06-06 2022-04-27 Zebra Technologies Corporation Method, apparatus, and computer program product improving real time location systems with multiple location technologies
CN106416254B (zh) 2015-02-06 2019-08-02 微软技术许可有限责任公司 在媒体编码期间跳过评估阶段
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
ES2699748B2 (es) * 2016-07-05 2021-05-13 Kt Corp Metodo y aparato para procesar senal de video
JP6832712B2 (ja) * 2017-01-13 2021-02-24 任天堂株式会社 振動制御システム、振動制御装置、振動制御プログラムおよび振動制御方法
CN117834876A (zh) * 2019-06-14 2024-04-05 松下电器(美国)知识产权公司 编码装置、解码装置和非暂时性的计算机可读取介质

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53142227A (en) 1977-05-18 1978-12-11 Toshiba Shiyashin Youhin Kk Light control type electrooflashing device
JPS60125210A (ja) 1983-12-08 1985-07-04 Agency Of Ind Science & Technol ポリイミド膜の製膜改善方法
TW330976B (en) 1995-12-18 1998-05-01 Lg Electronics Inc Constant temperature dehumidifying device for air regulator and control method thereof
EP1404133A4 (en) 2001-06-29 2010-04-21 Ntt Docomo Inc IMAGE ENCODER, IMAGE DECODER, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
US7457359B2 (en) * 2001-09-26 2008-11-25 Mabey Danny L Systems, devices and methods for securely distributing highly-compressed multimedia content
US7457358B2 (en) * 2001-09-26 2008-11-25 Interact Devices, Inc. Polymorphic codec system and method
CN1484922A (zh) 2001-11-06 2004-03-24 松下电器产业株式会社 运动图像编码方法及运动图像解码方法
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
ES2576629T3 (es) 2002-04-19 2016-07-08 Panasonic Intellectual Property Corporation Of America Método de cálculo de vectores de movimiento
AU2003235174A1 (en) 2002-04-19 2003-11-03 Matsushita Electric Industrial Co., Ltd Method for calculating motion vector
JP3807342B2 (ja) 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
JP2003319391A (ja) 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
DK1467491T3 (da) 2002-05-02 2007-03-19 Fraunhofer Ges Forschung Arithmetical coding of transform coefficients
AU2003242037A1 (en) 2002-07-02 2004-01-23 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
ES2650068T3 (es) 2002-08-08 2018-01-16 Godo Kaisha Ip Bridge 1 Procedimiento de codificación y procedimiento de descodificación de imágenes en movimiento
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
JP2004297768A (ja) 2003-03-10 2004-10-21 Mitsubishi Electric Corp 映像信号符号化装置、および映像信号符号化方法
EP1603338A4 (en) 2003-03-10 2007-12-05 Mitsubishi Electric Corp APPARATUS AND METHOD FOR VIDEO SIGNAL CODING
US7945102B2 (en) 2003-03-24 2011-05-17 Sony Corporation Data encoding apparatus, data encoding method, data output apparatus, data output method, signal processing system, signal processing apparatus, signal processing method, data decoding apparatus, and data decoding method
US7630440B2 (en) 2003-05-28 2009-12-08 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US7426308B2 (en) 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
TWI330976B (en) 2003-12-05 2010-09-21 Trident Microsystems Far East Method and apparatus for encoding/decoding dynamic graphic content
JP2005184042A (ja) 2003-12-15 2005-07-07 Sony Corp 画像復号装置及び画像復号方法並びに画像復号プログラム
EP1551185A1 (en) 2004-01-05 2005-07-06 Thomson Licensing S.A. Encoding method, decoding method, and encoding apparatus for a digital picture sequence
US20090102973A1 (en) * 2004-01-09 2009-04-23 Harris Scott C Video split device
US8190003B2 (en) 2004-01-14 2012-05-29 Samsung Electronics Co., Ltd. Storage medium storing interactive graphics stream activated in response to user's command, and reproducing apparatus for reproducing from the same
KR100608050B1 (ko) 2004-01-14 2006-08-02 삼성전자주식회사 사용자의 요구에 의해 활성화되는 인터랙티브 그래픽스트림을 저장한 저장 매체, 재생 장치 및 그 재생 방법
WO2005076614A1 (en) 2004-01-30 2005-08-18 Matsushita Electric Industrial Co., Ltd. Moving picture coding method and moving picture decoding method
US7599435B2 (en) 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7469070B2 (en) 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
JP4273996B2 (ja) * 2004-02-23 2009-06-03 ソニー株式会社 画像符号化装置及び方法、並びに画像復号装置及び方法
ATE555475T1 (de) 2004-04-28 2012-05-15 Panasonic Corp Stream-erzeugungsvorrichtung für bewegliche bilder, kodierungsvorrichtung für bewegliche bilder, multiplex-vorrichtung für bewegliche bilder und decodierungsvorrichtung für bewegliche bilder
CN100563342C (zh) * 2004-06-25 2009-11-25 松下电器产业株式会社 图象编码方法和图象解码方法
US7656319B2 (en) 2004-07-14 2010-02-02 Agency For Science, Technology And Research Context-based encoding and decoding of signals
KR20060016243A (ko) * 2004-08-17 2006-02-22 엘지전자 주식회사 감시용 디지털 비디오 레코더에서의 멀티 채널 영상표시장치 및 방법
JP4375305B2 (ja) 2004-10-26 2009-12-02 ソニー株式会社 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
US20060120461A1 (en) 2004-12-06 2006-06-08 Roy Knight Two processor architecture supporting decoupling of outer loop and inner loop in video decoder
EP1836858A1 (en) 2005-01-14 2007-09-26 Sungkyunkwan University Methods of and apparatuses for adaptive entropy encoding and adaptive entropy decoding for scalable video encoding
DE602006020556D1 (de) 2005-04-01 2011-04-21 Panasonic Corp Bilddecodierungsvorrichtung und bilddecodierungsverfahren
EP1913778A4 (en) 2005-07-08 2010-04-28 Lg Electronics Inc METHOD FOR MODELING THE CODING OF INFORMATION OF A VIDEO SIGNAL FOR COMPRESSING / DECOMPRESSING THE INFORMATION
KR100878826B1 (ko) 2005-07-08 2009-01-14 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는방법
KR101158439B1 (ko) 2005-07-08 2012-07-13 엘지전자 주식회사 영상 신호의 코딩정보를 압축/해제하기 위해 모델링하는 방법
RU2371881C1 (ru) 2005-07-08 2009-10-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации
US20080123977A1 (en) 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130988A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20090034857A1 (en) 2005-07-22 2009-02-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130989A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
CA2610276C (en) 2005-07-22 2013-01-29 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080165849A1 (en) 2005-07-22 2008-07-10 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8488889B2 (en) 2005-07-22 2013-07-16 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080123947A1 (en) 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
US20090123066A1 (en) 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US20080137744A1 (en) 2005-07-22 2008-06-12 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130990A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8509551B2 (en) 2005-07-22 2013-08-13 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program
CN100584025C (zh) 2005-08-04 2010-01-20 华为技术有限公司 一种基于内容自适应的算术解码系统及装置
US7595743B1 (en) 2005-10-26 2009-09-29 Lsi Corporation System and method for reducing storage requirements for content adaptive binary arithmetic coding
JP5089878B2 (ja) * 2005-10-28 2012-12-05 パナソニック株式会社 画像符号化装置
CN100440979C (zh) 2005-12-15 2008-12-03 清华大学 基于上下文的自适应二维变长解码方法和装置
GB0600141D0 (en) 2006-01-05 2006-02-15 British Broadcasting Corp Scalable coding of video signals
KR101215615B1 (ko) 2006-01-10 2012-12-26 삼성전자주식회사 동일 채널 내에서 서로 다른 코덱을 이용하여 부호화된 비디오 및 오디오 데이터 스트림의 재생을 위한 코덱 변경 방법 및 장치
US7983343B2 (en) 2006-01-12 2011-07-19 Lsi Corporation Context adaptive binary arithmetic decoding for high definition video
CN101356825B (zh) 2006-01-13 2013-06-12 弗劳恩霍夫应用研究促进协会 使用自适应色彩空间变换的画面编码
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
KR100750165B1 (ko) * 2006-02-22 2007-08-17 삼성전자주식회사 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치
JP2007300517A (ja) 2006-05-02 2007-11-15 Sony Corp 動画像処理方法、動画像処理方法のプログラム、動画像処理方法のプログラムを記録した記録媒体及び動画像処理装置
US7656326B2 (en) 2006-06-08 2010-02-02 Via Technologies, Inc. Decoding of context adaptive binary arithmetic codes in computational core of programmable graphics processing unit
US7262722B1 (en) 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
JP4787100B2 (ja) 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
WO2008072592A1 (ja) 2006-12-14 2008-06-19 Nec Corporation 映像符号化方法、映像符号化装置および映像符号化プログラム
EP2105025B1 (en) 2007-01-11 2021-04-07 InterDigital VC Holdings, Inc. Methods and apparatus for using syntax for the coded_block_flag syntax element and the coded_block_pattern syntax element for the cavlc 4:4:4 intra, high 4:4:4 intra, and high 4:4:4 predictive profiles in mpeg-4 avc high level coding
US8204129B2 (en) 2007-03-27 2012-06-19 Freescale Semiconductor, Inc. Simplified deblock filtering for reduced memory access and computational complexity
JP2008289125A (ja) 2007-04-20 2008-11-27 Panasonic Corp 算術復号化装置及びその方法
CN100531386C (zh) 2007-06-15 2009-08-19 上海富瀚微电子有限公司 一种上下文自适应二进制算术编码器及其方法
RU2339181C1 (ru) 2007-06-25 2008-11-20 Государственное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) Способ передачи дополнительной информации при фрактальном кодировании изображений
US8422803B2 (en) 2007-06-28 2013-04-16 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding method
JP5658033B2 (ja) 2007-09-02 2015-01-21 エルジー エレクトロニクス インコーポレイティド ビデオ信号処理方法及び装置
TWI339074B (en) 2007-09-05 2011-03-11 Via Tech Inc Operating method and device of coded block flag parameter
US7777654B2 (en) 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
CN101478672B (zh) 2008-01-04 2012-12-19 华为技术有限公司 视频编码、解码方法及装置和视频处理系统
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
JP4962400B2 (ja) * 2008-04-30 2012-06-27 ソニー株式会社 算術復号装置
US7592937B1 (en) * 2008-06-02 2009-09-22 Mediatek Inc. CABAC decoding unit and method
KR20090129926A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
FR2932911A1 (fr) 2008-06-24 2009-12-25 France Telecom Procede et dispositif de remplissage des zones d'occultation d'une carte de profondeur ou de disparites estimee a partir d'au moins deux images.
BRPI0915821A2 (pt) 2008-07-10 2015-11-10 Mitsubishi Electric Corp dispositivos codificador e decodificador de imagem, e, métodos de codificação e de decodificação de imagem.
JP5373910B2 (ja) * 2008-08-19 2013-12-18 トムソン ライセンシング Cabacストリームのコンプライアンス
US8634457B2 (en) 2008-09-26 2014-01-21 Qualcomm Incorporated Determining availability of video data units
US7932843B2 (en) 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
EP2182732A1 (en) 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
WO2010125606A1 (en) 2009-04-29 2010-11-04 Aspa-Japan Co., Ltd. Method for image data compression and compression system of image data
US9100649B2 (en) * 2010-02-10 2015-08-04 Lg Electronics Inc. Method and apparatus for processing a video signal
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
CN102823248B (zh) 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
CN102215396A (zh) * 2010-04-09 2011-10-12 华为技术有限公司 一种视频编解码方法和系统
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
US20110249754A1 (en) 2010-04-12 2011-10-13 Qualcomm Incorporated Variable length coding of coded block pattern (cbp) in video compression
DK2559245T3 (en) 2010-04-13 2015-08-24 Ge Video Compression Llc Video Coding using multitræsunderinddeling Images
ES2936323T3 (es) 2010-05-04 2023-03-16 Lg Electronics Inc Método y aparato para codificar y descodificar una señal de vídeo
US20110310976A1 (en) 2010-06-17 2011-12-22 Qualcomm Incorporated Joint Coding of Partition Information in Video Coding
WO2012005520A2 (en) 2010-07-09 2012-01-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using block merging, and method and apparatus for decoding video by using block merging
KR20120016980A (ko) 2010-08-17 2012-02-27 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
SI4084478T1 (sl) 2010-09-27 2024-02-29 Lg Electronics, Inc. Postopek za razdelitev blokov in naprava za dekodiranje
CN106878725B (zh) 2010-10-08 2020-03-17 Ge视频压缩有限责任公司 编码器和编码方法与解码器和解码方法
CN107071487B (zh) 2010-11-04 2020-09-15 Ge视频压缩有限责任公司 支持区块合并和跳过模式的图像编码
US9008181B2 (en) 2011-01-24 2015-04-14 Qualcomm Incorporated Single reference picture list utilization for interprediction video coding
US9866861B2 (en) 2011-02-09 2018-01-09 Lg Electronics Inc. Method for encoding and decoding image and device using same
US20120224639A1 (en) 2011-03-03 2012-09-06 General Instrument Corporation Method for interpolating half pixels and quarter pixels
US9788019B2 (en) * 2011-03-09 2017-10-10 Hfi Innovation Inc. Method and apparatus of transform unit partition with reduced complexity
ES2770437T3 (es) 2011-03-21 2020-07-01 Lg Electronics Inc Método para seleccionar un predictor de vector de movimiento y un dispositivo que lo utiliza
US9762918B2 (en) 2011-05-27 2017-09-12 Hfi Innovation Inc. Method and apparatus for line buffer reduction for video processing
US8995523B2 (en) 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
EP2719181A4 (en) 2011-06-10 2015-04-15 Mediatek Inc METHOD AND APPARATUS FOR SCALABLE VIDEO CODING
BR112013030469B1 (pt) 2011-06-23 2022-07-26 Sun Patent Trust Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, aparelho de codificação de imagem, e aparelho de codificação e decodificação de imagem
EP3407610B1 (en) 2011-06-24 2019-09-04 Sun Patent Trust Coding method and coding apparatus
US9106919B2 (en) 2011-06-24 2015-08-11 Panasonic Intellectual Property Corporation Of America Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
EP4270950A3 (en) 2011-06-27 2024-02-14 Sun Patent Trust Encoding apparatus and decoding apparatus
EP2728867A4 (en) 2011-06-28 2014-12-03 Panasonic Ip Corp America IMAGE DECODING METHOD, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE, IMAGE ENCODING DEVICE, AND IMAGE ENCODING / DECODING DEVICE
KR102006032B1 (ko) 2011-06-29 2019-07-31 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
WO2013001769A1 (ja) 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR102007047B1 (ko) 2011-06-30 2019-08-02 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치
US20130003858A1 (en) 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
BR112013033899B1 (pt) 2011-07-01 2019-08-20 Samsung Electronics Co., Ltd. Método de decodificação de vídeo
RU2714371C2 (ru) 2011-07-11 2020-02-14 Сан Пэтент Траст Способ декодирования изображений, способ кодирования изображений, устройство декодирования изображений, устройство кодирования изображений и устройство кодирования и декодирования изображений
US8804816B2 (en) 2011-08-30 2014-08-12 Microsoft Corporation Video encoding enhancements
US20130188741A1 (en) 2012-01-21 2013-07-25 General Instrument Corporation Devices and methods for sample adaptive offset coding and/or selection of band offset parameters
DK2854398T3 (en) 2012-06-11 2018-01-08 Samsung Electronics Co Ltd Method of encoding videos that share SAO parameters by color component

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
4TH MEETING: DAEGU, KR, 20 January 2011 (2011-01-20)
DETLEV MARPE: "Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard", IEEE TRANSACTION ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 13, no. 7, July 2003 (2003-07-01)
GISLE BJONTEGAARD: "Improvements of the BD-PSNR model", ITU-T SG16 Q.6 DOCUMENT, VCEG-AI11, July 2008 (2008-07-01)
THOMAS WIEGAND: "Joint Final Committee Draft (JFCD) of Joint Video Specification (ITU-T Rec. H.264 I ISO/IEC 14496-10 AVC)", JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG AND ITU-T VCEG 4TH MEETING, 22 July 2002 (2002-07-22), KLAGENFURT, AUSTRIA, XP002436201 *
WD2: WORKING DRAFT 2 OF HIGH-EFFICIENCY VIDEO CODING, 20 January 2011 (2011-01-20)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113711600A (zh) * 2019-04-26 2021-11-26 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法和解码方法

Also Published As

Publication number Publication date
US20190068971A1 (en) 2019-02-28
JP2018137777A (ja) 2018-08-30
KR102062284B1 (ko) 2020-01-03
US20160249053A1 (en) 2016-08-25
CN106878724B (zh) 2020-06-05
CN106878724A (zh) 2017-06-20
CN107105254B (zh) 2020-03-20
BR112013030181A2 (pt) 2017-07-04
AU2012277215B2 (en) 2016-07-07
CA2837535C (en) 2018-09-04
JP6650604B2 (ja) 2020-02-19
RU2013152159A (ru) 2015-08-20
EP2728867A4 (en) 2014-12-03
JPWO2013001765A1 (ja) 2015-02-23
JP2017103825A (ja) 2017-06-08
CN107105254A (zh) 2017-08-29
KR20140028027A (ko) 2014-03-07
US9363525B2 (en) 2016-06-07
JP6319674B2 (ja) 2018-05-09
AU2012277215A1 (en) 2013-12-12
TWI562605B (ja) 2016-12-11
CN103563377B (zh) 2017-05-10
CN103563377A (zh) 2014-02-05
BR112013030181B1 (pt) 2022-09-27
CA2837535A1 (en) 2013-01-03
US20130003860A1 (en) 2013-01-03
US10154264B2 (en) 2018-12-11
RU2602671C2 (ru) 2016-11-20
US10750184B2 (en) 2020-08-18
EP2728867A1 (en) 2014-05-07
TW201316775A (zh) 2013-04-16
EP4300956A1 (en) 2024-01-03
BR122022013246B1 (pt) 2022-11-16
JP2016158297A (ja) 2016-09-01
JP5933546B2 (ja) 2016-06-08
MX2013012980A (es) 2013-12-06
MY165469A (en) 2018-03-23
JP6115799B2 (ja) 2017-04-19

Similar Documents

Publication Publication Date Title
JP6587076B2 (ja) 符号化復号方法
JP6650604B2 (ja) 復号方法及び復号装置
JP6712779B2 (ja) 復号方法、復号装置、符号化方法、符号化装置、符号化復号方法及び符号化復号装置
JP6685021B2 (ja) 符号化装置、符号化方法、符号化復号装置及び符号化復号方法
JP6233760B2 (ja) 符号化方法、符号化装置、復号方法及び復号装置
JP2018201206A (ja) 復号方法及び復号装置
WO2012176464A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001767A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
WO2013001769A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置

Legal Events

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

Ref document number: 12804513

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013522740

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: MX/A/2013/012980

Country of ref document: MX

ENP Entry into the national phase

Ref document number: 20137031181

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2012804513

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2837535

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 2012277215

Country of ref document: AU

Date of ref document: 20120622

Kind code of ref document: A

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

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2013152159

Country of ref document: RU

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112013030181

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20131125