(57)【要約】【課題】高ビットレートの符号化を行う画像符号化装置において、算術符号化データバッファの増大を抑え、かつ画質低下のない符号化装置を提供できるようにする。【解決手段】画像データを符号化対象のブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化装置であって、前記量子化された信号から二値データを生成する二値化手段と、前記二値化手段により生成された二値データを格納する二値データバッファと、前記二値データバッファに格納された前記二値データを算術符号化する複数の算術符号化手段と、前記複数の算術符号化手段により符号化された複数の算術符号化データを格納する算術符号化データバッファとを備え、前記複数の算術符号化手段は、並列動作で算術符号化を行うように制御する。【選択図】図２
2015005873.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化対象のブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化装置であって、
前記量子化された信号から二値データを生成する二値化手段と、
前記二値化手段により生成された二値データを格納する二値データバッファと、
前記二値データバッファに格納された前記二値データを算術符号化する複数の算術符号化手段と、
前記複数の算術符号化手段により符号化された複数の算術符号化データを格納する算術符号化データバッファとを備え、
前記複数の算術符号化手段は、並列動作で算術符号化を行うように制御することを特徴とする画像符号化装置。
【請求項２】
前記算術符号化手段は、スライス毎の算術符号化データを前記算術符号化データバッファに格納することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記算術符号化データバッファは、１つの連続したメモリ空間からなることを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
現在のスライスの算術符号化データを格納する先頭アドレスは、直前のスライスの算術符号化データの先頭アドレスと直前のスライスの二値データ量から導かれるアドレスとすることを特徴とする請求項１〜３の何れか１項に記載の画像符号化装置。
【請求項５】
現在のスライスの算術符号化データを格納する先頭アドレスは、直前のスライスの算術符号化データの先頭アドレスと直前のスライスの二値データ量を加算した値以上のアドレスとすることを特徴とする請求項１〜３の何れか１項に記載の画像符号化装置。
【請求項６】
画像データを符号化対象のブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化方法であって、
前記量子化された信号から二値データを生成する二値化工程と、
前記二値化工程により生成された二値データを二値データバッファに格納する格納工程と、
前記二値データバッファに格納された前記二値データを算術符号化する複数の算術符号化工程と、
前記複数の算術符号化工程により符号化された複数の算術符号化データを算術符号化データバッファに格納する格納工程とを備え、
前記複数の算術符号化工程は、並列動作で算術符号化を行うように制御することを特徴とする画像符号化方法。
【請求項７】
画像データを符号化対象のブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化方法をコンピュータに実行させるプログラムであって、
前記量子化された信号から二値データを生成する二値化工程と、
前記二値化工程により生成された二値データを二値データバッファに格納する格納工程と、
前記二値データバッファに格納された前記二値データを算術符号化する複数の算術符号化工程と、
前記複数の算術符号化工程により符号化された複数の算術符号化データを算術符号化データバッファに格納する格納工程とをコンピュータに実行させ、
前記複数の算術符号化工程は、並列動作で算術符号化を行うように制御するようコンピュータを制御することを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像符号化装置及び画像符号化方法に関し、特に、エントロピー符号化にＣＡＢＡＣを用いた画像符号化装置に用いて好適な技術に関するものである。
【背景技術】
【０００２】
従来、画像の圧縮符号化方式として、Ｈ．２６４が知られている。この圧縮符号化方式は、画像をマクロブロックと呼ばれる１６×１６画素のブロックに分割し、動き補償予測、直交変換を行い、さらにその変換係数を量子化し、エントロピー符号化を施し、画像の圧縮符号化を行うものである。この符号化方式は、ＭＰＥＧ−４  Ｐａｒｔ１０としても知られている。
【０００３】
Ｈ．２６４では、エントロピー符号化方式として、以下の２種類を規定している。１つはＣＡＶＬＣ（Context-Adaptive Variable Length Coding）であり、もう１つはＣＡＢＡＣ（Context−Adaptive Binary Arithmetic Coding）である。
【０００４】
ＣＡＢＡＣは、予測画像信号を直交変換して量子化する。そして、二値化手段により二値符号化された二値データに対し、符号化対象のカレントマクロブロックの周辺情報など符号化状態に関わるコンテキストを導出しながら、算術符号化手段により、算術符号化を行うものである。
【０００５】
算術符号化の処理は、二値データを１ビット１サイクルで処理するため、二値データ量に比例して処理サイクルが変化する。また、二値データ量はピクチャタイプや入力される画像によって膨大になる場合がある。よって、算術符号化処理は、発生しうる二値データの最大量にあわせて高速に動作させる必要があるが、消費電力が増大してしまう。
【０００６】
そこで、二値化手段と算術符号化手段の間に二値データバッファを備えて、二値データをＣＡＢＡＣの符号化単位であるスライス単位にバッファすることで、平均的な速度で算術符号化手段を動作させるようにした符号化装置が考案されている。このような符号化装置は特許文献１に開示されている。
【０００７】
特許文献１の技術を応用すると、より高ビットレートの符号化への対応が可能である。すなわち、複数の算術符号化手段を備えて、複数のスライスの算術符号化を並列に処理するものである。そして、出力された算術符号化データは複数備えた算術符号化データバッファに各々格納しておき、スライス毎に順次読み出すことで１つの符号化データを得ることができる。これにより、算術符号化手段の動作速度を上げることなく、高ビットレート化が実現できる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１４１５３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、前述の高ビットレート対応の方法では、並列動作させる分の複数の算術符号化データバッファが必要であり、装置が大型化するという課題がある。また、複数の算術符号化データバッファの合計サイズを増やさないようにするために、１つあたりのバッファサイズを小さくすると、ピクチャあたりの最大発生符号量を小さく制御しなくてはならなくなり、画質低下の原因となってしまう問題点があった。
本発明は前述の問題点に鑑み、高ビットレートの符号化を行う画像符号化装置において、算術符号化データバッファの増大を抑え、かつ画質低下のない符号化装置を提供できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の画像符号化装置は、画像データを符号化対象のブロック毎に直交変換して量子化し、エントロピー符号化を行う画像符号化装置であって、前記量子化された信号から二値データを生成する二値化手段と、前記二値化手段により生成された二値データを格納する二値データバッファと、前記二値データバッファに格納された前記二値データを算術符号化する複数の算術符号化手段と、前記複数の算術符号化手段により符号化された複数の算術符号化データを格納する算術符号化データバッファとを備え、前記複数の算術符号化手段は、並列動作で算術符号化を行うように制御することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数の算術符号化手段により高ビットレートに対応した画像符号化装置において、算術符号化データバッファを一つの連続したメモリ空間とすることが可能となる。これにより、バッファサイズの増大を抑えてかつ画質低下のない符号化装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態を示し、画像符号化装置の構成例を示すブロック図である。
【図２】第１の実施形態を示し、画像符号化装置の動作を表すデータフロー図である。
【発明を実施するための形態】
【００１３】
以下、本発明に係る画像符号化装置及び画像符号化方法の実施形態について、図面を参照しながら詳細に説明する。
（第１の実施形態）
図１は、本実施形態に係る画像符号化装置１００の構成例を示すブロック図である。本実施形態の画像符号化装置は、画像データを符号化対象のブロック毎に直交変換して量子化し、エントロピー符号化を行うために、算術符号化手段を２つ備えた構成例を示している。本実施形態に係る画像符号化装置は、前述したＨ．２６４やＨ．２６４の後に標準化されたＨ．２６５、又はそれらに類似する動画像の符号化方式に対応する。
以下、本実施形態の画像符号化装置１００の構成例において、各ブロックの動作について説明する。
【００１４】
図１において、予測処理部１０１は符号化対象となる画像信号を入力し、１６画素×１６画素の符号化対象のブロック毎に符号化モードの決定及び動き検出を行う。そして、符号化モードに応じてイントラ予測処理、またはインター予測処理を行って、予測残差信号をＤＣＴ変換部１０２に出力する。
【００１５】
ＤＣＴ変換部１０２は、例えば離散コサイン変換（ＤＣＴ）のような直交変換を行い、予測残差信号をＤＣＴ係数に変換し、量子化部１０３に出力する。
量子化部１０３は、ＤＣＴ係数を量子化し、二値化部１０４に出力する。この時、量子化に用いられる量子化パラメータは後述する符号量制御部１０９から入力される。
【００１６】
メモリインターフェース１０７は後述する複数のブロック（二値化部１０４、算術符号化部１０５、１０６、フォーマッター１１０）からの読み書き要求を調停してメモリ１０８にデータを読み書きするためのインターフェースである。
【００１７】
二値化部１０４は、量子化されたＤＣＴ係数を入力し、ＣＡＢＡＣにおける所定の二値変換方法によりＤＣＴ係数を二値化して二値データを出力する。出力された二値データはメモリインターフェース１０７を介して、二値データを格納する二値データバッファとして設けられているメモリ１０８の二値データ領域に書き込まれる。また、スライス毎の二値データの発生符号量を計測して符号量制御部１０９に出力する。
【００１８】
符号量制御部１０９は、二値データの発生符号量が適切な符号量となるように符号化対象のブロック毎に量子化パラメータを算出し、算出した量子化パラメータを量子化部１０３に出力する。
算術符号化部１０５および１０６はメモリインターフェース１０７を介して、メモリ１０８の二値データ領域から二値データを読み出す。そして、ＣＡＢＡＣにおける所定の方法により算術符号化を行い、算術符号データを生成して出力する。
【００１９】
出力された算術符号データはメモリインターフェース１０７を介して、算術符号化データを格納する算術符号化データバッファとして設けられているメモリ１０８の算術符号データ領域に書き込まれる。これらの動作は算術符号化部１０５および１０６が並列動作して行われる。
【００２０】
ここで、算術符号化データの書き込み制御について説明する。
本実施形態は、複数の算術符号化手段からの算術符号化データを一つの連続したメモリ空間に格納することを特徴としている。一つの連続したメモリ空間に複数の算術符号化データを同時に書き込むためには、互いにデータを破壊（上書き）しないようにする必要がある。そこで、本実施形態の画像符号化装置１００では、現在のスライスの算術符号化データを格納する先頭アドレスを、直前のスライスの算術符号化データの先頭アドレスと直前のスライスの二値データ量を加算した値以上のアドレスとしている。
【００２１】
ＣＡＢＡＣの算術符号化においては、ほとんどの場合、二値データが圧縮されて、二値データよりも算術符号化データの方が小さくなる。よって、前述したようなアドレスとすることで、複数の算術符号化部１０５、１０６がデータをメモリ１０８に同時に書き込んでも、互いにデータを破壊することがなくなる。より詳細な動作説明は後述する。
【００２２】
なお、算術符号化において、二値データよりも算術符号化データの方が大きくなってしまった場合は、いずれかのスライスの算術符号化データは破壊されてしまう。このため、これに備えて、予めコピーピクチャとなる算術符号化データをメモリ内の別領域に用意しておいて、破壊されたスライスの算術符号化データの代わりに使用するようにしてもよい。
【００２３】
また、ピクチャタイプによって優先度を決めておいて、優先度の高いスライスを破壊させずに残すようにしてもよい。例えば、画面内予測によって符号化されるピクチャ（Ｉピクチャ）を１番目に高く、一方向の画面間予測をする符号化ピクチャ（Ｐピクチャ）を２番目、両方向の画面間予測が可能な符号化ピクチャ（Ｂピクチャ）を３番目の優先度とする。そして、Ｉピクチャ、Ｐピクチャをなるべくコピーピクチャとしないようにすることで、視覚上のコピーピクチャの影響を少なくすることができる。
【００２４】
フォーマッター１１０は、メモリインターフェース１０７を介して、メモリ１０８の算術符号データ領域から順次算術符号データを読み出す。そして、Ｈ.２６４／ＡＶＣ等で規定されるヘッダーデータなどを付与して、符号化データとして外部に出力する。フォーマッター１１０から出力された符号化データは、図示しない伝送媒体や記録媒体に出力される。
【００２５】
制御部１１１は、メモリ１０８内の二値データ領域、算術符号化データ領域に格納される各データアドレスを管理し、各ブロックを制御する。具体的には、二値化部１０４が二値データを書き出すアドレス、算術符号化部１０５、１０６が二値データを読み出すアドレス、算術符号化データを書き出すアドレス、フォーマッター１１０が算術符号化データを読み出すアドレスを全て管理する。さらに制御部１１１は、各ブロックに指示して、全体の処理を制御する。
【００２６】
次に、図２を参照しながら、二値化部１０４および算術符号化部１０５、１０６の動作内容についてより詳細に説明する。
図２は、二値化部１０４、算術符号化部１０５、１０６、メモリ内の二値データ領域および算術符号データ領域のデータの流れを表すデータフローを説明する図である。
図２において、二値化部１０４、算術符号化部１０５、１０６は、図１の二値化部１０４、算術符号化部１０５、１０６にそれぞれ同じなので同じ符号を付す。二値データ領域２０１、算術符号化データ領域２０２は、図１のメモリ１０８内に配置される二値データ領域、算術符号化データ領域を示している。
【００２７】
また、図２中の「矢印」は説明を分かりやすくするため、動作中のある瞬間のデータの流れを示したものである。また、下記の説明中のアドレスとは、メモリ１０８内の各データ格納領域の先頭アドレスからのオフセットアドレスを意味している。
【００２８】
メモリ１０８内において、二値データ領域２０１および算術符号化データ領域２０２はリングバッファとして動作するものであり、領域の最後まで書き込まれると、先頭に戻って書き込むように制御されている。
【００２９】
まず、二値化部１０４から出力された二値データは、二値データ領域２０１の先頭アドレスから順次書き込まれて、スライス毎にｂ（ｎ）、ｂ（ｎ＋１）、ｂ（ｎ＋２）・・・と格納される。また、二値データｂ（ｎ）、ｂ（ｎ＋１）、ｂ（ｎ＋２）の各々が格納されたアドレスはそれぞれ、Ａｂ（ｎ）、Ａｂ（ｎ＋１）、Ａｂ（ｎ＋２）で示されている。
【００３０】
次に、算術符号化部１０５、１０６の動作について２つのステップに分けて説明する。
［ステップ１］
前述したように、二値データ領域２０１に数スライス分の二値データが書き込まれると、算術符号化部１０５は二値データ領域２０１から、１番目のスライスの二値データｂ（ｎ）を読み出して、算術符号化を行い出力する。出力された算術符号化データｃ（ｎ）は、算術符号化データ領域２０２の先頭アドレスＡｃ（ｎ）に導かれ、格納される。ｃ（ｎ）は１番目のスライスであるため、アドレスＡｃ（ｎ）は０となる。
【００３１】
これと同時に、
算術符号化部１０６は二値データ領域２０１から、２番目のスライスの二値データｂ（ｎ＋１）を読み出して、算術符号化を行い出力する。出力された算術符号化データｃ（ｎ＋１）は、直前スライスの算術符号化データの先頭アドレスＡｃ（ｎ）と直前のスライスの二値データｂ（ｎ）の符号量を加算したアドレスＡｃ（ｎ＋１）に格納される。
【００３２】
［ステップ２］
算術符号化部１０５は二値データ領域２０１から、３番目のスライスの二値データｂ（ｎ＋２）を読み出して、算術符号化を行い出力する。出力された算術符号化データｃ（ｎ＋２）は、直前スライスの算術符号化データの先頭アドレスＡｃ（ｎ＋１）と直前のスライスの二値データｂ（ｎ＋１）の符号量を加算したアドレスＡｃ（ｎ＋２）に格納される。
【００３３】
これと同時に、
算術符号化部１０６は二値データ領域２０１から、４番目のスライスの二値データｂ（ｎ＋３）を読み出して、算術符号化を行い出力する。出力された算術符号化データｃ（ｎ＋３）は直前スライスの算術符号化データの先頭アドレスＡｃ（ｎ＋２）と直前のスライスの二値データｂ（ｎ＋２）の符号量を加算したアドレスＡｃ（ｎ＋３）に格納される。
これ以降はステップ２を繰り返して、順次算術符号化処理がなされていく。
【００３４】
このように、算術符号化部が算術符号化データ領域にデータを書き込む際に、現在のスライスの算術符号化データを格納する先頭アドレスを直前のスライスの算術符号化データの先頭アドレスと直前のスライスの二値データ量を加算した値以上のアドレスとする。これにより、複数の算術符号化部がデータを同時に書き込んでも、互いにデータを破壊することがないため、算術符号化データ領域を一つの連続したメモリ空間とすることができる。
【００３５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００３６】
１０１  予測処理部
１０２  ＤＣＴ変換部
１０３  量子化部
１０４  二値化部
１０５  算術符号化部
１０６  算術符号化部
１０７  メモリインターフェース
１０８  メモリ
１０９  符号量制御部
１１０  フォーマッター
１１１  制御部
【図１】
2015005873.tif 000003
【図２】
2015005873.tif 000004