(57)【要約】【課題】処理効率を低下させることなく、ビットレート変換処理を高精度に行うことができるビットレート変換装置を提供する。【解決手段】ビットレート変換装置であって、ビットレート変換を統括する主プロセッサ１０２と、主プロセッサ１０２からの指示に基づいて処理を行う副プロセッサ１０６と、ビットレート変換に関するデータを保持するメインメモリ１１０とを備え、主プロセッサ１０２は、メインメモリ１１０が保持する動画像データを解析するデータ解析手段と、データ解析手段による解析結果に基づいて、変換処理に利用する解析データを作成する解析データ作成手段とを有し、副プロセッサは、主プロセッサ１０２から取得した解析データを利用して、動画像データの変換処理を行う変換処理手段とを有することを特徴とする。【選択図】        図１
2006086964.tif 000002
【特許請求の範囲】
【請求項１】
符号化された動画像データのビットレート変換装置であって、
ビットレート変換を指示し、当該ビットレート変換を統括する主プロセッサと、
前記主プロセッサからの指示に基づいて、前記ビットレート変換に関する変換処理を行う副プロセッサと、
前記ビットレート変換に関するデータを保持するメインメモリと、
前記メインメモリと前記主プロセッサとの間および前記メインメモリと前記副プロセッサとの間のデータの授受を制御するメモリアクセスコントローラと
を備え、
前記主プロセッサは、
前記メインメモリが保持する前記動画像データを前記メモリアクセスコントローラを介して取得する動画像データ取得手段と、
前記動画像データ取得手段が取得した前記動画像データを解析するデータ解析手段と、
前記データ解析手段による解析結果に基づいて、前記変換処理に利用する解析データを作成する解析データ作成手段と
を有し、
前記副プロセッサは、
前記主プロセッサの前記解析データ作成手段が作成した前記解析データを取得する解析データ取得手段と、
前記解析データ取得手段が取得した前記解析データに基づいて前記動画像データの前記変換処理を行う変換処理手段と
を有することを特徴とするビットレート変換装置。
【請求項２】
前記副プロセッサを複数備え、
前記主プロセッサは、
前記複数の副プロセッサのうち所定の副プロセッサの処理能力に基づいて、前記動画像データのうち、前記所定の副プロセッサが前記変換処理をすべき部分データを特定する部分データ特定手段と、
前記部分データ特定手段が特定した部分データを前記所定の副プロセッサに通知する部分データ通知手段と
をさらに有し、
前記所定の副プロセッサは、前記部分データ通知手段によって通知された前記部分データを取得する部分データ取得手段をさらに有し、
前記変換処理手段は、前記部分データ取得手段が取得した前記部分データの前記変換処理を行うことを特徴とする請求項１に記載のビットレート変換装置。
【請求項３】
前記複数の副プロセッサそれぞれから直接アクセス可能であって、各副プロセッサが利用する複数のローカルメモリをさらに備え、
前記部分データ特定手段は、前記所定の副プロセッサが利用するローカルメモリのメモリ容量に基づいて、前記所定の副プロセッサが変換処理をすべき前記部分データを特定することを特徴とする請求項２に記載のビットレート変換装置。
【請求項４】
前記主プロセッサの前記部分データ特定手段は、前記部分データに分割する分割点に対応するアドレスを特定し、
前記主プロセッサの前記部分データ通知手段は、前記部分データ特定手段が特定したアドレスを前記所定の副プロセッサに通知することを特徴とする請求項２または３に記載のビットレート変換装置。
【請求項５】
前記副プロセッサの前記変換処理手段は、前記変換処理として再量子化を行うことを特徴とする請求項１から４のいずれか一項に記載のビットレート変換装置。
【請求項６】
前記副プロセッサを複数備え、
前記複数の副プロセッサのうち第１の副プロセッサは、前記メインメモリが保持する前記動画像データを取得する動画像データ取得手段をさらに有し、
前記第１の副プロセッサの前記変換処理手段は、前記動画像データ取得手段が取得した前記動画像データに対して、第１の変換処理を行い、
前記複数の副プロセッサのうち第２の副プロセッサは、前記主プロセッサを介して前記第１の副プロセッサから前記第１の変換処理により得られた第１変換情報を取得する第１変換情報を取得する第１変換情報取得手段をさらに有し、
前記第２の副プロセッサの前記変換処理手段は、前記第１変換情報取得手段が取得した前記第１変換情報を利用して、前記第１の変換処理が行われた後で、前記動画像データに対して第２の変換処理を行うことを特徴とする請求項１から４のいずれか一項に記載のビットレート変換装置。
【請求項７】
前記第１の副プロセッサの前記変換処理手段は、前記動画像データ取得手段が取得した前記動画像データに対して、前記第１の変換処理として復号化を行いベースバンド画像を作成し、
前記第２の副プロセッサの前記変換情報取得手段は、前記ベースバンド画像を含む前記第１変換情報を取得し、
前記第２の副プロセッサの前記変換処理手段は、前記第１変換情報取得手段が取得した前記ベースバンド画像に対して、前記第２変換処理として再符号化処理を行うことを特徴とする請求項６に記載のビットレート変換装置。
【請求項８】
前記第１の副プロセッサの前記変換処理手段による復号化の結果に基づいて、前記動画像データを復号化するときに利用する符号量を含む解析データを作成する解析データ作成手段をさらに有し、
前記第２の副プロセッサの前記変換処理手段は、前記第１の副プロセッサの前記解析データ作成手段によって作成された前記解析データに含まれる前記符号量に基づいて、前記ベースバンド画像に対して前記再符号化処理を行うことを特徴とする請求項７に記載のビットレート変換装置。
【請求項９】
前記動画像データは、当該動画像データを符号化するときに利用した符号量を示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる前記符号量を示す情報を抽出し、
前記解析データ作成手段は、前記データ解析手段によって抽出された前記符号量を含む前記解析データを作成し、
前記副プロセッサの前記変換処理手段は、前記解析データ取得手段によって取得された前記解析データに含まれる前記符号量に基づいて、前記動画像データに対して変換処理を行うことを特徴とする請求項１から７のいずれか一項に記載のビットレート変換装置。
【請求項１０】
前記動画像データは、当該動画像データに含まれる各ピクチャを符号化するときに利用すべき符号量を示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各ピクチャを符号化するときに利用する符号量を示す情報を抽出することを特徴とする請求項９に記載のビットレート変換装置。
【請求項１１】
前記動画像データは、当該動画像データに含まれる各スライスを符号化するときに利用すべき符号量を示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各スライスを符号化するときに利用する符号量を示す情報を抽出することを特徴とする請求項９に記載のビットレート変換装置。
【請求項１２】
前記動画像データは、当該動画像データに含まれる各ビデオパケットを符号化するときに利用すべき符号量を示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各ビデオパケットを符号化するときに利用する符号量を示す情報を抽出することを特徴とする請求項９に記載のビットレート変換装置。
【請求項１３】
前記動画像データは、当該動画像データに含まれる各マクロブロックを符号化するときに利用すべき符号量を示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各マクロブロックを符号化するときに利用する符号量を示す情報を抽出することを特徴とする請求項９に記載のビットレート変換装置。
【請求項１４】
前記動画像データは、当該動画像データを符号化するときに利用すべき量子化スケールを示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる前記量子化スケールを示す情報を抽出し、
前記解析データ作成手段は、前記データ解析手段によって抽出された前記量子化スケールを含む前記解析データを作成し、
前記副プロセッサの前記変換処理手段は、前記解析データ取得手段によって取得された前記解析データに含まれる前記量子化スケールに基づいて量子化処理を行うことにより、前記変換処理を行うことを特徴とする請求項１から１３のいずれか一項に記載のビットレート変換装置。
【請求項１５】
前記動画像データは、当該動画像データに含まれる各ピクチャを符号化するときに利用すべき量子化スケールを示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各ピクチャを符号化するときに利用する量子化スケールを示す情報を抽出することを特徴とする請求項１４に記載のビットレート変換装置。
【請求項１６】
前記動画像データは、当該動画像データに含まれる各スライスを符号化するときに利用すべき量子化スケールを示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各スライスを符号化するときに利用する量子化スケールを示す情報を抽出することを特徴とする請求項１４に記載のビットレート変換装置。
【請求項１７】
前記動画像データは、当該動画像データに含まれる各ビデオパケットを符号化するときに利用すべき量子化スケールを示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各ビデオパケットを符号化するときに利用する量子化スケールを示す情報を抽出することを特徴とする請求項１４に記載のビットレート変換装置。
【請求項１８】
前記動画像データは、当該動画像データに含まれる各マクロブロックを符号化するときに利用すべき量子化スケールを示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各マクロブロックを符号化するときに利用する量子化スケールを示す情報を抽出することを特徴とする請求項１４に記載のビットレート変換装置。
【請求項１９】
前記動画像データは、当該動画像データに含まれる各マクロブロックを符号化するときに利用すべき動きベクトルを示す情報を含み、
前記主プロセッサの前記データ解析手段は、前記動画像データに含まれる各マクロブロックを符号化するときに利用する動きベクトルを示す情報を抽出し、
前記解析データ作成手段は、前記データ解析手段によって抽出された前記動きベクトルを含む前記解析データを作成し、
前記副プロセッサの前記変換処理手段は、前記解析データ取得手段によって取得された前記解析データに含まれる前記動きベクトルに基づいて動き補償を行うことを特徴とする請求項１から１７のいずれか一項に記載のビットレート変換装置。
【請求項２０】
前記副プロセッサの前記解析データ取得手段は、前記動画像データのうち、当該副プロセッサにおける前記変換処理が行われていない未処理部分データに対する前記解析データを取得し、
前記副プロセッサの前記変換処理手段は、前記解析データ取得手段が取得した前記未処理部分データに対する前記解析データに基づいて前記変換処理を行うことを特徴とする請求項１から１９のいずれか一項に記載のビットレート変換装置。
【請求項２１】
符号化された動画像データのビットレート変換方法であって、
ビットレート変換を指示し、当該ビットレート変換を統括する主プロセッサが、前記ビットレート変換に関するデータを保持するメインメモリが保持する前記動画像データを解析するデータ解析ステップと、
前記主プロセッサが前記データ解析ステップにおける解析結果に基づいて、前記変換処理に利用する解析データを作成する解析データ作成ステップと、
前記主プロセッサからの指示に基づいて、前記ビットレート変換に関する変換処理を行う副プロセッサが、前記解析データ作成ステップにおいて作成された前記解析データを取得する解析データ取得ステップと、
前記副プロセッサが、前記解析データ取得ステップにおいて取得した前記解析データを利用して、前記動画像データの前記変換処理を行う変換処理ステップと
を有することを特徴とするビットレート変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化された動画像データのビットレート変換を行うビットレート変換装置およびビットレート変換方法に関するものである。
【背景技術】
【０００２】
近年開始された地上波ディジタル放送のＭＰＥＧ−２ストリームはＤＶＤの規格外の高ビットレートで配信されるため、直接ＤＶＤに保存できない。そこで、地上波ディジタル放送を一度ハードディスクに保存した後、ＤＶＤに保存可能なビットレートに落としたり、受信した地上波ディジタル放送のビットレートを直接変換して落としたりする必要がある。
【０００３】
また、はじめは高画質で視聴し、その後消去せずに保存する場合など、画質を落として（ビットレートをさげて）、より多くのコンテンツを保存できるようにするニーズがある。このように、近年ビットレート変換の技術の提供が望まれている。
【０００４】
しかし、ビットレート変換技術は重要な技術ではあるものの、デコーダやエンコーダに比べ需要はまだ多くないため、専用ハードウェアを設計するよりもソフトウェアで実現することが一般的である。
【０００５】
例えば、ソフトウェアでも付加が大きな処理を高速に実行可能なＣＰＵモデルを利用する技術が提案されている（例えば、「特許文献１」参照）。このＣＰＵモデルは、高速なＳＩＭＤ(Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ)プロセッサを複数用意し、それらが協調して処理を実行するものである。
【０００６】
同一のＩＳＡ(Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ａｒｃｈｉｔｅｃｔｕｒｅ)を有する８個の付加処理ユニット(ＡＰＵ)と、ＡＰＵの処理を制御する処理ニット（ＰＵ）と、共用ダイナミックランダムアクセスメモリ(ＤＲＡＭ)とを備え、ＡＰＵがＤＲＡＭを用いてリアルタイムに通信を行い、処理を継続していく。
【０００７】
また、ビットレート変換において、ビットレート制御を行う方法として１パスレート制御と２パスレート制御がある。量子化処理にかかる量子化スケールは、目標とするビットレートに到達するように、可変長符号化処理においてカウントされた発生符号量を用いて計算される。この計算精度をあげるために、例えば、可変長復号化処理において得られる事前の量子化スケールや符号量を用いて計算する場合がある。このように現時刻より過去の情報を用いて、ビットレートの制御を行う制御方法を１パスレート制御という。ビットレート変換に用いられるレート制御としては、上記１パスレート制御が一般的である（例えば、「特許文献２」参照）。
【０００８】
これに対し、ストリーム全体の統計情報、例えば各ピクチャにおける発生符号量や平均量子化スケールなどを解析し、その後ビットレート制御を行う方法を２パスレート制御という。当然、ストリームすべての統計情報を解析しているため、２パスレート制御は１パスレート制御に比べ性能が高く、高画質なレート制御が可能である。
【０００９】
【特許文献１】特開２００２−３５８２８９号公報
【特許文献２】特開２００３−２６４８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
１パスレート制御を行う場合、２パスレート制御と比べてレート制御の精度は低く、適切な量子化スケールを算出できない可能性がある。この場合、ビットレート変換の精度も低下してしまうという問題があった。
【００１１】
本発明は、上記に鑑みてなされたものであって、処理効率を低下させることなく、ビットレート変換処理を高精度に行うことができるビットレート変換装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、符号化された動画像データのビットレート変換装置であって、ビットレート変換を指示し、当該ビットレート変換を統括する主プロセッサと、前記主プロセッサからの指示に基づいて、前記ビットレート変換に関する変換処理を行う副プロセッサと、前記ビットレート変換に関するデータを保持するメインメモリと、前記メインメモリと前記主プロセッサとの間および前記メインメモリと前記副プロセッサとの間のデータの授受を制御するメモリアクセスコントローラとを備え、前記主プロセッサは、前記メインメモリが保持する前記動画像データを前記メモリアクセスコントローラを介して取得する動画像データ取得手段と、前記動画像データ取得手段が取得した前記動画像データを解析するデータ解析手段と、前記データ解析手段による解析結果に基づいて、前記変換処理に利用する解析データを作成する解析データ作成手段とを有し、前記副プロセッサは、前記主プロセッサの前記解析データ作成手段が作成した前記解析データを取得する解析データ取得手段と、前記解析データ取得手段が取得した前記解析データを利用して、前記動画像データの前記変換処理を行う変換処理手段とを有する。
【００１３】
また、本発明の他の例は、符号化された動画像データのビットレート変換方法であって、ビットレート変換を指示し、当該ビットレート変換を統括する主プロセッサが、前記ビットレート変換に関するデータを保持するメインメモリが保持する前記動画像データを解析するデータ解析ステップと、前記主プロセッサが前記データ解析ステップにおける解析結果に基づいて、前記変換処理に利用する解析データを作成する解析データ作成ステップと、前記主プロセッサからの指示に基づいて、前記ビットレート変換に関する変換処理を行う副プロセッサが、前記解析データ作成ステップにおいて作成された前記解析データを取得する解析データ取得ステップと、前記副プロセッサが、前記解析データ取得ステップにおいて取得した前記解析データを利用して、前記動画像データの前記変換処理を行う変換処理ステップとを有することを特徴とする。
【発明の効果】
【００１４】
本発明にかかるビットレート変換装置は、比較的演算量の少ないデータ解析処理を主プロセッサが行い、比較的演算量の大きい再量子化等の変換処理を副プロセッサが行うので、ビットレート変処理の高速化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１５】
以下に、本発明にかかるビットレート変換装置およびビットレート変換方法の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態により本発明が限定されるものではない。
【００１６】
（実施の形態１）
図１は、実施の形態１にかかるビットレート変換装置１０を示す図である。ビットレート変換装置１０は、ＭＰＥＧ−２により符号化された動画像符号化データ３００を再量子化により９．０Ｍｂｐｓから６．０Ｍｂｐｓにビットレート変換し、６．０Ｍｂｐｓの動画像符号化データ３１０を出力する。
【００１７】
なお本実施の形態においては、特にＭＰＥＧ−２の動画像符号化データ３００を対象としているが、これに限定されるものではなく、他の方式で圧縮されたデータに対しても同様にビットレート変換を行うことができる。またビットレートの値に関しても、任意の値で変換可能である。
【００１８】
ビットレート変換装置１０は、処理ユニット（ＰＥ）１００とＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１０とを有している。さらにＰＥ１００は、処理ユニット（ＰＵ）１０２と、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）１０４と、複数の付加処理ユニット（ＡＰＵ）１０６を有している。本実施の形態においては、８個のＡＰＵ、すなわち第１ＡＰＵ１０６ａ，第２ＡＰＵ１０６ｂ・・・，第８ＡＰＵ１０６ｈを有している。
【００１９】
ここで、本実施の形態にかかるＰＵ１０２は、本発明の主プロセッサに相当する。ＡＰＵ１０６は、本発明の副プロセッサに相当する。本実施の形態のＤＲＡＭ１１０は、それぞれ本発明のメインメモリに相当する。本実施の形態のＤＭＡＣ１０４は、本発明のメモリアクセスコントローラに相当する。
【００２０】
ビットレート変換装置１０は、動画像符号化データ、すなわちＭＰＥＧ−２エレメンタリーストリーム（９．０Ｍｂｐｓ）を取得し、ＤＲＡＭ１１０に格納する。ＰＥ１００は、ＤＲＡＭ１１０に格納されているＭＰＥＧ−２ストリームに対して再符号化処理を施しＭＰＥＧ−２ストリームを６．０Ｍｂｐｓに変換する。そして、出力結果、すなわち６．０Ｍｂｐｓの動画像符号化データ３１０をＤＲＡＭ１１０に書き込む。変換後の６．０Ｍｂｐｓの動画像符号化データ３１０は最終的にＤＲＡＭ１１０から読み出されて出力される。
【００２１】
ＰＵ１０２は、ＰＥ１００の全体を統括する。ＤＭＡＣ１０４は、ＤＲＡＭ１１０から動画像符号化データを取得し、ＰＵ１０２またはＡＰＵ１０６に送る。さらにＰＵ１０２およびＡＰＵ１０６から取得したデータをＤＲＡＭ１１０に送る。このように、ＤＭＡＣ１０４は、ＤＲＡＭ１１０とＰＥ１００の間のインターフェースとして機能する。また、各ＡＰＵ１０６は、ＰＵ１０２からの指示により、ビットレート変換に関する処理である変換処理を行う。
【００２２】
また、８個のＡＰＵ１０６は並列処理を行う。すなわち、各ＡＰＵ１０６は、それぞれ動画像符号化データの一部である部分データを割り当てられる。そして、各ＡＰＵ１０６は、部分データに対して同一の変換処理を施す。並列処理については後に詳述する。
【００２３】
図２は、図１に示す第１ＡＰＵ１０６ａの詳細な構成を示すブロック図である。ＡＰＵ１０６ａは、ローカルメモリ１０６０と、レジスタ１０６２と、第１浮動少数点演算ユニット１０６４ａ，第２浮動小数点演算ユニット１０６４ｂ，・・・と、第１整数演算ユニット１０６６ａ，第２整数演算ユニット１０６６ｂ・・・とを有している。
【００２４】
第１ＡＰＵ１０６ａは、複数の浮動小数点演算ユニットおよび複数の整数演算ユニットを有している。第１ＡＰＵ１０６ａは、これらの協働により高速演算を行うことができる。
【００２５】
ローカルメモリ１０６０は、１２８キロバイト程度の比較的小さいＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成されている。ＡＰＵ１０６は、ローカルメモリ１０６０が保持するプログラムおよびデータを利用して動作する。また、ＤＭＡＣ１０４に対してＤＲＡＭ１１０とＡＰＵ１０６の間のデータ転送要求を行う。ＡＰＵ１０６は、ＤＭＡＣ１０４に接続されたＤＲＡＭ１１０を直接アクセスすることはできない。
【００２６】
ＡＰＵ１０６がプログラムを実行する場合、ＰＵ１０２がＤＭＡＣ１０４を制御し、ＤＲＡＭ１１０からＡＰＵ１０６のローカルメモリ１０６０にオブジェクトプログラムと関連するスタックフレームが転送される。次いで、ＰＵ１０２がＡＰＵ１０６にプログラムを実行させる旨のコマンドを発行する。そして、ＡＰＵ１０６は、ＰＵ１０２から発行されたコマンドに基づいて、プログラムの実行を開始する。ＡＰＵ１０６はまた、プログラムの結果をＤＭＡＣ１０４を介してＤＲＡＭ１１０に転送する。ＡＰＵ１０６は、処理が完了するとＰＵ１０２に対し、処理が完了したことを示す割り込みを発生させるように指示する。
【００２７】
なお、図２を参照しつつ第１ＡＰＵ１０６ａの詳細な構成について説明したが、第２ＡＰＵ１０６ｂ〜第８ＡＰＵ１０６ｈの詳細な構成は、第１ＡＰＵ１０６ａの詳細な構成と同様である。
【００２８】
図３は、ＰＵ１０２の機能構成を示すブロック図である。ＰＵ１０２は、動画像符号化データ取得部２００と、シンタックス解析部２０２と、部分データ特定部２０４と、解析データ作成部２０６と、部分データ通知部２０８とを有している。
【００２９】
動画像符号化データ取得部２００は、ＤＭＡＣ１０４を介してＤＲＡＭ１１０に格納されている動画像符号化データを取得する。シンタックス解析部２０２は、動画像符号化データ取得部２００がＤＲＡＭ１１０から取得した動画像符号化データのシンタックス解析を行う。シンタックス解析では、ピクチャコードやスライススタートコード等を検出する。  解析データ作成部２０６は、シンタックス解析部２０２のシンタックス解析の結果を含む解析データを作成する。
【００３０】
部分データ特定部２０４は、第１ＡＰＵ１０６ａ〜第８ＡＰＵ１０６ｈのそれぞれに割り当てるべく、動画像符号化データを、複数の部分データに分割する。具体的には、部分データ特定部２０４は、各ＡＰＵ１０６が有するローカルメモリ１０６０のメモリ容量に応じて、各ＡＰＵ１０６に割り当てるデータ量を決定する。そして、決定したデータ量に応じて動画像符号化データを分割すべき分割点に対応するアドレスを特定する。
【００３１】
例えば、各ＡＰＵ１０６が有するローカルメモリ１０６０のメモリ容量が等しく、かつＡＰＵ１０６の処理能力が等しい場合には、部分データ特定部２０４は、動画像符号化データを８つのＡＰＵ１０６に等しく割り当ててもよい。
【００３２】
また例えば、ローカルメモリ１０６０のメモリ容量が異なる場合には、容量の大きいローカルメモリ１０６０を有するＡＰＵ１０６により多くの部分データを割り当ててもよい。また、処理能力が異なる場合には、処理能力の大きいＡＰＵ１０６により多くの部分データを割り当ててもよい。
【００３３】
部分データ通知部２０８は、部分データ特定部２０４が特定した部分データの分割点のアドレスをＡＰＵ１０６に通知する。
【００３４】
図４は、ＡＰＵ１０６の機能構成を示すブロック図である。ＡＰＵ１０６は、解析データ取得部２１０と、動画像符号化データ取得部２１４と、変換処理部２１６とを有している。
【００３５】
解析データ取得部２１０は、ＰＵ１０２の解析データ作成部２０６が作成した解析データを取得する。動画像符号化データ取得部２１４は、部分データの分割点のアドレスをＤＲＡＭ１１０から取得し、当該部分データをＤＭＡＣ１０４を介してＤＲＡＭ１１０から取得する。
【００３６】
変換処理部２１６は、解析データ取得部２１０が取得した解析データを利用して動画像符号化データ取得部２１４が取得した部分データに対して変換処理を行う。
【００３７】
図５は、変換処理部２１６の変換処理を示すフローチャートである。まず、ＡＰＵ１０６は、ＤＭＡＣ１０４を介して動画像符号化データを取得し、可変長復号化を行う(ステップＳ１１０)。これにより、バイナリデータを復号化する。次に、逆量子化を行い、ＤＣＴ係数を得る(ステップＳ１１２)。
【００３８】
次に、再量子化を行い(ステップＳ１３０)、続いて可変長符号化を行う(ステップＳ１３２)。以上で、ビットレート変換が完了する。
【００３９】
さらに、変換処理部２１６は、解析データ取得部２１０から取得した解析データを利用してレート制御を行う。解析データには、シンタックス解析により得られたピクチャスタートコードやスライススタートコード等の各種スタートコードが含まれている。これらのデータはレート制御に有用な情報である。
【００４０】
例えば、各ピクチャのスタートコードを検出することで、各ピクチャに費やされた符号量を特定することができる。各スライスや各マクロブロックのスタートコードを検出した場合には、同様に各スライスや各マクロブロックに費やされた符号量を特定することができる。
【００４１】
また、スタートコードの位置だけでなくヘッダ情報を解析データとして取得してもよい。例えばマクロブロック単位においては、ヘッダ情報から各マクロブロックの量子化スケールや動きベクトルなどより詳細な情報を得ることができる。
【００４２】
また例えば、レート変換前の量子化スケールが判明している場合には、解析データとして量子化スケールを取得してもよい。量子化スケールが特定できれば、その量子化スケールより大きな値でのみレート変換用のレート制御を行うように制御することができる。すなわち、無駄な符号量増加を減らすことができる。
【００４３】
また例えば、解析データとして符号化に費やした符号量と、そのときの量子化スケールとを取得してもよい。この場合、符号量と量子化スケールに基づいて符号化困難度を算出してもよい。符号化困難度は、次式で示される。
符号化困難度＝符号量×量子化スケール      ・・・（式１）
【００４４】
符号化困難度を用いることにより、符号化が容易なシーン、すなわち符号化困難度が低いシーンにおいては、目標とするビットレートよりも少ない符号を割り当てて処理を行うことができる。また、符号化が困難なシーン、すなわち符号化困難度が高いシーンでは、目標とするビットレートよりも多い符号を割り当てて処理を行うことができる。これにより、高精度な可変ビットレート制御が可能となる。
【００４５】
他の例としては、符号化困難度は、例えばマクロブロックの動きベクトルを解析することにより算出してもよい。動きベクトルにかかる符号量が少ない場合、すなわち各マクロブロックの動きベクトルが一定方向を向いている場合は、動き検出により物体の動きを正しく追えている状態である。したがって、符号化困難度は低いと判断できる。
【００４６】
逆に、動きベクトルにかかる符号量が多い場合、すなわち各マクロブロックの動きベクトルがばらばらな方向を向いている場合は、動き検出により物体の動きを正しく追えていない状態である、したがって、符号化困難度は高いと判断できる。
【００４７】
以上のようにＤＲＡＭ１１０に保持されている符号化データに対するシンタックス解析で得られた解析データを利用することにより、ＡＰＵ１０６は、より高精度なビットレート変換を行うことができる。
【００４８】
本実施の形態のＰＥ１００では、ビットレート変換を効率的に行うためにビットレート変換に関する処理をＰＵ１０２とＡＰＵ１０６とが分担している。具体的には、ビットレート変換のうち演算負荷の比較的小さいＭＰＥＧのシンタックス解析をＰＵ１０２が担当する。ＰＵ１０２は、ＤＭＡＣ１０４を介してＤＲＡＭ１１０に高速アクセス可能である。したがって、大量のＭＰＥＧ−２ストリームのシンタックス解析を効率的に処理することができる。
【００４９】
また、ビットレート変換のうちシンタックス解析以外の処理、すなわち可変長復号化処理(ステップＳ１１０)から可変長符号化処理(ステップＳ１３２)までの処理をＡＰＵ１０６が担当する。再量子化処理(ステップＳ１３０)は、演算負荷が非常に大きい。図２において説明したように、ＡＰＵ１０６は、浮動小数点演算ユニット１０６４および整数演算ユニット１０６６を豊富に有している。したがって、シンタックス解析(ステップＳ１００)以外の変換処理を高速に行うことができる。
【００５０】
図６は、ＡＰＵ１０６ａ〜１０６ｈによる並列処理を模式的に示している。ＰＵ１０２は、各ＡＰＵ１０６が保持するローカルメモリ１０６０の容量に応じて、ＤＲＡＭ１１０から取得したＭＰＥＧ−２ストリーム３００を分割する。そして、各ＡＰＵ１０６に分割されたＭＰＲＧ−２ストリーム３０１，３０２，３０３・・・を割り当てる。すなわち、各ＡＰＵ１０６は、ＭＰＲＧ−２ストリームの一部である部分データ３０１，３０２，３０３・・・に対して、再量子化処理等のビットレート変換にかかる処理を行う。
【００５１】
具体的には、ＰＵ１０２の部分データ特定部２０４は、シンタックス解析部２０２によるシンタックス解析により得られたピクチャスタートコードを取得する。そして、各ピクチャ単位で、動画像符号化データを部分データに分割するためのデータ分割点を特定する。
【００５２】
各ＡＰＵ１０６は、データ分割点に基づいて、ピクチャ単位の部分データ３０１，３０２，３０３・・・を取得する。ＡＰＵ１０６が行う、再量子化処理を含む変換処理では、各ピクチャを独立に処理することが可能である。したがって、このように各動画像符号化データを分割し、各ＡＰＵ１０６に並列処理させることができる。
【００５３】
他の例としては、ＭＰＥＧ−２であれば、ピクチャ単位の分割だけでなく、スライス単位で分割してもよい。スライス単位での処理は、ＡＰＵ１０６が有するローカルメモリ１０６０の容量が小さく、ピクチャ単位では一度にデータをすべて格納できない場合や、敏感にレート制御を行う場合に有効である。また、ピクチャ単位でのデータ分割ではレート制御のフィードバック制御がピクチャ単位となるのに対し、スライス単位でデータを分割した場合には、スライス単位でのフィードバック制御が実現できる。したがって、より高精度なレート制御が実現できる場合がある。
【００５４】
（実施の形態２）
次に、実施の形態２にかかるビットレート変換装置１０について説明する。実施の形態２にかかるビットレート変換装置１０は、再符号化によるビットレート変換処理を行う。
【００５５】
図７は、ＡＰＵ１０６の変換処理部２１６の変換処理を示すフローチャートである。実施の形態２にかかるビットレート変換処理においては、実施の形態１において図５を参照しつつ説明した逆量子化(ステップＳ１１２)が行われると、次に、ＤＣＴ係数に対して、逆離散コサイン変換を行い、残差信号を得る(ステップＳ１１４)。次に、残差信号と、可変長復号化処理(ステップＳ１１０)において得られた動きベクトルに基づいて、動き補償により復号化画像を作成する(ステップＳ１１６)。以上の符号化処理によりベースバンド映像が作成される。
【００５６】
さらに、以下の符号化処理を行う。すなわち、ベースバンド映像に対して、前方向動き検出(ステップＳ１２０)および後方向動き検出(ステップＳ１２２)を順に行う。次に、動き補償を行う(ステップＳ１２４)。次に、動き補償により得られた残差信号に対して離散コサイン変換を行う(ステップＳ１２６)。次に、量子化を行い(ステップＳ１３０)、続いて可変長符号化を行う(ステップＳ１３２)。以上で、ビットレート変換が完了する。
【００５７】
実施の形態２にかかるＰＥ１００のようにビットレート変換に関する処理が比較的多い場合には、動画像データをＡＰＵ１０６に分配するだけでなく、各ＡＰＵ１０６に割り当てる変換処理の種類を異ならせることにより、ビットレート変換をさらに高速に行うことができる。
【００５８】
図８は、ＡＰＵ１０６ａ〜ＡＰＵ１０６ｈによる分担処理を模式的に示している。このように、ビットレート変換処理のうち、復号化にかかる処理を第１ＡＰＵ１０６ａが担当する。さらに、復号化にかかる処理を第２ＡＰＵ１０６ｂおよび第３ＡＰＵ１０６ｃが担当する。このように、処理を分担することにより、効率的にビットレート変換処理を行うことができる。
【００５９】
一般に符号化処理に比べ、復号化処理の負荷は小さい。そこで、実施の形態２においては、１つのＡＰＵ１０６に復号化処理を割り当て、２つのＡＰＵ１０６に符号化処理を割り当てている。
【００６０】
逆に２つのＡＰＵ１０６に復号化処理を割り当て、１つのＡＰＵ１０６に符号化処理を割り当てた場合には、復号化処理のスピードが符号化処理のスピードに比べて速くなる。したがって、復号化を担当している２つのＡＰＵ１０６は、待ち状態になり、非効率的である。
【００６１】
ＡＰＵ１０６は、復号化器または符号化器専用に設けられているものではないので、ＰＵ１０２からの指示によりどちらの機能も果たすことが可能である。そこで、予め各ＡＰＵ１０６に割り当てる処理を設定するのにかえて、各ＡＰＵ１０６の処理状態に応じて、各ＡＰＵ１０６に割り当てる処理を切り替えてもよい。これにより、上述のように非効率的な処理状態に陥った場合であっても、各ＡＰＵ１０６の処理を制御することにより、ビットレート変換処理の効率化を図ることができる。
【００６２】
なお、図６を参照しつつ説明した分担処理は一例であり、各ＡＰＵ１０６に割り当てる符号化器および復号化器の数は任意であってよい。
【００６３】
さらに、高速に大容量メモリ（ＤＲＡＭ１１０）にアクセスが可能なＰＵ１０２がデータ解析を行い、高速に演算処理が可能なＡＰＵ１０６が可変長復号化、逆量子化、逆ＤＣＴおよび動き補償を行うことにより効率的かつ高速に復号化処理を行うことができる。
【００６４】
また、ＰＵ１０２がシンタックスの生成を行い、ＡＰＵ１０６が動き予測、動き補償、ＤＣＴ、量子化、可変長符号化を行うことにより効率的かつ高速な符号化処理を行うことができる。
【００６５】
また、変換処理を符号化処理および復号化処理の２つの処理よりもさらに細分化してもよい。たとえば、変換処理を６つの処理に分割してもよい。すなわち、変換処理は、可変長復号化(ステップＳ１１０)および逆量子化(ステップＳ１１２)を行う第１ステージと、逆離散コサイン変換(ステップＳ１１４)および動き補償(ステップＳ１１６)を行う第２ステージと、前方向動き検出(ステップＳ１２０)を行う第３ステージと、後方向動き検出(ステップＳ１２２)を行う第４ステージと、動き補償(ステップＳ１２４)および離散コサイン変換(ステップＳ１２６)を行う第５ステージと、量子化(ステップＳ１３０)、可変長符号化(ステップＳ１３２)およびレート制御(ステップＳ１３４)を行う第６ステージとに分割されている。
【００６６】
ＡＰＵ１０６による第１ステージの処理の実行中は、ローカルメモリ１０６０は、第１ステージにおいて実行されるプログラム、第１ステージにおける処理の対象となる動画像符号化データおよび参照されるデータ等を保持している。そして、第１ステージにおける処理が完了すると、第１ステージにおいて実行されるプログラム等がＤＭＡＣ１０４を介してＡＰＵ１０６からＤＲＡＭ１１０に退避される。
【００６７】
そして、第２ステージにおいて実効されるプログラム等がＤＭＡＣ１０４を介してＤＲＡＭ１１０からＡＰＵ１０６に書き込まれる。このように、ＤＲＡＭ１１０へのアクセスは、第１ステージから第２ステージへの切り替り、第２ステージから第３ステージへの切り替りなど各ステージの切り替りのタイミングにおいてのみ行われる。
【００６８】
各ステージに含める処理は、ＡＰＵ１０６のローカルメモリ１０６０の大きさ、およびＡＰＵ１０６における演算速度等に基づいて定められている。すなわち、ローカルメモリ１０６０のメモリ容量において保持可能な最大限のデータ量の処理を１つのステージとしている。
【００６９】
復号化処理は、いくつもの複雑な処理を含む。従って、これらの処理をソフトウェアで実現するためのプログラムのデータ量は大きい。また、動き検出や動き補償は、参照画像、対象画像および動き補償画像などデータ量の多いデータを対象とするため大量にメモリを必要とする。また、可変長復号化は可変長復号化テーブルを保持して処理を行うため大量のメモリを必要とする。
【００７０】
これに対して、ローカルメモリ１０６０のメモリ容量は小さいので、符号化処理に利用すべきプログラムおよびデータを一度にローカルメモリ１０６０に保持させることはできない。従って、ＡＰＵ１０６は、必要に応じてプログラムやデータをダイナミックにＤＲＡＭ１１０から取得し、さらにＤＲＡＭ１１０に書き込む必要が生じる。
【００７１】
しかし、ＤＲＡＭ１１０へのアクセスを含む処理は長時間を要し、全体として処理の遅延を招く主な要因となる。そこで、上述のように、ＤＲＡＭ１１０にアクセスする頻度を最小限に留めることにより、ＤＲＡＭ１１０へのアクセスに起因する処理の遅延を避けることができる。
【００７２】
以下、図９から図１３を参照しつつ、各ステージにおけるデータの授受について説明する。
【００７３】
図９は、第１ステージにおけるバイナリデータの流れを示す図である。第１ステージにおいては、まず、ＤＭＡＣ１０４は、ＤＲＡＭ１１０からバイナリデータを取得する。そして、ＤＭＡＣ１０４は、ＰＵ１０２からの指示に基づいて、バイナリデータをスライスを最少単位として各ＡＰＵ１０６に分配する。ここで、スライスとは、動画像を静止画の横方向の１ライン分のことである。なお、バイナリデータの分配については後述する。
【００７４】
各ＡＰＵ１０６は、ＤＭＡＣ１０４から受け取ったバイナリデータに対して可変長復号化(ステップＳ１１０)を行い、ローカルメモリ１０６０は、可変長復号化によって得られ量子化ＤＣＴ係数を保持する。さらに、ローカルメモリ１０６０が保持する量子化ＤＣＴ係数に対して逆量子化(ステップＳ１１２)を行う。そして、逆量子化により得られた結果、すなわちＤＣＴ係数をＤＭＡＣ１０４を介してＤＲＡＭ１１０に書き戻す。
【００７５】
可変長復号化(ステップＳ１１０)においては可変長復号化用テーブルを参照する。このテーブルのデータ容量は大きく、ローカルメモリ１０６０をほぼ占有する。一方、逆量子化(ステップＳ１１２)のプログラムおよびこれに必要なデータ量は小さい。そこで、逆量子化は、可変長復号化と同じステージに含めることができる。そこで、これらをまとめて１つのステージとしている。
【００７６】
図１０は、第２ステージにおけるバイナリデータの流れを示す図である。第２ステージにおいては、まず、ＡＰＵ１０６は、ＤＭＡＣ１０４を介してＤＲＡＭ１１０より、第１ステージにおいて得られたＤＣＴ係数を取得する。そして、ＡＰＵ１０６は、ＤＣＴ係数に対して逆離散コサイン変換(ステップＳ１１４)を行い、ローカルメモリ１０６０は、逆離散コサイン変換により得られた残差信号を保持する。さらに、ＡＰＵ１０６は、ＤＲＡＭ１１０より動きベクトルおよび参照となるデコード画像を取得し、ローカルメモリ１０６０が保持する残差信号と合わせて動き補償(ステップＳ１１６)を行う。そして、作成されたデコード画像をＤＭＡＣ１０４を介してＤＲＡＭ１１０に書き込む。
【００７７】
逆離散コサイン変換(ステップＳ１１４)および動き補償(ステップＳ１１６)における処理対象となるデコード画像や残差信号は、各マクロブロックの復号化モードによって必要がないためエンコーダに比べ、処理に必要なデータ量は少ない。そこで、これらの処理をまとめて１つのステージとしている。
【００７８】
図１１は、第３ステージにおける動画像データの流れを示す図である。第３ステージにおいて各ＡＰＵ１０６は、ＤＭＡＣ１０４を介してＤＲＡＭ１１０から動画像データのローカルデコードを取得する。そして、前方向動き検出(ステップＳ１２０)を行う。そして、前方向動き検出(ステップＳ１２０)によって得られた動きベクトルは、ＤＭＡＣ１０４を介してＤＲＡＭ１１０に書き戻される。
【００７９】
第４ステージにおける処理は、図１０を参照しつつ説明した第２ステージにおける動画像データの流れと同様である。
【００８０】
図１２は、第５ステージにおける動画像データの流れを示す図である。第５ステージにおいては、各ＡＰＵ１０６は、ＤＭＡＣ１０４を介してＤＲＡＭ１１０から動画像データおよびローカルデコード画像、および動きベクトルを取得する。ＡＰＵ１０６は、取得した動画像データに対して動き補償を行い、ローカルメモリ１０６０は、動き補償により得られた残差信号を保持する。さらに、ローカルメモリ１０６０が保持する残差信号に対して逆離散コサイン変換処理(ステップＳ１２６)を行う。ＤＣＴ処理により得られた結果、すなわちＤＣＴ係数をＤＲＡＭ１１０に書き戻す。
【００８１】
動き補償（Ｓ１２４）においては、動画像データ、ローカルデコード画像、動きベクトル、および残差信号を対象とする。これらの処理対象のデータのデータ容量は大きく、ローカルメモリ１０６０の容量の多くを占有する。一方、逆離散コサイン変換処理(ステップＳ１２６)は動き補償（Ｓ１２４）において確保されたデータ領域を逆離散コサイン変換処理(ステップＳ１２６)の後のＤＣＴ係数の保存先としても利用することができる。また、逆離散コサイン変換処理(ステップＳ１２６)のプログラム自体は小さい。そこでこれらの処理をまとめて１つのステージとしている。
【００８２】
図１３は、第６ステージにおける動画像データの流れを示す図である。第６ステージにおいては、各ＡＰＵ１０６は、ＤＭＡＣ１０４を介してＤＲＡＭ１１０からＤＣＴ係数を取得する。ＡＰＵ１０６は、取得したＤＣＴ係数に対して、再量子化(ステップＳ１３０）を行う。ローカルメモリ１０６０は、量子化後のＤＣＴ係数を保持する。
【００８３】
また、各ＡＰＵ１０６は、ＤＭＡＣ１０４を介してＤＲＡＭ１１０から動きベクトルを取得する。そして、ＡＰＵ１０６は、動きベクトルとローカルメモリ１０６０が保持する量子化後のＤＣＴ係数とに対して、それぞれ可変長符号化(ステップＳ１３２)を行う。
【００８４】
再量子化(ステップＳ１３０）および可変長符号化(ステップＳ１３２)は、いずれもプログラム量、データ容量とも小さい。ただし、可変長符号化(ステップＳ１３２)において利用されるテーブルのデータ量が比較的大きい。そこで、これら処理をまとめて１つのステージとする。
【００８５】
図１４は、各ＡＰＵ１０６への処理の割り当てを説明するための図である。図１４に示すように、ＡＰＵ１０６にはタイミングを制御するタイムバジェットが設定されている。そして、各ＡＰＵ１０６は、同一のタイムバジェットにおいて異なるスライスに対して同一の処理を施す。ここで、スライスとは、動画像を構成する静止画の横方向の１ライン分のことである。
【００８６】
例えば、第１ＡＰＵ１０６ａには、スライス１に対する処理が割り当てられている、また、第２ＡＰＵ１０６ｂには、スライス２に対する処理が割り当てられている。このように、複数のＡＰＵ１０６が１つの動画像データに対する処理を分担することにより並列処理を行う。
【００８７】
例えば第１ステージでは、第１ＡＰＵ１０６ａは、スライス１に対して可変長復号化および逆量子化を行う。そして、可変長復号化および逆処理が行われた後のスライス１をＤＲＡＭ１１０に書き戻す。また、第２ＡＰＵ１０６ｂは、スライス２に対して可変長復号化および逆量子化を行う。そして、可変長復号化および逆量子化が行われた後のスライス２をＤＲＡＭ１１０に書き戻す。同様に、各ＡＰＵ１０６が可変長復号化および逆量子化を行い、その結果をそれぞれＤＲＡＭ１１０に書き戻す。
【００８８】
以上のように、複数のＡＰＵ１０６がスライス単位で処理を分担することにより、処理の高速化を図ることができる。
【００８９】
また、スライスの数がＡＰＵ１０６の数よりも多い場合には、１つの付加処理ユニットに複数のスライスを割り当ててもよい。例えば、第１ＡＰＵ１０６ａにスライス１〜スライス３が割り当てられ、第２ＡＰＵ１０６ｂにスライス４〜スライス６が割り当てられる。
【００９０】
さらに、第１ＡＰＵ１０６ａが第１ステージの処理を完了したときに、第２ＡＰＵ１０６ｂが第１ステージの処理を完了していない場合がある。例えば、第１ＡＰＵ１０６ａが第１ステージの処理を完了したときに、第２ＡＰＵ１０６ｂがスライス４に対する処理を行っている場合がある。例えば、同一のスライスであっても、処理に要する演算量が異なる場合などである。
【００９１】
この場合には、第２ＡＰＵ１０６ｂがスライス４を処理する間に、第１ＡＰＵ１０６ａは、スライス６に対する処理を行う。これにより、第２ＡＰＵ１０６ｂがスライス４〜スライス６に対する処理を行う場合に比べて、処理を高速化することができる。このように、各ＡＰＵ１０６における処理速度が異なる場合には、スライスを再配分することにより、さらなる処理の高速化を図ることができる。
【００９２】
なお、本実施の形態においては、スライス単位で動画像データが各ＡＰＵ１０６に割り当てられているが、各ＡＰＵ１０６への動画像データの割り当ての単位はこれに限定されるものではなく、これ以外の単位でもよい。例えば、スライスを構成するさらに細かい単位であるマクロブロック単位で、動画像データが各ＡＰＵ１０６に割り当てられてもよい。
【００９３】
図１５は、ＡＰＵ１０６がそれぞれ異なる処理を担当する場合の各ＡＰＵ１０６の処理を説明するための図である。図１５に示すように各ＡＰＵ１０６がそれぞれ異なる処理を担当することとすると、第１ＡＰＵ１０６ａがスライス１に対し第１ステージの処理を行っている間は、第２ＡＰＵ１０６ｂは、スライス１に対し第２ステージの処理を行えず、スタンバイ状態となる。このように、複数のＡＰＵ１０６が異なる処理を行うこととすると、一のＡＰＵ１０６における処理が完了するまで他のＡＰＵ１０６は処理を開始できない場合があり効率が悪い。複数のＡＰＵ１０６が異なる処理を担当することとすると、複数のＡＰＵ１０６による並列処理を行っているにもかかわらず、十分な処理の効率化を図ることができない。
【００９４】
そこで、図１４を参照しつつ説明したように、各ＡＰＵ１０６は、それぞれ異なるスライスに対して同一の処理を行うこととした。これにより、図１４を参照しつつ説明したような各ＡＰＵ１０６におけるスタンバイ状態の頻出を避けることができ、処理の効率化を図ることができる。
【００９５】
なお、実施の形態２にかかるビットレート変換装置１０の構成および処理は、実施の形態１にかかるビットレート変換装置１０の構成および処理と同様である。
【００９６】
実施の形態２にかかるビットレート変換装置１０においても、実施の形態１にかかるビットレート変換装置１０と同様に、ＰＵ１０２から取得した解析データを利用してレート制御を行う。
【００９７】
実施の形態２にかかるビットレート変換装置１０においては、第１ＡＰＵ１０６ａにおいて各ピクチャ、スライスなどの符号量を特定することができる。そこで、第１ＡＰＵ１０６ａは、特定した符号量を含む解析データを作成する。そして、第２ＡＰＵ１０６ｂおよび第３ＡＰＵ１０６ｃは、第１ＡＰＵ１０６ａにおいて作成された解析データを利用してレート制御を行ってもよい。具体的には、第２ＡＰＵ１０６ｂおよび第３ＡＰＵ１０６ｃは、ＤＭＡＣ１０４等を介して解析データを取得する。
【００９８】
（実施の形態３）
次に実施の形態３にかかるビットレート変換装置１０について説明する。図１６は、実施の形態３にかかるビットレート変換装置１０の処理を模式的に示している。実施の形態３にかかる各ＡＰＵ１０６１０６ａ〜１０６ｈは、動画像符号化データ３００のうち、ＡＰＵ１０６による処理がまだ行われていない部分データに対する解析データ４２０を取得し、解析データ４２０に基づいて部分データの変換処理を行う。
【００９９】
ＰＵ１０２のシンタックス解析はＡＰＵ１０６が行う変換処理に比べ、演算処理がほとんどなく高速処理が可能である。したがって、動画像符号化データ３００に対するＰＵ１０２の処理位置がＡＰＵ１０６の処理位置に比べて十分に先に進むことが可能である。そこで、図１６に示すように、動画像符号化データ３００に対するＰＵ１０２のシンタックス解析が、動画像符号化データ３００に対するＡＰＵ１０６のビットレート変換処理の位置よりも先に進んだ場合には、ＡＰＵ１０６は、事前に動画像符号化データのうち、ＡＰＵ１０６による処理が行われていない部分データに対する解析データ４２０を取得することができる。
【０１００】
このように、ビットレート変換の処理対象となっている位置よりも先の位置のデータにかかる解析データを利用して、レート制御を行うことにより、精度を向上させることがでる。さらに、先に進めば進むほどレート制御に用いる解析データをより多く取得することができる。これにより２パスレート制御と同様な処理が可能となり、より高画質なビットレート変換を行うことができる。
【０１０１】
特にＰＵ１０２のシンタックス解析の処理スピードを上げるために、例えば、シンタックス解析部２０２はピクチャスタートコードのみを検出することとしてもよい。これにより、ＡＰＵ１０６による変換処理の位置よりも大きく先に進むことができる。
【０１０２】
ピクチャスタートコードの検出のみの場合は、各ピクチャに割り当てられた符号量は取得できるが、スライス、あるいはマクロブロック単位の情報は得られない。しかし、各ピクチャにかかる符号量は、可変ビットレート制御を行ううえでは非常に重要な情報であるため、ピクチャスタートコードのみを利用した場合には、ビットレート変換を高速化することができる。
【０１０３】
なお、実施の形態３にかかるビットレート変換装置１０の構成および処理は、実施の形態１にかかるビットレート変換装置１０の構成および処理と同様である。
【０１０４】
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
【図面の簡単な説明】
【０１０５】
【図１】実施の形態１にかかるビットレート変換装置１０を示す図である。
【図２】第１ＡＰＵ１０６ａの詳細な構成を示すブロック図である。
【図３】ＰＵ１０２の機能構成を示すブロック図である。
【図４】ＡＰＵ１０６の機能構成を示すブロック図である。
【図５】変換処理部２１６の変換処理を示すフローチャートである。
【図６】ＡＰＵ１０６ａ〜１０６ｈによる並列処理を模式的に示す図である。
【図７】ＡＰＵ１０６の変換処理部２１６の変換処理を示すフローチャートである。
【図８】ＡＰＵ１０６ａ〜ＡＰＵ１０６ｈによる分担処理を模式的に示す図である。
【図９】第１ステージにおけるバイナリデータの流れを示す図である。
【図１０】第２ステージにおけるバイナリデータの流れを示す図である。
【図１１】第３ステージにおける動画像データの流れを示す図である。
【図１２】第５ステージにおける動画像データの流れを示す図である。
【図１３】第６ステージにおける動画像データの流れを示す図である。
【図１４】各ＡＰＵ１０６への処理の割り当てを説明するための図である。
【図１５】ＡＰＵ１０６がそれぞれ異なる処理を担当する場合の各ＡＰＵ１０６の処理を説明するための図である。
【図１６】実施の形態３にかかるビットレート変換装置１０の処理を模式的に示す図である。
【符号の説明】
【０１０６】
１０  ビットレート変換装置
１００  プロセッサエレメント
１０２  処理ユニット
１０４  ＤＭＡＣ
１０６  付加処理ユニット
２００  動画像符号化データ取得部
２０２  シンタックス解析部
２０４  部分データ特定部
２０６  解析データ作成部
２０８  部分データ通知部
２１０  解析データ取得部
２１４  動画像符号化データ取得部
２１６  変換処理部
１０６０  ローカルメモリ
１０６２  レジスタ
１０６４  浮動小数点演算ユニット
１０６６  整数演算ユニット
【図１】
2006086964.tif 000003
【図２】
2006086964.tif 000004
【図３】
2006086964.tif 000005
【図４】
2006086964.tif 000006
【図５】
2006086964.tif 000007
【図６】
2006086964.tif 000008
【図７】
2006086964.tif 000009
【図８】
2006086964.tif 000010
【図９】
2006086964.tif 000011
【図１０】
2006086964.tif 000012
【図１１】
2006086964.tif 000013
【図１２】
2006086964.tif 000014
【図１３】
2006086964.tif 000015
【図１４】
2006086964.tif 000016
【図１５】
2006086964.tif 000017
【図１６】
2006086964.tif 000018