WO2009081553A1 - 画像符号化装置及び画像復号化装置 - Google Patents

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

Info

Publication number
WO2009081553A1
WO2009081553A1 PCT/JP2008/003835 JP2008003835W WO2009081553A1 WO 2009081553 A1 WO2009081553 A1 WO 2009081553A1 JP 2008003835 W JP2008003835 W JP 2008003835W WO 2009081553 A1 WO2009081553 A1 WO 2009081553A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
image data
encoding
encoded
decoding
Prior art date
Application number
PCT/JP2008/003835
Other languages
English (en)
French (fr)
Inventor
Takuma Chiba
Original Assignee
Panasonic Corporation
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 Panasonic Corporation filed Critical Panasonic Corporation
Priority to US12/808,887 priority Critical patent/US8731050B2/en
Publication of WO2009081553A1 publication Critical patent/WO2009081553A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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

Definitions

  • the present invention relates to an image encoding apparatus that encodes an image, an image decoding apparatus that decodes encoded image data, and a method thereof.
  • the present invention relates to a parameter information control method referred to when decoding encoded image data arithmetically encoded by H.264 / AVC.
  • H.264 / AVC is a new video compression coding standard, and ITU-T and ISO / IEC JTC1 formed JVT (Joint Video Team) to promote standardization and was approved as a recommendation in May 2003. .
  • This H. H.264 / AVC is said to achieve a compression rate approximately twice that of MPEG-2 used in satellite digital broadcasting and terrestrial digital broadcasting in Japan.
  • H. H.264 / AVC implements many video compression techniques, and encoding is performed by adaptively combining various compression techniques.
  • H.264 / AVC One compression technique implemented in H.264 / AVC is entropy coding (variable length coding).
  • entropy encoding two encoding methods of “CAVLC” and “CABAC” are prepared. At the time of decoding, either one is selected according to a predetermined flag encoded together with encoded image data (hereinafter referred to as “encoded image data”) to be decoded.
  • CAVLC Context-Adaptive Variable Length Coding (context-adaptive variable-length coding system)
  • a run having a length of “0” continuous when a DCT coefficient is encoded, a run having a length of “0” continuous.
  • the level is encoded from the direction opposite to the scan direction by using a variable length encoding table.
  • CABAC Context-based Adaptive Binary Arithmetic Coding (context-adaptive binary arithmetic coding method), and is a method of performing coding by changing the appearance frequency of a coding object that changes with time. It is.
  • CABAC a context index (hereinafter referred to as “ctxIdx”) is attached to each code to be compressed, and the appearance frequency is changed and managed for each ctxIdx, thereby improving the compression rate by arithmetic coding. .
  • the context index is an identification number assigned to each classification, in which binary data in arithmetic coding is classified according to syntax elements (syntax elements), adjacent macroblock information, and the like.
  • the encoding process by CABAC is mainly divided into two processes.
  • the first process is a process called binarization that converts multi-value information to be encoded, called a syntax element, into binary data.
  • the second process is a process of calculating ctxIdx for binary data obtained by binarization and performing arithmetic coding.
  • the process of decoding the encoded image data by CABAC is divided into two processes as in the case of the encoding described above. This is a process of performing arithmetic decoding on the encoded image data and outputting binary data, and a process of performing multi-value conversion that converts the binary data into syntax elements.
  • CABAC CABAC
  • the compression rate is improved by providing parameters for each picture and each slice. Specifically, there are parameters such as “pic_width_in_MBs”, “pic_height_in_MBs”, “Slice_QPy”, “cabac_init_idc”, and “slice_type”.
  • initialization of random variables and the like is performed using these parameters, and encoding is executed using a set image size.
  • CABAC CABAC
  • It is processing of binarization and multi-value processing of syntax elements, and processing of arithmetic coding and arithmetic decoding.
  • Arithmetic coding processing can only be performed by encoding 1 bit per cycle, and arithmetic decoding processing can be performed only by decoding 1 bit per cycle. For this reason, it is assumed that the binarization process and the arithmetic coding process are performed asynchronously. In addition, it is assumed that the multilevel processing and the arithmetic decoding processing are performed asynchronously.
  • each variable-length code word in the encoded image data is variable-length decoded into an intermediate code that uniquely corresponds to the decoded image data.
  • Intermediate code is temporarily stored in the buffer.
  • variable length decoding and processing other than variable length decoding are performed asynchronously (see, for example, Patent Document 1).
  • FIG. 10 is a diagram illustrating an example of a data structure of a conventional stream.
  • the conventional encoded image data stream is configured in units of “NAL unit”, and is necessary for arithmetic decoding of the encoded image data by decoding the slice header and the like. The correct parameters.
  • SPS included in the stream shown in FIG. 10 is “seq_parameter_set_rbsp ()”
  • PPS is “pic_parameter_set_rbsp ()”.
  • FIG. 11 is a flowchart showing the flow of the conventional decryption process.
  • SPS and PPS in the encoded image data are decoded (S200), and “entropy_codene_mode_flag” is extracted (S202).
  • entropy_coding_mode_flag is used to determine whether CAVLC or CABAC is used for entropy encoding of input encoded image data. When it is decrypted and its value is “1”, it is understood that it is CABAC.
  • the intermediate code is composed of decoded image data and “seq_parameter_set_rbsp ()”, “pic_parameter_set_rbsp ()”, “slice_header ()”, etc.
  • the intermediate code is decoded. Except for the image data that has been encoded, the encoded data is stored in the buffer.
  • the present invention has been made to solve the above problem, and an image encoding apparatus and an image that can avoid an increase in the amount of arithmetic processing and an increase in the number of LSI circuits accompanying decoding of parameter information referred to in arithmetic decoding processing.
  • An object of the present invention is to provide a decoding device.
  • an image encoding device of the present invention is an image encoding device that encodes image data, accepts input of image data and image parameters, and refers to the image parameters to input the image
  • An image encoding unit that generates encoded image data by image-encoding the data and further binarizing and arithmetically encoding the data, and is referenced when arithmetically decoding the encoded image data included in the image parameter
  • a parameter processing unit that outputs the generated parameter as parameter information, generates an encoded image parameter by encoding the image parameter, outputs the encoded image data obtained from the image encoding unit, and the parameter processing
  • a stream generation unit that generates a stream including parameter information and encoded image parameters output from the unit Obtain.
  • the image encoding device of the present invention includes parameters necessary for arithmetic decoding of encoded image data in a stream including the encoded image data separately from the encoded image parameters including these parameters. I can leave.
  • the image encoding device of the present invention an increase in the amount of arithmetic processing and an increase in the number of LSI circuits accompanying decoding of parameter information in the image encoding device can be avoided.
  • the parameter information is stored in the image encoding unit by H.264. It may be a parameter to be referred to when the image data is arithmetically encoded by H.264 / AVC CABAC.
  • the parameter information is H.264.
  • H.264 / AVC CABAC entropy_coding_mode_flag may be included.
  • the parameter information is H.264.
  • nal_unit including slice_data () of H.264 / AVC CABAC information representing the data amount from the beginning of nal_unit to immediately before slice_data () may be included.
  • the stream generation unit may generate a stream in which the parameter information is arranged before a variable-length codeword to be arithmetically decoded.
  • the parameter information is H.264.
  • H.264 / AVC CABAC it may be stored in user_data_unsigned_SEI.
  • the parameter processing unit may output the parameter referred to when performing arithmetic decoding of the encoded image data as parameter information without encoding.
  • an image decoding apparatus is an image decoding apparatus that decodes encoded image data that is image data that has been binarized and arithmetically encoded.
  • an arithmetic decoding unit that arithmetically decodes the encoded image data is provided.
  • the image encoding device of the present invention receives a stream generated by the image encoding device of the present invention and is necessary for arithmetic decoding of encoded image data included in the stream without performing a decoding process. Parameters can be obtained.
  • the present invention can be realized as an image encoding method or an image decoding method in which processing by characteristic configuration means in the image encoding device or the image decoding device is a step, or cause the computer to execute these steps. It can also be realized as a program for this purpose.
  • the program can be widely distributed through a recording medium such as a DVD or a transmission medium such as the Internet.
  • the image encoding apparatus enables a stream including encoded image data to have parameters necessary for arithmetic decoding separately from encoded image parameters including these parameters.
  • the image decoding apparatus when the stream generated by the image encoding apparatus of the present invention is a decoding target, when converting from encoded image data to an intermediate code, that is, encoded image data When arithmetic decoding is performed, it is not necessary to decode parameter information other than image data. As a result, the processing amount of the entire apparatus can be reduced, the processing time can be shortened, and the circuit configuration can be simplified.
  • the present invention provides an image encoding device and an image decoding device that can avoid an increase in the amount of calculation processing and an increase in the number of LSI circuits accompanying decoding of parameter information referred to in the arithmetic decoding processing. it can.
  • FIG. 1 is a block diagram showing an outline of a main functional configuration of an image encoding device according to an embodiment of the present invention.
  • FIG. 2 is a flowchart showing an outline of the flow of the encoding process in the image encoding apparatus according to the embodiment.
  • FIG. 3 is a diagram illustrating a data configuration example of a stream generated by the image encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating a correspondence between the value of “nal_unit_type” and the content of “NAL unit”.
  • FIG. 5 is a diagram illustrating a configuration example of parameter information stored in the SEI according to the embodiment.
  • FIG. 6 is a block diagram showing an outline of the main functional configuration of the image decoding apparatus according to the embodiment of the present invention.
  • FIG. 1 is a block diagram showing an outline of a main functional configuration of an image encoding device according to an embodiment of the present invention.
  • FIG. 2 is a flowchart showing an outline of the flow of the encoding
  • FIG. 7 is a flowchart showing an outline of the flow of the decoding process in the image decoding apparatus according to the embodiment.
  • FIG. 8 is a block diagram illustrating an example of a functional configuration when the image encoding device according to the embodiment is realized by an LSI.
  • FIG. 9 is a block diagram illustrating an example of a functional configuration when the image decoding apparatus according to the embodiment is realized by an LSI.
  • FIG. 10 is a diagram illustrating a data configuration example of a conventional stream.
  • FIG. 11 is a flowchart showing the flow of a conventional decoding process.
  • FIG. 1 is a block diagram showing an outline of a main functional configuration of an image encoding device 100 according to an embodiment of the present invention.
  • the image encoding device 100 includes an image encoding unit 110, a parameter processing unit 120, and a stream generation unit 130, as shown in FIG.
  • the image encoding unit 110 is a processing unit that encodes input image data, further performs the above-described binarization and arithmetic encoding, and generates encoded image data.
  • the image encoding unit 110 receives input of image parameters, which are information such as image size, and generates encoded image data with reference to the image parameters.
  • image parameters which are information such as image size
  • the generated encoded image data is input to the stream generation unit 130.
  • the parameter processing unit 120 is a processing unit that processes image parameters. Specifically, the parameter processing unit 120 outputs, as parameter information, parameters that are included in the image parameters and that are referred to when arithmetically decoding the encoded image data. In addition, the image parameter is encoded to generate an encoded image parameter.
  • the parameter information is stored in “SEI” (Supplemental Enhancement Information) and output from the parameter processing unit 120.
  • SEI is a NAL unit that stores supplementary additional information used when decoding VCL (Video Coding Layer).
  • the SEI is “user_data_unsigned_SEI”.
  • “User_data_unsigned_SEI” is a user area where information uniquely defined by the user can be stored. That is, parameter information referred to in arithmetic decoding is stored in this “user_data_unsigned_SEI” (hereinafter simply referred to as “SEI”).
  • information indicating the size (slice header length) of “slice_header ()” that is added before the encoded image data is input from the image encoding unit 110 that generates “slice_header ()” to the parameter processing unit 120.
  • the input slice header length is stored in SEI as part of the parameter information.
  • the parameter processing unit 120 generates SPS and PPS by encoding various input image parameters by VLC (Variable Length Coding). These SPS and PPS are examples of encoded image parameters in the image encoding apparatus of the present invention.
  • the SEI, SPS, and PPS generated by the parameter processing unit 120 are input to the stream generation unit 130. That is, the parameter information and the encoded image parameter are input to the stream generation unit 130.
  • the stream generation unit 130 is a processing unit that generates a stream including the encoded image data obtained from the image encoding unit 110, the parameter information output from the parameter processing unit 120, and the encoded image parameters.
  • the functional configuration of the image encoding device 100 may be a configuration other than that shown in FIG.
  • the image encoding unit 110 may generate parameter information and encoded image parameters generated by the parameter processing unit 120. That is, the image encoding unit 110 may have the function of the parameter processing unit 120.
  • FIG. 2 is a flowchart showing an outline of the flow of encoding processing in the image encoding device 100 according to the embodiment. A flow of processing performed by the image encoding device 100 will be described with reference to FIG.
  • the image encoding unit 110 refers to the input image parameter and performs an encoding process on the input image data (S10).
  • processing such as orthogonal transformation (DCT), quantization, inter prediction or intra prediction, binarization, and arithmetic coding is performed by the image coding unit 110.
  • DCT orthogonal transformation
  • quantization quantization
  • inter prediction or intra prediction inter prediction or intra prediction
  • binarization binarization
  • arithmetic coding is performed by the image coding unit 110.
  • the parameter processing unit 120 generates parameter information and an encoded image parameter (S20).
  • a parameter referred to when performing arithmetic decoding is copied from the image parameters input to the parameter processing unit 120 and stored in the SEI.
  • SPS and PPS are generated by variable-length encoding the image parameter.
  • the parameter processing unit 120 selects parameters necessary for decoding from among various input image parameters, stores them in the SEI as parameter information without encoding them, and outputs them.
  • the contents of the parameter information stored in the SEI will be described later with reference to FIG.
  • the stream generation unit 130 generates and outputs a stream including the encoded image data input from the image encoding unit 110 and the SEI, SPS, and PPS input from the parameter processing unit 120 (S30).
  • FIG. 3 is a diagram illustrating a data configuration example of a stream generated by the image encoding device 100 according to the embodiment.
  • H.264 / AVC data stream is composed of a plurality of “NAL units”.
  • NAL unit The type of “NAL unit” is determined by a parameter encoded at the head of “NAL unit”, that is, “nal_unit_type”.
  • FIG. 4 is a diagram illustrating the correspondence between the value of “nal_unit_type” and the content of “NAL unit”.
  • NAL unit access unit delimiter
  • the head is “access unit delimiter”, and immediately after that, the SEI storing the parameter information is arranged.
  • VCL NAL unit mainly includes “slice_header ()” and “slice_data ()”, and “slice_data ()” stores encoded image data.
  • VCL NAL unit is followed by “access unit delimiter” again, and a new access unit is started.
  • SEI is placed again after “access unit delimiter”. It should be noted that parameter information is stored in the SEI as in the previous SEI.
  • SPS and “PPS” may or may not be present after the SEI.
  • VCL NAL unit follows.
  • FIG. 5 is a diagram illustrating a configuration example of parameter information stored in the SEI according to the embodiment.
  • “MbuffFrameFlag” in FIG. 5 is parameter information obtained by the following (Formula 1).
  • MbuffFrameFlag (mb_adaptive_frame_field_flag &&! Field_pic_flag) (Formula 1)
  • mb_adaptive_frame_field_flag is a syntax element in SPS
  • field_pic_flag is a syntax element in slice_header ().
  • entropy_coding_mode_flag is a syntax element in the PPS, and determines a variable length encoding mode in the encoded image data included in the stream.
  • CABAC CABAC Only when CABAC is selected, the arithmetic decoding process is performed.
  • the image encoding device 100 when generating a stream including encoded image data, the image encoding device 100 according to the embodiment of the present invention encodes various parameters referred to when performing arithmetic decoding of the encoded image data. Without being converted, the parameter information is included in the SEI which is the user data area of the stream.
  • AVC / H.C encoded by CABAC The functional configuration of an image decoding apparatus that decodes an H.264 stream by two-stage processing is divided into a front-stage processing unit that performs arithmetic decoding and a rear-stage processing unit that performs variable-length code decoding.
  • decoding other than arithmetic decoding including decoding of the header part including the various parameters described above is performed.
  • variable length code because of the nature of the variable length code, it is impossible to extract only the necessary parameters from the header part and decode it, so it is necessary to decode the entire header part. For this reason, the processing load of the processing unit in the previous stage increases.
  • the processing unit at the subsequent stage needs to decode the encoded header portion for variable length decoding of the encoded image data. Therefore, since the processing load increases as a whole image decoding apparatus, it is necessary to increase the number of LSI circuits.
  • the image coding apparatus 100 can generate a stream that includes parameters necessary for arithmetic decoding as parameter information separately from the encoded header portion. it can.
  • the processing unit that performs the preceding arithmetic decoding in the image decoding apparatus refers to the arithmetic decoding without decoding the header (corresponding to the SPS, PPS, and slice header in FIG. 3). Parameter information can be easily acquired.
  • the image coding apparatus 100 avoids an increase in the amount of arithmetic processing and an increase in the number of LSI circuits associated with decoding for obtaining parameters necessary for arithmetic decoding in the image decoding apparatus. Can do.
  • FIG. 6 is a block diagram showing an outline of a main functional configuration of the image decoding apparatus 200 according to the embodiment of the present invention.
  • the image decoding apparatus 200 shown in FIG. 6 is an apparatus that does not require decoding of parameter information used when arithmetically decoding encoded image data.
  • this is an example of an apparatus that decodes a stream generated by the above-described image encoding apparatus 100 and that can perform an arithmetic decoding process without decoding a header portion.
  • the image decoding apparatus 200 includes an arithmetic decoding unit 210, a buffer 220, a syntax element generation unit 230, and an image decoding unit 240.
  • the arithmetic decoding unit 210 arithmetically decodes each variable-length codeword that is arithmetically encoded in the encoded image data included in the input stream into a corresponding intermediate code, and the intermediate code obtained by this decoding Is temporarily stored in the buffer 220.
  • the arithmetic decoding unit 210 extracts parameter information from a stream including uncoded parameter information and arithmetically encoded image data, and refers to the parameter information to perform arithmetic coding.
  • the decoded image data is arithmetically decoded.
  • the buffer 220 is a RAM, for example, and stores the intermediate code generated by the arithmetic decoding unit 210.
  • the syntax element generation unit 230 reads the intermediate code stored in the buffer 220 and generates a syntax element and its value.
  • the image decoding unit 240 receives the syntax element and its value as an input, and restores the image according to a conventional method.
  • the arithmetic decoding unit 210 corresponds to the processing unit that performs the preceding arithmetic decoding, and the syntax element generation unit 230 and the image decoding unit 240 perform the variable length decoding of the subsequent stage. It corresponds to.
  • FIG. 7 is a flowchart showing an outline of the flow of the decoding process in the image decoding apparatus 200 according to the embodiment.
  • FIG. 7 the flow about the arithmetic decoding process which is the characteristic of the image decoding apparatus 200 is shown.
  • Decoding processing in the image decoding apparatus 200 starts with extraction of parameter information (S100).
  • the arithmetic decoding unit 210 acquires parameter information from the identified SEI (S102), and refers to “entropy_coding_mode_flag” (S104).
  • the arithmetic decoding unit 210 searches for the head of “VCL NAL unit”, based on the data amount (slice header length) of the slice header in the parameter information, the arithmetic decoding unit 210 performs “VCL NAL unit” until the end of the slice header. Skip and advance the data to the beginning of “slice_data ()”.
  • the arithmetic decoding unit 210 performs arithmetic decoding on the variable-length codeword in “slice_data ()” using the parameter information (S212).
  • the intermediate code output from the arithmetic decoding unit 210 is processed by the syntax element generation unit 230 and the image decoding unit 240 through the buffer 220 as described above. As a result, the decoded image data is output from the image decoding apparatus 200.
  • the image decoding apparatus can perform arithmetic decoding of encoded image data without decoding parameter information.
  • the image decoding apparatus 200 can perform this operation even when a conventional stream including various parameters necessary for arithmetic decoding is input to the image decoding apparatus 200. It becomes possible to decode the stream.
  • the image encoding device 100 and the image decoding device 200 in the embodiment can be realized using an LSI which is a typical integrated circuit.
  • the LSI may be composed of one chip or a plurality of chips.
  • the functional blocks other than the memory may be configured by a one-chip LSI.
  • LSI LSI here, it may be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • FIG. 8 is a block diagram illustrating an example of a functional configuration when the image coding apparatus 100 according to the embodiment is realized by the LSI 150.
  • An LSI 150 shown in FIG. 8 is an example of an image encoding integrated circuit according to the present invention, and is composed of a one-chip LSI.
  • FIG. 9 is a block diagram illustrating an example of a functional configuration when the image decoding apparatus 200 according to the embodiment is realized by the LSI 250.
  • An LSI 250 shown in FIG. 9 is an example of an image decoding integrated circuit according to the present invention, and is composed of a one-chip LSI.
  • the functional configurations of the LSI 150 and the LSI 250 illustrated in FIGS. 8 and 9 may be other than the functional configurations illustrated in FIGS. 8 and 9.
  • the LSI 250 may further include the buffer 220.
  • the method of circuit integration is not limited to LSI, but may be realized by a dedicated circuit or a general-purpose processor, or an FPGA (Field Programmable Gate Array) that can be programmed after LSI manufacture or an LSI internal
  • FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells may be used.
  • the present invention can be used for an image encoding device that encodes an image by CABAC and an image decoding device that decodes the encoded image data. More specifically, H.M. H.264 / AVC image encoding apparatus for encoding high-definition video encoded by a data compression technique, and image decoding for decoding (reproducing) encoded image data generated thereby It can be used for the device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 画像データを符号化する画像符号化装置(100)であって、画像データ及び画像パラメータの入力を受け付け、画像パラメータを参照して画像データを画像符号化し、さらに2値化及び算術符号化することで符号化画像データを生成する画像符号化部(110)と、画像パラメータに含まれる、符号化画像データの算術復号化の際に参照されるパラメータをパラメータ情報として出力するとともに、画像パラメータを符号化して符号化画像パラメータを生成して出力するパラメータ加工部(120)と、画像符号化部(110)から得られる符号化画像データと、パラメータ加工部(120)から出力されるパラメータ情報及び符号化画像パラメータとを含むストリームを生成するストリーム生成部(130)とを備える。

Description

画像符号化装置及び画像復号化装置
 本発明は、画像を符号化する画像符号化装置、符号化画像データを復号化する画像復号化装置及びそれらの方法に関し、特に、動画像をH.264/AVCで算術符号化した符号化画像データを復号化する際に参照するパラメータ情報の制御方法に関する。
 「H.264/AVC」は、新しい動画圧縮符号化規格として、ITU-TとISO/IEC JTC1がJVT(Joint Video Team)を結成して標準化を進め、2003年5月に勧告として承認された。このH.264/AVCは、日本の衛星デジタル放送や地上波デジタル放送で使用されているMPEG-2と比較して、約2倍の圧縮率を実現すると言われている。
 高い圧縮率を実現するために、H.264/AVCには、多くの動画圧縮技術が実装されており、種々の圧縮技術を適応的に組み合わせて、符号化が行われる。
 H.264/AVCで実装されている圧縮技術の一つにエントロピー符号化(可変長符号化)がある。エントロピー符号化方式においては、「CAVLC」と「CABAC」の2つの符号化方式が用意されている。復号化の際には、復号化の対象である符号化された画像データ(以下、「符号化画像データ」という。)とともに符号化されている所定のフラグによってどちらか一方が選択される。
 ここで、「CAVLC」とは、Context-Adaptive Variable Length Coding(コンテクスト適応型可変長符号化方式)の略であり、DCT係数を符号化する際、連続する“0”の長さであるランとレベルを、可変長符号化テーブルを用いて、スキャンの方向と反対の方向から符号化を行う方式である。
 また、「CABAC」とは、Context-based Adaptive Binary Arithmetic Coding(コンテクスト適応型2値算術符号化方式)の略であり、時間と共に変化する符号化対象の出現頻度を変化させて符号化を行う方式である。
 符号化画像データを復号化する際のCAVLCとCABACの選択は、ヘッダ情報の「pic_parameter_set_rbsp()」内に符号化される「entropy_coding_mode_flag」に基づいて行われる。この「entropy_coding_mode_flag」が“0”のときにCAVLCが選択され、“1”のときにCABACが選択される。
 CABACでは、圧縮すべき符号毎にコンテクストインデックス(以下「ctxIdx」と記す。)を付けて、このctxIdx毎に出現頻度の変更と管理を行うことで、算術符号化による圧縮率を向上させている。
 ここで、コンテクストインデックスとは、算術符号化における2値データを、シンタックス要素(Syntax Element)や隣接マクロブロック情報等によって分類し、その分類毎に付けられる識別番号のことである。
 CABACによる符号化処理は、主に2つの処理に分けられる。1つ目の処理は、シンタックス要素と呼ばれる符号化すべき多値情報を2値データに変換する2値化(binarization)と呼ばれる処理である。2つ目の処理は、2値化によって得られた2値データに対してctxIdxを算出し、算術符号化を行う処理である。
 CABACによる符号化画像データを復号化する処理は、上述した符号化の場合と同様に2つの処理に分けられる。符号化画像データに対して算術復号化を行って2値データを出力する処理と、2値データをシンタックス要素に変換する多値化を行う処理である。
 CABACでは、ピクチャ毎及びスライス毎にパラメータを設けて、圧縮率を向上している。具体的には、「pic_width_in_MBs」や「pic_height_in_MBs」、「Slice_QPy」、「cabac_init_idc」、「slice_type」等のパラメータがある。CABACで符号化する際は、これらのパラメータで確率変数などの初期化を行い、設定された画像サイズを用いて符号化を実行する。
 上記のパラメータは、「seq_parameter_set_rbsp()」や「pic_parameter_set_rbsp()」、「slice_header()」などに含まれる情報として符号化されて、符号化画像データが格納される「VCL Nal unit」の前に置かれる。
 H.264/AVCで符号化されたストリームを復号化する場合は、「seq_parameter_set_rbsp()」や「pic_parameter_set_rbsp()」、「slice_header()」等を復号化して、上記の「entropy_coding_mode_flag」を抽出する。さらに、「entropy_coding_mode_flag」の値が“0”であるか“1”であるかに応じてCAVLCで復号化すべきかCABACで復号化すべきかを決定する。
 CABACで復号する場合は、CABAC復号化に用いるパラメータを抽出し、抽出したパラメータを使用して確率変数などの初期化を行い、算術復号化を実行する。
 ところで、上述したように、CABACでの符号化及び復号化の処理は2つに分けられる。シンタックス要素の2値化及び多値化の処理と、算術符号化及び算術復号化の処理である。
 算術符号化の処理は、その性質上、1サイクルに1ビットの符号化しか実施できず、算術復号化の処理は、1サイクルに1ビットの復号化しか実施できない。このため、2値化の処理と算術符号化の処理とは非同期に行われることが想定される。また、多値化の処理と算術復号化の処理とは非同期に行われることが想定される。
 従来技術における画像復号化方法として、バッファを用いて可変長復号化と可変長復号化以外の処理とを非同期に行う方法が存在する。
 具体的には、入力された符号化画像データを復号する画像復号化方法において、符号化画像データ中の各可変長符号語を一意に対応する中間コードに可変長復号化し、この復号化された中間コードを一時的にバッファに蓄積する。
 そして、バッファに蓄積された中間コードを読み込み、画像符号化のシンタックスに従って解析を行い、画像を復号する。このようにして、可変長復号化と可変長復号化以外の処理とを非同期に行う方法が提案されている(例えば、特許文献1参照)。
 上記特許文献1の方法をCABACによる復号化に適用すると、以下のような処理の流れになる。すなわち、入力した符号化画像データを算術復号化したものを中間コードとし、この中間コードを一時的にバッファに蓄積する。その後、バッファに蓄積されている中間コードを読み込み、中間コードを多値化して画像を復号化する。
 図10は、従来のストリームのデータ構成の一例を示す図である。図10に示されるように、従来の符号化画像データのストリームは、「NAL unit」を単位として構成されており、スライスヘッダなどを復号化することで、符号化画像データの算術復号化に必要なパラメータを抽出する。
 なお、図10に示すストリームに含まれる「SPS」は、「seq_parameter_set_rbsp()」のことであり、「PPS」は、「pic_parameter_set_rbsp()」のことである。
 図11は、従来の復号化処理の流れを示すフロー図である。
 図11に示す従来の復号化処理では、まず、符号化画像データの中のSPS及びPPSについて復号化がなされ(S200)、「entropy_codine_mode_flag」が抽出される(S202)。
 この「entropy_codine_mode_flag」が“1”の場合は(S204でNO)、復号化されたSPS及びPPSからパラメータが抽出され(S206)、スライスヘッダが復号化される(S208)。
 なお、「entropy_codine_mode_flag」が“0”の場合は(S204:YES)、算術復号化処理(S212)は実行されない(スキップされる)。
 このあと、抽出されたパラメータを参照して符号化画像データに対する算術復号化処理が実行される(S212)。その後、他に復号化する符号化画像データがない場合は、本処理を終了する(S214:YES)。
 上記の特許文献1を適用した画像復号化装置では、入力した符号化画像データのエントロピー符号化にCAVLCが使用されているのか、CABACが使用されているのかを判定するために、「entropy_coding_mode_flag」を復号化し、その値が“1”であった場合にCABACであることがわかる。
 次に、CABACの算術復号化を行うために、「seq_parameter_set_rbsp()」および「pic_parameter_set_rbsp()」、「slice_header()」等を復号化し、パラメータの抽出を行う。そして、抽出されたパラメータを用いて、確率変数などの初期化を行い、算術復号化処理を実施する。
 ここで、中間コードは、復号化された画像データと、「seq_parameter_set_rbsp()」、「pic_parameter_set_rbsp()」、「slice_header()」などで構成されるが、バッファの容量を削減するために、復号化された画像データ以外は、符号化されたままのデータがバッファに格納される。
 また、算術復号化の後の多値化の処理を統一した手順で行うためにも、これらパラメータは符号化されたままの状態で当該バッファに格納される。
特開2003-259370号公報
 しかしながら、上記の従来技術においては、バッファに蓄積した中間コードを読み込み、画像を復元する際は、再度、上記の「seq_parameter_set_rbsp()、「pic_parameter_set_rbsp()」、「slice_header()」等の復号化を行わなければならない(S200及びS208)。そのため、演算処理量が増大するという問題、及びLSI回路の増設に伴ってコストが増えてしまうという問題がある。
 本発明は、上記問題を解決するためになされたもので、算術復号化処理において参照するパラメータ情報の復号化に伴う演算処理量の増大及びLSI回路の増設を回避し得る画像符号化装置及び画像復号化装置を提供することを目的とする。
 上記の目的を達成するため、本発明の画像符号化装置は、画像データを符号化する画像符号化装置であって、画像データ及び画像パラメータの入力を受け付け、前記画像パラメータを参照して前記画像データを画像符号化し、さらに2値化及び算術符号化することで符号化画像データを生成する画像符号化部と、前記画像パラメータに含まれる、前記符号化画像データの算術復号化の際に参照されるパラメータをパラメータ情報として出力するとともに、前記画像パラメータを符号化して符号化画像パラメータを生成して出力するパラメータ加工部と、前記画像符号化部から得られる符号化画像データと、前記パラメータ加工部から出力されるパラメータ情報及び符号化画像パラメータとを含むストリームを生成するストリーム生成部とを備える。
 この構成により、本発明の画像符号化装置は、符号化画像データの算術復号化に必要なパラメータを、これらが含まれる符号化画像パラメータとは別に当該符号化画像データを含むストリームに含ませておくことができる。
 従って、当該符号化画像データを復号化する画像復号化装置では、符号化画像パラメータを復号化する必要はなく、パラメータ情報を参照するだけで、算術復号化に必要なパラメータを容易に取得することができる。
 つまり、本発明の画像符号化装置により、画像符号化装置におけるパラメータ情報の復号化に伴う演算処理量の増大及びLSI回路の増設が回避される。
 また、前記パラメータ情報は、前記画像符号化部が、H.264/AVCのCABACによって前記画像データを算術符号化する際に参照するパラメータであってもよい。
 また、前記パラメータ情報は、H.264/AVCのCABACにおけるentropy_coding_mode_flagを含むとしてもよい。
 また、前記パラメータ情報は、H.264/AVCのCABACのslice_data()を含むnal_unitにおいて、nal_unitの先頭から、slice_data()の直前までのデータ量を表わす情報を含むとしてもよい。
 また、前記ストリーム生成部は、算術復号化される可変長符号語の前に前記パラメータ情報が配置されたストリームを生成するとしてもよい。
 また、前記パラメータ情報は、H.264/AVCのCABACにおいて、user_data_unsigned_SEIの中に格納されているとしてもよい。
 また、前記パラメータ加工部は、前記符号化画像データの算術復号化の際に参照されるパラメータを符号化することなくパラメータ情報として出力するとしてもよい。
 また、上記目的を達成するために、本発明の画像復号化装置は、2値化及び算術符号化された画像データである符号化画像データを復号化する画像復号化装置であって、前記符号化画像データ、及び、前記符号化画像データを算術復号化する際に参照するパラメータが含まれるパラメータ情報を有するストリームの入力を受け付け、前記パラメータ情報を復号化することなく前記パラメータ情報に含まれるパラメータを参照して、前記符号化画像データを算術復号化する算術復号化部を備える。
 つまり、本発明の画像符号化装置は、本発明の画像符号化装置により生成されたストリームを受信し、復号化処理を行うことなく、当該ストリームに含まれる符号化画像データの算術復号化に必要なパラメータを取得することができる。
 なお、本発明は、上記画像符号化装置又は画像復号化装置における特徴的な構成手段による処理をステップとする画像符号化方法又は画像復号化方法として実現したり、それらのステップをコンピュータに実行させるためのプログラムとして実現したりすることもできる。そして、そのプログラムをDVD等の記録媒体やインターネット等の伝送媒体を介して広く流通させることができる。
 本発明の画像符号化装置により、符号化画像データを含むストリームに、算術復号化の際に必要なパラメータを、これらパラメータを含む符号化画像パラメータとは別に持たせることができる。
 また、本発明に係る画像復号化装置は、本発明の画像符号化装置により生成されたストリームを復号化の対象とする場合、符号化画像データから中間コードへ変換するとき、つまり符号化画像データを算術復号化する際に、画像データ以外のパラメータ情報等の復号化処理が不要である。これにより、装置全体としての処理量の削減、処理時間の短縮化及び回路構成の簡略化が可能になる。
 このように、本発明は、算術復号化処理において参照するパラメータ情報の復号化に伴う演算処理量の増大及びLSI回路の増設を回避し得る画像符号化装置及び画像復号化装置を提供することができる。
図1は、本発明の実施の形態における画像符号化装置の主要な機能構成の概要を示すブロック図である。 図2は、実施の形態の画像符号化装置における符号化処理の流れの概要を示すフロー図である。 図3は、実施の形態の画像符号化装置により生成されるストリームのデータ構成例を示す図である。 図4は、「nal_unit_type」の値と、「NAL unit」の内容との対応を示す図である。 図5は、実施の形態におけるSEIに格納されるパラメータ情報の構成例を示す図である。 図6は、本発明の実施の形態における画像復号化装置の主要な機能構成の概要を示すブロック図である。 図7は、実施の形態の画像復号化装置における復号化処理の流れの概要を示すフロー図である。 図8は、実施の形態の画像符号化装置をLSIにより実現した場合の機能構成の一例を示すブロック図である。 図9は、実施の形態の画像復号化装置をLSIにより実現した場合の機能構成の一例を示すブロック図である。 図10は、従来のストリームのデータ構成例を示す図である。 図11は、従来の復号化処理の流れを示すフロー図である。
符号の説明
  100  画像符号化装置
  110  画像符号化部
  120  パラメータ加工部
  130  ストリーム生成部
  150、250  LSI
  200  画像復号化装置
  210  算術復号化部
  220  バッファ
  230  シンタックス要素生成部
  240  画像復号化部
 以下、本発明に係る実施の形態について、図面を参照しながら説明する。なお、本発明について、以下の実施の形態及び添付の図面を用いて説明を行うが、これは例示を目的としており、本発明がこれらに限定されることを意図しない。
 (画像符号化装置)
 まず、図1~図5を用いて、本発明の実施の形態の画像符号化装置100について説明する。
 図1は、本発明の実施の形態における画像符号化装置100の主要な機能構成の概要を示すブロック図である。
 画像符号化装置100は、図1に示すように、画像符号化部110と、パラメータ加工部120と、ストリーム生成部130とを備える。
 画像符号化部110は、入力される画像データを画像符号化し、さらに上述の2値化及び算術符号化を行い、符号化画像データを生成する処理部である。
 また、画像符号化部110は、画像サイズ等の情報である画像パラメータの入力を受け付け、その画像パラメータを参照して符号化画像データを生成する。生成された符号化画像データは、ストリーム生成部130に入力される。
 パラメータ加工部120は、画像パラメータの加工を行う処理部である。具体的には、パラメータ加工部120は、画像パラメータに含まれる、符号化画像データの算術復号化の際に参照されるパラメータをパラメータ情報として出力する。また、画像パラメータを符号化し、符号化画像パラメータを生成する。
 なお、パラメータ情報は、「SEI」(Suplemental Enhancement Information)に格納されてパラメータ加工部120から出力される。
 SEIは、VCL(Video Coding Layer)を復号化する際に使用される補足的な付加情報を格納するNAL unitである。
 SEI内のpayloadTypeが“5”のとき、そのSEIは、「user_data_unsigned_SEI」となる。
 「user_data_unsigned_SEI」は、ユーザが独自に定義する情報を格納することが可能なユーザ領域である。つまり、算術復号化の際に参照されるパラメータ情報は、この「user_data_unsigned_SEI」(以下、単に「SEI」と表記する。)に格納される。
 また、符号化画像データの前に付加される「slice_header()」のサイズ(スライスヘッダ長)を示す情報は、「slice_header()」を生成する画像符号化部110からパラメータ加工部120に入力される。入力されたスライスヘッダ長は、パラメータ情報の一部としてSEIに格納される。
 また、パラメータ加工部120は、入力される各種の画像パラメータをVLC(Variable Length Coding:可変長符号化)により符号化することで、SPS及びPPSを生成する。これらSPS及びPPSは、本発明の画像符号化装置における符号化画像パラメータの一例である。
 パラメータ加工部120により生成されたSEI、SPS、及びPPSは、ストリーム生成部130に入力される。つまり、パラメータ情報と符号化画像パラメータとはストリーム生成部130に入力される。
 ストリーム生成部130は、画像符号化部110から得られる符号化画像データと、パラメータ加工部120から出力されるパラメータ情報及び符号化画像パラメータとを含むストリームを生成する処理部である。
 ストリーム生成部130により生成されるストリームのデータ構成については、図3を用いて後述する。
 なお、画像符号化装置100の機能構成は、図1に示す以外の構成であってもよい。
 例えば、画像符号化部110が、パラメータ加工部120が行うパラメータ情報の生成及び符号化画像パラメータの生成を行ってもよい。つまり、画像符号化部110が、パラメータ加工部120の機能を備えていてもよい。
 図2は、実施の形態の画像符号化装置100における符号化処理の流れの概要を示すフロー図である。図2を用いて、画像符号化装置100が行う処理の流れを説明する。
 画像符号化部110は、入力された画像パラメータを参照し、入力された画像データに対する符号化処理を行う(S10)。
 具体的には直交変換(DCT)、量子化、インター予測またはイントラ予測、2値化、及び算術符号化等の処理が画像符号化部110により行われる。
 また、パラメータ加工部120は、パラメータ情報の生成及び符号化画像パラメータの生成を行う(S20)。
 具体的には、パラメータ加工部120に入力された画像パラメータの中から、算術復号化に際して参照されるパラメータを複製し、SEIに格納する。また、当該画像パラメータを可変長符号化することでSPS及びPPSを生成する。
 つまり、パラメータ加工部120は、入力された各種の画像パラメータの中から復号化に必要なパラメータを選び出し、符号化することなくパラメータ情報としてSEIに格納して出力する。SEIに格納されるパラメータ情報の内容については、図5を用いて後述する。
 ストリーム生成部130は、画像符号化部110から入力された符号化画像データと、パラメータ加工部120から入力されたSEI、SPS、及びPPSとを含むストリームを生成し出力する(S30)。
 なお、図2に示す、符号化処理(S10)と、パラメータ情報及び符号化パラメータの生成(S20)とは、図2に示す順に限定されるものではない。
 つまり、これら処理ステップが並行して行われてもよく、符号化処理(S10)が後に行われてもよい。
 図3は、実施の形態の画像符号化装置100により生成されるストリームのデータ構成例を示す図である。
 一般に、H.264/AVCのデータストリームは、複数の「NAL unit」で構成される。
 「NAL unit」は、「NAL unit」内の先頭で符号化されているパラメータ、即ち「nal_unit_type」により、その種類が決定されている。
 図4は、「nal_unit_type」の値と、「NAL unit」の内容との対応を示す図である。
 図4に示すように、「nal_unit_type」が“9”のとき、「NAL unit」は、「access unit delimiter」である。
 図3に示すストリームは、先頭が「access unit delimiter」であり、そのすぐ後に、パラメータ情報が格納されたSEIが配置される。
 SEIの後は、SPS、PPSが続き、その後ろに「VCL NAL unit」である「slice_layer_without_partitioning」が置かれる。
 「VCL NAL unit」は、主に、「slice_header()」と「slice_data()」で構成され、「slice_data()」には、符号化画像データが格納されている。
 「VCL NAL unit」の後ろには、再度「access unit delimiter」が続き、新規のアクセスユニットが開始される。
 「access unit delimiter」の後には、再びSEIが置かれる。なお、当該SEIの内部には、先のSEIと同様にパラメータ情報が格納されている。
 また、当該SEIの後に「SPS」、「PPS」があってもいいし、なくてもよい。そして、その後ろには、「VCL NAL unit」が続く。
 図5は、実施の形態におけるSEIに格納されるパラメータ情報の構成例を示す図である。
 なお、これらのパラメータ情報は、全てSPS、PPS又はslice_header()内に存在するものである。
 図5の中の「MbaffFrameFlag」は、下記の(式1)で求められるパラメータ情報である。
 MbaffFrameFlag = ( mb_adaptive_frame_field_flag && !field_pic_flag ) (式1)
 また、「mb_adaptive_frame_field_flag」は、SPSの中にあるシンタックス要素であり、「field_pic_flag」は、slice_header()の中にあるシンタックス要素である。
 さらに、「entropy_coding_mode_flag」は、PPS内にあるシンタックス要素であり、当該ストリームに含まれる符号化画像データにおける可変長符号化のモードを決定する。
 上述のように、「entropy_coding_mode_flag」が“0”の場合、可変長符号化モードは、「Exp-Golomb」と「CAVLC」が選択される。
 また、「entropy_coding_mode_flagが“1” の場合、「CABAC」が選択される。CABACが選択されたときのみ、算術復号化処理が実施されることとなる。
 その他のシンタックス要素は、「slice_data()」のシーケンス処理とCABACの算術復号化処理を実施するときに使用される。
 このように、本発明の実施の形態の画像符号化装置100は、符号化画像データを含むストリームを生成する際に、当該符号化画像データの算術復号化の際に参照される各種パラメータを符号化することなく、パラメータ情報としてストリームのユーザデータ領域であるSEIに含ませる。
 ここで、CABACにより符号化されたAVC/H.264のストリームを2段階の処理で復号化する画像復号化装置の機能構成は、算術復号化を行う前段の処理部と、可変長符号の復号化を行う後段の処理部とに分けられる。
 後段の処理部では、上記の各種パラメータを含むヘッダ部の復号化も含めた算術復号化以外の復号化が行われる。
 一方、前段の処理部では、算術復号化だけが行われる。しかし、算術復号化を行うためには、ヘッダ部に格納された各種のパラメータが必要である。そのため、従来のストリームを算術復号化する場合は、前段の処理部でもヘッダ部の復号化を行う必要がある。
 また、可変長符号の性質上、ヘッダ部から必要なパラメータのみを取り出して復号化することができないため、ヘッダ部の全てを復号化する必要がある。そのため、前段の処理部の処理負荷が増加することになる。
 また、後段の処理部も、符号化画像データの可変長復号化のために、符号化されたヘッダ部を復号化する必要がある。従って、画像復号化装置全体としても処理負荷は増加することになるため、LSI回路の増設等が必要となる。
 しかしながら、本実施の形態の画像符号化装置100は、上述のように、算術復号化の際に必要なパラメータを、符号化されたヘッダ部とは別に、パラメータ情報として含むストリームを生成することができる。
 これにより、画像復号化装置において前段の算術復号化を行う処理部は、ヘッダ部(図3のSPS、PPS及びスライスヘッダに相当)の復号化を行うことなく、算術復号化の際に参照するパラメータ情報を容易に取得することができる。
 従って、本実施の形態の画像符号化装置100は、画像復号化装置における、算術復号化に必要なパラメータを取得するための復号化に伴う演算処理量の増大及びLSI回路の増設を回避させることができる。
 (画像復号化装置)
 次に、図6及び図7を用いて本発明の実施の形態の画像復号化装置200について説明する。
 図6は、本発明の実施の形態における画像復号化装置200の主要な機能構成の概要を示すブロック図である。
 図6に示す画像復号化装置200は、符号化された画像データを算術復号化する際に用いるパラメータ情報の復号化を必要としない装置である。
 つまり、上述の画像符号化装置100により生成されたストリームを復号化する装置であって、ヘッダ部の復号化を行うことなく算術復号化処理を実行可能な装置の一例である。
 画像復号化装置200は、算術復号化部210、バッファ220、シンタックス要素生成部230及び画像復号化部240を備える。
 算術復号化部210は、入力されたストリームに含まれる符号化画像データ中の算術符号化された各可変長符号語を、対応する中間コードに算術復号化し、この復号化により得られた中間コードを一時的にバッファ220に格納する。
 より具体的には、算術復号化部210は、符号化されていないパラメータ情報と算術符号化された画像データとを含むストリームからパラメータ情報を抽出し、このパラメータ情報を参照して、算術符号化された画像データを算術復号化する。
 バッファ220は、例えばRAMであり、算術復号化部210で生成された中間コードを格納する。
 シンタックス要素生成部230は、バッファ220に格納されている中間コードを読み出して、シンタックス要素及びその値を生成する。
 画像復号化部240は、シンタックス要素、及びその値を入力として従来の方法に従って、画像を復元する。
 なお、算術復号化部210が、上述の前段の算術復号化を行う処理部に該当し、シンタックス要素生成部230及び画像復号化部240が、上述の後段の可変長復号化を行う処理部に該当する。
 次に、上記のように構成される画像復号化装置200の動作について説明する。
 図7は、実施の形態の画像復号化装置200における復号化処理の流れの概要を示すフロー図である。
 なお、図7では、画像復号化装置200の特徴である算術復号化処理についての流れが示されている。
 画像復号化装置200における復号化処理は、パラメータ情報の抽出から始まる(S100)。パラメータ情報は、上述のようにSEIの内部に格納されている。そのため、算術復号化部210は、入力されたストリームを検索して、「nal_unit_type=6」である「NAL unit」(=SEI)を特定する。
 算術復号化部210は、特定されたSEIからパラメータ情報を取得し(S102)、その中から「entropy_coding_mode_flag」を参照する(S104)。
 「entropy_coding_mode_flag=0」のときは(S104でYES)、可変長符号化モードはCABACではないので、算術復号化処理を実施しないで符号化画像データが終了したかどうかの判断(S110)に進む。
 「entropy_coding_mode_flag=1」のときは(S104でNO)、算術復号化部210は、「VCL_NAL_unit」を検索する(S106)。
 算術復号化部210は、「VCL NAL unit」の先頭を検索したら、パラメータ情報の中にあるスライスヘッダのデータ量(スライスヘッダ長)を元に、スライスヘッダが終了するまで「VCL NAL unit」をスキップし、「slice_data()」の先頭までデータを進める。
 そして、算術復号化部210は、パラメータ情報を使用して「slice_data()」内にある可変長符号語を算術復号化する(S212)。
 算術復号化処理が完了したら、当該ストリームにおいてその後に符号化画像データが続いているかどうかを確認する。続いている場合は(S110でNO)、パラメータ情報の抽出(S100)に戻り、処理を続ける。符号化画像データがない場合は、処理を終了する(S110でYES)。
 その後、算術復号化部210から出力された中間コードは、バッファ220を経て上述のようにシンタックス要素生成部230および画像復号化部240により処理される。これにより、復号化された画像データが画像復号化装置200から出力される。
 以上のように、本発明に係る画像復号化装置は、パラメータ情報の復号化を行わずに、符号化画像データの算術復号化が可能である。
 なお、上記の実施の形態では、SEIの中にパラメータ情報が存在する場合を前提として説明した。しかし、SEIの中にパラメータ情報が存在しない場合は、上記従来の図11のフロー図で示す手順に従って、算術復号化部210が復号化処理を実施することが可能なように画像復号化装置200を構成することもできる。
 このように構成することで、画像復号化装置200は、算術復号化に必要な各種のパラメータが符号化されて含まれている従来のストリームが画像復号化装置200に入力された場合でも、このストリームを復号化することが可能となる。
 また、実施の形態における画像符号化装置100及び画像復号化装置200は、典型的な集積回路であるLSIを用いて実現することができる。この場合、LSIは、1チップで構成しても良いし、複数チップで構成しても良い。
 例えば、メモリ以外の機能ブロックが1チップのLSIで構成しても良い。なお、ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
 図8は、実施の形態の画像符号化装置100をLSI150により実現した場合の機能構成の一例を示すブロック図である。
 図8に示すLSI150は、本発明の画像符号化集積回路の一例であり、1チップのLSIで構成されている。
 図9は、実施の形態の画像復号化装置200をLSI250により実現した場合の機能構成の一例を示すブロック図である。
 図9に示すLSI250は、本発明の画像復号化集積回路の一例であり、1チップのLSIで構成されている。
 なお、図8及び図9に示すLSI150およびLSI250のそれぞれが備える機能構成は、図8及び図9に示される機能構成以外であってもよい。例えば、LSI250がさらにバッファ220を備えてもよい。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよいし、LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらに、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適応等がその可能性として有り得ると考えられる。
 本発明は、CABACによって画像を符号化する画像符号化装置、及びその符号化画像データを復号化する画像復号化装置に利用することができる。より具体的には、H.264/AVCに規定されたデータ圧縮技術により符号化されたハイビジョン映像などを符号化する画像符号化装置及び、これによって生成された符号化画像データを復号化する(再生する)ための画像復号化装置に利用が可能である。

Claims (13)

  1.  画像データを符号化する画像符号化装置であって、
     画像データ及び画像パラメータの入力を受け付け、前記画像パラメータを参照して前記画像データを画像符号化し、さらに2値化及び算術符号化することで符号化画像データを生成する画像符号化部と、
     前記画像パラメータに含まれる、前記符号化画像データの算術復号化の際に参照されるパラメータをパラメータ情報として出力するとともに、前記画像パラメータを符号化して符号化画像パラメータを生成して出力するパラメータ加工部と、
     前記画像符号化部から得られる符号化画像データと、前記パラメータ加工部から出力されるパラメータ情報及び符号化画像パラメータとを含むストリームを生成するストリーム生成部と
     を備える画像符号化装置。
  2.  前記パラメータ情報は、前記画像符号化部が、H.264/AVCのCABAC(Context-based Adaptive Binary Arithmetic Coding)によって前記画像データを算術符号化する際に参照するパラメータである
     請求項1記載の画像符号化装置。
  3.  前記パラメータ情報は、H.264/AVCのCABACにおけるentropy_coding_mode_flagを含む
     請求項2記載の画像符号化装置。
  4.  前記パラメータ情報は、H.264/AVCのCABACのslice_data()を含むnal_unitにおいて、nal_unitの先頭から、slice_data()の直前までのデータ量を表わす情報を含む
     請求項2記載の画像符号化装置。
  5.  前記ストリーム生成部は、前記ストリームを生成する際に、算術復号化される可変長符号語の前に前記パラメータ情報を配置する
     請求項1記載の画像符号化装置。
  6.  前記ストリーム生成部は、前記ストリームを生成する際に、前記パラメータ情報を、H.264/AVCのCABACにおけるuser_data_unsigned_SEIの中に格納する
     請求項1記載の画像符号化装置。
  7.  前記パラメータ加工部は、前記符号化画像データの算術復号化の際に参照されるパラメータを符号化することなくパラメータ情報として出力する
     請求項1記載の画像符号化装置。
  8.  画像データを符号化する画像符号化方法であって、
    画像データ及び画像パラメータの入力を受け付け、前記画像パラメータを参照して前記画像データを画像符号化し、さらに2値化及び算術符号化することで符号化画像データを生成する算術符号化ステップと、
     前記画像パラメータに含まれる、前記符号化画像データの算術復号化の際に参照されるパラメータをパラメータ情報として出力するとともに、前記画像パラメータを符号化して符号化画像パラメータを生成して出力するパラメータ加工ステップと、
     生成された前記符号化画像データと、出力された前記パラメータ情報及び前記符号化画像パラメータとを含むストリームを生成するストリーム生成ステップと
     を含む画像符号化方法。
  9.  2値化及び算術符号化された画像データである符号化画像データを復号化する画像復号化装置であって、
     前記符号化画像データ、及び、前記符号化画像データを算術復号化する際に参照するパラメータが含まれるパラメータ情報を有するストリームの入力を受け付け、前記パラメータ情報を復号化することなく前記パラメータ情報に含まれるパラメータを参照して、前記符号化画像データを算術復号化する算術復号化部を備える
     画像復号化装置。
  10.  2値化及び算術符号化された画像データである符号化画像データを復号化する画像復号化方法であって、
     前記符号化画像データ、及び、前記符号化画像データを算術復号化する際に参照するパラメータが含まれるパラメータ情報を有するストリームの入力を受け付け、前記パラメータ情報を復号化することなく前記パラメータ情報に含まれるパラメータを参照して、前記符号化画像データを算術復号化する算術復号化ステップを含む
     画像復号化方法。
  11.  画像データを符号化するためのプログラムであって、
     画像データ及び画像パラメータの入力を受け付け、前記画像パラメータを参照して前記画像データを画像符号化し、さらに2値化及び算術符号化することで符号化画像データを生成する算術符号化ステップと、
     前記画像パラメータに含まれる、前記符号化画像データの算術復号化の際に参照されるパラメータをパラメータ情報として出力するとともに、前記画像パラメータを符号化して符号化画像パラメータを生成して出力するパラメータ加工ステップと、
     生成された前記符号化画像データと、出力された前記パラメータ情報及び前記符号化画像パラメータとを含むストリームを生成するストリーム生成ステップと
     をコンピュータに実行させるためのプログラム。
  12.  画像データを符号化する画像符号化集積回路であって、
     画像データ及び画像パラメータの入力を受け付け、前記画像パラメータを参照して前記画像データを画像符号化し、さらに2値化及び算術符号化することで符号化画像データを生成する画像符号化部と、
     前記画像パラメータに含まれる、前記符号化画像データの算術復号化の際に参照されるパラメータをパラメータ情報として出力するとともに、前記画像パラメータを符号化して符号化画像パラメータを生成して出力するパラメータ加工部と、
     前記画像符号化部から得られる符号化画像データと、前記パラメータ加工部から出力されるパラメータ情報及び符号化画像パラメータとを含むストリームを生成するストリーム生成部と
     を備える画像符号化集積回路。
  13.  算術符号化された画像データである符号化画像データを復号化する画像復号化集積回路であって、
     前記符号化画像データ、及び、前記符号化画像データを算術復号化する際に参照するパラメータが含まれるパラメータ情報を有するストリームの入力を受け付け、前記パラメータ情報を復号化することなく前記パラメータ情報に含まれるパラメータを参照して、前記符号化画像データを算術復号化する算術復号化部を備える
     画像復号化集積回路。
PCT/JP2008/003835 2007-12-21 2008-12-18 画像符号化装置及び画像復号化装置 WO2009081553A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/808,887 US8731050B2 (en) 2007-12-21 2008-12-18 Image encoding apparatus and image decoding apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007330253A JP2009152990A (ja) 2007-12-21 2007-12-21 画像符号化装置及び画像復号化装置
JP2007-330253 2007-12-21

Publications (1)

Publication Number Publication Date
WO2009081553A1 true WO2009081553A1 (ja) 2009-07-02

Family

ID=40800871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/003835 WO2009081553A1 (ja) 2007-12-21 2008-12-18 画像符号化装置及び画像復号化装置

Country Status (3)

Country Link
US (1) US8731050B2 (ja)
JP (1) JP2009152990A (ja)
WO (1) WO2009081553A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131666A (zh) * 2016-07-18 2016-11-16 杭州当虹科技有限公司 一种基于多音轨视频合成技术的机顶盒视频导航系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
JP2012124838A (ja) * 2010-12-10 2012-06-28 Sony Corp 画像復号化装置と画像復号化方法および画像符号化装置と画像符号化方法並びにプログラム
US10412417B2 (en) 2011-07-07 2019-09-10 Sony Corporation Image processing device and method capable of performing an encoding process or a decoding process on an image at high speed
US10009606B2 (en) * 2012-10-11 2018-06-26 Nvidia Corporation Low power context adaptive binary arithmetic decoder engine
JP6196117B2 (ja) * 2013-10-08 2017-09-13 株式会社東芝 画像符号化装置及び画像復号装置
US9866734B2 (en) * 2014-08-26 2018-01-09 Dolby Laboratories Licensing Corporation Scene-change detection using video stream pairs
JPWO2020255771A1 (ja) * 2019-06-20 2020-12-24

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223533A (ja) * 2004-02-04 2005-08-18 Victor Co Of Japan Ltd 算術復号化装置、および算術復号化プログラム
JP2007150569A (ja) * 2005-11-25 2007-06-14 Matsushita Electric Ind Co Ltd 画像復号装置、および画像復号方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333212A (en) * 1991-03-04 1994-07-26 Storm Technology Image compression technique with regionally selective compression ratio
JP3276860B2 (ja) * 1996-09-02 2002-04-22 富士通株式会社 データ圧縮/復元方法
US5748904A (en) * 1996-09-13 1998-05-05 Silicon Integrated Systems Corp. Method and system for segment encoded graphic data compression
JP2003259370A (ja) 2002-03-05 2003-09-12 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号方法
AU2003221378B9 (en) * 2002-03-27 2009-01-08 Panasonic Intellectual Property Corporation Of America Variable length encoding method, storage medium, and variable length encoding device.
JP3807342B2 (ja) * 2002-04-25 2006-08-09 三菱電機株式会社 デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
WO2003092169A1 (en) * 2002-04-26 2003-11-06 Ntt Docomo, Inc. Signal encoding method, signal decoding method, signal encoding device, signal decoding device, signal encoding program, and signal decoding program
JP3491001B1 (ja) 2002-04-26 2004-01-26 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び、信号復号プログラム
US20070098083A1 (en) * 2005-10-20 2007-05-03 Visharam Mohammed Z Supporting fidelity range extensions in advanced video codec file format
US20070270103A1 (en) * 2006-05-16 2007-11-22 Samsung Electronics Co., Ltd. Method and apparatus for transmitting/receiving uncompressed audio/video data
WO2007145410A1 (en) * 2006-06-15 2007-12-21 Lg Electronics Inc. Digital broadcasting system and method of processing data
US20070291788A1 (en) * 2006-06-15 2007-12-20 Interdigital Technology Corporation Method and apparatus for reducing transmission overhead

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005223533A (ja) * 2004-02-04 2005-08-18 Victor Co Of Japan Ltd 算術復号化装置、および算術復号化プログラム
JP2007150569A (ja) * 2005-11-25 2007-06-14 Matsushita Electric Ind Co Ltd 画像復号装置、および画像復号方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106131666A (zh) * 2016-07-18 2016-11-16 杭州当虹科技有限公司 一种基于多音轨视频合成技术的机顶盒视频导航系统

Also Published As

Publication number Publication date
US20100272172A1 (en) 2010-10-28
US8731050B2 (en) 2014-05-20
JP2009152990A (ja) 2009-07-09

Similar Documents

Publication Publication Date Title
US11671112B2 (en) Methods and apparatus for unified significance map coding
WO2009081553A1 (ja) 画像符号化装置及び画像復号化装置
US11496768B2 (en) GOLOMB-RICE/EG coding technique for CABAC in HEVC
JP4540585B2 (ja) 符号化装置及び復号化装置
US20110200115A1 (en) Image decoding apparatus and image coding apparatus
KR20210063483A (ko) 적응적 트리 선택을 사용한 이진 집합의 비디오 인코딩 및 디코딩을 위한 방법 및 장치
WO2006051796A1 (en) Two step arithmetic decoding with conversion into an intermediate format
US10848786B2 (en) Acceleration of context adaptive binary arithmetic coding (CABAC) in video CODECS
US7944968B2 (en) Method for specification of quantized coefficient limit
JP5116704B2 (ja) 画像符号化装置及び画像符号化方法
JP4997243B2 (ja) 画像符号化装置、その方法およびその集積回路
JP4823090B2 (ja) 画像符号化装置
US20220360782A1 (en) Image data encoding and decoding
KR101710619B1 (ko) 단계적인 영상 부호화, 복호화 방법 및 장치
JP5521083B2 (ja) 画像符号化装置
Hong et al. Arithmetic coding with adaptive context-tree weighting for the H. 264 video coders
JP2007074648A (ja) Cabac復号化装置
Moon et al. Design of H. 264/AVC entropy decoder without internal ROM/RAM memories
EP3149948B1 (en) Acceleration of context adaptive binary arithmetic coding (cabac) in video codecs
EA044215B1 (ru) Энтропийное кодирование усиления сигнала

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12808887

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08864258

Country of ref document: EP

Kind code of ref document: A1