(57)【要約】      （修正有）【課題】互いに異なるブロック列を復号する複数の復号器のうちの、演算量が相対的に少ない復号器の消費電力を抑制する動画像復号装置を提供する。【解決手段】動画像復号装置１は、複数のブロック列のそれぞれについての符号量を求める符号量特定部１０（ヘッダ復号部）と、複数のブロック列の何れかのブロック列に対して、供給されるクロック信号の動作周波数に応じた処理速度で、符号量に応じて処理量が変化する第１の復号処理を実行して復号データを求める複数の第１の復号器１２−１〜１２−ｎ（エントロピー復号器）と、複数の第１の復号器のそれぞれごとに、その第１の復号器に入力されるブロック列の符号量に応じて、その第１の復号器に供給されるクロック信号の動作周波数を決定するクロック周波数決定部１１と、複数のブロック列のそれぞれの復号データからピクチャを再生する第２の復号部１４（係数復号部）とを有する。【選択図】図２
2016100728.tif 000002
【特許請求の範囲】
【請求項１】
符号化された動画像データに含まれる、複数のブロック列のそれぞれごとに符号化されたピクチャを再生する動画像復号装置であって、
前記複数のブロック列のそれぞれについての符号量を求める符号量特定部と、
前記複数のブロック列の何れかのブロック列に対して、供給されるクロック信号の動作周波数に応じた処理速度で、前記符号量に応じて処理量が変化する第１の復号処理を実行して復号データを求める複数の第１の復号器と、
前記複数の第１の復号器のそれぞれごとに、当該第１の復号器に入力される前記ブロック列の符号量に応じて、当該第１の復号器に供給されるクロック信号の動作周波数を決定するクロック周波数決定部と、
前記複数のブロック列のそれぞれの前記復号データから前記ピクチャを再生する第２の復号器と、
を有する動画像復号装置。
【請求項２】
前記クロック周波数決定部は、前記複数の第１の復号器のそれぞれについて、当該第１の復号器に入力される前記ブロック列の符号量が少ないほど、当該第１の復号器に供給される前記クロック信号の動作周波数を低くする、請求項１に記載の動画像復号装置。
【請求項３】
前記クロック周波数決定部は、前記複数の第１の復号器のうち、入力される前記ブロック列の符号量が最大となる第１の復号器に供給されるクロック信号の動作周波数を、設定可能なクロック信号の動作周波数のうちの最高値に設定する、請求項２に記載の動画像復号装置。
【請求項４】
前記複数の第１の復号器のそれぞれは、入力された前記ブロック列に含まれる複数のブロックのうちの所定数のブロックの復号が終了した時点での当該所定数のブロックの符号量が少ないほど、当該第１の復号器に供給されるクロック信号の動作周波数が高くなるよう該動作周波数の補正値を求め、該動作周波数の補正値を当該第１の復号器へクロック信号を供給するクロック供給部へ通知する、請求項１〜３の何れか一項に記載の動画像復号装置。
【請求項５】
前記複数の第１の復号器のそれぞれごとに、当該第１の復号器に入力される前記ブロック列の符号量に応じて、当該第１の復号器に供給される駆動電圧を設定する駆動電圧決定部をさらに有する、請求項１〜４の何れか一項に記載の動画像復号装置。
【請求項６】
符号化された動画像データに含まれる、複数のブロック列のそれぞれごとに符号化されたピクチャを再生する動画像復号方法であって、
前記複数のブロック列のそれぞれについての符号量を求め、
複数の第１の復号器のそれぞれに、前記複数のブロック列の何れかのブロック列を入力し、
前記複数の第１の復号器のそれぞれごとに、当該第１の復号器に入力される前記ブロック列の符号量に応じて、当該第１の復号器に供給されるクロック信号の動作周波数を決定し、
前記複数の第１の復号器のそれぞれが、供給される前記クロック信号の動作周波数に応じた処理速度で、前記符号量に応じて処理量が変化する第１の復号処理を前記複数のブロック列のうちの入力されたブロック列に対して実行して復号データを求め、
前記複数のブロック列のそれぞれの前記復号データから前記ピクチャを再生する、
ことを含む動画像復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、動画像復号装置及び動画像復号方法に関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより圧縮する。代表的な動画像の符号化方式として、International Standardization Organization/International Electrotechnical Commission(ISO/IEC)で策定されたMoving Picture Experts Group phase 2（MPEG-2）、MPEG-4、あるいはH.264 MPEG-4 Advanced Video Coding（H.264 MPEG-4 AVC）が広く利用されている。
【０００３】
このような動画像符号化方式は、ピクチャを分割したブロックごとに、動き探索処理と、離散コサイン変換(discrete cosine transform, DCT)などの直交変換処理と、エントロピー符号化処理などを組み合わせることで、圧縮処理を実現している。そのため、動画像データを符号化するための演算量は膨大となる。特に、ISO/IECとITU-Tが共同で標準化しているHigh Efficiency Video Coding(HEVC)は、H.264/MPEG-4 AVCの２倍近い圧縮効率を達成するが、H.264/MPEG-4 AVCと比較して、動画像データを符号化したり、符号化された動画像データを復号するための演算量はさらに増加している。そのため、これらの符号化された動画像データを短時間で復号するには、符号化された動画像データの部分データ（例えば、動画像データに含まれる各ピクチャにおけるブロック列）ごとに、異なる復号器を用いて並列に復号する処理が有用である。
【０００４】
HEVCでは、各ピクチャは、符号化処理の単位となるブロックであるCoding Tree Unit(CTU)単位で分割される。そしてCTU内の各サブブロックの量子化された直交変換係数などは、例えば、Context Adaptive Binary Arithmetic Coding(CABAC)と呼ばれるエントロピー符号化方式に従ってエントロピー符号化される。
【０００５】
HEVCでは、エントロピー符号化に関して、CTUラインごとに、並列に符号化したり、あるいは、並列に復号することが可能なように、Wavefront Parallel Processing(WPP)と呼ばれる技術が導入されている。WPPでは、各CTUラインの先頭でCABACが初期化されることでCTUラインごとの並列処理が可能となる。さらに、初期化時において、各CTUラインは、直上のCTUラインの途中までの学習済みのCABACに関する情報、例えば、Most Probable Symbol(MPS)生起確率を引き継ぐことで、初期化による符号化効率の低下が抑制される。
【０００６】
このように、WPPを利用して動画像データの各ピクチャがCTUラインごとに並列に符号化されていれば、動画像復号装置も、各ピクチャについて、CTUラインごとに並列に復号処理を実行できる。しかし、CTUラインごとの符号量は、均等になるとは限らない。ピクチャの内容に応じて、CTUラインごとの符号量は互いに異なる。そして符号量が異なれば、CTUラインごとに、復号処理に要する演算量も異なる。特にエントロピー符号化されたデータの復号において、符号量が多いほど、復号に要する演算量も増加する。その結果、各復号器の処理能力が等しい場合、演算量が相対的に少ないCTUラインを復号する復号器では、他の復号器が復号処理を終えるまでにアイドル時間が生じることがある。このようなアイドル時間においても、復号器には電力が供給されるので、無駄な電力消費が生じることになる。
【０００７】
一方、動画像復号装置において、電力消費を抑制する技術が提案されている（例えば、特許文献１〜３を参照）。
【０００８】
例えば、特許文献１に開示されたデータ処理装置では、入力されたビデオデータについてのＳＤ画像かＨＤ画像かの判別結果に応じてシステムクロックの周波数が変更される。
【０００９】
また、特許文献２に開示された情報処理装置は、動画像の任意の１フレームのデコード処理の終了から画像表示までの時間とＣＰＵの動作周波数を変更させるために必要な時間とを比較する。そしてこの情報処理装置は、次に処理すべきフレームのデコード処理に必要なＣＰＵの動作周波数を決定し、その結果に応じて、ＣＰＵの動作周波数を変更または休止する。
【００１０】
さらに、特許文献３に開示されたＶＬＳＩ回路は、パイプライン演算処理の各ステージを担い、クロックに同期して演算処理を実行する複数の演算器を有する。そして演算処理の終了が検知された演算器に対するクロック供給が停止され、全ての演算器における演算処理の終了が検知されれば次のパイプライン演算処理に向けて全ての演算器へのクロック供給が再開される。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００３−２９５９７０号公報
【特許文献２】特開２０１１−１１３４５４号公報
【特許文献３】国際公開第２００７／０８９０１４号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に開示された技術及び特許文献２に開示された技術は、画像単位でクロック周波数を調整するものであり、画像内の互いに異なる部分を並列に復号する複数の復号器の消費電力抑制には適用できない。また、特許文献３に開示された技術は、演算器単位でクロックの供給または停止を制御できる。しかし、クロックの供給が停止されている演算器についても、その演算器が待機している間に、その演算器への電力供給が完全に停止されることはなく、そのため、クロックの供給停止中においても、ある程度の電力は消費されてしまう。
【００１３】
そこで、本明細書は、互いに異なるブロック列を復号する複数の復号器のうちの演算量が相対的に少ない復号器の消費電力を抑制できる動画像復号装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
一つの実施形態によれば、符号化された動画像データに含まれる、複数のブロック列のそれぞれごとに符号化されたピクチャを再生する動画像復号装置が提供される。この動画像復号装置は、複数のブロック列のそれぞれについての符号量を求める符号量特定部と、複数のブロック列の何れかのブロック列に対して、供給されるクロック信号の動作周波数に応じた処理速度で、符号量に応じて処理量が変化する第１の復号処理を実行して復号データを求める複数の第１の復号器と、複数の第１の復号器のそれぞれごとに、その第１の復号器に入力されるブロック列の符号量に応じて、その第１の復号器に供給されるクロック信号の動作周波数を決定するクロック周波数決定部と、複数のブロック列のそれぞれの復号データからピクチャを再生する第２の復号器とを有する。
【００１５】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【００１６】
本明細書に開示された動画像復号装置は、互いに異なるブロック列を復号する複数の復号器のうちの演算量が相対的に少ない復号器の消費電力を抑制できる。
【図面の簡単な説明】
【００１７】
【図１】WPPが適用される場合における、各CTUラインの復号タイミングの一例を示す図である。
【図２】一つの実施形態に係る動画像復号装置の概略構成図である。
【図３】符号化された動画像データを含むビットストリームにおける各CTUラインの符号量とヘッダ情報の関係の一例を表す図である。
【図４】各CTUラインについて、図３に示される符号量である場合における、各エントロピー復号器に割り当てられるクロック周波数の一例を示す図である。
【図５】係数復号部の概略構成図である。
【図６】動画像復号処理の動作フローチャートである。
【図７】変形例によるエントロピー復号器の概略構成図である。
【図８】さらに他の変形例による動画像復号装置の概略構成図である。
【図９】実施形態またはその変形例による動画像復号装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像復号装置として動作するコンピュータの構成図である。
【発明を実施するための形態】
【００１８】
以下、図を参照しつつ、動画像復号装置について説明する。この動画像復号装置は、WPPを適用してCTUラインごとにエントロピー符号化されたピクチャについて、複数のエントロピー復号器を用いて複数のCTUラインを並列にエントロピー復号する。その際、この動画像復号装置は、CTUラインごとの符号量に基づいて、各エントロピー復号器のアイドル時間が少なくなるように、符号量が少ないCTUラインが割り当てられるエントロピー復号器ほど、そのエントロピー復号器に供給されるクロック周波数を低くして、処理速度を低下させる。これにより、この動画像復号装置は、演算量が相対的に少ないエントロピー復号器による電力消費を抑制する。なお、CTUラインは、ブロック列の一例である。
【００１９】
なお、本実施形態では、動画像復号装置が復号する、符号化された動画像データは、HEVCに準拠して符号化されているものとする。そして動画像復号装置は、HEVCに準拠して、その符号化された動画像データを復号する。しかし、符号化された動画像データは、ブロック列ごとに並列に符号化あるいは復号可能な他の符号化方式に従って符号化されていてもよい。また動画像復号装置は、動画像データの符号化に利用された他の符号化方式に準拠していてもよい。
【００２０】
最初に、WPPによる、複数のCTUラインの並列復号について説明する。図１は、WPPが適用される場合における、各CTUラインの復号タイミングの一例を示す図である。
【００２１】
図１に示されるように、ピクチャ１００は、符号化ブロックCTU１０１ごとに分割される。そしてWPPが適用されている場合、各CTUラインは、一つ上のCTUラインの情報を利用してエントロピー復号される。例えば、上から２番目のCTUライン１０２−２は、一番上のCTUライン１０２−１の情報を利用してエントロピー復号される。同様に、上から３番目のCTUライン１０２−３は、CTUライン１０２−２の情報を利用してエントロピー復号される。そのため、例えば、各CTUラインは、一つ上のCTUラインに対して、CTU二つ分遅れて復号が開始される。また、各CTUラインにおいて、着目するCTUが復号される際には、例えば、その着目するCTUの左上〜右上に隣接する３個のCTUが参照されるので、これらのCTUのエントロピー復号が終了していることが求められる。すなわち、着目するCTUについて参照されるCTUが復号されていなければ、その着目するCTUを復号するエントロピー復号器は、参照されるCTUが復号されるまで、復号処理を行わずに待機することになる。したがって、アイドル時間を削減するためには、何れかのCTUラインを復号するエントロピー復号器は、そのCTUラインの一つ上のCTUラインを復号するエントロピー復号器と同期を取りながら復号処理を実行することが好ましい。
【００２２】
図２は、一つの実施形態による動画像復号装置の概略構成図である。動画像復号装置１は、ヘッダ復号部１０と、クロック周波数決定部１１と、ｎ個のエントロピー復号器１２−１〜１２−ｎ(ｎは２以上の整数)と、共有メモリ１３と、係数復号部１４とを有する。
動画像復号装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像復号装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像復号装置１に実装されてもよい。
【００２３】
ヘッダ復号部１０は、符号量特定部の一例であり、符号化された動画像のデータを含むビットストリームが入力される。そしてヘッダ復号部１０は、そのビットストリームに含まれるヘッダ情報を、HEVCに従って復号して、CTUラインごとの符号量を表す情報を求める。
【００２４】
本実施形態では、ヘッダ復号部１０は、CTUラインごとの符号量を表す情報を求めるために、各スライスに設けられるヘッダ情報である、SliceSegmentHeaderRbpsを復号する。そしてヘッダ復号部１０は、SliceSegmentHeaderRbpsに含まれる、シンタックスnumEntryPointOffsets、OffsetLenMinus1、及びEntryPointOffsetMinus1から、CTUラインごとの符号量をもとめる。ここで、numEntryPointOffsetsは、EntryPointOffsetの数を表す。EntryPointOffsetは、スライスに含まれる各サブストリームの符号化動画像データを含むビットストリーム内の位置を表す。本実施形態では、動画像データにWPPが適用されているので、EntryPointOffsetは、そのビットストリーム内における個々のCTUラインのデータの位置を表す。なお、復号対象ピクチャが分割されていない場合、すなわち、復号対象ピクチャに含まれるスライスの数が一つである場合、numEntryPointOffsetsは、その復号対象ピクチャにおけるCTUラインの数となる。
【００２５】
また、OffsetLenMinus1は、EntryPointOffsetシンタックスのビット長を表す。そしてEntryPointOffsetMinus1は、一つのスライスに含まれるサブストリームの数だけSliceSegmentHeaderRbpsに含まれ、各EntryPointOffsetMinus1は、対応するサブストリームについてのoffsetから1を減じた値をバイトで表す。本実施形態では、各EntryPointOffsetMinus1は、一つのCTUラインに含まれる符号量を表す。
【００２６】
図３は、符号化された動画像データを含むビットストリームにおける各CTUラインの符号量とヘッダ情報の関係の一例を表す図である。図３において、ビットストリーム３００は、12個のCTUラインの符号化データを含むものとする。そしてこの例では、EntryPointOffsetMinus1[i](i=0,1,2,3)が、それぞれ、2540、1872、2021、1720となっている。この場合、スライスのヘッダ情報３０１直後の0バイトの位置から始まる、一番上のCTUライン３０２の符号量が2540バイトである。同様に、上から２番目のCTUライン３０３の符号量が1872バイトであり、上から３番目のCTUライン３０４の符号量が2021バイトであり、上から４番目のCTUライン３０４の符号量が1720バイトである。
【００２７】
ヘッダ復号部１０は、ピクチャごとに、上から順に、CTUラインの符号化データをｎ(ｎはエントロピー復号器の数)個ずつ、ビットストリームから取り出す。そしてヘッダ復号部１０は、取り出した各CTUラインの符号化データを何れかのエントロピー復号器へ出力する。またヘッダ復号部１０は、エントロピー復号器へ出力したCTUラインごとに、そのCTUラインの符号量をクロック周波数決定部１１へ通知する。
【００２８】
例えば、動画像復号装置１が４個のエントロピー復号器を有しているとする(すなわち、n=4)。この場合、ヘッダ復号部１０は、先ず、ピクチャに含まれるm個のCTUライン(ただし、m>n)のうち、一番上から順に４個のCTUライン0〜3の符号化データをビットストリームから取り出す。そしてヘッダ復号部１０は、一番上のCTUライン0の符号化データをエントロピー復号器１２−１へ出力する。同様に、ヘッダ復号部１０は、上から２番目のCTUライン1の符号化データをエントロピー復号器１２−２へ出力し、上から３番目のCTUライン2の符号化データをエントロピー復号器１２−３へ出力し、上から４番目のCTUライン3の符号化データをエントロピー復号器１２−４へ出力する。また、ヘッダ復号部１０は、CTUライン0〜3のそれぞれの符号量を、クロック周波数決定部１１へ通知する。
【００２９】
それら４個のCTUラインの復号が終了すると、ヘッダ復号部１０は、上から５番目〜８番目のCTUライン4〜7の符号化データをビットストリームから取り出す。そしてヘッダ復号部１０は、CTUライン4〜7の符号化データを、それぞれ、CTUラインごとに、エントロピー復号器１２−１〜１２−４へ出力する。また、ヘッダ復号部１０は、CTUライン4〜7のそれぞれの符号量を、クロック周波数決定部１１へ通知する。ヘッダ復号部１０は、復号対象となるピクチャに含まれる全てのCTUラインの復号が終了するまで、上記の処理を繰り返す。
【００３０】
本実施形態では、CTUラインごとに、入力されるエントロピー復号器が予め決定されているので、クロック周波数決定部１１に、CTUラインの符号化データが入力されるエントロピー復号器を識別する情報は通知されなくてもよい。しかし、CTUラインの復号の度、あるいは、ピクチャまたはスライスの復号の度に、CTUラインの符号化データが入力されるエントロピー復号器が異なり得る場合もある。この場合には、ヘッダ復号部１０は、CTUラインの符号量とともに、そのCTUラインの符号化データが入力されるエントロピー復号器の識別情報をクロック周波数決定部１１へ通知することが好ましい。
【００３１】
クロック周波数決定部１１は、エントロピー復号器１２−１〜１２−ｎのそれぞれについて、それらエントロピー復号器で並列に復号される各CTUラインの符号量に応じて、それらエントロピー復号器に供給されるクロック信号の動作周波数を決定する。なお、以下では、クロック信号の動作周波数を、単にクロック周波数と呼ぶ。
【００３２】
本実施形態では、クロック周波数決定部１１は、エントロピー復号器１２−１〜１２−ｎのうち、入力されるCTUラインの符号量が最大となるエントロピー復号器に対して、設定可能なクロック周波数のうちの最高周波数fmaxを割り当てる。また、クロック周波数決定部１１は、他のエントロピー復号器に対するクロック周波数を、各エントロピー復号器に入力されるCTUラインの符号量の最大値(cmax)に対するそのエントロピー復号器に入力されるCTUラインの符号量(ci)の比(ci/cmax)を最高周波数fmaxに乗じた値(fmax*ci/cmax)とする。そしてクロック周波数決定部１１は、各エントロピー復号器のクロック周波数を、動画像復号装置１の各部にクロック信号を供給するクロック供給回路２へ通知する。なお、クロック供給回路２は、例えば、クロック発振器（図示せず）と、エントロピー復号器ごとに設けられ、対応するエントロピー復号器へクロック信号を供給するクロック周波数調整器（図示せず）とを有する。各クロック周波数調整器は、例えば、少なくとも一つの分周回路を有し、クロック発振器からそのクロック周波数調整器へ供給される原クロック信号の周波数を、その分周回路を用いてクロック周波数決定部１１から指示されたクロック周波数となるように調整する。そして各クロック周波数調整器は、通知されたクロック周波数を持つクロック信号を対応するエントロピー復号器へ出力する。なお、クロック周波数調整器が、クロック周波数を、予め設定された複数のクロック周波数のうちの何れかの周波数にしか調整できない場合もある。この場合、クロック周波数調整器は、クロック周波数を、設定可能な複数のクロック周波数のうち、通知された周波数に最も近いクロック周波数に設定すればよい。
【００３３】
このように、各エントロピー復号器に対するクロック周波数を設定することで、動画像復号装置１は、符号量が最も多いCTUラインを、可能な最大の処理速度で復号できるので、復号処理に要する時間を抑制できる。また、エントロピー復号器ごとのCTUラインを復号するのに要する時間がほぼ等しくなると想定されるので、入力されたCTUラインの符号量が少なく、演算量が少ないエントロピー復号器のアイドル時間を削減できる。
【００３４】
図４は、CTUライン0〜3について、図３に示される符号量である場合における、各エントロピー復号器に割り当てられるクロック周波数の一例を示す図である。図４において、横軸は符号量を表し、縦軸はクロック周波数を表す。図３では、CTUライン0〜3のうち、エントロピー復号器１２−１に入力されるCTUライン0の符号量(2540バイト)が最大となる。そこでエントロピー復号器１２−１に、設定可能なクロック周波数のうちの最高周波数fmaxが割り当てられる。そして他のエントロピー復号器１２−２〜１２−４に割り当てられるクロック周波数f2〜f4は、グラフ４０１に示されるように、それぞれ、CTUライン0の符号量に対するそのエントロピー復号器に入力されるCTUラインの符号量の比を最高周波数fmaxに乗じた値となる。
【００３５】
エントロピー復号器１２−１〜１２−ｎは、それぞれ、符号量に応じて処理量が変化する第１の復号処理を実行する第１の復号器の一例であり、並列に動作して、入力されたCTUラインに含まれる各CTUを復号する。本実施形態では、エントロピー復号器１２−１〜１２−ｎは、HEVCに従って各CTUを復号する。またエントロピー復号器１２−１〜１２−ｎは、クロック供給回路２の対応するクロック周波数調整器（図示せず）から供給されるクロック信号に応じて動作する。そのため、エントロピー復号器１２−１〜１２−ｎの処理速度は、供給されるクロック信号の動作周波数が高いほど、速くなり、逆に、供給されるクロック信号の動作周波数が低いほど、処理速度は遅くなる。なお、エントロピー復号器１２−１〜１２−ｎは、同一の構成とすることができる。そこで以下では、エントロピー復号器１２−１について説明する。
【００３６】
エントロピー復号器１２−１は、ヘッダ復号部１０から受け取ったCTUラインの符号化データを、エントロピー復号器１２−１が有するメモリ（図示せず）に記憶する。またエントロピー復号器１２−１は、他のエントロピー復号器から受け取った、エントロピー復号に利用するデータをメモリに記憶する。なお、エントロピー復号に利用するデータは、例えば、CABACにおけるMPS生起確率と、復号が終了したCTUの位置を表す同期／隣接情報とを含む。
【００３７】
エントロピー復号器１２−１は、復号対象CTUラインに含まれる各CTUの符号化データを、ラスタスキャン順に従って先頭から順にエントロピー復号器１２−１が有するメモリから読み込む。そしてエントロピー復号器１２−１は、CTUごとに、エントロピー符号化されている、量子化係数及び動きベクトルなどのデータを、他のエントロピー復号器から受け取った、一つ上のCTUラインについてのエントロピー復号に利用する情報を参照してエントロピー復号する。本実施形態では、各CTUは、CABACを用いてエントロピー符号化されているので、エントロピー復号器１２−１は、CABACに従って各CTUをエントロピー復号する。その際、エントロピー復号器１２−１は、同期／隣接情報を参照して、着目するCTUについて参照する情報を特定する。またエントロピー復号器１２−１は、各CTUについてのヘッダ情報を復号して、CTU内に含まれる、各Coding Unit(CU)、各Transform Unit(TU)及び各Prediction Unit(PU)のサイズ、各CUについて適用された予測符号化モードなどを復号する。なお、CUは、予測符号化モードが適用される単位であり、TUは、直交変換の単位であり、PUは、予測ブロックの生成単位である。
【００３８】
エントロピー復号器１２−１は、CTUごとに、エントロピー復号して得られた、予測符号化モードを表す情報、動きベクトルを表す情報及び量子化係数を共有メモリ１３に書き込む。またエントロピー復号器１２−１は、エントロピー復号器１２−１が復号したCTUラインの一つ下のCTUラインを復号する他のエントロピー復号器へ、MPS生起確率及び同期／隣接情報といった、エントロピー復号に利用する情報を出力する。
【００３９】
共有メモリ１３は、エントロピー復号器１２−１〜１２−ｎのそれぞれからアクセス可能な、読み書き可能なメモリ回路である。そして共有メモリ１３は、各エントロピー復号器から出力された、復号されたCTUラインのデータ（すなわち、予測符号化モードを表す情報、動きベクトルを表す情報及び量子化係数など）を記憶する。
【００４０】
係数復号部１４は、第１の復号処理と比較して、符号量に対する処理量の依存が小さい第２の復号処理を実行する第２の復号器の一例である。係数復号部１４は、ピクチャごとに、共有メモリ１３に記憶されている、復号された各CTUラインのデータから、例えば、ラスタスキャン順に各CTUを復号する。そして係数復号部１４は、復号した各CTUを、そのCTUのピクチャ上での位置に応じて結合することで、ピクチャを再生する。さらに、係数復号部１４は、再生されたピクチャを時間順に再配置して、動画像データを再生する。係数復号部１４は、再生した動画像データを出力する。出力された動画像データは、例えば、動画像復号装置１と接続された、表示装置（図示せず）に表示される。
【００４１】
図５は、係数復号部１４の概略構成図である。係数復号部１４は、インターフェース部２１と、予測符号化モード判定部２２と、動きベクトル復号部２３と、予測ブロック生成部２４と、逆量子化部２５と、逆直交変換部２６と、加算器２７と、記憶部２８とを有する。なお、係数復号部１４が有する各部も、クロック供給回路２の対応するクロック周波数調整器（図示せず）から供給されるクロック信号に応じて動作してもよい。
【００４２】
インターフェース部２１は、係数復号部１４を、共有メモリ１３と接続するためのインターフェース回路を有する。そしてインターフェース部２１は、共有メモリ１３から読み込んだ各CTUのデータを記憶部２８に記憶する。また、インターフェース部２１は、復号が完了した各ピクチャのデータを表示装置といった他の機器へ出力する。
【００４３】
予測符号化モード判定部２２は、CTUごとに、記憶部２８から読み込んだ、予測符号化モードを表す情報を参照して、そのCTUに含まれる各CUに対して適用された予測符号化モードを特定する。そして予測符号化モード判定部２２は、CUごとに、適用された予測符号化モードを動きベクトル復号部２３及び予測ブロック生成部２４へ通知する。
【００４４】
動きベクトル復号部２３は、CTUごとに、復号された動きベクトルを表す情報にしたがって、インター予測符号化されたCU内の各PUについての動きベクトルを復号する。そして動きベクトル復号部２３は、復号した動きベクトルを予測ブロック生成部２４に出力するとともに、記憶部２８に記憶させる。
【００４５】
予測ブロック生成部２４は、CTUごとに、そのCTUに含まれる各CUについて適用された予測符号化モードに応じて、予測ブロックを生成する。例えば、CUが、インター予測符号化モードに従って符号化されている場合、予測ブロック生成部２４は、そのCU内の各PUについての動きベクトルで示される、復号済みのピクチャ上の領域を予測ブロックとする。一方、そのCUが、イントラ予測符号化モードに従って符号化されている場合、予測ブロック生成部２４は、そのCU内の各PUについて適用された予測モードに応じて、そのPUの周囲の復号済みの画素から予測ブロックを生成する。なお、インター予測符号化モードは、符号化済みの他のピクチャの情報を参照して、符号化対象ピクチャ上の符号化対象ブロックを符号化するモードである。一方、イントラ予測符号化モードは、符号化対象ピクチャの符号化対象ブロックの周囲の符号化済みの画素のデータを用いてその符号化対象ブロックを符号化するモードである。
【００４６】
予測ブロック生成部２４は、生成した予測ブロックを加算器２７へ渡す。
【００４７】
逆量子化部２５は、CTUごとに、記憶部２８から読み込んだ各量子化係数に、ヘッダ情報から取得した量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより逆量子化する。この逆量子化により、CTU内の各TUの周波数信号、例えば、離散コサイン変換(Discrete Cosine Transform,DCT)係数の組が復元される。
【００４８】
逆直交変換部２６は、各CTUについて、そのCTUに含まれるTUごとに周波数信号を逆直交変換処理することで、画素ごとの予測誤差信号を再生する。逆直交変換部２６は、画素ごとの予測誤差信号を加算器２７へ出力する。
【００４９】
加算器２７は、各CTUについて、予測ブロックの各画素値に、その画素に対応する再生された予測誤差信号を加算することにより、CTU内の各画素の値を再生する。そして加算器２７は、CTU内の各画素の値を記憶部２８に記憶させる。
【００５０】
記憶部２８は、加算器２７から受け取った各CTUの各画素の値を一時的に記憶する。記憶部２８に記憶される、復号済みの各画素の値は、予測ブロック生成部２４により予測ブロックの生成に利用される。また、復号された各ピクチャは、記憶部２８から、再生順序に従ってインターフェース部２１を介して出力される。
【００５１】
なお、係数復号部１４は、復号された各CTUについて、デブロッキングフィルタ処理などのループフィルタ処理を実行してもよい。
【００５２】
図６は、動画像復号装置１により実行される動画像復号処理の動作フローチャートである。動画像復号装置１は、ピクチャごと、あるいは、ピクチャが複数のスライスまたはタイルに分割されている場合には、スライスごとあるいはタイルごとに、下記の動作フローチャートに従って動画像復号処理を実行する。以下では、ピクチャは分割されていないものとして説明する。
【００５３】
ヘッダ復号部１０は、符号化された動画像データが含まれるビットストリームから、ヘッダ情報を復号して、CTUラインごとの符号量を求める（ステップＳ１０１）。そしてヘッダ復号部１０は、各CTUラインのうち、復号されていないCTUラインの符号化データをエントロピー復号器の数だけ、ピクチャの上から順にビットストリームから取り出して、各エントロピー復号器へ出力する（ステップＳ１０２）。またヘッダ復号部１０は、各エントロピー復号器へ出力したCTUラインの符号量をクロック周波数決定部１１へ通知する。
【００５４】
クロック周波数決定部１１は、各エントロピー復号器に入力されたCTUラインの符号量に基づいて、符号量が少ないCTUラインの符号化データが入力されるエントロピー復号器ほどクロック周波数が低くなるように、各エントロピー復号器のクロック周波数を決定する（ステップＳ１０３）。そしてクロック周波数決定部１１は、各エントロピー復号器について決定したクロック周波数を、クロック供給回路２に通知することで、そのクロック周波数を持つクロック信号を各エントロピー復号器へ供給させる（ステップＳ１０４）。
【００５５】
エントロピー復号器１２−１〜１２−ｎは、それぞれ、供給されたクロック信号の動作周波数に応じた処理速度で、入力されたCTUラインの符号化データをエントロピー復号する（ステップＳ１０５）。そして各エントロピー復号器は、エントロピー復号したCTUラインのデータを共有メモリ１３に書き込む。
【００５６】
ヘッダ復号部１０は、全てのCTUラインについて復号が終了したか否か判定する（ステップＳ１０６）。復号が終了していないCTUラインがある場合（ステップＳ１０６−Ｎｏ）、動画像復号装置１は、ステップＳ１０２以降の処理を繰り返す。
【００５７】
一方、全てのCTUラインのエントロピー復号が終了している場合（ステップＳ１０６−Ｙｅｓ）、係数復号部１４は、各CTUラインのエントロピー復号されたデータから、ラスタスキャン順に従って各CTUを復号し、復号した各CTUをラスタスキャン順に結合して、ピクチャを再生する（ステップＳ１０７）。なお、係数復号部１４は、全てのCTUラインのエントロピー復号が終了していなくても、ラスタスキャン順で着目するCTUのエントロピー復号が完了している場合には、そのCTUの復号処理を実行してもよい。そして動画像復号装置１は、一つのピクチャに対する動画像復号処理を終了する。
【００５８】
以上に説明してきたように、この動画像復号装置は、CTUラインごとの符号量に基づいて、符号量が少ないCTUラインが入力されるエントロピー復号器ほど、そのエントロピー復号器に供給されるクロック信号の動作周波数を低くする。これにより、演算量が少ないエントロピー復号器ほど、消費電力が抑制される。さらに、このように各エントロピー復号器に供給されるクロック信号の動作周波数が設定されることで、各エントロピー復号器がCTUラインを復号するのに要する時間がほぼ等しくなるので、この動画像復号装置は、演算量が少ないエントロピー復号器のアイドル時間を抑制できる。そのため、この動画像復号装置は、演算量が少ないエントロピー復号器による電力消費をさらに抑制できる。
【００５９】
なお、変形例によれば、各エントロピー復号器は、復号中のCTUラインに含まれる所定数のCTUの復号が終了した時点で、そのエントロピー復号器に供給されるクロック信号の動作周波数を補正してもよい。
【００６０】
図７は、この変形例による、エントロピー復号器１２−１の概略構成図である。エントロピー復号器１２−１は、インターフェース部３１と、記憶部３２と、エントロピー復号部３３と、カウンタ３４と、再計算部３５とを有する。
【００６１】
インターフェース部３１は、エントロピー復号器１２−１を、他のエントロピー復号器、あるいは、ヘッダ復号部１０及び共有メモリ１３と接続するためのインターフェース回路を有する。そしてインターフェース部３１は、ヘッダ復号部１０から受け取ったCTUラインの符号化データを記憶部３２に記憶する。またインターフェース部３１は、他のエントロピー復号器から受け取った、エントロピー復号に利用するデータを記憶部３２に記憶する。さらに、インターフェース部３１は、エントロピー復号が完了した各CTUのデータを共有メモリ１３へ出力する。またインターフェース部３１は、各CTUをエントロピー復号するごとに、他のエントロピー復号器が参照するエントロピー復号に利用するデータを他のエントロピー復号器へ出力する。
【００６２】
記憶部３２は、CTUラインの符号化データを一時的に記憶する。また記憶部３２は、エントロピー復号が完了した各CTUのデータを記憶する。
【００６３】
エントロピー復号部３３は、復号対象CTUラインに含まれる各CTUの符号化データを、ラスタスキャン順に従って先頭から順に記憶部３２から読み込む。そしてエントロピー復号部３３は、CTUごとに、エントロピー符号化されている、量子化係数及び動きベクトルなどのデータを、他のエントロピー復号器から受け取った、一つ上のCTUラインについてのエントロピー復号に利用する情報を参照してエントロピー復号する。なお、エントロピー復号部３３によるエントロピー復号の処理は、上記の実施形態におけるエントロピー復号器１２−１のエントロピー復号の処理と同様とすることができる。そしてエントロピー復号部３３は、CTUごとに、エントロピー復号されたデータを記憶部３２に書き込む。
【００６４】
カウンタ３４は、復号対象のCTUラインに含まれるCTUの符号化データが記憶部３２からエントロピー復号部３３に読み出される度に、そのCTUの符号化データのバイト数を、復号済みのCTUの符号化データのバイト数の合計に加算する。これにより、カウンタ３４は、復号対象のCTUラインについて、既に復号されたCTUのバイト数の合計を求める。
【００６５】
再計算部３５は、復号対象のCTUラインについて、復号したCTUの数が所定数に達すると、エントロピー復号器１２−１に供給されるクロック信号の動作周波数を補正する。なお、所定数は、例えば、復号対象のCTUラインに含まれるCTUの総数の1/2とすることができる。
【００６６】
再計算部３５は、例えば、次式に従って、クロック信号の補正周波数を求める。
【数１】
2016100728.tif 000003
ここで、freは、クロック信号の補正周波数であり、fmaxは、クロック信号の最高周波数である。またCtotalは、エントロピー復号器１２−１に入力されたCTUラインの符号化データのバイト数である。Ccmpは、所定数のCTUのエントロピー復号が終了した時点での、復号済みのCTUについての符号化データのバイト数である。さらに、Cmaxは、各エントロピー復号器に入力された、並列にエントロピー復号される複数のCTUラインの符号化データのバイト数のうちの最大値である。そしてKは、正規化係数であり、例えば、所定数が復号対象のCTUラインに含まれるCTUの総数の1/m(ただし、m>1)である場合、mに設定される。
【００６７】
（１）式から明らかなように、補正周波数は、所定数のCTUが復号された時点でのバイト数が少ないほど高くなる。なお、再計算部３５は、（１）式に基づいて算出された補正周波数がクロック信号の取り得る最高周波数よりも高くなる場合には、補正周波数をその最高周波数に設定してもよい。
【００６８】
再計算部３５は、インターフェース部３１を介して、補正周波数を対応するクロック周波数調整器へ通知する。そしてクロック周波数調整器は、補正周波数が通知されると、それ以降、次のCTUラインの符号化データがエントロピー復号器に入力されるまで、クロック周波数をその補正周波数に設定する。
【００６９】
この変形例によれば、各エントロピー復号器は、最初に設定されたクロック周波数に従ってCTUラインを復号したときに想定される復号処理の時間と実際に復号処理に要する時間との差を小さくできる。そのため、この変形例による動画像復号装置は、各エントロピー復号器において生じるアイドル時間をより少なくできる。
【００７０】
また他の変形例によれば、各エントロピー復号器は、クロック信号が入力されるポートにおいて、クロックゲーティングを行うことができる回路を有していてもよい。そして各エントロピー復号器は、入力されたCTUラインの復号が終了すると、次のCTUラインの符号化データが入力されるまでクロックゲーティングを行って、エントロピー復号器の各部へのクロック信号の供給を停止してもよい。これにより、アイドル時間中のエントロピー復号器の電力消費が抑制されるので、動画像復号装置は、より電力消費を抑制できる。
【００７１】
さらに他の変形例によれば、動画像復号装置は、各エントロピー復号器に入力されるCTUラインの符号量に応じてクロック周波数を調整するとともに、各エントロピー復号器へ供給する駆動電圧を調整してもよい。エントロピー復号器に用いられる演算回路によっては、供給される駆動電圧が低くなるほど処理速度が低下するものの、電力消費が抑制されるためである。
【００７２】
図８は、この変形例による動画像復号装置の概略構成図である。動画像復号装置１は、ヘッダ復号部１０と、クロック周波数決定部１１と、ｎ個のエントロピー復号器１２−１〜１２−ｎ(ｎは２以上の整数)と、共有メモリ１３と、係数復号部１４と、駆動電圧決定部１５とを有する。この変形例による動画像復号装置は、図２に示された動画像復号装置と比較して、駆動電圧決定部１５を有する点で異なる。そこで以下では、駆動電圧決定部１５及びその関連部分について説明する。
【００７３】
駆動電圧決定部１５は、ヘッダ復号部１０から、各エントロピー復号器に入力されるCTUラインの符号量に基づいて、各エントロピー復号器に供給される駆動電圧を決定する。その際、駆動電圧決定部１５は、符号量が少ないCTUラインが入力されるエントロピー復号器ほど、そのエントロピー復号器に供給される駆動電圧を低くするよう、各エントロピー復号器に供給される駆動電圧を決定する。その際、駆動電圧決定部１５は、各エントロピー復号器において入力されたCTUラインの復号に要する時間が等しくなるように、各エントロピー復号器に供給される駆動電圧を決定することが好ましい。例えば、駆動電圧決定部１５は、符号量が最も多いCTUラインが入力されるエントロピー復号器への駆動電圧を、エントロピー復号器に供給可能な駆動電圧の範囲のうちの最大値に設定する。また駆動電圧決定部１５は、他のエントロピー復号器については、ルックアップテーブルを参照して、CTUラインの符号量の最大値に対するそのエントロピー復号器に入力されるCTUラインの符号量の比に対応する駆動電圧を特定することで、そのエントロピー復号器に供給される駆動電圧を決定する。なお、ルックアップテーブルは、例えば、符号量によらずにCTUラインのエントロピー復号に要する時間が一定となるように定められた、符号量の比と駆動電圧との関係を表す。そして駆動電圧決定部１５は、エントロピー復号器ごとに決定した駆動電圧を、動画像復号装置１の各部に駆動電圧を供給する電圧供給回路３へ通知する。
【００７４】
電圧供給回路３は、例えば、定電圧源（図示せず）から供給される定電圧を、駆動電圧決定部１５から通知された駆動電圧に調整する電圧調整回路（図示せず）をエントロピー復号器の数だけ有する。そして各電圧調整回路は、通知された駆動電圧となるように、対応するエントロピー復号器へ出力する駆動電圧を調整する。なお、電圧調整回路は、演算回路へ供給する電圧を調整可能な様々な電圧調整方法の何れかに従ってエントロピー復号器へ供給する駆動電圧を調整する回路であればよい。
【００７５】
この変形例においても、動画像復号装置は、演算量の少ないエントロピー復号器ほど、電力消費を抑制することができる。
【００７６】
さらの他の変形例によれば、動画像復号装置は、複数のエントロピー復号器の代わりに、エントロピー復号処理だけでなく、係数復号部の各部の処理も第１の復号処理として実行することで、入力されたCTUラインに含まれる各画素の値を復号する複数の復号器を有していてもよい。この場合、各復号器から出力された、CTUラインに含まれる各画素の値は、共有メモリに書き込まれる。そしてこの変形例では、動画像復号装置は、係数復号部の代わりに、各CTUラインに含まれる画素の値を、ピクチャ上のそのCTUラインの位置に従って結合することでピクチャを再生する処理を第２の復号処理として実行する結合部を有すればよい。この場合、各復号器は、第１の復号器の他の一例となり、結合部は、第２の復号器の他の一例となる。
【００７７】
図９は、上記の実施形態またはその変形例による動画像復号装置の各部の機能を実現するコンピュータプログラムが動作することにより、動画像復号装置として動作するコンピュータの構成図である。
【００７８】
コンピュータ１００は、ユーザインターフェース部１０１と、通信インターフェース部１０２と、記憶部１０３と、記憶媒体アクセス装置１０４と、プロセッサ１０５とを有する。プロセッサ１０５は、ユーザインターフェース部１０１、通信インターフェース部１０２、記憶部１０３及び記憶媒体アクセス装置１０４と、例えば、バスを介して接続される。
【００７９】
ユーザインターフェース部１０１は、例えば、キーボードとマウスなどの入力装置と、液晶ディスプレイといった表示装置とを有する。または、ユーザインターフェース部１０１は、タッチパネルディスプレイといった、入力装置と表示装置とが一体化された装置を有してもよい。そしてユーザインターフェース部１０１は、例えば、ユーザの操作に応じて、復号する動画像データを選択する操作信号をプロセッサ１０５へ出力する。
【００８０】
通信インターフェース部１０２は、イーサネット（登録商標）などの通信規格に従った通信ネットワークに接続するための通信インターフェース及びその制御回路を有してもよい。
【００８１】
この場合には、通信インターフェース部１０２は、通信ネットワークに接続された他の機器から、符号化された動画像データを含むビットストリームを取得し、そのビットストリームをプロセッサ１０５へ渡す。
【００８２】
記憶部１０３は、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。そして記憶部１０３は、プロセッサ１０５上で実行される、動画像復号処理を実行するためのコンピュータプログラム、及びこれらの処理の途中または結果として生成されるデータを記憶する。例えば、記憶部１０３は、上記の各実施形態またはその変形例における、共有メモリとして機能する。
【００８３】
記憶媒体アクセス装置１０４は、例えば、磁気ディスク、半導体メモリカード及び光記憶媒体といった記憶媒体１０６にアクセスする装置である。記憶媒体アクセス装置１０４は、例えば、記憶媒体１０６に記憶されたプロセッサ１０５上で実行される、動画像復号処理用のコンピュータプログラムを読み込み、プロセッサ１０５に渡す。
【００８４】
プロセッサ１０５は、上記の実施形態または変形例による動画像復号処理用コンピュータプログラムを実行することにより、符号化された動画像データを含むビットストリームから、その動画像データを復号する。そしてプロセッサ１０５は、再生された動画像データを記憶部１０３に保存し、またはユーザインターフェース部１０１の表示装置へ出力される。そのために、プロセッサ１０５は、複数の演算回路と、演算回路の数のクロック周波数調整器を有するクロック供給回路を有する。この場合、各演算回路が、それぞれ、何れかのエントロピー復号器または復号器の処理を実行する。
【００８５】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【００８６】
１    動画像復号装置
２    クロック供給回路
３    電圧供給回路
１０    ヘッダ復号部
１１    クロック周波数決定部
１２−１〜１２−ｎ    エントロピー復号器
１３    共有メモリ
１４    係数復号部
１５    駆動電圧決定部
２１    インターフェース部
２２    予測符号化モード判定部
２３    動きベクトル復号部
２４    予測ブロック生成部
２５    逆量子化部
２６    逆直交変換部
２７    加算器
２８    記憶部
３１    インターフェース部
３２    記憶部
３３    エントロピー復号部
３４    カウンタ
３５    再計算部
１００    コンピュータ
１０１    ユーザインターフェース部
１０２    通信インターフェース部
１０３    記憶部
１０４    記憶媒体アクセス装置
１０５    プロセッサ
【図１】
2016100728.tif 000004
【図２】
2016100728.tif 000005
【図３】
2016100728.tif 000006
【図４】
2016100728.tif 000007
【図５】
2016100728.tif 000008
【図６】
2016100728.tif 000009
【図７】
2016100728.tif 000010
【図８】
2016100728.tif 000011
【図９】
2016100728.tif 000012