(57)【要約】【課題】時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることが可能な映像処理装置およびパケット処理方法を提供する。【解決手段】時刻情報が付加された、連続する複数の時刻情報付トランスポートパケットのうち、ｎおよび（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔を、第１のパケットと第２のパケットとの間にダミーパケットを挿入することにより調整する。【選択図】図２
2008035198.tif 000002
【特許請求の範囲】
【請求項１】
トランスポートストリームに含まれる複数のトランスポートパケットにそれぞれ時刻情報を付加した複数の時刻情報付トランスポートパケットを記憶し、前記複数の時刻情報付トランスポートパケットをデコードする映像処理装置であって、
前記複数の時刻情報付トランスポートパケットは、順序付けが行なわれた連続するパケットであり、
前記複数の時刻情報付トランスポートパケットを記憶する記憶手段と、
前記記憶手段に記憶されているｎ（ｎ：自然数）および（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、前記ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、前記（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔が所定間隔となるように、前記第１のパケットと前記第２のパケットとの間に挿入するダミーパケットの数を算出する算出手段と、
前記第１のパケットと前記第２のパケットとの間に、前記算出手段により算出された数のダミーパケットを挿入したパケット群を生成する生成手段と、
前記生成手段により生成されたパケット群をデコード処理するデコード手段とを備える、映像処理装置。
【請求項２】
前記トランスポートストリームは、前記トランスポートストリームに含まれるパケットの数より多いパケットを含む元トランスポートストリームの一部であり、
前記所定間隔は、前記第１のパケットおよび前記第２のパケットにそれぞれ対応する、前記元トランスポートストリームに含まれる２つのトランスポートパケットの間隔である、請求項１に記載の映像処理装置。
【請求項３】
前記トランスポートストリームは、前記トランスポートストリームに含まれるパケットの数より多いパケットを含む元トランスポートストリームの一部であり、
前記算出手段は、前記ｎ番目の時刻情報付トランスポートパケットの時刻情報と、前記（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報との差に基づく時間を、前記元トランスポートストリームに含まれる複数のトランスポートパケットのいずれかのパケットを送信するために必要な平均時間で除算することにより、前記挿入するダミーパケットの数を算出する、請求項１または請求項２に記載の映像処理装置。
【請求項４】
トランスポートストリームに含まれる複数のトランスポートパケットにそれぞれ時刻情報を付加した複数の時刻情報付トランスポートパケットを記憶し、前記複数の時刻情報付トランスポートパケットをデコードする映像処理装置が行なうパケット処理方法であって、
前記複数の時刻情報付トランスポートパケットは、順序付けが行なわれた連続するパケットであり、
前記パケット処理方法は、
前記複数の時刻情報付トランスポートパケットのうちの（ｎ：自然数）および（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、前記ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、前記（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔が所定間隔となるように、前記第１のパケットと前記第２のパケットとの間に挿入するダミーパケットの数を算出する算出ステップと、
前記第１のパケットと前記第２のパケットとの間に、前記算出手段により算出された数のダミーパケットを挿入したパケット群を生成する生成ステップと、
前記生成ステップにより生成されたパケット群をデコード処理するデコードステップとを備える、パケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像処理装置およびパケット処理方法に関し、特に、コンテンツ配信に用いるトランスポートパケットを処理する映像処理装置およびパケット処理方法に関する。
【背景技術】
【０００２】
近年、一度に複数のコンテンツ（たとえば、番組）を送信可能なトランスポートストリームのプロトコルに基づいた技術が急速に普及しつつある。トランスポートストリームの代表的なものとしては、ＭＰＥＧ（Moving Picture Experts Group）２−ＴＳ（Transport Stream）が挙げられる。現在では、ディジタル放送、ＶＯＤ（Video On Demand）のサービス等において、ＭＰＥＧ２−ＴＳを使用した通信プロトコルが利用されている。
【０００３】
図５は、トランスポートストリームを説明するための図である。図５に示されるトランスポートストリームは、一例として、ＭＰＥＧ２のトランスポートストリームである。
【０００４】
図５を参照して、トランスポートストリームは、複数のトランスポートパケットから構成される。以下においては、トランスポートパケットを、ＴＳパケットともいう。複数のＴＳパケットの各々のサイズは、１８８または２０４バイトである。複数のＴＳパケットの各々には、アダプテーション・フィールド制御が含まれる。アダプテーション・フィールド制御は、対応するＴＳパケットにおいて、アダプテーション・フィールドが含まれるか否かを示す情報である。したがって、アダプテーション・フィールド制御の情報によっては、アダプテーション・フィールドを含まないＴＳパケットもある。
【０００５】
アダプテーション・フィールドは、対応するＴＳパケットの付加情報等を示す。アダプテーション・フィールドには、ＰＣＲ（Program Clock Reference）フラグが含まれる。ＰＣＲフラグは、対応するアダプテーション・フィールドにおいて、オプショナル・フィールドとしてのＰＣＲが含まれるか否かを示す情報である。ＰＣＲフラグが“１”を示す場合、アダプテーション・フィールドにおいて、オプショナル・フィールドとしてのＰＣＲが含まれることを示す。ＰＣＲフラグが“０”を示す場合、アダプテーション・フィールドにおいて、オプショナル・フィールドとしてのＰＣＲが含まれないことを示す。したがって、ＰＣＲフラグの情報によっては、オプショナル・フィールドとしてのＰＣＲを含まないアダプテーション・フィールドもある。
【０００６】
ＰＣＲは、トランスポートストリームを生成した符号装置のシステムクロックを、当該トランスポートストリームを受信する復号装置で再現するための時刻情報の値である。また、ＰＣＲは、トランスポートストリームを生成した符号装置のシステムクロックの周波数を、当該トランスポートストリームを受信する復号装置が生成するシステムクロックの周波数を調整するためのクロック調整値でもある。
【０００７】
なお、トランスポートストリームを生成した符号装置のシステムクロックの周波数は、当該トランスポートストリームを受信する復号装置のシステムクロックとは厳密には異なる。そのため、符号装置で生成したフレーム枚数と同じフレーム枚数を、復号装置でデコードするためには、復号装置において、符号装置のシステムクロックを再現し、合わせる必要がある。そのため、符号装置は、トランスポートストリームの送信時に、送信するトランスポートストリームに含まれる複数のＴＳパケットのうち、所定の時間間隔のＴＳパケット内に、符号装置のシステムクロックによりカウントされるカウンタ値を、ＰＣＲとして付加する。このＰＣＲを用いて、復号装置は、符号装置のシステムクロックを再現する。
【０００８】
国際公開第ＷＯ０１／００４８９３号パンフレット（特許文献１）では、トランスポートストリームを連続的に記録する技術（以下、第１の先行技術ともいう）が開示されている。以下においては、トランスポートストリームを記録可能な装置を映像処理装置ともいう。
【特許文献１】国際公開第ＷＯ０１／００４８９３号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００９】
図６は、従来の映像処理装置１００００の内部構成の一例を示すブロック図である。図６を参照して、映像処理装置１００００は、通信部１２００と、制御部１４００と、記憶部１５００と、デコード回路１６００とを備える。
【００１０】
通信部１２００は、インターネット等のネットワークからトランスポートストリームを受信する機能を有する。通信部１２００は、受信したトランスポートストリームを、制御部１４００へ送信する。
【００１１】
制御部１４００は、様々な処理を行なう機能を有する。制御部１４００は、マイクロプロセッサ（Microprocessor）、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、その他の演算機能を有する回路のいずれであってもよい。
【００１２】
制御部１４００には、バッファ１４５０が含まれる。バッファ１４５０は、制御部１４００が処理するデータを一時的に記憶する回路である。
【００１３】
記憶部１５００は、データを不揮発的に記憶する機能を有する。記憶部１５００は、制御部１４００によってデータアクセスされる。記憶部１５００は、大容量のデータを記憶可能なハードディスクである。なお、記憶部１５００は、ハードディスクに限定されることなく、電源を供給されなくてもデータを不揮発的に保持可能な媒体（たとえば、フラッシュメモリ）であればよい。
【００１４】
制御部１４００は、受信したトランスポートストリームを、記憶部１５００に記憶させる処理を行なう。また、制御部１４００は、記憶部１５００に記憶されているトランスポートストリームを読み出し、デコード回路１６００へ送信する処理を行なう。
【００１５】
デコード回路１６００は、受信したトランスポートストリームをデコード処理し、映像信号および音声信号を生成し、外部の表示装置へ送信する。
【００１６】
デコード回路１６００は、クロック回路１７００と、デコード部１８００とを含む。クロック回路１７００は、トランスポートストリームに含まれるＰＣＲを含む複数のＴＳパケットを受信することで、ＰＣＲの値に基づいて、符号装置のシステムクロックの周波数と同じ周波数のシステムクロックＳＣＫを生成し、生成したシステムクロックＳＣＫを、デコード部１８００へ送信する。なお、クロック回路１７００により生成されるシステムクロックＳＣＫの周波数は、受信したＰＣＲの値に基づいて調整される。また、クロック回路１７００は、受信したトランスポートストリームを、デコード部１８００へ送信する。
【００１７】
デコード部１８００は、受信したシステムクロックＳＣＫの周波数で動作する。また、デコード部１８００は、受信したトランスポートストリームを、デコード処理し、映像信号および音声信号を生成し、たとえば、外部の表示装置へ送信する。表示装置は、受信した映像信号に基づいて、映像を表示し、受信した音声信号に基づいて、音声を出力する。
【００１８】
上記のような、従来の映像処理装置１００００は、トランスポートストリームに含まれる複数の番組のうち、複数の番組全てではなく、たとえば、１つの番組データを、記憶部１５００に記憶させる場合、記憶部１５００に記憶された番組データを正常に再生させるために、記憶部１５００に記憶させるＴＳパケットにタイムスタンプを付加していた。
【００１９】
ここで、映像処理装置１００００が、たとえば、図７に示されるトランスポートストリームＳＴＭのうち、１つの番組に対応する、複数のＴＳパケットからなるトランスポートストリームを記憶部１５００に記憶させるとする。なお、図７において横軸は、映像処理装置１００００内の制御部１４００が、対応するＴＳパケットを受信した時刻を示す。たとえば、ＴＳパケットＴ３０は、制御部１４００が、時刻ｔ７に受信したことが示される。
【００２０】
トランスポートストリームＳＴＭは、番組Ａ，Ｂ，Ｃの各々に対応する複数のＴＳパケットを含む。たとえば、番組Ａに対応するＴＳパケットは、ＴＳパケットＴ１０，Ｔ２０，Ｔ３０，Ｔ４０である。トランスポートストリームＳＴＭ内の複数のＴＳパケットのうち、「（ＰＣＲ）」と記載されているＴＳパケットは、対応するＴＳパケットがＰＣＲの値を含むことを示す。
【００２１】
制御部１４００が、トランスポートストリームＳＴＭ内の複数のＴＳパケットのうち、番組Ａに対応するＴＳパケットを記憶部１５００に記憶させる場合、制御部１４００は、ＴＳパケットを記憶部１５００に記憶させる際に、当該ＴＳパケットを受信した時刻に対応するカウンタ値を、タイムスタンプとして付加する。ＴＳパケットに付加されるカウンタ値は、制御部１４００が、図示しない２７ＭＨｚのクロックを受信する毎に、たとえば、“０”〜“２の４２乗”の範囲で、インクリメントとする値である。
【００２２】
制御部１４００が、たとえば、ＴＳパケットＴ２０を、記憶部１５００に記憶させる場合、制御部１４００は、ＴＳパケットＴ２０を受信した時刻ｔ４に対応するカウンタ値を示すタイムスタンプを、ＴＳパケットＴ２０に付加して、ＴＳパケットＴ２０Ａとして、記憶部１５００に記憶させる。
【００２３】
制御部１４００が、番組Ａに対応する複数のＴＳパケットを記憶部１５００に記憶させることにより、記憶部１５００には、図７に示されるトランスポートストリームＳＴＡが記憶される。トランスポートストリームＳＴＡに含まれるＴＳパケットＴ１０Ａは、図８に示されるように、ＴＳパケットに、４バイトのタイムスタンプが付加される。当該タイムスタンプは、時刻ｔ１に対応するカウンタ値を示す。なお、ＴＳパケットＴ１０Ａは、ＰＣＲも含む。なお、トランスポートストリームＳＴＡに含まれる全てのＴＳパケットには、ＴＳパケットＴ１０Ａと同様に、タイムスタンプが付加されている。
【００２４】
図７を参照して、トランスポートストリームＳＴＡの上部に記載されている時刻ｔｍ（ｍ：自然数）は、対応するＴＳパケットに、時刻ｔｍに対応するカウンタ値を示すタイムスタンプが付加されていることを示す。たとえば、ＴＳパケットＴ４０Ａには、時刻ｔ１０に対応するカウンタ値を示すタイムスタンプが付加されている。
【００２５】
また、記憶部１５００には、トランスポートストリームＳＴＭ内の番組Ａに対応する複数のＴＳパケットが、トランスポートストリームＳＴＡに示されるように、連続して記憶される。すなわち、時間軸上において、連続していない複数のパケットが時間軸上において連続するように記憶部１５００に記憶される。以下、記憶部１５００に記憶されたＴＳパケットを、記憶ＴＳパケットともいう。
【００２６】
ここで、記憶部１５００に記憶されたトランスポートストリームＳＴＡをデコードする場合、制御部１４００が、トランスポートストリームＳＴＡに含まれる複数の記憶ＴＳパケットを、時間間隔なしで、クロック回路１７００へ送信すると、映像処理装置１００００内のクロック回路１７００は、符号装置のシステムクロックと同じ周波数のシステムクロックＳＣＫを正確に生成することができないという問題が発生する。
【００２７】
なぜなら、たとえば、トランスポートストリームＳＴＡに含まれるＴＳパケットＴ４０Ａは、システムクロックの周波数を調整するためのＰＣＲを含むため、図７に示されるトランスポートストリームＳＴＭのように、ＴＳパケットＴ４０Ａは、制御部１４００がＴＳパケットＴ１０Ａをクロック回路１７００へ送信した時刻から、時刻ｔ１０と時刻ｔ１との差の時間だけ経過した時刻に、クロック回路１７００へ送信される必要があるからである。
【００２８】
すなわち、ＰＣＲを含むＴＳパケットＴ１０Ａ，Ｔ４０Ａは、それぞれ、トランスポートストリームＳＴＭに含まれるＴＳパケットＴ１０，Ｔ４０に対応する時間間隔で、クロック回路１７００に入力される必要がある。そのためには、たとえば、トランスポートストリームＳＴＡに含まれる複数のＴＳパケットを、クロック回路１７００へ送信するタイミングの制御が必要となる。
【００２９】
すなわち、映像処理装置１００００内のクロック回路１７００は、タイムスタンプが付加された、連続した複数のトランスポートパケットを受信した場合、符号装置のシステムクロックと同じ周波数のシステムクロックＳＣＫを正確に生成することができないという問題が発生する。なお、第１の先行技術には、上記のタイミング制御の具体的な回路または方法は、開示されていない。
【００３０】
また、映像処理装置１００００内のクロック回路１７００が、符号装置のシステムクロックと同じ周波数のシステムクロックＳＣＫを正確に生成することができない場合、クロック回路１７００から出力されるシステムクロックＳＣＫに基づいて動作するデコード部１８００は、受信したトランスポートストリームを正常にデコードすることができないという問題が発生する。
【００３１】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることが可能な映像処理装置を提供することである。
【００３２】
本発明の他の目的は、時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることが可能なパケット処理方法を提供することである。
【課題を解決するための手段】
【００３３】
上述の課題を解決するために、この発明のある局面に従うと、トランスポートストリームに含まれる複数のトランスポートパケットにそれぞれ時刻情報を付加した複数の時刻情報付トランスポートパケットを記憶し、複数の時刻情報付トランスポートパケットをデコードする映像処理装置であって、複数の時刻情報付トランスポートパケットは、順序付けが行なわれた連続するパケットであり、映像処理装置は、複数の時刻情報付トランスポートパケットを記憶する記憶手段と、記憶手段に記憶されているｎ（ｎ：自然数）および（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔が所定間隔となるように、第１のパケットと第２のパケットとの間に挿入するダミーパケットの数を算出する算出手段と、第１のパケットと第２のパケットとの間に、算出手段により算出された数のダミーパケットを挿入したパケット群を生成する生成手段と、生成手段により生成されたパケット群をデコード処理するデコード手段とを備える。
【００３４】
この発明に従えば、時刻情報が付加された、連続する複数の時刻情報付トランスポートパケットのうち、ｎおよび（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔を、第１のパケットと第２のパケットとの間にダミーパケットを挿入することにより調整する。
【００３５】
したがって、デコード処理される第１のパケットと第２のパケットとの間隔を調整することができる。その結果、時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることができるという効果を奏する。
【００３６】
好ましくは、トランスポートストリームは、トランスポートストリームに含まれるパケットの数より多いパケットを含む元トランスポートストリームの一部であり、所定間隔は、第１のパケットおよび第２のパケットにそれぞれ対応する、元トランスポートストリームに含まれる２つのトランスポートパケットの間隔である。
【００３７】
この発明に従えば、第１のパケットと第２のパケットとの間隔は、第１のパケットおよび第２のパケットにそれぞれ対応する、元トランスポートストリームに含まれる２つのトランスポートパケットの間隔になる。
【００３８】
したがって、第１のパケットと第２のパケットとの間隔を、デコード手段により正確にデコード処理される間隔にすることができる。その結果、時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることができるという効果を奏する。
【００３９】
好ましくは、トランスポートストリームは、トランスポートストリームに含まれるパケットの数より多いパケットを含む元トランスポートストリームの一部であり、算出手段は、ｎ番目の時刻情報付トランスポートパケットの時刻情報と、（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報との差に基づく時間を、元トランスポートストリームに含まれる複数のトランスポートパケットのいずれかのパケットを送信するために必要な平均時間で除算することにより、挿入するダミーパケットの数を算出する。
【００４０】
したがって、第１のパケットと第２のパケットとの間に挿入するダミーパケットの数を正確に算出することができる。
【００４１】
この発明の他の局面に従うと、トランスポートストリームに含まれる複数のトランスポートパケットにそれぞれ時刻情報を付加した複数の時刻情報付トランスポートパケットを記憶し、複数の時刻情報付トランスポートパケットをデコードする映像処理装置が行なうパケット処理方法であって、複数の時刻情報付トランスポートパケットは、順序付けが行なわれた連続するパケットであり、パケット処理方法は、複数の時刻情報付トランスポートパケットのうちの（ｎ：自然数）および（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔が所定間隔となるように、第１のパケットと第２のパケットとの間に挿入するダミーパケットの数を算出する算出ステップと、第１のパケットと第２のパケットとの間に、算出手段により算出された数のダミーパケットを挿入したパケット群を生成する生成ステップと、生成ステップにより生成されたパケット群をデコード処理するデコードステップとを備える。
【００４２】
この発明に従えば、時刻情報が付加された、連続する複数の時刻情報付トランスポートパケットのうち、ｎおよび（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔を、第１のパケットと第２のパケットとの間にダミーパケットを挿入することにより調整する。
【００４３】
したがって、デコード処理される第１のパケットと第２のパケットとの間隔を、調整することができる。その結果、時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることができるという効果を奏する。
【発明の効果】
【００４４】
本発明に係る映像処理装置は、時刻情報が付加された、連続する複数の時刻情報付トランスポートパケットのうち、ｎおよび（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔を、第１のパケットと第２のパケットとの間にダミーパケットを挿入することにより調整する。
【００４５】
したがって、デコード処理される第１のパケットと第２のパケットとの間隔を調整することができる。その結果、時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることができるという効果を奏する。
【００４６】
本発明に係るパケット処理方法は、時刻情報が付加された、連続する複数の時刻情報付トランスポートパケットのうち、ｎおよび（ｎ＋１）番目の時刻情報付トランスポートパケットの時刻情報に基づいて、ｎ番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第１のパケットと、（ｎ＋１）番目の時刻情報付トランスポートパケットから時刻情報を取り除いた第２のパケットとの間隔を、第１のパケットと第２のパケットとの間にダミーパケットを挿入することにより調整する。
【００４７】
したがって、デコード処理される第１のパケットと第２のパケットとの間隔を、調整することができる。その結果、時刻情報が付加された、連続する複数のトランスポートパケットを正確にデコードすることができるという効果を奏する。
【発明を実施するための最良の形態】
【００４８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００４９】
図１は、本実施の形態における映像処理装置１０００の内部構成の一例を示すブロック図である。図１を参照して、映像処理装置１０００は、図６の映像処理装置１００００と同様な構成を有するので詳細な説明は繰り返さない。映像処理装置１０００は、たとえば、ＨＤＤ（Hard Disk Drive）レコーダーである。なお、映像処理装置１０００は、ＨＤＤレコーダーに限定されることなく、映像を録画可能な装置であればどのような装置であってもよい。
【００５０】
デコード回路１６００は、制御部１４００から、トランスポートストリームを受信し、受信したトランスポートストリームをデコード処理し、映像信号および音声信号を生成し、外部の表示装置へ送信する。デコード回路１６００は、１チップのマイクロプロセッサである。なお、デコード回路１６００は、１チップのマイクロプロセッサに限定されることなく、複数の回路から構成される回路であってもよい。
【００５１】
次に、映像処理装置１０００が、トランスポートストリームに対して行なう処理について説明する。
【００５２】
図２は、本実施の形態の処理により生成されるトランスポートストリームＳＴＡＤを説明するための図である。なお、図２には、説明のため、前述した、図７のトランスポートストリームＳＴＭおよびトランスポートストリームＳＴＡを示している。トランスポートストリームＳＴＡは、ＴＳパケットＴ１０Ａ，Ｔ２０Ａ，Ｔ３０Ａ，Ｔ４０Ａ，・・・というように、順序付けが行なわれた連続する複数のＴＳパケットを含む。すなわち、トランスポートストリームＳＴＡは、時刻情報としてのタイムスタンプが付加された、連続する複数のトランスポートパケットを含むストリームである。以下においては、ＰＣＲを含むＴＳパケットを、ＰＣＲ包含ＴＳパケットともいう。
【００５３】
なお、映像処理装置１０００の記憶部１５００には、トランスポートストリームＳＴＡが記憶されているとする。なお、トランスポートストリームＳＴＡに含まれる全てのＴＳパケットには、タイムスタンプが付加されている。以下においては、タイムスタンプが付加されているＴＳパケットを、タイムスタンプ付ＴＳパケットともいう。
【００５４】
図３は、トランスポートストリームに対し、制御部１４００が行なう処理およびデコード回路１６００が行なう処理のフローチャートを示す図である。図３を参照して、ステップＳ１１０では、制御部１４００が、記憶部１５００に記憶されているトランスポートストリームＳＴＡに含まれるｎ（ｎ：自然数）番目および（ｎ＋１）番目のタイムスタンプ付ＴＳパケットを読み出す。なお、ｎの初期値は、“１”であるとする。したがって、初めて、ステップＳ１１０の処理が行なわれる場合、１番目および２番目のタイムスタンプ付ＴＳパケットであるＴＳパケットＴ１０ＡおよびＴＳパケットＴ２０Ａが読み出される。その後、ステップＳ１１２に進む。
【００５５】
ステップＳ１１２では、挿入ヌルパケット数算出処理が行なわれる。挿入ヌルパケット数算出処理では、ｎ番目のタイムスタンプ付ＴＳパケットからタイムスタンプが取り除いたＴＳパケットと、（ｎ＋１）番目のタイムスタンプ付ＴＳパケットからタイムスタンプが取り除いたＴＳパケットとの間に挿入するヌルパケットの数を算出する処理である。ヌルパケットとは、情報を含まないダミーパケットである。以下においては、タイムスタンプ付ＴＳパケットからタイムスタンプが取り除かれたＴＳパケットを、タイムスタンプ除去ＴＳパケットともいう。タイムスタンプ除去ＴＳパケットのサイズは、１８８バイトであるとする。
【００５６】
挿入するヌルパケットの数は、制御部１４００が、以下の式（１）により算出する。
Ｘ＝（（ｎ＋１）番目の時刻−ｎ番目の時刻）／（１８８×８×（１／ストリームビットレート））  ・・・（１）
式（１）において、「（ｎ＋１）番目の時刻」とは、（ｎ＋１）番目のタイムスタンプ付ＴＳパケットに付加されているタイムスタンプ値に対応する時刻である。同様に、「ｎ番目の時刻」とは、ｎ番目のタイムスタンプ付ＴＳパケットに付加されているタイムスタンプ値に対応する時刻である。式（１）において、ｎ＝１とすると、２番目のタイムスタンプ付ＴＳパケットであるＴＳパケットＴ２０Ａに付加されているタイムスタンプ値に対応する時刻は、時刻ｔ４である。１番目のタイムスタンプ付ＴＳパケットであるＴＳパケットＴ１０Ａに付加されているタイムスタンプ値に対応する時刻は、時刻ｔ１である。時刻ｔ４と時刻ｔ１との差の時間は、一例として、１００μ秒であるとする。すなわち、式（１）の分子は、一例として、１００μ秒であるとする。
【００５７】
式（１）において、“１８８”とは、タイムスタンプ付ＴＳパケットからタイムスタンプのサイズを引いたデータサイズをバイトで示した値である。
【００５８】
式（１）において、ストリームビットレートとは、トランスポートストリームＳＴＡの元のトランスポートストリームであるトランスポートストリームＳＴＭのビットレートである。ストリームビットレートは、一例として、３０Ｍｂｐｓ（bit per second）であるとする。したがって、式（１）の分母は、トランスポートストリームＳＴＭに含まれる複数のＴＳパケットの１つを送信するために必要な平均時間を示す。
【００５９】
したがって、式（１）の分子が、１００μ秒であり、式（１）の分母は、１５０４／３０×１０６から、５．０×１０−３となるので、Ｘは２となる。すなわち、挿入するヌルパケットの数は２個となる。挿入するヌルパケットの数が算出されると、ステップＳ１１４に進む。なお、式（１）において、算出された値の小数点以下の値は、四捨五入される。したがって、たとえば、式（１）により、２．７が算出されると、Ｘ＝３となる。
【００６０】
ステップＳ１１４では、パケット一次記憶処理が行なわれる。パケット一次記憶処理では、制御部１４００が、ｎ番目および（ｎ＋１）番目のタイムスタンプ付ＴＳパケットを、タイムスタンプを取り除いたタイムスタンプ除去ＴＳパケットとする。
【００６１】
ｎが“１”の場合、１番目および２番目のタイムスタンプ付ＴＳパケットであるＴＳパケットＴ１０Ａ，Ｔ２０Ａからタイムスタンプが取り除かれたＴＳパケットは、図２のトランスポートストリームＳＴＭに含まれるＴＳパケットＴ１０，Ｔ２０となる。
【００６２】
そして、ｎが“１”の場合、制御部１４００は、ｎ番目のタイムスタンプ除去ＴＳパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとの間に、ステップＳ１１２の処理により算出された数のヌルパケットを挿入したパケット群を生成する。ここで、ヌルパケットのサイズは、１８８バイトである。そして、制御部１４００は、生成したパケット群を、バッファ１４５０に記憶させる。ｎが“１”の場合、バッファ１４５０に記憶されるパケット群は、図２に示されるトランスポートストリームＳＴＡＤのうちの、ＴＳパケットＴ１０〜ＴＳパケットＴ２０までのパケット群となる。トランスポートストリームＳＴＡＤにおいて、「ＮＵＬＬ」と表示されているパケットは、ヌルパケットを示す。
【００６３】
なお、ｎが“２”以上の場合、制御部１４００は、バッファ１４５０に既に記憶されているｎ番目のＴＳパケットに連続するように、算出された数のヌルパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとをバッファ１４５０に順に記憶させる。その後、ステップＳ１１６に進む。
【００６４】
ステップＳ１１６では、制御部１４００が、バッファ１４５０に記憶されているＴＳパケットのデータ容量が所定容量（たとえば、１キロバイト）以上であるか否かを判定する。ステップＳ１１６において、ＹＥＳならば、ステップＳ１１８に進む。一方、ステップＳ１１６において、ＮＯならば、ステップＳ１１７に進む。
【００６５】
ステップＳ１１７では、制御部１４００が、ｎの値を“１”インクリメントする。その後、再度、ステップＳ１１０の処理が行なわれる。
【００６６】
ステップＳ１１６でＹＥＳと判定されるまで、ステップＳ１１０，Ｓ１１２，Ｓ１１４，Ｓ１１７の処理が繰り返されると、バッファ１４５０には、たとえば、図２のトランスポートストリームＳＴＡＤが記憶されることになる。ステップＳ１１６でＹＥＳならば、ステップＳ１１８に進む。
【００６７】
なお、本実施の形態では、連続する２つのタイムスタンプ除去ＴＳパケットの間に、ヌルパケットを挿入するように、バッファ１４５０にパケットを記憶させる処理を行なっていた。しかしながら、最初に、バッファ１４５０の記憶領域全体にヌルパケットを記憶させた状態で、図２のトランスポートストリームＳＴＡＤに示される間隔で、タイムスタンプ除去ＴＳパケットを、バッファ１４５０に上書き記憶させる処理を行なってもよい。この処理においても、バッファ１４５０には、図２のトランスポートストリームＳＴＡＤが記憶されることになる。
【００６８】
ステップＳ１１８では、ストリーム送信処理が行なわれる。ストリーム送信処理では、制御部１４００が、バッファ１４５０に記憶されている、トランスポートストリームＳＴＡＤを、デコード回路１６００へ送信する。その後、制御部１４００は、バッファ１４５０に記憶されているパケットを消去する。その後、再度、ステップＳ１１７の処理が行なわれる。
【００６９】
デコード回路１６００では、ステップＳ２１０において、デコード処理が行なわれる。デコード処理では、デコード回路１６００に含まれるクロック回路１７００が、制御部１４００から送信されたトランスポートストリームＳＴＡＤを受信する。そして、クロック回路１７００は、受信したトランスポートストリームＳＴＡＤを、デコード部１８００へ送信すると共に、受信したトランスポートストリームＳＴＡＤに含まれるＰＣＲ包含ＴＳパケットを検出する毎に、ＰＣＲ包含ＴＳパケットに含まれるＰＣＲの値に基づいて、必要に応じて、デコード部１８００へ送信するシステムクロックＳＣＫの周波数を調整することで変化させる。
【００７０】
前述の制御部１４００の処理が行なわれることにより、トランスポートストリームＳＴＡＤに含まれる、ＰＣＲ包含ＴＳパケットとしてのＴＳパケットＴ１０，Ｔ４０の間隔は、トランスポートストリームＳＴＭに含まれる、ＰＣＲ包含ＴＳパケットとしてのＴＳパケットＴ１０，Ｔ４０の間隔と同じになる。したがって、クロック回路１７００は、本来、システムクロックＳＣＫの周波数を調整すべきタイミングにおいて、システムクロックＳＣＫの周波数を調整することが可能となる。したがって、クロック回路１７００は、システムクロックＳＣＫを正確に生成することができる。
【００７１】
また、デコード部１８００は、クロック回路１７００が生成したシステムクロックＳＣＫに基づいて動作する。すなわち、デコード部１８００は、正確に生成されたシステムクロックＳＣＫに基づいて、トランスポートストリームＳＴＡＤをデコード処理する。したがって、デコード部１８００は、正確に生成されたシステムクロックＳＣＫに基づいて動作するため、受信したＴＳパケットを正確にデコードすることができるという効果を奏する。
【００７２】
すなわち、本実施の形態における映像処理装置１０００は、時刻情報としてのタイムスタンプが付加された、連続する複数のトランスポートパケットを正確にデコードすることができるという効果を奏する。
【００７３】
なお、デコード部１８００のデコード処理により、映像信号および音声信号が生成される。そして、デコード部１８００は、生成した映像信号および音声信号を、たとえば、外部の表示装置へ送信する。
【００７４】
デコード回路１６００は、受信したトランスポートストリームＳＴＡＤのデコード処理が終了すると、再度、制御部１４００からトランスポートストリームを受信したときに、再度、ステップＳ２１０の処理を行なう。
【００７５】
図４は、制御部１４００の機能ブロック図である。図４を参照して、制御部１４００は、算出部１４１０と、生成部１４２０とを含む。算出部１４１０は、前述した、図３のステップＳ１１２の挿入ヌルパケット数算出処理を行なう。すなわち、算出部１４１０は、ｎ番目のタイムスタンプ除去ＴＳパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとの間に挿入する、ダミーパケットとしてのヌルパケットの数を算出する。算出部１４１０は、算出したヌルパケットの数を、生成部１４２０へ報知する。
【００７６】
生成部１４２０は、ｎ番目のタイムスタンプ除去ＴＳパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとの間に、算出部１４１０により算出された数のヌルパケットを挿入したパケット群を生成する。制御部１４００に含まれる算出部１４１０および生成部１４２０の全てまたは一部は、ハードウエアで構成されてもよい。
【００７７】
以上説明したように、本実施の形態では、タイムスタンプが付加された複数のタイムスタンプ付ＴＳパケットを含むトランスポートストリームＳＴＡを処理する。当該処理では、まず、ｎ番目のタイムスタンプ除去ＴＳパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとの間に挿入するヌルパケットの数を算出する。
【００７８】
そして、ｎが“１”の場合、ｎ番目のタイムスタンプ除去ＴＳパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとの間に、算出された数のヌルパケットを挿入したパケット群を生成し、生成したパケット群を、バッファ１４５０に記憶させる。ｎが“２”以上の場合、バッファ１４５０に既に記憶されているｎ番目のＴＳパケットに連続するように、算出された数のヌルパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとをバッファ１４５０に順に記憶させる。これにより、ｎ番目のタイムスタンプ除去ＴＳパケットと、（ｎ＋１）番目のタイムスタンプ除去ＴＳパケットとの間に、算出された数のヌルパケットが挿入されたパケット群が生成される。
【００７９】
以上の処理を繰り返すことにより、トランスポートストリームＳＴＡに含まれる複数のタイムスタンプ付ＴＳパケットにそれぞれ対応する複数のタイムスタンプ除去ＴＳパケットの間隔は、トランスポートストリームＳＴＭに含まれる複数のＴＳパケットの間隔と同じとなる。なお、トランスポートストリームＳＴＡは、トランスポートストリームＳＴＡに含まれるＴＳパケットの数より多いＴＳパケットを含むトランスポートストリームＳＴＭの一部である。
【００８０】
したがって、クロック回路１７００は、本来、システムクロックＳＣＫの周波数を調整すべきタイミングにおいて、システムクロックＳＣＫの周波数を調整することが可能となる。したがって、クロック回路１７００は、システムクロックＳＣＫを正確に生成することができる。
【００８１】
また、デコード部１８００は、クロック回路１７００が生成したシステムクロックＳＣＫに基づいて動作する。すなわち、デコード部１８００は、正確に生成されたシステムクロックＳＣＫに基づいて、トランスポートストリームＳＴＡＤをデコード処理する。したがって、デコード部１８００は、正確に生成されたシステムクロックＳＣＫに基づいて動作するため、トランスポートストリームＳＴＡＤに含まれるＴＳパケットを正確にデコードすることができるという効果を奏する。
【００８２】
すなわち、本実施の形態における映像処理装置１０００は、時刻情報としてのタイムスタンプが付加された、連続する複数のトランスポートパケットを正確にデコードすることができるという効果を奏する。
【００８３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００８４】
【図１】本実施の形態における映像処理装置の内部構成の一例を示すブロック図である。
【図２】本実施の形態の処理により生成されるトランスポートストリームＳＴＡＤを説明するための図である。
【図３】トランスポートストリームに対し、制御部が行なう処理およびデコード回路が行なう処理のフローチャートを示す図である。
【図４】制御部１４００の機能ブロック図である。
【図５】トランスポートストリームを説明するための図である。
【図６】従来の映像処理装置の内部構成の一例を示すブロック図である。
【図７】トランスポートストリームを説明するための図である。
【図８】タイムスタンプが付加されたトランスポートパケットを示す図である。
【符号の説明】
【００８５】
１０００  映像処理装置、１２００  通信部、１４００  制御部、１４５０  バッファ、１５００  記憶部、１６００  デコード回路、１７００  クロック回路、１８００  デコード部。
【図１】
2008035198.tif 000003
【図２】
2008035198.tif 000004
【図３】
2008035198.tif 000005
【図４】
2008035198.tif 000006
【図５】
2008035198.tif 000007
【図６】
2008035198.tif 000008
【図７】
2008035198.tif 000009
【図８】
2008035198.tif 000010