図面 (/)

この項目の情報は公開日時点(1999年3月16日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (5)

課題

圧縮情報フレームを同期させる費用効果の高い方法および装置を提供する。

解決手段

一連情報フレームを表す複数の情報セグメントを含んだ圧縮情報ストリームを処理するタイミング同期方法および装置である。バッファの過剰利用の指標応答して、情報フレームを表す情報セグメントが削除される。つまり、バッファ利用率の一つ以上の指標に応答して情報フレームを追加または削減する。第1の情報ストリームは、第1のタイミング基準に関連するタイミング情報と、第1タイミング基準に従って符号化された一連の圧縮情報フレームと、を備えている。第2の情報ストリームは、第1の情報ストリームに含まれるタイミング情報を用いて圧縮情報フレームを復号することにより形成される。この第2情報ストリームは、一般に、情報フレームを追加または削除することによって第2タイミング基準に同期させられる。

概要

背景

受信ビットストリーム用の復号およびプレゼンテーションプロセスの同期は、リアルタイムディジタルデータ通信および配信システムの特に重要な側面である。受信データは(そのデータが生成および送信されるレートに一致するように)特定のレートで処理されることが期待されるので、同期がとれないとデコーダバッファオーバーブローまたはアンダーフローのいずれかが発生し、結果としてプレゼンテーションの損失および/または同期ずれが発生する。

幾つかの通信システムでは、使用可能な帯域幅がより効率的に使用されるように、送信するデータが圧縮されている。例えば、動画専門家グループ(Moving Pictures Experts Group:MPEG)は、ディジタルデータ配信システムに関する幾つかの規格を提案している。MPEG−1として知られる第1の規格は、ISO/IEC規格11172を指しており、この規格は参照文献として本明細書に組み込まれる。MPEG−2として知られる第2の規格は、ISO/IEC規格13818を指しており、この規格も参照文献として本明細書に組み込まれる。

MPEGに準拠したシステムは、映像音声および補助データを含んだ完全なプレゼンテーションを生成および記憶するために使用されている。各ピクチャごとに生成されるデータの量は(ピクチャコーディングの方法および複雑さに基づいて)可変なので、タイミングをピクチャデータの開始から直接導き出すことはできない。したがって、プレゼンテーションの適切な表示にとって重要なタイミング信号は、生成時または記憶時にMPEG情報ストリーム中に埋め込まれる。これらのタイミング信号は、MPEG準拠システムの受信側において情報を正確に表示するために使用される。

現在のアナログテレビジョンスタジオ実務では、入力信号をスタジオ基準タイミングに同期させている。これは、フレームシンクロナイザを使用することにより達成される。このフレームシンクロナイザは、信号源および宛先におけるタイミング基準の差に基づいてフレームを追加または削除する。アナログテレビジョンシステムのフレームシンクロナイザは、アナログテレビジョン信号に含まれる同期パルスを利用する。これらの同期パルスは、水平ライン、ピクチャフィールドおよびピクチャフレームを描く。

概要

圧縮情報フレームを同期させる費用効果の高い方法および装置を提供する。

一連情報フレームを表す複数の情報セグメントを含んだ圧縮情報ストリームを処理するタイミング同期方法および装置である。バッファの過剰利用の指標応答して、情報フレームを表す情報セグメントが削除される。つまり、バッファ利用率の一つ以上の指標に応答して情報フレームを追加または削減する。第1の情報ストリームは、第1のタイミング基準に関連するタイミング情報と、第1タイミング基準に従って符号化された一連の圧縮情報フレームと、を備えている。第2の情報ストリームは、第1の情報ストリームに含まれるタイミング情報を用いて圧縮情報フレームを復号することにより形成される。この第2情報ストリームは、一般に、情報フレームを追加または削除することによって第2タイミング基準に同期させられる。

目的

従ってこの分野では、MPEG準拠情報ストリームなどの圧縮情報ストリーム内に含まれる映像および他の圧縮情報フレームを同期させる費用効果の高い方法および装置が必要とされている。また、送信ステーションフレームレート受信ステーションのフレームレートとの間に必要なフレーム同期を提供するとともにタイミング基準のローカル制御が維持されるようなフレーム同期方法および装置を提供することが望ましい。

効果

実績

技術文献被引用数
2件
牽制数
2件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

一連情報フレームを表す複数の情報セグメントを含んだ情報ストリームを処理する方法であって、前記情報ストリームを第1の記憶装置に第1のフローレートで記憶するステップと、記憶された前記情報ストリームを前記第1記憶装置から第2のフローレートで検索するステップと、前記第1記憶装置の利用率指標監視するステップと、前記第1記憶装置の利用率が第1のしきいレベルよりも大きいことを示す前記指標に応答して、少なくとも一つの前記情報フレームを表す情報セグメントを前記情報ストリームから選択的に削除するステップと、を備える方法。

請求項2

前記情報ストリームのバッファ要求指標を第2の情報ストリームのバッファ要求指標と比較するステップと、これらのバッファ要求指標が実質的に等しい場合に前記検索情報ストリームを送信するステップと、を更に備える請求項1記載の方法。

請求項3

前記送信された情報ストリームおよび前記第2情報ストリームの一方を受け取る第2の記憶装置の利用率の指標を監視するステップと、前記第2記憶装置が前記送信された情報ストリームを受け取る場合に、前記第2記憶装置の利用率が第3のしきいレベルよりも大きいことを示す前記第2指標に応答して、少なくとも一つの前記情報フレームを表す情報セグメントを前記情報ストリームから選択的に削除し、前記第2記憶装置の利用率が第4のしきいレベルよりも小さいことを示す前記第2の指標に応答して、少なくとも一つの前記情報フレームを表す情報セグメントを前記情報ストリームに選択的に追加するステップと、を更に備える請求項2記載の方法。

請求項4

前記利用率の指標は、前記第1のフローレートと第2のフローレートとの差分を示している、請求項1記載の方法。

請求項5

前記処理された情報ストリームを受け取る前記第2記憶装置の利用率の指標を監視するステップと、前記第2記憶装置の利用率が第3のしきいレベルよりも大きいことを示す前記第2指標に応答して、少なくとも一つの前記情報フレームを表す情報セグメントを前記情報ストリームから選択的に削除するステップと、前記第2記憶装置の利用率が第4のしきいレベルよりも小さいことを示す前記第2指標に応答して、少なくとも一つの前記情報フレームを表す情報セグメントを前記情報ストリームに選択的に追加するステップと、を更に備える請求項1記載の方法。

請求項6

前記第2記憶装置から第3のフローレートで情報が検索され、前記利用率の第2指標が、前記第2フローレートと前記第3フローレートとの差分を示している、請求項3記載の方法。

請求項7

前記情報フレームがMPEGビデオアクセス単位を表している請求項1記載の方法。

請求項8

前記削除される情報フレームがB−フレームを備えている請求項7記載の方法。

請求項9

一連の情報フレームを表す複数の情報セグメントを備えた情報ストリームを処理する方法であって、前記情報ストリームを受信するステップと、選択動作モードにおいて、この受信情報ストリームを出力情報ストリームとして出力に結合し、前記出力情報ストリームのフローレートの指標を受け取り、前記フローレートが第1の所定しきいレベルよりも大きいことを示す前記指標に応答して、少なくとも一つの前記情報フレームを表す情報セグメントを前記情報ストリームから選択的に削除し、前記フローレートが第2の所定しきいレベルよりも小さいことを示す前記指標に応答して、少なくとも一つの前記情報フレームを表す情報セグメントを前記情報ストリームに選択的に追加するステップと、を備える方法。

請求項10

非選択動作モードを更に備える請求項9記載の方法であって、前記非選択動作モードは、前記受信情報ストリームの少なくとも一部分を記憶するステップと、前記選択動作モードに入るときに第1の所定の型の情報フレームが前記出力に結合される前記第1情報フレームとなるように、前記記憶された情報ストリームを整列させるステップと、を備えている方法。

請求項11

前記整列ステップは、前記選択動作モードに入るときに前記第1の所定の型または第2の所定の型の情報フレームが前記出力に結合される第2情報フレームとなるように、前記記憶された情報ストリームを整列させるステップを更に備えている、請求項10記載の方法。

請求項12

前記非選択動作モードは、前記記憶された情報ストリームに含まれるバッファ利用率パラメータを、現在選択されている情報ストリームに含まれるバッファ利用率パラメータと比較するステップと、前記バッファ利用率パラメータが実質的に等しい場合に前記選択動作モードに入るステップと、を更に備えている、請求項11記載の方法。

請求項13

一連の情報フレームを表す圧縮情報ストリームを処理して出力情報ストリームを生成する装置であって、前記圧縮情報ストリームおよびバッファ利用率の指標を受け取って制御信号を生成するコントローラと、前記コントローラに結合され、前記圧縮情報ストリームを受け取るフレームシーケンス調整器であって、前記制御信号に応答して前記圧縮情報ストリームから情報フレームを追加および削除し、前記出力情報ストリームを生成するフレームシーケンス調整器と、を備え、前記コントローラは、前記バッファ利用率が第1の所定しきいレベルよりも大きいことを示す前記指標に応答して、前記フレームシーケンス調整器に情報フレームを削除させ、前記コントローラは、前記バッファ利用率が第2の所定しきいレベルよりも小さいことを示す前記指標に応答して、前記フレームシーケンス調整器に情報フレームを追加させるようになっている装置。

請求項14

前記バッファ利用率の指標は、前記出力情報ストリームのフローレートの指標を含んでいる、請求項13記載の装置。

請求項15

前記フレームシーケンス調整器は、前記圧縮情報ストリームの少なくとも一部分を記憶する記憶手段を更に備えており、前記バッファ利用率の指標は、前記出力情報ストリームのフローレートの指標を含んでいる、請求項13記載の装置。

請求項16

前記フレームシーケンス調整器は、前記記憶手段から削除されるべき情報フレームを取り除くことによってこのフレームを削除し、前記フレームシーケンス調整器は、情報フレームを繰り返すことによって情報フレームを追加する、請求項15記載の装置。

請求項17

前記バッファ利用率の指標は、前記フレームシーケンス調整器の前記記憶手段の利用率の指標を含んでおり、前記コントローラは、前記記憶手段の利用率が第3の所定しきいレベルよりも大きいことを示す前記指標に応答して、前記フレームシーケンス調整器に情報フレームを削除させ、前記コントローラは、前記バッファ利用率が第4の所定しきいレベルよりも小さいことを示す前記指標に応答して、前記フレームシーケンス調整器に情報フレームを追加させる、請求項15記載の装置。

請求項18

前記圧縮情報ストリームは、バッファ利用率パラメータを含んでおり、前記コントローラは、非選択動作モードにおいて、前記圧縮情報ストリームに含まれる前記バッファ利用率パラメータを現在選択されている情報ストリームに含まれるバッファ利用率パラメータと比較し、前記バッファ利用率パラメータが実質的に等しい場合、前記コントローラは選択動作モードに入るようになっている、請求項13記載の装置。

請求項19

選択動作モードに入るときに第1の所定の型の情報フレームが出力に結合されるように、前記コントローラは、非選択動作モードで前記フレームシーケンス調整器に前記圧縮情報ストリームを記憶させる請求項13又は18記載の装置。

技術分野

0001

本発明は、全般的通信ステムに関し、特に情報ストリームフレーム同期に関する。

背景技術

0002

受信ビットストリーム用の復号およびプレゼンテーションプロセスの同期は、リアルタイムディジタルデータ通信および配信システムの特に重要な側面である。受信データは(そのデータが生成および送信されるレートに一致するように)特定のレートで処理されることが期待されるので、同期がとれないとデコーダバッファオーバーブローまたはアンダーフローのいずれかが発生し、結果としてプレゼンテーションの損失および/または同期ずれが発生する。

0003

幾つかの通信システムでは、使用可能な帯域幅がより効率的に使用されるように、送信するデータが圧縮されている。例えば、動画専門家グループ(Moving Pictures Experts Group:MPEG)は、ディジタルデータ配信システムに関する幾つかの規格を提案している。MPEG−1として知られる第1の規格は、ISO/IEC規格11172を指しており、この規格は参照文献として本明細書に組み込まれる。MPEG−2として知られる第2の規格は、ISO/IEC規格13818を指しており、この規格も参照文献として本明細書に組み込まれる。

0004

MPEGに準拠したシステムは、映像音声および補助データを含んだ完全なプレゼンテーションを生成および記憶するために使用されている。各ピクチャごとに生成されるデータの量は(ピクチャコーディングの方法および複雑さに基づいて)可変なので、タイミングをピクチャデータの開始から直接導き出すことはできない。したがって、プレゼンテーションの適切な表示にとって重要なタイミング信号は、生成時または記憶時にMPEG情報ストリーム中に埋め込まれる。これらのタイミング信号は、MPEG準拠システムの受信側において情報を正確に表示するために使用される。

0005

現在のアナログテレビジョンスタジオ実務では、入力信号をスタジオ基準タイミングに同期させている。これは、フレームシンクロナイザを使用することにより達成される。このフレームシンクロナイザは、信号源および宛先におけるタイミング基準の差に基づいてフレームを追加または削除する。アナログテレビジョンシステムのフレームシンクロナイザは、アナログテレビジョン信号に含まれる同期パルスを利用する。これらの同期パルスは、水平ライン、ピクチャフィールドおよびピクチャフレームを描く。

発明が解決しようとする課題

0006

MPEGに準拠した情報ストリームはアナログテレビジョン型の同期パルスを含まないので、このようなストリームのフレーム同期は特有の様々な問題をもたらす。例えば、MPEG準拠の送信ステーションプログラムを符号化し、その符号化されたプログラムを、ローカル(すなわち、送信機発振器に対して参照されるテレビジョン信号、例えば27MHステーションクロック、として送信する。自身のローカル発振器を有する受信機ステーションは、そのテレビジョン信号を受信して復号する。この受信機は、受信した信号をローカルタイミング基準(local timing reference)に同期させなければならない。一つの方法は、送信クロック受信クロックとを同期させることである。これは費用が高く、また一方の(すなわち、送信または受信)ステーションがステーションクロックの制御を他方のステーションまたはステーション外部の基準にゆだねる必要があるという欠点もある。

0007

従ってこの分野では、MPEG準拠情報ストリームなどの圧縮情報ストリーム内に含まれる映像および他の圧縮情報フレームを同期させる費用効果の高い方法および装置が必要とされている。また、送信ステーションのフレームレート受信ステーションのフレームレートとの間に必要なフレーム同期を提供するとともにタイミング基準のローカル制御が維持されるようなフレーム同期方法および装置を提供することが望ましい。

課題を解決するための手段

0008

従来技術に付随する上述の欠点は、非同期の圧縮情報ストリームをタイミング基準に適合させるのに適した本発明のタイミング同期方法および装置によって解決される。本発明は、バッファ利用率の一つ以上の指標(indicia)に応答して情報フレームを追加または削減する。第1の情報ストリームは、第1のタイミング基準に関連するタイミング情報と、第1タイミング基準に従って符号化された一連の圧縮情報フレームと、を備えている。第2の情報ストリームは、第1の情報ストリームに含まれるタイミング情報を用いて圧縮情報フレームを復号することにより形成される。この第2情報ストリームは、一般に、情報フレームを追加または削除することによって第2タイミング基準に同期させられる。したがって、第1タイミング基準と第2タイミング基準との間のタイミング差補償するために調整を行ってもよい。また、第2情報ストリームを出力に結合する前に様々な整列(alignment)を行うことが望ましい場合もある。例えば、情報ストリームによって配信される情報の最終的な品質にとって重大でない情報フレームのみを削除することが望ましい。

0009

MPEGシンクロナイザは、タイミングユニットから受信した制御信号に応答し、あるいはフレームシンクロナイザ内の入力バッファにおけるオーバーフロー状態またはアンダーフロー状態の指標に応答して、MPEGフレームまたはアクセス単位を選択的に追加または削減する。また、フレームシンクロナイザは、マルチプレクサによる入力ストリームの選択に先立って、そのストリームのフレーム整列及びビデオバッファベリファイヤ(VBV)整列を実行してもよい。

0010

送信システムクロック受信システムクロックとの間のタイミングオフセットは、1)複合VBVバッファ(combined VBV buffer)および受信システム入力バッファ内に記憶されたフレームの数の増減に注目することによって、あるいは2)トランスポートストリームを受信する場合には、PCRオフセットの差、すなわちローカルPCRと受信PCRとの差に注目することによって決定される。

発明を実施するための最良の形態

0011

添付の図面とともに以下の詳細な説明を考察することによって、本発明の開示内容を容易に理解することができる。

0012

理解を容易にするため、図面に共通の同一要素には可能な限り同一の参照番号を使用している。

0013

情報処理システム内のMPEG情報ストリームを処理するビデオフレームシンクロナイザに関連して本発明を説明する。本発明に従ってオーディオデータフレームシンクロナイザや補助データフレームシンクロナイザを構成してもよい。また、ここで述べる本発明の実施形態は、例えばセグメント化されたデータを含む非同期圧縮情報ストリームをタイミング基準に同期させなければならないような別の圧縮データシステムで使用するように修正を加えてもよいことに注意すべきである。

0014

図1は、情報処理システム100のブロック図を示している。トランスポートストリームデコーダ110は、27MHzのスタジオ基準(ステーションクロック)、例えばリモート供給源、に対して非同期の入力トランスポートストリームSTINを復号し、プログラムストリームSPを生成する。このプログラムストリームSPは、複数のパケット化基本ストリーム(packetized elementary stream:PES)から構成されている。PESデマルチプレクサ120は、プログラムストリームSPを逆多重化し、オーディオストリームS1AおよびビデオストリームS1Vを含んだ複数の基本PESストリームか複数のトランスポートパケット化PESストリームのいずれかを生成する。当業者であれば分かるように、PESストリームはトランスポートパケット構造内に埋め込まれている。したがって、以下の説明ではPESストリームのみを扱う。PESストリームS1A、S1Vは、27MHzステーションクロックS10に対して非同期のプレゼンテーションタイムスタンプ(PTS)やデコードタイムスタンプ(DTS)などのタイミング情報を含んでいる。ビデオPESストリームS1VおよびオーディオPESストリームS1Aは、それぞれビデオフレームシンクロナイザ200およびオーディオプロセッサ201に結合されている。

0015

ビデオフレームシンクロナイザ200については、図2を参照して以下でより詳細に説明する。簡単に説明すると、ビデオフレームシンクロナイザ200は、受信システムデータレートを調整して確実にローカル出力データレートに一致させるように動作する。このフレームシンクロナイザは、下流側のシステム構成要素におけるバッファ利用率(buffer utilization)を示すバッファフロー制御信号S12を監視し、それに応じてビデオフレームシンクロナイザ200の出力ストリームS2PVのデータレートを増減してバッファ利用率を適切なレベルに維持する。フレームを追加するか削減するかの決定は、受信回路内における経時的なフレーム数の変化に基づいている。ビデオフレームを追加するか削除するかの決定はオーディオプロセッサ201に結合され、この決定に応じて適切なオーディオフレームが追加または削除されるようになっている。ビデオフレームシンクロナイザ200およびオーディオプロセッサ201は、フレーム同期ビデオS2PVパケット化基本ストリーム(PES)およびフレーム同期オーディオS2PAパケット化基本ストリーム(PES)をそれぞれ生成する。これらは、PESスイッチャ130に結合される。バッファ管理機能に加えて、ビデオフレームシンクロナイザは、PESスイッチャによるストリームの選択に先立ってそのストリームのビデオフレームを整列(align)させるので、ビデオフレームシンクロナイザによって提供される最初の二つのフレームは、アンカフレーム(anchor frame)、例えばI−フレームおよびP−フレーム、となる。

0016

また、PESスイッチャ130は、ビデオS3PVパケット化基本ストリームおよびオーディオS3PAパケット化基本ストリームの第2のペアをPESソース140(例えば、ディジタルビデオディスクプレーヤテーププレーヤ、カメラサーバなど)から受信する。このPESソース140は、下流側のシステム構成要素におけるバッファ利用率を示すバッファフロー制御信号S12を監視し、それに応じてPESソース140の出力ストリームS3PV、S3PAのデータレートを増減してバッファ利用率の適切なレベルを維持する。

0017

制御信号(図示せず)に応答して、PESスイッチャ130は、一対のビデオパケット化基本ストリームS4PVおよびオーディオパケット化基本ストリームS4PAを選択し、対応するビデオリタイミングユニット300Vおよびオーディオリタイミングユニット300Aに結合させる。このビデオリタイミングユニット300Vについては、図3を参照して以下でより詳細に説明する。簡単に説明しておくと、ビデオリタイミングユニット300Vは、プログラムクロック基準ベース(Program Clock Reference Base:PCRB)信号S9から得られる新しいタイミング情報を用いて、ビデオストリームの古いプレゼンテーションタイムスタンプ(PTS)およびデコードタイムスタンプ(DTS)を復号およびリタイム(retime)する。オーディオリタイミングユニット300Aは、プログラムクロック基準ベース(PCRB)信号S9から得られる新しいタイミング情報を用いて、オーディオストリームの古いPTSをリタイムする。ビデオリタイミングユニット300Vおよびオーディオリタイミングユニット300Aは、それぞれリタイムビデオストリームS7PVおよびリタイムオディオストリームS7PAを生成する。更に、ビデオリタイミングユニット300Vは、多数の制御信号を生成する。バッファフロー制御信号S12は、ビデオフレームシンクロナイザ200およびPESソース140におけるデータ生成を調整するために使用される。このバッファフロー制御信号S12は、図1ではビデオPTS−DTSリタイミングユニット300Vによって生成されるように示されている。そのフラグに応じて、ビット数がそれぞれ増加又は減少する。ビデオPTS−DTSリタイミング回路での初期設定プロセス中に、VBVバッファのVBV遅延が入力ストリームのVBV遅延に整列させられる。ビデオPTS−DTSリタイミング回路で発生する信号S330は、整列プロセス(alignment process)の最後には入力ストリームのVBV遅延がVBVバッファのVBV遅延と等しいことを示している。フレームを追加または削減する必要性を判断する際に使用するために、ビデオフレームシンクロナイザの複合VBVバッファ(combined VBV buffer)および入力FIFO中のフレーム数が記憶される。あるいは、トランスポートストリームが受信されている場合には、PCRオフセット(入力PCRとローカルPCRとの差)を用いてフレームを追加または削減する必要性を判断してもよい。オーディオリタイミングユニット300Aはバッファフロー管理機能を含まないものの、それ以外の点では、ビデオリタイミングユニット300Vとほぼ同じように動作するので、ここで更に説明をすることはしない。

0018

ビデオリタイミングユニット300Vおよびオーディオリタイミングユニット300Aとして使用するのに適した装置は、図3を参照して以下で述べる。また、このような装置は、本発明と同時に出願された米国特許出願(代理人整理番号12389)にも記載されている。なお、この出願は参照文献として本明細書に組み込まれる。

0019

トランスポートストリームエンコーダ(TSE)150は、リタイムビデオS7PVPESストリームおよびリタイムオーディオS7PA PESストリームを受信し、これらのストリームを符号化して出力トランスポートストリームS11を生成する。TSE150は、27MHzステーションクロック信号S10を受信して出力トランスポートストリームS11のPCRスタンピングを実行するPCR発生器リタイマ(PCR generator and retimer)を含む。また、このPCR発生器は、同期PCRベース基準信号S9を90KHzのレート(27MHzのステーションクロックを300で割ったもの)で生成する。このPCRB基準信号S9は、PTS及びDTSスタンピングプロセスに使用するために、リタイミングユニット300V、300Aに戻される。

0020

上述の情報処理システム100は、新型テレビジョンシステム委員会ATSC)によるディジタルテレビジョン規格文書A/53(参照文献として本明細書に組み込まれる)に記述されているシステムなどのディジタル通信システムに使用することができる。このようなシステムでは、多くの場合、滑らかな又は「シームレス(seamless)な」方法で(すなわち、好ましくない視覚的又は聴覚的影響を最小限に抑えるような方法で)第1の(すなわち、現在選択されている)ビデオソースおよび/またはオーディオソースから第2の(すなわち、次に選択される)ビデオソースおよび/またはオーディオソースに切り替わることが望ましい。

0021

MPEGストリーム間の滑らかな切り替えを確保するためには、以下の処理操作が望ましいことを本発明者は発見した。まず第1に、次に選択されるストリームには、切り替えの前にフレーム整列プロセスを施すべきである。このフレーム整列プロセスは、出力に結合された次に選択されるストリームの第1のフレームが確実に非予測フレーム、すなわちイントラフレーム(intraframe)または「I−フレーム」となるようにする。第2のフレームは、別のI−フレームであるか、あるいは第1フレームだけを用いて予測されたフレーム、すなわち前方向予測フレームまたは「P−フレーム」であるべきである。I−フレームの後に別のI−フレーム、または第1フレームだけを用いて予測されたフレーム、すなわち前方向予測フレームもしくは「P−フレーム」が続かない場合には、特別に符号化されたP−フレームを、以前から存在するI−フレームシリーズとB−フレームシリーズとの間に追加してもよい。これにより、整列プロセス中にエントリポイントがストリームに人為的に挿入される。このフレーム整列プロセスは、フレームシンクロナイザ200によって実行される。第2に、PTS−DTSリタイミングユニット300VによってVBV遅延の整列が実行される。整列の結果は、図1の信号S330で示される。第3に、VBV遅延およびバッファメモリ(例えば、遠端デコーダ(far-end decoder)入力バッファやFIFO220)の利用率は、切り替えの前後に監視すべきである。S330がVBV遅延整列を知らせると、フレームシンクロナイザ200中の複合VBVバッファおよび入力FIFO内に格納されたフレームの数の増減により、フレームを追加または削減する必要性が判断される。

0022

図2は、図1に示される情報処理システムで使用するのに適した本発明に係るフレームシンクロナイザのブロック図を示している。このフレームシンクロナイザ200は、パケット化基本ストリーム(PES)であるストリームS1V(ここでは一例としてビデオストリームである)を受信し、第1の動作モード(すなわち、「事前選択」モード)でこの受信PESストリームを整列させ、第2の動作モード(すなわち、「選択済」モードまたは「定常状態」モード)でPESストリームを出力に結合する。更に、このフレームシンクロナイザは、第2動作モード中に様々なバッファ管理動作を実行する。オプションとして、コントローラ230は、信号SWITCH CONTROLによってその動作モードを事前選択モードまたは選択済モードに強制変更させられる。更にまたオプションとして、このコントローラは、信号SWITCHを送信することによって、例えば「下流側」スイッチャ(例えばPESスイッチャ130)に切り替え動作を実行させる。

0023

入力ビデオPESストリームS1Vは、クロック抽出器210、先入れ先出し(FIFO)メモリ220およびコントローラ230に結合されている。FIFO220は、理想的には、I−フレームと次のI−フレームまでの後続の全てのフレーム(次のI−フレームも含む)とを保持するのに十分な大きさを有している。ビデオストリームS1Vは、到着データに関連するロードクロック(load clock)S2Vを用いてFIFO220に同期入力される。一時的に記憶された入力ビデオストリームS1Vを表すFIFO出力ストリームS3Vは、フレーム追加/削減ユニット240に結合される。追加/削減ユニット240は、FIFO出力ストリームS3V(通過モード)、追加フレームが追加されたFIFO出力ストリームS3V(フレーム追加モード)、又はフレームが削除されたFIFO出力ストリームS3V(フレーム削減モード)を含む出力ビデオストリームS2PVを生成する。追加/削減ユニット240の動作モードは、コントローラ230からの信号S6Vによって制御される。また、コントローラ230は、監視信号S5Vを介してFIFO220を監視し、制御信号S4Vを介してFIFO220を制御する。このコントローラは、下流側のシステム構成要素におけるバッファ利用率を表すバッファフロー制御信号S12を受信する。このコントローラは、追加/削減ユニット240にビデオフレームを追加または削除させ、それによってリモートソースおよびローカルソースのタイミング同期を維持する。

0024

コントローラ230は、入力ビデオストリームS1VおよびFIFO220を監視する。また、このコントローラは、例えば記憶された入力ビデオストリームS1Vの全部または一部をFIFO220に放棄させることにより、FIFOの動作を制御する。説明のために、各PESパケットは一つのビデオアクセス単位(すなわち、ビデオフレーム)を含むものと仮定する。このビデオストリームが(例えば、PESスイッチャ130によって)切り替えられて出力ストリームとなる前に、切り替えのために整列を行わなければならない。MPEGシーケンスヘッダはピクチャを復号するのに極めて重要な情報を含むので、あるストリームへの切り替えはシーケンスヘッダの直前で起こらなければならない。シーケンスヘッダがI−フレームの直前にないときに使用するために、FIFOに入った最後のシーケンスヘッダが保存される。したがって、I−フレームがFIFOの出力に位置するようになるまでは、FIFOは全てのデータをフラッシュ(flush)される。

0025

切り替え点(switch point)における双方のアンカフレームの置換保証するために、ビットストリームは、送信の順序においてI−フレームの次にP−フレームまたはI−フレームが続かなければならないという制約を有している。I−フレームの次にB−フレームが続く場合は、オプションとして、P−フレーム(これは、ゼロ動きベクトルを備えた非符号化マクロブロックから構成されている)がI−フレームとB−フレームとの間に挿入されてもよい。このP−フレームは、最後のフレームをリピートラストフレームコマンド(repeat lsat frame command)として動作する。リピートフレームビデオ品質に与える視覚的な影響は、ストリームの切り替えと同時に起こるシーンチェンジ(scene change)によってマスクされる。このストリームへの切り替えの決定がなされるまでは、I−フレームがFIFOに入るたびにバッファフラッシュプロセスが継続する。I−フレームの直前にシーケンスヘッダがあれば、PESパケット内のPESヘッダおよびシーケンスヘッダを用いて切り替えプロセスが継続する。I−フレームに対するPESパケットがシーケンスヘッダを含んでいなければ、最後に記憶されたシーケンスヘッダが多重化されてストリームにされる。この結果得られる出力ストリームは、I−フレームの直前にシーケンスヘッダを含んでいる。

0026

切り替え点では、最低限二つのフレームがFIFOメモリ内に存在しなければならない。この状態は、切り替え点における時間基準(temporal reference)の計算を可能にする。オプションとして、I−フレームの出力に先立ってGOPヘッダが挿入されてもよく、I−フレームの時間基準はゼロに設定される。入力時間基準および新しい値からのオフセットは、切り替え点において計算される。

0027

本質的に、ストリームは、正しくない表示順序を有する可能性のある現在選択されているストリーム中の最後のフレームの結果を用いて任意の位置に残すことができる。視覚的な影響は、新しいビデオマテリアルへの自然なシフトによってマスクされる。現在選択されているストリームがアンカフレームの直前に残されても、フレームの再順序づけの影響は受けない。この時点で、現在選択されているストリームに属するフレームがデコーダバッファ内に更に多数存在している。デコーダバッファ内のフレームの数は、PESリタイミング回路300V内のフレームバイトカウンタによって追跡される。

0028

MPEGピクチャヘッダは、(ピクチャヘッダがデコーダのVBVバッファに入った後で)ピクチャを復号する前にデコーダが待つべき時間量を表すVBV遅延数を含んでいる。したがって、VBV遅延は、デコードタイムスタンプ(DTS)−PCRBに等しく、デコーダバッファ内のフレームの数に関係する。与えられた任意の瞬間におけるVBV遅延は、PESリタイミング回路の出力においてこの式を用いて計算される。

0029

入力MPEGストリームは、ストリームが符号化またリタイムされたときに生成されたVBV遅延を含んでいる。次に選択されるストリームのVBV遅延および現在選択されているストリームのVBV遅延は、双方とも切り替え時には分かっている。一般に、これらの値は一致しない。ビデオ符号化中はできるかぎり多くのフレームをデコーダバッファ内に配置することが望ましいので、現在選択されているストリーム内の最後のフレームのVBV遅延は大きくなければならない。これは、次に選択されるストリームのVBV遅延をデコーダバッファ内の実際のVBV遅延に一致させる機会を与える。

0030

次に選択されるストリームのVBV遅延および現在選択されているストリームのVBV遅延は、切り替え時にPESリタイミング回路300Vにおいて比較される。これにより、デコーダバッファが過大な遅延を含んでいるか、あるいは過小の遅延を含んでいるかが最初に示される。入力VBV遅延値を満足するには少なすぎる遅延がデコーダバッファに含まれている場合には、データは最大のレートで出力されるべきである。これにより、遅延を有する更に多くのフレームがデコーダバッファ内に配置される。このプロセスは、デコーダバッファ内のVBV遅延(すなわち、PESリタイミング回路300Vにおいて計算されたVBV遅延)が、選択されたばかりのストリームのVBV遅延に近くなるまで続く。入力FIFO220中のフレーム数は、このプロセスの間、監視される。FIFO220が空になりかけていれば、リピートフレームがリピートフレーム記憶装置からストリームに加えられる。過大な遅延がデコーダバッファ内にある場合には、適切な量の遅延がデコーダバッファ内に存在するようになるまで出力が停止される。FIFO220がオーバーフローしかけていれば、フレームがストリームから削減される。VBV遅延が整列されると、出力レート制御は第2動作モードに切り替わる。

0031

この第2動作モードは、PESリタイミング回路300Vによって制御される。入力FIFO内のフレーム数とデコーダバッファ内のフレーム数とを加算してフレーム周期乗算すると、このシステムのエンドツーエンド遅延(end to enddelay)が得られる。システムのエンドツーエンド遅延は、受信入力FIFOの入力からVBVバッファの出力に進むために個々のあるゆるバイトに対して必要となる時間量として定義することもできる。このエンドツーエンド遅延の値は、ローカル基準クロックからリモートソースのクロックタイミング差を求める際に使用するために記憶される。この値は、入力VBV遅延がデコーダバッファ内のVBV遅延に整列させられたときに記憶される。このエンドツーエンド遅延値は、リモートクロックローカルクロックとが正確に同じレートである場合には一定のままであると予想される。この他に、入力PCRとローカルPCRとの間のオフセットを記憶するようにしてもよい。このオフセットは、リモートクロックとローカルクロックとが正確に同じレートである場合には一定のままであると予想される。PESリタイミング回路は、データストリームに埋め込まれたフレームレートに基づいてFIFOからフレームを抽出する。デコーダバッファは、現在ストリーム中にあるVBV遅延を含んでいる。

0032

コントローラ230は、FIFO220を監視し、FIFO220が満たされつつある(すなわち、リモートクロックがステーションクロックよりも速い)か、あるいは空になりつつある(すなわち、リモートクロックはステーションクロックよりも遅い)かを判断する。FIFOが一杯になる傾向にある場合、コントローラは、これに応じて追加/削減ユニットに一以上のフレームを削減させることができる。FIFOが空になる傾向にある場合、コントローラは、これに応じて追加/削減ユニットに一以上のフレームを追加させることができる。このFIFOを充填する動作又は空にする動作は、FIFOが入力ビデオストリームS1Vの各フレームを簡易に記憶しており、かつPESスイッチャ130がリモートビデオストリームS2PVおよびリモートオーディオストリームS2PAを出力用に選択したときに、フレームシンクロナイザの第2動作モードで発生してもよい。

0033

フレームの削減は、ピクチャ再順序づけ(picture reordering)方式や予測ピクチャ品質のいずれも劣化させることなくストリームから安全に除去することのできるフレームを選ぶことによって達成される。これには、この目的を実現するために一つ以上のフレームを削減することが含まれていてもよい。アンカフレームと次のアンカフレームの前にある全ての介在B−ピクチャとが削減される場合、予測ピクチャ品質は最小限の影響しか受けない。ストリーム中の他のピクチャの品質に影響を及ぼすことなく任意のB−ピクチャを削除することができる。

0034

フレームの追加は、ゼロ動きベクトルを備えた非符号化マクロブロックを備えるP型またはB型フレームを挿入することによって達成される。このようなフレームは、MPEGに準拠した構文手法において「リピートラストフレーム」コマンドとして動作する。追加されるフレームは、P−フレームまたはB−フレームのいずれであってもよいが、P−フレームが好ましい。なぜなら、追加フレームがI−フレームを繰り返す場合にピクチャ品質がもっとも良く保存されるからである。追加「ダミー」フレームは、コントローラ内または追加/削減ユニット内に記憶され、必要なときに挿入される。

0035

リモートクロック周波数ローカルクロック周波数よりも一貫して高い場合には、エンドツーエンドシステム遅延が増加する。リモートクロック周波数がローカルクロック周波数よりも一貫して低い場合には、エンドツーエンドシステム遅延が減少する。現在の値がエンドツーエンド遅延用に記憶された値から1フレームに等しい値だけ異なっており、かつ、その他の外部基準を満足する場合、フレームは、そのときの状況に応じて削減あるいは追加される。

0036

コントローラ230は、入力PESストリームS1Vにおける外部基準を監視するために使用することができる。評価される外部基準の例としては、シーンチェンジ指標(例えば、多数のフレーム内符号化マクロブロック(intra-coded macroblock))、黒フィールド指標、最小数動き(minimal number motion)、アンカフレーム(すなわち、I−フレームまたはP−フレームが後に続くI−フレーム)の適切な検出が挙げられる。この外部基準を使用することにより、例えばビデオやオーディオの品質に及ぼす影響を最小限に抑えるような方法でフレームの追加および削減を実行することができる。

0037

以下では、フレームシンクロナイザ200の動作を図4を参照して説明する。この説明のために、リモート供給STINを表すビデオストリームS2PVおよびオーディオストリームS2PAが、PESスイッチャ130によって選択されていると仮定する。また、ビデオPTS−DTSリタイミングユニットが、選択されたビデオストリームS2PVを監視しており、それに応じて制御信号を生成するものと仮定する。

0038

図4は、本発明の理解に役立つフローチャートを示している。図2のフレームシンクロナイザ200に関して上述したように、入力ビデオ信号S1Vは先入れ先出しメモリ220に結合される。FIFO220は、I−フレームを保持するのに十分な大きさを有しており、理想的には、次のI−フレームまでの全ての後続フレームと次のI−フレームとを更に保持するのに十分な大きさを有している。以下の説明において、アクセス単位“A”はFIFO220の出力におけるアクセス単位である。アクセス単位“B”は次のアクセス単位であり、以下同様である。フレームカウンタは、例えばコントローラ230内に実装されていてもよい。フレームカウンタは、FIFO220内に記憶されているアクセス単位の数を単純に計数する。

0039

図4のフローチャートは、フレーム整列ルーチン(ステップ404〜430)、切り替えルーチン(ステップ440〜460)、およびフレーム追加/削減ルーチン(ステップ470〜486)という三つの相互に関連する制御ルーチンを備えている。整列ルーチン(ステップ404〜430)は、出力ストリームS2PVとして入力ストリームS1Vが選択される前に、入力ストリームS1V内のビデオフレームまたはアクセス単位を整列させる。切り替えルーチン(ステップ440〜460)は、結果として得られるストリームS2PVを出力として選択する動作が、現在選択されているストリーム(例えば、S3PV)に対して適切な時点に確実に行われるようにする。フレーム追加/削減ルーチン(ステップ470〜486)は、複合入力FIFO(combined input FIFO)および遠端デコーダバッファ内のフレーム数を増減するために使用される。これらのルーチンは、主として図2に示されるコントローラ230の制御下にある。これらのルーチンの一部分は、他のソースから受信されるデータに依存する。一例を挙げると、VBV整列プロセス(ステップ470)は、例えばビデオPTS−DTSリタイミングユニット300Vで行われる。下流側のバッファ状態を表すバッファフロー制御信号S12は、コントローラに供給される。

0040

整列ルーチン(ステップ404〜430)は、ステップ406から開始する。この好適な実施形態では、FIFOを通過するストリーム(S1V)が(例えば、PESスイッチャ130によって)出力に結合される前にFIFO内に記憶された少なくとも二つのアクセス単位(例えば、複数のビデオフレーム)が存在しなければならない。更に、第1のアクセス単位は、I−フレームでなければならない。FIFO220内に記憶されたアクセス単位の数(CNT)がしきい数値(SW CNT)未満であれば、このルーチンは更なるアクセス単位がFIFOに入るのを待つ。アクセス単位の数(FrameCTR)がしきい数値(ステップ406におけるSW CNT)に等しい場合、第1のアクセス単位(すなわち、アクセス単位“A”)が検査される。アクセス単位“A”がシーケンスヘッダを含んでいる場合(ステップ408)、コントローラは、ストリーム切り替えルーチン(ステップ440〜460)において後で使用するためにシーケンスヘッダ(SEQHEADER)を記憶し(ステップ410)、「シーケンスヘッダストアド(sequence header stored)」フラグがセットされる。アクセス単位“A”がI−フレームでない場合(ステップ412)、アクセス単位“A”はFIFOから消去(purge)され(ステップ404)、それによって残りのアクセス単位がFIFO中の次の「位置(position)」に進められる。アクセス単位“A”がI−フレームとなるまでステップ406〜412が繰り返される。

0041

アクセス単位“A”がI−フレームになると、次にアクセス単位“B”が検査される(ステップ414)。アクセス単位“B”がB−フレームであれば、オプションとして(ステップ417)、アクセス単位“A”とアクセス単位“B”との間にP−フレームが挿入される(ステップ418)。P−フレームがオプションとして挿入されなければ(ステップ417)、アクセス単位“A”はFIFOから消去され(ステップ404)、アクセス単位“A”がI−フレームとなるまでステップ406〜412が繰り返される。挿入するフレームは、例えば、ゼロ動きベクトルを有する非符号化マクロブロックを備えたP−フレームとすることができる。このようなフレームは、「リピートラストフレーム」コマンドとして動作する(すなわち、アクセス単位“A”を繰り返す)。

0042

また、新しい時間基準値を計算する際に使用するために、アクセス単位“A”およびアクセス単位“B”に対する時間基準(temporal reference)値も記憶される(ステップ420)。

0043

シーケンスヘッダが記憶されなかった場合(ステップ410)、整列プロセス全体(ステップ406〜422)を繰り返さなければならない。これは、ストリームS1Vが選択される場合、シーケンスヘッダがアクセス単位“A”に記憶されたI−フレームに先行する必要があるからである。最も新しいシーケンスヘッダが、シーケンスヘッダの直後ではないI−フレームの直前のストリームに挿入するために記憶される。シーケンスヘッダが記憶されている場合には、出力ストリームS2PVがスイッチャ130によって選択できる状態にあり(すなわち、ステップ426によって示されるように、次に選択される又は切替用“TO”ストリームがレディ状態となり)、「レディフラグ(ready flag)」がセットされる。

0044

入力ストリームS1Vがアクティブストリーム(すなわち、現在選択されているストリーム)の場合、このルーチンは待機状態となる(ステップ428)。入力ストリームS1Vがアクティブストリームでなく(ステップ428)、I−フレームがまだFIFOにロードされていない場合、このルーチンは待機状態となる。次のI−フレームとそれに続くフレームがFIFOによって受信されると、この受信I−フレームがアクセス単位“A”の位置に記憶されるようにFIFOの内容がフラッシュされる。この後、整列プロセス全体(ステップ406〜430)が反復される。

0045

切り替えルーチン(ステップ440〜460)は、ステップ440から開始する。この切り替えルーチンは、アクティブストリームの最後の完全なアクセス単位(理想的には“FROM”ストリーム中のアンカフレームの直前のアクセス単位)が送信され(ステップ440)、出力ストリームS2PV(すなわち、“TO”ストリーム)の選択の準備が完了し(ステップ442)、デコーダバッファレディフラグがセット(ステップ444)されているときに開始する。

0046

上述の条件が満足されているとき(ステップ440〜444)、コントローラ230は、記憶されたシーケンスヘッダ(ステップ410からのもの)がビデオストリームS2PVの第1の出力として送信されるようにする(ステップ446)。更に、「シーケンスヘッダストアド」フラグがリセットされ、「アクティブストリーム識別子(active stream identifier)」フラグが変更される。この後、コントローラは、オプションとして(ステップ447)、ピクチャ群(a group of pictures:GOP)ヘッダがビデオストリームS2PVの次の出力として送信されるようにする(ステップ448)。このGOPヘッダは、例えば遠端デコーダ内の時間基準カウンタをリセットするために使用される。この後、コントローラは、FIFOに第1の記憶アクセス単位(すなわち、アクセス単位“A”)を送信させる(ステップ450)。

0047

GOPヘッダが検出されるまでは時間基準の補正が必要となる。GOPヘッダが整列済I−フレームの直前に検出されなければ(ステップ452)、送信されているアクセス単位の時間基準(TR)を計算しなければならない(ステップ454)。

0048

オプションとしてGOPがI−フレームの前に挿入されると、以下の操作が実行される。整列中、受信アクセス単位“B”がI−フレームまたはP−フレームであれば、全ての時間基準は、受信アクセス単位“A”時間基準の値だけ減分されなければならない。受信アクセス単位“B”がB−フレーム(これは、リピートP−フレームの挿入を必要とする)である場合、第1に、アクセス単位“A”時間基準がゼロに設定される。第2に、挿入されるP−フレーム時間基準は、アクセス単位“A”の時間基準からアクセス単位“B”の時間基準を引いた時間基準差に1を足した値に設定される。第3に、B−フレームとそれに続くフレームとの時間基準は、“B”アクセス単位の時間基準を入力時間基準から引いて1を足すことにより計算される(ステップ454)。

0049

GOPがオプションとしてI−フレームの前に挿入されない場合は、以下の操作が実行される。受信アクセス単位“B”がI−フレームまたはP−フレームの場合、全ての時間基準は、受信アクセス単位“A”時間基準の値だけ減分された後、(“FROM”ストリーム中の最後のアンカフレーム時間基準+1)だけ増分されなければならない。受信アクセス単位“B”がB−フレームの場合、アクセス単位“A”時間基準はゼロに設定された後、(“FROM”ストリーム中の最後のアンカフレーム時間基準値+1)だけ増分される。アクセス単位“B”はB−フレームなので、リピートP−フレームが挿入されなければならない。挿入されるP−フレームの時間基準は、アクセス単位“A”の時間基準からアクセス単位“B”の時間基準を引いた時間基準差に1を足した値に設定された後、(“FROM”ストリーム中の最後のアンカフレーム時間基準値+1)だけ増分される。B−フレームとそれに続くフレームの時間基準は、“B”アクセス単位時間基準を入力時間基準から引いて1を足した後、(“FROM”ストリーム中の最後のアンカフレーム時間基準値+1)だけ増分することにより計算される(ステップ454)。

0050

フレームインサート(frame insert)フラグがセットされている場合(ステップ456)、ゼロ動きベクトルを有する非符号化マクロブロックを備えたフレームが出力ストリームS2PVに挿入される(ステップ458)。上述したように、このようなフレームは、「リピートラストフレーム」コマンドとして動作する。

0051

「スイッチストリーム(switch stream)」コマンド(すなわち、当初選択されていたバッファに戻すコマンド)が発行されていなければ(ステップ460)、ステップ450〜460が繰り返される。このように、入力ストリームS1Vは、出力ビデオストリームS2PVを生成するためにFIFO220を介してフレーム追加/削減ユニット240に結合されている。

0052

フレーム追加/削減ルーチン(ステップ470〜486)は、ステップ470から開始する。ビデオPTS−DTSリタイミングユニット300Vは、以下のようにしてVBV遅延を整列させる。初期設定では、VBVバッファは空である。第1のフレームがVBVバッファに出力されるとき、VBVバッファ中のバイトの実行総数(running total)は、フレームバイトカウンタ354によって維持される。この総数がVBVバッファサイズに等しい場合、フレームバイトカウンタ354から論理演算装置325に送られる出力信号S317によって論理演算装置325は、データがPTS−DTSリタイミングユニット300Vから出力されないようにする。

0053

MPEG2仕様書の付属書類Cに記述されるように、二つのモードのVBVバッファ動作が可能である。第1のモード(モードA)では、VBV遅延を16進数FFFFに設定する必要がある。第2のモード(モードB)では、VBV遅延を16進数FFFFに設定する必要はないが、その代わりに、VBV遅延がVBVバッファ中のVBV遅延の真の値を表す必要がある。

0054

モードAの初期設定中は、バッファが一杯になったことをフレームバイトカウンタ354が知らせてくるまでバイトがVBVバッファに出力される。VBVバッファが一杯になると、MPEG2仕様書の付属書類Cに記述されているようにVBVバッファからデータが抽出される。

0055

モードBの初期設定中は、VBV遅延の計算値が入力ストリームS4P中のVBV遅延値以上になるまでバイトがVBVバッファに出力される。この入力ストリームは、ストリームに含まれる値を用いてバッファがオーバーフロー/アンダーフローしないという点から、自己一貫性(self consistent)でMPEG2準拠のものでなければならない。フレームバイトカウンタ354に含まれるVBVバッファ満杯状態の計算値は、VBVバッファのアンダーフロー/オーバーフローを防止するために使用される。入力ストリームが何らかの理由で一定とならない場合は、この計算値を用いてVBVバッファへのデータフローを調整することができる。ストリーム中のDTS−PTS値は、ストリームに含まれるVBV遅延値と一致する必要がある。

0056

あるストリームにモードAで切り替える場合、“TO”ストリーム中のVBV遅延である16進数FFFF値は、PTS−DTSリタイミングセクションで維持される計算値で上書きされる。あるストリームにモードBで切り替える場合、“TO”ストリーム中のVBV遅延の16進数値は、必要であれば、計算されたVBVバッファ値と“TO”ストリームのVBV遅延値とが整列されるまでPTS−DTSリタイミングセクション300Vで維持される計算値で上書きされる。これ以外の場合は、VBV遅延が整列するまで入力ストリームデータフローが保持される。このプロセスは、リタイミング回路に続くトランスポートストリームエンコーダで発生する再多重化(re-multiplexing)操作を利用する。整列期間中、VBVバッファ内のVBV遅延を増加させるために、データを最大のビデオビットレートでVBVバッファに出力してもよい。このプロセスは、バッファが一杯にならない限り、VBV遅延が整列されるまで継続することができる。

0057

VBV遅延整列の後、入力FIFO内のフレーム数とデコーダバッファ内のフレーム数とが加算され、その加算結果にフレーム周期が乗算されて、このシステムのエンドツーエンド遅延が生成される。このフレーム数は記憶される(ステップ472)。システムのエンドツーエンド遅延は固定されているので、FIFO220の適切な利用は、遠端デコーダにおける入力バッファの適切な利用に関係している。

0058

定常状態では、FIFOは、入力データストリームS1Vを受信し、FIFO出力ストリームS3Vを送信する。受信ストリーム(S1V)のデータレートが送信ストリーム(S3V)のデータレートを超えていると(ステップ474)、FIFOは充填を開始する。この充填、すなわちFIFOの過剰利用は、エンドツーエンド遅延を増大させる傾向を持つ望ましくないオーバーフロー状態をもたらすことがある。同様に、送信ストリーム(S3V)のデータレートが受信ストリーム(S1V)のデータレートを超えていると(ステップ476)、FIFOは空になり始める。この空隙化、すなわちFIFOの過少利用は、エンドツーエンド遅延を減少させる傾向を持つ望ましくないアンダーフロー状態をもたらすことがある。過剰利用状態対処するために、フレーム削減操作(ステップ482および484)が実行される。また過少利用状態に対処するために、フレームインサートフラグがセットされ(ステップ480)、これにより切り替えルーチンにステップ458でフレームを挿入するように命令するようになっていてもよい。挿入/削除フレームによってもたらされるデータの増減は、リモート入力STINとその結果として得られるトランスポートストリームS11との間のフレーム同期を維持する。

0059

FIFOの利用は、以下のようにして監視および補正される。FIFOメモリが過剰に利用されており、フレームの削減に関する全ての外部基準が満足されている場合、FIFOの出力におけるフレーム(すなわち、アクセス単位“A”)は、フレームがフレーム削減基準を満足するまで検査される(ステップ482)。アクセス単位“A”がこの基準を満足する場合、アクセス単位“A”を送信することなく全てのアクセス単位をFIFO中で前方向にシフトする(すなわち、アクセス単位“A”は放棄され、アクセス単位“B”がアクセス単位“A”になり、以下も同様である)ことによって、アクセス単位“A”は消去される。更に、影響を受けたフレームの時間基準が修正される。これがフレーム削減モード(frame drop mode)である。

0060

FIFOメモリが過少に利用されており、フレームの追加に関する全ての外部基準が満足されている場合(ステップ478)、フレームインサートフラグがセットされる。この後、切り替えルーチンは、ステップ456においてリピートフレームを挿入する。更に、影響を受けたフレームの時間基準が修正される。これがフレーム追加モード(frame add mode)である。FIFOメモリの利用率が適切な範囲内にあれば(すなわち、過剰利用率よりも小さく過少利用率よりも大きい)、フレームが追加または削減されることもない。これが通過モード(pass-through mode)である。

0061

選択されたストリームが再び切り替えられる場合(ステップ486)、非定常状態(すなわち、遷移状態)が存在し、VBVバッファを再整列させる必要があり、フレーム追加/削減ルーチンがステップ470で再び開始する。

0062

図3は、図1の情報処理システムで使用するのに適したビデオPTS−DTSリタイミングシステムのブロック構成図を示している。このPTS−DTSリタイミングユニット300Vは、PESスイッチャ130からPES入力ビットストリームS4Pを受信し、PES出力ビットストリームS7PをTSE150に送出する。このTSEは、それの出力においてPCRスタンピング(stamping)を行う。TSEは、同期PCRベース基準(S9)を90KHzのレート(27MHzのステーションクロックを300で割ったもの)でフィードバックする。このPTS−DTSリタイミングユニットは、以下のように動作する。

0063

PCRBシリアルパラレル変換器312は、TSE150からのPCRB信号S9を、加算器314および減算器322に結合されるパラレル(バイト)ストリームS301に変換する。加算器314は、パラレルPCRB S301をデコーダ遅延時間S304に加算して、調整済PCRB時間基準S302を生成する。この調整済時間基準は、調整済時間基準レジスタ316に記憶される。最初のピクチャをビデオバッファから取り出して遠端デコーダで復号することができる場合、この調整済PCRB時間基準S302は、PCRBカウントの値を表している。

0064

ターンオン初期設定時には、初期設定コマンドS306によって、セレクタ318が、記憶時間基準S303を新しいタイムスタンプレジスタ320内に転送する。PESヘッダが入力ビットストリームS4P中で復号されるたびに、フレームレート(FR)レジスタ308に記憶されたオフセット数が加算器310によって新しいタイムスタンプS308に加算される。この加算の結果は、セレクタ318を介して新しいタイムスタンプレジスタ320に戻される。

0065

加算器310のオフセット数は、具体的には、一般的なフレームレートの1フレーム時間に含まれる90KHzのサイクルの数である。加算器310のオフセット数は表1(第3列)に示されており、以下のようにして自動的に設定される。PES、シーケンス、ピクチャ、およびVBV遅延デコーダ302は、入力データストリームS4P中のシーケンス開始コードを検出し、シーケンス検出信号S312を生成する。フレームレートデコーダ304は、4ビットのフレームレートコードS310(表1の第1列)を抽出する。フレームレートコードS310の2進値は、ATSC仕様書に記載されるように、表1の第2列に列挙されたフレームレートに対応する。ルックアップテーブル(LUT)306は、オフセット数S311(表1の第3列)をフレームレートレジスタ308に提供する。シーケンス検出信号S312に応答して、フレームレートレジスタ308は、記憶オフセット数を加算器310に提供する。PESストリームは一連の混合フレームレートを複数有することがあるので、本発明のPTS−DTSリタイミングユニットは、全てのタイムスタンプ更新値を自動的に計算することに注意すべきである。

0066

ID=000003HE=055 WI=100 LX=0550 LY=1600
次のステップでは、新しいPTSおよびDTSを計算する。DTS復号ユニット328は、入力データストリームS4P中にDTSが存在すれば、そのDTSを復号してDTS信号S321を生成する。DTS復号ユニット328は、指示フラグ(indication flag)S323も提供する。この指示フラグは、入力データストリームS4PがDTSを含む場合にはハイ2進数の1)であり、PTSしか存在しない場合(すなわち、B−フレーム動作)にはロー(2進数の0)である。このDTS指示信号S323は、ANDユニット334およびDTS更新ユニット340に結合される。新しいDTS S327は、DTSフラグS323が入力データストリームS4P中にDTSが存在することを知らせる場合にだけ、新しいタイムスタンプレジスタ320から得られる。

0067

PTS復号ユニット326は、入力データストリームS4P中のPTSを復号し、PTS信号S320を生成する。現在のPTS S320とDTS S321との間の差分S322は、減算器332によってANDユニット334に提供される。新しいPTS S326は、減算器332の出力数値S322を新しいタイムスタンプレジスタ320に記憶された数値S308に加算することによって計算される。この演算は、加算器336で行われる。DTSが存在しない(すなわち、DTSフラグ=0)場合は、ANDユニット334から加算器336への入力S324は(ANDユニット334の動作に起因して)ゼロであり、新しいPTS S326は、新しいタイムスタンプレジスタ320に記憶された数値S308である。

0068

新しいPTS S326および新しいDTS S327は、対応する更新レジスタ338、340に記憶される。多重ユニット344は、古い値の代わりに新しいPTS S326および新しいDTS S327の値を出力データストリームS7Pに挿入する。コントローラ343は、出力されるデータストリームS7P中の適切なビットの位置を追跡し、多重ユニット344が更新値をストリーム中の正しい位置に挿入するようにする。出力データストリームS7Pは、通常の方法でトランスポートストリームエンコーダ150に進む。

0069

また、PTS−DTSリタイミングユニット300Vは、以下で説明するように、遠端デコーダ(例えば、セットトップ受信機)におけるバッファの振る舞いや、ビットストリームソース(例えば、フレームシンクロナイザ200やPESソース140)におけるバッファの振る舞いやビットストリーム生成の振る舞いを考慮することによって、システム中のエンドツーエンド遅延を管理する能力を提供する。

0070

PES、シーケンス、ピクチャ、およびVBV遅延デコーダ302は、入力データストリームS4P中のPESパケットの開始を検出し、新しいタイムスタンプレジスタ320に結合されるPES検出信号S313を生成する。各PESインターバルでは、新しいタイムスタンプレジスタ320が、一般的なフレームレートによって決定される固定値S318で更新される。新しいタイムスタンプレジスタ320の更新された内容S308は、比較器323によって、調整済時間基準レジスタ316の内容S303と比較される。比較の結果(すなわち、小さい、大きい、又は等しい)は、PESデータが処理されるレート(すなわち、遅すぎる、速すぎる、又はちょうど良い)を表す。PESストリームS4Pが例えばPESソース140によって余りに遅いレートで発行されている場合、PESソース140の出力バッファ(図示せず)を最大のレートで読み出し、あるいは取り出すことができる。この比較が処理の進行が速すぎることを表す場合、エンコーダまたはサーバにおけるバッファの読出しを停止または抑制することができる。バッファフロー制御信号S12は、フレームシンクロナイザ200およびPESソース140に、それぞれの出力ストリームのビットレートを制御するために結合されている。

0071

更に、通常は、TSE150への入力にバッファ(図示せず)が存在する。TSEバッファが速すぎるレートでデータを受信している場合、TSEは、RECEIVER NOTREADY信号S8をPTS−DTSリタイミングユニット300に供給してもよい。このRECEIVER NOT READY信号S8は、比較器323の出力において論理演算装置325に結合される。これに応じて、論理演算装置は、エンコーダ210、220のビットレート発生を停止または抑制するバッファフロー制御信号S12を生成する。

0072

図3のPTS−DTSリタイミングユニットは、VBV遅延数S316を計算し、それを(マルチプレクサ344を介して)ピクチャヘッダ内の16ビットフィールドに挿入することができる。PCRBシリアル−パラレル変換器312の出力(すなわち、現在の時刻)は、減算器322において新しいタイムスタンプレジスタ320の内容から減算される。PES、シーケンス、ピクチャおよびVBV遅延デコーダ302は、入力データストリームS4P中のピクチャヘッダを検出し、VBV遅延更新レジスタ324に結合される画像検出信号S314を生成する。画像検出信号S314に応答して、VBV遅延更新レジスタ324は、減算器322の出力S315を記憶する。記憶されたこの数値S316は、ピクチャが遠端デコーダバッファ内に存在することになる時間、すなわちVBV遅延パラメータを90KHzサイクルで表す。このように、本発明は、VBV遅延フィールドが16進数FFFFに設定されるATSCモードを用いることなく、ATSCに準拠したビットストリームを生成する。

0073

また、ピクチャヘッダ中の時間基準は、ATSC規格によって指定されるように、ピクチャ群(GOP)中のピクチャの適切な表示順序を表すように調整する必要がある。入力データストリームS4Pが、GOPヘッダが後に続くシーケンスヘッダに切り替わると、時間基準は現在選択されているストリームにおいてゼロから開始するように適切に設定され、選択されたストリームが別のストリームに切り替わるときに調整が必要とならないようになっている。しかしながら、GOPヘッダがシーケンスヘッダの後に続かない場合、新しい時間基準値は、新しく選択されたストリーム中で適切に更新されなければならない。この新しい時間基準は、以前に選択されていたストリーム(すなわち、“FROM”ストリーム)を監視することによって決定することができる。後に続く新しい時間基準値は、元の値の関係をフレーム単位で監視し、ストリームが切り替えられたときの時間基準値を指す値で新しい時間基準値を更新することによって決定することができる。この手法により、ピクチャが送信順に並んでいる場合であっても、時間基準の表示順序が維持されるという結果が得られる。

0074

デコーダへのビデオストリームのフローを適切に制御するためには、VBVバッファの満杯状態も監視しなければならない。初期設定時(すなわち、初期設定コマンドS306がアサートされたとき)には、PTS−DTSリタイミングユニット300Vから出力されるバイトの数がフレーム単位で記憶される。現在の時刻、各フレームの復号時間、フレームごとのバイト数、およびVBVバッファサイズを用いてVBVバッファの満杯状態が判断される。

0075

初期設定時には、VBVバッファは空である。第1のフレームがVBVバッファに出力されると、VBVバッファ内のバイトの実行総数がフレームバイトカウンタ354によって維持される。この総数がVBVバッファサイズに等しければ、フレームバイトカウンタ354から論理ユニット325への出力信号S317に応じて、論理ユニット325は、PTS−DTSリタイミングユニットからデータが出力されないようにする。VBVバッファが満杯でなければ、データは、計算されたVBVバッファ遅延が受信ストリーム(S4P)中のVBV遅延以上となるまで出力される。

0076

定常状態の動作では、第1の期間のエンドツーエンド遅延が生じた後に、現在の時刻が復号タイムスタンプと一致すると、データフレームがVBVバッファから取り出される。そのフレーム中のバイト数は、PTS−DTSリタイミングユニット300Vのフレームバイトカウンタで維持される実行総数から減算される。VBVバッファが満杯になっている場合は、ここで、より多くのデータを送信するために空間がつくられる。全てのエンドツーエンド遅延データがVBVバッファ内に存在していた場合は、復号のときにVBVバッファから出るフレームが次のフレームの送出を開始する。

0077

上述のVBV遅延処理機能は、新しいVBV遅延数を計算し、入力ストリームS4P中に存在するVBV遅延数を上書きすることによって動作する。この方法は、フレーム単位でVBV遅延数を制御するものであり、通常は、出力ストリームS7PのMPEG準拠を確保するのに極めて適している。より精密な制御を提供するために第2のVBV遅延処理機能(オプション)を導入し、これによって、現在選択されているストリームと次に選択されるストリームとの間でより滑らかに遷移が行われるようにしてもよい。

0078

オプションの第2のVBV遅延処理機能は、次のようにしてPTS−DTSリタイミングユニット300に組み込むことができる。PES、シーケンス、ピクチャー、およびVBV遅延デコーダ302は、入力データストリームS4PのPESピクチャヘッダ内に含まれるVBV遅延パラメータを検出する。この検出されたVBV遅延S329は、第2の比較器327に結合され、減算器322によって生成された更新済VBV遅延数S315と比較される。この比較の結果S330は、二つのVBV遅延の相対的な均等性を表しており、フレーム同期に使用するために出力され、論理演算装置325に結合される。論理演算装置325では、デコーダバッファ利用率が更に計算される。この追加の計算は、二つのVBV遅延の差分の大きさに注目するものであり、それに応じて、比較器323の出力とともに動作しビデオ/オーディオエンコーダ(生のビットストリームの場合)やサーバ(記憶されたビットストリームの場合)におけるデータ生成を調整するバッファフロー制御信号S12を生成する。

0079

入力ストリーム中に存在するVBV遅延数は、デコーダにおけるバッファによって制御されるようなシステムのエンドツーエンド遅延を維持するために、エンコーダ(図示せず)によって最初に計算されている。減算器322によって生成されているVBV遅延と現在選択されているストリームS4Pで使用されるVBV遅延との変位を測定することによって、論理演算装置325は、バッファフロー制御信号S12をより正確に調整することができる。バッファフロー制御信号S12は、上述したように、ビットストリームソースのデータレートを加速または減速するために使用してもよい。

0080

ここまで、情報処理システム内のMPEG情報ストリームを処理するビデオフレームシンクロナイザに関連して本発明を説明してきた。当業者ではあれば分かるように、本発明は、一つ以上の情報ストリームを受信して処理する汎用コンピュータをプログラムすることによって実施することもできる。このような汎用コンピュータは、本発明に従ってプログラムされると特定用途コンピュータとなる。例えば、図2のFIFO220は、メモリポインタ等を用いてアクセスされるアドレス指定能記憶装置(addressable memory)であってもよい。フレームは、一つ以上のアクセス単位を表す一つ以上の記憶場所スキップする(すなわち、飛ばす)ことによって削減してもよい。また、フレームは、一つ以上のアクセス単位を表す追加の記憶場所をポイントすることによって追加してもよい。これらの記憶場所は、各記憶場所またはフレームが次の場所またはフレームへのポインタを含んでいる、いわゆる「連結リスト(linked list)」として構成されていてもよい。ポインタを修正することによって、記憶場所またはフレームを出力ストリーム中で選択的にスキップしたり含めたりしてもよい。

0081

更に、本明細書で述べた本発明の実施形態は、例えばセグメント化されたデータを含む非同期圧縮情報ストリームがタイミング基準に同期されていなければならないような他の圧縮データシステムで使用するために修正を加えてもよい。このような圧縮データシステムには、有線または無線テレコムシステムや他の情報処理システムが含まれていてもよい。

0082

図2のフレームシンクロナイザ200および上述の方法は、フレームレートの変換用途で有用である。すなわち、このフレーム追加/削減方法によって、図3のフレームシンクロナイザおよびPTS−DTSリタイミングシステム300は、効率の良いフレームレート変換器になることができる。例えば、60フレーム/秒(fps)の順次走査ストリームを59.94fpsの順次走査ストリームに変換することができ、またその逆の変換も可能である。同様に、30fpsインタレース走査ストリームを29.97fpsインタレース走査ストリームに変換することができ、またその逆の変換も可能である。60fps順次走査入力ストリームを59.94fps順次走査出力ストリームに変換する場合、あるいは30fpsインタレース走査入力ストリームを29.97fpsインタレース出力ストリームに変換する場合、出力ストリームのシーケンスヘッダ中のフレームレートコードを適切に変更しなければならない。これは、PTSやDTSなど、他の関係を有する適切なタイムスタンピングを保証するものである。出力フレームレート入力フレームレートよりも小さいので、FIFO中のフレームの数は、あらかじめ確立されたフレーム削減ルールおよびフレーム時間再順序づけ(temporal re-ordering)ルールに従ってフレームを削減しなければならない程度まで増加する。

0083

59.94fps順次走査入力ストリームを60fps順次走査出力ストリームに変換する場合、あるいは29.94fpsインタレース走査入力ストリームを30fpsインタレース出力ストリームに変換する場合には、出力ストリームのシーケンスヘッダ中のフレームレートコードを前のように適切に変更しなければならない。出力フレームレートは入力フレームレートよりも大きいので、FIFO中のフレームの数は、あらかじめ確立されたフレーム繰返しルールおよびフレーム時間再順序づけルールを用いてフレームを追加しなければならない程度まで減少する。

0084

いま述べたように、このフレームレートの変換は、連続入力ストリームを類似する走査型の出力ストリームに変換するために使用することができる。したがって、出入りの程度に関連する上述のルールに従い、上述の追加/削減方法を使用することによって、フレームシンクロナイザ200を“from”ストリームと“to”ストリームとの間で切り替えることができる。類似していない走査型の場合には、出力ストリームは、選択された入力ストリームの走査型に従わなければならない。また、“to”ストリームおよび“from”ストリームが類似する走査型の場合は全て、“to”ストリームは元のフレームレートのままであってもよく、あるいは“from”ストリームのフレームレートに変更してもよい(すなわち、フレームレート変換器およびスイッチャの双方として動作する)。

0085

本明細書では本発明の開示内容を含む種々の実施形態を詳細に示して説明してきたが、当業者は、これらの開示内容を依然として含む他の多くの変形例を容易に考案することができる。

図面の簡単な説明

0086

図1図1は、本発明に係るフレームシンクロナイザを含んだ情報処理システムのブロック図である。
図2図1の情報処理システムで使用するのに適した本発明に係るフレームシンクロナイザのブロック図である。
図3図1の情報処理システムで使用するのに適したビデオPTS−DTSリタイミングシステムのブロック図である。
図4図2のフレームシンクロナイザを理解する際に便利なフローチャートである。

--

0087

100…情報処理システム、200…ビデオフレームシンクロナイザ、210…クロック抽出器、220…FIFO、230…コントローラ、240…フレーム追加/削減ユニット。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ