(57)【要約】【課題】デジタルストリームを入力時よりも遅い速度で出力する処理を、特別な回路を用いることなく、かつ正確に行う。【解決手段】ストリーム変換装置１０には、入力ストリーム２１として、ＭＰＥＧ２トランスポートストリームが入力される。タイムスタンプ付加部１１は、このストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加する。パケット間引き部１２は、このストリームに所定の繰り返しパターンで含まれるＮＵＬＬパケットを削除する。タイムスタンプ付け替え部１３は、ＮＵＬＬパケットが含まれる割合に基づき、パケット間引き部１２で削除されなかったパケットに付加されたタイムスタンプを付け替える。タイムスタンプ付け替え後のパケットは、バッファ１４に一時的に蓄積され、パケット読み出し部１５と出力部１６とよって、各パケットに付加されたタイムスタンプの時刻に出力される。【選択図】　　　　図１
2004088758.tif 000002
【特許請求の範囲】
【請求項１】
パケット形式を有するデジタルストリームを入力時よりも遅い速度で出力するデジタルストリーム変換装置であって、
入力されたデジタルストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加するタイムスタンプ付加部と、
前記デジタルストリームに所定の繰り返しパターンで含まれる削除対象パケットを削除し、残余のパケットを出力するパケット間引き部と、
前記デジタルストリームに含まれる削除対象パケットの割合に基づき、前記パケット間引き部から出力されたパケットに付加されたタイムスタンプを付け替えるタイムスタンプ付け替え部と、
前記タイムスタンプ付け替え部から出力されたパケットを、各パケットに付加されたタイムスタンプの時刻に出力するパケット出力部とを備えた、デジタルストリーム変換装置。
【請求項２】
前記パケット間引き部は、前記タイムスタンプ付加部から出力されたパケットに含まれる削除対象パケットの位置を求めるまでの処理として、削除対象パケットとは異なる種類のパケットの直後に、削除対象パケットと同じ種類のパケットが入力された場合には、当該パケットを削除し、削除対象パケットと同じ種類のパケットが連続して入力された場合には、当該連続したパケットのうち、奇数番目に位置するパケットを削除し、偶数番目に位置するパケットを出力することを特徴とする、請求項１に記載のデジタルストリーム変換装置。
【請求項３】
前記パケット間引き部は、前記タイムスタンプ付加部から出力されたパケットに含まれる削除対象パケットの位置を求めた後の処理として、求めた位置にあるパケットを削除し、残余のパケットについては、削除対象パケットと同じ種類のパケットであっても、これを出力することを特徴とする、請求項１に記載のデジタルストリーム変換装置。
【請求項４】
前記デジタルストリームにはα（０＜α＜１）の割合で削除対象パケットが含まれており、
前記タイムスタンプ付け替え部は、削除対象パケットの直後のパケットについては、タイムスタンプの付け替えを行わず、それ以外のパケットについては、直前のパケットに付加されたタイムスタンプとの差が従前のβ倍（ただし、１＜β＜１／（１−α））となるように、タイムスタンプの付け替えを行うことを特徴とする、請求項１に記載のデジタルストリーム変換装置。
【請求項５】
前記タイムスタンプ付加部および前記パケット出力部で使用される時刻は、所定の周波数を有するクロック信号を数えたカウント値であることを特徴とする、請求項１に記載のデジタルストリーム変換装置。
【請求項６】
前記デジタルストリームは、ＭＰＥＧ２システム規格に準拠したトランスポートストリームであり、
前記パケット間引き部は、前記トランスポートストリームに所定の繰り返しパターンで含まれるヌルパケットを、削除対象パケットとして扱うことを特徴とする、請求項１に記載のデジタルストリーム変換装置。
【請求項７】
前記タイムスタンプ付加部および前記パケット出力部で使用される時刻は、２７ＭＨｚの周波数で更新されるカウント値であり、
前記タイムスタンプ付け替え部は、前記パケット間引き部から出力されたパケットにプログラム時刻基準参照値が含まれる場合には、当該パケットに付加されたタイムスタンプの付け替え前の値と付け替え後の値との差を、当該パケットに含まれるプログラム時刻基準参照値に加算することを特徴とする、請求項６に記載のデジタルストリーム変換装置。
【請求項８】
前記デジタルストリームは、符号化率が８分の７、６分の５、４分の３、３分の２、および２分の１のいずれかであるＱＰＳＫ方式で変調されたアナログ信号を復調して得られたストリームであることを特徴とする、請求項１に記載のデジタルストリーム変換装置。
【請求項９】
前記デジタルストリームは、符号化率が２分の１であるＢＰＳＫ方式で変調されたアナログ信号を復調して得られたストリームであることを特徴とする、請求項１に記載のデジタルストリーム変換装置。
【請求項１０】
パケット形式を有するデジタルストリームを入力時よりも遅い速度で出力するデジタルストリーム変換方法であって、
入力されたデジタルストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加するステップと、
前記デジタルストリームに所定の繰り返しパターンで含まれる削除対象パケットを削除し、残余のパケットを次段ステップに出力するステップと、
前記デジタルストリームに含まれる削除対象パケットの割合に基づき、削除対象パケットを削除した後のパケットに付加されたタイムスタンプを付け替えるステップと、
タイムスタンプの付け替え処理を施したパケットを、各パケットに付加されたタイムスタンプの時刻に出力するステップとを備えた、デジタルストリーム変換方法。
【請求項１１】
コンピュータに、パケット形式を有するデジタルストリームを入力時よりも遅い速度で出力するデジタルストリーム変換方法を実行させるためのプログラムであって、
入力されたデジタルストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加するステップと、
前記デジタルストリームに所定の繰り返しパターンで含まれる削除対象パケットを削除し、残余のパケットを次段ステップに出力するステップと、
前記デジタルストリームに含まれる削除対象パケットの割合に基づき、削除対象パケットを削除した後のパケットに付加されたタイムスタンプを付け替えるステップと、
タイムスタンプの付け替え処理を施したパケットを、各パケットに付加されたタイムスタンプの時刻に出力するステップとを備えた、デジタルストリーム変換方法をコンピュータに実行させるための、プログラム。
【請求項１２】
コンピュータに、パケット形式を有するデジタルストリームを入力時よりも遅い速度で出力するデジタルストリーム変換方法を実行させるためのプログラムを記録した、コンピュータ読み取り可能な記録媒体であって、入力されたデジタルストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加するステップと、
前記デジタルストリームに所定の繰り返しパターンで含まれる削除対象パケットを削除し、残余のパケットを次段ステップに出力するステップと、
前記デジタルストリームに含まれる削除対象パケットの割合に基づき、削除対象パケットを削除した後のパケットに付加されたタイムスタンプを付け替えるステップと、
タイムスタンプの付け替え処理を施したパケットを、各パケットに付加されたタイムスタンプの時刻に出力するステップとを備えた、デジタルストリーム変換方法をコンピュータに実行させるためのプログラムを記録した、記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルストリーム変換装置および方法に関し、より特定的には、パケット形式を有するデジタルストリームを入力時よりも遅い速度で出力するデジタルストリーム変換装置および方法に関する。
【０００２】
【従来の技術】
ＭＰＥＧ２（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ　２）規格に準拠したトランスポートストリームなど、各種のデジタルストリームを処理するときに、入力されたデジタルストリームを入力時よりも遅い速度で出力する処理を行う場合がある。以下では、デジタルストリームの速度変換処理と、これに伴いデジタルストリームに含まれるデータの一部を変更する処理とを合わせて、ストリーム変換処理という。また、ストリーム変換処理を行う装置をストリーム変換装置という。
【０００３】
ストリーム変換装置については、従来から例えば、特許文献１に記載されたＭＰＥＧ２トランスポートストリーム伝送レート変換装置が知られている（図１３を参照）。この装置には、入力ストリーム９１として、所定長のパケットからなるＭＰＥＧ２トランスポートストリームが入力される。ＭＰＥＧ２トランスポートストリームには、無効なデータのみを含んだパケット（以下、ＮＵＬＬパケットという）や、ＭＰＥＧ２システム規格で規定されたプログラム時刻基準参照値（Ｐｒｏｇｒａｍ　Ｃｌｏｃｋ　Ｒｅｆｅｒｅｎｃｅ　：以下、ＰＣＲという）を含んだパケットが含まれる。入力ストリーム９１に含まれる各パケットには、パケットの種類を識別するために、パケット識別子が付される。
【０００４】
入力ストリーム９１は、同期検出部８１に入力される。同期検出部８１は、入力ストリーム９１の同期を検出する。パケット識別部８２は、各パケットに付されたパケット識別子に基づき、パケットを識別する。より詳細には、パケット識別部８２は、入力ストリーム９１に含まれるＮＵＬＬパケットを削除し、ＮＵＬＬパケット以外のパケット（以下、非ＮＵＬＬパケットという）をバッファ８９に書き込む。バッファ８９は、非ＮＵＬＬパケットを一時的に蓄積する。
【０００５】
ＰＣＲ抽出部８３は、パケット識別部８２から非ＮＵＬＬパケットが出力されたときに、バッファ８９に対する書き込み制御信号９２を生成するとともに、ＰＣＲを含む非ＮＵＬＬパケットからＰＣＲ９３を抽出する。ＰＬＬ（Ｐｈａｓｅ　Ｌｏｃｋｅｄ　Ｌｏｏｐ　）回路８４は、ＰＣＲ抽出部８３で抽出されたＰＣＲ９３に基づき２７ＭＨｚのシステムクロックを生成し、ＰＬＬ後のＰＣＲ９４をＰＣＲ付け替え部８７に出力する。
【０００６】
一方、パケット読み出し部８５は、外部から供給された出力タイミング信号９５に同期して、バッファ８９に蓄積されたパケットを読み出す。読み出されたパケットのうち、ＰＣＲを含まないパケットは出力部８８に、ＰＣＲを含むパケットはＰＣＲ付け替え部８７に供給される。ＰＣＲ付け替え部８７は、バッファ８９から読み出されたパケットに含まれるＰＣＲを、ＰＬＬ回路８４から出力されたＰＬＬ後のＰＣＲ９４に付け替え、この処理を施した後のパケットを出力部８８に供給する。ＮＵＬＬパケット生成部８６は、パケット読み出し部８５から出力された制御信号９６に応じて、ＮＵＬＬパケットを生成する。
【０００７】
出力部８８は、バッファ８９から読み出されたパケット（ＰＣＲ付け替え部８７を経由するパケットを含む）と、ＮＵＬＬパケット生成部８６で生成されたＮＵＬＬパケットとを、出力ストリーム９７として装置の外部に出力する。
【０００８】
なお、図１３に示す装置がＮＵＬＬパケット生成部８６を備える理由は、出力ストリーム９７の連続性を保証するためである。例えば、入力ストリーム９１に異常が発生したときには、バッファ８９に蓄積されたパケットがなくなり、出力ストリーム９７が不連続となる可能性がある。図１３に示す装置では、このようにパケットが不足するときでも、必要に応じてＮＵＬＬパケットが生成され、生成されたＮＵＬＬパケットが出力ストリーム９７として出力される。これにより、出力ストリーム９７の連続性が保証される。
【０００９】
【特許文献１】
特開平１１−２０５７８９号公報
【００１０】
【発明が解決しようとする課題】
しかしながら、上記のような従来のストリーム変換装置には、以下のような問題点がある。まず、このストリーム変換装置は、ＰＬＬ回路とＰＣＲ付け替え部とを用いてＰＣＲの付け替えを行うので、この処理のためにＰＬＬ回路を備える必要がある。また、パケットに含まれるＰＣＲが不連続になったときなど、ＰＣＲ抽出部におけるＰＣＲ抽出タイミングによっては、ＰＬＬ回路の動作が不安定になることがある。ＰＬＬ回路の動作が不安定になると、ＰＣＲの付け替えに誤りが生じ、出力ストリームが正しく出力されなくなることがある。さらに、入力ストリームに複数系統のＰＣＲが含まれる場合には、ＰＣＲの付け替えを正しく行えないことがある。
【００１１】
それ故に、本発明は、上記課題を解決するストリーム変換装置および方法を提供することを目的とする。
【００１２】
【課題を解決するための手段および発明の効果】
第１の発明は、パケット形式を有するデジタルストリームを入力時よりも遅い速度で出力するデジタルストリーム変換装置であって、入力されたデジタルストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加するタイムスタンプ付加部と、デジタルストリームに所定の繰り返しパターンで含まれる削除対象パケットを削除し、残余のパケットを出力するパケット間引き部と、デジタルストリームに含まれる削除対象パケットの割合に基づき、パケット間引き部から出力されたパケットに付加されたタイムスタンプを付け替えるタイムスタンプ付け替え部と、タイムスタンプ付け替え部から出力されたパケットを、各パケットに付加されたタイムスタンプの時刻に出力するパケット出力部とを備える。これにより、ＰＬＬ回路などの特別な回路を使用することなく、安定的かつ正確に、ストリーム変換処理を行うことができる。例えば、このようなストリーム変換装置を情報機器や映像機器などのメインバスとインターフェイス回路との間に設けることにより、メインバスを有効かつ効率的に利用することができる。
【００１３】
この場合、パケット間引き部は、タイムスタンプ付加部から出力されたパケットに含まれる削除対象パケットの位置を求めるまでの処理として、削除対象パケットとは異なる種類のパケットの直後に、削除対象パケットと同じ種類のパケットが入力された場合には、当該パケットを削除し、削除対象パケットと同じ種類のパケットが連続して入力された場合には、当該連続したパケットのうち、奇数番目に位置するパケットを削除し、偶数番目に位置するパケットを出力することとしてもよい。これにより、削除対象パケットの位置を求めるまでの間に、削除対象パケットと同じ種類のパケットが、出力ストリームからすべて削除されることを防止することができる。
【００１４】
あるいは、パケット間引き部は、タイムスタンプ付加部から出力されたパケットに含まれる削除対象パケットの位置を求めた後の処理として、求めた位置にあるパケットを削除し、残余のパケットについては、削除対象パケットと同じ種類のパケットであっても、これを出力することとしてもよい。これにより、削除対象パケットの位置を求めた後に、削除対象パケットと同じ種類のパケットが、出力ストリームからすべて削除されることを防止することができる。
【００１５】
また、デジタルストリームにα（０＜α＜１）の割合で削除対象パケットが含まれる場合には、タイムスタンプ付け替え部は、削除対象パケットの直後のパケットについては、タイムスタンプの付け替えを行わず、それ以外のパケットについては、直前のパケットに付加されたタイムスタンプとの差が従前のβ倍（ただし、１＜β＜１／（１−α））となるように、タイムスタンプの付け替えを行うこととしてもよい。これにより、パケットが出力される時間帯が重なることを防止できるので、タイムスタンプの付け替え処理を施したパケットを、各パケットに付加されたタイムスタンプの時刻に出力した場合に、ストリームを正しく出力することができる。
【００１６】
また、タイムスタンプ付加部およびパケット出力部で使用される時刻は、所定の周波数を有するクロック信号を数えたカウント値であってもよい。これにより、タイムスタンプ付加部およびパケット出力部で使用される時刻を簡単に求めることができる。
【００１７】
また、デジタルストリームが、ＭＰＥＧ２システム規格に準拠したトランスポートストリームである場合には、パケット間引き部は、トランスポートストリームに所定の繰り返しパターンで含まれるヌルパケットを、削除対象パケットとして扱うこととしてもよい。これにより、ＭＰＥＧ２トランスポートストリームについてストリーム変換処理を行うことができる。
【００１８】
より好ましくは、タイムスタンプ付加部およびパケット出力部で使用される時刻は、２７ＭＨｚの周波数で更新されるカウント値であり、タイムスタンプ付け替え部は、パケット間引き部から出力されたパケットにプログラム時刻基準参照値が含まれる場合には、当該パケットに付加されたタイムスタンプの付け替え前の値と付け替え後の値との差を、当該パケットに含まれるプログラム時刻基準参照値に加算することとしてもよい。これにより、従来のストリーム変換装置で必要とされていた、特別なＰＣＲ付け替え回路が不要となる。また、タイムスタンプ付け替え部は、タイムスタンプの付け替えで求めた値を用いてＰＣＲの付け替えを行うことにより、ＰＣＲの付け替えを簡単な処理で行うことができる。さらに、ＰＣＲはデジタル数値演算に基づき更新されるので、計算の過程で誤差が生じたり、回路が不安定で計算不能となったり、計算結果を間違えたりすることを防止することができる。
【００１９】
また、この装置に入力されるデジタルストリームは、符号化率が８分の７、６分の５、４分の３、３分の２、および２分の１のいずれかであるＱＰＳＫ方式で変調されたアナログ信号を復調して得られたストリームであってもよく、符号化率が２分の１であるＢＰＳＫ方式で変調されたアナログ信号を復調して得られたストリームであってもよい。これにより、デジタルテレビジョン放送信号に基づくデジタルストリームから無効なデータを削除し、デジタルストリームのデータ量を削減することができる。
【００２０】
第２の発明は、パケット形式を有するデジタルストリームを入力時よりも遅い速度で出力するデジタルストリーム変換方法であって、入力されたデジタルストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加するステップと、デジタルストリームに所定の繰り返しパターンで含まれる削除対象パケットを削除し、残余のパケットを次段ステップに出力するステップと、デジタルストリームに含まれる削除対象パケットの割合に基づき、削除対象パケットを削除した後のパケットに付加されたタイムスタンプを付け替えるステップと、タイムスタンプの付け替え処理を施したパケットを、各パケットに付加されたタイムスタンプの時刻に出力するステップとを備える。これにより、ＰＬＬ回路などの特別な回路を使用することなく、安定的かつ正確に、ストリーム変換処理を行うことができる。例えば、このようなストリーム変換装置を情報機器や映像機器などのメインバスとインターフェイス回路との間に設けることにより、メインバスを有効かつ効率的に利用することができる。
【００２１】
第３の発明は、コンピュータに第２の発明に係るストリーム変換方法を実行させるためのプログラムである。第４の発明は、コンピュータに第２の発明に係るストリーム変換方法を実行させるためのプログラムを記録した、コンピュータ読み取り可能な記憶媒体である。
【００２２】
【発明の実施の形態】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るストリーム変換装置の構成を示すブロック図である。図１に示すストリーム変換装置１０は、タイムスタンプ付加部１１、パケット間引き部１２、タイムスタンプ付け替え部１３、バッファ１４、パケット読み出し部１５、出力部１６、および時刻カウント部１７を備える。ストリーム変換装置１０は、入力ストリーム２１を入力時よりも遅い速度で出力するストリーム変換処理を行う。
【００２３】
ストリーム変換装置１０の詳細な構成を説明するに先立ち、図２を参照して、ストリーム変換装置１０の使用形態の一例を説明する。図２は、ストリーム変換装置１０を含んだビデオ機器の構成の一部を示すブロック図である。図２において、共通バス３１は、ビデオ機器のメインバスである。共通バス３１には、ハードディスクドライブ３２、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ　ＤＲＡＭ）３３、およびストリーム変換装置１０が接続されている。また、ストリーム変換装置１０には、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ　Ｄｒｉｖｅ　Ｅｌｅｃｔｒｏｎｉｃｓ）インターフェイス部３４、トランスポートストリームデコーダ３５、ＩＥＥＥ１３９４インターフェイス部３６、グラフィックスインターフェイス部３７などのインターフェイス回路３８が接続されている。このように図２に示すビデオ機器では、ストリーム変換装置１０は、共通バス３１とインターフェイス回路３８とに接続された状態で使用される。
【００２４】
インターフェイス回路３８は、各種のデジタルストリームを出力する。インターフェイス回路３８から出力されるストリームには、例えば、ＭＰＥＧ２トランスポートストリーム、ＭＰＥＧ２ビデオストリーム、ＭＰＥＧ２以外のビデオストリーム、オーディオストリーム、データストリームなどがある。インターフェイス回路３８から出力されたストリームは、ストリーム変換装置１０と共通バス３１とを経由して、ハードディスクドライブ３２やＳＤＲＡＭ３３などに書き込まれる。
【００２５】
インターフェイス回路３８から出力されたストリームの中には、パケット形式を有し、かつ、所定長の無効なパケットを含むものがある。例えば、インターフェイス回路３８から出力されたストリームが、ＱＰＳＫ（Ｑｕａｄｒａｔｕｒｅ　Ｐｈａｓｅ　Ｓｈｉｆｔ　Ｋｅｙｉｎｇ　）方式やＢＰＳＫ（Ｂｉｎａｒｙ　Ｐｈａｓｅ　Ｓｈｉｆｔ　Ｋｅｙｉｎｇ　）方式で変調されたアナログ信号を復調して得られたＭＰＥＧ２トランスポートストリームである場合には、このストリームの中には、無効なデータのみを含んだＮＵＬＬパケットが所定の繰り返しパターンで含まれる。
【００２６】
図２に示すビデオ機器では、共通バス３１の伝送能力を有効に活用し、共通バス３１を用いたアクセスを高速化するために、ストリーム変換装置１０は、インターフェイス回路３８から出力されたストリームから無効なパケットを削除する。例えば、インターフェイス回路３８から出力されたストリームが、上記ＭＰＥＧ２トランスポートストリームである場合には、ストリーム変換装置１０は、このストリームからＮＵＬＬパケットを削除し、残余のパケットを入力時よりも遅い速度で出力する。このようなストリーム変換装置１０を用いることにより、共通バス３１に出力されるデジタルストリームのデータ量を削減し、共通バス３１の伝送帯域を実質的に拡大することができる。
【００２７】
なお、共通バス３１には、図２に示した要素以外にも、例えば、ＣＰＵ、ＤＳＰ、ＲＡＭ、ＲＯＭ、その他の機器などが接続されていてもよい。また、ストリーム変換装置１０には、図２に示した以外のインターフェイス回路（例えば、ビデオストリーム、オーディオストリーム、データストリームなどを扱う機器）が接続されていてもよい。また、ストリーム変換装置１０は、共通バス３１に接続された回路あるいは装置からインターフェイス回路３８に向かうストリームに対して、ストリーム変換処理を行ってもよい。また、ストリーム変換装置１０の使用形態は、図２に示す形態に限定されない。すなわち、ストリーム変換装置１０は、ストリーム変換処理に適した任意の形態で使用される。
【００２８】
以下、再び図１を参照して、ストリーム変換装置１０の詳細を説明する。ストリーム変換装置１０には、所定の速度で入力ストリーム２１が入力される。入力ストリーム２１は、例えば、符号化率（所定の繰り返しパターンで含まれるＮＵＬＬパケット以外のパケットの割合）が４分の３であるＱＰＳＫ方式で変調されたアナログ信号を復調して得られたＭＰＥＧ２トランスポートストリームである。このＭＰＥＧ２トランスポートストリームでは、ｍを０以上３以下のいずれかの整数としたときに、先頭から（４ｎ−ｍ）番目（ただし、ｎは自然数。以下、同じ）のパケットは、必ずＮＵＬＬパケットとなる。なお、本実施形態では、入力ストリーム２１には、所定の繰り返しパターンで含まれるＮＵＬＬパケット以外に、ＮＵＬＬパケットは含まれていないものとする。
【００２９】
ストリーム変換装置１０は、入力ストリーム２１からＮＵＬＬパケットを削除し、ＮＵＬＬパケットを削除した後のストリームを出力ストリーム２３として出力する。このため、ストリーム変換装置１０に含まれる各構成要素は、以下のように動作する。なお、以下では、入力ストリーム２１に所定の繰り返しパターンで含まれるＮＵＬＬパケットの割合を、α（０＜α＜１）とする。
【００３０】
時刻カウント部１７は、所定の周波数で更新されるカウント値を出力する。時刻カウント部１７は、例えば、２７ＭＨｚの周波数を有するクロック信号を数えるカウンタを用いて構成される。時刻カウント部１７は、タイムスタンプ付加部１１とパケット読み出し部１５とに対して、上記カウント値を出力する。このカウント値は、タイムスタンプ付加部１１ではタイムスタンプの基準時刻として、パケット読み出し部１５では出力タイミングの基準時刻として使用される。
【００３１】
タイムスタンプ付加部１１は、入力ストリーム２１に含まれるパケットにタイムスタンプを付加する。より詳細には、タイムスタンプ付加部１１は、入力ストリーム２１に含まれるパケットに、各パケットがタイムスタンプ付加部１１に入力された時点で時刻カウント部１７から出力されているカウント値を、タイムスタンプとして付加する。
【００３２】
パケットはタイムスタンプ付加部１１に逐次的に入力されるので、各パケットには異なる値を有するタイムスタンプが付加される。ここで、連続した２個のパケットに付加されるタイムスタンプの差ΔＴＳは、次式（１）によって与えられる。
ΔＴＳ＝ＣＦ×ＰＬ／Ｓｉｎ　…（１）
ただし、上式（１）において、ＣＦは時刻カウント部１７におけるカウント値が更新される周波数を、ＰＬは入力ストリーム２１に含まれる各パケットの長さを、Ｓｉｎは入力ストリーム２１の入力速度を表す。
【００３３】
パケット間引き部１２は、タイムスタンプ付加部１１から出力されたパケットから、入力ストリーム２１に所定の繰り返しパターンで含まれるＮＵＬＬパケットを削除し、残余のパケット（本実施形態では、必ず非ＮＵＬＬパケットである）を出力する。パケット間引き部１２は、入力ストリーム２１からα（０＜α＜１）の割合でＮＵＬＬパケットを削除するので、パケット間引き部１２からは、入力ストリーム２１の（１−α）倍のパケットが出力される。
【００３４】
タイムスタンプ付け替え部１３は、上記割合αに基づき、パケット間引き部１２から出力されたパケットに付加されたタイムスタンプを付け替える。入力ストリーム２１に含まれるパケットの一部がパケット間引き部１２によって削除されるので、出力ストリーム２３を出力するときには、同じ時間内に、入力時よりも少ないパケットを出力すれば済む。そこで、タイムスタンプ付け替え部１３は、以下に示すように、連続した２個のパケットに付加されたタイムスタンプの差を広げる処理を行う。
【００３５】
タイムスタンプ付け替え部１３は、削除されたパケットの直後のパケットについては、タイムスタンプの付け替えを行わず、それ以外のパケットについては、直前のパケットに付加されたタイムスタンプとの差が従前のβ倍（ただし、１＜β＜１／（１−α））となるように、タイムスタンプの付け替えを行う。すなわち、タイムスタンプ付け替え部１３は、ＮＵＬＬパケットの直後のパケットについては、タイムスタンプの付け替えを行わない。これに対して、タイムスタンプ付け替え部１３は、非ＮＵＬＬパケットの直後のパケットについては、当該パケットに付加されたタイムスタンプを、次式（２）を用いて算出された値ＴＳｎｅｗ　に付け替える。
ＴＳｎｅｗ　＝ＴＳｐｒｅｖ＋ΔＴＳ×β　…（２）
ただし、上式（２）において、ＴＳｐｒｅｖは処理対象のパケットの直前のパケットに付加されたタイムスタンプの付け替え後の値、ΔＴＳは上式（１）を用いて算出された値を表す。また、入力ストリーム２１の入力速度をＳｉｎ、出力ストリーム２３の出力速度の最大値をＳｏｕｔ　としたとき、βはＳｉｎをＳｏｕｔ　で割った値Ｓｉｎ／Ｓｏｕｔ　を表す。
【００３６】
ストリーム変換装置１０の内部では、種々の処理がゼロより大きい所定の時間で実行されるので、出力ストリーム２３は、入力ストリーム２１よりもある時間以上遅れて出力される。そこで、出力ストリーム２３の出力時刻を入力ストリーム２１の入力時刻よりも遅らせるために、タイムスタンプ付け替え部１３は、上述したタイムスタンプ付け替え処理に加えて、パケット間引き部１２から出力されたパケットに付加されたタイムスタンプに一律に所定値ＴＤを加算する。所定値ＴＤは、入力ストリーム２１が入力されてから出力ストリーム２３が出力されるまでの遅延時間の最小値に相当する。
【００３７】
バッファ１４、パケット読み出し部１５、および出力部１６は、タイムスタンプ付け替え部１３から出力されたパケットを、各パケットに付加されたタイムスタンプの時刻に出力するパケット出力部として機能する。より詳細には、バッファ１４は、タイムスタンプ付け替え部１３から出力されたパケットを一時的に蓄積する。パケット読み出し部１５は、時刻カウント部１７からカウント値の供給を受け、このカウント値とバッファ１４に蓄積されたパケットに付加されたタイムスタンプとを比較し、両者が一致したときに、当該パケットをバッファ１４から読み出す。出力部１６は、出力タイミング信号２２の供給を受け、パケット読み出し部１５によって読み出されたパケットを、出力タイミング信号２２に同期して出力する。出力部１６から出力されたストリームが、ストリーム変換装置１０から出力される出力ストリーム２３となる。
【００３８】
出力タイミング信号２２の周波数は、出力ストリーム２３の出力速度の最大値Ｓｏｕｔ　が入力ストリーム２１の入力速度Ｓｉｎよりも遅く、かつ、パケット間引き部１２からのストリーム出力速度（（１−α）×Ｓｉｎ）よりも速くなるように決定される。すなわち、出力タイミング信号２２の周波数は、次式（３）を満たすように決定される。
（１−α）×Ｓｉｎ＜Ｓｏｕｔ　＜Ｓｉｎ　…（３）
なお、Ｓｉｎ／Ｓｏｕｔ　がβであることを考慮すると、上式（３）は、次式（４）のように書き替えることもできる。
１＜β　＜１／（１−α）　…（４）
【００３９】
以下、図３を参照して、ストリーム変換装置１０における処理の具体例を説明する。図３は、ストリーム変換装置１０における処理の一例を示す図である。図３には、ストリーム変換装置１０が以下の条件で動作した場合の処理が描かれている。その条件とは、まず、入力ストリーム２１は、符号化率が４分の３であるＱＰＳＫ方式で変調されたアナログ信号を復調して得られたＭＰＥＧ２トランスポートストリームであるとする。また、入力ストリーム２１の入力速度は５２．１７Ｍビット／秒、出力ストリーム２３の出力速度はその４分の３（すなわち、３９．１２７５Ｍビット／秒）であり、出力タイミング信号２２は、出力ストリーム２３の出力速度の最大値が４０．２０５Ｍビット／秒となるようなクロック信号であるとする。また、入力ストリーム２１に含まれる各パケットの長さは１８８バイトであり、時刻カウント部１７は、２７ＭＨｚの周波数でカウント値を更新するとする。また、第１および第５パケットがＮＵＬＬパケットであり、ストリーム変換装置１０は、入力ストリーム２１に含まれるＮＵＬＬパケットの位置を既に認識しているとする。さらに、説明の便宜上、タイムスタンプ付け替え部１３では、パケット間引き部１２から出力されたパケットに付加されたタイムスタンプに、上記所定値ＴＤとして値ゼロが加算されるとする。
【００４０】
この例では、ＣＦは２７ＭＨｚ、ＰＬは１８８バイト（すなわち、１５０４ビット）、Ｓｉｎは５２．１７Ｍビット／秒である。したがって、連続した２個のパケットに付加されたタイムスタンプの差ΔＴＳは、上式（１）を用いて、次のように計算される。
ΔＴＳ＝（２７×１０６）×１５０４／（５２．１７×１０６）≒７７９
よって、タイムスタンプ付加部１１は、入力ストリーム２１に含まれるパケットに、７７９ずつ増加するタイムスタンプを付加する。これにより、図２の２段目に示すように、第１から第８パケットには、順に０、７７９、１５５８、２３３７、３１１６、３８９５、４６７４、および５４５３が、タイムスタンプとして付加される。
【００４１】
ストリーム変換装置１０は、第１および第５パケットの位置がＮＵＬＬパケットの位置であることを既に認識している。このため、パケット間引き部１２は、図３の３段目に示すように、第１から第８パケットのうち、第１および第５パケットを削除し、残余の６個のパケットを出力する。
【００４２】
また、Ｓｏｕｔ　は４０．２０５Ｍビット／秒であるので、上式（２）に含まれるΔＴＳ×βは、次のように計算される。
2004088758.tif 000003
【００４３】
この例では、第１および第５パケットがＮＵＬＬパケットであるから、第２および第６パケットは、ＮＵＬＬパケットの直後のパケットとなる。したがって、タイムスタンプ付け替え部１３は、第２および第６パケットに対して、タイムスタンプの付け替えを行わない。このため、第２および第６パケットは、タイムスタンプ付加部１１によって付加されたタイムスタンプ（７７９および３８９５）が付加された状態で、バッファ１４に蓄積される。
【００４４】
これに対して、第２パケットは非ＮＵＬＬパケットであるから、第３パケットは、ＮＵＬＬパケットの直後のパケットではない。したがって、第３パケットのタイムスタンプは、上式（２）を用いて、直前のパケットに付加されたタイムスタンプ（すなわち、第２パケットに付加されたタイムスタンプ７７９）に１０１０を加算した１７８９に書き換えられる。同様に、第４、第７および第８パケットのタイムスタンプは、それぞれ、２７９９、４９０５および５９１５に書き換えられる（図３の３段目を参照）。タイムスタンプの付け替え処理を施したパケットは、バッファ１４に蓄積される。
【００４５】
バッファ１４に蓄積されたパケットは、当該パケットに付加されたタイムスタンプの時刻に読み出される。バッファ１４に蓄積された第２パケットに付加されたタイムスタンプの値は、７７９である。したがって、図２の４段目および５段目に示すように、時刻カウント部１７から出力されたカウント値が７７９となったときに、パケット読み出し部１５は、第２パケットをバッファ１４から読み出す。このように第２パケットは、バッファ１４に書き込まれると、直ちにパケット読み出し部１５によって読み出される。
【００４６】
これに対して、バッファ１４に蓄積された第３パケットに付加されたタイムスタンプの値は、１５５８ではなく、１７８９である。したがって、時刻カウント部１７から出力されたカウント値が１７８９となったときに、パケット読み出し部１５は、第３パケットをバッファ１４から読み出す。このように第３パケットは、時刻カウント部１７から出力されたカウント値が１５５８から１７８９に変化するまでの間、バッファ１４に蓄積される。
【００４７】
出力部１６は、出力ストリーム２３の出力速度の最大値が４０．２０５Ｍビット／秒となる出力タイミング信号２２の供給を受け、パケット読み出し部１５によって読み出されたパケットを出力ストリーム２３として出力する。バッファ１４に蓄積されたパケットのタイムスタンプは、直前のパケットに付加されたタイムスタンプとの差が従前の１倍より大きく、３分の４倍より小さくなるように付け替えられている。このため、バッファ１４に蓄積されたパケットが出力される時間帯が重なることがない。したがって、上記特性を有する出力タイミング信号２２に同期して、バッファ１４に蓄積されたパケットを順次出力することにより、出力ストリーム２３を正しく出力することができる。
【００４８】
以上に示すように、本実施形態に係るストリーム変換装置は、１）入力ストリームに含まれるパケットに、各パケットの入力時刻をタイムスタンプとして付加し、２）入力ストリームに所定の繰り返しパターンで含まれるＮＵＬＬパケットを削除し、３）ＮＵＬＬパケットが含まれる割合に基づき、ＮＵＬＬパケットを削除した後のパケットに付加されたタイムスタンプを付け替え、４）付け替え処理を施したパケットを、各パケットに付加されたタイムスタンプの時刻に出力する。これにより、ＰＬＬ回路などの特別な回路を使用することなく、安定的かつ正確に、ストリーム変換処理を行うことができる。例えば、このようなストリーム変換装置を情報機器や映像機器などのメインバスとインターフェイス回路との間に設けることにより、メインバスを有効かつ効率的に利用することができる。
【００４９】
（第２の実施形態）
第２の実施形態では、第１の実施形態とは符号化率が異なる入力ストリームに対してストリーム変換処理を行う、ストリーム変換装置について説明する。本実施形態では、第１例から第４例までの４種類のストリーム変換装置について説明する。これら４種類のストリーム変換装置は、いずれも、第１の実施形態に係るストリーム変換装置と同じ構成を備え（図１を参照）、第１の実施形態に係るストリーム変換装置と同様の形態で（例えば、図２に示すようにビデオ機器に内蔵した状態で）使用される。なお、これらの点は、後述する他の実施形態についても同様である。
【００５０】
第１例のストリーム変換装置には、入力ストリーム２１として、符号化率が２分の１であるＱＰＳＫ方式（あるいはＢＰＳＫ方式）で変調されたアナログ信号を復調して得られた、ＭＰＥＧ２トランスポートストリームが入力される。第２例のストリーム変換装置には、入力ストリーム２１として、符号化率が３分の２であるＱＰＳＫ方式で変調されたアナログ信号を復調して得られた、ＭＰＥＧ２トランスポートストリームが入力される。第３例および第４例のストリーム変換装置に入力される入力ストリーム２１は、第２例のストリーム変換装置に入力される入力ストリームと、その符号化率のみが相違する。すなわち、第３例および第４例のストリーム変換装置に入力される入力ストリーム２１の符号化率は、それぞれ、６分の５、および８分の７である。
【００５１】
図４から図７は、それぞれ、第１例から第４例のストリーム変換装置における処理を、図３と同じ条件で描いたものである。ただし、出力ストリーム２３の出力速度の最大値や出力タイミング信号２２の周波数は、各図の間で互いに相違する。第１例から第４例のストリーム変換装置では、第１の実施形態に係るストリーム変換装置と同様に、第１から第８パケットには、順に０、７７９、１５５８、２３３７、３１１６、３８９５、４６７４、および５４５３が、タイムスタンプとして付加される（図４から図７の２段目を参照）。
【００５２】
第１例のストリーム変換装置（図４を参照）では、入力ストリーム２１の符号化率は２分の１である。そこで、上式（３）を満たすように、出力ストリーム２３の出力速度の最大値Ｓｏｕｔ　を２８Ｍビット／秒とする。また、このストリームでは、ｍを０または１のいずれかとしたときに、先頭から（２ｎ−ｍ）番目のパケットは、必ずＮＵＬＬパケットとなる。ここでは、第（２ｎ−１）パケット（第１、第３、第５パケットなど）がＮＵＬＬパケットであるとする。
【００５３】
このストリーム変換装置では、パケット間引き部１２は、第（２ｎ−１）パケットのみを削除する。また、タイムスタンプ付け替え部１３は、第２ｎパケットに対して、タイムスタンプの付け替えを行わない。このため、第２ｎパケットは、タイムスタンプ付加部１１によって付加されたタイムスタンプ（７７９、２３３７、３８９５など）が付加された状態で、バッファ１４に蓄積される。バッファ１４に蓄積されたパケットは、時刻カウント部１７から出力されたカウント値が当該パケットに付加されたタイムスタンプと一致したときに、パケット読み出し部１５によって読み出される。出力部１６は、パケット読み出し部１５によって読み出されたパケットを、外部から供給された出力タイミング信号２２に同期して出力する。
【００５４】
第２例のストリーム変換装置（図５を参照）では、入力ストリーム２１の符号化率は３分の２である。そこで、上式（３）を満たすように、出力ストリーム２３の出力速度の最大値Ｓｏｕｔ　を３６Ｍビット／秒とする。また、このストリームでは、ｍを０、１または２のいずれかとしたときに、先頭から（３ｎ−ｍ）番目のパケットは、必ずＮＵＬＬパケットとなる。ここでは、第（３ｎ−２）パケット（第１、第４、第７パケットなど）がＮＵＬＬパケットであるとする。
【００５５】
このストリーム変換装置では、パケット間引き部１２は、第（３ｎ−２）パケットのみを削除する。また、タイムスタンプ付け替え部１３は、第（３ｎ−１）パケットに対して、タイムスタンプの付け替えを行わない。このため、第（３ｎ−１）パケットは、タイムスタンプ付加部１１によって付加されたタイムスタンプ（７７９、３１１６、５４５３など）が付加された状態で、バッファ１４に蓄積される。
【００５６】
一方、タイムスタンプ付け替え部１３は、第３ｎパケットに対して、上式（２）を用いて、タイムスタンプの付け替えを行う。この場合、上式（２）に含まれるΔＴＳ×βは、１１２８である。したがって、第３ｎパケットに付加されたタイムスタンプは、直前のパケットとのタイムスタンプの差が１１２８となるように付け替えられる。例を挙げると、第３パケットのタイムスタンプは１５５８から１９０７に、第６パケットのタイムスタンプは３８９５から４２２２にそれぞれ付け替えられる。このようなタイムスタンプ付け替え処理を施した第３ｎパケットは、バッファ１４に蓄積される。その後の処理は、第１例のストリーム変換装置と同じである。
【００５７】
第３例のストリーム変換装置（図６を参照）では、入力ストリーム２１の符号化率は６分の５である。そこで、上式（３）を満たすように、出力ストリーム２３の出力速度の最大値Ｓｏｕｔ　を４５Ｍビット／秒とする。また、このストリームでは、ｍを０以上５以下のいずれかの整数としたときに、先頭から（６ｎ−ｍ）番目のパケットは、必ずＮＵＬＬパケットとなる。ここでは、第（６ｎ−５）パケット（第１、第７、第１３パケットなど）がＮＵＬＬパケットであるとする。
【００５８】
このストリーム変換装置では、パケット間引き部１２は、第（６ｎ−５）パケットのみを削除する。また、タイムスタンプ付け替え部１３は、第（６ｎ−４）パケットに対して、タイムスタンプの付け替えを行わない。このため、第（６ｎ−４）パケットは、タイムスタンプ付加部１１によって付加されたタイムスタンプ（７７９、５４５３など）が付加された状態で、バッファ１４に蓄積される。
【００５９】
一方、タイムスタンプ付け替え部１３は、第（６ｎ−ｍ’）（ただし、ｍ’は０以上３以下の整数）に対して、上式（２）を用いて、タイムスタンプの付け替えを行う。この場合、上式（２）に含まれるΔＴＳ×βは、９０３である。したがって、第（６ｎ−ｍ’）（ただし、ｍ’は上記と同じ）に付加されたタイムスタンプは、直前のパケットとのタイムスタンプの差が９０３となるように付け替えられる。例を挙げると、第３パケットのタイムスタンプは１５５８から１６８２に、第４パケットのタイムスタンプは２３３７から２５８５にそれぞれ付け替えられる。このようなタイムスタンプ付け替え処理を施した第（６ｎ−ｍ’）（ただし、ｍ’は上記と同じ）パケットは、バッファ１４に蓄積される。その後の処理は、第１例のストリーム変換装置と同じである。
【００６０】
第４例のストリーム変換装置（図７を参照）では、入力ストリーム２１の符号化率は８分の７である。そこで、上式（３）を満たすように、出力ストリーム２３の出力速度の最大値Ｓｏｕｔ　を４７Ｍビット／秒とする。また、このストリームでは、ｍを０以上７以下のいずれかの整数としたときに、先頭から（８ｎ−ｍ）番目のパケットは、必ずＮＵＬＬパケットとなる。ここでは、第（８ｎ−７）パケット（第１、第９、第１７パケットなど）がＮＵＬＬパケットであるとする。
【００６１】
このストリーム変換装置では、パケット間引き部１２は、第（８ｎ−７）パケットのみを削除する。また、タイムスタンプ付け替え部１３は、第（８ｎ−６）パケットに対して、タイムスタンプの付け替えを行わない。このため、第（８ｎ−６）パケットは、タイムスタンプ付加部１１によって付加されたタイムスタンプ（７７９、６２３２など）が付加された状態で、バッファ１４に蓄積される。
【００６２】
一方、タイムスタンプ付け替え部１３は、第（８ｎ−ｍ’）（ただし、ｍ’は０以上５以下の整数）に対して、上式（２）を用いて、タイムスタンプの付け替えを行う。この場合、上式（２）に含まれるΔＴＳ×βは、８６４である。したがって、第（８ｎ−ｍ’）（ただし、ｍ’は上記と同じ）に付加されたタイムスタンプは、直前のパケットとのタイムスタンプの差が８６４となるように付け替えられる。例を挙げると、第３パケットのタイムスタンプは１５５８から１６４３に、第４パケットのタイムスタンプは２３３７から２５０７に付け替えられる。このようなタイムスタンプ付け替え処理を施した第（８ｎ−ｍ’）（ただし、ｍ’は上記と同じ）パケットは、バッファ１４に蓄積される。その後の処理は、第１例のストリーム変換装置と同じである。
【００６３】
以上に示すように、本実施形態に係るストリーム変換装置によれば、第１の実施形態に係るストリーム変換装置と同じ原理で、第１の実施形態とは符号化率が異なる入力ストリームに対してストリーム変換処理を行うことができる。したがって、第１の実施形態に係るストリーム変換装置と同様の効果を奏することができる。
【００６４】
なお、入力ストリーム２１の入力速度、出力ストリーム２３の出力速度、出力タイミング信号２２の周波数、時刻カウント部１７におけるカウント値が更新される周波数などは、上述した値に限定されない。
【００６５】
（第３の実施形態）
第３の実施形態では、所定の繰り返しパターンで含まれるＮＵＬＬパケット（以下、削除対象のＮＵＬＬパケットという）以外のＮＵＬＬパケット（以下、削除対象でないＮＵＬＬパケットという）を含む入力ストリームに対して、ストリーム変換処理を行うストリーム変換装置について説明する。
【００６６】
本実施形態に係るストリーム変換装置には、入力ストリーム２１として、第１の実施形態と同様に、符号化率が４分の３であるＱＰＳＫ方式で変調されたアナログ信号を復調して得られた、ＭＰＥＧ２トランスポートストリームが入力されるとする。このＭＰＥＧ２トランスポートストリームでは、ｍを０以上３以下のいずれかの整数としたときに、先頭から（４ｎ−ｍ）番目のパケットは、必ずＮＵＬＬパケットとなる。先頭から（４ｎ−ｍ）番目にあるＮＵＬＬパケットは、削除対象のＮＵＬＬパケットとして扱われる。また、本実施形態では、入力ストリーム２１には、これら削除対象のＮＵＬＬパケット以外に、削除対象でないＮＵＬＬパケットが含まれているものとする。
【００６７】
本実施形態に係るストリーム変換装置は、入力ストリーム２１に含まれる削除対象のＮＵＬＬパケットの位置を認識した状態（以下、同期確立状態という）と、その位置を認識していない状態（以下、同期非確立状態という）とを有し、２つの状態間で状態遷移を行う。具体的には、このストリーム変換装置は、同期確立状態において、削除対象のパケットが入力されるべきときに非ＮＵＬＬパケットが入力された場合には、同期非確立状態に遷移する。これとは逆に、このストリーム変換装置は、同期非確立状態において、連続して入力された非ＮＵＬＬパケットの個数がその最大値（例えば、上記ＭＰＥＧ２トランスポートストリームの場合は３）となったときに、同期確立状態に遷移する。
【００６８】
また、本実施形態に係るストリーム変換装置は、同期確立状態では、第１の実施形態に係るストリーム変換装置と同様に動作する。ただし、パケット間引き部１２は、同期確立状態において削除対象でないＮＵＬＬパケットが入力されたときには、当該パケットを削除することなく、タイムスタンプ付け替え部１３に出力する。
【００６９】
さらに、このストリーム変換装置は、同期非確立状態において非ＮＵＬＬパケットが入力されたときには、当該パケットに対して、同期確立状態において入力された非ＮＵＬＬパケットと同様の処理を行う。また、このストリーム変換装置は、同期非確立状態において非ＮＵＬＬパケットの直後にＮＵＬＬパケットが入力された場合には、当該パケットを削除し、ＮＵＬＬパケットが連続して入力された場合には、当該連続したＮＵＬＬパケットのうち、奇数番目に位置するパケットを削除し、偶数番目に位置するパケットを出力する。
【００７０】
以下、図８から図１０を参照して、本実施形態に係るストリーム変換装置の動作を具体的に説明する。図８から図１０は、それぞれ、本実施形態に係るストリーム変換装置における処理を、図３と同じ条件で描いたものである。
【００７１】
図８には、同期非確立状態において、２個のＮＵＬＬパケットが連続して入力された場合の処理が描かれている。この例では、第１および第５パケットが削除対象のＮＵＬＬパケットであり、第２パケットは削除対象でないＮＵＬＬパケットである。また、第１および第２パケットは、連続して入力されたＮＵＬＬパケットである。
【００７２】
上述したように、本実施形態に係るストリーム変換装置は、同期非確立状態においてＮＵＬＬパケットが連続して入力された場合には、当該連続したＮＵＬＬパケットのうち、奇数番目に位置するパケットを削除し、偶数番目に位置するパケットを出力する。この場合、第１パケットは連続したＮＵＬＬパケットの奇数番目に位置するので、パケット間引き部１２によって削除される。これに対して、同じＮＵＬＬパケットであっても、第２パケットは連続したＮＵＬＬパケットの偶数番目に位置するので、パケット間引き部１２によって削除されず、パケット間引き部１２からタイムスタンプ付け替え部１３に出力される。
【００７３】
タイムスタンプ付け替え部１３は、同期非確立状態においてＮＵＬＬパケットが入力されたときには、特別なタイムスタンプの付け替えを行う。すなわち、タイムスタンプ付け替え部１３は、同期非確立状態において入力されたＮＵＬＬパケットについては、当該パケットに付加されたタイムスタンプを、次式（５）を用いて算出された値ＴＳｎｅｗ　に付け替える。
ＴＳｎｅｗ　＝ＴＳｃｕｒ　−ΔＴＳ×（β−１）　…（５）
ただし、上式（５）において、ＴＳｃｕｒ　は処理対象のパケットに付加されたタイムスタンプの付け替え前の値、ΔＴＳおよびβは上式（２）で定義したものと同じである。
【００７４】
図８に示す例では、第２パケットに付加されたタイムスタンプの付け替え前の値ＴＳｃｕｒ　は、７７９である。したがって、第２パケットに付加されたタイムスタンプは、次のように計算された値５４８に付け替えられる。
2004088758.tif 000004
なお、ここでは説明の便宜上、タイムスタンプ付け替え部１３では上記所定値ＴＤとして値ゼロが加算されるとしているため、図８では、第２のパケットに付加されたタイムスタンプの値はタイムスタンプ付け替え部１３の作用によって減少し、第２のパケットの出力時刻はあたかも第２のパケットの入力時刻より前であるかのように描かれている。しかし、実際には、各パケットに付加されたタイムスタンプの値はタイムスタンプ付け替え部１３の作用によって増加するように、所定値ＴＤには十分に大きな値が使用されるので、各パケットの出力時刻は、必ず当該パケットの入力時刻の後になる。
【００７５】
第３パケット以降のパケットに対する処理は、以下のとおりである。第３パケットは、非ＮＵＬＬパケットであるため、パケット間引き部１２では削除されない。また、第３パケットに対しては、出力タイミングを変更する必要がないので、タイムスタンプ付け替え部１３は、第３パケットに対してタイムスタンプの付け替えを行わない。このため、第３パケットは、タイムスタンプ付加部１１で付加されたタイムスタンプ（１５５８）が付加された状態で、バッファ１４に蓄積される。
【００７６】
第４パケットは、非ＮＵＬＬパケットあるため、パケット間引き部１２では削除されない。また、直前の第３パケットが非ＮＵＬＬパケットであるため、タイムスタンプ付け替え部１３は、第４パケットに対して、上式（２）を用いたタイムスタンプの付け替えを行う。このため、第４のパケットに付加されたタイムスタンプは、２３３７から２５６８に付け替えられる。このようなタイムスタンプの付け替え処理を施した第４パケットが、バッファ１４に蓄積される。
【００７７】
第５パケットは、非ＮＵＬＬパケットの直後のＮＵＬＬパケットであるので、パケット間引き部１２によって削除される。第６および第７パケットは、非ＮＵＬＬパケットであるため、パケット間引き部１２では削除されない。また、タイムスタンプ付け替え部１３は、第６パケットに対しては、パケットの付け替えを行わず、第７パケットに対しては、上式（２）を用いたパケットの付け替えを行う。このため、第６パケットのタイムスタンプは、タイムスタンプ付加部１１で付加された３８９５のままであるが、第７パケットのタイムスタンプは、４６７４から４９０５に付け替えられる。このようなタイムスタンプの付け替え処理を施した第６および第７パケットが、バッファ１４に蓄積される。その後の処理については、図３に示す処理と同じである。
【００７８】
なお、図８において、第１および第２パケットに加えて、第３パケットもＮＵＬＬパケットであったと仮定する。この場合、第３パケットは、連続したＮＵＬＬパケットの奇数番目（３番目）に位置するので、パケット間引き部１２によって削除される。さらに、第４パケットもＮＵＬＬパケットであったと仮定する。この場合、第４パケットは、連続したＮＵＬＬパケットの偶数番目（４番目）に位置するので、パケット間引き部１２によって削除されない。また、タイムスタンプ付け替え部１３は、第４パケットに対して、第２パケットと同様に、上式（５）を用いたタイムスタンプの付け替えを行う。また、第４パケットが非ＮＵＬＬパケットである場合も、第４パケットは、パケット間引き部１２によって削除されない。この場合、タイムスタンプ付け替え部１３は、第４パケットに対して、図８に示す第３パケットと同様に、タイムスタンプの付け替えを行わない。
【００７９】
図９には、同期確立状態において、２個のＮＵＬＬパケットが連続して入力された場合の処理が描かれている。この例では、第１および第５パケットが削除対象のＮＵＬＬパケットであり、第２パケットは削除対象でないＮＵＬＬパケットである。また、第１および第２パケットは、連続して入力されたＮＵＬＬパケットである。ただし、ストリーム変換装置は、第（４ｎ−３）パケットが削除対象のＮＵＬＬパケットであることを既に認識しているとする。
【００８０】
上述したように、本実施形態に係るストリーム変換装置では、同期確立状態において削除対象でないＮＵＬＬパケットが入力されたときには、パケット間引き部１２は、当該パケットを削除することなく、タイムスタンプ付け替え部１３に出力する。図９に示す例では、第２パケットは、同期確立状態において入力された、削除対象でないＮＵＬＬパケットである。したがって、第２パケットは、パケット間引き部１２によって削除されることなく、非ＮＵＬＬパケットと同様に扱われる。また、第２パケットは、削除対象のＮＵＬＬパケット（第１パケット）の直後のパケットである。したがって、タイムスタンプ付け替え部１３は、第２パケットに対して、タイムスタンプの付け替えを行わない。このため、第２パケットは、タイムスタンプ付加部１１で付加されたタイムスタンプ（７７９）が付加された状態で、バッファ１４に蓄積される。その後の処理については、図３に示す処理と同じである。
【００８１】
図１０には、同期確立状態において、２個のＮＵＬＬパケットが連続して入力された場合の処理が描かれている。この例では、第１および第５パケットが削除対象のＮＵＬＬパケットであり、第４パケットは削除対象でないＮＵＬＬパケットである。また、第４および第５パケットは、連続して入力されたＮＵＬＬパケットである。ただし、ストリーム変換装置は、第（４ｎ−３）パケットが削除対象のＮＵＬＬパケットであることを既に認識しているとする。
【００８２】
第４パケットは、削除対象でないＮＵＬＬパケットであるので、パケット間引き部１２によって削除されることなく、非ＮＵＬＬパケットと同様に扱われる。また、第４パケットは、非ＮＵＬＬパケット（第３パケット）の直後のパケットである。したがって、タイムスタンプ付け替え部１３は、第４パケットに対して、上式（２）を用いたタイムスタンプの付け替えを行う。これにより、第４パケットのタイムスタンプは、２３３７から２７９９に付け替えられる。このようなタイムスタンプの付け替え処理を施した第４パケットが、バッファ１４に蓄積される。その後の処理については、図３に示す処理と同じである。
【００８３】
以下、図１１に示すフローチャートを参照して、本実施形態に係るストリーム変換装置における処理を別の角度から説明する。図１１は、本実施形態に係るストリーム変換装置における処理を示すフローチャートである。図１１に示す処理は、入力ストリーム２１に含まれる各パケットに対して実行される。図１１に示す処理では、４つの値Ｎ、Ｉ、ＪおよびＴが使用される。このうちＮは、入力ストリーム２１に含まれる所定の繰り返しパターンの長さ（例えば、符号化率が４分の３であるときは４）を表す。Ｉは、入力されたパケットが入力ストリーム２１に含まれる所定の繰り返しパターンの何番目に位置するかを表す。また、Ｊは、同期非確立状態においてＮＵＬＬパケットが連続して入力された個数を表す。また、Ｔは、直前に出力されたパケットに付加されたタイムスタンプを表す。
【００８４】
図１１に示す処理は、入力ストリーム２１に含まれる１個のパケットがタイムスタンプ付加部１１に入力されたときに開始される（ステップＳ１０１）。タイムスタンプ付加部１１は、入力されたパケットに、当該パケットの入力時刻をタイムスタンプとして付加する（ステップＳ１０２）。次に、同期確立状態か否かが判断され（ステップＳ１０３）、同期確立状態である場合にはステップＳ１１１以降の処理が、同期非確立状態である場合にはステップＳ１２１以降の処理が実行される。
【００８５】
同期確立状態では（ステップＳ１０３のＹＥＳ）、Ｉに１を加算した結果をＮ（繰り返しパターンの長さ）で割った余りがＩに代入される（ステップＳ１１１）。ステップＳ１１１で求めたＩの値により、その後の処理は３とおりに分かれる（ステップＳ１１２）。ステップＳ１１１で求めたＩが１である場合には、入力されたパケットは削除すべきＮＵＬＬパケットの位置にあると判断され、ストリーム変換装置による処理は、ステップＳ１１３へ進む。この場合、入力されたパケットが実際にＮＵＬＬパケットであるか否かが判断され（ステップＳ１１３）、当該パケットがＮＵＬＬパケットでない場合には、ストリーム変換装置は、同期非確立状態に遷移する（ステップＳ１１４）。また、ステップＳ１１３における判断結果に関わらず、削除すべきＮＵＬＬパケットの位置にあるパケットは、パケット間引き部１２によって削除される（ステップＳ１３１）。
【００８６】
ステップＳ１１１で求めたＩが２である場合には、入力されたパケットは削除すべきＮＵＬＬパケットの直後に位置すると判断され、ストリーム変換装置による処理は、ステップＳ１３２へ進む。この場合、タイムスタンプ付け替え部１３は、このパケットに対して、タイムスタンプの付け替えを行わない。
【００８７】
ステップＳ１１１で求めたＩが１でも２でもない場合には、入力されたパケットは、削除されないパケットの直後に位置すると判断され、ストリーム変換装置による処理は、ステップＳ１１５へ進む。この場合、タイムスタンプ付け替え部１３は、上式（２）を用いて、タイムスタンプの付け替えを行う（ステップＳ１１５）。上式（２）を用いた計算では、Ｔに格納されている、直前に出力されたパケットに付加されたタイムスタンプが参照される。次に、ストリーム変換装置による処理は、ステップＳ１３２へ進む。
【００８８】
ステップＳ１３２では、次に入力されるパケットに対する処理で参照するために、入力されたパケットにその時点で付加されているタイムスタンプが、Ｔに格納される。次に、タイムスタンプ付け替え部１３は、出力ストリーム２３の出力時刻を入力ストリーム２１の入力時刻よりも遅くするために、入力されたパケットにその時点で付加されているタイムスタンプに、所定値ＴＤを加算する（ステップＳ１３３）。次に、ステップＳ１０１で入力されたパケットが出力される（ステップＳ１３４）。ここで、ステップＳ１３４におけるパケットの出力とは、タイムスタンプ付け替え部１３から出力されたパケットが、バッファ１４、パケット読み出し部１５、および出力部１６によって、当該パケットに付加されたタイムスタンプの時刻に出力されることをいう。
【００８９】
一方、同期非確立状態では（ステップＳ１０３のＮＯ）、入力されたパケットがＮＵＬＬパケットであるか否かが判断され（ステップＳ１２１）、この判断結果により、その後の処理は２とおりに分かれる。入力されたパケットがＮＵＬＬパケットである場合には（ステップＳ１２１のＹＥＳ）、Ｉは１に初期化され、Ｊには１が加算され（ステップＳ１２２）、続いて、Ｊが奇数か偶数かが判断される（ステップＳ１２３）。
【００９０】
ステップＳ１２２で求めたＪが奇数である場合には（ステップＳ１２３のＹＥＳ）、入力されたパケットは、同期非確立状態において、連続したＮＵＬＬパケットのうち奇数番目の位置にあると判断される。この場合、ストリーム変換装置による処理は、ステップＳ１３１へ進み、入力されたパケットは、パケット間引き部１２によって削除される（ステップＳ１３１）。
【００９１】
これに対して、ステップＳ１２２で求めたＪが偶数である場合には（ステップＳ１２３のＮＯ）、入力されたパケットは、同期非確立状態において、連続したＮＵＬＬパケットの偶数番目の位置にあると判断される。この場合、タイムスタンプ付け替え部１３は、入力されたパケットに対して、上式（５）を用いた特別なタイムスタンプの付け替えを行う（ステップＳ１２４）。
【００９２】
また、入力されたパケットが非ＮＵＬＬパケットである場合には（ステップＳ１２１のＮＯ）、Ｊは０に初期化され、Ｉには１が加算される（ステップＳ１２５）。次に、ステップＳ１２５で求めたＩの値により、その後の処理は３とおりに分かれる（ステップＳ１２６）。ステップＳ１２５で求めたＩがＮ（繰り返しパターンの長さ）である場合には、ストリーム変換装置は、同期確立状態に遷移する（ステップＳ１２７）。また、ステップＳ１２５で求めたＩが２以外である場合には、タイムスタンプ付け替え部１３が、入力されたパケットに対して、上式（２）を用いたタイムスタンプの付け替えを行う（ステップＳ１２８）。
【００９３】
ステップＳ１２４またはＳ１２８の実行後、あるいは、ステップＳ１２６でＩが２であると判断した場合には直ちに、ストリーム変換装置による処理は、ステップＳ１３２へ進む。ステップＳ１３２以降の処理では、入力されたパケットにその時点で付加されているタイムスタンプがＴに格納され、当該タイムスタンプに値ＴＤが加算され、その後、ステップＳ１０１で入力されたパケットがバッファ１４、パケット読み出し部１５、および出力部１６の作用によって装置の外部に出力される。
【００９４】
以上に示すように、本実施形態に係るストリーム変換装置によれば、第１の実施形態に係るストリーム変換装置に同期非確立状態における処理を追加することにより、削除対象のＮＵＬＬパケット以外にＮＵＬＬパケットを含む入力ストリームに対してストリーム変換処理を行うことができる。したがって、第１の実施形態に係るストリーム変換装置と同様の効果を奏することができる。
【００９５】
（第４の実施形態）
第４の実施形態では、タイムスタンプの付け替えとともに、入力ストリームに含まれるＰＣＲを付け替えるストリーム変換装置について説明する。入力ストリーム２１に含まれるパケットは、ビデオストリームやオーディオストリームの復号器の時刻基準となる値を校正するための情報として、ＰＣＲを含むことがある。例えば、ＭＰＥＧ２トランスポートストリームに含まれるトランスポートパケットは、そのアダプテーションフィールドにＰＣＲを含んでいる。このＰＣＲは、トランスポートストリームの復号器における時刻基準（ＳＴＣ（Ｓｙｓｔｅｍ　Ｔｉｍｅ　Ｃｌｏｃｋ　）と呼ばれる）を、符号器が意図した値に調整するために使用される。
【００９６】
本実施形態に係るストリーム変換装置では、タイムスタンプ付け替え部１３が、タイムスタンプの付け替えと同じ計算でＰＣＲの付け替えを行う。より詳細には、本実施形態では、時刻カウント部１７は、２７ＭＨｚの周波数で更新されるカウント値を出力する。このような時刻カウント部１７は、例えば、２７ＭＨｚの周波数を有するクロック信号を数えるカウンタを用いて構成される。また、タイムスタンプ付け替え部１３は、パケット間引き部１２から出力されたパケットにＰＣＲが含まれる場合には、当該パケットに付加されたタイムスタンプの付け替え前の値と付け替え後との差を、当該パケットに含まれるＰＣＲに加算する。これにより、特別な回路を使用することなく、簡単な構成でＰＣＲの付け替えを行うことができる。
【００９７】
図１２は、本実施形態に係るストリーム変換装置における処理の一例を示す図である。図１２は、本実施形態に係るストリーム変換装置における処理を、図３と同じ条件で描いたものである。ただし、このストリーム変換装置に入力される入力ストリームに含まれるパケットには、ＰＣＲが含まれる場合があるとする。図１２の第１段目には、第１から第８パケットに、それぞれ、ＰＣＲ１からＰＣＲ８のＰＣＲが含まれることが示されている。
【００９８】
この例では、図１２に示す８個のパケットのうち、第１および第５パケットは、ＮＵＬＬパケットであるので、パケット間引き部１２によって削除される。また、残余の６個のパケットは、非ＮＵＬＬパケットであるので、パケット間引き部１２によって削除されることなく、パケット間引き部１２からタイムスタンプ付け替え部１３に出力される。
【００９９】
タイムスタンプ付け替え部１３は、削除されたパケットの直後のパケットについては、タイムスタンプの付け替えを行わず、それ以外のパケットについては、上式（２）を用いたタイムスタンプの付け替えを行う。これにより、第２および第６のパケットに付加されたタイムスタンプは変化しないが、第３および第７パケットに付加されたタイムスタンプはいずれも２３１増加し、第４および第８パケットに付加されたタイムスタンプはいずれも４６２増加する。
【０１００】
タイムスタンプ付け替え部１３は、上記タイムスタンプの増加分を、パケットに含まれるＰＣＲにも加算する。これにより、第２および第６のパケットに含まれるＰＣＲは変化しないが、第３および第７パケットに含まれるＰＣＲはいずれも２３１増加し、第４および第８パケットに含まれるＰＣＲはいずれも４６２増加する。このようにして、タイムスタンプの付け替えとともにＰＣＲの付け替えを施したパケットが、バッファ１４に蓄積される。その後の処理は、図３に示した処理と同じである。
【０１０１】
以上に示すように、本実施形態に係るストリーム変換装置では、タイムスタンプ付け替え部が、タイムスタンプの付け替えと同じ計算でＰＣＲの付け替えを行う。したがって、従来のストリーム変換装置で必要とされていた、特別なＰＣＲ付け替え回路が不要となる。また、タイムスタンプ付け替え部は、タイムスタンプの付け替えで求めた値を用いてＰＣＲの付け替えを行うので、ＰＣＲの付け替えを簡単な計算で行うことができる。さらに、ＰＣＲはデジタル数値演算に基づき更新されるので、計算の過程で誤差が生じたり、回路が不安定で計算不能となったり、計算結果を間違えたりすることを防止することができる。
【０１０２】
なお、第１ないし第４の実施形態に係るストリーム変換装置では、整数のタイムスタンプを使用することとしたが、各装置で使用されるタイムスタンプは所定の桁数の小数部を有していてもよい。小数部を有するタイムスタンプを使用することにより、ストリーム変換装置における出力タイミングの精度を高めることができる。
【０１０３】
また、第１ないし第４の実施形態に係るストリーム変換装置では、出力ストリーム２３の出力時刻を入力ストリーム２１の入力時刻より遅くするために、タイムスタンプ付け替え部１３が、パケット間引き部１２から出力されたパケットに付加されているタイムスタンプに、一律に所定値ＴＤを加算することとしたが、この加算処理をタイムスタンプ付加部１１が行ってもよい。あるいは、タイムスタンプ付加部１１もタイムスタンプ付け替え部１３もこの加算処理を行うことなく、パケット読み出し部１５が、バッファ１４に蓄積されたパケットに付加されたタイムスタンプおよび上記所定値ＴＤの和と、時刻カウント部１７から供給されたカウント値とが一致したときに、当該パケットをバッファ１４から読み出すこととしてもよい。
【０１０４】
上記の説明では、第３の実施形態に係るストリーム変換装置における処理だけを、フローチャート（図１１）を用いて説明したが、他の実施形態に係るストリーム変換装置における処理も、このフローチャートを用いて説明することができる。すなわち、図１１において常に同期確立状態であるとした場合の処理が、第１および第２の実施形態に係るストリーム変換装置における処理に相当する。また、図１１に示すステップＳ１１５、Ｓ１２４およびＳ１２８に、タイムスタンプの付け替えと同じ計算でＰＣＲの付け替えを行う処理を追加すると、第４の実施形態に係るストリーム変換装置における処理となる。
【０１０５】
また、コンピュータに、第１ないし第４の実施形態に係るストリーム変換装置で行われるストリーム変換方法を実行させるためのプログラムを作成し、コンピュータと作成したプログラムとを用いて、各実施形態に係るストリーム変換装置を構成してもよい。この場合、作成したプログラムをコンピュータに読み取り可能な記録媒体に記録し、コンピュータに、記録媒体に記録されたプログラムを実行させることにより、各実施形態に係るストリーム変換装置を構成してもよい。
【図面の簡単な説明】
【図１】本発明の第１ないし第４の各実施形態に係るストリーム変換装置の構成を示すブロック図
【図２】図１に示すストリーム変換装置を含んだビデオ機器の構成を示すブロック図
【図３】本発明の第１の実施形態に係るストリーム変換装置における処理を示す図
【図４】本発明の第２の実施形態に係るストリーム変換装置における処理（符号化率が２分の１である場合の処理）を示す図
【図５】本発明の第２の実施形態に係るストリーム変換装置における処理（符号化率が３分の２である場合の処理）を示す図
【図６】本発明の第２の実施形態に係るストリーム変換装置における処理（符号化率が６分の５である場合の処理）を示す図
【図７】本発明の第２の実施形態に係るストリーム変換装置における処理（符号化率が８分の７である場合の処理）を示す図
【図８】本発明の第３の実施形態に係るストリーム変換装置における処理（同期非確立状態における処理）を示す図
【図９】本発明の第３の実施形態に係るストリーム変換装置における処理（同期確立状態における処理）を示す図
【図１０】本発明の第３の実施形態に係るストリーム変換装置における処理（同期確立状態における処理）を示す図
【図１１】本発明の第３の実施形態に係るストリーム変換装置における処理を示すフローチャート
【図１２】本発明の第４の実施形態に係るストリーム変換装置における処理を示す図
【図１３】従来のストリーム変換装置の構成を示すブロック図
【符号の説明】
１０…ストリーム変換装置
１１…タイムスタンプ付加部
１２…パケット間引き部
１３…タイムスタンプ付け替え部
１４…バッファ
１５…パケット読み出し部
１６…出力部
１７…時刻カウント部
２１…入力ストリーム
２２…出力タイミング信号
２３…出力ストリーム
【図１】
2004088758.tif 000005
【図２】
2004088758.tif 000006
【図３】
2004088758.tif 000007
【図４】
2004088758.tif 000008
【図５】
2004088758.tif 000009
【図６】
2004088758.tif 000010
【図７】
2004088758.tif 000011
【図８】
2004088758.tif 000012
【図９】
2004088758.tif 000013
【図１０】
2004088758.tif 000014
【図１１】
2004088758.tif 000015
【図１２】
2004088758.tif 000016
【図１３】
2004088758.tif 000017