JPWO2008018324A1 - 画像符号化装置、その方法およびその集積回路 - Google Patents

画像符号化装置、その方法およびその集積回路 Download PDF

Info

Publication number
JPWO2008018324A1
JPWO2008018324A1 JP2008528783A JP2008528783A JPWO2008018324A1 JP WO2008018324 A1 JPWO2008018324 A1 JP WO2008018324A1 JP 2008528783 A JP2008528783 A JP 2008528783A JP 2008528783 A JP2008528783 A JP 2008528783A JP WO2008018324 A1 JPWO2008018324 A1 JP WO2008018324A1
Authority
JP
Japan
Prior art keywords
encoded
parameter information
stream
unit
encoding
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2008528783A
Other languages
English (en)
Other versions
JP4997243B2 (ja
Inventor
千葉 琢麻
琢麻 千葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2008528783A priority Critical patent/JP4997243B2/ja
Publication of JPWO2008018324A1 publication Critical patent/JPWO2008018324A1/ja
Application granted granted Critical
Publication of JP4997243B2 publication Critical patent/JP4997243B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Abstract

演算処理の減少やLSI回路の小型化を可能とする画像符号化装置を提供することを目的とする。画像データから中間コードを生成し、画像符号化における符号化条件に含まれるヘッダ情報を符号化し、生成した中間コードと符号化したヘッダ情報とを合成して中間ストリームを生成する中間ストリーム生成部(130)と、中間ストリームに含まれる中間コードを可変長符号化して符号化画像データを生成し、生成した符号化画像データとヘッダ情報と合成して符号化ストリームを出力する符号化ストリーム生成部(134)とを備える画像符号化装置(100)であって、中間コードが可変長符号化される際に必要となるパラメータ情報を符号化条件から抽出するパラメータ情報抽出部(140)を備え、符号化ストリーム生成部(134)は、パラメータ情報抽出部(140)により抽出されたパラメータ情報を用いて中間コードを可変長符号化して符号化画像データを生成する。

Description

本発明は、動画像データを圧縮符号化する画像符号化装置に関し、特に、H.264/AVCの規格に適合する符号化装置に関する。
ハイビジョン放送の実用化などにより映像デジタル情報のデータ量は肥大化している。データ量の肥大化は特に動画像のデジタル情報において著しく、放送やDVD(Degital Versatile Disc)等のメディアでの効率的な流通を可能とする画像圧縮技術が規格化されている。例えば、衛星、地上波デジタルハイビジョン放送で採用されているMPEG2はこのような画像圧縮技術の規格の一例である。
画像圧縮技術の規格は、コンピュータの情報処理能力の向上とともに、より高い圧縮率を実現できる規格に進展してきている。H.264/AVCは、MPEG2の次の映像圧縮技術の規格であり、その特徴の1つにエントロピー符号化(可変長符号化)がある。H.264/AVCでのエントロピー符号化では、CABAC(Context−Adaptive Binary Arithmetic Coding、コンテキスト適応型2値算術符号化方式)とCAVLC(Context−Adaptive Variable Length Coding、コンテキスト適応型可変長符号化方式)とが用意されている。
CABACでのエントロピー符号化の特徴は、シンタックスと呼ばれる符号化すべき多値情報を2値データに変換する2値化(binarization)処理と、2値化処理によって変換された2値データに対して算出されるコンテキストを参照してビット毎の0/1の出現確率に基づく算術符号化処理とを含むことである。CABACの算術符号化では、コンテキストごとに出現確率の更新も同時に行なうため、ビット毎の処理となり、演算スピードは通常1ビット/1クロックとなる。
図1は、CABACの算術符号化機能を備える従来の画像符号化装置の構成を示すブロック図である。本図に示す従来の画像符号化装置10は、画像データ12を符号化する装置であって、ソース符号化部14と、制御部18と、中間ストリーム生成部30と、バッファ32と、符号化ストリーム生成部34とを備える。
ソース符号化部14は画像データ12に予め定められた処理を施し、処理後のデータである画像処理データを出力する。ここで、「画像データ」12とはピクチャ群の画素毎の輝度や色差を含む動画像データである。また、ソース符号化部14が実行する処理の具体例は、動き予測と、イントラ予測と、DCT(Discrete Cosine Transform)と、量子化とである。
制御部18は、ソース符号化部14と、中間ストリーム生成部30と、符号化ストリーム生成部34とを制御する。
中間ストリーム生成部30はソース符号化部14から出力されるソース符合化された情報(以下、「ソース符号化後画像データ」という。)を2値化する。中間ストリーム生成部30は中間コード生成部40と、ヘッダ情報符号化部42と、合成部44とを有する。
中間コード生成部40はスライス毎のソース符合化後画像データが2値化された情報(以下、「中間コード」という。)を生成する。ヘッダ情報符号化部42は符号化されたヘッダ情報を生成する。「ヘッダ情報」は、SPS(Sequence Parameter Set)と、PPS(Picture Parameter Set)と、スライスヘッダとを含む。また、以下単に「ヘッダ情報」という場合は、符号化されたヘッダ情報をいう。合成部44は中間コードとヘッダ情報とが合成された中間ストリーム50を生成する。
図2は、従来の中間ストリーム50に含まれる情報を示す図である。本図に示すように中間ストリーム50は、ヘッダ情報、すなわちSPS22、PPS24およびスライスヘッダ26と、中間コード52とを含む。中間ストリーム50のヘッダ情報はヘッダ情報符号化部42により符号化されており、中間コード52は中間コード生成部40により生成された2値化情報である。
バッファ32は中間ストリーム生成部30の合成部44から出力される中間ストリーム50を保持する記憶部である。
ところで、画像圧縮処理では、動画像を構成する1枚のピクチャを分割したマクロブロックと呼ばれる、例えば、縦16×横16の画素の集合を1つの単位として処理されることが多い。例えば、パイプライン処理を行うときには、マクロブロックごとのパイプラインとして動作することが一般的である。
1つのマクロブロックを圧縮したときの符号量は、そのマクロブロックに含まれる画素の状態に依存し、通常、一様な画素値を含むマクロブロックの符号量は少なくなり、変化が大きい画素値を含むマクロブロックの符号量は多くなる。
算術符号化処理は上で述べたように、1ビット/1クロックの演算スピードであり、マクロブロックの符号量が非常に大きかった場合、平均マクロブロック処理時間(=1÷単位時間当たりに符合化処理されるマクロブロック数)で1つのマクロブロックを処理できない場合がある。このような状態が連続すると、算術符合化処理を開始できないデータが、待ちデータとして蓄積されるため、算術符合化処理の待ちデータを保持するためのバッファが通常設けられる。H.264/AVCの場合、このバッファは最大2ピクチャ分のデータを格納できる容量が必要となる。
特許文献1に記載の技術は、入力した画像データ12を符合化する処理において、可変長符合に一意に対応する中間コードを一時的にバッファ32に蓄積し、その中間コードを可変長符合化することにより、可変長符号化と可変長符号化以外の処理とを非同期に行う方法を開示している。
符号化ストリーム生成部34は、バッファ32から中間ストリーム50を取得し、取得した中間ストリーム50を算術符号化することにより、符号化ストリーム20を生成し出力する。ここで符号化ストリーム20に含まれる情報について図3を参照して説明する。
図3は、符号化ストリーム20に含まれる情報を示す図である。本図に示すように符号化ストリーム20には、ヘッダ情報、すなわち、SPS22、PPS24およびスライスヘッダ26と、符号化画像データ28とが含まれる。ここで、「符号化画像データ」28とは、スライスごとの中間コードを可変長符号化した情報である。
符号化ストリーム生成部34は、ストリーム入力制御部60と、ヘッダ情報復号部62と、パラメータ情報レジスタ64と、可変長符号化部66と、合成部68とを有する。
ストリーム入力制御部60は、バッファ32から中間ストリーム50を取得する。
ヘッダ情報復号部62は中間ストリーム50を復号化し、ヘッダ情報に含まれるパラメータ情報を抽出する。
ここで「パラメータ情報」とは、ヘッダ情報に含まれる情報のうち、中間コードを可変長符号化するために必要な情報をいう。パラメータ情報の具体例として、H264/AVC規格の「pic width in MBs」や「pic height in MBs」、「Slice QPy」、「cabac_init_idc」、「slice_type」等が挙げられる。
パラメータ情報レジスタ64は、ヘッダ情報復号部62により抽出されたパラメータ情報を一時的に保持する記憶部である。
可変長符号化部66は、中間コード52とパラメータ情報レジスタ64が保持しているパラメータ情報とを取得し、中間コード52を可変長符号化する。
合成部68は、ヘッダ情報と、可変長符号化部66により可変長符号化された符合化後のデータとを合成した符号化ストリーム20を出力する。
特開2003−259370号公報
しかしながら、従来の画像符号化装置10は、演算処理の増大やLSI(Large Scale Integration)回路の大規模化をもたらすという問題がある。
従来例では、2値化後の情報がストリームである場合、可変長符合化の前に中間ストリームを復号化する処理および復号化した中間ストリームからパラメータ情報を抽出する処理を行う必要がある。すなわち、H.264/AVCにおける算術符合化処理では、中間コードを算術符号化する前に、ヘッダ情報を復号し、パラメータ情報を抽出する必要がある。
上記のような理由から、従来例では、符合化ストリーム生成部において、中間ストリームを先頭から復号化する必要があり、復号化処理やその処理のためのLSI回路を備える必要があり、演算量の増大やLSI回路の大規模化をもたらしていた。
本発明は、上記の問題を解決するためになされたもので、演算処理の減少やLSI回路の小型化を可能とする画像符号化装置の提供を目的とする。
上記目的を達成するために、本発明に係る画像符号化装置は、画像データから中間コードを生成するとともに画像符号化における符号化条件に含まれるヘッダ情報を符号化し、生成した中間コードと符号化したヘッダ情報とを合成して中間ストリームを生成する中間ストリーム生成手段と、前記中間ストリーム生成手段により生成された前記中間ストリームに含まれる前記中間コードを可変長符号化して符号化画像データを生成し、生成した前記符号化画像データと前記中間ストリーム生成手段により符号化された前記ヘッダ情報とを合成して符号化ストリームを出力する符号化ストリーム生成手段とを備える画像符号化装置であって、前記符号化ストリーム生成手段により前記中間コードが可変長符号化される際に必要となるパラメータ情報を、符号化されていない前記符号化条件から抽出するパラメータ情報抽出手段を備え、前記符号化ストリーム生成手段は、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を用いて前記中間コードを可変長符号化して前記符号化画像データを生成する。
このように、符号化されていない符号化条件からパラメータ情報を抽出する。そのため、パラメータ情報を抽出するために、符号化された符号化条件を復号する必要がなくなる。したがって、画像符号化の処理の軽減が可能となる。
好ましくは、前記中間ストリーム生成手段は、前記パラメータ情報抽出手段を有し、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を前記中間ストリームに合成する。
このように、画像符合化における符合化条件からパラメータ情報を抽出し、そのパラメータ情報を中間ストリームに合成する。そのため、中間コードを可変長符号化するためのパラメータ情報を中間ストリームから容易に取得することができ、画像符号化の処理の軽減が可能となる。
また好ましくは、前記中間ストリーム生成手段は、前記パラメータ情報の直前にスタートコードを付加した中間ストリームを生成し、前記符号化ストリーム生成手段は、前記中間ストリームに付加されたスタートコードを検出することにより、前記中間ストリームから前記パラメータ情報を抽出する。
このように、スタートコードをパラメータ情報の直前に付加する。そのため、パラメータ情報を容易に見つけ出すことができ、画像符号化の処理をさらに軽減することが可能となる。
さらに好ましくは、前記スタートコードは、NAL(Network Abstraction Layer)ユニットのスタートコードと同じ形式である。
このように、中間コードの中に付加するスタートコードをNALユニットのスタートコードと同じ形式とする。これにより、一般の画像符号化装置が備えるNALユニットのスタートコードを検出する手段を利用して、中間コードの中に付加するスタートコードを検出することができる。そのため、一般の画像符号化装置に機能を追加しなくても高速に、中間コードの中に付加するスタートコードを検出することが可能になる。
さらに好ましくは、前記符号化ストリーム生成手段は、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を前記パラメータ情報抽出手段から直接に取得する。
このように、符号化ストリーム生成手段は、生成されたパラメータ情報を直接に取得して可変長符号化する。そのため、中間コードを可変長符号化するためのパラメータ情報を容易に取得することができ、画像符号化の処理の軽減が可能となる。
さらに好ましくは、前記中間ストリーム生成手段は、前記中間コードの直前にスタートコードを付加した中間ストリームを生成し、前記符号化ストリーム生成手段は、前記中間ストリームに付加されたスタートコードを検出することにより、前記中間ストリームから前記中間コードを抽出する。
このように、本発明に係る画像符号化装置は、スタートコードを中間コードの直前に付加する。そのため、中間コードを容易に見つけ出すことができ、画像符号化の処理をさらに軽減することが可能となる。
さらに好ましくは、前記スタートコードは、NAL(Network Abstraction Layer)ユニットのスタートコードと同じ形式である。
このように、中間コードの中に付加するスタートコードをNALユニットのスタートコードと同じ形式とする。これにより、上記のように、一般の画像符号化装置に機能を追加しなくても高速に、中間コードの中に付加するスタートコードを検出することが可能になる。
なお、本発明は、このような特徴的な手段を備える画像符号化装置または画像符号化集積回路として実現することができるだけでなく、画像符号化装置に含まれる特徴的な手段をステップとする画像符号化方法として実現したり、画像符号化装置に含まれる特徴的な手段としてコンピュータを機能させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM(Compat Disc Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができる。
本発明により、画像符号化における演算処理を減少させることが可能となり、また、画像符号化のためのLSI回路の小型化が可能となる。
図1は、CABACの算術符号化機能を備える従来の画像符号化装置の構成を示すブロック図である。 図2は、従来の中間ストリームに含まれる情報を示す図である。 図3は、符号化ストリームに含まれる情報を示す図である。 図4は、本発明の実施の形態1の画像符号化装置の構成を示すブロック図である。 図5は、実施の形態1の中間ストリームに含まれる情報を示す図である。 図6は、本発明の実施の形態1の画像符号化装置が実行する処理のフローチャートである。 図7は、本発明の実施の形態2の画像符号化装置の構成を示すブロック図である。 図8は、実施の形態1の中間ストリームに含まれる情報を示す図である。 図9は、本発明の実施の形態2の画像符号化装置が実行する処理のフローチャートである。
符号の説明
12 画像データ
14 ソース符号化部
20 符号化ストリーム
40 中間コード生成部
42 ヘッダ情報符号化部
64、264 パラメータ情報レジスタ
66 可変長符号化部
68 合成部
100 画像符号化装置
118、218 制御部
130 中間ストリーム生成部
132、232 バッファ
134 符号化ストリーム生成部
140 パラメータ情報抽出部
144、244 合成部
150、250 中間ストリーム
160、260 ストリーム入力制御部
220 パラメータ情報バッファ
以下、図面を参照しながら、本発明に係る画像符号化装置の実施の形態について説明する。
(実施の形態1)
先ず、図4から図6までを参照して、本発明の実施の形態1について説明する。
図4は、本発明の実施の形態1の画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、入力された画像データ12を可変長符号化を含む画像圧縮符合化することにより符号化ストリーム20を出力する装置であって、ソース符号化部14と、制御部118と、中間ストリーム生成部130と、バッファ132と、符号化ストリーム生成部134とを備える。ここで、図1に示す従来の画像符号化装置10が備える各部位と同様の機能を有する部位には同一の符号を付しており、それらに関する本図での説明は省略する。
制御部118は、ソース符号化部14と、中間ストリーム生成部130と、符号化ストリーム生成部134とを制御する。
中間ストリーム生成部130は、中間コード生成部40と、ヘッダ情報符号化部42と、パラメータ情報抽出部140と、合成部144とを有する。
中間コード生成部40は、ソース符号化部14が画像データ12に対して予め定められた処理を施して出力したデータ、すなわち例えばソース符合化後画像データを取得し、そのソース符合化後画像データを2値化する。
パラメータ情報抽出部140は、制御部118が出力する画像符合化における符合化条件からパラメータ情報を抽出する。
ヘッダ情報符合化部42は、制御部118が出力する画像符合化における符合化条件を符合化してヘッダ情報として出力する。
合成部144は、中間コードと、ヘッダ情報と、パラメータ情報と、パラメータ情報の開始位置を示す固有のスタートコードとが合成された中間ストリーム150を生成する。
ここで、固有のスタートコードは、例えば、16進数で表記した場合の「000001」である。
一般に、スライスヘッダと中間コードとが、1つのNAL(Network Abstraction Layer)ユニットに含まれるため、算術符合化の対象である中間コードを取得するには、中間ストリームがどこから開始されるのか、スライスヘッダを先頭から復号化しなければ判別できない。このような、固有のスタートコードを含む中間ストリーム150を生成することにより、スライスヘッダを復号することなく、算術符号化の対象となる中間コードを取得することが可能になる。
図5は、実施の形態1の中間ストリーム150に含まれる情報を示す図である。本図に示すように中間ストリーム150は、ヘッダ情報、すなわちSPS22、PPS24およびスライスヘッダ26と、中間コード52と、スタートコード154と、パラメータ情報156とを含む。中間ストリーム150のヘッダ情報はヘッダ情報符号化部42により符号化されている。すなわち、H264/AVC規格では、中間コード52がslice_data()に含まれるデータであり、SPS22、PPS24およびスライスヘッダ26はslice_data()以外に含まれるデータである。
中間コード52は中間コード生成部40により生成された2値化情報である。スタートコード154は合成部144によりパラメータ情報156の直前に付加される情報である。パラメータ情報156は、パラメータ情報抽出部140により抽出され、合成部144により中間コード52の直前に付加される、中間コード52の可変長符号化に必要な情報であって、符号化されていない。パラメータ情報156は、例えば、「pic width in MBs」や「pic height in MBs」、「Slice QPy」、「cabac_init_idc」、「slice_type」等を含む固定長の情報である。
このように、中間ストリーム150はスタートコード154を含む。そのため、後述する符号化ストリーム生成部134は、可変長符号化の対象となる情報である中間コード52および中間コード52を可変長符号化するために必要な情報であるパラメータ情報156と、同一のNALユニットに含まれるスライスヘッダ26との境界を、中間ストリームを復号しなくても判断できる。また、中間ストリーム150は符号化されていないパラメータ情報をも含む。そのため、後述する符号化ストリーム生成部134は、中間ストリームを復号しなくても、中間コード52の可変長符号化に必要なパラメータを取得できる。
このような中間ストリーム150を生成することにより、符号化ストリーム生成部134はヘッダ情報の復号処理をする必要がなくなるため、画像符号化における演算処理を減少させることが可能となり、また、画像符号化のためのLSI回路の小型化が可能となる。
なお、スタートコード154は、合成部144の代わりに、ヘッダ情報符号化部42により自身が抽出したヘッダ情報の末尾に、または、パラメータ情報抽出部140により自身が抽出したパラメータ情報156の先頭に付加されても良い。
ここから図4の説明に戻る。
バッファ132は中間ストリーム生成部130の合成部144から出力される中間ストリーム150を保持する記憶部である。
符号化ストリーム生成部134は、パラメータ情報レジスタ64と、可変長符号化部66と、合成部68と、ストリーム入力制御部160とを有する。
パラメータ情報レジスタ64は、従来の画像符号化装置10が備えるパラメータ情報レジスタ64と同様に、パラメータ情報を一時的に保持する記憶部である。
ストリーム入力制御部160は、従来の画像符号化装置10が備えるストリーム入力制御部160と同様に、バッファ132から中間ストリーム50を取得する。
さらに、本実施の形態のストリーム入力制御部160は、中間ストリーム50に含まれるスタートコード154を検出し、検出されたスタートコード154に続くパラメータ情報156を取得する。ストリーム入力制御部160は、取得したパラメータ情報156をパラメータ情報レジスタ64に格納する。
ここで、一般のストリーム入力制御部160は、NALユニットのスタートコードを高速で検出するために、専用の検出処理部を有する。上記のように、パラメータ情報の開始位置を示す固有のスタートコードは、NALユニットのスタートコードと同じ「000001」(16進数表記)である。そのため、専用の検出処理部を用いて固有のスタートコードを検出することができる。したがって、固有のスタートコードの検出処理を速くすることが可能になる。
可変長符号化部66は、従来の画像符号化装置10が備える可変長符号化部66と同様に、中間コード52とパラメータ情報レジスタ64が保持しているパラメータ情報156とを取得し、中間コード52を可変長符号化する。
合成部68は、従来の画像符号化装置10が備える合成部68と同様に、ヘッダ情報156と、可変長符号化部66により可変長符号化された符合化後のデータとを合成した符号化ストリーム20を出力する。
ストリーム入力制御部160はバッファ132から中間ストリーム150を取得し、取得した中間ストリーム150からパラメータ情報156を抽出し、抽出したパラメータ情報156をパラメータ情報レジスタ64に保持させる。
図6は、本発明の実施の形態1の画像符号化装置100が実行する処理のフローチャートである。
制御部118が、画像符号化における符合化条件を、ヘッダ情報符合化部42へ与え、ヘッダ情報の符合化を指示する。制御部118からの指示により、ヘッダ情報符合化部42は、SPS22と、PPS24と、スライスヘッダ26等を含むヘッダ情報を出力する(S100)。
制御部118が、画像符号化における符合化条件を、パラメータ情報抽出部140へ与え、パラメータ情報156の出力を指示する。制御部118からの指示により、パラメータ情報抽出部140は、中間コード52を可変長符合化する際に必要となるパラメータ情報156を出力する(S101)。
制御部118が、ソース符号化部14に対して、画像データの符合化を指示する。ソース符号化部14は、画像データ12を入力としてソース符合化後画像データを出力する(S102)。
中間コード生成部40は中間コード52を生成する(S103)。
合成部144は、ヘッダ情報符号化部42から取得したヘッダ情報と、パラメータ情報抽出部140から取得したパラメータ情報156と、中間コード生成部40から取得した中間コード52とを合成するとともに、スタートコード154を付加することにより生成した、図5に示す中間ストリーム150をバッファ132に格納する(S104)。
1スライス分の中間コードが生成されたことを検出した制御部118の指示を受けて、ストリーム入力制御部160はバッファ132から中間ストリーム150を取得する(S105)。
ストリーム入力制御部160は中間ストリーム150のスタートコード154を検出することにより、そこから始まるスライス毎のパラメータ情報156を抽出するとともに、ヘッダ情報と中間コード52とを抽出する(S106)。
ストリーム入力制御部160は抽出したパラメータ情報をパラメータ情報レジスタ64に格納する(S107)。
可変長符号化部66はストリーム入力制御部160により抽出された中間コード52をストリーム入力制御部160から取得するとともに、それに対応するスライスのパラメータ情報をパラメータ情報レジスタ64から取得することにより、中間コード52を可変長符号化する(S108)。
合成部68はストリーム入力制御部160により抽出されたヘッダ情報と、中間コード52と可変長符号化部66により符号化された符号化画像データ28とを図3に示すように合成した符号化ストリーム20を生成し(S109)、出力して処理を終了する。
なお、ヘッダ情報符号化部42やパラメータ情報抽出部140、ストリーム入力制御部160は、制御部118の指示を受けて処理を開始することとした。これらの指示はそれぞれの部位に固有のコマンドを制御部118が出力することにより実現されてもよい。
具体的には、例えば、パラメータ情報抽出部140に与えられるコマンドである抽出制御コマンドは、ソース符号化部14が処理を開始する直前に、または、ヘッダ情報符号化部42がヘッダ情報を生成したときに、制御部118からパラメータ情報抽出部140に出力される。
ここで、パラメータ情報抽出部140及びヘッダ情報符合化部42で処理される画像符号化における符号化条件は、ソース符号化部14における処理の前に決定され、例えば制御部118により保持されている。そのため、抽出制御コマンドは、上記のタイミングで符号化条件とともに制御部118からパラメータ情報抽出部140に出力されてもよい。また、符合化条件をパラメータ情報抽出部140にあらかじめ与えておき、上記のタイミングで、制御部118から抽出制御コマンドのみを出力するような方法をとってもよい。
また、ストリーム入力制御部160に与えられるコマンドである保持制御コマンドは、ストリーム入力制御部160にスタートコード154を検出させ、さらに、それにより判別し、抽出されたパラメータ情報156をパラメータ情報レジスタ64に格納させる(S106およびS107)一連の処理を実行させるものでもよい。
さらに、ストリーム入力制御部160に与えられるコマンドである保持制御コマンドは、ストリーム入力制御部160にスタートコード154を検出させるコマンドである検出制御コマンドと別であってもよい。この場合、検出制御コマンドを受けたストリーム入力制御部160は、中間ストリーム150のスタートコード154を検出する(S106の前半)。そして、ストリーム入力制御部160がスタートコード154を検出したことを制御部118に伝えると、続けて、制御部118はストリーム入力部160に保持制御コマンドを出力する。保持制御コマンドを受けたストリーム入力部160は、検出したスタートコード154から始まるパラメータ情報156を抽出するとともに、抽出したパラメータ情報をパラメータ情報レジスタ64に格納する(S106の後半およびS107)。
なお、実施の形態1の符号化処理において出力される中間コード52内に、スタートコード154と同じコードが現れる場合がある。例えば、実施の形態1では、中間コード52内に「000001」(16進数表記)が現れる場合がある。このような、中間コード52内のコードとスタートコード154との区別を容易にするために、中間コード52内のコードの中にエミュレーション防止バイトを付加してもよい。例えば、スタートコード154と同じ「000001」(16進数表記)が中間コード52内に現れた場合は、エミュレーション防止バイトとしてのemulation_prevention_three_byte(16進数表記で「03」)を、「0000」と「01」との間に挿入してもよい。
なお、固有のスタートコード154は、NALユニットのスタートコードと同じ「000001」(16進数表記)としたが、他のNALユニットのスタートコードとして用いられる「000000」、「000002」、「000003」などのいずれかでもよい(いずれも16進数表記)。また、NALユニットのスタートコードの次の2バイトは、NALユニットの種類を示すために用いられる。しかし、NALユニットのスタートコードの次の2バイトには、NALユニットの種類を示す値としては未使用または未定義の値もある。このように未使用または未定義の値を「xx」(16進数表記)とした場合、固有のスタートコード154とそれに続く2バイトは、「000001xx」(16進数表記)となる。
(実施の形態2)
図7は、本発明の実施の形態2の画像符号化装置200の構成を示すブロック図である。画像符号化装置200は、入力された画像データ12を、可変長符号化を含む画像圧縮符合化することにより符号化ストリームを出力する装置であって、ソース符号化部14と、制御部218と、パラメータ情報バッファ220と、中間ストリーム生成部230と、バッファ232と、符号化ストリーム生成部234とを備える。ここで、図1に示す従来の画像符号化装置10が備える各部位と同様の機能を有する各部位には同一の符号を付しており、それらに関する本図での説明は省略する。
制御部218は、ソース符号化部14と中間ストリーム生成部230と符号化ストリーム生成部234とを制御するとともに、パラメータ情報抽出手段としてパラメータ情報を抽出してパラメータ情報バッファ220に格納する。
パラメータ情報バッファ220は、制御部218がヘッダ情報から抽出したパラメータ情報、すなわち符号化されていないパラメータ情報を一時的に保持しているバッファである。
中間ストリーム生成部230は、中間コード生成部40と、ヘッダ情報符号化部42と、合成部244とを有する。中間コード生成部40と、ヘッダ情報符号化部42とは、図1を参照して説明した従来の画像符号化装置10が備える同一の符号を付した各部位と同様の機能を有する。そのため、これらの各部位に関するここでの説明は省略する。
合成部244は、中間コードと、ヘッダ情報と、中間コードの開始位置を示す固有のスタートコード254とが合成された中間ストリーム250を生成する。ここでの固有のスタートコードも、実施の形態1と同様に、「000001」(16進数表記)であるとする。
図8は、実施の形態2の中間ストリーム250に含まれる情報を示す図である。本図に示すように中間ストリーム250は、ヘッダ情報、すなわちSPS22、PPS24およびスライスヘッダ26と、中間コード52と、スタートコード254とを含む。すなわち、H264/AVC規格では、中間コード52がslice_data()に含まれるデータであり、SPS22、PPS24およびスライスヘッダ26はslice_data()以外に含まれるデータである。
中間ストリーム250のヘッダ情報はヘッダ情報符号化部42により符号化されている。中間コード52は中間コード生成部40により生成された2値化情報である。スタートコード254は合成部244により中間コード52の直前に付加される情報である。
このように、中間ストリーム250はスタートコード254を含む。そのため、後述する符号化ストリーム生成部234は、可変長符号化の対象となる情報である中間コード52と、同一のNALユニットに含まれるスライスヘッダ26との境界を、中間ストリーム250を復号しなくても判断できる。そのため、後述する符号化ストリーム生成部234は、中間ストリームを復号しなくても、中間コード52を取得できる。
また、パラメータ情報バッファ220は、符号化されていないパラメータ情報を保持する。そのため、後述する符号化ストリーム生成部234は、中間ストリームを復号しなくても、パラメータ情報バッファ220から符号化されていないパラメータ情報を取得することができる。
したがって、このような中間ストリーム250を生成することにより、符号化ストリーム生成部134はヘッダ情報の復号処理をする必要がなくなるため、画像符号化における演算処理を減少させることが可能となり、また、画像符号化のためのLSI回路の小型化が可能となる。
なお、スタートコード254は、合成部244の代わりに、ヘッダ情報符号化部42により自身が抽出したヘッダ情報の末尾に、または、中間コード生成部40により自身が抽出した中間コード52の先頭に付加されても良い。
バッファ232は、中間ストリーム生成部230の合成部244から出力される中間ストリーム250を保持する記憶部である。
符号化ストリーム生成部234は、可変長符号化部66と、合成部68と、ストリーム入力制御部260と、パラメータ情報レジスタ264とを有する。
ストリーム入力制御部260は、バッファ232から中間ストリーム250を取得する。
パラメータ情報レジスタ264は、パラメータ情報バッファ220からパラメータ情報を取得し、取得したパラメータ情報を自身が一時的に保持する。すなわち、本実施の形態のパラメータ情報レジスタ264は、パラメータ情報を保持する記憶部とパラメータ情報バッファ220からパラメータ情報を取得する処理部とを有する。
なお、パラメータ情報は、このようにパラメータ情報レジスタ264自身が取得する代わりに、制御部218がパラメータ情報バッファ220から取得してパラメータ情報レジスタ264に格納されてもよい。
図9は、本発明の実施の形態2の画像符号化装置200が実行する処理のフローチャートである。
制御部218が、画像符号化における符合化条件を、ヘッダ情報符合化部42へ与え、ヘッダ情報の符合化を指示する。制御部218からの指示により、ヘッダ情報符合化部42は、SPS22と、PPS24と、スライスヘッダ26等を含むヘッダ情報を出力する(S200)。
制御部218が、次に中間コード生成部40で処理される画像データのパラメータ情報を抽出し、スライス毎にまとめたパラメータ情報を生成する(S201)。
制御部218は、生成したパラメータ情報をパラメータ情報バッファ220に格納する。パラメータ情報レジスタ264は、パラメータ情報バッファ220からパラメータ情報を取得するとともに、取得したパラメータ情報を自身で保持する(S202)。
制御部218が、ソース符号化部14に対して、画像データの符合化を指示する。ソース符号化部14は、画像データ12を入力としてソース符合化後画像データを出力する(S203)。
中間コード生成部40は中間コード52を生成する(S204)。
合成部244は、ヘッダ情報符号化部42から取得したヘッダ情報と、中間コード生成部40から取得した中間コードとを合成するとともに、スタートコード254を付加することにより生成した、図8に示す中間ストリーム250をバッファ232に格納する(S205)。
1スライス分の中間コードが生成されたことを検出した制御部218の指示を受けて、ストリーム入力制御部260はバッファ232から中間ストリーム250を取得する(S206)。
可変長符号化部66は、次に可変長符合化部66で処理される中間コードに対応したパラメータ情報をパラメータ情報レジスタ264から取得する(S207)。
ストリーム入力制御部260は、中間ストリーム250のスタートコード254を検出し、中間ストリーム250に含まれる中間コード52を抽出する。可変長符号化部66は、取得したパラメータ情報に対応するスライスの中間コード52をストリーム入力制御部260から取得し、取得した中間コード52を可変長符号化する(S208)。
合成部68はストリーム入力制御部260が中間ストリーム250のスタートコード254を検出することにより抽出したヘッダ情報と、可変長符号化部66により符号化された符号化画像データ28とを図3に示すように合成した符号化ストリーム20を生成し(S209)、出力して処理を終了する。
このように、中間ストリーム250にスタートコード254が含まれるため、符号化ストリーム生成部234は、同一のNALユニットに含まれている、符号化されたスライスヘッダ26と中間コード52との境界をヘッダ情報を復号化することなく判断できる。そのため、符号化ストリーム生成部234での処理の軽減やLSI回路の小規模化が可能となる。
なお、実施の形態2の制御部218は、各部を制御し、画像符号化における符号化条件からパラメータ情報を生成するとともに、生成したパラメータ情報をパラメータ情報バッファに格納することとしたが、制御部218は各部を制御するのみとし、別の部位がパラメータ情報を生成してもよい。この場合、パラメータ情報を生成する部位は、制御部218から符号化条件を取得し、取得した符号化条件からスライス毎のパラメータ情報を生成し、生成したパラメータ情報をパラメータ情報バッファ220に格納する。
そして、パラメータ情報の生成は、例えば、制御部218が実行する場合にはその内部にある固有のコマンドにより実行されてもよいし、制御部218とは別のパラメータ情報を生成する部位が実行する場合には、制御部218からその部位にコマンドを出力して実行を指示してもよい。また、そのような固有のコマンドは、ソース符号化部14が処理を開始する直前に出力されることとしてもよい。
なお、ヘッダ情報符号化部42が実行する処理と、ストリーム入力制御部260が実行するスタートコード254の検出処理とは、制御部218の指示を受けてそれぞれ開始されることとしたが、制御部218からの指示を受けることなく開始されてもよい。例えば、制御部218からソース符号化部14へ、ソース符合化の指示があったときに自動的にヘッダ情報符号化部42が処理を開始してもよいし、合成部244から中間ストリームが出力されたときに自動的にストリーム入力制御部260が中間ストリームを取得してスタートコード254を検出するようにしてもよい。
なお、実施の形態2の画像符号化装置200が備えるパラメータ情報バッファ220は、専用のバッファではなく、例えば、制御部218をCPU(Central Processing Unit)により実現する場合にはその内部の記憶域であってもよい。
以上、本発明の実施の形態1に係る画像符号化装置100と実施の形態2に係る画像符号化装置200とについて説明したが、本発明は、この実施の形態に限定されるものではない。
例えば、実施の形態1ではスタートコード154は合成部144により中間ストリーム150に付加されることとしたが、パラメータ情報抽出部140により自身の抽出したパラメータ情報の先頭に付加されてもよく、また、ヘッダ情報符号化部42により自身の符号化したヘッダ情報の末尾に付加されてもよい。また、実施の形態2でも同様に、中間ストリーム250に付加されるスタートコード254は、中間コード生成部40により自身の生成した中間コードの先頭に付加されてもよく、または、ヘッダ情報符号化部42により自身の符号化したヘッダ情報の末尾に付加されてもよい。
また例えば、パラメータ情報156は、実施の形態1では、中間ストリーム150に合成される際、符号化されずにスタートコード154の直後に合成されることとし、実施の形態2では、符号化されずにパラメータ情報バッファ220に格納されることとし、符号化されないパラメータ情報がパラメータ情報レジスタ264に保持されることとしたが、パラメータ情報は符号化されていてもよい。
すなわち、実施の形態1では、符号化されたパラメータ情報がスタートコード154の直後に合成されてもよい。また、実施の形態2では、符号化されたパラメータ情報がパラメータ情報バッファ220を介してパラメータ情報レジスタ264に保持されてもよい。
これにより、中間ストリーム150またはパラメータ情報レジスタ264からパラメータ情報をまとめて取得することができるため、パラメータ情報を検出するために復号する処理を省くことが可能になる。
さらに例えば、図9に示す実施の形態1に係る画像符号化装置100が実行する処理や図9に示す実施の形態2に係る画像符号化装置200が実行する処理は、必ずしもシーケンシャルに実行されなくてもよい。すなわち、各処理部の処理能力に余裕がある場合には、並行して処理されてもよい。例えば、中間ストリーム生成部130と符号化ストリーム生成部134とが実行する処理、または、中間ストリーム生成部230と符号化ストリーム生成部234とが実行する処理は並行して処理されてもよい。
さらに例えば、実施の形態1に係る画像符号化装置100、または、実施の形態2に係る画像符号化装置200が集積回路により実現される場合、画像符号化装置100または画像符号化装置200は1つの集積回路により実現されても、また、複数の集積回路により実現されてもよい。
本発明は、可変長符号化とそれ以前の画像処理とを非同期に実行する画像符合化装置及び方法等に適用でき、特に、可変長符合化において、H.264/AVCなどで採用されている算術符合化を用いる場合に有効である。
本発明は、動画像データを圧縮符号化する画像符号化装置に関し、特に、H.264/AVCの規格に適合する符号化装置に関する。
ハイビジョン放送の実用化などにより映像デジタル情報のデータ量は肥大化している。データ量の肥大化は特に動画像のデジタル情報において著しく、放送やDVD(Degital Versatile Disc)等のメディアでの効率的な流通を可能とする画像圧縮技術が規格化されている。例えば、衛星、地上波デジタルハイビジョン放送で採用されているMPEG2はこのような画像圧縮技術の規格の一例である。
画像圧縮技術の規格は、コンピュータの情報処理能力の向上とともに、より高い圧縮率を実現できる規格に進展してきている。H.264/AVCは、MPEG2の次の映像圧縮技術の規格であり、その特徴の1つにエントロピー符号化(可変長符号化)がある。H.264/AVCでのエントロピー符号化では、CABAC(Context−Adaptive Binary Arithmetic Coding、コンテキスト適応型2値算術符号化方式)とCAVLC(Context−Adaptive Variable Length Coding、コンテキスト適応型可変長符号化方式)とが用意されている。
CABACでのエントロピー符号化の特徴は、シンタックスと呼ばれる符号化すべき多値情報を2値データに変換する2値化(binarization)処理と、2値化処理によって変換された2値データに対して算出されるコンテキストを参照してビット毎の0/1の出現確率に基づく算術符号化処理とを含むことである。CABACの算術符号化では、コンテキストごとに出現確率の更新も同時に行なうため、ビット毎の処理となり、演算スピードは通常1ビット/1クロックとなる。
図1は、CABACの算術符号化機能を備える従来の画像符号化装置の構成を示すブロック図である。本図に示す従来の画像符号化装置10は、画像データ12を符号化する装置であって、ソース符号化部14と、制御部18と、中間ストリーム生成部30と、バッファ32と、符号化ストリーム生成部34とを備える。
ソース符号化部14は画像データ12に予め定められた処理を施し、処理後のデータである画像処理データを出力する。ここで、「画像データ」12とはピクチャ群の画素毎の輝度や色差を含む動画像データである。また、ソース符号化部14が実行する処理の具体例は、動き予測と、イントラ予測と、DCT(Discrete Cosine Transform)と、量子化とである。
制御部18は、ソース符号化部14と、中間ストリーム生成部30と、符号化ストリーム生成部34とを制御する。
中間ストリーム生成部30はソース符号化部14から出力されるソース符化された情報(以下、「ソース符号化後画像データ」という。)を2値化する。中間ストリーム生成部30は中間コード生成部40と、ヘッダ情報符号化部42と、合成部44とを有する。
中間コード生成部40はスライス毎のソース符化後画像データが2値化された情報(以下、「中間コード」という。)を生成する。ヘッダ情報符号化部42は符号化されたヘッダ情報を生成する。「ヘッダ情報」は、SPS(Sequence Parameter Set)と、PPS(Picture Parameter Set)と、スライスヘッダとを含む。また、以下単に「ヘッダ情報」という場合は、符号化されたヘッダ情報をいう。合成部44は中間コードとヘッダ情報とが合成された中間ストリーム50を生成する。
図2は、従来の中間ストリーム50に含まれる情報を示す図である。本図に示すように中間ストリーム50は、ヘッダ情報、すなわちSPS22、PPS24およびスライスヘッダ26と、中間コード52とを含む。中間ストリーム50のヘッダ情報はヘッダ情報符号化部42により符号化されており、中間コード52は中間コード生成部40により生成された2値化情報である。
バッファ32は中間ストリーム生成部30の合成部44から出力される中間ストリーム50を保持する記憶部である。
ところで、画像圧縮処理では、動画像を構成する1枚のピクチャを分割したマクロブロックと呼ばれる、例えば、縦16×横16の画素の集合を1つの単位として処理されることが多い。例えば、パイプライン処理を行うときには、マクロブロックごとのパイプラインとして動作することが一般的である。
1つのマクロブロックを圧縮したときの符号量は、そのマクロブロックに含まれる画素の状態に依存し、通常、一様な画素値を含むマクロブロックの符号量は少なくなり、変化が大きい画素値を含むマクロブロックの符号量は多くなる。
算術符号化処理は上で述べたように、1ビット/1クロックの演算スピードであり、マクロブロックの符号量が非常に大きかった場合、平均マクロブロック処理時間(=1÷単位時間当たりに符化処理されるマクロブロック数)で1つのマクロブロックを処理できない場合がある。このような状態が連続すると、算術符化処理を開始できないデータが、待ちデータとして蓄積されるため、算術符化処理の待ちデータを保持するためのバッファが通常設けられる。H.264/AVCの場合、このバッファは最大2ピクチャ分のデータを格納できる容量が必要となる。
特許文献1に記載の技術は、入力した画像データ12を符化する処理において、可変長符に一意に対応する中間コードを一時的にバッファ32に蓄積し、その中間コードを可変長符化することにより、可変長符号化と可変長符号化以外の処理とを非同期に行う方法を開示している。
符号化ストリーム生成部34は、バッファ32から中間ストリーム50を取得し、取得した中間ストリーム50を算術符号化することにより、符号化ストリーム20を生成し出力する。ここで符号化ストリーム20に含まれる情報について図3を参照して説明する。
図3は、符号化ストリーム20に含まれる情報を示す図である。本図に示すように符号化ストリーム20には、ヘッダ情報、すなわち、SPS22、PPS24およびスライスヘッダ26と、符号化画像データ28とが含まれる。ここで、「符号化画像データ」28とは、スライスごとの中間コードを可変長符号化した情報である。
符号化ストリーム生成部34は、ストリーム入力制御部60と、ヘッダ情報復号部62と、パラメータ情報レジスタ64と、可変長符号化部66と、合成部68とを有する。
ストリーム入力制御部60は、バッファ32から中間ストリーム50を取得する。
ヘッダ情報復号部62は中間ストリーム50を復号化し、ヘッダ情報に含まれるパラメータ情報を抽出する。
ここで「パラメータ情報」とは、ヘッダ情報に含まれる情報のうち、中間コードを可変長符号化するために必要な情報をいう。パラメータ情報の具体例として、H264/AVC規格の「pic width in MBs」や「pic height in MBs」、「Slice QPy」、「cabac_init_idc」、「slice_type」等が挙げられる。
パラメータ情報レジスタ64は、ヘッダ情報復号部62により抽出されたパラメータ情報を一時的に保持する記憶部である。
可変長符号化部66は、中間コード52とパラメータ情報レジスタ64が保持しているパラメータ情報とを取得し、中間コード52を可変長符号化する。
合成部68は、ヘッダ情報と、可変長符号化部66により可変長符号化された符化後のデータとを合成した符号化ストリーム20を出力する。
特開2003−259370号公報
しかしながら、従来の画像符号化装置10は、演算処理の増大やLSI(Large Scale Integration)回路の大規模化をもたらすという問題がある。
従来例では、2値化後の情報がストリームである場合、可変長符化の前に中間ストリームを復号化する処理および復号化した中間ストリームからパラメータ情報を抽出する処理を行う必要がある。すなわち、H.264/AVCにおける算術符化処理では、中間コードを算術符号化する前に、ヘッダ情報を復号し、パラメータ情報を抽出する必要がある。
上記のような理由から、従来例では、符化ストリーム生成部において、中間ストリームを先頭から復号化する必要があり、復号化処理やその処理のためのLSI回路を備える必要があり、演算量の増大やLSI回路の大規模化をもたらしていた。
本発明は、上記の問題を解決するためになされたもので、演算処理の減少やLSI回路の小型化を可能とする画像符号化装置の提供を目的とする。
上記目的を達成するために、本発明に係る画像符号化装置は、画像データから中間コードを生成するとともに画像符号化における符号化条件に含まれるヘッダ情報を符号化し、生成した中間コードと符号化したヘッダ情報とを合成して中間ストリームを生成する中間ストリーム生成手段と、前記中間ストリーム生成手段により生成された前記中間ストリームに含まれる前記中間コードを可変長符号化して符号化画像データを生成し、生成した前記符号化画像データと前記中間ストリーム生成手段により符号化された前記ヘッダ情報とを合成して符号化ストリームを出力する符号化ストリーム生成手段とを備える画像符号化装置であって、前記符号化ストリーム生成手段により前記中間コードが可変長符号化される際に必要となるパラメータ情報を、符号化されていない前記符号化条件から抽出するパラメータ情報抽出手段を備え、前記符号化ストリーム生成手段は、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を用いて前記中間コードを可変長符号化して前記符号化画像データを生成する。
このように、符号化されていない符号化条件からパラメータ情報を抽出する。そのため、パラメータ情報を抽出するために、符号化された符号化条件を復号する必要がなくなる。したがって、画像符号化の処理の軽減が可能となる。
好ましくは、前記中間ストリーム生成手段は、前記パラメータ情報抽出手段を有し、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を前記中間ストリームに合成する。
このように、画像符化における符化条件からパラメータ情報を抽出し、そのパラメータ情報を中間ストリームに合成する。そのため、中間コードを可変長符号化するためのパラメータ情報を中間ストリームから容易に取得することができ、画像符号化の処理の軽減が可能となる。
また好ましくは、前記中間ストリーム生成手段は、前記パラメータ情報の直前にスタートコードを付加した中間ストリームを生成し、前記符号化ストリーム生成手段は、前記中間ストリームに付加されたスタートコードを検出することにより、前記中間ストリームから前記パラメータ情報を抽出する。
このように、スタートコードをパラメータ情報の直前に付加する。そのため、パラメータ情報を容易に見つけ出すことができ、画像符号化の処理をさらに軽減することが可能となる。
さらに好ましくは、前記スタートコードは、NAL(Network Abstraction Layer)ユニットのスタートコードと同じ形式である。
このように、中間コードの中に付加するスタートコードをNALユニットのスタートコードと同じ形式とする。これにより、一般の画像符号化装置が備えるNALユニットのスタートコードを検出する手段を利用して、中間コードの中に付加するスタートコードを検出することができる。そのため、一般の画像符号化装置に機能を追加しなくても高速に、中間コードの中に付加するスタートコードを検出することが可能になる。
さらに好ましくは、前記符号化ストリーム生成手段は、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を前記パラメータ情報抽出手段から直接に取得する。
このように、符号化ストリーム生成手段は、生成されたパラメータ情報を直接に取得して可変長符号化する。そのため、中間コードを可変長符号化するためのパラメータ情報を容易に取得することができ、画像符号化の処理の軽減が可能となる。
さらに好ましくは、前記中間ストリーム生成手段は、前記中間コードの直前にスタートコードを付加した中間ストリームを生成し、前記符号化ストリーム生成手段は、前記中間ストリームに付加されたスタートコードを検出することにより、前記中間ストリームから前記中間コードを抽出する。
このように、本発明に係る画像符号化装置は、スタートコードを中間コードの直前に付加する。そのため、中間コードを容易に見つけ出すことができ、画像符号化の処理をさらに軽減することが可能となる。
さらに好ましくは、前記スタートコードは、NAL(Network Abstraction Layer)ユニットのスタートコードと同じ形式である。
このように、中間コードの中に付加するスタートコードをNALユニットのスタートコードと同じ形式とする。これにより、上記のように、一般の画像符号化装置に機能を追加しなくても高速に、中間コードの中に付加するスタートコードを検出することが可能になる。
なお、本発明は、このような特徴的な手段を備える画像符号化装置または画像符号化集積回路として実現することができるだけでなく、画像符号化装置に含まれる特徴的な手段をステップとする画像符号化方法として実現したり、画像符号化装置に含まれる特徴的な手段としてコンピュータを機能させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM(Compat Disc Read Only Memory)等の記録媒体やインターネット等の通信ネットワークを介して流通させることができる。
本発明により、画像符号化における演算処理を減少させることが可能となり、また、画像符号化のためのLSI回路の小型化が可能となる。
以下、図面を参照しながら、本発明に係る画像符号化装置の実施の形態について説明する。
(実施の形態1)
先ず、図4から図6までを参照して、本発明の実施の形態1について説明する。
図4は、本発明の実施の形態1の画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、入力された画像データ12を可変長符号化を含む画像圧縮符化することにより符号化ストリーム20を出力する装置であって、ソース符号化部14と、制御部118と、中間ストリーム生成部130と、バッファ132と、符号化ストリーム生成部134とを備える。ここで、図1に示す従来の画像符号化装置10が備える各部位と同様の機能を有する部位には同一の符号を付しており、それらに関する本図での説明は省略する。
制御部118は、ソース符号化部14と、中間ストリーム生成部130と、符号化ストリーム生成部134とを制御する。
中間ストリーム生成部130は、中間コード生成部40と、ヘッダ情報符号化部42と、パラメータ情報抽出部140と、合成部144とを有する。
中間コード生成部40は、ソース符号化部14が画像データ12に対して予め定められた処理を施して出力したデータ、すなわち例えばソース符化後画像データを取得し、そのソース符化後画像データを2値化する。
パラメータ情報抽出部140は、制御部118が出力する画像符化における符化条件からパラメータ情報を抽出する。
ヘッダ情報符化部42は、制御部118が出力する画像符化における符化条件を符化してヘッダ情報として出力する。
合成部144は、中間コードと、ヘッダ情報と、パラメータ情報と、パラメータ情報の開始位置を示す固有のスタートコードとが合成された中間ストリーム150を生成する。
ここで、固有のスタートコードは、例えば、16進数で表記した場合の「000001」である。
一般に、スライスヘッダと中間コードとが、1つのNAL(Network Abstraction Layer)ユニットに含まれるため、算術符化の対象である中間コードを取得するには、中間ストリームがどこから開始されるのか、スライスヘッダを先頭から復号化しなければ判別できない。このような、固有のスタートコードを含む中間ストリーム150を生成することにより、スライスヘッダを復号することなく、算術符号化の対象となる中間コードを取得することが可能になる。
図5は、実施の形態1の中間ストリーム150に含まれる情報を示す図である。本図に示すように中間ストリーム150は、ヘッダ情報、すなわちSPS22、PPS24およびスライスヘッダ26と、中間コード52と、スタートコード154と、パラメータ情報156とを含む。中間ストリーム150のヘッダ情報はヘッダ情報符号化部42により符号化されている。すなわち、H264/AVC規格では、中間コード52がslice_data()に含まれるデータであり、SPS22、PPS24およびスライスヘッダ26はslice_data()以外に含まれるデータである。
中間コード52は中間コード生成部40により生成された2値化情報である。スタートコード154は合成部144によりパラメータ情報156の直前に付加される情報である。パラメータ情報156は、パラメータ情報抽出部140により抽出され、合成部144により中間コード52の直前に付加される、中間コード52の可変長符号化に必要な情報であって、符号化されていない。パラメータ情報156は、例えば、「pic width in MBs」や「pic height in MBs」、「Slice QPy」、「cabac_init_idc」、「slice_type」等を含む固定長の情報である。
このように、中間ストリーム150はスタートコード154を含む。そのため、後述する符号化ストリーム生成部134は、可変長符号化の対象となる情報である中間コード52および中間コード52を可変長符号化するために必要な情報であるパラメータ情報156と、同一のNALユニットに含まれるスライスヘッダ26との境界を、中間ストリームを復号しなくても判断できる。また、中間ストリーム150は符号化されていないパラメータ情報をも含む。そのため、後述する符号化ストリーム生成部134は、中間ストリームを復号しなくても、中間コード52の可変長符号化に必要なパラメータを取得できる。
このような中間ストリーム150を生成することにより、符号化ストリーム生成部134はヘッダ情報の復号処理をする必要がなくなるため、画像符号化における演算処理を減少させることが可能となり、また、画像符号化のためのLSI回路の小型化が可能となる。
なお、スタートコード154は、合成部144の代わりに、ヘッダ情報符号化部42により自身が抽出したヘッダ情報の末尾に、または、パラメータ情報抽出部140により自身が抽出したパラメータ情報156の先頭に付加されても良い。
ここから図4の説明に戻る。
バッファ132は中間ストリーム生成部130の合成部144から出力される中間ストリーム150を保持する記憶部である。
符号化ストリーム生成部134は、パラメータ情報レジスタ64と、可変長符号化部66と、合成部68と、ストリーム入力制御部160とを有する。
パラメータ情報レジスタ64は、従来の画像符号化装置10が備えるパラメータ情報レジスタ64と同様に、パラメータ情報を一時的に保持する記憶部である。
ストリーム入力制御部160は、従来の画像符号化装置10が備えるストリーム入力制御部160と同様に、バッファ132から中間ストリーム50を取得する。
さらに、本実施の形態のストリーム入力制御部160は、中間ストリーム50に含まれるスタートコード154を検出し、検出されたスタートコード154に続くパラメータ情報156を取得する。ストリーム入力制御部160は、取得したパラメータ情報156をパラメータ情報レジスタ64に格納する。
ここで、一般のストリーム入力制御部160は、NALユニットのスタートコードを高速で検出するために、専用の検出処理部を有する。上記のように、パラメータ情報の開始位置を示す固有のスタートコードは、NALユニットのスタートコードと同じ「000001」(16進数表記)である。そのため、専用の検出処理部を用いて固有のスタートコードを検出することができる。したがって、固有のスタートコードの検出処理を速くすることが可能になる。
可変長符号化部66は、従来の画像符号化装置10が備える可変長符号化部66と同様に、中間コード52とパラメータ情報レジスタ64が保持しているパラメータ情報156とを取得し、中間コード52を可変長符号化する。
合成部68は、従来の画像符号化装置10が備える合成部68と同様に、ヘッダ情報156と、可変長符号化部66により可変長符号化された符化後のデータとを合成した符号化ストリーム20を出力する。
ストリーム入力制御部160はバッファ132から中間ストリーム150を取得し、取得した中間ストリーム150からパラメータ情報156を抽出し、抽出したパラメータ情報156をパラメータ情報レジスタ64に保持させる。
図6は、本発明の実施の形態1の画像符号化装置100が実行する処理のフローチャートである。
制御部118が、画像符号化における符化条件を、ヘッダ情報符化部42へ与え、ヘッダ情報の符化を指示する。制御部118からの指示により、ヘッダ情報符化部42は、SPS22と、PPS24と、スライスヘッダ26等を含むヘッダ情報を出力する(S100)。
制御部118が、画像符号化における符化条件を、パラメータ情報抽出部140へ与え、パラメータ情報156の出力を指示する。制御部118からの指示により、パラメータ情報抽出部140は、中間コード52を可変長符化する際に必要となるパラメータ情報156を出力する(S101)。
制御部118が、ソース符号化部14に対して、画像データの符化を指示する。ソース符号化部14は、画像データ12を入力としてソース符化後画像データを出力する(S102)。
中間コード生成部40は中間コード52を生成する(S103)。
合成部144は、ヘッダ情報符号化部42から取得したヘッダ情報と、パラメータ情報抽出部140から取得したパラメータ情報156と、中間コード生成部40から取得した中間コード52とを合成するとともに、スタートコード154を付加することにより生成した、図5に示す中間ストリーム150をバッファ132に格納する(S104)。
1スライス分の中間コードが生成されたことを検出した制御部118の指示を受けて、ストリーム入力制御部160はバッファ132から中間ストリーム150を取得する(S105)。
ストリーム入力制御部160は中間ストリーム150のスタートコード154を検出することにより、そこから始まるスライス毎のパラメータ情報156を抽出するとともに、ヘッダ情報と中間コード52とを抽出する(S106)。
ストリーム入力制御部160は抽出したパラメータ情報をパラメータ情報レジスタ64に格納する(S107)。
可変長符号化部66はストリーム入力制御部160により抽出された中間コード52をストリーム入力制御部160から取得するとともに、それに対応するスライスのパラメータ情報をパラメータ情報レジスタ64から取得することにより、中間コード52を可変長符号化する(S108)。
合成部68はストリーム入力制御部160により抽出されたヘッダ情報と、中間コード52と可変長符号化部66により符号化された符号化画像データ28とを図3に示すように合成した符号化ストリーム20を生成し(S109)、出力して処理を終了する。
なお、ヘッダ情報符号化部42やパラメータ情報抽出部140、ストリーム入力制御部160は、制御部118の指示を受けて処理を開始することとした。これらの指示はそれぞれの部位に固有のコマンドを制御部118が出力することにより実現されてもよい。
具体的には、例えば、パラメータ情報抽出部140に与えられるコマンドである抽出制御コマンドは、ソース符号化部14が処理を開始する直前に、または、ヘッダ情報符号化部42がヘッダ情報を生成したときに、制御部118からパラメータ情報抽出部140に出力される。
ここで、パラメータ情報抽出部140及びヘッダ情報符化部42で処理される画像符号化における符号化条件は、ソース符号化部14における処理の前に決定され、例えば制御部118により保持されている。そのため、抽出制御コマンドは、上記のタイミングで符号化条件とともに制御部118からパラメータ情報抽出部140に出力されてもよい。また、符化条件をパラメータ情報抽出部140にあらかじめ与えておき、上記のタイミングで、制御部118から抽出制御コマンドのみを出力するような方法をとってもよい。
また、ストリーム入力制御部160に与えられるコマンドである保持制御コマンドは、ストリーム入力制御部160にスタートコード154を検出させ、さらに、それにより判別し、抽出されたパラメータ情報156をパラメータ情報レジスタ64に格納させる(S106およびS107)一連の処理を実行させるものでもよい。
さらに、ストリーム入力制御部160に与えられるコマンドである保持制御コマンドは、ストリーム入力制御部160にスタートコード154を検出させるコマンドである検出制御コマンドと別であってもよい。この場合、検出制御コマンドを受けたストリーム入力制御部160は、中間ストリーム150のスタートコード154を検出する(S106の前半)。そして、ストリーム入力制御部160がスタートコード154を検出したことを制御部118に伝えると、続けて、制御部118はストリーム入力部160に保持制御コマンドを出力する。保持制御コマンドを受けたストリーム入力部160は、検出したスタートコード154から始まるパラメータ情報156を抽出するとともに、抽出したパラメータ情報をパラメータ情報レジスタ64に格納する(S106の後半およびS107)。
なお、実施の形態1の符号化処理において出力される中間コード52内に、スタートコード154と同じコードが現れる場合がある。例えば、実施の形態1では、中間コード52内に「000001」(16進数表記)が現れる場合がある。このような、中間コード52内のコードとスタートコード154との区別を容易にするために、中間コード52内のコードの中にエミュレーション防止バイトを付加してもよい。例えば、スタートコード154と同じ「000001」(16進数表記)が中間コード52内に現れた場合は、エミュレーション防止バイトとしてのemulation_prevention_three_byte(16進数表記で「03」)を、「0000」と「01」との間に挿入してもよい。
なお、固有のスタートコード154は、NALユニットのスタートコードと同じ「000001」(16進数表記)としたが、他のNALユニットのスタートコードとして用いられる「000000」、「000002」、「000003」などのいずれかでもよい(いずれも16進数表記)。また、NALユニットのスタートコードの次の2バイトは、NALユニットの種類を示すために用いられる。しかし、NALユニットのスタートコードの次の2バイトには、NALユニットの種類を示す値としては未使用または未定義の値もある。このように未使用または未定義の値を「xx」(16進数表記)とした場合、固有のスタートコード154とそれに続く2バイトは、「000001xx」(16進数表記)となる。
(実施の形態2)
図7は、本発明の実施の形態2の画像符号化装置200の構成を示すブロック図である。画像符号化装置200は、入力された画像データ12を、可変長符号化を含む画像圧縮符化することにより符号化ストリームを出力する装置であって、ソース符号化部14と、制御部218と、パラメータ情報バッファ220と、中間ストリーム生成部230と、バッファ232と、符号化ストリーム生成部234とを備える。ここで、図1に示す従来の画像符号化装置10が備える各部位と同様の機能を有する各部位には同一の符号を付しており、それらに関する本図での説明は省略する。
制御部218は、ソース符号化部14と中間ストリーム生成部230と符号化ストリーム生成部234とを制御するとともに、パラメータ情報抽出手段としてパラメータ情報を抽出してパラメータ情報バッファ220に格納する。
パラメータ情報バッファ220は、制御部218がヘッダ情報から抽出したパラメータ情報、すなわち符号化されていないパラメータ情報を一時的に保持しているバッファである。
中間ストリーム生成部230は、中間コード生成部40と、ヘッダ情報符号化部42と、合成部244とを有する。中間コード生成部40と、ヘッダ情報符号化部42とは、図1を参照して説明した従来の画像符号化装置10が備える同一の符号を付した各部位と同様の機能を有する。そのため、これらの各部位に関するここでの説明は省略する。
合成部244は、中間コードと、ヘッダ情報と、中間コードの開始位置を示す固有のスタートコード254とが合成された中間ストリーム250を生成する。ここでの固有のスタートコードも、実施の形態1と同様に、「000001」(16進数表記)であるとする。
図8は、実施の形態2の中間ストリーム250に含まれる情報を示す図である。本図に示すように中間ストリーム250は、ヘッダ情報、すなわちSPS22、PPS24およびスライスヘッダ26と、中間コード52と、スタートコード254とを含む。すなわち、H264/AVC規格では、中間コード52がslice_data()に含まれるデータであり、SPS22、PPS24およびスライスヘッダ26はslice_data()以外に含まれるデータである。
中間ストリーム250のヘッダ情報はヘッダ情報符号化部42により符号化されている。中間コード52は中間コード生成部40により生成された2値化情報である。スタートコード254は合成部244により中間コード52の直前に付加される情報である。
このように、中間ストリーム250はスタートコード254を含む。そのため、後述する符号化ストリーム生成部234は、可変長符号化の対象となる情報である中間コード52と、同一のNALユニットに含まれるスライスヘッダ26との境界を、中間ストリーム250を復号しなくても判断できる。そのため、後述する符号化ストリーム生成部234は、中間ストリームを復号しなくても、中間コード52を取得できる。
また、パラメータ情報バッファ220は、符号化されていないパラメータ情報を保持する。そのため、後述する符号化ストリーム生成部234は、中間ストリームを復号しなくても、パラメータ情報バッファ220から符号化されていないパラメータ情報を取得することができる。
したがって、このような中間ストリーム250を生成することにより、符号化ストリーム生成部134はヘッダ情報の復号処理をする必要がなくなるため、画像符号化における演算処理を減少させることが可能となり、また、画像符号化のためのLSI回路の小型化が可能となる。
なお、スタートコード254は、合成部244の代わりに、ヘッダ情報符号化部42により自身が抽出したヘッダ情報の末尾に、または、中間コード生成部40により自身が抽出した中間コード52の先頭に付加されても良い。
バッファ232は、中間ストリーム生成部230の合成部244から出力される中間ストリーム250を保持する記憶部である。
符号化ストリーム生成部234は、可変長符号化部66と、合成部68と、ストリーム入力制御部260と、パラメータ情報レジスタ264とを有する。
ストリーム入力制御部260は、バッファ232から中間ストリーム250を取得する。
パラメータ情報レジスタ264は、パラメータ情報バッファ220からパラメータ情報を取得し、取得したパラメータ情報を自身が一時的に保持する。すなわち、本実施の形態のパラメータ情報レジスタ264は、パラメータ情報を保持する記憶部とパラメータ情報バッファ220からパラメータ情報を取得する処理部とを有する。
なお、パラメータ情報は、このようにパラメータ情報レジスタ264自身が取得する代わりに、制御部218がパラメータ情報バッファ220から取得してパラメータ情報レジスタ264に格納されてもよい。
図9は、本発明の実施の形態2の画像符号化装置200が実行する処理のフローチャートである。
制御部218が、画像符号化における符化条件を、ヘッダ情報符化部42へ与え、ヘッダ情報の符化を指示する。制御部218からの指示により、ヘッダ情報符化部42は、SPS22と、PPS24と、スライスヘッダ26等を含むヘッダ情報を出力する(S200)。
制御部218が、次に中間コード生成部40で処理される画像データのパラメータ情報を抽出し、スライス毎にまとめたパラメータ情報を生成する(S201)。
制御部218は、生成したパラメータ情報をパラメータ情報バッファ220に格納する。パラメータ情報レジスタ264は、パラメータ情報バッファ220からパラメータ情報を取得するとともに、取得したパラメータ情報を自身で保持する(S202)。
制御部218が、ソース符号化部14に対して、画像データの符化を指示する。ソース符号化部14は、画像データ12を入力としてソース符化後画像データを出力する(S203)。
中間コード生成部40は中間コード52を生成する(S204)。
合成部244は、ヘッダ情報符号化部42から取得したヘッダ情報と、中間コード生成部40から取得した中間コードとを合成するとともに、スタートコード254を付加することにより生成した、図8に示す中間ストリーム250をバッファ232に格納する(S205)。
1スライス分の中間コードが生成されたことを検出した制御部218の指示を受けて、ストリーム入力制御部260はバッファ232から中間ストリーム250を取得する(S206)。
可変長符号化部66は、次に可変長符化部66で処理される中間コードに対応したパラメータ情報をパラメータ情報レジスタ264から取得する(S207)。
ストリーム入力制御部260は、中間ストリーム250のスタートコード254を検出し、中間ストリーム250に含まれる中間コード52を抽出する。可変長符号化部66は、取得したパラメータ情報に対応するスライスの中間コード52をストリーム入力制御部260から取得し、取得した中間コード52を可変長符号化する(S208)。
合成部68はストリーム入力制御部260が中間ストリーム250のスタートコード254を検出することにより抽出したヘッダ情報と、可変長符号化部66により符号化された符号化画像データ28とを図3に示すように合成した符号化ストリーム20を生成し(S209)、出力して処理を終了する。
このように、中間ストリーム250にスタートコード254が含まれるため、符号化ストリーム生成部234は、同一のNALユニットに含まれている、符号化されたスライスヘッダ26と中間コード52との境界をヘッダ情報を復号化することなく判断できる。そのため、符号化ストリーム生成部234での処理の軽減やLSI回路の小規模化が可能となる。
なお、実施の形態2の制御部218は、各部を制御し、画像符号化における符号化条件からパラメータ情報を生成するとともに、生成したパラメータ情報をパラメータ情報バッファに格納することとしたが、制御部218は各部を制御するのみとし、別の部位がパラメータ情報を生成してもよい。この場合、パラメータ情報を生成する部位は、制御部218から符号化条件を取得し、取得した符号化条件からスライス毎のパラメータ情報を生成し、生成したパラメータ情報をパラメータ情報バッファ220に格納する。
そして、パラメータ情報の生成は、例えば、制御部218が実行する場合にはその内部にある固有のコマンドにより実行されてもよいし、制御部218とは別のパラメータ情報を生成する部位が実行する場合には、制御部218からその部位にコマンドを出力して実行を指示してもよい。また、そのような固有のコマンドは、ソース符号化部14が処理を開始する直前に出力されることとしてもよい。
なお、ヘッダ情報符号化部42が実行する処理と、ストリーム入力制御部260が実行するスタートコード254の検出処理とは、制御部218の指示を受けてそれぞれ開始されることとしたが、制御部218からの指示を受けることなく開始されてもよい。例えば、制御部218からソース符号化部14へ、ソース符化の指示があったときに自動的にヘッダ情報符号化部42が処理を開始してもよいし、合成部244から中間ストリームが出力されたときに自動的にストリーム入力制御部260が中間ストリームを取得してスタートコード254を検出するようにしてもよい。
なお、実施の形態2の画像符号化装置200が備えるパラメータ情報バッファ220は、専用のバッファではなく、例えば、制御部218をCPU(Central Processing Unit)により実現する場合にはその内部の記憶域であってもよい。
以上、本発明の実施の形態1に係る画像符号化装置100と実施の形態2に係る画像符号化装置200とについて説明したが、本発明は、この実施の形態に限定されるものではない。
例えば、実施の形態1ではスタートコード154は合成部144により中間ストリーム150に付加されることとしたが、パラメータ情報抽出部140により自身の抽出したパラメータ情報の先頭に付加されてもよく、また、ヘッダ情報符号化部42により自身の符号化したヘッダ情報の末尾に付加されてもよい。また、実施の形態2でも同様に、中間ストリーム250に付加されるスタートコード254は、中間コード生成部40により自身の生成した中間コードの先頭に付加されてもよく、または、ヘッダ情報符号化部42により自身の符号化したヘッダ情報の末尾に付加されてもよい。
また例えば、パラメータ情報156は、実施の形態1では、中間ストリーム150に合成される際、符号化されずにスタートコード154の直後に合成されることとし、実施の形態2では、符号化されずにパラメータ情報バッファ220に格納されることとし、符号化されないパラメータ情報がパラメータ情報レジスタ264に保持されることとしたが、パラメータ情報は符号化されていてもよい。
すなわち、実施の形態1では、符号化されたパラメータ情報がスタートコード154の直後に合成されてもよい。また、実施の形態2では、符号化されたパラメータ情報がパラメータ情報バッファ220を介してパラメータ情報レジスタ264に保持されてもよい。
これにより、中間ストリーム150またはパラメータ情報レジスタ264からパラメータ情報をまとめて取得することができるため、パラメータ情報を検出するために復号する処理を省くことが可能になる。
さらに例えば、図9に示す実施の形態1に係る画像符号化装置100が実行する処理や図9に示す実施の形態2に係る画像符号化装置200が実行する処理は、必ずしもシーケンシャルに実行されなくてもよい。すなわち、各処理部の処理能力に余裕がある場合には、並行して処理されてもよい。例えば、中間ストリーム生成部130と符号化ストリーム生成部134とが実行する処理、または、中間ストリーム生成部230と符号化ストリーム生成部234とが実行する処理は並行して処理されてもよい。
さらに例えば、実施の形態1に係る画像符号化装置100、または、実施の形態2に係る画像符号化装置200が集積回路により実現される場合、画像符号化装置100または画像符号化装置200は1つの集積回路により実現されても、また、複数の集積回路により実現されてもよい。
本発明は、可変長符号化とそれ以前の画像処理とを非同期に実行する画像符化装置及び方法等に適用でき、特に、可変長符化において、H.264/AVCなどで採用されている算術符化を用いる場合に有効である。
図1は、CABACの算術符号化機能を備える従来の画像符号化装置の構成を示すブロック図である。 図2は、従来の中間ストリームに含まれる情報を示す図である。 図3は、符号化ストリームに含まれる情報を示す図である。 図4は、本発明の実施の形態1の画像符号化装置の構成を示すブロック図である。 図5は、実施の形態1の中間ストリームに含まれる情報を示す図である。 図6は、本発明の実施の形態1の画像符号化装置が実行する処理のフローチャートである。 図7は、本発明の実施の形態2の画像符号化装置の構成を示すブロック図である。 図8は、実施の形態1の中間ストリームに含まれる情報を示す図である。 図9は、本発明の実施の形態2の画像符号化装置が実行する処理のフローチャートである。
符号の説明
12 画像データ
14 ソース符号化部
20 符号化ストリーム
40 中間コード生成部
42 ヘッダ情報符号化部
64、264 パラメータ情報レジスタ
66 可変長符号化部
68 合成部
100 画像符号化装置
118、218 制御部
130 中間ストリーム生成部
132、232 バッファ
134 符号化ストリーム生成部
140 パラメータ情報抽出部
144、244 合成部
150、250 中間ストリーム
160、260 ストリーム入力制御部
220 パラメータ情報バッファ

Claims (10)

  1. 画像データから中間コードを生成するとともに画像符号化における符号化条件に含まれるヘッダ情報を符号化し、生成した中間コードと符号化したヘッダ情報とを合成して中間ストリームを生成する中間ストリーム生成手段と、
    前記中間ストリーム生成手段により生成された前記中間ストリームに含まれる前記中間コードを可変長符号化して符号化画像データを生成し、生成した前記符号化画像データと前記中間ストリーム生成手段により符号化された前記ヘッダ情報とを合成して符号化ストリームを出力する符号化ストリーム生成手段とを備える画像符号化装置であって、
    前記符号化ストリーム生成手段により前記中間コードが可変長符号化される際に必要となるパラメータ情報を、符号化されていない前記符号化条件から抽出するパラメータ情報抽出手段を備え、
    前記符号化ストリーム生成手段は、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を用いて前記中間コードを可変長符号化して前記符号化画像データを生成する
    ことを特徴とする画像符号化装置。
  2. 前記中間ストリーム生成手段は、前記パラメータ情報抽出手段を有し、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を前記中間ストリームに合成する
    ことを特徴とする請求項1に記載の画像符号化装置。
  3. 前記中間ストリーム生成手段は、前記パラメータ情報の直前にスタートコードを付加した中間ストリームを生成し、
    前記符号化ストリーム生成手段は、前記中間ストリームに付加されたスタートコードを検出することにより、前記中間ストリームから前記パラメータ情報を抽出する
    ことを特徴とする請求項2に記載の画像符号化装置。
  4. 前記スタートコードは、NAL(Network Abstraction Layer)ユニットのスタートコードと同じ形式である
    ことを特徴とする請求項3に記載の画像符号化装置。
  5. 前記符号化ストリーム生成手段は、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を前記パラメータ情報抽出手段から直接に取得する
    ことを特徴とする請求項1に記載の画像符号化装置。
  6. 前記中間ストリーム生成手段は、前記中間コードの直前にスタートコードを付加した中間ストリームを生成し、
    前記符号化ストリーム生成手段は、前記中間ストリームに付加されたスタートコードを検出することにより、前記中間ストリームから前記中間コードを抽出する
    ことを特徴とする請求項5に記載の画像符号化装置。
  7. 前記スタートコードは、NAL(Network Abstraction Layer)ユニットのスタートコードと同じ形式である
    ことを特徴とする請求項6に記載の画像符号化装置。
  8. 画像データから中間コードを生成するとともに画像符号化における符号化条件に含まれるヘッダ情報を符号化し、生成した中間コードと符号化したヘッダ情報とを合成して中間ストリームを生成する中間ストリーム生成ステップと、
    前記中間ストリーム生成手段により生成された前記中間ストリームに含まれる前記中間コードを可変長符号化して符号化画像データを生成し、生成した前記符号化画像データと前記中間ストリーム生成手段により符号化された前記ヘッダ情報とを合成して符号化ストリームを出力する符号化ストリーム生成ステップとを含む画像符号化方法であって、
    前記符号化ストリーム生成ステップにおいて前記中間コードが可変長符号化される際に必要となるパラメータ情報を、符号化されていない前記符号化条件から抽出するパラメータ情報抽出ステップを含み、
    前記符号化ストリーム生成ステップでは、前記パラメータ情報抽出ステップにおいて抽出された前記パラメータ情報を用いて前記中間コードを可変長符号化して前記符号化画像データを生成する
    ことを特徴とする画像符号化方法。
  9. 画像データから中間コードを生成するとともに画像符号化における符号化条件に含まれるヘッダ情報を符号化し、生成した中間コードと符号化したヘッダ情報とを合成して中間ストリームを生成する中間ストリーム生成ステップと、
    前記中間ストリーム生成手段により生成された前記中間ストリームに含まれる前記中間コードを可変長符号化して符号化画像データを生成し、生成した前記符号化画像データと前記中間ストリーム生成手段により符号化された前記ヘッダ情報とを合成して符号化ストリームを出力する符号化ストリーム生成ステップとをコンピュータに実行させる画像符号化プログラムであって、
    前記符号化ストリーム生成ステップにおいて前記中間コードが可変長符号化される際に必要となるパラメータ情報を、符号化されていない前記符号化条件から抽出するパラメータ情報抽出ステップをコンピュータに実行させ、
    前記符号化ストリーム生成ステップでは、前記パラメータ情報抽出ステップにおいて抽出された前記パラメータ情報を用いて前記中間コードを可変長符号化して前記符号化画像データを生成する
    ことを特徴とする画像符号化プログラム。
  10. 画像データから中間コードを生成するとともに画像符号化における符号化条件に含まれるヘッダ情報を符号化し、生成した中間コードと符号化したヘッダ情報とを合成して中間ストリームを生成する中間ストリーム生成手段と、
    前記中間ストリーム生成手段により生成された前記中間ストリームに含まれる前記中間コードを可変長符号化して符号化画像データを生成し、生成した前記符号化画像データと前記中間ストリーム生成手段により符号化された前記ヘッダ情報とを合成して符号化ストリームを出力する符号化ストリーム生成手段とを備える集積回路であって、
    前記符号化ストリーム生成手段により前記中間コードが可変長符号化される際に必要となるパラメータ情報を、符号化されていない前記符号化条件から抽出するパラメータ情報抽出手段を備え、
    前記符号化ストリーム生成手段は、前記パラメータ情報抽出手段により抽出された前記パラメータ情報を用いて前記中間コードを可変長符号化して前記符号化画像データを生成する
    ことを特徴とする集積回路。
JP2008528783A 2006-08-08 2007-07-31 画像符号化装置、その方法およびその集積回路 Active JP4997243B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008528783A JP4997243B2 (ja) 2006-08-08 2007-07-31 画像符号化装置、その方法およびその集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006216146 2006-08-08
JP2006216146 2006-08-08
PCT/JP2007/064987 WO2008018324A1 (en) 2006-08-08 2007-07-31 Image encoding device, its method, and its integrated circuit
JP2008528783A JP4997243B2 (ja) 2006-08-08 2007-07-31 画像符号化装置、その方法およびその集積回路

Publications (2)

Publication Number Publication Date
JPWO2008018324A1 true JPWO2008018324A1 (ja) 2009-12-24
JP4997243B2 JP4997243B2 (ja) 2012-08-08

Family

ID=39032858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008528783A Active JP4997243B2 (ja) 2006-08-08 2007-07-31 画像符号化装置、その方法およびその集積回路

Country Status (3)

Country Link
US (1) US8660188B2 (ja)
JP (1) JP4997243B2 (ja)
WO (1) WO2008018324A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4825644B2 (ja) * 2006-11-14 2011-11-30 ルネサスエレクトロニクス株式会社 画像復号装置、画像符号化装置、およびシステムlsi
JP2009200595A (ja) 2008-02-19 2009-09-03 Fujitsu Ltd 署名管理プログラム、署名管理方法及び署名管理装置
JP5163727B2 (ja) * 2010-10-12 2013-03-13 富士通株式会社 署名管理方法、署名管理システム
JP2012124838A (ja) * 2010-12-10 2012-06-28 Sony Corp 画像復号化装置と画像復号化方法および画像符号化装置と画像符号化方法並びにプログラム
WO2012111315A1 (ja) * 2011-02-16 2012-08-23 パナソニック株式会社 ストリーム生成装置、ストリーム生成方法、ストリーム処理装置、およびストリーム処理方法
JPWO2012140839A1 (ja) * 2011-04-11 2014-07-28 パナソニック株式会社 ストリーム生成装置およびストリーム生成方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3190755B2 (ja) * 1993-01-22 2001-07-23 株式会社東芝 復号装置
US6075918A (en) * 1995-10-26 2000-06-13 Advanced Micro Devices, Inc. Generation of an intermediate video bitstream from a compressed video bitstream to enhance playback performance
US5839100A (en) * 1996-04-22 1998-11-17 Wegener; Albert William Lossless and loss-limited compression of sampled data signals
US6038256A (en) * 1996-12-31 2000-03-14 C-Cube Microsystems Inc. Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics
JP2000032393A (ja) * 1998-07-09 2000-01-28 Sony Corp 画像情報処理装置および方法、並びに提供媒体
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
JP3694888B2 (ja) * 1999-12-03 2005-09-14 ソニー株式会社 復号装置および方法、符号化装置および方法、情報処理装置および方法、並びに記録媒体
JP2001160967A (ja) * 1999-12-03 2001-06-12 Nec Corp 画像符号化方式変換装置及び符号化レート変換装置
EP1217843B1 (en) * 2000-12-19 2012-11-28 Canon Kabushiki Kaisha Image processing method, apparatus, and storage medium
CN1327705C (zh) * 2001-10-16 2007-07-18 精工爱普生株式会社 文件生成装置及数据输出装置
US6825221B2 (en) * 2001-10-18 2004-11-30 Allergan, Inc. Arylsulfanyl and heteroarylsulfanyl derivatives for treating pain
US7177356B2 (en) * 2002-01-11 2007-02-13 Webtv Networks, Inc. Spatially transcoding a video stream
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.
JP4197262B2 (ja) * 2002-03-27 2008-12-17 パナソニック株式会社 可変長符号化方法、可変長復号化方法、記憶媒体、可変長符号化装置、可変長復号化装置、及びビットストリーム
JP4240283B2 (ja) * 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
US20040120404A1 (en) * 2002-11-27 2004-06-24 Takayuki Sugahara Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus
JP2005070937A (ja) * 2003-08-21 2005-03-17 Nihon Tetra Pak Kk 抽選くじシステム
JP4699685B2 (ja) * 2003-08-21 2011-06-15 パナソニック株式会社 信号処理装置及びそれを用いた電子機器
US7839930B2 (en) * 2003-11-13 2010-11-23 Microsoft Corporation Signaling valid entry points in a video stream
JP2006140758A (ja) * 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム

Also Published As

Publication number Publication date
WO2008018324A1 (en) 2008-02-14
US8660188B2 (en) 2014-02-25
US20100166078A1 (en) 2010-07-01
JP4997243B2 (ja) 2012-08-08

Similar Documents

Publication Publication Date Title
JP6235026B2 (ja) 誤り耐性のある復号単位関連付け
JP4540585B2 (ja) 符号化装置及び復号化装置
JP4997243B2 (ja) 画像符号化装置、その方法およびその集積回路
JP5918903B2 (ja) 拡張データの処理
JP2008182700A (ja) 復号処理装置
WO2012017945A1 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
TW200822756A (en) Creation and handling of a bitstream comprising video frames and auxiliary data
US8731050B2 (en) Image encoding apparatus and image decoding apparatus
TW200937875A (en) Compression system for a bit-plane
KR20050079418A (ko) 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치
JP4823090B2 (ja) 画像符号化装置
US8149922B2 (en) Device and method for merging different video codec
US9008448B2 (en) Method and apparatus for successively encoding/decoding image
TWI357756B (en) Coding system and method for a bit-plane
JP2010109912A (ja) 画像符号化装置及び画像符号化方法
JP2007074648A (ja) Cabac復号化装置
JP4414328B2 (ja) 画像処理装置及び画像処理装置
JP2011114770A (ja) 画像符号化装置、画像復号化装置、画像符号化・復号化システム及びその方法
JP6469277B2 (ja) 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
KR20050098258A (ko) 코딩된 신호내의 워터마크 임베딩
AU2013282645B2 (en) Video encoding device, video decoding device, video encoding method, video decoding method, and program
JP2004056806A (ja) 動画像符号化方法及び動画像復号方法
KR100521026B1 (ko) 단말기에 있어서 시각 특수 효과를 이용한 개인 정보 보호방법
JP2013165506A (ja) 画像符号化装置
JP2005072841A (ja) 情報埋め込み装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100329

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120501

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120514

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250