(57)【要約】【課題】  複数の領域に分割した画像の分割境界においてデブロッキングフィルタをかけなくするようにし、分割したそれぞれの領域に対して符号化器を割り当てることにより並列に符号化を行うことを可能にする。【解決手段】  画像を複数の領域に分割して複数の符号化器により各領域を並列に符号化する画像符号化装置であって、ブロック間の境界にフィルタ処理を行うフィルタ部と、ブロックごとに可変な量子化パラメータを用いて量子化を行う量子化部と、符号化画像と参照画像との間で動きベクトル検出を行う動きベクトル検出部とを備え、前記フィルタ部が、前記複数の領域の分割境界にあるブロック境界に対してはフィルタ処理が行われないようにする値を設定する。【選択図】  図１
2015171117.tif 000002
【特許請求の範囲】
【請求項１】
画像を複数の領域に分割して複数の符号化手段により各領域を並列に符号化する画像符号化装置であって、
ブロック間の境界にフィルタ処理を行うフィルタ手段と、
ブロックごとに可変な量子化パラメータを用いて量子化を行う量子化手段と、
符号化画像と参照画像との間で動きベクトル検出を行う動きベクトル検出手段とを備え、
前記フィルタ手段が、前記複数の領域の分割境界にあるブロック境界に対してはフィルタ処理が行われないようにする値を設定することを特徴とする画像符号化装置。
【請求項２】
前記フィルタ手段は、前記分割境界にあるブロック境界をまたがって接している２つのブロックの量子化パラメータの平均値を、ある一定の値よりも小さい値に設定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記動きベクトル検出手段は、前記分割境界にあるブロック境界をまたがって接している２つのブロックにおいて、参照ピクチャと動きベクトルがそれぞれ同じになるようにすることを特徴とする請求項１又は請求項２に記載の画像符号化装置。
【請求項４】
前記量子化手段は、前記分割境界にあるブロック境界をまたがって接している２つのブロックにおいて、量子化後の係数が全て０にすることを特徴とする請求項３に記載の画像符号化装置。
【請求項５】
前記複数の符号化手段が、それぞれH.264符号化方式に準拠した符号化を行うことを特徴とする請求項１乃至請求項４の何れか１項に記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の符号化を複数の符号化器を用いて並列に実行する画像符号化装置に関するものである。
【背景技術】
【０００２】
近年、動画像の高解像度化が進んでいる。例えば、デジタルビデオカメラやデジタルテレビなどでは１９２０画素×１０８０ラインの画素数を有するフルHD（High-Definition）映像を扱う製品が既に主流となっている。また高フレームレート化も進んでおり、デジタルビデオカメラではプログレッシブ映像で６０フレーム/秒の製品も市場に出ている。この高解像度化、高フレームレート化は今後も進んでいく見通しで、将来的にはいわゆる４K画像と呼ばれる３８４０画素×２１６０ラインの画像や、スーパーハイビジョンと呼ばれる７６８０画素×４３２０ラインで６０フレーム/秒の画像を扱うことが予想される。このような画像データを圧縮符号化する場合には、画素数の増加に応じて処理量が増大するため、画像処理の高速化が求められる。
【０００３】
画像処理の高速化手法の一つとして、画像を複数の領域に分割して複数の符号化器（符号化エンジンと称す）を用いて並列に符号化動作を行う手法が考えられる。例えば、図２のように画像を上下の２つに分割し、上部分の画像を符号化エンジン１、下部分の画像を符号化エンジン２で並列に符号化を行うことにより、１つの符号化エンジンで符号化を行う場合に比べて約２倍の高速化を図ることができる。
【０００４】
MPEG-2などの符号化方式の場合、符号化の結果作成されるローカルデコード画像が隣接する部分の符号化動作に影響を及ぼさないため、並列符号化方式による高速化が容易である。ところが、デジタルビデオカメラのAVCHD方式やブルーレイディスクの記録に用いられるH.264符号化方式では、デブロッキングフィルタと呼ばれるループ内フィルタが存在し、ローカルデコード画像の符号化結果が隣接する画像に影響を及ぼすことになる。H.264符号化方式でのデブロッキングフィルタは、フィルタをかける順番が規定されており、マクロブロック単位で画像の左上からラスタ順で処理を行う必要がある。そのため、上と左のマクロブロックの処理が完了している必要があり、並列に符号化を行うことが困難である。
【０００５】
これに対して図３のように画像を水平短冊状に分割し、垂直ラスタスキャン順でデブロッキングフィルタ処理を行うことにより、H.264符号化方式の規格に準拠したフィルタ処理を行うという方法がある（特許文献１参照）。この方法によれば、デブロッキングフィルタを並列に処理することが可能となり、並列符号化を行うことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第０４３９５１７４号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
通常、H.264符号化方式などの画像圧縮処理を行う場合、高速化のために動きベクトル検出、直交変換、量子化、デブロッキングフィルタなどの処理単位でマクロブロックパイプライン処理を行うことが多い。しかしながら、上記特許文献１における技術ではデブロッキングフィルタ処理は並列に処理を行うことができるが、その前処理となる動きベクトル検出、直交変換、量子化などの処理は、デブロッキングフィルタ処理を行う前にピクチャ内の全ての処理が完了していなければならない。すなわち、デブロッキングフィルタ処理と、その前処理との間ではマクロブロックパイプラインで処理することができず、ピクチャ単位で処理を行わなければならないという問題があった。全ての処理をマクロブロックパイプラインで処理する場合と比較し、処理速度の低下や、処理の中間結果を保持するバッファサイズが増大するという問題が生じる。
【０００８】
そこで、本発明は、複数の領域に分割した画像の分割境界においてデブロッキングフィルタをかけなくするようにし、分割したそれぞれの領域に対して符号化器を割り当てることにより並列に符号化を行うことを可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像符号化装置は、画像を複数の領域に分割して複数の符号化手段により各領域を並列に符号化する画像符号化装置であって、ブロック間の境界にフィルタ処理を行うフィルタ手段と、ブロックごとに可変な量子化パラメータを用いて量子化を行う量子化手段と、符号化画像と参照画像との間で動きベクトル検出を行う動きベクトル検出手段とを備え、前記フィルタ手段が、前記複数の領域の分割境界にあるブロック境界に対してはフィルタ処理が行われないようにする値を設定することを特徴とする。
【発明の効果】
【００１０】
本発明の画像符号化装置によれば、複数の領域に分割した画像の分割境界においてデブロッキングフィルタをかけなくすることができるため、分割したそれぞれの領域に対して符号化器を割り当てることにより並列に符号化を行うことが可能となる。また、それぞれの符号化器においては、通常の符号化時と同様にマクロブロックパイプラインを組んで処理を行うことが可能であり、処理速度の低下やバッファサイズの増大を招くことなく並列符号化処理を行うことが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の符号化システムの実施例１を示すブロック図。
【図２】画像を分割して並列に符号化動作を行う例。
【図３】デブロッキングフィルタの並列符号化の例。
【図４】符号化回路のブロック図。
【図５】ブロック境界の画素値。
【図６】αとβの算出テーブル。
【図７】本発明の実施例２における符号化回路のブロック図。
【図８】画像の分割境界をまたがった２つのマクロブロックの例。
【図９】Bs値の条件。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
【００１３】
［実施例１］
図１は本実施形態による符号化装置のシステム構成を説明するブロック図である。本実施例においては、画像を上下の２つの領域に分割して並列に符号化を行う場合の例について説明する。
【００１４】
フレームバッファ１０１は、これから符号化が行われる画像が入力され、その画像をバッファリングしておく。その後バッファリングした画像を上下に分割し、上の画像は符号化回路１０２、下の画像は符号化回路１０３に出力する。
【００１５】
符号化回路１０２はH.264符号化方式の符号化を行う回路で、分割された画像の上側の画像の符号化を行い、符号化ストリーム、ローカルデコード画像を生成する。符号化ストリームはストリームバッファ１０４へ出力される。
【００１６】
符号化回路１０３は、符号化回路１０２と同様にH.264符号化方式の符号化を行う回路で、分割された画像の下側の画像の符号化を行い、符号化ストリーム、ローカルデコード画像を生成し、符号化ストリームをストリームバッファ１０４に出力する。
【００１７】
符号化回路１０２で符号化が行われる符号化ストリームと、符号化回路１０３で符号化が行われる符号化ストリームは、それぞれ別スライスとして符号化が行われる。
【００１８】
ストリームバッファ１０４は、符号化回路１０２、および符号化回路１０３からそれぞれ出力される分割された符号化ストリームを、１つの符号化ストリームにまとめて出力する。
【００１９】
図４に符号化回路１０２の構成を示す。入力された符号化画像が格納されているフレームバッファ１０１から、上下に分割された上の画像がマクロブロック単位でラスタ順に動き予測部４０１に出力される。動き予測部４０１では、フレームバッファ１０１から入力される符号化画像と、参照フレームバッファ４１０に格納されている参照画像との間でブロックマッチングをとり、動きベクトル検出を行う。符号化画像と、検出された動きベクトル位置の参照画像との間で画素の差分をとり、その差分画像を直交変換部４０２に出力する。
【００２０】
直交変換部４０２では、送られてきた差分画像に対して離散コサイン変換を行い、変換係数を生成し、量子化部４０３に出力する。
【００２１】
量子化部４０３では、送られてきた変換係数に対して、量子化制御部４０４が出力する量子化パラメータに従い、量子化を行う。量子化された変換係数はエントロピー符号化部４０５、ならびにローカルデコード画像作成のため逆量子化部４０６に送られる。
【００２２】
エントロピー符号化部４０５では、量子化後の変換係数に対してジグザグスキャン、オルタネートスキャン等を行い、可変長符号化が行われる。これに対して、動きベクトルや、量子化パラメータ、マクロブロックの分割情報などの符号化方式情報を可変長符号化したものを付加し、符号化ストリームを生成する。また、符号化の際にマクロブロックごとの発生符号量を算出し、量子化制御部４０４に送る。
【００２３】
量子化制御部４０４では、量子化パラメータを決定する。量子化制御部４０４には、符号化を行う当該マクロブロックが画像の分割境界に接しているかどうかを示す情報（画像の境界情報）が入力される。
【００２４】
符号化を行うマクロブロックが画像の分割境界に接していない場合には、エントロピー符号化部４０５から発生符号量を受け取り、目標とする符号量になるように量子化パラメータを決定し、量子化部４０３に出力する。
【００２５】
符号化を行うマクロブロックが画像の分割境界に接している場合には、量子化パラメータをある決められた値（これをQp_nofilterとする）にする。この量子化パラメータ値は、ブロック境界にデブロッキングフィルタ処理が行われないような値に設定する。この値は、H.264符号化方式の規格より導きだすことができる。詳細については、デブロッキングフィルタ部４０９のところで説明する。
【００２６】
逆量子化部４０６では、入力された量子化後の変換係数に対して逆量子化を行い、ローカルデコード用の変換係数を生成する。この変換係数は逆直交変換部４０７に出力される。
【００２７】
逆直交変換部４０７では、入力された変換係数に対して、逆離散コサイン変換を行い、差分画像を生成する。差分画像は動き補償部４０８に出力される。
【００２８】
動き補償部４０８では、動きベクトル位置の参照画像を参照フレームバッファ４１０から読み出し、入力された差分画像を加算することにより、ローカルデコード用の画像データを作成する。作成された画像データはデブロッキングフィルタ部４０９に出力される。
【００２９】
デブロッキングフィルタ部４０９では、入力された画像データに対してデブロッキングフィルタをかける。デブロッキングフィルタ後の画像が、ローカルデコード画像として参照フレームバッファ４１０に格納される。
【００３０】
以上の動作により、符号化ストリーム、ローカルデコード画像が作成される。なお、符号化回路１０３も符号化回路１０２と同様の構成をとる。
【００３１】
デブロッキングフィルタ部４０９では、H.264符号化方式の規格に準拠してデブロッキングフィルタ処理が行われる。ただし、実際にブロック境界にフィルタ処理が行われるかどうかは、当該ブロック境界の画素値や符号化パラメータによって決まる。H.264符号化方式の規格から、以下の式（１）の条件が成立した場合には、ブロック境界にフィルタ処理を行わない。ここで、ブロック境界の画素値を図５のように、p0、p1、p2、p3、q0、q1、q2、q3と表す。
【００３２】
｜p0−q0｜＞α  もしくは  ｜p1−q0｜＞β  もしくは  ｜q1−q0｜＞β  …（１）
ここで、α、βはそれぞれIndexA、IndexBという値に対するテーブルで定義される。IndexA、IndexBは量子化パラメータ、およびフィルタ強度に対するオフセット値から算出される。IndexA、IndexBに対するα、βの定義を図６に示す。
【００３３】
フィルタ処理を行う２つのブロックの量子化パラメータ、すなわちp0、p1、p2、p3の量子化パラメータをQpA、q0、q1、q2、q3の量子化パラメータをQpBとし、その２つの量子化パラメータの平均値をQpavとする。また、ビットストリーム中においてslice_alpha_c0_offset_div2、slice_beta_offset_div2で指定されるオフセット値をそれぞれFilterOffsetA、FilterOffsetBとすると、IndexA、IndexBはそれぞれ、式（２）、式（３）で表される。
【００３４】
IndexA=Qpav+FilterOffsetA    …（２）
IndexB=Qpav+FilterOffsetB    …（３）
ここで、図６のテーブルからIndexAが15以下であればα=0、IndexBが15以下であればβ=0となる。α=0、もしくはβ=0とすれば、式（１）の条件を満たすので、当該ブロックにはデブロッキングフィルタがかからない。
【００３５】
量子化制御部４０４で決定するQp_nofilterの値を式（２）、式（３）、および図６のテーブルから、α=0、もしくはβ=0となるような値に設定する。以下の式（４）、式（５）のどちらかが成立するように、Qp_nofilterの値を設定する。
【００３６】
Qp_nofilter＝15−FilterOffsetA    …（４）
Qp_nofilter＝15−FilterOffsetB    …（５）
例えば、FilterOffsetA=0だとすると、式（４）より、Qp_nofilter=15となる。量子化制御部４０４で、画像の分割境界部分に接したブロックは15に設定される。これにより、フィルタ処理を行う２つのブロックの量子化パラメータQpA、QpBがともにQpA=15、QpB=15に設定されるので、２つの量子化パラメータの平均値もQpav=15となる。
【００３７】
FilterOffsetA=0なので、式（２）より、IndexA=15となる。図６のテーブルよりα=0となるので、式（１）の  ｜p0−q0｜＞α  の条件が成立する。したがって、このブロック境界にはデブロッキングフィルタがかからない。
【００３８】
このようにして、画像の分割境界部分は必ずデブロッキングフィルタがかからないように処理を行う。
【００３９】
以上のように、量子化制御部４０４で、処理行うブロックが分割した画像の分割境界に接しているかどうかを判定し、分割境界部分に接している場合には、量子化パラメータをある一定以下の値にすることで、デブロッキングフィルタをかけないようにすることができる。
【００４０】
このように処理を行うことで画像の分割境界で、デブロッキングフィルタによる影響を避けることができ、分割した上部分のローカルデコード画像の符号化結果が、分割した下部分のローカルデコード画像に影響を及ぼさないようにすることができる。したがって、分割した上下の画像はそれぞれ独立に符号化を行うことができるため、符号化回路１０２と符号化回路１０３の２つの符号化器を用いて並列符号化が可能となる。また、それぞれの符号化器においては、図４に示した構成のように通常時と同じマクロブロックパイプラインで処理を行うことができる。
【００４１】
なお、本実施例では画像を上下の２つに分割した場合の例について説明したが、それ以上の複数の領域に分割した場合でも適用でき、同様の効果を得ることができる。また上下ではなく、左右に分割した場合にも同様の効果を得ることができる。
【００４２】
また、符号化方式としてH.264符号化方式を例にして説明したが、本発明はH.264符号化方式に限定されるものではなく、H.264符号化方式を改良したような新しい規格であっても、同様の技術内容を有する規格であれば、同様に本発明を適用することができる。
【００４３】
［実施例２］
本実施例では、デブロッキングフィルタをかけないようにするために、動きベクトル、参照ピクチャ、ならびに量子化係数を変更するところに特徴がある。ここでは、第１の実施例との差異についてのみ詳細に説明する。
【００４４】
本実施例における符号化回路の構成を図７に示す。第１の実施例の符号化回路１０２の構成に対して、動き予測部７０１、量子化部７０２、量子化制御部７０３の動作が異なる。
【００４５】
これから符号化が行われる符号化画像は、フレームバッファ１０１に格納される。フレームバッファ１０１では、符号化画像を上下の２つに分割し、分割した符号化画像を動き予測部７０１に出力する。
【００４６】
動き予測部７０１では、フレームバッファ１０１から入力される分割された符号化画像と、参照ブレームバッファ４０１に格納されている参照画像との間でブロックマッチングをとり、動きベクトル検出を行う。符号化画像と、検出された動きベクトル位置の参照画像との間で画素の差分をとり、その差分画像を直交変換部４０２に出力する。
【００４７】
ここで、符号化を行う当該マクロブロックが画像の分割境界に接したマクロブロックかどうかで処理が変わる。
【００４８】
符号化を行うマクロブロックが画像の分割境界に接していない場合は、通常時と同じようにブロックマッチングを行い、動きベクトル検出を行う。
【００４９】
符号化を行うマクロブロックが画像の分割境界に接している場合は、境界をまたがった２つのマクロブロックが同じ参照ピクチャ、かつ同じ動きベクトルを示すようにする。
【００５０】
図８に画像の分割境界の例を示す。画像を上下に分割した分割境界に接しているマクロブロック８０１とマクロブロック８０２があり、この２つのマクロブロックの参照ピクチャ、動きベクトルを同じにする。
【００５１】
これは、あらかじめ決められた動きベクトル値（例えば原点位置であるベクトル（0,0）等）を設定してもよい。また、先に符号化を行った方のマクロブロックの結果に合わせてもよい。例えば、マクロブロック８０１より、マクロブロック８０２の方が先に符号化が行われるとする。このとき、マクロブロック８０２は通常と同じようにブロックマッチングを行い、動きベクトル検出を行う。マクロブロック８０１の符号化時には、動きベクトルとして、マクロブロック８０２の結果を受け取り、それをそのままマクロブロック８０１の動きベクトル検出の結果として符号化を行う。
【００５２】
直交変換部４０２では、送られてきた差分画像に対して離散コサイン変換を行い、変換係数を生成し、量子化部７０２に出力する。
【００５３】
量子化部７０２では、送られてきた変換係数に対して量子化処理を行う。量子化部７０２でも、符号化を行う当該マクロブロックが画像の分割境界に接したマクロブロックかどうかで処理が変わる。
【００５４】
符号化を行うマクロブロックが画像の分割境界に接していない場合は、量子化制御部７０３が出力する量子化パラメータに従い量子化を行う。
【００５５】
符号化を行うマクロブロックが画像の分割境界に接している場合は、量子化制御部７０３が出力する量子化パラメータの値にかかわらず、量子化後の変換係数を全て0にする。
【００５６】
どちらの場合でも、量子化された変換係数はエントロピー符号化部４０５、ならびにローカルデコード画像作成のため逆量子化部４０６に送られる
エントロピー符号化部４０５では、量子化後の変換係数に対してジグザグスキャン、オルタネートスキャン等を行い、可変長符号化が行われる。これに対して、動きベクトルや量子化パラメータ、マクロブロック分割情報などの符号化情報を可変長符号化したものを付加し、符号化ストリームを生成する。また、符号化の際にマクロブロックごとの発生符号量を算出し、量子化制御部７０３に送る。
【００５７】
量子化制御部７０３では、エントロピー符号化部４０５から発生符号量を受け取り、ピクチャ全体で目標とする符号量になるように量子化パラメータを決定し、量子化部７０２へ出力する。
【００５８】
逆量子化部４０６では、入力された量子化後の変換係数に対して逆量子化を行い、ローカルデコード用の変換係数を生成し、逆直交変換部４０７に出力する。
【００５９】
逆直交変換部４０７では、入力された変換係数に対して逆離散コサイン変換を行い、差分画像を生成する。差分画像は動き補償部４０８に出力される。
【００６０】
動き補償部４０８では、動きベクトル位置の参照画像を参照フレームバッファ４１０から読み出してきて参照画像を生成し、入力された差分画像を加算することにより、ローカルデコード用の画像データを作成する。作成された画像データは、デブロッキングフィルタ部４０９に出力される。
【００６１】
デブロッキングフィルタ部４０９では、入力された画像データに対してデブロッキングフィルタをかける。デブロッキングフィルタ後の画像が、ローカルデコード画像として参照フレームバッファ４１０に格納される。
【００６２】
このようにして、符号化ストリーム、ローカルデコード画像が生成される。
【００６３】
デブロッキングフィルタ部４０９では、H.264符号化方式の規格に準拠してデブロッキングフィルタ処理が行われる。H.264符号化方式の規格に、Bs（Boundary Strength）値というものがある。これは、画像のブロック境界の強度を表すものであり、Bs=0〜4の値をとる。このBs値がBs=0のときは、そのブロック境界に対してデブロッキングフィルタ処理を行わないことになっている。
【００６４】
Bs値を決定する条件を図９に示す。ここで、p、qはブロック境界をまたがった２つのブロックを表している。
【００６５】
動き予測部７０１により、画像の分割境界に接した２つのブロックは、それぞれ参照ピクチャ、動きベクトルが同じになっている。また量子化部７０２により、量子化後の変換係数が全て0になっている。
【００６６】
これらの条件から図９より、Bs=0となる。したがって画像の分割境界にはデブロッキングフィルタがかからない。
【００６７】
以上のように、画像の分割境界にまたがった２つのブロックに対して、参照ピクチャ、動きベクトルを同一にし、かつ量子化後の変換係数を全て0にすることで、画像の分割境界部分にデブロッキングフィルタをかけないようにすることができる。
【００６８】
このように処理を行うことで画像の分割境界で、デブロッキングフィルタによる影響を避けることができ、２つの符号化器を用いての並列符号化が可能となる。また、それぞれの符号化器においては、図７に示した構成のように通常時と同じマクロブロックパイプラインで処理を行うことができる。
【符号の説明】
【００６９】
１０１  フレームバッファ
１０２  分割画像の上部分用符号化回路
１０３  分割画像の下部分用符号化回路
１０４  ストリームバッファ
【図１】
2015171117.tif 000003
【図５】
2015171117.tif 000004
【図２】
2015171117.tif 000005
【図３】
2015171117.tif 000006
【図４】
2015171117.tif 000007
【図６】
2015171117.tif 000008
【図７】
2015171117.tif 000009
【図８】
2015171117.tif 000010
【図９】
2015171117.tif 000011