(57)【要約】【課題】符号化されたデータに対する復号処理のうち、並列に実行できる処理を増加させて処理効率を向上させる。【解決手段】本発明の一態様において、並列復号装置１は、符号化データ５に含まれている複数の処理単位データについて復号化処理のための複数の処理ステージの進行状態を示す制御情報６を記憶する記憶手段４と、記憶手段４に記憶されている制御情報６と、復号化処理における複数の処理単位データの間の依存関係と複数の処理ステージの間の依存関係とに基づいて、並列に、実行可能な処理単位データに対応する実行可能な処理ステージを、少なくとも一つのプロセッサに対して割り当てる制御手段２と、実行可能な処理単位データに対して実行可能な処理ステージを並列に実行する復号処理手段３とを具備する。【選択図】      図１
2011066844.tif 000002
【特許請求の範囲】
【請求項１】
符号化データに含まれている複数の処理単位データについて、復号化処理のための複数の処理ステージの進行状態を示す制御情報、を記憶する記憶手段と、
前記記憶手段に記憶されている前記制御情報と、前記復号化処理における前記複数の処理単位データの間の依存関係と前記複数の処理ステージの間の依存関係とに基づいて、並列に、実行可能な処理単位データに対応する実行可能な処理ステージを、少なくとも一つのプロセッサに対して割り当てる制御手段と、
前記実行可能な処理単位データに対して前記実行可能な処理ステージを並列に実行する復号処理手段と
を具備する並列復号装置。
【請求項２】
請求項１記載の並列復号装置において、
複数のプロセッサをさらに具備し、
前記制御手段と前記復号処理手段は、前記複数のプロセッサによって実現される
ことを特徴とする並列復号装置。
【請求項３】
請求項２記載の並列復号装置において、
前記複数のプロセッサのそれぞれにおいて、前記制御手段と前記復号処理手段とが動作することを特徴とする並列復号装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の並列復号装置において、
前記符号化データは、Ｈ．２６４復号化動画像データであり、
前記復号化処理は、Ｈ．２６４規格に準拠している復号化処理である
ことを特徴とする並列復号装置。
【請求項５】
請求項４記載の並列復号装置において、
前記複数の処理ステージは、
ＶＣＬ ＮＡＬのスライスヘッダ解析処理を行う第１ステージと、ＣＡＢＡＣ又はＣＡＶＣＬエントロピー復号処理を行う第２ステージとを含み、
前記制御手段は、
「前記第１ステージの処理が完了したスライスが１つ又は複数存在し、かつ、前記第２ステージの処理対象スライスを処理するために必要な非ＶＣＬ ＮＡＬの解析が完了している場合」に、前記第２ステージを実行可能と判定し、
前記第１ステージの処理が完了し、かつ、必要な非ＶＣＬ ＮＡＬの解析が完了しているスライスのうち、一部のスライスまたは全部のスライスを、前記第２ステージを実行可能なデータと判定する
ことを特徴とする並列復号装置。
【請求項６】
請求項４又は請求項５記載の並列復号装置において、
前記複数の処理ステージは、ＣＡＢＡＣ又はＣＡＶＬＣエントロピー復号処理をマクロブロック単位で行う第２ステージと、動きベクトル予測処理をマクロブロック単位で行う第３ステージとを含み、
前記制御手段は、
「前記第３ステージの処理対象マクロブロックがインター・マクロブロックの場合において、前記インター・マクロブロックに対する前記第３ステージを処理する際に使用する参照先マクロブロックの前記第３ステージの処理結果から定まる情報を必要としており、前記参照先マクロブロックに対する前記第３ステージの処理が完了している場合」に、前記第３ステージを実行可能と判定し、
前記第３ステージが実行可能であると判定したマクロブロックの一部または全部を、前記第３ステージを実行可能なデータと判定する
ことを特徴とする並列復号装置。
【請求項７】
請求項４乃至請求項６のいずれか１項に記載の並列復号装置において、
前記複数の処理ステージは、逆ＤＣＴ処理をマクロブロック単位で行う第２ステージと、動きベクトル予測処理をマクロブロック単位で行う第３ステージと、画面内予測処理又は動き補償／重み付き予測処理をマクロブロック単位で行う第４ステージと、デブロッキング・フィルタ処理を行う第５ステージと含み、
前記制御手段は、
「前記第４ステージの処理対象マクロブロックがイントラ・マクロブロックの場合において、前記イントラ・マクロブロックに対する前記第２ステージの処理が完了しているマクロブロックが存在し、前記イントラ・マクロブロックに対する前記第４ステージを処理する際に使用する近傍マクロブロックに対する前記第４ステージが完了又は不要なイントラ・マクロブロックが存在する場合」、又は、「前記第４ステージの処理対象マクロブロックがインター・マクロブロックの場合において、前記インター・マクロブロックに対する前記第２ステージ及び第３ステージの処理が完了しており、前記第３ステージの処理結果により定まる参照先マクロブロックの前記第５ステージのデブロッキング・フィルタ処理が完了又は不要な前記インター・マクロブロックが存在する場合」に、前記第４ステージを実行可能と判定し、
前記第４ステージが実行可能であると判定したマクロブロックの一部または全部を、前記第４ステージを実行可能なデータと判定する
ことを特徴とする並列復号装置。
【請求項８】
請求項４乃至請求項７のいずれか１項に記載の並列復号装置において、
前記複数の処理ステージは、
デブロッキング・フィルタの境界強度を判定する第３ステージと、画面内予測処理又は動き補償／重み付き予測処理をマクロブロック単位で行う第４ステージと、デブロッキング・フィルタ処理をマクロブロック単位で行う第５ステージとを含み、
前記制御手段は、
「前記第５ステージの処理対象マクロブロックがイントラ・マクロブロックの場合において、前記イントラ・マクロブロックに対する前記第３ステージの処理が完了しており、前記イントラ・マクロブロックに対する前記第４ステージの前記画面内予測処理が完了している、前記イントラ・マクロブロックが存在する場合」、又は、「前記第５ステージの処理対象マクロブロックがインター・マクロブロックの場合において、前記インター・マクロブロックに対する前記第３ステージの処理が完了しており、前記インター・マクロブロックに対する前記第４ステージの動き補償／重み付き予測処理が完了している、前記インター・マクロブロックが存在する場合」であり、かつ、「前記イントラ・マクロブロック又は前記インター・マクロブロックを含むスライスに対応するスライスヘッダ情報のデブロッキング・フィルタ記述子の値が１ではなく、前記イントラ・マクロブロック又は前記インター・マクロブロックの前記第５ステージを処理する際に参照するマクロブロックが存在し、前記参照するマクロブロックに対する前記第５ステージが完了している、前記イントラ・マクロブロック又は前記インター・マクロブロックが存在する場合」に、前記第５ステージを実行可能と判定し、
前記第５ステージが実行可能であると判定したマクロブロックの一部又は全部を、前記第５ステージを実行可能なデータと判定する
ことを特徴とする並列復号装置。
【請求項９】
コンピュータを、
記憶手段に記憶されており、符号化データに含まれている複数の処理単位データについて、復号化処理のための複数の処理ステージの進行状態を示す制御情報と、前記復号化処理における前記複数の処理単位データの間の依存関係と前記複数の処理ステージの間の依存関係とに基づいて、並列に、実行可能な処理単位データに対応する実行可能な処理ステージを、少なくとも一つのプロセッサに対して割り当てる制御手段、
前記少なくとも一つのプロセッサにおいて、前記実行可能な処理単位データに対して前記実行可能な処理ステージを並列に実行する復号処理手段
として機能させるためのプログラム。
【請求項１０】
符号化データの並列復号方法において、
少なくとも一つのプロセッサは、前記符号化データに含まれている複数の処理単位データについて、復号化処理のための複数の処理ステージの進行状態を示す制御情報を、記憶手段に記憶し、
前記少なくとも一つのプロセッサは、前記復号化処理における前記複数の処理単位データの間の依存関係と前記複数の処理ステージの間の依存関係とに基づいて、並列に、実行可能な処理単位データに対応する実行可能な処理ステージを、少なくとも一つのプロセッサに対して割り当て、
前記少なくとも一つのプロセッサは、前記実行可能な処理単位データに対して前記実行可能な処理ステージを並列に実行する
ことを特徴とする並列復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化されたデータの復号化を行う復号装置及びプログラム並びに符号化データの復号方法に関する。
【背景技術】
【０００２】
例えば、Ｈ．２６４などのような動画像圧縮技術は、圧縮効率に優れているが処理負荷が高い。Ｈ．２６４動画像圧縮ツールは、動画像圧縮技術特有の処理の依存関係を持つ。このため、複数のコアプロセッサを具備するコンピュータ上において、Ｈ．２６４符号化動画像データの復号処理を並列に実行することは困難である。
【０００３】
特許文献１（特開２００５−３４１５６７号公報「Ｈ．２６４ビデオデコーダのための構文分析器」）では、Ｈ．２６４符号化動画像データを復号化する際に、復号処理の一部である構文分析回路で実行される構文分析処理と、復号処理の他の部分であるビデオデータプロセッシング装置における処理とを並列に実行するためのＨ．２６４データプロセッシング方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３４１５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の特許文献１では、Ｈ．２６４データプロセッシング方法において、前記構文分析回路と前記ビデオデータプロセッシング装置との間におけるＨ．２６４符号化動画像データの復号処理が並列実行される。
【０００６】
しかしながら、この特許文献１の方法では、複数コアプロセッサを具備するコンピュータ上において、より一層並列化を実現してコンピュータ資源を効率的に使用することは困難である。
【０００７】
本発明は、以上のような実情に鑑みてなされたもので、符号化されたデータに対する復号処理のうち、並列に実行できる処理を増加させて処理効率を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る並列復号装置は、符号化データに含まれている複数の処理単位データについて、復号化処理のための複数の処理ステージの進行状態を示す制御情報、を記憶する記憶手段と、前記記憶手段に記憶されている前記制御情報と、前記復号化処理における前記複数の処理単位データの間の依存関係と前記複数の処理ステージの間の依存関係とに基づいて、並列に、実行可能な処理単位データに対応する実行可能な処理ステージを、少なくとも一つのプロセッサに対して割り当てる制御手段と、前記実行可能な処理単位データに対して前記実行可能な処理ステージを並列に実行する復号処理手段とを具備する。
【０００９】
本発明の第２の態様に係るプログラムは、コンピュータを、記憶手段に記憶されており、符号化データに含まれている複数の処理単位データについて、復号化処理のための複数の処理ステージの進行状態を示す制御情報と、前記復号化処理における前記複数の処理単位データの間の依存関係と前記複数の処理ステージの間の依存関係とに基づいて、並列に、実行可能な処理単位データに対応する実行可能な処理ステージを、少なくとも一つのプロセッサに対して割り当てる制御手段、前記少なくとも一つのプロセッサにおいて、前記実行可能な処理単位データに対して前記実行可能な処理ステージを並列に実行する復号処理手段として機能させる。
【００１０】
本発明の第３の態様に係る符号化データの並列復号方法において、プロセッサは、前記符号化データに含まれている複数の処理単位データについて、復号化処理のための複数の処理ステージの進行状態を示す制御情報を、記憶手段に記憶し、前記プロセッサは、前記復号化処理における前記複数の処理単位データの間の依存関係と前記複数の処理ステージの間の依存関係とに基づいて、並列に、実行可能な処理単位データに対応する実行可能な処理ステージを、少なくとも一つのプロセッサに対して割り当て、前記少なくとも一つのプロセッサにおいて、前記実行可能な処理単位データに対して前記実行可能な処理ステージを並列に実行する。
【発明の効果】
【００１１】
本発明においては、符号化されたデータに対する復号化処理のうち、並列に実行される処理を増加させることができ、処理効率を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態に係る並列復号装置の一例を示すブロック図。
【図２】第１の実施の形態に係る並列復号装置のハードウェア構成の一例を示すブロック図。
【図３】ＭＰＵとＶＰＵの構成の一例を示すブロック図。
【図４】第１の実施の形態に係る並列復号装置のシステム構成によってＨ．２６４並列復号処理が実行される状態の一例を示すブロック図。
【図５】本発明の第２の実施の形態に係る並列復号装置のプログラムにおけるステージＳＴ１〜ＳＴ６と処理階層との関係を示すフローチャート。
【図６】シンタックス処理層の並列処理の進行状態の一例を示すブロック図。
【図７】信号処理層の並列処理の進行状態の一例を示すブロック図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において同一又はほぼ同一の要素には同一の符号を付して説明を省略するか又は簡単に説明し、異なる部分についてのみ詳しく説明する。
【００１４】
（第１の実施の形態）
本実施の形態においては、例えばＨ．２６４規格に準拠している符号化（圧縮）された動画像データを並列に復号化（展開）する並列復号装置について説明する。なお、Ｈ．２６４規格ではない他の規格に準拠している場合であっても同様の観点に基づく処理を適用することで、並列に復号化可能である。
【００１５】
本実施の形態において、並列復号装置は、複数のプロセッサを備えており、Ｈ．２６４符号化データに対する復号処理を実行する。復号処理は、複数のステージに分割される。並列復号装置のステージ制御部は、実行可能なステージを実行可能なプロセッサに割り当てる。このステージ制御部は、複数のステージのそれぞれを、単一のプロセッサ又は複数のプロセッサにまたがって割り当て可能である。複数のステージは、それぞれのステージにおける処理結果を記憶する。ステージ制御部は、それぞれのステージの依存関係と、処理の進行状態とに基づいて、実行可能なステージを選択し、実行可能なステージについて実行可能なデータを決定する。
【００１６】
図１は、本実施の形態に係る並列復号装置（デコード装置）の一例を示すブロック図である。
【００１７】
本実施の形態に係る並列復号装置１は、ステージ制御部２、復号処理部３、記憶装置４を具備する。
【００１８】
記憶装置４には、符号化データ５、制御情報６、中間データ７１〜７ｎ、復号化データ８、プログラム９を記憶する。記憶装置４は、例えば、メインメモリ、ローカルストレージなどを含む。なお、プログラム９は、複数のプログラムから構成されるとしてもよい。ステージ制御部２及び復号処理部３として機能するプログラムは、構成として１つである必要はない。ステージ制御又は各ステージを処理する単位でプログラムが存在してもよい。この場合、プロセッサに備えられているローカルストレージにロードされるプログラムのサイズがコンパクトになり、資源の使用効率を向上させることができる。
【００１９】
符号化データ５は、例えば、Ｈ．２６４規格に基づいて符号化された動画像データである。なお、この符号化データ５は、記憶装置４に記憶されているデータではなく、入力装置から入力されたデータであってもよい。
【００２０】
制御情報６は、符号化データ５に含まれる複数のフレーム、スライス、マクロブロックについて各処理の進行状態を示す情報などを含み、ステージ制御部２による制御に用いられる。制御情報６は、ステージ制御部２によって更新されるとしてもよく、各ステージＳＴ１〜ＳＴ６によって更新させるとしてもよい。
【００２１】
中間データ７１〜７ｎは、復号処理部３による復号処理において生成される各種データである。
【００２２】
復号化データ８は、復号処理部３によって生成された復号化された動画像データである。なお、この復号化データ８は、記憶装置４に記憶されることなく、出力装置から出力されてもよい。
【００２３】
プログラム９は、複数のプロセッサ（コアプロセッサ）に備えられているローカルストレージにロードされ、複数のプロセッサ上で実行される。これにより、並列復号装置１のステージ制御部２及び復号処理部３としての機能が実現される。
【００２４】
並列復号装置１は、符号化データ５を並列に復号化する。
【００２５】
並列復号装置１は、Ｈ．２６４規格で定められた符号化データ５を復号するためのツールに相当する復号処理部３と、復号処理部３を制御するステージ制御部２を具備する。
【００２６】
並列復号装置１は、制御情報６と、復号処理部３に含まれている複数の処理間の依存関係と、符号化データ５に含まれている複数のデータ間の依存関係とに基づいて、実行可能な処理とデータとを選択することで、並列に復号化を実行する。なお、第１の処理の結果に基づいて第２の処理が実行され、第２の処理の結果が第１の処理の結果の影響を受ける場合、第２の処理は第１の処理に依存しているとする。また、第１のデータに対する処理結果に基づいて第２のデータに対する処理が実行され、第２のデータに対する処理結果が第１のデータに対する処理結果の影響を受ける場合、第２のデータは第１のデータに依存しているとする
ステージ制御部２は、複数のステージＳＴ１〜ＳＴ６のそれぞれを、単一のプロセッサ又は複数のプロセッサに割り当てる。ステージ制御部２は、単一のプロセッサ又は複数のプロセッサに、１つ又は複数のステージを割り当て可能である。複数のステージＳＴ１〜ＳＴ６は、それぞれのステージにおける処理結果を複数保持する。
【００２７】
ステージ制御部２は、それぞれのステージＳＴ１〜ＳＴ６の依存関係と、制御情報６の示す処理の進捗状態とに基づいて、実行可能なステージを選択し、実行可能なステージについて実行可能なデータを選択し、処理を実行可能なプロセッサに処理実行を依頼する。
【００２８】
復号処理部３は、Ｈ．２６４規格で定められた処理を、第１ステージＳＴ１と、第２ステージＳＴ２と、第３ステージＳＴ３と、第４ステージＳＴ４と、第５ステージＳＴ５と、第６ステージＳＴ６に分割して実行する。なお、復号処理部３における処理の分割方法及び分割の数は、適宜変更可能である。各ステージ内に含まれる処理部についても、適宜変更可能である。上記図１における復号処理部３のステージ分割及びステージに含まれる処理部の割り当ては一例であり、アーキテクチャの特徴又はチップの構成に基づいて変更可能である。
【００２９】
第１ステージＳＴ１は、シンタックス解析部１０を具備する。
【００３０】
シンタックス解析部１０は、非ＶＣＬ ＮＡＬユニットの解析処理と、ＶＣＬ ＮＡＬユニットのスライスヘッダの解析処理を行う。
【００３１】
第２ステージＳＴ２は、エントロピー復号処理部１１と、逆量子化処理部１２と、逆ＤＣＴ処理部１３を具備する。
【００３２】
エントロピー復号処理部１１は、ＶＣＬ ＮＡＬユニットのスライスヘッダ以降のエントロピー復号処理であるスライスデータのＣＡＢＡＣ(Context-based Adaptive Binary Arithmetic Code)復号処理又はＣＡＶＣＬ(Context-based Adaptive Variable Length Code)復号処理を、マクロブロック単位で行う。
【００３３】
逆量子化処理部１２は、エントロピー復号処理部１１の処理結果により定まる係数に基づいて逆量子化処理を行う。
【００３４】
逆ＤＣＴ処理部１３は、逆量子化処理部１２の処理後に逆ＤＣＴ処理を、マクロブロック単位で行う。
【００３５】
第３ステージＳＴ３は、動きベクトル予測処理部１４と、フィルタ境界強度判定処理部１５を具備する。
【００３６】
動きベクトル予測処理部１４は、第２ステージＳＴ２によって得られた係数に基づいて動きベクトル予測処理を、マクロブロック単位で行う。
【００３７】
フィルタ境界強度判定処理部１５は、デブロッキング・フィルタ処理に必要なフィルタ係数（フィルタ境界強度値）の決定を行う。
【００３８】
第４ステージＳＴ４は、動き補償／重み付き予測処理部１６と、画面内予測処理部１７を具備する。
【００３９】
動き補償／重み付き予測処理部１６は、動きベクトル予測処理部１４の処理結果から定まる値に基づいて動き補償／重み付き予測処理を、マクロブロック単位で実行する。
【００４０】
画面内予測処理部１７は、画面内予測処理を、マクロブロック単位で行う。
【００４１】
第５ステージＳＴ５は、デブロッキング・フィルタ処理部１８を具備する。
【００４２】
デブロッキング・フィルタ処理部１８は、第４ステージＳＴ４までに処理した復号スライスに対して、第３ステージＳＴ３のフィルタ境界強度判定処理部１５で求めたデブロッキング・フィルタのフィルタ境界強度値を用いて、デブロッキング・フィルタ処理をマクロブロック単位で行う。
【００４３】
第６ステージＳＴ６は、復号が完了しているスライスから構成されたピクチャを表示順に出力するピクチャ出力判定処理部を具備する。
【００４４】
図２は、本実施の形態に係る並列復号装置１のハードウェア構成の一例を示すブロック図である。
【００４５】
並列復号装置１は、デジタル動画像処理システムとして動作する情報処理装置又は計算機システムであり、さらに汎用計算機として利用可能である。
【００４６】
並列復号装置１は、符号化データ５／復号化データ８の入出力装置２０１〜２０ｍを備える。
【００４７】
並列復号装置１は、ＭＰＵ(Master Processing Unit)２１と、複数のＶＰＵ（Versatile Processing Unit)２２を含み、ヘテロジニアス・マルチコアで構成される。
【００４８】
並列復号装置１において、ヘテロジニアス・マルチコアと、メインメモリ２３と、入出力制御装置２４とは、接続装置２５によって相互に接続される。なお、ヘテロジニアス・マルチコアとは、異なるアーキテクチャのプロセッサを単一チップで構成されているデバイスをいう。
【００４９】
ＭＰＵ２１は、並列復号装置１の動作を制御するメインプロセッサである。メインメモリ２３などに記憶されているＯＳ（Operating System）は、主にＭＰＵ２１によって実行される。また、ＯＳの一部の機能はＶＰＵ２２又は入出力装置２０〜２０ｍで分担して実行可能である。ＯＳは、ＭＰＵ２１とＶＰＵ２２へプログラム９をロードする機能を持つ。各ＶＰＵ２２は、ＭＰＵ２１の管理の下で処理を実行するプロセッサである。ＭＰＵ２１は、複数のＶＰＵ２２に処理を割り当てて並列に実行させるための制御を行う。
【００５０】
メインメモリ２３は、ＭＰＵ２１、複数のＶＰＵ２２及び入出力装置２０〜２０ｍによって共有される記憶装置である。
【００５１】
入出力制御装置２４には、１以上の入出力装置２０〜２０ｍが接続される。
【００５２】
なお、並列復号装置１において、ＭＰＵ２１を複数備えておりＶＰＵ２２を１つも備えていない、又は、ＭＰＵ２１を１つも備えておらずＶＰＵ２２を複数備えているホモジニアス・マルチコア構成を採用してもよい。また、並列復号装置１において、複数のＭＰＵ２１と複数のＶＰＵ２２を備えているテロジニアス・マルチコア構成を採用してもよい。
【００５３】
図３は、ＭＰＵ２１とＶＰＵ２２の構成の一例を示すブロック図である。
【００５４】
ＭＰＵ２１は、メモリ管理ユニット２１１と処理ユニット２１２を具備する。
【００５５】
メモリ管理ユニット２１１は、仮想記憶管理、メインメモリ２３の不可分アクセス管理、メモリ管理ユニット２１１内のキャッシュメモリの管理をする。
【００５６】
処理ユニット２１２は、メモリ管理ユニット２１１を経由してメインメモリ２３をアクセスし、プログラム処理を実行する。
【００５７】
ＶＰＵ２２は、メモリコントローラ２２１と、ローカルストレージ２２２と、メモリコントローラ２２３を具備する。
【００５８】
メモリコントローラ２２１は、メインメモリ２３の不可分アクセス管理、ローカルストレージ２２２とメインメモリ２３における直接データ転送(DMA：Direct Memory Access)の制御、仮想記憶管理を行う。
【００５９】
ローカルストレージ２２２は、処理ユニット２２３のメモリである。
【００６０】
処理ユニット２２３は、ローカルストレージ２２２に保持するプログラム処理を実行する。また、処理ユニット２２３は、データ読み込みを実行する場合は、メモリコントローラ２２１を通してメインメモリ２３へ読み込みアクセスを行い、ローカルストレージ２２２に読み込みデータを保持する。一方、処理ユニット２２３は、データ書き込みを実行する場合は、メモリコントローラ２２１を通してメインメモリ２３へ書き込みアクセスし、ローカルストレージ２２２のデータを書き込む。
【００６１】
符号化データ５は、連続する複数のピクチャ（フレーム）をH.264規格にしたがって符号化したデータであり、１つのピクチャは複数のスライス(Slice)を含む。
【００６２】
さらに、スライスは、１６×１６ピクセル(Pixel)からなる複数のマクロブロックを含む。
【００６３】
スライスの１つ１つは、スライス情報を示すスライスヘッダ(Slice Header)を備える。
【００６４】
符号化データ５において、ピクチャを構成するスライスは、スライスヘッダと共に符号化される。スライスとスライスヘッダとはスライスデータ(Slice Data)として扱われる。
【００６５】
Ｈ．２６４規格では、スライス動画像の符号化を直接扱う層を、ＶＣＬ(Video Coding Layer)と呼ぶ。
【００６６】
一方、Ｈ．２６４規格では、パラメータセット(ＳＰＳ： Sequence Parameter SetとＰＰＳ： Picture Parameter Set)又はＳＥＩ(Supplemental Enhancement Information)などのＶＣＬと異なる層を、非ＶＣＬと呼ぶ。
【００６７】
Ｈ．２６４規格では、符号化データ５の伝達と蓄積を行う下位システム層と、ＶＣＬ及び非ＶＣＬとの間を繋ぐネットワーク抽象層をＮＡＬ(Network Abstraction Layer)と呼ぶ。さらに、ネットワーク抽象層では、ＶＣＬと非ＶＣＬをそれぞれＶＣＬ ＮＡＬと非ＶＣＬ ＮＡＬと呼ぶ。
【００６８】
図４は、本実施の形態に係る並列復号装置１のシステム構成によってＨ．２６４並列復号処理が実行される状態の一例を示すブロック図である。
【００６９】
複数の並列復号処理部２６は、それぞれ複数のＶＰＵ２２に備えられているローカルストレージ２２２上にロードされる。複数の並列復号処理部２６は、それぞれが、ステージ制御部２と復号処理部３に対応する。
【００７０】
並列復号処理部２６は、ＶＰＵ２２に備えられているローカルストレージ２２２上にロードされることにより、処理ユニット２２３にて実行する。
【００７１】
各ＶＰＵ２２のローカルストレージ２２２上にロードされた複数の並列復号処理部２６は、メインメモリ２３、接続装置２５、又はメインメモリ２３と接続装置２５の両方を用いて、同期しながら処理ユニット２２３で復号処理を実行する。
【００７２】
並列復号処理部２６の実行容量がローカルストレージ２２２の物理容量以上である場合には、並列復号処理部２６は、ステージ制御部２と、復号処理部３とが、各々オーバーレイによりローカルストレージ２２２にロードされ、処理ユニット２２３により実行される。
【００７３】
さらに、復号処理部３については、第１ステージＳＴ１と、第２ステージＳＴ２と、第３ステージＳＴ３と、第４ステージＳＴ４と、第５ステージＳＴ５と、第６ステージＳＴ６が、ローカルストレージ２２２にロードされ、処理ユニット２２３により実行される。本実施の形態においては、各ステージＳＴ１〜ＳＴ６がオーバーレイによりローカルストレージ２２２にロードされるようなプログラム９の構成を適用してもよい。
【００７４】
メインメモリ２３、接続装置２５、又はメインメモリ２３と接続装置２５の両方を用いた同期は、メモリコントローラ２２１を用いたメインメモリ２３への不可分アクセス、又は不可分アクセスと同等のアクセス方法により実行される。
【００７５】
また、同期は、接続装置２５を用いて複数のＶＰＵ２２の間で通信する方法も含む。同期は、並列復号処理部２６において、ステージ制御部２と、ステージ制御部２の被制御部であり復号処理部３を構成する第１ステージＳＴ１と第２ステージＳＴ２と第３ステージＳＴ３と第４ステージＳＴ４と第５ステージＳＴ５と第６ステージＳＴ６の間における同期処理で使用する。
【００７６】
以下に、本実施の形態に係る並列復号装置１のステージＳＴ１〜ＳＴ６の作用について説明する。
【００７７】
第１ステージＳＴ１は、ステージ制御部２により処理を指示されたＶＣＬ ＮＡＬユニットのスライスヘッダの解析結果と、非ＶＣＬ ＮＡＬユニットのパラメータセットを含む解析を実行する。
【００７８】
解析対象となる符号化データ５は、メモリコントローラ２２１を用いて入出力制御装置２４から取得される。また、解析対象となる符号化データ５は、入出力制御装置２１０からメインメモリ２３に転送され、処理ユニット２２３がメモリコントローラ２２１を用いてメインメモリ２３から取得するとしてもよい。
【００７９】
第１ステージＳＴ１における解析結果は、ステージ制御部２に通知される。ステージ制御部２は、第１ステージＳＴ１からの通知情報を取得する。第１ステージＳＴ１又はステージ制御部２は、制御情報６において、スライスの個々と解析結果が関連付けられるように、ＶＣＬ ＮＡＬユニットのスライスヘッダの解析結果及び非ＶＣＬ ＮＡＬユニットの解析結果を複数個管理する。
【００８０】
ＶＣＬ ＮＡＬユニットのスライスヘッダの解析結果及び非ＶＣＬ ＮＡＬユニットのパラメータセットを含む解析結果は、メモリコントローラ２２１を用いてメインメモリ２３の領域に保存される。
【００８１】
ＶＣＬ ＮＡＬユニットのスライスヘッダの解析結果及び非ＶＣＬ ＮＡＬユニットのパラメータセットを含む解析結果の保存先領域は、ローカルストレージ２２２でもよい。
【００８２】
第２ステージＳＴ２は、ステージ制御部２により処理を指示されたスライスに対応するＶＣＬ ＮＡＬユニットのスライスヘッダの第１ステージ１３０による解析結果と、前記非ＶＣＬ ＮＡＬユニットのパラメータセットを含む第１ステージ１３０による解析結果とを、取得する。
【００８３】
また、第２ステージＳＴ２で処理される対象となるスライスの符号化データ５は、メモリコントローラ２２１を用いて入出力制御装置２４から取得される。また、解析対象となる符号化データ５は、入出力制御装置２１０からメインメモリ２３に転送され、処理ユニット２２３がメモリコントローラ２２１を用いてメインメモリ２３から取得するとしてもよい
第２ステージＳＴ２は、処理の進捗状態をマクロブロック毎又は複数のマクロブロック毎にステージ制御部２に通知する。ステージ制御部２は、第２ステージＳＴ２から受けたマクロブロック毎又は複数のマクロブロック毎の処理の進捗状態を制御情報６で管理する。また、第２ステージＳＴ２は、第２ステージＳＴ２の復号処理の結果もステージ制御部２に通知する。
【００８４】
ステージ制御部２は、第２ステージＳＴ２からの通知情報を取得する。第２ステージＳＴ２又はステージ制御部２は、制御情報６において、スライスの個々と第２ステージＳＴ２による復号結果が関連付けられるように、復号結果を複数個管理する。
【００８５】
第２ステージＳＴ２による復号結果は、メモリコントローラ２２１を用いてメインメモリ２３の領域に保存される。また、第２ステージＳＴ２による復号結果の保存領域は、ローカルストレージ２２２としてもよい。
【００８６】
第３ステージＳＴ３は、ステージ制御部２により処理を指示されたスライスに対応するＶＣＬ ＮＡＬユニットのスライスヘッダの第１ステージＳＴ１による解析結果と非ＶＣＬ ＮＡＬユニットのパラメータセットを含む第１ステージＳＴ１による解析結果と第２ステージＳＴ２による復号結果を取得する。
【００８７】
第３ステージＳＴ３は、ステージ制御部２により処理を指示されたスライスに対する実行処理データを処理中に、処理の進捗状態をマクロブロック毎または複数マクロブロック毎にステージ制御部２に通知する。ステージ制御部２は、第３ステージＳＴ３から受けたマクロブロック毎又は複数のマクロブロック毎の処理の進捗状態を制御情報６で管理する。また、第３ステージＳＴ３は、第３ステージＳＴ３の処理結果もステージ制御部２に通知する。ステージ制御部２は、第３ステージＳＴ３からの通知情報を取得する。処理の進捗状態の情報通知又は第３ステージＳＴ３処理結果の情報通知は、第３ステージＳＴ３処理中に定まる動きベクトルの値を含む。
【００８８】
第３ステージＳＴ３又はステージ制御部２は、制御情報６において、スライスの個々と第３ステージＳＴ３による復号結果が関連付けられるように、復号結果を複数個管理する。
【００８９】
第３ステージＳＴ３による復号結果は、メモリコントローラ２２１を用いてメインメモリ２３の領域に保存される。また、第３ステージＳＴ３による復号結果の保存領域は、ローカルストレージ２２２としてもよい。
【００９０】
第４ステージＳＴ４は、ステージ制御部２により処理を指示されたスライスに対応するＶＣＬ ＮＡＬユニットのスライスヘッダの第１ステージＳＴ１による解析結果と非ＶＣＬ ＮＡＬユニットのパラメータセットを含む第１ステージＳＴ１による解析結果と第３ステージＳＴ３による復号結果を取得する。
【００９１】
第４ステージＳＴ４は、ステージ制御部２により処理を指示されたスライスに対する実行処理データを処理中に、処理の進捗状態をマクロブロック毎または複数マクロブロック毎にステージ制御部２に通知する。ステージ制御部２は、第４ステージＳＴ４から受けたマクロブロック毎又は複数のマクロブロック毎の処理の進捗状態を制御情報６で管理する。また、第４ステージ１６０の処理結果もステージ制御部２に通知する。ステージ制御部１１０は、第４ステージからの通知情報を取得する。第４ステージＳＴ４又はステージ制御部２は、制御情報６において、スライスの個々と第４ステージＳＴ４による復号結果が関連付けられるように、復号結果を複数個管理する。
【００９２】
第４ステージＳＴ４による復号結果は、メモリコントローラ２２１を用いてメインメモリ２３の領域に保存される。また、第４ステージＳＴ４による復号結果の保存領域は、ローカルストレージ２２２としてもよい。
【００９３】
第５ステージＳＴ５は、ステージ制御部２により処理を指示されたスライスに対応するＶＣＬ ＮＡＬユニットのスライスヘッダの第１ステージＳＴ１による解析結果と非ＶＣＬ ＮＡＬユニットのパラメータセットを含む第１ステージＳＴ１による解析結果と第４ステージＳＴ４による復号結果を取得する。
【００９４】
第５ステージＳＴ５は、ステージ制御部２により処理を指示されたスライスに対する実行処理データを処理中に、処理の進捗状態をマクロブロック毎または複数マクロブロック毎にステージ制御部２に通知する。ステージ制御部２は、第５ステージＳＴ５から受けたマクロブロック毎又は複数のマクロブロック毎の処理の進捗状態を制御情報６で管理する。また、第５ステージＳＴ５の処理結果もステージ制御部２に通知する。第５ステージＳＴ５又はステージ制御部２は、制御情報６において、スライスの個々と第５ステージＳＴ５による復号結果が関連付けられるように、復号結果を複数個管理する。
【００９５】
第５ステージＳＴ５による復号結果は、メモリコントローラ２２１を用いてメインメモリ２３の領域に保存される。また、第５ステージＳＴ５による復号結果の保存領域は、ローカルストレージ２２２としてもよい。
【００９６】
第６ステージＳＴ６は、ステージ制御部２により処理を指示されたピクチャに対する出力の判定処理を行い、復号化データ８のピクチャを表示順に出力する。
【００９７】
以下に、ステージ制御部２による制御について説明する。
【００９８】
ステージ制御部２が第１ステージＳＴ１の実行可否を判定する場合、ステージ制御部２は、第１ステージＳＴ１の処理が完了していて、かつ第２ステージＳＴ２が未処理であるＶＣＬ ＮＡＬユニットのスライスの数を確認する。そして、ステージ制御部２は、第２ステージＳＴ２が未処理であるスライスの数が枯渇しないように第１ステージＳＴ１の処理を指示する。
【００９９】
ステージ制御部２が第２ステージＳＴ２の実行可否を判定する場合、ステージ制御部２は、第１ステージＳＴ１の処理が１以上のスライスに対して完了しており、かつ、第２ステージＳＴ２の処理対象スライスを処理するために必要な非ＶＣＬ ＮＡＬユニットのパラメータセットが全て解析済みであるスライスが存在するか否かを確認する。そして、ステージ制御部２は、確認の結果、実行可能であると判定されたスライス（第１ステージＳＴ１の処理が完了し、かつ、必要な非ＶＣＬ ＮＡＬの解析が完了しているスライス）のうち１つまたは複数のスライスを実行対象のデータとして選択し、この実行対象のデータを１つまたは複数のＶＰＵ２２で処理することを指示する。
【０１００】
ステージ制御部２が第３ステージＳＴ３の実行可否を判定する第１の判定では、ステージ制御部２は、第２ステージＳＴ２の処理が完了または実行中で、かつ、第３ステージＳＴ３が未処理であるスライスの数を確認する。そして、ステージ制御部１１０は、第２ステージＳＴ２の処理が完了しており、かつ第３ステージＳＴ３が未処理であるスライスの数が枯渇しないように第３ステージＳＴ３の処理を指示する。
【０１０１】
ステージ制御部２が第３ステージＳＴ３の実行可否を判定する第２の判定では、ステージ制御部２は、第２ステージＳＴ２の処理が完了または実行中のスライスに対するステージ制御部２への通知情報である第２ステージＳＴ２の処理状況を確認する。この場合において、ステージ制御部２は、「第２ステージＳＴ２の処理が完了したマクロブロックが存在し、このマクロブロックがイントラ・マクロブロックだった場合」、又は、「第２ステージＳＴ２の処理対象のマクロブロックがインター・マクロブロックの場合において、このインター・マクロブロックに対する第３ステージＳＴ３を処理する際に使用する参照先マクロブロックの第３ステージＳＴ３の処理結果から定まる情報を必要としており、参照先マクロブロックに対する第３ステージＳＴ３の処理が完了している場合」に、ステージ制御部２によって確認されたスライスに対して第３ステージＳＴ３を実行可能であると判定し、このスライスに対する第３ステージＳＴ３の処理を指示する。この場合のステージ制御部２の実行処理データは、ステージ制御部２により第３ステージＳＴ３が実行可能であると判定されたマクロブロックの一部または全部である。ただし、ステージ制御部２は、スライスヘッダの情報におけるdisable_deblocking_filter_idcが１であるスライスに対する第３ステージＳＴ３のフィルタ境界強度判定処理部１５の処理は、不要と判定する。
【０１０２】
ステージ制御部２が第４ステージＳＴ４の実行可否を判定する場合、ステージ制御部２は、第３ステージＳＴ３の処理が完了又は実行中であるスライスが存在するかを確認する。また、ステージ制御部２が第４ステージＳＴ４の実行可否を判定する場合、ステージ制御部２は、第３ステージＳＴ３の処理が完了又は実行中のスライスに対するステージ制御部２への通知情報である第３ステージＳＴ３の処理状況を確認する。この場合において、ステージ制御部２は、「第４ステージＳＴ４の判定対象マクロブロックがイントラ・マクロブロックの場合において、このイントラ・マクロブロックに対する第２ステージＳＴ２の処理が完了しているマクロブロックが存在し、このイントラ・マクロブロックに対する第４ステージ１６０を処理する際に使用する近傍マクロブロックに対する第４ステージＳＴ４の処理が完了または不要なイントラ・マクロブロックが存在する場合」、又は「第４ステージＳＴ４の判定対象マクロブロックがインター・マクロブロックの場合において、このインター・マクロブロックに対する第２ステージＳＴ２及び第３ステージＳＴ３の処理が完了しており、このインター・マクロブロックに対する第３ステージＳＴ３の動きベクトル予測処理部１４の処理が完了しており、第３ステージＳＴ３の動きベクトル予測処理部１４の処理結果により定まる参照先マクロブロックに対する第５ステージＳＴ５のデブロッキング・フィルタ処理部１８の処理が完了又は不要なインター・マクロブロックが存在する場合」、ステージ制御部２によって確認されたスライスに対して、第３ステージＳＴ４を実行可能であると判定し、このスライスに対する第４ステージＳＴ４の処理を指示する。この場合のステージ制御部２の実行処理データは、ステージ制御部２により実行可能であると判定されたマクロブロックの一部または全部であるとする。
【０１０３】
ステージ制御部２が第５ステージＳＴ５の実行可否を判定する場合、ステージ制御部２は、第４ステージＳＴ４の処理が完了又は実行中であるスライスが存在するかを確認する。また、ステージ制御部２が第５ステージＳＴ５の実行可否を判定する場合、ステージ制御部２は、第３ステージＳＴ３の処理が完了又は実行中のスライスに対するステージ制御部２への通知情報である第３ステージＳＴ３の処理状況と、第４ステージＳＴ４の処理が完了又は実行中のスライスに対するステージ制御部２への通知情報である第４ステージＳＴ４の処理状況を確認する。この場合において、ステージ制御部２は、「第５のステージＳＴ５の判定対象マクロブロックがイントラ・マクロブロックの場合において、このイントラ・マクロブロックに対する第３ステージＳＴ３のフィルタ境界強度判定処理部１５の処理が完了しており、このイントラ・マクロブロックに対する第４ステージＳＴ４の画面内予測処理部１７の処理が完了している、イントラ・マクロブロックが存在する場合」又は「第５のステージＳＴ５の判定対象マクロブロックがインター・マクロブロックの場合において、このインター・マクロブロックに対する第３ステージＳＴ３のフィルタ境界強度判定処理部１５の処理が完了しており、このインター・マクロブロックに対する第４ステージＳＴ４の動き補償／重み付き予測処理部１６の処理が完了している、イントラ・マクロブロックが存在する場合」であり、かつ、「イントラ・マクロブロック又はインター・マクロブロックを含むスライスに対応するスライスヘッダ情報のデブロッキング・フィルタ記述子(disable_deblocking_filter_idc)の値が１ではなく、イントラ・マクロブロック又はインター・マクロブロックの第５ステージＳＴ５を処理する場合に参照するマクロブロックが存在し、参照するマクロブロックに対する第５ステージＳＴ５が完了しているイントラ・マクロブロック又はインター・マクロブロックが存在する場合」に、ステージ制御部２によって確認されたスライスに対して第６ステージＳＴ５を実行可能と判定し、このスライスに対する第５ステージＳＴ５の処理を指示する。この場合のステージ制御部２の実行処理データは、ステージ制御部２によって実行可能と判定されたマクロブロックの一部または全部であるとする。ただし、ステージ制御部２は、スライスヘッダの情報におけるdisable_deblocking_filter_idcが１であるスライスに対する第５ステージＳＴ５の処理は不要と判定する。
【０１０４】
ステージ制御部２は、第６ステージＳＴ６について、「判定対象スライスのスライスヘッダの情報におけるdisable_deblocking_filter_idcが１であるスライスに対する第４ステージＳＴ４までの全てのステージが完了している場合」、又は、「判定対象スライスのスライスヘッダの情報におけるdisable_deblocking_filter_idcが１ではないスライスに対する第５ステージＳＴ５までの全てのステージが完了している場合」であり、かつ、「判定対象スライスがピクチャを構成するスライスの終端スライスであった場合」に、終端スライスが構成スライスの一部または全部に属するピクチャの出力判定が可能と判定する。この場合、ステージ制御部２は、ピクチャに対する第６ステージＳＴ６の処理を指示する。
【０１０５】
以上説明した本実施の形態においては、複数のプロセッサを備えた並列復号装置１上で符号化データ５を復号化する場合に、スライス単位で並列に復号処理を行う決定、又は、マクロブロック単位でパイプライン処理を行う決定が、動的に判断される。これにより、
Ｈ．２６４規格の復号化などのように、データ間及び復号処理の間で依存関係のあっても、複数のプロセッサを備えた並列復号装置１上で復号化を並列に行うことができ、プロセッサ資源を効率的に使用することができる。
【０１０６】
なお、本実施の形態においては、Ｈ．２６４規格を適用した場合における復号化について説明しているが、他の方式による符号化データを並列に復号化する場合であっても、同様の観点に基づいて並列に復号化を行う装置を実現することができる。
【０１０７】
（第２の実施の形態）
本実施の形態においては、上記第１の実施の形態に係る並列復号装置１のプログラム（ツール）６の処理階層について説明する。
【０１０８】
図５は、本実施の形態に係る並列復号装置１のプログラム６におけるステージＳＴ１〜ＳＴ６と処理階層との関係を示すフローチャートである。
【０１０９】
シンタックス処理層Ｌ１は、第１ステージＳＴ１及び第２ステージＳＴ２を含む。
【０１１０】
第１ステージＳＴ１は、非ＶＣＬ ＮＡＬユニットの各種パラメータとＶＣＬ ＮＡＬユニットのスライスヘッダの解析処理を行うモジュールである。
【０１１１】
第２ステージＳＴ２は、ＶＣＬ ＮＡＬユニットのスライスヘッダ後のエントロピー復号処理、逆量子化処理、逆ＤＣＴ処理を行うモジュールである。
【０１１２】
信号処理層Ｌ２は、第３ステージＳＴ３、第４ステージＳＴ４、第５ステージＳＴ５を含む。
【０１１３】
第３ステージＳＴ３は、動きベクトル予測処理、デブロッキング・フィルタの境界強度判定処理を行うモジュールである。
【０１１４】
第４ステージＳＴ４は、画面内予測処理と、動きベクトル予測以外の画面間予測処理とを行うモジュールである。
【０１１５】
第５ステージＳＴ５は、フィルタリング強度判定を除くデブロッキング・フィルタ処理を行うモジュールである。
【０１１６】
出力処理層Ｌ３は、第６ステージＳＴ６を含む。
【０１１７】
図６は、シンタックス処理層Ｌ１の並列処理の進行状態の一例を示すブロック図である。
【０１１８】
本実施の形態において、第１ステージＳＴ１は、直列処理を実行する。
【０１１９】
第１ステージＳＴ１は、複数の処理結果（例えば、ＳＰＳ、ＰＰＳ、スライスヘッダ）を記憶する特徴を持つ。これにより、第２ステージＳＴ２の並列処理が可能になる。なお、ＳＰＳ、ＰＰＳ、スライスヘッダの情報は、ステージＳＴ１〜ＳＴ６で使用される。
【０１２０】
第２ステージＳＴ２は、スライスＳＬ１〜ＳＬ７単位で並列処理可能であり、スライス単位で第１ステージＳＴ１と同期する。
【０１２１】
第２ステージＳＴ２は、マクロブロック単位で、第３ステージＳＴ３と同期する。これにより、第２ステージＳＴ２から第３ステージＳＴ３へのパイプライン処理が可能になる。
【０１２２】
図７は、信号処理層Ｌ２の並列処理（パイプライン処理）の進行状態の一例を示すブロック図である。
【０１２３】
本実施の形態においては、第２ステージＳＴ２から第３ステージＳＴ３へのパイプライン処理が可能である。
【０１２４】
第３ステージＳＴ３は、スライスＳＬ１〜ＳＬ７の種別ごと、または、各スライスを構成するマクロブロックの種別ごとの第３ステージＳＴ３内の依存関係を考慮し、並列処理可能である。
【０１２５】
第３ステージＳＴ３は、マクロブロック単位で、第４ステージＳＴ４と同期する。これにより、第３ステージＳＴ３から第４ステージＳＴ４へのパイプライン処理が可能である。なお、例えば、第３ステージＳＴ３は、マクロブロックライン単位でＹの下方向に対する動きベクトルの最大値をステージＳＴ４に通知する。動きベクトル値は、第４ステージにおける画面間予測処理において使用される。動きベクトル値は、必ずしもマクロブロックライン単位で通知される必要はない。ステージ制御部２による管理がマクロブロック単位で行われるプログラム構成の場合には、このマクロブロック単位で動きベクトル値が通知される必要がある。画面内予測処理となるマクロブロックに対しては、そもそも動きベクトル予測値が存在しないため、動きベクトル予測値の通知は行われない。
【０１２６】
第４ステージＳＴ４は、スライスＳＬ１〜ＳＬ７の種別ごと、または、各スライスを構成するマクロブロックの種別ごとの第３ステージＳＴ３と第５ステージＳＴ５との依存関係を考慮し、並列処理可能である。
【０１２７】
第４ステージＳＴ４は、マクロブロック単位で、第５ステージＳＴ５と同期する。これにより、第４ステージＳＴ４から第５ステージＳＴ５へのパイプライン処理が可能である。
【０１２８】
第５ステージＳＴ５は、スライス単位で、第６ステージＳＴ６と同期する。
【０１２９】
本実施の形態においては、Ｈ．２６４符号化データ５に対する復号化を並列に行うことができるため、マルチプロセッサ構造を持つ並列復号装置１の資源（例えばローカルストレージ２２２、メモリコントローラ２２１）を効率的に使用することができる。
【０１３０】
本実施の形態においては、プログラム９の並列処理、プログラム９間のパイプライン処理を実行することができる。
【０１３１】
上記各実施の形態において、並列復号装置１の各構成要素は、自由に組み合わせることができ、自由に分割することができる。例えば、１つのステージ制御部が複数の復号処理部３を制御するとしてもよい。上記各実施の形態に係る並列復号装置２では、マルチプロセス／マルチスレッド構成が適用されるとしてもよい。上述したように、上記各実施の形態において、復号処理をどのようなステージに分割するか、および、どのステージにどの処理を割り当てるかは、アーキテクチャの特徴またはチップの構成に応じて適宜変更可能である。
【０１３２】
上記各実施の形態において、並列復号装置１のプロセッサの数は１以上であればよい。
【産業上の利用可能性】
【０１３３】
本発明は、符号化されたデータを復号化する技術分野に有効である。
【符号の説明】
【０１３４】
１…並列復号装置、２…ステージ制御部、３…復号処理部、４…記憶装置、５…符号化データ、６…制御情報、７１〜７ｎ…中間データ、８…復号化データ、９…プログラム、１０…シンタックス解析部、１１…エントロピー復号処理部、１２…逆量子化処理部、１３…逆ＤＣＴ処理部、１４…動きベクトル予測処理部、１５…フィルタ境界強度判定処理部、１６…動き補償／重み付き予測処理部、１７…画面内予測処理部、１８…デブロッキング・フィルタ処理部、１９…ピクチャ出力判定処理部、２０１〜２０ｎ…入出力装置、２１…ＭＰＵ、２１１…メモリ管理ユニット、２１２，２２３…処理ユニット、２２…ＶＰＵ、２２１…メモリコントローラ、２２２…ローカルストレージ、２３…メインメモリ、２４…入出力制御装置、２５…接続装置、２６…並列復号処理部、ＳＴ１〜ＳＴ６…ステージ、Ｌ１…シンタックス処理層、Ｌ２…信号処理層、Ｌ３…出力処理層、ＳＬ１〜ＳＬ７…スライス。
【図１】
2011066844.tif 000003
【図２】
2011066844.tif 000004
【図３】
2011066844.tif 000005
【図４】
2011066844.tif 000006
【図５】
2011066844.tif 000007
【図６】
2011066844.tif 000008
【図７】
2011066844.tif 000009