良く知られているように国際規格ISO/IEC 13818−2で標準化されたMPEG−2の規格による動画像の一般的な圧縮方式は、ビデオストリームから冗長な情報を削除することによって、ビデオ記憶容量と必要な帯域幅とを削減すると言う原理に基づいている。尚、MPEGは、Moving Picture Experts Groupの略である。
MPEG−2の規格は、ビットストリームのシンタックス(圧縮符号化データ列の規則または符号化データのビットストリームの構成方法)およびデコードプロセスのみを規定しているので、衛星放送・サービス、ケーブルテレビジョン、インターラクティブテレビジョン、インターネット等の種々の状況で十分利用可能なようにフレキシブルなものである。
MPEG−2のエンコードプロセスでは、最初にデジタルビデオの各画素の色差と輝度の成分を規定するために、ビデオ信号がサンプルされ量子化される。色差と輝度との成分を示す値は、マクロブロックとして知られている構造に蓄積される。マクロブロックに蓄積された色差と輝度との値は、離散コサイン変換(DCT:Discrete Cosine Transform)を使用して周波数値に変換される。DCTによって得られる変換係数は、ピクチャーの輝度と色差で異なった周波数を持つ。量子化されたDCT変換係数は、ビデオストリームを更に圧縮する可変長コーディング(VLC:Variable Length Coding)によってエンコードされる。
MPEG−2のエンコードプロセスでは、動き圧縮技術による付加圧縮が規定されている。MPEG−2の規格では、Iフレーム、Pフレーム、Bフレームの3種類のピクチャーもしくはフレームが存在している。Iフレームとは、ビデオストリーム中の他のいかなるピクチャーまたはフレームを参照することなく再生されることを意味する、イントラコードされたフレームである。PフレームとBフレームとは、他のピクチャーまたはフレームの参照によって再生されることを意味する、インターコードされたフレームである。例えば、PフレームとBフレームとは、参照フレームに関して動き推定を示す動きベクトルを含む。動きベクトルの使用によって、MPEGエンコーダは特定のビデオストリームに必要な帯域幅の低減が可能となる。尚、Iフレームは独立(intra-coded)フレームと呼ばれ、Pフレームは片方向予測(predictive-coded)フレームと呼ばれ、Bフレームは両方向予測(bi-directionally predictive-coded)フレームと呼ばれる。
従って、MPEG−2の動画像符号化装置(Encoder)は、フレームメモリと動きベクトル検出部と動き補償部と減算部とDCT変換部と量子化部と逆量子化部と逆DCT変換部と可変長符号化部と加算部とによって構成される。符号化される動画像信号は、PフレームやBフレームの符号化や動きベクトルの検出ためにフレームメモリに格納された後、フレームメモリから読み出され、動き補償部からの動き補償予測信号が減算部で減算され、DCT変換部と量子化部とでそれぞれDCT変換処理と量子化処理とが実行される。量子化されたDCT変換係数は、可変長符号化部で可変長符号化処理されるとともに、逆量子化部と逆DCT変換部で局部復号処理が実行された後に、この局部復号処理結果は加算部に直接供給されるとともに動き補償部を介して減算部に供給される。
一方、MPEG−2の動画像復号装置(Decoder)は、バッファメモリと可変長復号部と逆量子化部と逆DCT変換部と動き補償部と加算部とフレームメモリによって構成される。MPEG−2の符号化ビットストリームは、バッファメモリに蓄積された後、可変長復号部と逆量子化部と逆DCT変換部でそれぞれ、可変長復号処理と逆量子化処理と逆DCT変換処理が実行され、可変長復号処理された動きベクトルから動き補償部によって求められた予測画像と逆DCT変換処理結果が加算部で加算され、加算部の出力から再生画像信号が生成される。この再生画像信号は、フレームメモリに格納され、他のフレームの予測に使用される。
MPEG−2の規格に続いて、テレビ電話等の低レートの符号化のための国際規格ISO/IEC 14496で標準化されたMPEG−4の規格(H.263)よる動画像圧縮方式も提案されている。MPEG−4(H.263)の規格による圧縮方式は、MPEG−2と同様にフレーム間予測と離散コサイン変換を用いた「ハイブリッド型」と呼ばれるものであり、更に半画素(ハーフペル)単位での動き補償が導入された。この圧縮方式は、MPEG−2と同様に、エントロピー符号化としてハフマン符号を使用するが、新しくランとレベルとラストとを同時に符号化する3次元可変長符号化(3次元VLC)という技術を導入して、圧縮率を大きく向上させている。尚、ランとレベルとはランレングスの係数に関するものであって、ラストとは最後の係数であるか否かを示すものである。更に、MPEG−4(H.263)規格には、Baselineと呼ばれる基本部分と、Annexと呼ばれる拡張規格とがある。
MPEG−4(H.263)規格による圧縮方式を、より符号化効率が高いものにすべく、MPEG−4 AVC(H.264)の規格が国際規格ISO/IEC 14496−10によって標準化された。尚、AVCは、Advanced Video Codingの略であり、MPEG−4 AVC(H.264)の規格は、H.264/AVC規格と呼ばれる。
H.264/AVC規格によるビデオコーディングは、ビデオコーディング層(Video Coding Layer)と、ネットワーク抽象層(Network Abstraction Layer)とから構成されている。すなわち、ビデオコーディング層は、ビデオコンテキストを有効に表現するように設計されたものであり、またネットワーク抽象層は、ビデオのVCL表現をフォーマットするとともに、種々の転送層や記憶媒体による転送のために適切な方法でのヘッダー情報を与えるものである。
MPEG−2、MPEG−4、H.264/AVC規格等の国際標準動画像符号化方法では、時間方向の相関を使って高い符号化効率を実現するために、フレーム間予測符号化が使用されている。フレームの符号化モードには、フレーム間の相関を使わずに符号化するIフレームと、過去に符号化した1フレームから予測するPフレームと、過去に符号化した2フレームから予測することができるBフレームがある。
このフレーム間予測符号化では、動画像から動き補償された参照画像(予測画像)が減算され、この減算による予測残差が符号化される。符号化の処理は、DCT(離散コサイン変換)等の直交変換と量子化と可変長符号化との処理を含んでいる。動き補償(動き補正)は、フレーム間予測の参照フレームを空間的に移動させる処理を含むものであり、動き補償の処理は、被符号化フレームのブロック単位で行われる。画像内容に動きが無い場合には、移動は無く被予測画素と同一位置の画素が使用される。動きが有る場合には、最も適合するブロックが探索され、移動量が動きベクトルとされる。動き補償のブロックは、MPEG−2の符号化方法では、16画素×16画素/16画素×8画素のブロックであり、MPEG−4の符号化方法では、16画素×16画素/16画素×8画素/8画素×8画素のブロックである。動き補償のブロックは、H.264/AVC規格の符号化方法では16画素×16画素/16画素×8画素/8画素×16画素/8画素×8画素/8画素×4画素/4画素×8画素/4画素×4画素のブロックである。
上述した符号化処理は映像画面(フレームまたはフィールド)毎に行われるものであり、画面を細分化したブロック(通常は16画素×16画素、MPEGではマクロブロック(MB)と呼ばれる)が処理単位となるものである。すなわち、符号化されるべきブロック毎に既に符号化された参照画像から最も類似したブロック(予測画像)が選択され、符号化画像(ブロック)と予測画像との差分信号が符号化(直交変換、量子化等)される。画面内での符号化されるブロックと予測信号の相対位置の差が、動きベクトルと呼ばれるものである。
また下記非特許文献1には、H.264/AVC規格によるビデオコーディング層(VCL)は、ブロックベースドハイブリッドビデオコーディングと呼ばれるアプローチに従っていると記載している。VCL設計は、マクロブロック、スライス、スライスブロックから構成されており、各ピクチャーは固定サイズの複数のマクロブロックに分割され、各マクロブロックは、輝度成分で16×16サンプルの四角形ピクチャー領域と、それに対応する2つの色差成分のそれぞれに四角形サンプル領域とを含んでいる。1つのピクチャーは、1つまたはそれ以上のスライスを含むことができ、各スライスは、アクティブシーケンスとピクチャーパラメータセットとを与えると言う意味で自己包含的であり、スライス表現は、基本的には他のスライスからの情報を使用することなくデコードされることができるので、シンタックスエレメントは、ビットストリームとピクチャーの領域のサンプルの値とから解析できる。しかしながら、より完全なデコーディングのために、スライス境界にわたってデブロッキングフィルタを適応するためには、他のスライスからのいくつかの情報が必要となる。また、各スライスは、ピクチャーの他のスライスと独立にエンコードされデコードされるので、スライスは並列処理に使用できることも、下記非特許文献1に記載されている。
一方で、動画像符号を扱うシステムは、デジタルHDTV(High Definition Television)放送受信機やHDTV信号を撮影可能なデジタルビデオカメラなどで、画像サイズは大画面化してきている。これらの信号を処理する画像符号化装置や画像復号装置には、ますます高い処理性能が求められている。
このような背景から、H.264/AVC規格の後続規格である新規格H.265(ISO/IEC 23008−2)が提案され、この新規格はHEVC(High Efficiency Video Coding)とも呼ばれている。この新規格は、ブロックサイズの適正化等により圧縮効率が優れており、MPEG−2の規格に比較して約4倍、規格H.264/AVCに比較して約2倍の圧縮性能を有すものである。
一方、下記特許文献1には、MPEG−1/2/4とH.261/H.263/H.264−AVC等の広く採用されている種々の符号化圧縮規格が、16×16画素からなる1つのマクロブロックが動き補償と後続処理の処理単位として使用されているのに対し、H.265/HEVC規格では、よりフレキシブルなブロック構造が処理単位として採用されると記載されている。このフレキシブルなブロック構造の単位は、コーディングユニット(CU)と呼ばれ、最大コーディングユニット(LCU)から出発して良好な性能を達成するために、クアッド・トリー(quadtree)を使用した小さなブロックに適応的に分割される。最大コーディングユニット(LCU)のサイズは、16×16画素のマクロブロックのサイズよりもずっと大きな64×64画素である。下記特許文献1の図1とそれに関係する開示には、クアッド・トリーに基づくコーディングユニット分割の例が示され、その深さ“ゼロ”では、最初のコーディングユニット(CU)は、64×64画素からなる最大コーディングユニット(LCU)である。スプリットフラグ“0”は、その時点のコーディングユニット(CU)が分割されないことを示し、スプリットフラグ“1”は、その時点のコーディングユニット(CU)がクアッド・トリーによって4つの小さなコーディングユニットに分割されることを示す。分割後のコーディングユニット(CU)は、予め特定された最小コーディングユニット(CU)サイズに到達するまで、更にクアッド・トリー分割されることも、下記特許文献1に記載されている。
下記特許文献2には、H.264/AVC規格による動画像符号化・復号処理のために、第1動画像処理ユニットと第2動画像処理ユニットが並列動作することが記載されている。この並列動作では、第1動画像処理ユニットは、1つのピクチャーの1つの行に配列された第1の複数のマクロブロックをシーケンシャルに処理し、第2動画像処理ユニットは、次の1つの行に配列された第2の複数のマクロブロックをシーケンシャルに処理する。特に、第2動画像処理ユニットの動作タイミングは、第1動画像処理ユニットの動作タイミングよりもマクロブロック2個分、遅延される。その結果、第2動画像処理ユニットによる次の1つの行に配列された第2の複数のマクロブロックのイントラ・フレーム予測に際して、第1動画像処理ユニットによる1つの行に配列された第1の複数のマクロブロックの処理結果を使用することが可能となる。
下記非特許文献2には、H.265/HEVC規格の概観が記載されている。以前の規格のコーディングレイヤーのコアが輝度サンプルの16×16ブロックと8×8ブロックの2つの色差サンプルを含むマクロブロックであったのに対して、H.265/HEVC規格においては、伝統的なマクロブロックよりも大きくエンコーダによってサイズが選択されるコーディングトリーユニット(CTU)である。コーディングトリーユニット(CTU)は、輝度コーディングトリーブロック(CTB)と色差コーディングトリーブロック(CTB)とシンタックス要素とによって構成される。コーディングトリーユニット(CTU)のクアッド・トリー・シンタックスは、その輝度と色差のコーディングトリーブロック(CTB)の大きさと位置とを指定する。ピクチャー領域を符号化するためにインター・ピクチャーまたはイントラ・ピクチャーが使用されるか否かの決定は、コーディングユニット(CU)のレベルでなされる。プレディクションユニット(PU)の分割構造は、コーディングユニット(CU)のレベルにその根源を持っている。基本的なプレディクションタイプの決定に依存して、輝度と色差のコーディングブロック(CB)はサイズの分割が可能で、輝度と色差のプレディクションブロック(PB)からの予測が可能である。H.265/HEVC規格は、64×64サンプルから4×4サンプルまでの可変のプレディクションブロック(PB)のサイズをサポートする。予測残差はブロック変換によって符号化されて、トランスフォームユニット(TU)のトリー構造は、コーディングユニット(CU)のレベルにその根源を持つものである。輝度のコーディングブロック(CB)の残差は、輝度のトランスフォームブロック(TB)と同一なことが可能であり、更に小さな輝度のトランスフォームブロック(TB)への分割が可能である。これは、色差のトランスフォームブロック(TB)でも同様である。離散コサイン変換(DCT)の関数と類似した整数ベースの関数が、4×4、8×8、16×16、32×32サンプルの四角型のトランスフォームブロック(TB)のサイズのために定義されている。H.265/HEVC規格では、H.264/AVC規格と同様に、均等復元量子化(URQ:Uniform Reconstruction Quantization)が使用される。すなわち、量子化パラメータ(QP)の値の範囲は0から51までで規定され、量子化パラメータ(QP)のマッピングは量子化スケーリングマトリックスの対数に近似的に対応する。
更に下記非特許文献2には、H.265/HEVC規格のスライスは、同一のピクチャーの他のスライスから独立に符号化されることが可能なデータ構造であることが記載されている。また更に下記非特許文献2には、H.265/HEVC規格には、並列処理能力を強化するかパケッタイズする目的でスライスデータの構造を修正するために、タイルやウエーブフロント・パラレル・プロセッシング(WPP)の新規な特徴が導入されていることも記載されている。タイルはピクチャーを四角形の領域に分割するものであり、タイルの主たる目的は、誤差の回復力を提供するよりも、並列処理の能力を増加するものである。複数のタイルは、1つのピクチャーの独立に復号可能な領域であり、こられは共有ヘッダー情報によって符号化される。ウエーブフロント・パラレル・プロセッシング(WPP)により、1つのスライスは複数のコーディングトリーユニット(CTU)の行に分割される。最初の行は通常の方法によって処理され、最初の行に若干の決定がされた後に2番目の行は処理を開始され、2番目の行に若干の決定がされた後に3番目の行は処理を開始されることができる。
下記非特許文献3には、H.265/HEVC規格におけるブロック構造が、プレディクションユニット(PU)とトランスフォームユニット(TU)とを含むコーディングユニット(CU)に基づくとともに、各フレームが最大サイズで64×64サンプルを有する最大コーディングユニット(LCU)の集合に分割されることが記載されている。各最大コーディングユニット(LCU)は、一般的なクアッド・トリー分割構造によって、小さなコーディングユニット(CU)に循環的に分離されることも、下記非特許文献3に記載されている。
下記非特許文献3には、H.265/HEVC規格に関する並列処理が記載されている。機能レベルの並列処理は、例えば、動画復号装置(video decoder)におけるフレームレベル・パイプラインアプローチを使用した相違した並列のステージによって構成される。4段パイプラインは、パーシング(構文解釈)と、エントロピーデコーディングと、LCU再生とフィルタリングとによって実現されることが可能である。イントラ予測は現在のブロックを生成するために近接するブロックから再生したデータを使用するので、ブロックレベルでの並列処理を禁止する強力なデータ依存性を持つものである。この依存性を部分的に除去する提案は、「並列イントラ符号化のための並列予測ユニット」として知られている。データレベルの並列処理において、いくつかのプログラムがデータセットの異なった部分に適用される。ビデオ符号化復号装置(video codec)では、データレベルの並列処理は、例えば、フレームレベル、マクロブロック(または、LCU)レベル、ブロックレベル、サンプルレベルの相違したデータ粒塊に適用される。LCU(または、マクロブロック)レベルでの並列処理は、もし相違したカーネル(kernels)のデータ依存性が満足される場合には、フレーム内部もしくはフレーム間で利用されることができる。イントラ予測のように、LCUレベルで隣接データを参照するカーネルで、斜行ウェーブフロントのLCU処理はLCUの並列処理を利用可能とするものである。更に、下記非特許文献3には、スライスレベルの並列処理も記載されている。
下記非特許文献4には、画像符号化規格の進歩に関連して、デュアルコアとクアッドコアのコンピュータが利用できるので、次に説明する異なった観点から符号化処理と復号処理に並列処理の試行がなされたことが記載されている。それは、GOP(グループオブピクチャーズ)アプローチ、フレームアプローチ、パイプラインアプローチ、スライス分割アプローチ、マクロブロック再配置アプローチ等である。マクロブロック再配置アプローチはマクロブロック(MB)をウェーブフロントの整列で処理することを提案するものであり、その結果、隣接したマクロブロック(MB)が利用可能である場合には各斜行ラインのマクロブロック(MB)は同時に符号化されている。マクロブロック(MB)レベルでの良好な粒塊並列性によって、マクロブロック再配置アプローチは現時点で広く使用されているとしている。
下記非特許文献4には、よりフレキシブルな符号化方式を達成するために、H.265/HEVC規格は、64×64画素、32×32画素、16×16画素、8×8画素、4×4画素のサイズのマクロブロック(MB)をサポートするクアッド・トリー・ベース符号化構造を利用していると記載している。下記非特許文献4には、H.265/HEVC規格は、コーディングユニット(CU)とプレディクションユニット(PU)とトランスフォームユニット(TU)の3つのブロックの概念を別々に定義していると記載している。更に、下記非特許文献4には、最大コーディングユニット(LCU)のサイズとコーディングユニット(CU)の階層深さとが定義された後に、符号化・復号化(Codec)の全体構成がコーディングユニット(CU)とプレディクションユニット(PU)とトランスフォームユニット(TU)のサイズによって特徴付けられると記載している。
更に下記非特許文献4には、H.265/HEVC規格に関係してブロックベース並列イントラ予測と呼ばれる手法が記載されている。64×64画素の最大コーディングユニット(LCU)は、ブロック0とブロック1とブロック2とブロック3の4個のブロックに分割して、ブロック0とブロック1とにより第1セットブロックを構成して、ブロック2とブロック3とにより第2セットブロックを構成する。第1セットブロックの上部と左部に隣接する画素値を使用して第1セットブロックのブロック0とブロック1とが並列に予測され、第2セットブロックの上部と左部に隣接する画素値を使用して第2セットブロックのブロック2とブロック3とが並列に予測されるものである。それに対してH.265/HEVC規格による予測方式では、ブロック1の予測にはブロック1の上部と左部とに隣接する画素値が使用され、ブロック3の予測にはブロック3の上部と左部とに隣接する画素値が使用されるので、ブロック0とブロック1とブロック2とブロック3とはシーケンシャルに予測されるものである。
1.実施の形態の概要
まず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号は、それが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態による動画像復号処理装置(1)は、構文解釈ユニット(10)と、第1と第2の動画像処理ユニット(20、21)とを具備する。
所定の画素サイズを有する最大コーディングユニット(LCU)の情報を含む符号化ビットストリーム(BS)が、前記構文解釈ユニット(10)の入力端子に供給される。
前記構文解釈ユニット(10)は、前記入力端子に供給される前記符号化ビットストリーム(BS)のシンタックスの構文解釈を実行することによって、前記最大コーディングユニット(LCU00)から並列処理可能な第1の中間ストリーム(“0”、“1”、“2”、“3”)と第2の中間ストリーム(“4”、“5”)とを生成する。
前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)は、前記構文解釈ユニット(10)から生成された前記第1の中間ストリーム(“0”、“1”、“2”、“3”)と、前記第2の中間ストリーム(“4”、“5”)とを並列処理することを特徴とするものである(図1参照)。
前記実施の形態によれば、並列復号処理の開始のためのオーバーヘッドを低減することができる。
好適な実施の形態では、前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)は、イントラ予測の機能(204)とインター予測(205)の機能とをそれぞれ有をそれぞれ有する。
前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)とは、前記イントラ予測と前記インター予測との少なくともいずれか一方に関して前記第1の中間ストリーム(“0”、“1”、“2”、“3”)と前記第2の中間ストリーム(“4”、“5”)の並列復号処理を実行することを特徴とするものである(図3、図4参照)。
他の好適な実施の形態では、前記動画像復号処理装置(1)は、前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)の間に接続された第1信号経路(41)を更に具備する。
前記第1信号経路(41)を介して、前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)のいずれか一方による前記イントラ予測を使用した復号処理結果が前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)の他方に供給可能とされることを特徴とする(図1参照)。
更に他の好適な実施の形態では、前記構文解釈ユニット(10)は、前記最大コーディングユニット(LCU00)を複数のコーディングユニット(“0”、“1”、“2”、“3”、“4”、“5”……“15”)に分割することによって、前記第1の中間ストリームと前記第2の中間ストリームとを生成する(図3参照)。
前記並列復号処理の実行において、前記第1の動画像処理ユニット(20)が前記第1の中間ストリームに含まれる最初のコーディングユニット(“0”、“1”)を処理するタイミング(T0)では、前記第2の動画像処理ユニット(21)はノーオペレーション(NOP)を実行することを特徴とするものである(図4参照)。
より好適な実施の形態では、前記構文解釈ユニットは、前記最大コーディングユニットを少なくとも4個のコーディングユニットに分割することによって、前記第1の中間ストリームと前記第2の中間ストリームとを生成することを特徴とするものである。
他のより好適な実施の形態では、前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)は、逆量子化の機能(201)と逆変換の機能(202)と動き補償の機能(205)をそれぞれ有することを特徴とするものである(図1参照)。
更に他のより好適な実施の形態では、前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)は、前記逆量子化および前逆変換に関して、前記第1の中間ストリーム(“0”、“1”、“2”、“3”)と前記第2の中間ストリーム(“4”、“5”)の並列復号処理を実行することを特徴とする。
別の好適な実施の形態では、前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)は、前記動き補償に関して、前記第1の中間ストリーム(“0”、“1”、“2”、“3”)と前記第2の中間ストリーム(“4”、“5”)の並列復号処理を実行することを特徴とする。
更に別のより好適な実施の形態による動画像復号処理装置(1)は、第1の入力端子と第2の入力端子とに前記第1の動画像処理ユニット(20)の処理結果と前記第2の動画像処理ユニット(21)の処理結果とそれぞれ供給される画像構築ユニット(30)を更に具備する。
前記画像構築ユニット(30)の出力端子から、表示装置に供給可能な復号ピクチャーが生成されることを特徴とするものである(図1参照)。
具体的な好適な実施の形態による動画像復号処理装置(1)は、第3と第4の動画像処理ユニット(22、23)を更に具備する。
前記構文解釈ユニット(10)は、前記構文解釈を実行することによって前記最大コーディングユニット(LCU00)とは異なる他の最大コーディングユニット(LCU10)から並列処理可能な第3の中間ストリームと第4の中間ストリームとを生成する。
前記第3の動画像処理ユニット(22)と前記第4の動画像処理ユニット(23)は、前記構文解釈ユニット(10)から生成された前記第3の中間ストリームと前記第4の中間ストリームとを並列処理することを特徴とするものである(図5参照)。
他の具体的な好適な実施の形態では、前記最大コーディングユニット(LCU00)と前記他の最大コーディングユニット(LCU10)とは、表示装置の1つの行に配置される表示情報と当該1つの行の次の行に配置される他の表示情報とにそれぞれ対応することを特徴とするものである(図2参照)。
より具体的な好適な実施の形態では、前記動画像復号処理装置(1)は、前記第3の動画像処理ユニット(22)と前記第4の動画像処理ユニット(23)の間に接続された第2信号経路(43)を更に具備する。
前記第2信号経路(43)を介して、前記第3の動画像処理ユニット(22)と前記第4の動画像処理ユニット(23)のいずれか一方による前記イントラ予測を使用した復号処理結果が前記第3の動画像処理ユニット(22)と前記第4の動画像処理ユニット(23)の他方に供給可能とされることを特徴とする(図1参照)。
他のより具体的な好適な実施の形態では、前記タイミング(T0)では、前記第3の動画像処理ユニットが前記第3の中間ストリームに含まれる最初のコーディングユニットを処理して前記第2の動画像処理ユニットはノーオペレーション(NOP)を実行することを特徴とするものである(図5参照)。
更に他のより具体的な実施の形態は、前記構文解釈ユニット(10)と、前記イントラ予測の機能と前記逆量子化の機能と前記逆変換と前記動き補償の機能とをそれぞれ有する前記第1の動画像処理ユニット(20)および前記第2の動画像処理ユニット(21)と、前記画像構築ユニット(30)とが、半導体集積回路の半導体チップの内部に集積化されたことを特徴とする(図1参照)。
別のより具体的な実施の形態では、前記構文解釈ユニットは、H.265/HEVC規格による前記最大コーディングユニットの情報を含んだ前記符号化ビットストリームの前記シンタックスの構文解釈を実行することを特徴とするものである。
最も具体的な実施の形態では、前記最大コーディングユニットは、前記H.265/HEVC規格によって64画素×64画素の最大のサイズを有することを特徴とするものである。
〔2〕本発明の別の観点の代表的な実施の形態は、構文解釈ユニット(10)と、第1と第2の動画像処理ユニット(20、21)とを具備する動画像復号処理装置(1)の動作方法である。
所定の画素サイズを有する最大コーディングユニット(LCU)の情報を含む符号化ビットストリーム(BS)が、前記構文解釈ユニット(10)の入力端子に供給される。
前記構文解釈ユニット(10)は、前記入力端子に供給される前記符号化ビットストリーム(BS)のシンタックスの構文解釈を実行することによって、前記最大コーディングユニット(LCU00)から並列処理可能な第1の中間ストリーム(“0”、“1”、“2”、“3”)と第2の中間ストリーム(“4”、“5”)とを生成する。
前記第1の動画像処理ユニット(20)と前記第2の動画像処理ユニット(21)は、前記構文解釈ユニット(10)から生成された前記第1の中間ストリーム(“0”、“1”、“2”、“3”)と、前記第2の中間ストリーム(“4”、“5”)とを並列処理することを特徴とするものである(図1参照)。
前記実施の形態によれば、並列復号処理の開始のためのオーバーヘッドを低減することができる。
2.実施の形態の詳細
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
[実施の形態1]
《動画像復号処理装置の構成》
図1は、実施の形態1による動画像復号処理装置1の構成を示す図である。
図1に示した実施の形態1による動画像復号処理装置1は、構文解釈ユニット10と、複数の動画像処理ユニット20、21、22、23…27と、画像構築ユニット30と、複数のユニット間信号バス41、42、43…47とを具備する。
《構文解釈ユニット》
構文解釈ユニット10は、H.265/HEVC規格により符号化されたビットストリームBSのパーシング(構文解釈)を実行するとともに、可変長復号を実行するエントロピー復号ユニットとしても機能するものである。
図1で図示されていない動画像符号化処理装置は、その装置自身の符号化ストラテジーに従って並列符号化処理を実行することによって、H.265/HEVC規格に準拠する符号化ビットストリームBSを生成する。
従って、図1に示す実施の形態1による動画像復号処理装置1の構文解釈ユニット10は、符号化ビットストリームBSのシンタックス(圧縮符号化データ列の規則または符号化データのビットストリームの構成方法)のパーシング(構文解釈)を実行する。その結果、図示しない動画像符号化処理装置の符号化ストラテジーに従った並列符号化処理に対応する動画像復号処理装置1の並列復号処理を実行することが可能となる。
すなわち、構文解釈ユニット10はエントロピー符号を逆転させ、最大コーディングユニット(LCU)の符号化されたコーディングユニット(CU)とプレディクションユニット(PU)の構造と予測モード等のヘッダー情報と符号化されたプレディクションユニット(PU)とを回復する。復号された予測モードがイントラ予測モードである場合には構文解釈ユニット10はイントラ予測の情報を再構築する一方、復号された予測モードがインター予測モードである場合には構文解釈ユニット10は動きベクトルを再構築する。その結果、構文解釈ユニット10からは、複数の動画像処理ユニット20、21、22、23…27によって並列処理可能な複数のブロックを含んだ複数の中間ストリームが生成されて複数の動画像処理ユニット20、21、22、23…27に供給される。すなわち、複数の動画像処理ユニット20、21、22、23…27は、イントラ予測に関して並列復号処理を実行するものである。
《動画像処理ユニット》
第1の動画像処理ユニット20は、逆量子化ユニット201と逆変換ユニット202とフレームメモリユニット203とイントラ予測ユニット204と動き補償ユニット205とモードスイッチ206と加算ユニット207とフィルタユニット208とを具備する。
構文解釈ユニット10からエントロピー復号された輝度および色差の予測残差成分が逆量子化ユニット201の入力端子に供給され、この予測残差成分が逆量子化ユニット201によって逆量子化処理される。逆量子化ユニット201の出力信号は、逆変換ユニット202によって逆離散コサイン変換(DCT)または逆離散サイン変換(DST)の処理が実行されることによって、残差コーディングユニット(CU)に変換される。すなわち、逆変換ユニット202に逆量子化ユニット201から周波数ドメインのデータが供給され、残差コーディングユニット(CU)に変換される。
加算ユニット207の第1入力端子に逆変換ユニット202から残差コーディングユニット(CU)が供給され、加算ユニット207の第2入力端子にモードスイッチ206から予測情報が供給される。復号動画像ストリーム中でインター予測モードが示されている場合には、モードスイッチ206は予測されたプレディクションユニット(PU)を動き補償ユニット205から選択する。復号動画像ストリーム中でイントラ予測モードが示されている場合には、モードスイッチ206はイントラ予測ユニット204からプレディクションユニット(PU)を選択する。
動き補償ユニット205はフレームメモリユニット203からの参照データを使用するとともに、動画像復号装置によって計算され符号化動画像ビットストリームで伝送された動き予測を適用することによって、プレディクションユニット(PU)を生成するものである。すなわち、動き補償ユニット205は、構文解釈ユニット10からの動きベクトルと、フレームメモリユニット203からの参照データを使用することにより、プレディクションユニット(PU)を生成するものである。
イントラ予測ユニット204は現在のブロックより以前に復号された周辺画素を参照データとして使用して符号化動画像ビットストリームで伝送されたイントラ予測モードによって指定された動画像復号装置によって計算されたイントラ予測を適用することによって、プレディクションユニット(PU)を生成する。
加算ユニット207は、逆変換ユニット202から供給される残差コーディングユニット(CU)とモードスイッチ206によって選択されたプレディクションユニット(PU)とを加算することによって、コーディングユニット(CU)を生成する。
フィルタユニット208は、H.265/HEVC規格に従ってブロック歪みを低減するためのデブロッキングフィルタの機能を有するものである。またフィルタユニット208は、H.265/HEVC規格に準拠するために、デブロッキングフィルタ機能と別にサンプルアダプティブオフセット(SAO)と呼ばれるフィルタ機能を有する。このフィルタ機能は、動画像符号化処理装置側の度数分布解析によって決定される追加パラメータを使用して記述されたルックアップテーブルを使用することにより、原信号振幅を良好に再構築するものである。加算ユニット207の出力信号が、フィルタユニット208の入力端子に供給されることによって、フィルタユニット208の出力端子から復号部分画像が生成され、生成された復号部分画像が、参照データとしてフレームメモリユニット203に格納される。
その他の動画像処理ユニット21、22、23…27も第1の動画像処理ユニット20と全く同様に構成される。すなわち、各動画像処理ユニットは、逆量子化ユニット201と逆変換ユニット202とフレームメモリユニット203とイントラ予測ユニット204と動き補償ユニット205とモードスイッチ206と加算ユニット207とフィルタユニット208とを具備するものである。
《ユニット間信号バス》
図1で図示されたように、複数の動画像処理ユニット20、21、22、23…27に、複数のユニット間信号バス41、42、43…47が接続されている。その結果、複数の動画像処理ユニット20、21、22、23…27は、イントラ予測に関する並列復号処理を実行するために、複数のユニット間信号バス41、42、43…47を介してイントラ予測復号処理結果を双方向で、相互に隣接する動画像処理ユニットに供給するものである。
《画像構築ユニット》
画像構築ユニット30は、複数の動画像処理ユニット20、21、22、23…27から生成される復号部分画像に基づいて、図9に示した液晶表示装置に供給される復号フレームDFである復号ピクチャーを生成するものである。
《半導体集積回路の利用》
図1に示した実施の形態1による動画像復号処理装置1は、その大部分がシステムオンチップ(SoC)と呼ばれるシステムLSI半導体集積回路の半導体チップの内部に集積化されている。しかし、複数の動画像処理ユニット20、21、22、23…27の複数のフレームメモリユニット203の大部分は、システムLSI半導体集積回路とは別個に構成された同期スタティックランダムアクセスメモリ(SRAM)の半導体チップの内部に集積化される。しかしその他の実施の形態では、複数の動画像処理ユニット20、21、22、23…27の複数のフレームメモリユニット203の一部は、高速アクセスのために、システムLSI半導体集積回路の半導体チップの内部に集積化されることも可能である。
画像構築ユニット30から生成されて図9に示す液晶表示装置に供給される復号フレームDFである復号ピクチャーは、システムLSI半導体集積回路と別個に構成されたグラフィックメモリの半導体チップに格納されることができる。
従って、図1に示した実施の形態1による動画像復号処理装置1の構文解釈ユニット10と複数の動画像処理ユニット20、21、22、23…27と画像構築ユニット30の大部分は、システムLSI半導体集積回路の半導体チップの内部に構成されることができる。すなわち、構文解釈ユニット10と複数の動画像処理ユニット20、21、22、23…27と画像構築ユニット30は、システムLSI半導体集積回路の半導体チップの内部に構成されたハードウェアによって実現されることができる。それ以外に、複数の動画像処理ユニット20、21、22、23…27は、上記非特許文献4に記載されたデュアルコアとクアッドコアのコンピュータのように、マルチCPUのハードウェアとソフトウェアとを利用するファームウェアによって実現されることも可能である。
《複数の動画像処理ユニットによる並列復号処理》
図2は、図1に示した実施の形態1による動画像復号処理装置1の複数の動画像処理ユニット20、21、22、23…27がイントラ予測を使用して並列復号処理を実行する様子を示す図である。
図2に示すように、第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とは、図9に示した液晶表示装置の1行目に横方向に配置された64個の最大コーディングユニットLCU00、LCU01、LCU02…LCU063の情報を処理するものである。
また、第3の動画像処理ユニット22(CE10)と第4の動画像処理ユニット23(CE11)とは、図9に示した液晶表示装置の2行目に横方向に配置された64個の最大コーディングユニットLCU10、LCU11、LCU12…LCU163の情報を処理するものである。
また、第5の動画像処理ユニット24(CE20)と第6の動画像処理ユニット25(CE21)とは、図9に示した液晶表示装置の3行目に横方向に配置された64個の最大コーディングユニットLCU20、LCU21、LCU22…LCU263の情報を処理するものである。
また、第7の動画像処理ユニット26(CE30)と第8の動画像処理ユニット27(CE31)とは、図9に示した液晶表示装置の4行目に横方向に配置された64個の最大コーディングユニットLCU30、LCU31、LCU32…LCU363の情報を処理するものである。
図2に示すように第1と第2の動画像処理ユニット20、21による1行目の64個のLCU00…63の処理と、第3と第4の動画像処理ユニット22、23による2行目の64個のLCU10…163の処理とは、並列復号処理となる。また更にこの並列復号処理と、第5と第6の動画像処理ユニット24、25による3行目の64個のLCU20…263の処理と、第7と第8の動画像処理ユニット24、25による4行目の64個のLCU30…363の処理とは、並列復号処理となる。このように、8個の動画像処理ユニット20、21、22、23…27による4行分の最大コーディングユニットLCUの情報のイントラ予測に関する並列復号処理を可能とするためには、4行分の最大コーディングユニットLCUは、4個のスライスに分割される。すなわち、1行目の64個のLCU00…63は第1のスライスの内部に配置され、2行目の64個のLCU10…163は第2のスライスの内部に配置され、3行目の64個のLCU20…263は第3のスライスの内部に配置され、4行目の64個のLCU30…363は第4のスライスの内部に配置される。このスライス分割の理由は、上記非特許文献2に記載されたように、H.265/HEVC規格のスライスは、同一ピクチャーの他のスライスと独立に復号化されるので、上記の複数のスライスの並列復号処理が可能となるためである。
図2に図示されてはいないが、図1に示した実施の形態1による動画像復号処理装置1は、第63の動画像処理ユニット262と第64の動画像処理ユニット263とを含むものである。従って、第63の動画像処理ユニット262と第64の動画像処理ユニット263とは、図9に示した液晶表示装置の32行目に横方向に配置された64個の最大コーディングユニットLCU310、LCU311、LCU312…LCU3163の情報を処理するものである。従って、図1に示した実施の形態1による動画像復号処理装置1の64個の動画像処理ユニット20、21、22、23…263は、図9に示した液晶表示装置の長辺の横方向の64列と短辺の縦方向の32行とに配置された2048個の最大コーディングユニット(LCU)の情報を並列処理するものである。
《小さなコーディングユニットの並列復号処理》
図3は、図2で説明した第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、図9に示した液晶表示装置の1行・1列目に配置された最大コーディングユニットLCU00の内部の16個の小さなコーディングユニットCU0、CU1、CU2…CU15の情報をイントラ予測を使用して並列復号処理を実行する様子を示す図である。
図3に示したように、1個の最大コーディングユニットLCU00は64画素×64画素の大きなサイズを有する一方、16個の小さなコーディングユニットCU0、CU1、CU2…CU15の各コーディングユニットは16画素×16画素の小さなサイズを有している。1列目に4個の小さなコーディングユニットCU0、CU1、CU4、CU5が配置され、2列目に4個の小さなコーディングユニットCU2、CU3、CU6、CU7が配置され、3列目に4個の小さなコーディングユニットCU8、CU9、CU12、CU13が配置され、4列目に4個の小さなコーディングユニットCU10、CU11、CU14、CU15が配置されている。
図3に示したように、第1のタイミングT0では、第1の動画像処理ユニット20(CE00)によって、第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理される。第2のタイミングT1では、第1の動画像処理ユニット20(CE00)によって第3と第4のコーディングユニットCU2、CU3がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第5と第6のコーディングユニットCU4、CU5がシーケンシャルに復号処理される。尚、第2のコーディングユニットCU1は第1のコーディングユニットCU0からイントラ予測されて、第3のコーディングユニットCU2も第1のコーディングユニットCU0からイントラ予測され、第4のコーディングユニットCU3は第2のコーディングユニットCU1からイントラ予測される。また、第5のコーディングユニットCU4は第2のコーディングユニットCU1からイントラ予測され、第6のコーディングユニットCU5は第5のコーディングユニットCU4からイントラ予測される。
第3のタイミングT2では第1の動画像処理ユニット20(CE00)によって第7と第8のコーディングユニットCU6、CU7がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第9と第10のコーディングユニットCU8、CU9がシーケンシャルに復号処理される。尚、第7のコーディングユニットCU6は第4のコーディングユニットCU3からイントラ予測され、第8のコーディングユニットCU7は第7のコーディングユニットCU6からイントラ予測される。更に、第9のコーディングユニットCU8は第3のコーディングユニットCU2からイントラ予測され、第10のコーディングユニットCU9は第9のコーディングユニットCU8からイントラ予測される。
第4のタイミングT3では第1の動画像処理ユニット20(CE00)によって第11と第12のコーディングユニットCU10、CU11がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第13と第14のコーディングユニットCU12、CU13がシーケンシャルに復号処理される。尚、第11のコーディングユニットCU10は第9のコーディングユニットCU8からイントラ予測され、第12のコーディングユニットCU11は第11のコーディングユニットCU10からイントラ予測される。更に、第13のコーディングユニットCU12は第10のコーディングユニットCU9からイントラ予測され、第14のコーディングユニットCU13は第13のコーディングユニットCU12からイントラ予測される。
第5のタイミングT4では、第1の動画像処理ユニット20(CE00)によって、第15と第16のコーディングユニットCU14、CU15がシーケンシャルに復号処理される。尚、第15のコーディングユニットCU14は第12のコーディングユニットCU11からイントラ予測され、第16のコーディングユニットCU15は第15のコーディングユニットCU14からイントラ予測される。
図3に示した実施の形態1の例では、第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)が、1個の最大コーディングユニットLCU00から分割された16個の小さなコーディングユニットCU0、CU1、CU2…CU15を2分割してイントラ予測の並列復号処理するものである。従って、図1に示す実施の形態1による動画像復号処理装置1において、第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とは、逆量子化ユニット201と逆変換ユニット202と動き補償ユニット205とフィルタユニット208とにおけるそれぞれの処理においても、上述のような2分割の並列処理を実行するものである。
すなわち、構文解釈ユニット10による符号化ビットストリームBSのシンタックスの構文解釈によって、複数の動画像処理ユニット20、21、22、23…27によって逆量子化処理および逆変換処理に関する並列処理が可能とされるものである。従って、構文解釈ユニット10から複数の動画像処理ユニット20、21、22、23…27によって逆量子化処理および逆変換処理に関して並列処理可能な複数のブロックを含んだ複数の中間ストリームが生成され、複数の動画像処理ユニット20、21、22、23…27に供給される。その結果、複数の動画像処理ユニット20、21、22、23…27は、逆量子化処理および逆変換処理に関して並列復号処理を実行するものである。
更に構文解釈ユニット10による符号化ビットストリームBSのシンタックスの構文解釈によって、複数の動画像処理ユニット20、21、22、23…27によって動き補償処理およびフィルタ処理に関する並列処理が可能とされるものである。従って、構文解釈ユニット10から複数の動画像処理ユニット20、21、22、23…27によって動き補償処理およびフィルタ処理に関して並列処理可能な複数のブロックを含んだ複数の中間ストリームが生成され、複数の動画像処理ユニット20、21、22、23…27に供給される。その結果、複数の動画像処理ユニット20、21、22、23…27は、動き補償処理およびフィルタ処理に関して並列復号処理を実行するものである。
《並列復号処理のタイミング》
図4は、図2に示した第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、図3に示した16個の小さなコーディングユニットCU0、CU1、CU2…CU15の情報をイントラ予測を使用して並列復号処理を実行するタイミングを示す図である。
図4に示したように第1のタイミングT0では、第1の動画像処理ユニット20(CE00)によって第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって2回のノーオペレーション(NOP)が実行される。
この図4に示された2回のノーオペレーション(NOP)の領域は、上記非特許文献3に記載されたLCUの並列処理に必要な斜行ウェーブフロントに対応するものである。
図4に示した第2のタイミングT1では、第1の動画像処理ユニット20(CE00)によって第3と第4のコーディングユニットCU2、CU3がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第5と第6のコーディングユニットCU4、CU5がシーケンシャルに復号処理される。ここで、第1のタイミングT0での第1の動画像処理ユニット20(CE00)による第2のコーディングユニットCU1のイントラ予測を使用した復号処理結果が、第2のタイミングT1での第2の動画像処理ユニット21(CE01)による第5のコーディングユニットCU4のイントラ予測を使用する復号処理に使用される。すなわち、第1のタイミングT0での第1の動画像処理ユニット20(CE00)による第2のコーディングユニットCU1のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第1の動画像処理ユニット20(CE00)から、第2の動画像処理ユニット21(CE01)に供給されるものである。
図4に示した第3のタイミングT2では、第1の動画像処理ユニット20(CE00)によって第7と第8のコーディングユニットCU6、CU7がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第9と第10のコーディングユニットCU8、CU9がシーケンシャルに復号処理される。ここで、第2のタイミングT1での第1の動画像処理ユニット20(CE00)による第3のコーディングユニットCU2のイントラ予測を使用した復号処理結果が、第3のタイミングT2での第2の動画像処理ユニット21(CE01)による第9のコーディングユニットCU8のイントラ予測を使用する復号処理に使用される。すなわち、第2のタイミングT1での第1の動画像処理ユニット20(CE00)による第3のコーディングユニットCU2のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第1の動画像処理ユニット20(CE00)から、第2の動画像処理ユニット21(CE01)に供給されるものである。
図4に示した第4のタイミングT3では、第1の動画像処理ユニット20(CE00)によって第11と第12のコーディングユニットCU10、CU11がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第13と第14のコーディングユニットCU12、CU13がシーケンシャルに復号処理される。ここで、第3のタイミングT2での第2の動画像処理ユニット21(CE01)による第9のコーディングユニットCU8のイントラ予測を使用した復号処理結果が、第4のタイミングT3での第1の動画像処理ユニット20(CE00)による第11コーディングユニットCU10のイントラ予測を使用する復号処理に使用される。すなわち、第3のタイミングT2での第2の動画像処理ユニット21(CE01)による第9のコーディングユニットCU8のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第2の動画像処理ユニット21(CE01)から、第1の動画像処理ユニット20(CE00)に供給されるものである。
図4に示した第5のタイミングT4では、第1の動画像処理ユニット20(CE00)によって、第15と第16のコーディングユニットCU14、CU15がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって2回のオペレーション(OPE)が実行されるものである。この第2の動画像処理ユニット21(CE01)によって実行される2回のオペレーション(OPE)は、図9の液晶表示装置の1行・2列目に配置された最大コーディングユニットLCU01の内部の第1と第2のコーディングユニットCU0、CU1をシーケンシャルに復号処理するものである。
このように、図2に示した第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、図9に示した液晶表示装置の1行目に横方向に配置された64個の最大コーディングユニットLCU00、LCU01、LCU02…LCU063の内部情報を並列復号処理するものである。
《8個の動画像処理ユニットによる並列復号処理》
図5は、図1に示した8個の動画像処理ユニット20、21、22、23…27による4行分の最大コーディングユニットLCUの内部情報の並列復号処理を実行するタイミングを示す図である。
図5の第1番目に、図2に示した第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、図9に示した液晶表示装置の1行目の最大コーディングユニットLCU00の内部の16個の小さなコーディングユニットCU0、CU1、CU2…CU15の情報の並列復号処理を実行するタイミングを示している。
図5の第1番目の最初でも、図4の第1のタイミングT0と同様に、第1の動画像処理ユニット20(CE00)によって第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって2回のノーオペレーション(NOP)が実行される。
図5の第1番目の最後でも、図4の第5のタイミングT4と同様に第1の動画像処理ユニット20(CE00)によって第15と第16のコーディングユニットCU14、CU15がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって2回のオペレーション(OPE)が実行されるものである。
図5の第2番目に、図2に示した第3の動画像処理ユニット22(CE10)と第4の動画像処理ユニット23(CE11)とが、図9に示した液晶表示装置の2行目の最大コーディングユニットLCU10の内部の16個の小さなコーディングユニットCU0、CU1、CU2…CU15の情報の並列復号処理を実行するタイミングを示している。
図5の第2番目の最初でも、図4の第1のタイミングT0と同様に、第3の動画像処理ユニット22(CE10)によって第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理されるのと並行して、第4の動画像処理ユニット23(CE11)によって2回のノーオペレーション(NOP)が実行される。
図5の第2番目の最後でも、図4の第5のタイミングT4と同様に第3の動画像処理ユニット22(CE10)によって第15と第16のコーディングユニットCU14、CU15がシーケンシャルに復号処理されるのと並行して、第4の動画像処理ユニット23(CE11)によって2回のオペレーション(OPE)が実行されるものである。
図5の第3番目に、図2に示した第5の動画像処理ユニット24(CE20)と第6の動画像処理ユニット25(CE21)とが、図9に示した液晶表示装置の3行目の最大コーディングユニットLCU20の内部の16個の小さなコーディングユニットCU0、CU1、CU2…CU15の情報の並列復号処理を実行するタイミングを示している。
図5の第3番目の最初でも、図4の第1のタイミングT0と同様に、第5の動画像処理ユニット24(CE20)によって第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理されるのと並行して、第6の動画像処理ユニット25(CE21)によって2回のノーオペレーション(NOP)が実行される。
図5の第3番目の最後でも、図4の第5のタイミングT4と同様に第5の動画像処理ユニット24(CE20)によって第15と第16のコーディングユニットCU14、CU15がシーケンシャルに復号処理されるのと並行して、第6の動画像処理ユニット25(CE21)によって2回のオペレーション(OPE)が実行されるものである。
図5の第4番目に、図2に示した第7の動画像処理ユニット26(CE30)と第8の動画像処理ユニット27(CE31)とが、図9に示した液晶表示装置の4行目の最大コーディングユニットLCU30の内部の16個の小さなコーディングユニットCU0、CU1、CU2…CU15の情報の並列復号処理を実行するタイミングを示している。
図5の第4番目の最初でも、図4の第1のタイミングT0と同様に、第7の動画像処理ユニット26(CE30)によって第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理されるのと並行して、第8の動画像処理ユニット27(CE31)によって2回のノーオペレーション(NOP)が実行される。
図5の第4番目の最後でも、図4の第5のタイミングT4と同様に第7の動画像処理ユニット26(CE30)によって第15と第16のコーディングユニットCU14、CU15がシーケンシャルに復号処理されるのと並行して、第8の動画像処理ユニット27(CE31)によって2回のオペレーション(OPE)が実行されるものである。
図5に示したように、最初に第2の動画像処理ユニット21による2回のノーオペレーション(NOP)の実行と、第4の動画像処理ユニット23による2回のノーオペレーション(NOP)の実行と、第6の動画像処理ユニット25による2回のノーオペレーション(NOP)の実行と、第8の動画像処理ユニット27による2回のノーオペレーション(NOP)の実行とが並列実行される。しかし、図5に示した4系統で並列実行される2回のノーオペレーション(NOP)のオーバーヘッドは、本発明に先立って本発明者等によって検討された図10に示した三角形のノーオペレーション(NOP)のオーバーヘッドよりも著しく低減されていることが理解できる。
《小さなコーディングユニットの並列復号処理》
図6は、図2で説明した第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、図9に示した液晶表示装置の1行・1列目に配置された最大コーディングユニットLCU00の内部の64個の更に小さなコーディングユニットCU0、CU1、CU2…CU63の情報をイントラ予測に関して並列復号処理を実行する様子を示す図である。
図6に示したように、1個の最大コーディングユニットLCU00は64画素×64画素の最大のサイズを有する一方、64個の小さなコーディングユニットCU0、CU1、CU2…CU63の各コーディングユニットは8画素×8画素の更に小さなサイズを有している。1行目に8個の小さなコーディングユニットCU0、CU1、CU4、CU5…CU12、CU13が配置され、2行目に8個の小さなコーディングユニットCU2、CU3、CU6、CU7…CU14、CU15が配置されている。3行目にも8個の小さなコーディングユニットCU16、CU17、CU20、CU21…CU28、CU29が配置され、4行目にも8個の小さなコーディングユニットCU18、CU19、CU22、CU23…CU30、CU31が配置されている。5行目から8行目までは、図6に示した通りであり、説明を省略する。
図6に示したように、第1のタイミングT0では、第1の動画像処理ユニット20(CE00)によって、第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理される。第2のタイミングT1では、第1の動画像処理ユニット20(CE00)によって第3と第4のコーディングユニットCU2、CU3がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第5と第6のコーディングユニットCU4、CU5がシーケンシャルに復号処理される。尚、第2のコーディングユニットCU1は第1のコーディングユニットCU0からイントラ予測されて、第3のコーディングユニットCU2も第1のコーディングユニットCU0からイントラ予測され、第4のコーディングユニットCU3は第2のコーディングユニットCU1からイントラ予測される。また、第5のコーディングユニットCU4は第2のコーディングユニットCU1からイントラ予測され、第6のコーディングユニットCU5は第5のコーディングユニットCU4からイントラ予測される。
第3のタイミングT2では第1の動画像処理ユニット20(CE00)によって第7と第8のコーディングユニットCU6、CU7がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第9と第10のコーディングユニットCU8、CU9がシーケンシャルに復号処理される。尚、第7のコーディングユニットCU6は第4のコーディングユニットCU3からイントラ予測され、第8のコーディングユニットCU7は第7のコーディングユニットCU6からイントラ予測される。更に、第9のコーディングユニットCU8は第6のコーディングユニットCU5からイントラ予測され、第10のコーディングユニットCU9は第9のコーディングユニットCU8からイントラ予測される。
第4のタイミングT3では第1の動画像処理ユニット20(CE00)によって第11と第12のコーディングユニットCU10、CU11がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第13と第14のコーディングユニットCU12、CU13がシーケンシャルに復号処理される。尚、第11のコーディングユニットCU10は第8のコーディングユニットCU7からイントラ予測され、第12のコーディングユニットCU11は第11のコーディングユニットCU10からイントラ予測される。更に、第13のコーディングユニットCU12は第10のコーディングユニットCU9からイントラ予測され、第14のコーディングユニットCU13は第13のコーディングユニットCU12からイントラ予測される。
第5のタイミングT4では、第1の動画像処理ユニット20(CE00)によって、第15と第16のコーディングユニットCU14、CU15がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第17と第18のコーディングユニットCU16、CU17がシーケンシャルに復号処理される。尚、第15のコーディングユニットCU14は第12のコーディングユニットCU11からイントラ予測され、第16のコーディングユニットCU15は第15のコーディングユニットCU14からイントラ予測される。更に第17のコーディングユニットCU16は第3のコーディングユニットCU2からイントラ予測され、第18のコーディングユニットCU17は第17のコーディングユニットCU16からイントラ予測される。
第6のタイミングT5では、第1の動画像処理ユニット20(CE00)によって、第19と第20のコーディングユニットCU18、CU19がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第21と第22のコーディングユニットCU20、CU21がシーケンシャルに復号処理される。尚、第19のコーディングユニットCU18は第17のコーディングユニットCU16からイントラ予測され、第20のコーディングユニットCU19は第19のコーディングユニットCU18からイントラ予測される。更に、第21のコーディングユニットCU20は第18のコーディングユニットCU17からイントラ予測され、第22のコーディングユニットCU21は第21のコーディングユニットCU20からイントラ予測される。
第7のタイミングT6では、第1の動画像処理ユニット20(CE00)によって第23と第24のコーディングユニットCU22、CU23がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第25と第26のコーディングユニットCU24、CU25がシーケンシャルに復号処理される。尚、第23のコーディングユニットCU22は第20のコーディングユニットCU19からイントラ予測され、第24のコーディングユニットCU23は第23のコーディングユニットCU22からイントラ予測される。更に、第25のコーディングユニットCU24は第22のコーディングユニットCU21からイントラ予測され、第26のコーディングユニットCU25は第25のコーディングユニットCU24からイントラ予測される。
第8のタイミングT7では、第1の動画像処理ユニット20(CE00)によって第27と第28のコーディングユニットCU26、CU27がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって第29と第30のコーディングユニットCU28、CU29がシーケンシャルに復号処理される。尚、第27のコーディングユニットCU26は第24のコーディングユニットCU23からイントラ予測され、第28のコーディングユニットCU27は第27のコーディングユニットCU26からイントラ予測される。更に、第29のコーディングユニットCU28は第26のコーディングユニットCU25からイントラ予測され、第30のコーディングユニットCU29は第29のコーディングユニットCU28からイントラ予測される。
図6に示した第9のタイミングT8から第16のタイミングT15までの動作は、上述した第1のタイミングT0から第8のタイミングT7までの動作と類似したものであるので、説明を省略する。
図6に示した第17のタイミングT16では、第1の動画像処理ユニット20(CE00)によって、第63と第64のコーディングユニットCU62、CU63がシーケンシャルに復号処理される。尚、第63のコーディングユニットCU62は第60のコーディングユニットCU59からイントラ予測され、第64のコーディングユニットCU63は第63のコーディングユニットCU62からイントラ予測される。
図6に示した実施の形態1の例では、第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、1個の最大コーディングユニットLCU00から分割された64個の小さなコーディングユニットCU0、CU1、CU2…CU63を2分割してイントラ予測の並列復号処理するものである。従って、図1に示した実施の形態1による動画像復号処理装置1では、第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とは、逆量子化ユニット201と逆変換ユニット202と動き補償ユニット205とフィルタユニット208とにおけるそれぞれの処理においても、上述のような2分割の並列処理を実行するものである。
《並列復号処理のタイミング》
図7は、図2に示した第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、図6に示した64個の小さなコーディングユニットCU0、CU1、CU2…CU64の情報をイントラ予測を使用して並列復号処理を実行するタイミングを示す図である。
図6に示した第1のタイミングT0と全く同様に図7に示した第1のタイミングT0では、第1の動画像処理ユニット20(CE00)により第1と第2のコーディングユニットCU0、CU1がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって2回のノーオペレーション(NOP)が実行される。
この図7に示された2回のノーオペレーション(NOP)の領域は、上記非特許文献3に記載されたLCUの並列処理に必要な斜行ウェーブフロントに対応するものである。
図7に示したイントラ予測を使用して並列復号処理においても、第1のタイミングT0での第1の動画像処理ユニット20(CE00)による第2のコーディングユニットCU1のイントラ予測を使用した復号処理結果が、第2のタイミングT1での第2の動画像処理ユニット21(CE01)による第5のコーディングユニットCU4のイントラ予測を使用する復号処理に使用される。すなわち、第1のタイミングT0での第1の動画像処理ユニット20(CE00)による第2のコーディングユニットCU1のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第1の動画像処理ユニット20(CE00)から、第2の動画像処理ユニット21(CE01)に供給されるものである。更に第2のタイミングT1での第1の動画像処理ユニット20(CE00)による第3のコーディングユニットCU2のイントラ予測を使用した復号処理結果が、第5のタイミングT4での第2の動画像処理ユニット21(CE01)による第17のコーディングユニットCU16のイントラ予測を使用する復号処理に使用される。すなわち、第2のタイミングT1での第1の動画像処理ユニット20(CE00)による第3のコーディングユニットCU2のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第1の動画像処理ユニット20(CE00)から、第2の動画像処理ユニット21(CE01)に供給されるものである。更に第5のタイミングT4での第2の動画像処理ユニット21(CE01)による第17のコーディングユニットCU16のイントラ予測を使用した復号処理結果が、第6のタイミングT5での第1の動画像処理ユニット20(CE00)による第19のコーディングユニットCU18のイントラ予測を使用する復号処理に使用される。すなわち、第5のタイミングT4での第2の動画像処理ユニット21(CE01)による第17のコーディングユニットCU16のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第2の動画像処理ユニット21(CE01)から、第1の動画像処理ユニット20(CE00)に供給されるものである。更に第9のタイミングT8での第2の動画像処理ユニット21(CE01)による第33のコーディングユニットCU32のイントラ予測を使用した復号処理結果が、第10のタイミングT9での第1の動画像処理ユニット20(CE00)による第35のコーディングユニットCU34のイントラ予測を使用する復号処理に使用される。すなわち、第9のタイミングT8での第2の動画像処理ユニット21(CE01)による第33のコーディングユニットCU32のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第2の動画像処理ユニット21(CE01)から、第1の動画像処理ユニット20(CE00)に供給されるものである。更に第10のタイミングT9での第1の動画像処理ユニット20(CE00)による第35のコーディングユニットCU34のイントラ予測を使用した復号処理結果が、第13のタイミングT12での第2の動画像処理ユニット21(CE01)による第49のコーディングユニットCU48のイントラ予測を使用する復号処理に使用される。すなわち、第10のタイミングT9での第1の動画像処理ユニット20(CE00)による第35のコーディングユニットCU34のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第1の動画像処理ユニット20(CE00)から、第2の動画像処理ユニット21(CE01)に供給されるものである。更に第13のタイミングT12での第2の動画像処理ユニット21(CE01)による第49のコーディングユニットCU48のイントラ予測を使用した復号処理結果が、第14のタイミングT13での第1の動画像処理ユニット20(CE00)による第51のコーディングユニットCU50のイントラ予測を使用する復号処理を使用する復号処理に使用される。すなわち、第13のタイミングT12での第2の動画像処理ユニット21(CE01)による第49のコーディングユニットCU48のイントラ予測を使用した復号処理結果が、図1に示したユニット間信号バス41を介して、第2の動画像処理ユニット21(CE01)から、第1の動画像処理ユニット20(CE00)に供給されるものである。
図7に示した第2のタイミングT1から第16のタイミングT15のその他の動作は、図6に示した第2のタイミングT1から第16のタイミングT15の動作と類似したものであるので、説明を省略する。
図7に示した第17のタイミングT16では、第1の動画像処理ユニット20(CE00)によって第63と第64のコーディングユニットCU62、CU63がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)によって2回のオペレーション(OPE)が実行されるものである。この第2の動画像処理ユニット21(CE01)により実行される2回のオペレーション(OPE)は、図9の液晶表示装置の1行・2列目に配置された最大コーディングユニットLCU01の内部の第1と第2のコーディングユニットCU0、CU1をシーケンシャルに復号処理するものである。
このようにして図2に示した第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、図9に示した液晶表示装置の1行目に横方向に配置された64個の最大コーディングユニットLCU00、LCU01、LCU02…LCU063の内部情報を並列復号処理するものである。
《8個の動画像処理ユニットによる並列復号処理》
図8は、図1に示した8個の動画像処理ユニット20、21、22、23…27による4行分の最大コーディングユニットLCUの内部情報の並列復号処理を実行する様子を示す図である。
図8に示した8個の動画像処理ユニット20、21、22、23…27による4行分の最大コーディングユニットLCUの内部情報の並列復号処理は、図5に示した並列復号処理と同様であるが、相違点は下記の通りである。
すなわち、図8の最後でも、図7の第17のタイミングT16と全く同様に、第1の動画像処理ユニット20(CE00)により第63と第64のコーディングユニットCU62、CU63がシーケンシャルに復号処理されるのと並行して、第2の動画像処理ユニット21(CE01)により2回のオペレーション(OPE)が実行されるものである。この第2の動画像処理ユニット21(CE01)により実行される2回のオペレーション(OPE)は、図9の液晶表示装置の1行・2列目に配置された最大コーディングユニットLCU01の内部の第1と第2のコーディングユニットCU0、CU1をシーケンシャルに復号処理するものである。
以上、本発明者によってなされた発明を種々の実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、本動画像復号処理装置は、H.265/HEVC規格に準拠する符号化ビットストリームBSを復号処理することにのみ限定されるものではない。
すなわち、本動画像復号処理装置は、64×64画素の最大のサイズを有する最大コーディングユニット(LCU)を処理単位とするH.265/HEVC規格以外に64×64画素より大きな最大サイズを有する最大コーディングユニット(LCU)を処理単位とする将来出現する規格に準拠した符号化ビットストリームBSを復号処理することに適用することも可能である。
更に、本動画像復号処理装置は、64×64画素の最大サイズよりも小さい、例えば32×32画素のサイズを有する最大コーディングユニット(LCU)を処理単位として、H.265/HEVC規格に準拠して符号化された符号化ビットストリームBSを復号処理することも可能である。
図3と図4に示した例では、第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、1個の最大コーディングユニットLCU00から分割された16個の小さなコーディングユニットCU0、CU1、CU2…CU15を2分割してイントラ予測の並列復号処理するものであった。それ以外にも、第1の動画像処理ユニット20(CE00)と第2の動画像処理ユニット21(CE01)とが、1個の最大コーディングユニットLCU00から分割された4個のコーディングユニットCU0、CU1、CU2、CU3を2分割してイントラ予測の並列復号処理することも可能である。
更に、本動画像復号処理装置は、図1に示したように8個の動画像処理ユニット20、21、22、23…27のうちの2個の動画像処理ユニットが、1つの行の最大コーディングユニット(LCU)の内部の複数個の小さなコーディングユニットの情報をイントラ予測を使用して並列復号処理を実行することにのみ限定されるものではない。すなわち、2個の動画像処理ユニットが1つの行の最大コーディングユニット(LCU)の内部の複数個の小さなコーディングユニットの情報を、インター予測を使用して並列復号処理することも可能である。このインター予測の場合には、復号処理対象である最大コーディングユニット(LCU)を含むフレームとは別のフレームが、参照フレームとして選択されるものである。
更に、本動画像復号処理装置は、上記非特許文献4に記載されたデュアルコアのコンピュータのように、図1に示した2個の動画像処理ユニット20、21のみを使用して4096画素×2048画素の大きさの表示画面の短辺の縦方向に配置された32個の最大コーディングユニット(LCU)を処理することも可能である。すなわち、2個の動画像処理ユニット20、21のみを使用して、32行の各行の最大コーディングユニット(LCU)の内部の複数の小さなコーディングユニットの情報をイントラ予測に関して並列復号処理を実行することも可能である。