(57)【要約】【課題】シーンチェンジ検出を行わずに、セグメントの接続点における画質の劣化を少なくすることが可能な動画像トランスコード装置を提供する。【解決手段】動画像トランスコード装置１は、第１の符号化方式により符号化された第１の符号化動画像データを複数のセグメントSDに時間分割し、時間分割された各セグメントSDと、時系列上で各セグメントの１つ前の各セグメントSDの終端の１GOPのデータとを用いて、各セグメントのデータを復号化し、１つ前の各セグメントの第２の符号化動画像データの終端位置の仮想バッファ情報の予測値を用いて、復号化して得られた各セグメントの動画像データを、第２の符号化方式により符号化する。【選択図】図７
2009272706.tif 000002
【特許請求の範囲】
【請求項１】
第１の符号化方式により符号化された第１の符号化動画像データを複数のセグメントに時間分割するセグメント分割部と、
時間分割された各セグメントのデータと、時系列上で前記各セグメントの１つ前の各セグメントの終端データを含む一部のデータとを用いて、前記各セグメントのデータを復号化する復号化部と、
前記１つ前の各セグメントの第２の符号化動画像データの終端位置の仮想バッファ情報の予測値を用いて、前記復号化部によって復号化して得られた前記各セグメントの動画像データを、前記第２の符号化方式により符号化する符号化部と、
を有することを特徴とする動画像トランスコード装置。
【請求項２】
前記予測値は、復号化された前記一部のデータの動画像データを符号化することによって得られた値であることを特徴とする請求項１に記載の動画像トランスコード装置。
【請求項３】
前記複数のセグメントの全てについて前記符号化部において前記第２の符号化方式により符号化した後に、連続する２つのセグメントの結合位置における、時系列上で先行するセグメントの終端位置と該先行するセグメントに続くセグメントの先頭位置の２つの仮想バッファ情報が所定の条件を満たすか否かをチェックし、前記所定の条件を満たさないときは、前記先行するセグメントの終端位置の仮想バッファ情報を用いて、前記先行するセグメントに続くセグメントについて再度符号化を行う再符号化部を、
有することを特徴とする請求項１または２に記載の動画像トランスコード装置。
【請求項４】
前記各セグメントについて前記符号化部において前記第２の符号化方式により符号化しながら、前記符号化部において符号化された、連続する２つのセグメントの結合位置における、時系列上で先行するセグメントの終端位置と該先行するセグメントに続くセグメントの先頭位置の２つの仮想バッファ情報が所定の条件を満たすか否かをチェックし、前記所定の条件を満たさないときは、前記先行するセグメントの終端位置の仮想バッファ情報を用いて、前記先行するセグメントに続くセグメントについて再度符号化を行う再符号化部を、
有することを特徴とする請求項１または２に記載の動画像トランスコード装置。
【請求項５】
第１の符号化方式により符号化された第１の符号化動画像データを複数のセグメントに時間分割し、
時間分割された各セグメントのデータと、時系列上で前記各セグメントの１つ前の各セグメントの終端データを含む一部のデータとを用いて、前記各セグメントのデータを復号化し、
前記１つ前の各セグメントの第２の符号化動画像データの終端位置の仮想バッファ情報の予測値を用いて、前記復号化して得られた前記各セグメントの動画像データを、前記第２の符号化方式により符号化する、
ことを特徴とする動画像トランスコード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像トランスコード装置およびその方法に関し、特に、ある符号化方式で符号化された連続した動画像信号を複数のセグメントに時間分割し、その分割された複数のセグメントを他の符号化方式の動画像信号にトランスコードする動画像トランスコード装置およびその方法に関する。
【背景技術】
【０００２】
従来より、MPEG-2、MPEG-4、H.264等の動画像符号化国際標準方式に準拠した符号化を、複数のプロセッサあるいは複数のハードウエア装置を用いて並列処理により高速に実現する複数の方法が知られている。
【０００３】
並列処理の方法の一つとして、時間的に連続する複数のフレームを一つのセグメントとして、かつ、その一つのセグメントを一つの処理単位として並列化を行う時間分割方法が知られている。
【０００４】
時間分割方法により並列に符号化を行う場合、分割単位間の依存関係を排除し、分割符号化したデータを接続して連続再生が可能となるように符号化する必要がある。そのために、分割符号化された符号化データは、分割点において、（A）仮想バッファレベルの接続性、（B）フィールド位相の連続性、（C）フレーム間予測の切断、の各条件を満たす必要がある（例えば、特許文献１参照）。
【０００５】
第１の点（A）の仮想バッファレベルの接続性については、分割点において所定の仮想バッファレベルとなるように、時間分割点の始点レベル及び終点付近での発生レートを制御することにより、分割符号化された符号化データを連続的に接続することが可能となる。
【０００６】
第２の点（B）のフィールド位相の連続性についても、分割点の始点及び終点のフィールド位相を予め所定値となるように制御すれば、分割符号化された符号化データを連続的に接続することが可能となる。
【０００７】
第３の点（C）のフレーム間予測の切断を行うために、フレーム間予測を分割単位内に限定し、分割単位を跨ぐフレーム間予測が禁止される。  
但し、フレーム間予測を切断することはフレーム間予測を使用しないことになるので、一般に符号化効率が低下する。しかし、分割単位、すなわち連続して符号化するフレーム数、を大きくすることにより、符号化効率の低下量は十分小さくすることができる。
【０００８】
また、ランダムアクセスが可能な蓄積メディアに記録された動画像信号を並列符号化する場合、時間分割符号化は有効に機能する。例えば、従来のMPEG-2などの符号化方式の画像信号についての時間分割符号化は、各分割符号化単位の終点で、仮想バッファレベル、フィールド位相、フレーム間予測の制御を行うことで、分割符号化された符号化データを接続して連続再生を行うことが可能となる。
【０００９】
一方、H.264など動画像符号化方式で符号化された動画像信号についても、時間分割されたセグメント単位の並列符号化が実現されている。
【００１０】
このような時間分割符号化を、トランスコード処理への時間分割符号化の適用技術が提案されている（例えば、特許文献２参照）。  
トランスコード処理とは、ある符号化方式で符号化されたデータから、別の符号化方式あるいは同じ符号化方式の異なるパラメータへと変換する処理である。上述した提案に係る技術は、分割されたセグメントをシーンチェンジの部分において結合することにより、セグメントの接続点付近における画質の劣化を少なくすることを可能にするものである。
【００１１】
しかし、その提案に係る技術の場合、トランスコード結果としては破棄されてしまう、セグメント間の重複した部分に対しても、デコード処理及びシーンチェンジ検出を行わなければならず、そのための処理に時間が必要となってしまうという問題がある。
【特許文献１】特開平１１−８８８７４号公報
【特許文献２】特開２００５−１７６０６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は、このようなシーンチェンジ検出を行わずに、セグメントの接続点における画質の劣化を少なくすることが可能な動画像トランスコード装置及びその方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一態様によれば、第１の符号化方式により符号化された第１の符号化動画像データを複数のセグメントに時間分割するセグメント分割部と、時間分割された各セグメントのデータと、時系列上で前記各セグメントの１つ前の各セグメントの終端データを含む一部のデータとを用いて、前記各セグメントのデータを復号化する復号化部と、前記１つ前の各セグメントの第２の符号化動画像データの終端位置の仮想バッファ情報の予測値を用いて、前記復号化部によって復号化して得られた前記各セグメントの動画像データを、前記第２の符号化方式により符号化する符号化部と、を有することを特徴とする動画像トランスコード装置を提供することができる。
【発明の効果】
【００１４】
本発明によれば、シーンチェンジ検出を行わずに、セグメントの接続点における画質の劣化を少なくすることが可能な動画像トランスコード装置及びその方法を実現することができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の実施の形態を説明する。  
（装置構成）
まず、図１に基づき、本実施の形態に係わるシステムの構成を説明する。図１は、本実施の形態に係わる動画像トランスコード装置の構成を示す構成図である。
【００１６】
動画像トランスコード装置１は、クライアント装置としての端末装置１１と、サーバ装置としての複数の端末装置とを含む。端末装置（以下、単に端末という）１１と、複数の端末は、LAN、インターネット等のネットワーク１３を介して接続されている。端末１１には、動画像のコンテンツデータを記憶する記憶装置１４が接続されている。
【００１７】
なお、ここでは、動画像トランスコード装置１は、３台のサーバ装置としての端末１２ａ、１２ｂ、１２ｃ（以下、端末１２ａ、１２ｂ、１２ｃを纏めて、あるいはそれぞれを指すときは端末１２という）を有しているが、サーバ装置は、１台あるいは２台でもよいし、あるいは４台以上でもよい。
【００１８】
クライアント装置としての端末１１には、ある符号化方式で符号化された動画像コンテンツデータを記憶する記憶領域１４ａを有する記憶装置１４が接続されている。ユーザが端末１１に所定の操作をすることにより、記憶装置１４から動画像コンテンツデータが読み出され、セグメントデータが複数の端末１２に送信される。各端末１２では、受信したある符号化方式のセグメントデータを、他の符号化方式のセグメントデータに変換して、すなわちトランスコードして、変換されたデータを端末１１へ送信する。端末１１では、各端末１２から受信したトランスコードされたセグメントデータが結合され、記憶装置１４の所定の記憶領域１４ｂに記憶される。
【００１９】
図２は、端末１２の構成の例を示すブロック図である。端末１２は、制御用プロセッシングユニット（以下、CPEと略す）２１と、複数のプロセッシングユニット（以下、PEと略す）２２と、外部とのインターフェース部（以下、I/F部と略す）２３とを含んで構成される。CPE２１と複数のPE２２とI/F部２３は、互いに内部バス２４を介して接続されている。
【００２０】
CPE２１は、内部に、制御部である演算部２１ａと、キャッシュメモリ２１ｂを含む。各PE２２は、演算部２２ａとローカルメモリ２２ｂとを含む。各PE２２は、CPE２１からの依頼に基づいて、I/F２３を介して受信したセグメントデータに対してトランスコード処理を施すプログラムを並列に実行する。CPE２１は、トランスコード処理されたセグメントデータを、I/F２３を介して、端末１１へ送信する。  
なお、端末１１の構成は、端末１２と同様の構成であるので、説明は省略する。
【００２１】
図３は、トランスコード処理の全体の流れを説明するための図である。記憶装置１４の所定の記憶領域１４ａには、上述したように、ある符号化方式により符号化された動画像コンテンツデータ、すなわち符号化動画像データ、が記憶されている。端末１１は、その符号化動画像データを、他の符号化方式のデータに変換するために、符号化動画像データを時間分割して複数のセグメントデータに分割し、各セグメントのトランスコード処理を、複数の端末１２に依頼する。各端末１２では、受信したセグメントデータに対してトランスコード処理を行って、トランスコードされたセグメントデータを、端末１１に送信する。
【００２２】
端末１１は、各端末１２から送信されたトランスコードされたセグメントデータに結合処理を施して、記憶装置１４の所定の記憶領域１４ｂに、他の符号化方式により符号化された動画像コンテンツデータ、すなわち符号化動画像データ、として記憶する。
【００２３】
端末１１は、分割された各セグメントデータのトランスコード処理を、端末１２ａから１２ｃに所定の順番に依頼してもよいし、端末１２ａから１２ｃの中で処理可能な、いわゆる空いている端末に対して依頼するようにしてもよい。
【００２４】
以下、記憶領域１４ａには、MPEG-2のデータが記憶され、MPEG-2のデータをH.264のデータにトランスコードしたデータが記憶領域１４ｂに記憶される場合を例として説明する。
【００２５】
（端末１１における処理）
図４は、端末１１における処理の流れの例を示すフローチャートである。  
端末１１は、まず、トランスコード初期化処理を実行し(ステップS1)、MPEG-2のデータをトランスコードしたときのH.264のデータのビットレートなどの符号化パラメータの設定等を行う。
【００２６】
次に、端末１１は、トランスコードすべき符号化動画像データ全体を、それぞれが連続する複数のフレームから構成される複数のセグメントデータ（以下、単にセグメントともいう）に分割するセグメント分割処理を実行する（ステップS2）。ステップS2の処理が、符号化動画像データを複数のセグメントに時間分割するセグメント分割部を構成する。
【００２７】
図５は、セグメント分割処理の内容を説明するための図である。トランスコードすべき符号化動画像データ全体DDは、データの先頭から所定のデータ量の単位で分割される。
【００２８】
セグメントの分割は、ここでは、GOP構造を単位としてその境界において行われる。しかし、オープンGOP構造の場合は参照するフレームと参照されるフレームとを分断するようにセグメント分割されてしまうため、GOPの先頭のBフレームを復号化することはできないので、後述するように、時間的に直前のセグメントの最後の１GOPが付加されたデータが、端末１２へ送信される。
【００２９】
具体的には、図５に示すように、符号化動画像データ全体DDは、先頭から第１のセグメントSD1、SD2、SD3、SD4、SD5、・・（以下、セグメントデータ全体、あるいは個々のセグメントデータを指すときは、セグメントSDともいう）というように、時間軸に沿って分割される。例えば、１セグメントは、１０GOP（Group Of Pictures）、１００GOP等の単位を有する。
【００３０】
端末１１は、分割された複数のセグメントSDに対するトランスコード処理を、複数の端末１２に対して依頼する依頼処理を行う（ステップS3）。すなわち、端末１１は、各端末１２にセグメントSDを送信して、トランスコード処理を行うように要求する。
【００３１】
この分割されたセグメントSD毎に各端末１２において順次トランスコード処理が行われる。上述したように、端末１２には、複数のPE２２が含まれるので、各セグメントSDに対するトランスコード処理は、並列に行われる。なお、各端末１２にトランスコード処理手段が一つしかない場合は、各セグメントSDのトランスコード処理は、逐次的に行われ、また各端末１２に同一のトランスコード手段が複数ある場合は、複数のセグメントについて、独立かつ並列に行われる。
【００３２】
そして、各端末１２は、受信したMPEG２の各セグメントSDについてのトランスコード処理が終了すると、トランスコード処理されて生成されたH.264の符号化動画像データを送信する。
【００３３】
図４に戻り、端末１１は、全てのセグメントSDについてトランスコードされた符号化動画像データを全て受信したか否かを判定する（ステップS4）。全てのセグメントの符号化動画像データを受信しなければ、ステップS4でNOとなり、処理は何もしない。
【００３４】
全てのセグメントの符号化動画像データを受信すると、ステップS4でYESとなり、端末１１は、最初のセグメントから順番に、連続するセグメント間で、セグメント終端のCPB占有量が、そのセグメントに続く次のセグメントのイニシャルCPB占有量との比較を行い、CPBの連続性のチェックを行う。CPB占有量の比較の方法については、後述する。
【００３５】
すなわち、端末１１は、全てのセグメントの符号化動画像データについて、CPBの連続性が確保できている、すなわちCPBの連続性がOKであるか否かを判定する（ステップS5）。
【００３６】
端末１１は、最初のセグメントSD1と２番目のセグメントSD2の２つのH.264の符号化動画像データとの間で、CPBの連続性のチェックを行い、セグメントSD1とSD2間のCPBの連続性が確保できていれば、次の２つのセグメントSD2とSD3の２つのH.264の符号化動画像データとの間で、CPBの連続性のチェックを行う。セグメントSD2とSD3間のCPBの連続性が確保できていれば、その次の２つのセグメントSD3とSD4の２つのH.264の符号化動画像データとの間で、CPBの連続性のチェックを行う。以下、このようにして、順番に２つのセグメント間のCPBの連続性のチェックを行っていく。
【００３７】
２つのセグメントSD間のCPBの連続性が確保できない場合は、ステップS5でNOとなり、端末１１は、そのCPBの連続性が確保できていないセグメントから再トランスコード処理を実行する（ステップS6）。全てのセグメントについて、CPBの連続性が確保されるまで、再トランスコード処理が実行される。再トランスコード処理については、後述する。ステップS6が、連続する２つの符号化動画像データが所定の条件を満たさないときに、再度符号化を行う再符号化部を構成する。
【００３８】
以上のようにして、端末１１では、連続する２つのセグメント間のCPBの連続性がチェックされ、かつその連続性が確保できるように必要な再トランスコード処理が行われ、途切れなく連続再生が可能な符号化動画像データが生成および出力され、トランスコード処理が終了する。
【００３９】
以上により、連続する符号化動画像データを、複数のセグメントに時間分割し、独立かつ並列にトランスコードすることにより、並列度に応じて高速なトランスコード処理が可能となり、かつ、並列度に依存せずに同一の符号化動画像データを生成することが可能となる。
【００４０】
そして、トランスコードすべき全セグメントの隣り合う２つのセグメント間におけるCPBの連続性が確保されている場合、ステップS5でYESとなり、端末１１は、受信したトランスコードされた全てのセグメントの符号化動画像データを結合する結合処理を行う（ステップS7）。ステップS7が、複数のセグメントにそれぞれ対応する複数の第２の符号化動画像データを結合する結合部を構成する。  
その結合処理された複数のセグメントの符号化動画像データは、H.264の符号化方式で符号化された動画像コンテンツデータとして、記憶領域１４ｂに記憶される。
【００４１】
図５に示すように、符号化動画像データ全体DDは、データの先頭から所定のデータ量の単位で分割されるが、端末１１から端末１２へ送信される送信セグメントデータ（以下、送信セグメントという）SSDは、最初のセグメントSD1を除いて、時間的に先行する、直前の、すなわち一つ前の、セグメントSDの最後の１GOPを付加したデータである。言い換えると、送信セグメントSSDは、時間分割された各セグメントのデータと、時系列上で各セグメントの１つ前の各セグメントの終端データを含む一部のデータとを含むデータである。図５に示すように、各セグメントに対応する送信セグメントSSDにおいて、そのセグメントの時系列上で１つ前のセグメントの終端のデータを含む１GOP分のデータは、１つの前の送信セグメントSSDのデータと一部オーバーラップしている。
【００４２】
これは、セグメントの分割点より前のフレームを参照するフレームが、セグメントSDに含まれる場合に、端末１２においてトランスコード処理における復号化処理において、正常に復号化処理がされなくなるのを防ぐためである。正常に復号化されないデータを、トランスコード処理において符号化されると、異常なフレームが含まれたデータが生成されてしまう。
【００４３】
従って、端末１２へ送信されるデータは、上述した送信セグメントSSDとしている。送信セグメントSSDは、セグメントSDの先頭に、直前のセグメントSDの最後の１GOPをコピーして付加したデータである。１GOPの量のデータには、必ずIフレームが含まれる。よって、セグメントSDのトランスコード処理における復号化処理において、復号化されたデータが、上述したような異常なフレームを含むことはない。
【００４４】
図５に示すように、最初のセグメントデータSD1については、直前のセグメントSDがないので、セグメントSD1がそのまま送信セグメントSSD1となるが、その後のセグメントSDについては、直前のセグメントの最後の１GOPのデータが付加されたデータが、送信セグメントSSDとなっている。  
端末１２は、各セグメントSDについてトランスコードされたセグメントデータTSDを、端末１１へ送信する。
【００４５】
（端末１２における処理）
端末１２における処理について説明する。  
図６は、端末１２におけるトランスコード処理の流れの例を説明するためのフローチャートである。  
端末１２は、トランスコード処理依頼された送信セグメントSSDを受信すると、図６の処理を実行する。まず、簡単に処理の全体について説明する。
【００４６】
端末１２は、受信したセグメントはMPEG2の符号化方式で符号化された符号化動画像データであるので、まず、MPEG2の復号化処理を行う（ステップS11）。ステップS11では、上述したように、直前のセグメントSDの最後の１GOPを用いて、各送信セグメントSSDに対して復号化処理がなされ、セグメントSDの動画像データが生成される。ここでは、直前のセグメントSDの最後の１GOPは、当該セグメントの復号化処理に用いられる。
【００４７】
次に、端末１２は、生成された動画像データに対して、H.264の符号化方式により符号化処理を行う（ステップS12）。
【００４８】
そして、端末１２は、H.264の符号化方式により符号化処理された各セグメントの符号化動画像データを、端末１１に送信するデータ送信処理を行う（ステップS13）。
【００４９】
ところで、H.264の規格では、ビットストリーム中のGOPの先頭に、ビットストリームを受信してから復号化処理を開始するまでの遅延量を表すイニシャルcpbリムーバブルディレイ（initial_cpb_removal_delay）を含むバッファリング期間SEI（Buffering Period SEI）の情報を挿入することが必須となっている。この情報は、H.264の符号化方式により動画像データを符号化するときに必要な情報である。
【００５０】
動画像データを分割しないで符号化する場合、エンコーダ内に存在する符号化ピクチャバッファ（CPB：Coded Picture Buffer、以下、CPBと略す）の占有量からイニシャルcpbリムーバブルディレイを自動的に算出することが可能であり、CPBの連続性も保障される。
【００５１】
しかし、分割された動画像データを符号化する場合、直前のセグメントSDの符号化結果の情報である、直前のセグメントSDのビットストリームの終端位置におけるCPBの占有量、が不明であるため、符号化しようとするビットストリームの先頭におけるイニシャルcpbリムーバブルディレイを自動的に算出することができない。
【００５２】
そのため、分割された動画像データを符号化する場合は、符号化を開始する前に、すべての分割点言い換えると結合位置における、時系列上で後にあるセグメントの最初のイニシャルcpbリムーバブルディレイを決定し、各セグメントの終端位置において制約条件を満たすような制御を行うしかない。その制約条件とは、仮想バッファ情報であるCPBの占有量で考えた場合、分割点において時系列上で先行するセグメントの終端位置のCPB占有量が、その先行するセグメントに続くセグメントのビットストリームの先頭のイニシャルCPB占有量を上回ることである。
【００５３】
各分割点の終端において制約条件を満たすような制御では、各エンコーダは、まず、事前に決められた次の分割点の先頭のイニシャルcpbリムーバブルディレイから目標となる次のイニシャルCPB占有量を算出し、その算出されたイニシャルCPB占有量に基づいて、上記制約条件を満たすように、終端位置におけるCPB占有量をビットレート制御により調整する。
【００５４】
図７は、分割点すなわち結合位置の終端と先頭のCPB占有量を説明するための図である。上記制約条件によって、連続する２つのセグメントのうち先行するセグメントSDのビットストリームBS1のCPB占有量の変化は、一点鎖線G1で示すように、変化するとする。そして、先行するセグメントSDのビットストリームBS1の終端位置におけるCPB占有量P1は、それに続くセグメントSDのビットストリームBS2におけるイニシャルCPB占有量P2以上でなければならない。
【００５５】
各セグメントSDのビットストリームの先頭におけるイニシャルcpbリムーバブルディレイの決め方としては、例えばすべて同じ値とする方法が考えられる。しかし、この方法では、まず、分割されたビットストリーム内の先頭と終端の２つの位置のCPB占有量が同程度に、かつ先頭より終端が大きくなるように制御する必要があるため、柔軟なビットレート制御を行いづらいという問題がある。すなわち、分割されたビットストリーム内のデータが、シーンチェンジ等のために、より多くの符号量が必要な場合であっても、少ない符号量でよいものであっても、同じビットレート制御を行う必要があるために、多くの符号量が必要なデータについて十分な符号量を割り当てられず、画質の劣化を引き起こしてしまう。
【００５６】
そこで、本実施の形態では、連続する２つのセグメントの動画像データにおいて、先行する送信セグメントSSDの先頭にある、その送信セグメントSSDより１つ前の送信セグメントSSDとオーバラップしている1GOPのうち、正常に復号化された1以上のフレームを仮符号化し、その仮符号化されたときの符号量に基づいて、先行するセグメントSDのストリームデータの終端位置のCPB占有量が予測される。
【００５７】
すなわち、端末１２は、ステップS12において、符号化処理を行うときに、先行するセグメントSDのストリームデータの終端位置のCPB占有量を、先行するセグメントの終端データを含む一部のデータを仮に符号化することによって、仮想バッファ情報の予測値として得る。そして、端末１２は、その予測値を用いて、送信セグメントSSDにおいて、１つ前の送信セグメントとオーバラップしていない部分の動画像データの符号化処理を行うようにしたものである。
【００５８】
（仮符号化処理）
図８は、オーバラップしている１GOPについての仮符号化を説明するための図である。図８に示すように、セグメントSDを復号化した結果、ある分割位置あるいは結合位置DPの時間的に先行する前のセグメントSDとそれに続く後のセグメントSDを仮定した場合、後のセグメントSDのビットストリームデータの先頭のイニシャルcpbリムーバブルディレイは、前の１GOPの画像データの中で、正常に復号化されたフレームを仮符号化することによって決定される。
【００５９】
図８に示すように、例えば、前のセグメントの最後の１GOPが、２つのBフレームから始まるとき、最初の２つのBフレームは、正常に復号化できないが、それ以降のフレームについては、正常に復号化される。よって、前のセグメントの最後の１GOPのうち、正常に復号化されたフレームだけを用いて仮符号化が行われる。
【００６０】
その正常に復号化されたフレームを用いて仮にH.264の符号化方式により仮符号化する場合、その仮符号化を開始するときのCPB占有量は、例えば、CPBサイズの３分の１として、仮符号化が行われる。
【００６１】
仮符号化が、その１GOPの最後のフレームまで行われたときのCPB占有量が、２GOP目以降の符号化処理のイニシャルCPB占有量と設定される。そして、そのイニシャルCPB占有量からイニシャルCPBリムーバブルディレイの値を計算し、その計算の結果得られたイニシャルCPBリムーバブルディレイの値を、次のセグメントのイニシャルCPBリムーバブルディレイの値として、ビットストリーム中に設定される。
【００６２】
セグメントのビットストリームBS2のイニシャルCPB占有量を、上述したように予測することにより、セグメントの終端位置におけるCPB占有量が制約条件を満たすように、より柔軟なビットレート制御を行うことができ、ひいては、トランスコードされた画質の向上を図ることができる。
【００６３】
さらに、仮符号化して予測した先行するセグメントの終端位置のCPB占有量の予測値が、予測誤差によって、実際のCPB占有量よりも下回ってしまうことが考えられる。この場合、複数のセグメントのビットストリームを結合したときに、分割位置DPにおける前のセグメントの終端位置でのCPB占有量が後のセグメントのイニシャルCPB占有量を下回ってしまうことになり、CPBの連続性が確保できていない状態となってしまう。
【００６４】
そこで、このような状態を避けるために、本実施の形態では、図４のステップS5において、すべてのセグメントのトランスコードが終わった後に、CPBの連続性のチェックが行われる。具体的には、２番目のセグメントから順に、各セグメントのイニシャルCPB占有量が前のセグメントのCPB占有量を下回っているかをチェックすなわち検査する。もし、あるセグメントのイニシャルCPB占有量が前のセグメントのCPB占有量を上回っていた場合、そのセグメントのトランスコード処理が再度実行される。具体的には、端末１１は、再度、端末１２にトランスコード処理を依頼するが、そのとき、イニシャルCPB占有量として、前のセグメントの終端位置でのCPB占有量が設定される。このように、前のセグメントの終端位置におけるCPB占有量をイニシャルCPB占有量として設定して、トランスコード処理の再実行を依頼して、CPBの連続性の確保が実現される。
【００６５】
なお、CPBの連続性のチェックは、最初のセグメントから順番に行われ、あるセグメントのイニシャルCPB占有量が前のセグメントのCPB占有量を上回っていた場合、そのセグメントについて、再トランスコード処理が実行される。従って、その再トランスコード処理したセグメントについては、前のセグメントとの間で、CPBの連続性は保たれるが、その再トランスコードによって、その再トランスコード処理されたセグメントよりも時間的に後のセグメントについて、CPBの連続性が保たれなくなってしまうこともあり得る。
【００６６】
よって、ステップS5ではNOの場合、ステップS6において、そのセグメントについて再トランスコード処理が行われるが、その処理の結果、再トランスコード処理されて得られたビットストリームのセグメントよりも時間的に後の全てのセグメントについて、ステップS5において、CPBの連続性のチェックが行われる。
【００６７】
そして、結果として、ステップS5において、残りのセグメントについてのチェックにおいてCPBの連続性無しと判定され、複数回、再トランスコード処理が行われる場合もあるが、最終的に、全てのセグメント間で、CPBの連続性が確保されたと判定されると、ステップS7において、結合処理が行われる。
【００６８】
（変形例）
次に、上述した実施の形態の変形例について説明する。  
上述した実施の形態に係るトランスコード装置において、セグメントの結合時にCPB占有量の連続性が確保されているかのチェックは、すべてのセグメントのトランスコードが終わった後で行われているが、これに限定されるものではない。
【００６９】
例えば、すべてのセグメントについてトランスコード処理が終わってなくても、各セグメントについてのトランスコード処理が終わりしだい、先頭のセグメントに対応するビットストリームから順に、チェックを行っても良い。すなわち、各セグメントについての符号化処理を行いながら、先頭のセグメントに対応するビットストリームから順に、チェックを行うようにしても良い。この場合、トランスコードの再実行を行うセグメントが判明した時点で、再実行を行うこともできる。最終的にすべてのセグメント境界である結合位置においてCPB占有量の連続性が確保されていればよく、セグメントのトランスコードの実行および再実行の順序に特に制限はない。
【００７０】
図９は、その変形例に係わるトランスコード装置における端末１１における処理の流れの例を示すフローチャートである。図９の処理は、図４の処理と同じ処理を含むため、同じ処理については、同じ符号を付し、説明は省略する。
【００７１】
端末１１は、各端末１２からトランスコード処理されて生成された各セグメントに対応するH.264のビットストリームデータを受信するので、そのような各セグメントに対応するビットストリームデータを受信したか否かが判定される（ステップS21）。端末１１は、端末１２からセグメントSDのビットストリームを受信すると、ステップS21でYESとなり、受信した最初のセグメントから順番に、連続する２つのセグメント間で、セグメント終端位置のCPB占有量と、そのセグメントに続く次のセグメントのイニシャルCPB占有量との比較を行い、CPBの連続性のチェックを行う。そして、端末１１は、全てのセグメントについて、CPBの連続性が確保できている、すなわちCPBの連続性がOKであるか否かを判定する（ステップS5）。
【００７２】
まだ全てのセグメントについてトランスコード処理が終了しておらず、全ての連続する２つのセグメントSD間のCPBの連続性が確保できない場合は、ステップS5でNOとなり、端末１１は、上述した再トランスコード処理を実行し（ステップS6）、処理は、ステップS21に戻る。
【００７３】
このようにして、端末１１は、受信したトランスコードされた符号化動画像データを全て受信するまでCPBの連続性のチェックを行わないのではなく、トランスコードされた号化動画像データを受信すると、できる比較可能な符号化動画像データからCPBの連続性のチェックを行う。その結果、その連続性が確保されていないビットストリームデータがあれば、すぐにそのビットストリームデータに対応するセグメントから再トランスコード処理を行うので、トランスコード処理を迅速に行うことができる。
【００７４】
以上のように、上述した実施の形態及び変形例に係る動画像トランスコード装置は、時間的に連続する、符号化動画像データを、複数のセグメントに時間分割し、各セグメントを独立して並列にトランスコードすることにより、並列度に応じて高速なトランスコードが可能となり、かつ、並列度に依存せずに、元の符号化方式とは異なる他の符号化動画像データを生成することが可能となる。
【００７５】
そして、動画像トランスコード装置１において、トランスコード処理を行うときに、注目するセグメントSDの時系列上で１つ前のセグメントSDとオーバラップしている1GOPのうち、正常に復号化されたフレームを仮符号化する。そして、その仮符号化されたときの符号量に基づいて、１つ前のセグメントSDのビットストリームデータの終端位置のCPB占有量を予測し、その予測値を次のセグメントのビットストリームデータのイニシャルCPB占有量として設定する。
【００７６】
さらに、予測あるいは推定の誤差によってCPBの連続性を確保できない場合、動画像トランスコード装置１は、CPBの連続性を確保できないセグメントのトランスコード処理を再実行する。
【００７７】
よって、上述した動画像トランスコード装置によれば、CPBの連続性を確保しつつ、柔軟なレート制御を行うことができるため、画質劣化の少ないトランスコード結果を得ることができる。
【００７８】
なお、上述した実施の形態に係るトランスコード装置においては、分割されるセグメント間でオーバラップする部分は1GOPとしているが、これに限定されるものではない。例えば、そのオーバラップする部分は２GOP以上でもよい。オーバラップしていないセグメント部分の先頭が復号化できるフレームが生成できるデータを含むデータが、少なくともそのオーバラップする部分に含まれればよい。従って、その観点によれば、そのようなフレームを生成できるデータを含んでいれば、特にそのオーバラップ部分のデータの量に上限あるいは下限はない。
【００７９】
さらになお、上述した実施の形態に係るトランスコード装置においては、仮符号化処理を行うビットストリームのイニシャルCPB占有量を、CPBサイズの３分の１としているが、これに限定されるものではない。そのイニシャルCPB占有量を大きくすると、CPBの連続性が確保できなくなる確率が高くなると考えられるため、トランスコードの再実行の頻度が高くなる。しかし、一方で、レート制御の柔軟性は向上するため、画質が向上する。従って、イニシャルCPB占有量は、トランスコード処理の再実行のデメリットと画質向上のメリットとのバランスを考慮して適切に設定される。
【００８０】
また、上述した実施の形態に係るトランスコード装置は、入力側のデータとして、MPEG-2のデータを例に説明したが、入力側のデータは、MPEG-2と同様の制約のある他の動画像符号化方式の動画像データでもよく、例えば、PCM符号化のような単純な符号化方式のデータでも適用可能である。
【００８１】
また、上述した実施の形態に係るトランスコード装置は、出力側のデータとして、H.264のデータを例に説明したが、出力データもH.264に限定されるものではなく、H.264と同様の制約のあるほかの動画像符号化方式のデータでも適用可能である。
【００８２】
本明細書における各「部」は、実施の形態の各機能に対応する概念的なもので、必ずしも特定のハードウエアやソフトウエア・ルーチンに１対１には対応しない。従って、本明細書では、実施の形態の各機能を有する仮想的回路ブロック（部）を想定して実施の形態を説明した。また、本実施の形態における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００８３】
また、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部が記録され、あるいは記憶されている。そのプログラムコードがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムコードの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムコードをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明の動画像トランスコード装置を実現することができる。
【００８４】
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態に係わる動画像トランスコード装置の構成を示す構成図である。
【図２】本発明の実施の形態に係わる端末の構成の例を示すブロック図である。
【図３】本発明の実施の形態に係わるトランスコード処理の全体の流れを説明するための図である。
【図４】本発明の実施の形態に係わる端末１１における処理の流れの例を示すフローチャートである。
【図５】本発明の実施の形態に係わるセグメント分割処理の内容を説明するための図である。
【図６】本発明の実施の形態に係わる端末１２におけるトランスコード処理の流れの例を説明するためのフローチャートである。
【図７】本発明の実施の形態に係わる、分割位置の終端と先頭のCPB占有量を説明するための図である。
【図８】本発明の実施の形態に係わる、オーバラップしている１GOPについての仮符号化を説明するための図である。
【図９】本発明の実施の形態の変形例に係わるトランスコード装置における端末１１における処理の流れの例を示すフローチャートである。
【符号の説明】
【００８６】
１  動画像トランスコード装置、１１、１２ａ、１２ｂ、１２ｃ  端末、１３  ネットワーク、１４  記憶装置、１４ａ、１４ｂ  記憶領域、２１  制御用プロセッシングユニット、２１ａ，２２ａ  演算部、２１ｂ  キャッシュメモリ、２２ｂ  ローカルメモリ、２３  インターフェース、２４  内部バス
【図１】
2009272706.tif 000003
【図２】
2009272706.tif 000004
【図３】
2009272706.tif 000005
【図４】
2009272706.tif 000006
【図５】
2009272706.tif 000007
【図６】
2009272706.tif 000008
【図７】
2009272706.tif 000009
【図８】
2009272706.tif 000010
【図９】
2009272706.tif 000011