説明

情報処理装置および方法、並びにプログラム

【課題】 画像と音声との同期を維持したまま、より簡単に、より迅速に、画像データおよび音声データを削除する。
【解決手段】 入力バッファ92は、入力された画像データおよび音声データをそれぞれ先入れ先出しするように記憶する。削除部126は、入力バッファ92に記憶されている画像データおよび音声データのうち、GOP毎に画像データを削除するとともに、削除される画像データの表示タイムスタンプで示される、最も早い時刻である第1の時刻以前の時刻であって、最も近い時刻を示す音声出力タイムスタンプが付加されている音声データから、削除される画像データの次の画像データに付加された表示タイムスタンプで示される時刻以後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除する。本発明はトランスコーダに適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、ストリームとしての画像データおよび音声データを処理する情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
画像を表示するとともに、これに同期する音声を出力するための画像データおよび音声データがいわゆるストリームとして利用されることが多くなってきた。
【0003】
従来、コンテンツ対応の属性情報であるメタ情報を構成するプロパティ情報にサーバの保有するオリジナルコンテンツのデータ態様情報、例えばファイルフォーマット情報、符号化データ態様としてのコーデック情報、解像度の各情報を格納し、クライアントからのコンテンツ情報取得要求の受領に基づいて、これらのオリジナルコンテンツのデータ態様情報を含むコンテンツ情報を生成し、クライアントに対して送信するようにしているものもある(例えば、特許文献1参照)。
【0004】
さらに、単位時間あたりに伝送されるデータ量をより少なくするため、ストリームとして供給された画像データおよび音声データの符号化の方式を、他の方式に変換(トランスコード)する技術も利用されるようになってきた。
【0005】
【特許文献1】特開2004−234111号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ストリームとして供給された画像データおよび音声データのトランスコードの処理が、何らかの理由で間に合わなくなってしまった場合、供給された画像データおよび音声データを受ける側でオーバーフローが生じてしまうことになる。また、トランスコードした結果であるストリームを伝送するネットワークに遅延または障害が発生するなど、トランスコードされた画像データおよび音声データを伝送する側の理由で、トランスコードされた画像データおよび音声データの出力ができなくなった場合、同様に、供給された画像データおよび音声データを受ける側でオーバーフローが生じてしまうことになる。
【0007】
このような場合、供給されたストリームを、単に、記憶されている順序で削除したり、供給されてきた順序で削除した場合、削除した後の画像データおよび音声データを再生すると、画像と音声との同期がずれてしまうことがある。いわゆるリップシンクずれが生じてしまう。
【0008】
これを防止するためには、符号化されている画像データおよび音声データそのものを解析して、その結果から、画像と音声との同期がずれないように、画像データおよび音声データを削除する必要があった。
【0009】
しかしながら、画像データおよび音声データそのものの解析には、複雑な処理が必要とされ、処理に時間がかかる。処理に時間がかかると、これによってより多くの画像データおよび音声データを削除しなければならなくなるという問題があった。
【0010】
本発明はこのような状況を鑑みてなされたものであり、画像と音声との同期を維持したまま、より簡単に、より迅速に、画像データおよび音声データを削除することができるようにするものである。
【課題を解決するための手段】
【0011】
本発明の情報処理装置は、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶を制御する記憶制御手段と、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除するとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除する削除手段とを含むことを特徴とする。
【0012】
情報処理装置は、一時的に記憶されている画像データおよび音声データであって、削除された画像データの後の画像データに付加されている表示時刻情報で示される時刻、および削除された音声データの後の音声データに付加されている出力時刻情報で示される時刻から、削除された音声データによって出力されるべき音声の時間をそれぞれ引き算した時刻を示すように表示時刻情報および出力時刻情報を付け替える付け替え手段をさらに設けることができる。
【0013】
情報処理装置は、付け替え手段によって、時間を遡る時刻を示す表示時刻情報に付け替えられた画像データの処理を抑制するように、画像データを処理する処理手段をさらに設けることができる。
【0014】
削除手段は、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻であって、第2の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除するようにすることができる。
【0015】
削除手段は、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データの最後の単位の2つ後の単位の先頭の画像データに付加された表示時刻情報で示される時刻である第3の時刻と同じ時刻または後の時刻であって、第3の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除するようにすることができる。
【0016】
情報処理装置は、一時的に記憶されている音声データに付加されている出力時刻情報で示される時刻のうち、最も早い時刻である第3の時刻より後の時刻であって、第3の時刻に最も近い時刻である第1の時刻を示す表示時刻情報が付加されている、符号化の単位であるフレームのうちの最初のフレームを表示するための画像データを削除の始点として検索するとともに、検索された画像データに付加されている表示時刻情報で示される第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データを削除の始点として検索する第1の検索手段と、検索された音声データに付加されている出力時刻情報により示される時刻から予め定めた時間を経過した時刻である第4の時刻より後の時刻であって、第4の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データを削除の終点として検索するとともに、削除の終点として検索された音声データに付加されている出力時刻情報で示される時刻と同じ時刻または前の時刻を示す表示時刻情報が付加されている、符号化の単位であるフレームのうちの最初のフレームを表示するための画像データを削除の終点として検索する第2の検索手段とをさらに設け、削除手段は、検索された始点および終点を基に、画像データおよび音声データを削除するようにすることができる。
【0017】
本発明の情報処理方法は、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶を制御する記憶制御ステップと、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除するとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除する削除ステップとを含むことを特徴とする。
【0018】
本発明のプログラムは、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶を制御する記憶制御ステップと、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除するとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除する削除ステップとをコンピュータに実行させることを特徴とする。
【0019】
本発明の情報処理装置および方法、並びにプログラムにおいては、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶が制御され、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データが削除されるとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでが削除される。
【発明の効果】
【0020】
以上のように、本発明によれば、画像と音声との同期を維持することができることができる。
【0021】
また、本発明によれば、画像と音声との同期を維持したまま、より簡単に、より迅速に、画像データおよび音声データを削除することができることができる。
【発明を実施するための最良の形態】
【0022】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0023】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【0024】
請求項1に記載の情報処理装置は、所定の数のフレームを単位(例えば、GOP)として符号化されている、動画像を表示するための画像データであって、表示する時刻を示す表示時刻情報(例えば、表示タイムスタンプ)が付加されている画像データと、動画像に同期する音声を出力するための音声データであって、出力する時刻を示す出力時刻情報(例えば、音声出力タイムスタンプ)が付加されている音声データとからなるストリームを処理する情報処理装置であって、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶を制御する記憶制御手段(例えば、図4の入力バッファ92)と、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除するとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除する削除手段(例えば、図4の削除部126)とを含むことを特徴とする。
【0025】
情報処理装置は、一時的に記憶されている画像データおよび音声データであって、削除された画像データの後の画像データに付加されている表示時刻情報で示される時刻、および削除された音声データの後の音声データに付加されている出力時刻情報で示される時刻から、削除された音声データによって出力されるべき音声の時間をそれぞれ引き算した時刻を示すように表示時刻情報および出力時刻情報を付け替える付け替え手段(例えば、図4の音声出力タイムスタンプ付け替え部127および表示タイムスタンプ付け替え部128)をさらに設けることができる。
【0026】
情報処理装置は、付け替え手段によって、時間を遡る時刻を示す表示時刻情報に付け替えられた画像データの処理を抑制するように、画像データを処理する処理手段(例えば、図3のフレームコンバータ84)をさらに設けることができる。
【0027】
情報処理装置は、一時的に記憶されている音声データに付加されている出力時刻情報で示される時刻のうち、最も早い時刻である第3の時刻より後の時刻であって、第3の時刻に最も近い時刻である第1の時刻を示す表示時刻情報が付加されている、符号化の単位であるフレームのうちの最初のフレームを表示するための画像データを削除の始点として検索するとともに、検索された画像データに付加されている表示時刻情報で示される第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データを削除の始点として検索する第1の検索手段(例えば、図4の始点決定部)と、検索された音声データに付加されている出力時刻情報により示される時刻から予め定めた時間を経過した時刻である第4の時刻より後の時刻であって、第4の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データを削除の終点として検索するとともに、削除の終点として検索された音声データに付加されている出力時刻情報で示される時刻と同じ時刻または前の時刻を示す表示時刻情報が付加されている、符号化の単位であるフレームのうちの最初のフレームを表示するための画像データを削除の終点として検索する第2の検索手段(例えば、図4の終点決定部125)とをさらに設け、削除手段は、検索された始点および終点を基に、画像データおよび音声データを削除するようにすることができる。
【0028】
請求項7に記載の情報処理方法は、所定の数のフレームを単位(例えば、GOP)として符号化されている、動画像を表示するための画像データであって、表示する時刻を示す表示時刻情報(例えば、表示タイムスタンプ)が付加されている画像データと、動画像に同期する音声を出力するための音声データであって、出力する時刻を示す出力時刻情報(例えば、音声出力タイムスタンプ)が付加されている音声データとからなるストリームを処理する情報処理方法であって、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶を制御する記憶制御ステップ(例えば、図5のステップS13の処理)と、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除するとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除する削除ステップ(例えば、図12のステップS171乃至ステップS176の処理)とを含むことを特徴とする。
【0029】
請求項8に記載のプログラムは、所定の数のフレームを単位(例えば、GOP)として符号化されている、動画像を表示するための画像データであって、表示する時刻を示す表示時刻情報(例えば、表示タイムスタンプ)が付加されている画像データと、動画像に同期する音声を出力するための音声データであって、出力する時刻を示す出力時刻情報(例えば、音声出力タイムスタンプ)が付加されている音声データとからなるストリームを処理する情報処理を、コンピュータに行わせるプログラムであって、出力する時刻を示す出力時刻情報(例えば、音声出力タイムスタンプ)が付加されている音声データとからなるストリームを処理する情報処理方法であって、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶を制御する記憶制御ステップ(例えば、図5のステップS13の処理)と、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除するとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除する削除ステップ(例えば、図12のステップS171乃至ステップS176の処理)とを含むことを特徴とする。
【0030】
図1は、本発明に係るトランスコードシステムの一実施の形態を示すブロック図である。サーバ1は、例えば、パーソナルコンピュータからなり、生成したストリームまたは外部から供給されたストリームであって、画像データおよび音声データからなるストリームを、例えば、LAN(Local Area Network)またはインターネットなどのネットワーク2を介して、クライアント3に送信する。
【0031】
クライアント3は、ネットワーク2を介して、サーバ1から送信されてきたストリームを受信して、ストリームを構成する画像データおよび音声データによって、動画像または静止画像である画像を表示すると共に、これに同期した音声を出力する。
【0032】
図2は、サーバ1の構成を示すブロック図である。CPU(Central Processing Unit)11は、ROM(Read Only Memory)12、または記録部18に記憶または記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)13には、CPU11が実行するプログラムやデータなどが適宜記憶される。これらのCPU11、ROM12、およびRAM13は、バス14により相互に接続されている。
【0033】
CPU11にはまた、バス14を介して入出力インターフェース15が接続されている。入出力インターフェース15には、キーボード、マウス、マイクロホンなどよりなる入力部16、ディスプレイ、スピーカなどよりなる出力部17が接続されている。CPU11は、入力部16から入力される指令に対応して各種の処理を実行する。そして、CPU11は、処理の結果得られた画像や音声等を出力部17に出力する。
【0034】
入出力インターフェース15に接続されている記録部18は、例えばハードディスクなどで構成され、CPU11が実行するプログラムや各種のデータを記録する。通信部19は、インターネットまたはLANなどのネットワーク2を介して外部の装置と通信する。
【0035】
また、通信部19を介してプログラムを取得し、記録部18に記録してもよい。
【0036】
受信部20は、放送を受信して、放送されている番組の画像を表示するための画像データ、および番組の音声を出力するための音声データを生成し、入出力インターフェース15およびバス14を介して、生成した画像データおよび音声データをCPU11に供給する。受信部20には、エンコーダ31およびチューナ32が設けられている。エンコーダ31は、チューナ32から供給される、放送されている番組の画像を表示するための画像信号を符号化すると共に、番組の音声を出力するための音声信号を符号化することにより、画像データおよび音声データを生成する。
【0037】
より詳細には、例えば、エンコーダ31は、チューナ32から供給される、放送されている番組の画像を表示するための画像信号および番組の音声を出力するための音声信号を、MPEG(Moving Pictures Experts Group)2方式で符号化し、MPEG2システムストリームとして画像データおよび音声データを出力する。
【0038】
チューナ32は、放送を受信して、放送されている番組の画像を表示するための画像信号および番組の音声を出力するための音声信号をエンコーダ31に供給する。
【0039】
入出力インターフェース15に接続されているドライブ21は、磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部18に転送され、記録される。
【0040】
図3は、プログラムを実行するCPU11によって実現されるトランスコーダ61の構成を示すブロック図である。
【0041】
なお、トランスコーダ61の各機能をハードウェアで実現するようにしてもよい。すなわち、トランスコーダ61の各機能をハードウェアで実現するか、ソフトウェアで実現するかは問わない。つまり、本明細書の各ブロック図は、ハードウェアのブロック図と考えても、ソフトウェアによる機能ブロック図と考えても良い。
【0042】
トランスコーダ61は、システムデコーダ81、ビデオデコーダ82、オーディオデコーダ83、フレームコンバータ84、ビデオエンコーダ85、オーディオエンコーダ86、マルチプレクサ87、および出力バッファ88を含むように構成される。
【0043】
システムデコーダ81は、MPEG2システムストリームに含まれるシステムデータをデコードし、デコードの結果に基づいて、MPEG2システムストリームをビデオエレメンタリストリームとオーディオエレメンタリストリームとに分離する。すなわち、システムデコーダ81は、エンコーダ31から供給されたMPEG2システムストリームから、画像データが格納されているビデオPES(Packetized Elementary Stream)パケットと、音声データが格納されているオーディオPESパケットとを抽出する。
【0044】
システムデコーダ81は、分離したビデオエレメンタリストリームを構成するビデオPESパケットをビデオデコーダ82に供給すると共に、分離したオーディオエレメンタリストリームを構成するオーディオPESパケットをオーディオデコーダ83に供給する。
【0045】
ビデオデコーダ82は、システムデコーダ81から供給されたビデオPESパケットを復号する。例えば、ビデオデコーダ82は、MPEG2方式で符号化されているビデオPESパケットを復号する。ビデオデコーダ82は、復号の結果得られた、圧縮符号化されていない、いわゆるベースバンド画像である画像データをフレームコンバータ84に供給する。
【0046】
オーディオデコーダ83は、システムデコーダ81から供給されたオーディオPESパケットを復号する。例えば、オーディオデコーダ83は、MPEGオーディオレイヤ2方式で符号化されているビデオPESパケットを復号する。オーディオデコーダ83は、復号の結果得られた、圧縮符号化されていない、PCM(Pulse Code Modulation)方式の音声データをオーディオエンコーダ86に供給する。
【0047】
フレームコンバータ84は、ビデオデコーダ82から供給された画像データのフレームレートを変換して、フレームレートが変換された画像データをビデオエンコーダ85に供給する。例えば、フレームコンバータ84は、ビデオデコーダ82から供給された、毎秒25フレームからなる動画像を表示するための画像データを、毎秒29.97フレームからなる動画像を表示するための画像データに変換する。
【0048】
ビデオエンコーダ85は、フレームコンバータ84から供給された画像データを、圧縮符号化し、圧縮符号化された画像データをマルチプレクサ87に供給する。例えば、ビデオエンコーダ85は、フレームコンバータ84から供給された画像データを、MPEG4visual方式、またはトランスコーダ61に入力されたMPEG2システムストリームに含まれる画像データの圧縮率に比較してより高い圧縮率の(よりデータ量が少なくなる)MPEG2方式で圧縮符号化する。
【0049】
オーディオエンコーダ86は、オーディオデコーダ83から供給された音声データを、圧縮符号化し、圧縮符号化された音声データをマルチプレクサ87に供給する。例えば、オーディオエンコーダ86は、オーディオデコーダ83から供給された音声データを、MPEG4AAC(Advanced Audio Coding)方式、またはトランスコーダ61に入力されたMPEG2システムストリームに含まれる音声データの圧縮率に比較してより高い圧縮率のMPEGオーディオレイヤ2方式で圧縮符号化する。
【0050】
マルチプレクサ87は、ビデオエンコーダ85から供給された符号化されている画像データおよびオーディオエンコーダ86から供給された符号化されている音声データを多重化する。マルチプレクサ87は、多重化した画像データおよび音声データを出力バッファ88に供給する。出力バッファ88は、マルチプレクサ87から供給された、多重化されている画像データおよび音声データを一時的に記憶して、記憶している多重化されている画像データおよび音声データをストリームとして出力する。例えば、出力バッファ88は、画像データおよび音声データをMPEG4システムストリームとして出力する。
【0051】
出力バッファ88から出力されたストリームは、通信部19から、ネットワーク2を介して、クライアント3に送信される。
【0052】
システムデコーダ81は、MPEGアナライザ91および入力バッファ92を含むように構成される。MPEGアナライザ91は、MPEG2システムストリームに含まれるシステムデータをデコードする。MPEGアナライザ91は、デコードの結果に基づいて、MPEG2システムストリームをビデオエレメンタリストリームとオーディオエレメンタリストリームとに分離する。MPEGアナライザ91は、分離したビデオエレメンタリストリームを構成するビデオPESパケットと、分離したオーディオエレメンタリストリームを構成するオーディオPESパケットとを入力バッファ92に供給する。
【0053】
入力バッファ92は、いわゆる、FIFO(First-In First-Out)方式のバッファである。入力バッファ92は、MPEGアナライザ91から供給された分離したビデオエレメンタリストリームを構成するビデオPESパケットと、分離したオーディオエレメンタリストリームを構成するオーディオPESパケットとをそれぞれ一時的に記憶する。
【0054】
より詳細には、入力バッファ92は、ビデオバッファ101およびオーディオバッファ102からなる。ビデオバッファ101は、MPEGアナライザ91から供給された分離したビデオエレメンタリストリームを構成するビデオPESパケットを一時的に記憶する。すなわち、ビデオバッファ101は、ビデオPESパケットを先入れ先出しするように一時的に記憶する。ビデオバッファ101は、MPEGアナライザ91から供給されたビデオPESパケットを供給された順に記憶し、供給された順序で、ビデオデコーダ82に供給する。
【0055】
オーディオバッファ102は、MPEGアナライザ91から供給された分離したオーディオエレメンタリストリームを構成するオーディオPESパケットを一時的に記憶する。すなわち、オーディオバッファ102は、オーディオPESパケットを先入れ先出しするように一時的に記憶する。オーディオバッファ102は、MPEGアナライザ91から供給されたオーディオPESパケットを供給された順に記憶し、供給された順序で、オーディオデコーダ83に供給する。
【0056】
このように、トランスコーダ61は、エンコーダ31から供給されたMPEG2システムストリームを、より圧縮率の高いストリームに変換して出力する。
【0057】
図4は、システムデコーダ81のより詳細な構成を示すブロック図である。システムデコーダ81は、MPEGアナライザ91および入力バッファ92に加えて、表示タイムスタンプ付加部121、音声出力タイムスタンプ付加部122、タイムスタンプオフセット量記憶部123、始点決定部124、終点決定部125、削除部126、音声出力タイムスタンプ付け替え部127、および表示タイムスタンプ付け替え部128を含む。
【0058】
表示タイムスタンプ付加部121は、ビデオPESパケットに格納されている画像データによる画像を表示する時刻を示す表示タイムスタンプを生成し、生成した表示タイムスタンプをビデオPESパケットに付加する。例えば、表示タイムスタンプ付加部121は、ビデオPESパケットからPTS(Presentation Time Stamp)を読み出して、PTSで示される時刻を、時間、分、秒で示す表示タイムスタンプを生成する。
【0059】
表示タイムスタンプ付加部121によって表示タイムスタンプが付加されたビデオPESパケットがビデオバッファ101に記憶される。
【0060】
音声出力タイムスタンプ付加部122は、オーディオPESパケットに格納されている音声データによる音声を出力する時刻を示す音声出力タイムスタンプを生成し、生成した音声出力タイムスタンプをオーディオPESパケットに付加する。例えば、音声出力タイムスタンプ付加部122は、オーディオPESパケットからPTSを読み出して、PTSで示される時刻を、時間、分、秒で示す音声出力タイムスタンプを生成する。
【0061】
音声出力タイムスタンプ付加部122によって音声出力タイムスタンプが付加されたオーディオPESパケットがオーディオバッファ102に記憶される。
【0062】
タイムスタンプオフセット量記憶部123は、削除部126がビデオバッファ101に記憶されているビデオPESパケットおよびオーディオバッファ102に記憶されている、オーディオPESパケットに格納されている音声データを削除した場合、削除された音声データによって出力されるはずであった音声の時間、すなわち、削除された音声データによって出力されるべき音声の時間を記憶する。削除部126が、ビデオPESパケットおよび音声データを複数回削除した場合、タイムスタンプオフセット量記憶部123は、それぞれ削除された音声データによって出力されるはずであった音声の時間の総和を記憶する。
【0063】
始点決定部124は、ビデオバッファ101に記憶されているビデオPESパケットのうち、削除されるビデオPESパケットの始点を決定する。詳細は後述するが、削除部126は、1つのGOP(Group of Pictures)を構成するフレームを表示するための画像データを格納しているビデオPESパケットまたは複数のGOPであって連続しているGOPを構成するフレームを表示するための画像データを格納しているビデオPESパケットを削除するので、その削除される一連のビデオPESパケットの始点(先頭)を決定する。
【0064】
また、始点決定部124は、オーディオバッファ102に記憶されているオーディオPESパケットのうち、削除されるオーディオPESパケットの始点を決定する。削除部126は、削除される画像データによって表示されるはずであった画像が表示される時刻とほぼ同じ時刻において、音声を出力するための、オーディオPESパケットに格納されている音声データを削除するので、始点決定部124は、その削除される音声データを格納しているオーディオPESパケットの始点(先頭)を決定する。
【0065】
終点決定部125は、ビデオバッファ101に記憶されているビデオPESパケットのうち、削除されるビデオPESパケットの終点を決定する。また、終点決定部125は、オーディオバッファ102に記憶されているオーディオPESパケットのうち、削除されるオーディオPESパケットの終点を決定する。
【0066】
削除部126は、始点決定部124によって決定された始点から、終点決定部125によって決定された終点の1つ前までのビデオPESパケットを、ビデオバッファ101から削除する。また、削除部126は、始点決定部124によって決定された始点から、終点決定部125によって決定された終点までのオーディオPESパケットに格納されている音声データを、オーディオバッファ102から削除する。
【0067】
音声出力タイムスタンプ付け替え部127は、削除部126によって音声データが削除された場合、削除された音声データによって出力されるはずであった音声が出力される時刻より後に音声を出力するための音声データを格納しているオーディオPESパケットに付加されている音声出力タイムスタンプを、その音声出力タイムスタンプで示される時刻から削除された音声データによって出力される音声の時間(長さ)を引き算した結果である時刻を示す音声出力タイムスタンプに付け替える。
【0068】
表示タイムスタンプ付け替え部128は、削除部126によってビデオPESパケットが削除された場合、削除されたオーディオPESパケットによって表示されるはずであった画像が表示される時刻より後に画像を表示するためのビデオPESパケットに付加されている表示タイムスタンプを、その表示タイムスタンプで示される時刻から削除された音声データによって出力される音声の時間(長さ)を引き算した結果である時刻を示す表示タイムスタンプに付け替える。
【0069】
さらに、始点決定部124は、音声パケット検索部141、画像パケット検索部142、および判定部143を含む。音声パケット検索部141は、ビデオバッファ101に格納されているビデオPESパケットに付加されている表示タイムスタンプおよびオーディオバッファ102に格納されているオーディオPESパケットに付加されている音声出力タイムスタンプを基に、削除される音声データを格納しているオーディオPESパケットであって、始点としてのオーディオPESパケットを検索する。画像パケット検索部142は、ビデオバッファ101に格納されているビデオPESパケットに付加されている表示タイムスタンプおよびオーディオバッファ102に格納されているオーディオPESパケットに付加されている音声出力タイムスタンプを基に、削除されるビデオPESパケットであって、始点としてのビデオPESパケットを検索する。
【0070】
判定部143は、始点として検索されたオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻と、始点として検索されたビデオPESパケットに付加されている表示タイムスタンプで示される時刻とが予め定めた条件を満たしているか否かを判定する。
【0071】
この条件を満たしていないと判定された場合、画像パケット検索部142は、再度、始点としてのビデオPESパケットを検索する。
【0072】
また、終点決定部125は、音声パケット検索部144および画像パケット検索部145を含む。音声パケット検索部144は、オーディオバッファ102に格納されているオーディオPESパケットに付加されている音声出力タイムスタンプを基に、削除される音声データを格納しているオーディオPESパケットであって、終点としてのオーディオPESパケットを検索する。画像パケット検索部145は、ビデオバッファ101に格納されているビデオPESパケットに付加されている表示タイムスタンプおよびオーディオバッファ102に格納されているオーディオPESパケットに付加されている音声出力タイムスタンプを基に、削除されるビデオPESパケットであって、終点としてのビデオPESパケットを検索する。
【0073】
さらに、削除部126は、音声データ削除部146および画像データ削除部147を含む。音声データ削除部146は、始点としてのオーディオPESパケット乃至終点としてのオーディオPESバケットに格納されている音声データを削除する。画像データ削除部147は、始点としてのビデオPESパケットから、終点としてのビデオPESパケットの1つ前のビデオPESパケットまでを削除する。
【0074】
次に、フローチャートを参照して、サーバ1により実行される処理の詳細を説明する。
【0075】
図5は、トランスコードの処理を説明するフローチャートである。ステップS11において、システムデコーダ81は、タイムスタンプオフセット量記憶部123に記憶されているタイムスタンプオフセット量に0を設定する。
【0076】
ステップS12において、システムデコーダ81のMPEGアナライザ91は、MPEG2システムストリームに含まれるシステムデータをデコードし、デコードの結果に基づいて、MPEG2システムストリームを、ビデオPESパケットとオーディオPESパケットとに分離する。MPEGアナライザ91は、分離したビデオPESパケットとオーディオPESパケットとを入力バッファ92に供給する。
【0077】
ステップS13において、入力バッファ92のビデオバッファ101は、MPEGアナライザ91から供給されたビデオPESパケットを先入れ先出しするように一時的に記憶し、入力バッファ92のオーディオバッファ102は、MPEGアナライザ91から供給されたオーディオPESパケットを先入れ先出しするように一時的に記憶する。ビデオバッファ101は、記憶しているビデオPESパケットをビデオデコーダ82に順に供給する。オーディオバッファ102は、記憶しているオーディオPESパケットをオーディオデコーダ83に順に供給する。
【0078】
ステップS14において、オーディオデコーダ83は、オーディオバッファ102から供給されたオーディオPESパケットを復号して、復号して得られた圧縮符号化されていない音声データをオーディオエンコーダ86に供給する。
【0079】
ステップS15において、ビデオデコーダ82は、ビデオバッファ101から供給されたビデオPESパケットを復号して、復号して得られた圧縮符号化されていない画像データをフレームコンバータ84に供給する。
【0080】
ステップS16において、オーディオエンコーダ86は、オーディオデコーダ83から供給された音声データを所定の符号化方式で符号化する。オーディオエンコーダ86は、符号化された音声データをマルチプレクサ87に供給する。
【0081】
ステップS17において、ビデオエンコーダ85は、フレームコンバータ84において、フレームレートが変換された画像データを符号化する。ビデオエンコーダ85は、符号化された画像データをマルチプレクサ87に供給する。
【0082】
ステップS18において、マルチプレクサ87は、符号化された音声データおよび画像データを多重化する。マルチプレクサ87は、多重化された音声データおよび画像データを出力バッファ88に供給する。ステップS19において、出力バッファ88は、マルチプレクサ87から供給された多重化されている音声データおよび画像データを一時的に記憶し、記憶している多重化されている音声データおよび画像データを順に出力して、ステップS12に戻り、上述した処理を繰り返す。
【0083】
図5のフローチャートを参照して説明した処理は、MPEG2システムストリームが終了した場合、または使用者の操作に応じた入力部16からの終了を指示する信号がトランスコーダ61に供給された場合、終了する。
【0084】
次に、トランスコードの処理において分離されたビデオPESパケット毎に実行されるビデオPESパケットへの表示タイムスタンプの付加の処理を図6のフローチャートを参照して説明する。ステップS41において、表示タイムスタンプ付加部121は、MPEGアナライザ91によって分離されたビデオPESパケットに、PTSおよびDTS(Decoding Time Stamp)が含まれているか否かを判定する。例えば、表示タイムスタンプ付加部121は、ビデオPESパケットがプライベート1パケットであるかを基に、PTSおよびDTSが含まれているか否かを判定する。
【0085】
ステップS41において、ビデオPESパケットに、PTSおよびDTSが含まれていると判定された場合、ステップS42に進み、表示タイムスタンプ付加部121は、ビデオPESパケットからPTSおよびDTSを読み出す。例えば、表示タイムスタンプ付加部121は、ビデオPESパケットのPESヘッダ長の次に、コンディショナルコーディングとして格納されているPTSおよびDTSを読み出す。
【0086】
ステップS43において、表示タイムスタンプ付加部121は、ビデオPESパケットに格納されている画像データによって画像が表示される時刻である表示時刻を示す表示タイムスタンプを、PTSおよびタイムスタンプオフセット量記憶部123に記憶されているタイムスタンプオフセット量から生成する。
【0087】
例えば、タイムスタンプオフセット量が0である場合、表示タイムスタンプ付加部121は、PTSで示される時刻と同じ時刻を、時間、分、秒で示す表示タイムスタンプを生成する。例えば、タイムスタンプオフセット量が2秒である場合、表示タイムスタンプ付加部121は、PTSで示される時刻から2秒を引き算した時刻を示す、時間、分、秒で示す表示タイムスタンプを生成する。すなわち、タイムスタンプオフセット量が2秒である場合、表示タイムスタンプ付加部121は、PTSで示される時刻から2秒遡った時刻を示す、時間、分、秒で示す表示タイムスタンプを生成する。
【0088】
換言すれば、タイムスタンプオフセット量がn秒である場合、表示タイムスタンプ付加部121は、PTSで示される時刻からn秒を引き算した時刻(PTSで示される時刻よりn秒前の時刻)を示す表示タイムスタンプを生成する。
【0089】
ステップS44において、表示タイムスタンプ付加部121は、表示タイムスタンプおよびDTSをビデオPESパケットに付加し、ステップS45に進む。
【0090】
ステップS41において、ビデオPESパケットに、PTSおよびDTSが含まれていないと判定された場合、ステップS42乃至ステップS44の処理はスキップされ、手続きは、ステップS45に進む。
【0091】
ステップS45において、表示タイムスタンプ付加部121は、分離されたビデオPESパケットに、GOPの最初のフレームの画像データが含まれているか否かを判定する。例えば、ステップS45において、表示タイムスタンプ付加部121は、分離されたビデオPESパケットに格納されているパケットデータである画像データにおけるGOP層の、GOPの開始を示すGroup Start Codeを基に、ビデオPESパケットに、GOPの最初のフレームの画像データが含まれているか否かを判定する。
【0092】
ステップS45において、ビデオPESパケットに、GOPの最初のフレームの画像データが含まれていると判定された場合、ステップS46において、表示タイムスタンプ付加部121は、GOP先頭フラグに”1”を設定し、ステップS48に進む。一方、ステップS45において、ビデオPESパケットに、GOPの最初のフレームの画像データが含まれていないと判定された場合、ステップS47において、表示タイムスタンプ付加部121は、GOP先頭フラグに”0”を設定し、ステップS48に進む。
【0093】
なお、この例において、”1”であるGOP先頭フラグは、ビデオPESパケットに、GOPの最初のフレームの画像データが含まれていることを示し、”0”であるGOP先頭フラグは、ビデオPESパケットに、GOPの最初のフレームの画像データが含まれていないことを示す。
【0094】
ステップS48において、表示タイムスタンプ付加部121は、ビデオPESパケットに、GOP先頭フラグを付加し、処理は終了する。
【0095】
このように、表示タイムスタンプ、DTS、およびGOP先頭フラグが付加されたビデオPESパケットがビデオバッファ101に順に格納される。
【0096】
次に、トランスコードの処理において分離されたオーディオPESパケット毎に実行されるオーディオPESパケットへの音声出力タイムスタンプの付加の処理を図7のフローチャートを参照して説明する。ステップS61において、音声出力タイムスタンプ付加部122は、MPEGアナライザ91によって分離されたオーディオPESパケットに、PTSおよびDTSが含まれているか否かを判定する。例えば、音声出力タイムスタンプ付加部122は、オーディオPESパケットがプライベート1パケットであるかを基に、PTSおよびDTSが含まれているか否かを判定する。
【0097】
ステップS61において、オーディオPESパケットに、PTSおよびDTSが含まれていると判定された場合、ステップS62に進み、音声出力タイムスタンプ付加部122は、オーディオPESパケットからPTSおよびDTSを読み出す。例えば、音声出力タイムスタンプ付加部122は、オーディオPESパケットのPESヘッダ長の次に、コンディショナルコーディングとして格納されているPTSおよびDTSを読み出す。
【0098】
ステップS63において、音声出力タイムスタンプ付加部122は、オーディオPESパケットに格納されている音声データによって音声が出力される時刻である出力時刻を示す音声出力タイムスタンプを、PTSおよびタイムスタンプオフセット量記憶部123に記憶されているタイムスタンプオフセット量から生成する。
【0099】
例えば、タイムスタンプオフセット量が0である場合、音声出力タイムスタンプ付加部122は、PTSで示される時刻と同じ時刻を、時間、分、秒で示す音声出力タイムスタンプを生成する。例えば、タイムスタンプオフセット量が2秒である場合、音声出力タイムスタンプ付加部122は、PTSで示される時刻から2秒を引き算した時刻を示す、時間、分、秒で示す音声出力タイムスタンプを生成する。すなわち、タイムスタンプオフセット量が2秒である場合、音声出力タイムスタンプ付加部122は、PTSで示される時刻から2秒遡った時刻を示す、時間、分、秒で示す音声出力タイムスタンプを生成する。
【0100】
換言すれば、タイムスタンプオフセット量がm秒である場合、音声出力タイムスタンプ付加部122は、PTSで示される時刻からm秒を引き算した時刻(PTSで示される時刻よりm秒前の時刻)を示す音声出力タイムスタンプを生成する。
【0101】
ステップS64において、音声出力タイムスタンプ付加部122は、音声出力タイムスタンプおよびDTSをオーディオPESパケットに付加し、処理は終了する。
【0102】
ステップS61において、オーディオPESパケットに、PTSおよびDTSが含まれていないと判定された場合、処理は終了する。
【0103】
このように、音声出力タイムスタンプおよびDTSが付加されたオーディオPESパケットがオーディオバッファ102に順に格納される。
【0104】
次に、ビデオバッファ101に記憶されているビデオPESパケットおよびオーディオバッファ102に記憶されているオーディオPESパケットに格納されている音声データの削除の処理を説明する。図8は、削除の処理を説明するフローチャートである。
【0105】
ステップS81において、システムデコーダ81は、入力バッファ92に記憶されているビデオPESパケットおよびオーディオPESパケットのデータ量が予め定めた閾値を超えたか否かを判定し、入力バッファ92に記憶されているビデオPESパケットおよびオーディオPESパケットのデータ量が閾値を超えたと判定された場合、ステップS82に進み、ビデオデコーダ82およびオーディオデコーダ83による、入力バッファ92からのビデオPESパケットおよびオーディオPESパケットの読み出しを禁止する。
【0106】
なお、ステップS81における、判定の処理は、入力バッファ92に記憶されているビデオPESパケットおよびオーディオPESパケットのデータ量の総量が予め定めた閾値を超えたか否かを判定するようにしても、入力バッファ92に記憶されているビデオPESパケットまたはオーディオPESパケットの何れか一方のデータ量が予め定めた閾値を超えたか否かを判定するようにしてもよい。
【0107】
ステップS83において、始点決定部124は、削除の始点の候補を決定する処理を実行する。削除の始点の候補を決定する処理の詳細は図9のフローチャートを参照して後述する。
【0108】
ステップS84において、始点決定部124は、ステップS83の処理によって決定された、削除の始点の候補を基に、削除の始点の調整の処理を実行する。削除の始点の調整の処理の詳細は、図10のフローチャートを参照して後述する。
【0109】
ステップS85において、終点決定部125は、ステップS84の処理によって調整され決定された削除の始点を基に、削除の終点の決定の処理を実行する。削除の終点の決定の処理の詳細は、図11のフローチャートを参照して後述する。
【0110】
ステップS86において、削除部126は、入力バッファ92に記憶されている画像データおよび音声データから、決定された削除の始点および終点で定まる画像データおよび音声データを削除する、画像データおよび音声データの削除の処理を実行する。画像データおよび音声データの削除の処理の詳細は、図12のフローチャートを参照して後述する。
【0111】
ステップS87において、音声出力タイムスタンプ付け替え部127および表示タイムスタンプ付け替え部128は、表示タイムスタンプおよび音声出力タイムスタンプの付け替えの処理を実行する。表示タイムスタンプおよび音声出力タイムスタンプの付け替えの処理の詳細は、図13のフローチャートを参照して後述する。
【0112】
ステップS88において、削除部126は、ステップS86の処理で削除した音声データに応じて、タイムスタンプオフセット量記憶部123に記憶されているタイムスタンプオフセット量を更新する。
【0113】
ステップS89において、システムデコーダ81は、ビデオデコーダ82およびオーディオデコーダ83による、入力バッファ92からのビデオPESパケットおよびオーディオPESパケットの読み出しの禁止を解除し、ステップS81に戻り、上述した処理を繰り返す。
【0114】
ステップS81において、入力バッファ92のビデオPESパケットおよびオーディオPESパケットのデータ量が閾値を超えていないと判定された場合、入力バッファ92に記憶されている画像データおよび音声データを削除する必要はないので、ステップS81ら戻り、判定の処理を繰り返す。
【0115】
次に、図9のフローチャートを参照して、ステップS83に対応する、削除の始点の候補の決定の処理を説明する。ステップS101において、始点決定部124の音声パケット検索部141は、オーディオバッファ102の先頭から順に、音声出力タイムスタンプが付加されている最初のオーディオPESパケットを検索する。すなわち、オーディオバッファ102には、先入れ先出しでオーディオPESパケットが記憶されているので、始点決定部124の音声パケット検索部141は、オーディオバッファ102に記憶されているオーディオPESパケットに付加されている音声出力タイムスタンプのうち、最も早い時刻を示す音声出力タイムスタンプが付加されているオーディオPESパケットを検索する。換言すれば、音声パケット検索部141は、音声出力タイムスタンプが付加されているオーディオPESパケットを、オーディオバッファ102の先頭から順に検索する。
【0116】
ステップS101において、音声パケット検索部141は、オーディオバッファ102の最初の、音声出力タイムスタンプが付加されているオーディオPESパケットを検索するとも言える。
【0117】
ステップS102において、音声パケット検索部141は、ステップS101において検索されたオーディオPESパケットを始点の候補とする。
【0118】
ステップS103において、始点決定部124の画像パケット検索部142は、ビデオバッファ101の先頭から順に、”1”であるGOP先頭フラグが付加され、表示タイムスタンプが付加されている最初のビデオPESパケットを検索する。すなわち、ビデオバッファ101には、先入れ先出しでビデオPESパケットが記憶されているので、始点決定部124の画像パケット検索部142は、ビデオバッファ101に記憶されている、”1”であるGOP先頭フラグが付加されているビデオPESパケットに付加されている表示タイムスタンプのうち、最も早い時刻を示す表示タイムスタンプが付加されているビデオPESパケットを検索する。換言すれば、画像パケット検索部142は、GOPの最初のフレームの画像データを格納するビデオPESパケットであって、最も早い時刻を示す表示タイムスタンプが付加されているビデオPESパケットを、ビデオバッファ101の先頭から順に検索する。
【0119】
ステップS103において、画像パケット検索部142は、ビデオバッファ101の最初の、GOPの最初のフレームの画像データを格納するビデオPESパケットであって、表示タイムスタンプが付加されているビデオPESパケットを検索するとも言える
【0120】
ステップS104において、画像パケット検索部142は、ステップS103において検索されたビデオPESパケットを始点の候補とし、処理は終了する。
【0121】
このように、ビデオバッファ101に記憶されているビデオPESパケットについて、削除の始点の候補が決定され、オーディオバッファ102に記憶されているオーディオPESパケットについて、削除の始点の候補が決定される。
【0122】
次に、図10のフローチャートを参照して、ステップS84の処理に対応する削除の始点の調整の処理の詳細を説明する。ステップS131において、始点決定部124の判定部143は、始点の候補であるビデオPESパケットに付加された表示タイムスタンプで示される時刻が、始点の候補であるオーディオPESパケットに付加された音声出力タイムスタンプで示される時刻より前であるか否かを判定する。
【0123】
ステップS131において、始点の候補の表示タイムスタンプで示される時刻が、始点の候補の音声出力タイムスタンプで示される時刻より前であると判定された場合、ステップS132において、画像パケット検索部142は、ビデオバッファ101から、”1”であるGOP先頭フラグが付加され、かつ、始点の候補の音声タイムスタンプで示される時刻より後の時刻を示す表示スタンプのうち、最も早い時刻を示す表示スタンプが付加されているビデオPESパケットを検索する。すなわち、画像パケット検索部142は、”1”であるGOP先頭フラグが付加されているビデオPESパケットに付加されている表示スタンプであって、始点の候補の音声タイムスタンプで示される時刻より後の時刻を示す表示スタンプのうち、最も早い時刻を示す表示スタンプが付加されているビデオPESパケットを検索する。
【0124】
換言すれば、画像パケット検索部142は、ビデオPESパケットについての始点を、始点の候補の音声出力タイムスタンプで示される時刻より後の時刻であって、始点の候補の音声出力タイムスタンプで示される時刻に最も近い時刻に表示される、GOPの最初のフレームを表示させるための画像データを格納する、表示スタンプが付加されているビデオPESパケットまでずらす。
【0125】
すなわち、画像パケット検索部142は、一時的に記憶されている音声データに付加されている音声出力タイムスタンプで示される時刻のうち、最も早い時刻より後の時刻であって、この最も早い時刻に最も近い時刻を示す表示タイムスタンプが付加されている、例えば、GOPである、符号化の単位であるフレームのうちの最初のフレームを表示するための画像データを削除の始点として検索する。
【0126】
ステップS133において、画像パケット検索部142は、ステップS132の処理で検索されたビデオPESパケットを始点の候補とし、ステップS134に進む。
【0127】
ステップS131において、始点の候補の表示タイムスタンプで示される時刻が、始点の候補の音声出力タイムスタンプで示される時刻より前でないと判定された場合、ステップS132およびステップS133の処理はスキップされ、手続きは、ステップS134に進む。
【0128】
ステップS134において、音声パケット検索部141は、オーディオバッファ102に記憶されているオーディオPESパケットから、始点の候補であるビデオPESパケットに付加されている表示タイムスタンプで示される時刻より後ではない時刻(表示タイムスタンプで示される時刻と同じ時刻または前の時刻)を示す音声出力タイムスタンプのうち、最も遅い時刻を示す音声出力タイムスタンプが付加されているオーディオPESパケットを検索する。換言すれば、音声パケット検索部141は、オーディオPESパケットについての始点を、始点の候補の表示タイムスタンプで示される時刻を超えない時刻であって、始点の候補の表示タイムスタンプで示される時刻に最も近い時刻に出力される音声を出力させるための音声データを格納する、音声出力タイムスタンプが付加されているオーディオPESパケットまでずらす。
【0129】
すなわち、音声パケット検索部141は、ステップS132の処理によって検索された画像データに付加されている表示タイムスタンプで示される時刻と同じ時刻または前の時刻であって、その表示タイムスタンプで示される時刻に最も近い時刻を示す音声出力タイムスタンプが付加されている音声データを削除の始点として検索する。
【0130】
ステップS135において、画像パケット検索部142は、始点の候補であるビデオPESパケットを始点とする。
【0131】
ステップS136において、音声パケット検索部141は、ステップS134の処理で検索されたオーディオPESパケットを始点とし、処理は終了する。
【0132】
このように、ビデオPESパケットについての始点は、オーディオPESパケットについての始点より後のGOPの先頭とされる。その後、オーディオPESパケットについての始点は、ビデオPESパケットについての始点と同じか、またはより前であって、ビデオPESパケットについての始点に最も近くなるように調整されて、オーディオPESパケットについての始点とビデオPESパケットについての始点とが決定される。
【0133】
次に、図11のフローチャートを参照して、ステップS85の処理に対応する削除の終点の決定の処理について説明する。ステップS151において、終点決定部125の音声パケット検索部144は、音声出力タイムスタンプで示される時刻までの始点からの音声の出力の時間が、予め定めた閾値を超える音声出力タイムスタンプのうち、時間が最も短い音声出力タイムスタンプが付加されているオーディオPESパケットを検索する。
【0134】
すなわち、音声パケット検索部144は、始点である音声データに付加されている音声出力タイムスタンプにより示される時刻から予め定めた時間を経過した時刻より後の時刻であって、その音声出力タイムスタンプにより示される時刻から予め定めた時間を経過した時刻に最も近い時刻を示す音声出力タイムスタンプが付加されている音声データを削除の終点として検索する。
【0135】
なお、ステップS151の処理で用いる閾値は、オーディオバッファ102およびビデオバッファ101の記憶容量を考慮した任意の値とすることができる。閾値により、削除の終点が決まるので、削除の終点がオーディオバッファ102に記憶されているオーディオPESパケットおよびビデオバッファ101に記憶されているビデオPESパケットとなるように、閾値の値を定める必要がある。
【0136】
ステップS152において、音声パケット検索部144は、検索されたオーディオPESパケットを終点に決定する。
【0137】
すなわち、終点決定部125の音声パケット検索部144は、始点から終点までの音声データによって出力される音声の長さ(時間)が、予め決めた時間(閾値)の長さを超えて、なおかつ最も短くなるようにオーディオPESパケットについての終点を決める。
【0138】
ステップS153において、終点決定部125の画像パケット検索部145は、”1”であるGOP先頭フラグが付加され、かつ、終点のオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻より後ではない時刻(音声出力タイムスタンプで示される時刻と同じ時刻かまたは前の時刻)であって、最も遅い時刻(最も近い時刻)を示す表示タイムスタンプが付加されているビデオPESパケットを検索する。すなわち、画像パケット検索部145は、GOPの最初のフレームの画像データを格納するビデオPESパケットのうち、終点のオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻と同じ時刻かまたは前の時刻であって、音声出力タイムスタンプで示される時刻に最も近い時刻を示す表示タイムスタンプが付加されているビデオPESパケットを検索する。
【0139】
ステップS154において、画像パケット検索部145は、ステップS153の処理で検索されたビデオPESパケットに格納されている画像データにより表示されるフレームで構成されるGOPの1つの前のGOPを構成するフレームを表示するための画像データを格納するビデオPESパケットから、”1”であるGOP先頭フラグが付加されているビデオPESパケットを検索する。すなわち、画像パケット検索部145は、ステップS153の処理で検索されたビデオPESパケットのGOPの1つ前の(直前の)GOPの最初のフレームの画像データを格納するビデオPESパケットを検索する。
【0140】
すなわち、画像パケット検索部145は、削除の終点として検索された音声データに付加されている音声出力タイムスタンプで示される時刻と同じ時刻または前の時刻を示す表示タイムスタンプが付加されている、例えば、GOPなどの、符号化の単位であるフレームのうちの最初のフレームを表示するための画像データを削除の終点として検索する。
【0141】
ステップS155において、画像パケット検索部145は、ステップS154の処理で検索されたビデオPESパケットを終点に決定し、処理は終了する。
【0142】
なお、ステップS153の処理で検索した、GOPの最初のフレームの画像データを格納するビデオPESパケットについて、ステップS154の処理において、さらに、1つ前のGOPの最初のフレームの画像データを格納するビデオPESパケットを検索するようにしたのは、GOPが、復号において、1つ前のGOPの画像データを必要とする、いわゆるオープンGOPである場合、後段の復号の処理において、正常に画像データを復号できるようにするためである。後述するフレームレート変換の処理において、1つ前のGOPのフレームは出力されないので、正常な画像のみが出力されることになる。
【0143】
GOPが、復号において、他のGOPの画像データを必要としない、いわゆるクローズドGOPである場合、ステップS154の処理を省略し、ステップS155の処理で検索されたビデオPESパケットを終点とすることができる。
【0144】
なお、ステップS154の処理において、ステップS153の処理で検索されたビデオPESパケットのGOPのj個前(jは、任意の整数)のGOPの最初のフレームの画像データを格納するビデオPESパケットを検索するようにしてもよい。
【0145】
このように、始点から終点までの音声データによって出力される音声の長さが、予め定めた時間を超えて、なおかつ、予め定めた時間に最も近い長さとなるように、音声パケット検索部144は、オーディオPESパケットについて終点を決める。画像パケット検索部145は、ビデオPESパケットについての終点を、オーディオPESパケットについての終点と同じか、またはより前になるように決める。
【0146】
次に、図12のフローチャートを参照して、ステップS86の処理に対応する画像データおよび音声データの削除の処理を説明する。ステップS171において、削除部126の画像データ削除部147は、ビデオバッファ101に記憶されているビデオPESパケットのうち、ビデオPESパケットについての始点から、終点の1つ前までのビデオPESパケットを削除する。
【0147】
すなわち、画像データ削除部147は、一時的に記憶されている画像データのうち、例えば、GOPである、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除する。
【0148】
ステップS172において、削除部126の音声データ削除部146は、オーディオバッファ102から、始点であるオーディオPESパケットに付加されている音声出力タイムスタンプ、および終点であるオーディオPESパケットに付加されている音声出力タイムスタンプを読み出す。ステップS173において、音声データ削除部146は、オーディオバッファ102に記憶されているオーディオPESパケットのうち、始点であるオーディオPESパケットと終点であるオーディオPESパケットとの間のオーディオPESパケットを削除する。
【0149】
ステップS174において、音声データ削除部146は、始点であるオーディオPESパケットにAAU(Audio Access Unit)の全体が格納されているAAUのうち、最初のAAUの先頭からオーディオPESパケットの最後までの音声データを始点であるオーディオPESパケットから削除する。
【0150】
ステップS175において、音声データ削除部146は、終点であるオーディオPESパケットの先頭から、終点であるオーディオPESパケットにAAUの全体が格納されているAAUのうち、最初のAAUの先頭の前までの音声データを削除する。
【0151】
すなわち、音声データ削除部146は、一時的に記憶されている音声データのうち、削除される画像データに付加された表示タイムスタンプで示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す音声出力タイムスタンプが付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示タイムスタンプで示される時刻である第2の時刻と同じ時刻または後の時刻を示す音声出力タイムスタンプが付加されている音声データの前の音声データまでを削除する。
【0152】
ステップS176において、音声データ削除部146は、始点であるオーディオPESパケットの残りの音声データと、終点であるオーディオPESパケットの残りの音声データとから1つのオーディオPESパケットを生成して、処理は終了する。
【0153】
このように、表示タイムスタンプおよび音声出力タイムスタンプを基に、画像データと、この画像データにより表示される画像と同期する音声を出力するための音声データとが削除される。この場合、削除される音声データに対して、画像データが少なめに削除される。
【0154】
すなわち、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データが削除されるとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでが削除される。
【0155】
次に、ステップS87の処理に対応する表示タイムスタンプおよび音声出力タイムスタンプの付け替えの処理の詳細を図13のフローチャートを参照して説明する。ステップS201において、音声出力タイムスタンプ付け替え部127は、始点であるオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻から、終点であるオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻までの時間を計算する。
【0156】
なお、図8のステップS88において、タイムスタンプオフセット量に、ステップS201の処理で計算された時間を加算することによって、タイムスタンプオフセット量記憶部123に記憶されているタイムスタンプオフセット量が更新される。すなわち、タイムスタンプオフセット量は、画像データおよび音声データが1回または複数回削除された場合の、削除された音声データにより出力されるはずであった音声の時間(長さ)の総和を示す。
【0157】
ステップS202において、表示タイムスタンプ付け替え部128は、ビデオバッファ101に残っている、削除されたビデオPESパケットから後のビデオPESパケットに付加されている表示タイムスタンプで示される時刻から、ステップS201の処理で計算した時間を引き算する。すなわち、ステップS202において、表示タイムスタンプ付け替え部128は、ビデオバッファ101に残っている、削除されたビデオPESパケットから後のビデオPESパケットに付加されている表示タイムスタンプのそれぞれで示される時刻のそれぞれから、ステップS201の処理で計算した時間を引き算する。
【0158】
ステップS203において、表示タイムスタンプ付け替え部128は、引き算の結果から、表示タイムスタンプを生成する。すなわち、ステップS203において、表示タイムスタンプ付け替え部128は、表示タイムスタンプのそれぞれで示される時刻のそれぞれから、ステップS201の処理で計算した時間を引き算し、引き算の結果のそれぞれを示す表示タイムスタンプを生成する。例えば、削除されたビデオPESパケットから後のビデオPESパケットに付加されている表示タイムスタンプが3つあり、それぞれ、a、b、cである時刻を示す場合、ステップS201の処理で計算された時間がαであるとき、ステップS203において、表示タイムスタンプ付け替え部128は、a−α、b−α、c−αのそれぞれを示す3つの表示タイムスタンプを生成する。
【0159】
ステップS204において、表示タイムスタンプ付け替え部128は、削除されたビデオPESパケットから後のビデオPESパケットに付加されている表示タイムスタンプに代えて、ステップS203の処理で生成した表示タイムスタンプを付加する。
【0160】
ステップS205において、音声出力タイムスタンプ付け替え部127は、オーディオバッファ102に残っている、音声データを削除したオーディオPESパケットの後のオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻から、ステップS201の処理で計算した時間を引き算する。すなわち、ステップS205において、音声出力タイムスタンプ付け替え部127はは、オーディオバッファ102に残っている、音声データが削除されたオーディオPESパケットから後のオーディオPESパケットに付加されている音声出力タイムスタンプのそれぞれで示される時刻のそれぞれから、ステップS201の処理で計算した時間を引き算する。
【0161】
ステップS206において、音声出力タイムスタンプ付け替え部127は、引き算の結果から、音声出力タイムスタンプを生成する。すなわち、ステップS206において、音声出力タイムスタンプ付け替え部127は、音声出力タイムスタンプのそれぞれで示される時刻のそれぞれから、ステップS201の処理で計算した時間を引き算し、引き算の結果のそれぞれを示す音声出力タイムスタンプを生成する。例えば、音声データが削除されたオーディオPESパケットから後のオーディオPESパケットに付加されている表示タイムスタンプが3つあり、それぞれ、x、y、zである時刻を示す場合、ステップS201の処理で計算された時間がαであるとき、ステップS206において、音声出力タイムスタンプ付け替え部127は、x−α、y−α、z−αのそれぞれを示す3つの音声出力タイムスタンプを生成する。
【0162】
ステップS207において、音声出力タイムスタンプ付け替え部127は、音声データを削除したオーディオPESパケットの後のオーディオPESパケットに付加されている音声出力タイムスタンプに代えて、ステップS206の処理で生成した音声出力タイムスタンプを付加して、処理は終了する。
【0163】
以上のように、一時的に記憶されている画像データおよび音声データであって、削除された画像データの後の画像データに付加されている表示タイムスタンプで示される時刻、および削除された音声データの後の音声データに付加されている音声出力タイムスタンプで示される時刻から、削除された音声データによって出力されるべき音声の時間をそれぞれ引き算した時刻を示すように表示タイムスタンプおよび音声出力タイムスタンプが付け替えられる。
【0164】
このように、削除された音声データの後のオーディオPESパケットには、元の音声出力タイムスタンプの時刻から、削除した音声データによって出力される音声の長さ(時間)を引き算した値を示す音声出力タイムスタンプが付け替えられるので、付け替えられた後の音声出力タイムスタンプで示される時刻は、遡ったり、必要以上に空いてしまうことなく、連続的な出力の時刻を示すことになる。これにより、音声データを削除した後でも、音声が途切れてしまうことがない。
【0165】
また、削除されたビデオPESパケットの後のビデオPESパケットには、元の音声出力タイムスタンプの時刻から、削除した音声データによって出力される音声の長さ(時間)を引き算した値を示す音声出力タイムスタンプが付け替えられる。従って、削除された音声データによる音声と同期する画像を表示するためのビデオPESパケットには、遡った時刻を示す表示タイムスタンプが付加され、削除されていない音声データによる音声と同期する画像を表示するためのビデオPESパケットには、音声データに付加された音声出力タイムスタンプで示される時刻と同期した時刻を示す表示タイムスタンプが付加される。
【0166】
詳細は後述するが、遡った時刻を示す表示タイムスタンプが付加されたビデオPESパケットは、後段のフレームコンバータ84におけるフレームレート変換の処理において、無視される。すなわち、遡った時刻を示す表示タイムスタンプが付加されたビデオPESパケットは、後段のフレームコンバータ84において削除される。
【0167】
従って、フレームレート変換の処理において、音声データにより出力される音声と、画像データにより表示される画像との同期が維持されることになる。
【0168】
フローチャートを参照して説明した処理の例を図14乃至図16を参照して説明する。
【0169】
図14は、オーディオバッファ102に記憶されているオーディオPESパケットの例を示す図である。図14において、それぞれの四角は、オーディオPESパケットを示す。図14中のオーディオPESパケットK乃至オーディオPESパケット(K+8)は、一連のオーディオPESパケットである。図14において、オーディオPESパケットKは、始点とされ、オーディオPESパケット(K+8)は、終点とされている。
【0170】
ステップS173において、削除部126の音声データ削除部146は、オーディオバッファ102に記憶されているオーディオPESパケットのうち、始点であるオーディオPESパケットKと終点であるオーディオPESパケット(K+8)との間のオーディオPESパケット、すなわち、オーディオPESパケット(K+1)乃至オーディオPESパケット(K+7)を削除する。
【0171】
ステップS174において、音声データ削除部146は、始点であるオーディオPESパケットKにAAUの全体が格納されているAAUのうち、図中のAで示される最初のAAUの先頭からオーディオPESパケットKの最後までの音声データを始点であるオーディオPESパケットから削除する。すなわち、図14中のオーディオPESパケットKから、網掛けされて表示されている、図中のAで示される最初のAAUの先頭からオーディオPESパケットKの最後までの音声データが削除される。
【0172】
ステップS175において、音声データ削除部146は、終点であるオーディオPESパケット(K+8)の先頭から、終点であるオーディオPESパケット(K+8)にAAUの全体が格納されているAAUのうち、図中のBで示される最初のAAUの先頭の前までの音声データを削除する。すなわち、図14中のオーディオPESパケット(K+8)から、網掛けされて表示されている、終点であるオーディオPESパケット(K+8)の先頭から、終点であるオーディオPESパケット(K+8)にAAUの全体が格納されているAAUのうち、最初のAAUの先頭の前までの音声データが削除される。
【0173】
図15および図16は、画像データの削除および音声データの削除を説明する図である。図15および図16において、実線で囲まれたそれぞれの四角は、オーディオPESパケットを示し、点線で囲まれたそれぞれの四角は、ビデオPESパケットを示す。図15および図16において、音声出力タイムスタンプおよび表示タイムスタンプで示される時刻は、1msを単位として示す。例えば、図15および図16中の、2485である時刻は、2485msを示す。
【0174】
始点であるオーディオPESパケットに時刻445msを示す音声出力タイムスタンプが付加されている場合、ステップS151における閾値が2000msとされているとき、ステップS151において、終点決定部125の音声パケット検索部144は、音声出力タイムスタンプで示される時刻までの始点からの音声の出力の時間が、予め定めた閾値である2000msを超える音声出力タイムスタンプを検索する。すなわち、音声パケット検索部144は、445+2000=2445を超える時刻を示す音声出力タイムスタンプを検索する。さらに、音声パケット検索部144は、2445を超える時刻を示す音声出力タイムスタンプの中から、始点である時刻445からの時間が最も短い、時刻2485を示す音声出力タイムスタンプが付加されているオーディオPESパケットを検索する。
【0175】
なお、ステップS134の処理において、オーディオバッファ102に記憶されているオーディオPESパケットから、始点の候補であるビデオPESパケットに付加されている表示タイムスタンプで示される時刻と同じ時刻または前の時刻を示す音声出力タイムスタンプのうち、最も遅い時刻を示す音声出力タイムスタンプが付加されているオーディオPESパケットが検索されるので、ビデオPESパケットの始点は、オーディオPESパケットの始点と同じか後とされる。例えば、図14において、GOPの最初のフレームを表示させるための画像データを格納する、始点としてのビデオPESパケットに付加された表示タイムスタンプは、時刻445msより後の時刻476msを示す。
【0176】
ステップS153において、画像パケット検索部145は、GOPの最初のフレームの画像データを格納するビデオPESパケットのうち、終点のオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻2485と同じ時刻かまたは前の時刻であって、音声出力タイムスタンプで示される時刻に最も近い時刻を示す表示タイムスタンプが付加されているビデオPESパケットを検索する。
【0177】
さらに、ステップS154において、ステップS153の処理で検索されたビデオPESパケットのGOPの1つ前の(直前の)GOPの最初のフレームの画像データを格納するビデオPESパケットが検索される。例えば、1つのGOPの画像は、500msの時間において表示されるので、ステップS154において、終点のオーディオPESパケットに付加されている音声出力タイムスタンプで示される時刻2485msより500ms以上前である、時刻1985msより前の、例えば、時刻1978msを示す表示タイムスタンプが付加されている、GOPの最初のフレームの画像データを格納するビデオPESパケットが検索される。
【0178】
図14を参照して説明したように、始点であるオーディオPESパケットから終点であるオーディオPESパケットまでの、所定の音声データ(図15中の白抜きで示される音声データ)が削除される。
【0179】
また、ステップS171において、ビデオバッファ101に記憶されているビデオPESパケットのうち、図15中の白抜きで示される、ビデオPESパケットについての始点から、終点の1つ前のビデオPESパケットまでが削除される。
【0180】
図15において、削除される音声データおよびビデオPESパケットの前の音声データおよびビデオPESパケットには、右上がりの斜線を付し、削除される音声データおよびビデオPESパケットの後の音声データおよびビデオPESパケットには、右下がりの斜線を付してある。
【0181】
図16で示されるように、ステップS176において、始点であるオーディオPESパケットの残りの音声データと、終点であるオーディオPESパケットの残りの音声データとから1つのオーディオPESパケットが生成される。
【0182】
音声データを削除したオーディオPESパケットの後のオーディオPESパケットには、始点の時刻から終点の時刻までの時間を、元の時刻から引き算した時刻を示す音声出力タイムスタンプが付加される。すなわち、オーディオPESパケットについての始点から終点までの時間は2040msであり、終点のオーディオPESパケットには、時刻2485msを示す音声出力タイムスタンプが付加されていたので、2485msから2040msを引き算した結果である445msを示す音声出力タイムスタンプが終点であるオーディオPESパケットに付加される。
【0183】
削除したビデオPESパケットの後のビデオPESパケットには、オーディオPESパケットについての始点の時刻から終点の時刻までの時間を、元の時刻から引き算した時刻を示す表示タイムスタンプが付加される。すなわち、オーディオPESパケットについての始点から終点までの時間は2040msであり、終点のビデオPESパケットには、時刻1978msを示す表示タイムスタンプが付加されていたので、1978msから2040msを引き算した結果である−62msを示す表示タイムスタンプが終点であるビデオPESパケットに付加される。
【0184】
次に、フレームが到着した場合、処理が開始される、フレームコンバータ84によるフレームレート変換の処理について図17のフローチャートを参照して説明する。ステップS231において、フレームコンバータ84は、出力時刻toを変換前のフレームの表示タイムスタンプに設定する。
【0185】
ステップS232において、フレームコンバータ84は、変換前のフレームの表示終了時刻tを変換前のフレームの表示タイムスタンプに、復号されたフレームの間隔を加算することにより計算される値に設定する。
【0186】
ステップS233において、フレームコンバータ84は、出力時刻toが表示終了時刻tより小さいか否かを判定し、出力時刻toが表示終了時刻tより小さいと判定された場合、ステップS234に進み、記憶されているフレームを出力する。
【0187】
ステップS235において、フレームコンバータ84は、出力時刻toに、出力される画像のフレームの間隔を加算して、ステップS233に戻り、上述した処理を繰り返す。ここで、出力される画像のフレームの間隔は、出力される画像のフレームレートの逆数である。
【0188】
ステップS233において、出力時刻toが表示終了時刻tより小さくないと判定された場合、ステップS236に進み、フレームコンバータ84は、表示タイムスタンプと共に、復号されたフレームを取得する。
【0189】
ステップS237において、フレームコンバータ84は、フレームを記憶する。
【0190】
ステップS238において、フレームコンバータ84は、表示終了時刻tに元の動画のフレーム間隔を加算して、ステップS233に戻り、上述した処理を繰り返す。
【0191】
図18は、フレームコンバータ84によるフレームレート変換の処理を説明する図である。図18において、フレーム1は、時刻0msから時刻40msまで出力され、フレーム2は、時刻40msから時刻80msまで出力され、フレーム3は、時刻80msから時刻120msまで出力され、フレーム4は、時刻120msから時刻160msまで出力され、フレーム5は、時刻160msから時刻200msまで出力され、フレーム6は、時刻200msから時刻240msまで出力される。
【0192】
フレーム1乃至フレーム6の表示開始時刻は、表示タイムスタンプで示され、それぞれ、時刻0ms、時刻40ms、時刻80ms、時刻120ms、時刻160ms、時刻200msである。
【0193】
また、フレーム1の終了時刻は、時刻40msであり、フレーム2の終了時刻は、時刻80msであり、フレーム3の終了時刻は、時刻120msであり、フレーム4の終了時刻は、時刻160msであり、フレーム5の終了時刻は、時刻200msであり、フレーム6の終了時刻は、時刻240msである。
【0194】
はじめに、出力時刻toは、0に設定されるので、0msである時刻tにおいて、フレーム1が出力される。次に、0である出力時刻toには、33.3667が加算され、出力時刻toは、33.3667に設定される。フレーム1は、0ms乃至40msまでの間で表示されるので、時刻tが33.3667msになった場合、フレーム1が出力される。
【0195】
さらに、33.3667である出力時刻toには、33.3667が加算され、出力時刻toは、66.7334に設定される。66.7334である出力時刻toが40である表示終了時刻tより小さくなくなるので、フレーム2が取得される。フレーム2は、40ms乃至80msまでの間で表示されるので、時刻tが66.7334msになった場合、フレーム2が出力される。
【0196】
66.7334である出力時刻toには、33.3667が加算され、出力時刻toは、100.1001に設定される。100.1001である出力時刻toが80である表示終了時刻tより小さくなくなるので、フレーム3が取得される。フレーム3は、80ms乃至120msまでの間で表示されるので、時刻tが100.1001msになった場合、フレーム3が出力される。
【0197】
さらに、100.1001である出力時刻toには、33.3667が加算され、出力時刻toは、133.4668に設定される。133.4668である出力時刻toが120である表示終了時刻tより小さくなくなるので、フレーム4が取得される。フレーム4は、120ms乃至160msまでの間で表示されるので、時刻tが133.4668msになった場合、フレーム4が出力される。
【0198】
そして、133.4668である出力時刻toには、33.3667が加算され、出力時刻toは、166.8335に設定される。166.8335である出力時刻toが160である表示終了時刻tより小さくなくなるので、フレーム5が取得される。フレーム5は、160ms乃至200msまでの間で表示されるので、時刻tが166.8335msになった場合、フレーム5が出力される。
【0199】
また、166.8335である出力時刻toには、33.3667が加算され、出力時刻toは、200.2002に設定される。200.2002である出力時刻toが200である表示終了時刻tより小さくなくなるので、フレーム6が取得される。フレーム6は、200ms乃至240msまでの間で表示されるので、時刻tが200.2002msになった場合、フレーム6が出力される。
【0200】
さらに、200.2002である出力時刻toには、33.3667が加算され、出力時刻toは、233.5669に設定される。フレーム6は、200ms乃至240msまでの間で表示されるので、時刻tが233.5669msになった場合、フレーム6が出力される。
【0201】
このように、フレームレート変換の処理において、フレーム毎の終了時刻までに、時刻tが出力時刻toになると、そのフレームが出力される。
【0202】
図16で例示したように、付け替えられた後の音声出力タイムスタンプで示される時刻は、連続的な出力の時刻を示す。一方、削除された音声データによる音声と同期する画像を表示するためのビデオPESパケットには、遡った時刻を示す表示タイムスタンプが付加される。
【0203】
時刻tは単調に増加するので、遡った時刻を示す表示タイムスタンプがビデオPESパケットに付加されていて、遡った時刻から計算される終了時刻が時刻tより前であれば、フレームレート変換の処理において、ステップS237の処理によって、直ちにステップS234の処理に戻ることになり、遡った時刻を示す表示タイムスタンプが付加されているビデオPESパケットを復号して得られたフレームが出力されることがない。すなわち、そのビデオPESパケットに格納されている画像データで表示されるフレームは無視(削除)されることになる。
【0204】
図19で示されるように、フレームと終了時刻とを用いて、フレームレート変換の処理において、不要なフレームを無視することができる。
【0205】
これにより、削除の処理で削除されなかったビデオPESパケットに格納されている画像データであって、削除された音声データに同期して表示されるはずであった画像がフレームレート変換の処理において削除されることになる。
【0206】
したがって、フレームレート変換の処理の後段においては、画像と音声とが完全に同期することになる。
【0207】
以上のように、本発明においては、入力側において一時的に記憶されている画像データおよび音声データを削除するようにしたので、画像データおよび音声データの復号段階で削除する場合に比較して、より簡単に、より迅速に、画像データおよび音声データを削除することができるようになる。また、入力側において一時的に記憶されている画像データおよび音声データを削除するようにしたので、復号の段階で削除する場合またはフレームレートを変換した後に削除する場合に比較して、復号などの後段の処理の負荷をより少なくすることができるようになる。
【0208】
入力側において先入れ先出しするように一時的に記憶されている画像データおよび音声データを、単に、先頭から削除すると、画像と音声との同期がずれてしまうが、本発明においては、画像の表示の時刻を示す情報および音声の出力の時刻を示す情報を基に、画像データと、この画像データにより表示される画像に同期する音声を出力する音声データとを削除するようにしたので、画像と音声との同期がずれてしまうことがない。
【0209】
なお、PTSを基に、表示タイムスタンプおよび音声出力タイムスタンプを生成し、これをビデオPESパケットおよびオーディオPESパケットに付加して、表示タイムスタンプおよび音声出力タイムスタンプを用いて処理を行うと説明したが、これに限らず、ビデオPESパケットおよびオーディオPESパケットに格納されているPTSを用いて処理を行うようにしてもよい。
【0210】
また、ビデオPESパケットおよびオーディオPESパケットを検索すると説明したが、表示タイムスタンプおよび音声出力タイムスタンプを検索するようにしてもよい。この場合、検索された表示タイムスタンプおよび音声出力タイムスタンプが付加されているビデオPESパケットおよびオーディオPESパケットが、始点の候補、始点、または終点となる。
【0211】
なお、本発明が適用される一例としてトランスコーダを説明したが、これに限るものではなく、画像データおよび音声データを削除した後には、所望の処理を実行することができる。例えば、画像または音声にいわゆるエフェクトをかける処理、画質または音質を高解像度または低解像度に変換する処理などストリームとしての画像データおよび音声データに適用できる処理であれば、任意の処理を実行させることができる。
【0212】
また、MPEG2システムストリームの処理を例に説明したが、画像を表示させ、これに同期する音声を出力するためのストリームであって、画像データが所定の数のフレームまたはフィールドを単位として符号化され、表示または出力する時刻を示す情報が付加されていれば足り、MPEG4、またはH.264/AVC(Advanced Video Coding)など所望の方式のストリームに適用できる。
【0213】
このように、付加されているタイムスタンプを基に、画像データおよび音声データを削除するようにした場合には、画像と音声との同期を維持することができる。また、入力された画像データおよび音声データをそれぞれ先入れ先出しするように、画像データおよび音声データの一時的な記憶を制御し、記憶されている画像データおよび音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている画像データのうち、1つの符号化の単位または複数の符号化の単位であって連続している単位毎に画像データを削除するとともに、一時的に記憶されている音声データのうち、削除される画像データに付加された表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、第1の時刻に最も近い時刻を示す出力時刻情報が付加されている音声データから、削除される画像データのうちの最後の画像データの次の画像データに付加された表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す出力時刻情報が付加されている音声データの前の音声データまでを削除するようにした場合には、画像と音声との同期を維持したまま、より簡単に、より迅速に、画像データおよび音声データを削除することができる。
【0214】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0215】
この記録媒体は、図2に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク41(フレキシブルディスクを含む)、光ディスク42(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ44などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM12や、記録部18に含まれるハードディスクなどで構成される。
【0216】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインターフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【0217】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0218】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【0219】
【図1】本発明に係るトランスコードシステムの一実施の形態を示すブロック図である。
【図2】サーバの構成を示すブロック図である。
【図3】トランスコーダの構成を示すブロック図である。
【図4】システムデコーダのより詳細な構成を示すブロック図である。
【図5】トランスコードの処理を説明するフローチャートである。
【図6】表示タイムスタンプの付加の処理を説明するフローチャートである。
【図7】音声出力タイムスタンプの付加の処理を説明するフローチャートである。
【図8】削除の処理を説明するフローチャートである。
【図9】削除の始点の候補の決定の処理を説明するフローチャートである。
【図10】削除の始点の調整の処理を説明するフローチャートである。
【図11】削除の終点の決定の処理を説明するフローチャートである。
【図12】画像データおよび音声データの削除の処理を説明するフローチャートである。
【図13】表示タイムスタンプおよび音声出力タイムスタンプの付け替えの処理を説明するフローチャートである。
【図14】オーディオバッファに記憶されているオーディオPESパケットの例を示す図である。
【図15】画像データの削除および音声データの削除を説明する図である。
【図16】画像データの削除および音声データの削除を説明する図である。
【図17】フレームレート変換の処理を説明するフローチャートである。
【図18】フレームレート変換の処理を説明する図である。
【図19】フレームレート変換の処理を説明する図である。
【符号の説明】
【0220】
1 サーバ, 2 ネットワーク, 11 CPU, 12 ROM, 13 RAM, 18 記録部, 19 通信部, 41 磁気ディスク, 42 光ディスク, 43 光磁気ディスク, 44 半導体メモリ, 81 システムデコーダ, 84 フレームコンバータ, 91 MPEGアナライザ, 92 入力バッファ, 101 ビデオバッファ, 102 オーディオバッファ, 121 表示タイムスタンプ付加部, 122 音声出力タイムスタンプ付加部, 123 タイムスタンプオフセット量記憶部, 124 始点決定部, 125 終点決定部, 126 削除部, 127 音声出力タイムスタンプ付け替え部, 128 表示タイムスタンプ付け替え部, 141 音声パケット検索部, 142 画像パケット検索部, 143 判定部, 144 音声パケット検索部, 145 画像パケット検索部, 146 音声データ削除部, 147 画像データ削除部

【特許請求の範囲】
【請求項1】
所定の数のフレームを単位として符号化されている、動画像を表示するための画像データであって、表示する時刻を示す表示時刻情報が付加されている画像データと、前記動画像に同期する音声を出力するための音声データであって、出力する時刻を示す出力時刻情報が付加されている音声データとからなるストリームを処理する情報処理装置において、
入力された前記画像データおよび前記音声データをそれぞれ先入れ先出しするように、前記画像データおよび前記音声データの一時的な記憶を制御する記憶制御手段と、
記憶されている前記画像データおよび前記音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている前記画像データのうち、1つの符号化の前記単位または複数の符号化の前記単位であって連続している前記単位毎に前記画像データを削除するとともに、一時的に記憶されている前記音声データのうち、削除される前記画像データに付加された前記表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、前記第1の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データから、削除される前記画像データのうちの最後の前記画像データの次の前記画像データに付加された前記表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す前記出力時刻情報が付加されている前記音声データの前の前記音声データまでを削除する削除手段と
を含むことを特徴とする情報処理装置。
【請求項2】
一時的に記憶されている前記画像データおよび前記音声データであって、削除された前記画像データの後の前記画像データに付加されている前記表示時刻情報で示される時刻、および削除された前記音声データの後の前記音声データに付加されている前記出力時刻情報で示される時刻から、削除された前記音声データによって出力されるべき音声の時間をそれぞれ引き算した時刻を示すように前記表示時刻情報および前記出力時刻情報を付け替える付け替え手段をさらに含む
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記付け替え手段によって、時間を遡る時刻を示す前記表示時刻情報に付け替えられた前記画像データの処理を抑制するように、前記画像データを処理する処理手段をさらに含む
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記削除手段は、一時的に記憶されている前記音声データのうち、削除される前記画像データに付加された前記表示時刻情報で示される時刻のうち、最も早い時刻である前記第1の時刻と同じ時刻または前の時刻であって、前記第1の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データから、削除される前記画像データのうちの最後の前記画像データの次の前記画像データに付加された前記表示時刻情報で示される時刻である前記第2の時刻と同じ時刻または後の時刻であって、前記第2の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データの前の前記音声データまでを削除する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記削除手段は、一時的に記憶されている前記音声データのうち、削除される前記画像データに付加された前記表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、前記第1の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データから、削除される前記画像データの最後の前記単位の2つ後の前記単位の先頭の前記画像データに付加された前記表示時刻情報で示される時刻である第3の時刻と同じ時刻または後の時刻であって、前記第3の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データの前の前記音声データまでを削除する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
一時的に記憶されている前記音声データに付加されている前記出力時刻情報で示される時刻のうち、最も早い時刻である第3の時刻より後の時刻であって、前記第3の時刻に最も近い時刻である前記第1の時刻を示す前記表示時刻情報が付加されている、符号化の前記単位であるフレームのうちの最初のフレームを表示するための前記画像データを削除の始点として検索するとともに、検索された前記画像データに付加されている前記表示時刻情報で示される前記第1の時刻と同じ時刻または前の時刻であって、前記第1の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データを削除の始点として検索する第1の検索手段と、
検索された前記音声データに付加されている前記出力時刻情報により示される時刻から予め定めた時間を経過した時刻である第4の時刻より後の時刻であって、前記第4の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データを削除の終点として検索するとともに、削除の終点として検索された前記音声データに付加されている前記出力時刻情報で示される時刻と同じ時刻または前の時刻を示す前記表示時刻情報が付加されている、符号化の前記単位であるフレームのうちの最初のフレームを表示するための前記画像データを削除の終点として検索する第2の検索手段と
をさらに含み、
前記削除手段は、検索された始点および終点を基に、前記画像データおよび前記音声データを削除する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
所定の数のフレームを単位として符号化されている、動画像を表示するための画像データであって、表示する時刻を示す表示時刻情報が付加されている画像データと、前記動画像に同期する音声を出力するための音声データであって、出力する時刻を示す出力時刻情報が付加されている音声データとからなるストリームを処理する情報処理方法において、
入力された前記画像データおよび前記音声データをそれぞれ先入れ先出しするように、前記画像データおよび前記音声データの一時的な記憶を制御する記憶制御ステップと、
記憶されている前記画像データおよび前記音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている前記画像データのうち、1つの符号化の前記単位または複数の符号化の前記単位であって連続している前記単位毎に前記画像データを削除するとともに、一時的に記憶されている前記音声データのうち、削除される前記画像データに付加された前記表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、前記第1の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データから、削除される前記画像データのうちの最後の前記画像データの次の前記画像データに付加された前記表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す前記出力時刻情報が付加されている前記音声データの前の前記音声データまでを削除する削除ステップと
を含むことを特徴とする情報処理方法。
【請求項8】
所定の数のフレームを単位として符号化されている、動画像を表示するための画像データであって、表示する時刻を示す表示時刻情報が付加されている画像データと、前記動画像に同期する音声を出力するための音声データであって、出力する時刻を示す出力時刻情報が付加されている音声データとからなるストリームを処理する情報処理を、コンピュータに行わせるプログラムにおいて、
入力された前記画像データおよび前記音声データをそれぞれ先入れ先出しするように、前記画像データおよび前記音声データの一時的な記憶を制御する記憶制御ステップと、
記憶されている前記画像データおよび前記音声データのデータ量が予め定めた閾値を越えた場合、一時的に記憶されている前記画像データのうち、1つの符号化の前記単位または複数の符号化の前記単位であって連続している前記単位毎に前記画像データを削除するとともに、一時的に記憶されている前記音声データのうち、削除される前記画像データに付加された前記表示時刻情報で示される時刻のうち、最も早い時刻である第1の時刻と同じ時刻または前の時刻であって、前記第1の時刻に最も近い時刻を示す前記出力時刻情報が付加されている前記音声データから、削除される前記画像データのうちの最後の前記画像データの次の前記画像データに付加された前記表示時刻情報で示される時刻である第2の時刻と同じ時刻または後の時刻を示す前記出力時刻情報が付加されている前記音声データの前の前記音声データまでを削除する削除ステップと
を含むことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2006−197401(P2006−197401A)
【公開日】平成18年7月27日(2006.7.27)
【国際特許分類】
【出願番号】特願2005−8263(P2005−8263)
【出願日】平成17年1月14日(2005.1.14)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】