(57)【要約】本発明の実施形態は、ビデオ・ストリーム切り換えを実施するための方法、装置、およびシステムを開示する。方法は、送信装置によって、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領するステップと；ターゲット出口ポートを通じて第1のビデオ・ストリームを送信するステップと；切り換え命令を受信するとき、第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報および第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定するステップと；第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報に基づいて、それぞれ第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報および第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するステップと；第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるステップとを含む。切り換えの前および後に送られるデータ・パケットの位置がビデオ・ストリーム切り換えの間に考慮されるので、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に軽減することができる。
2021535658.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ・ストリーム切り換えを実施するための方法であって：
送信装置によって、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領するステップと；
前記送信装置によって、ターゲット出口ポートを通じて前記第1のビデオ・ストリームを送信するステップと；
前記送信装置によって、切り換え命令を受信するステップであって、前記切り換え命令は、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるように指示するために使用される、ステップと；
前記送信装置によって、前記切り換え命令に従って、前記第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報および前記第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定するステップと；
前記送信装置によって、前記第1の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、前記第2の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するステップと；
前記送信装置によって、前記第1の切り換えパケットの前記切り換え参照情報および前記第2の切り換えパケットの前記切り換え参照情報に基づいて、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるステップとを含む、
方法。
【請求項２】
前記第1の参照フレーム尾部パケットおよび前記第2の参照フレーム尾部パケットはそれぞれ、前記第1の参照フレーム尾部パケットの前記切り換え参照情報および前記第2の参照フレーム尾部パケットの前記切り換え参照情報が決定される前に受領される、前記第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび前記第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであり、xは自然数である、請求項１に記載の方法。
【請求項３】
xの値が1であり；
前記第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、前記第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである、
請求項２に記載の方法。
【請求項４】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、シーケンス番号を含む、
請求項１ないし３のうちいずれか一項に記載の方法。
【請求項５】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、タイムスタンプを含む、
請求項１ないし４のうちいずれか一項に記載の方法。
【請求項６】
前記第1の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットのシーケンス番号を決定することが：前記第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号を、前記第1の参照フレーム尾部パケットの前記シーケンス番号および前記第1のビデオ・ストリームと前記第２のビデオ・ストリームの間の同期関係に基づいて決定し、前記第1の整列フレーム尾部パケットの前記シーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として使用すること；または、前記第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として決定することを含み；
前記第2の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットのシーケンス番号を決定することが：前記第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号を、前記第2の参照フレーム尾部パケットの前記シーケンス番号および前記同期関係に基づいて決定し、前記第2の整列フレーム尾部パケットの前記シーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として使用すること；または、前記第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として決定することを含み、前記第1の整列フレーム尾部パケットおよび前記第2の整列フレーム尾部パケットは時間的に対応するフレーム尾部パケットである、
請求項４に記載の方法。
【請求項７】
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームよりも早いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とm×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号と(m+1)×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、mは自然数である；
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームより遅いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号と(n+1)×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とn×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、nは自然数である；または
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームと同期しているというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とk×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とk×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、kは自然数である、
請求項６に記載の方法。
【請求項８】
前記送信装置が、具体的には、前記第1の参照フレーム尾部パケットのタイムスタンプおよび前記第2の参照フレーム尾部パケットのタイムスタンプに基づいて、前記第1のビデオ・ストリームと前記第2のビデオ・ストリームとの間の前記同期関係を判定する、請求項６または７に記載の方法。
【請求項９】
前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値が、前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第1のビデオ・ストリームのデータ・パケット内の第1のフィールドの値と同じであり、前記第1のフィールドはマルチキャスト・アドレス・フィールドまたはペイロード・タイプ・フィールドである、請求項1ないし８のうちいずれか一項に記載の方法。
【請求項１０】
前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第2のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値が、前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第1のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値と連続しており、前記第2のフィールドはシーケンス番号フィールド、フレーム番号フィールドまたはタイムスタンプ・フィールドである、請求項1ないし９のうちいずれか一項に記載の方法。
【請求項１１】
送信装置であって、当該送信装置は処理ユニットおよび通信ユニットを有しており、
前記通信ユニットは：第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し；当該送信装置のターゲット出口ポートを通じて前記第1のビデオ・ストリームを送信し；切り換え命令を受信するよう構成されており、前記切り換え命令は、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるように指示するために使用され；
前記処理ユニットは：前記切り換え命令に従って、前記第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報および前記第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定し；前記第1の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、前記第2の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するよう構成されており；
前記通信ユニットはさらに、前記第1の切り換えパケットの前記切り換え参照情報および前記第2の切り換えパケットの前記切り換え参照情報に基づいて、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるよう構成されている、
送信装置。
【請求項１２】
前記第1の参照フレーム尾部パケットおよび前記第2の参照フレーム尾部パケットはそれぞれ、前記第1の参照フレーム尾部パケットの前記切り換え参照情報および前記第2の参照フレーム尾部パケットの前記切り換え参照情報が決定される前に受領される、前記第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび前記第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであり、xは自然数である、請求項１１に記載の送信装置。
【請求項１３】
xの値が1であり；
前記第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、前記第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである、
請求項１２に記載の送信装置。
【請求項１４】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、シーケンス番号を含む、
請求項１１ないし１３のうちいずれか一項に記載の方法。
【請求項１５】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、タイムスタンプを含む、
請求項１１ないし１４のうちいずれか一項に記載の方法。
【請求項１６】
前記処理ユニットが、前記第1の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットのシーケンス番号を決定するよう構成されていることが：前記第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号を、前記第1の参照フレーム尾部パケットの前記シーケンス番号および前記第1のビデオ・ストリームと前記第２のビデオ・ストリームの間の同期関係に基づいて決定し、前記第1の整列フレーム尾部パケットの前記シーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として使用すること；または、前記第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として決定することを含み；
前記処理ユニットが、前記第2の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットのシーケンス番号を決定するよう構成されていることが：前記第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号を、前記第2の参照フレーム尾部パケットの前記シーケンス番号および前記同期関係に基づいて決定し、前記第2の整列フレーム尾部パケットの前記シーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として使用すること；または、前記第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として決定することを含み、前記第1の整列フレーム尾部パケットおよび前記第2の整列フレーム尾部パケットは時間的に対応するフレーム尾部パケットである、
請求項１４に記載の送信装置。
【請求項１７】
前記処理ユニットが、具体的には：
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームよりも早いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とm×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号と(m+1)×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定するステップであって、M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、mは自然数である、ステップ；
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームより遅いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号と(n+1)×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とn×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定するステップであって、M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、nは自然数である、ステップ；または
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームと同期しているというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とk×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とk×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、kは自然数である、ステップ
を実行するように構成されている、請求項１６に記載の送信装置。
【請求項１８】
前記処理ユニットが、具体的には、前記第1の参照フレーム尾部パケットのタイムスタンプおよび前記第2の参照フレーム尾部パケットのタイムスタンプに基づいて、前記第1のビデオ・ストリームと前記第2のビデオ・ストリームとの間の前記同期関係を判定するように構成されている、請求項１６または１７に記載の送信装置。
【請求項１９】
前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値が、前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第1のビデオ・ストリームのデータ・パケット内の第1のフィールドの値と同じであり、前記第1のフィールドはマルチキャスト・アドレス・フィールドまたはペイロード・タイプ・フィールドである、請求項1１ないし１８のうちいずれか一項に記載の送信装置。
【請求項２０】
前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第2のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値が、前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第1のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値と連続しており、前記第2のフィールドはシーケンス番号フィールド、フレーム番号フィールドまたはタイムスタンプ・フィールドである、請求項1１ないし１９のうちいずれか一項に記載の送信装置。
【請求項２１】
ビデオ・ストリーム切り換えを実装するためのシステムであって、当該システムは、コントローラと、請求項１１ないし２０のうちいずれか一項に記載の送信装置とを有しており、
前記コントローラは、前記送信装置に切り換え命令を送信するように構成される、
システム。
【請求項２２】
命令を有するコンピュータ可読記憶媒体であって、前記命令がコンピュータ上で実行されると、前記コンピュータは、請求項１ないし１０のうちいずれか一項に記載の方法を実行できるようにされる、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、マルチメディア通信技術の分野に関し、特に、ビデオ・ストリーム切り換えを実装するための方法、装置、およびシステムに関する。
【背景技術】
【０００２】
マルチメディア通信技術の分野では、たとえばテレビジョン（Television、TV）制作および放送の分野において、異なるビデオ源装置によって送信されるビデオ・ストリームを切り換えるシナリオがある。たとえば、サッカーの試合のライブ放送中に、スタジアムの異なる位置を撮影することによって得られた受領されたビデオ・ストリームが送信装置（たとえばルーター）上で切り換えられてもよく、それにより、異なるアングルでのスタジアムのビデオ画像がビデオ端末上での表示のために切り換えられる。
【０００３】
従来のテレビ制作および放送の分野では、ビデオ・ストリームは、通例、シリアルデジタルインターフェース（serial  digital  interface、SDI）フォーマットで伝送される。SDI信号を伝送するために使用される同軸ケーブルの最大長は通例制限され、同軸ケーブルは比較的高価である。よって、テレビ制作および放送の分野では、インターネットプロトコル（Internet  Protocol、IP）ネットワークを用いて、ビデオ・ストリームが伝送されてきた。たとえば、SDI信号はIPパケットを用いて伝送される。
【０００４】
IPネットワークを使用して伝送されるビデオ・ストリームを切り換えるための従来技術では、ビデオ・ストリームを切り換える必要があると判断するとき、送信装置は切り換え元ビデオ・ストリームのデータ・パケットの送信を停止し、切り換え先ビデオ・ストリームのデータ・パケットの送信を開始する。
【０００５】
従来技術におけるビデオ・ストリーム切り換えは、通例、ビデオ画像に損傷を引き起こす。
【発明の概要】
【０００６】
本発明の実施形態は、ビデオ・ストリーム切り換えがビデオ画像に損傷を引き起こすという従来技術の問題を解決するようビデオ・ストリーム切り換えを実施するための方法、装置、およびシステムを提供する。
【０００７】
第1の側面によれば、ビデオ・ストリーム切り換えを実施するための方法が提供される。本方法は、送信装置によって、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領するステップと；ターゲット出口ポートを通じて第1のビデオ・ストリームを送信するステップと；ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示するために使用される切り換え命令を受領した後、切り換え命令に従って、第1のビデオ・ストリームの第1の参照フレーム尾部〔トレーラー〕パケットの切り換え参照情報（たとえば、シーケンス番号）および第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定するステップと；第1の参照フレーム尾部パケットの切り換え参照情報に基づいて第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、第2の参照フレーム尾部パケットの切り換え参照情報に基づいて第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するステップと；第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるステップとを含む。第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、または、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【０００８】
第1の側面の実装において、切り換え元ストリーム（すなわち、第1のビデオ・ストリーム）の切り換えパケットの切り換え参照情報（たとえば、シーケンス番号）および切り換え先ストリーム（すなわち、第2のビデオ・ストリーム）の切り換え参照情報は、切り換え元ストリームのフレーム尾部パケットの切り換え参照情報および切り換え先ストリームのフレーム尾部パケットの切り換え参照情報に基づいて決定され、ビデオ・ストリーム切り換えは、切り換え元ストリームの切り換えパケットの切り換え参照情報および切り換え先ストリームの切り換えパケットの切り換え参照情報に基づいて実行される。切り換えの前および後に送られるデータ・パケットの位置がビデオ・ストリーム切り換えの間に考慮されるので、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に軽減することができる。
【０００９】
第1の側面の第1の実装では、具体的には、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットはそれぞれ、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報が決定される前に受領される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであってもよく、ここでxは自然数であり、1であってもよい。
【００１０】
この実装で決定される第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプは、比較的近い。よって、タイムスタンプが比較的一貫している第1の切り換えパケットおよび第2の切り換えパケットが、より正確に決定でき、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減することができる。
【００１１】
第1の側面の第1の実装に基づき、第1の側面の第2の実装では、xの値は1であり；第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである。具体的には、第1の切り換えパケットのシーケンス番号は、第1の参照フレーム尾部パケットのシーケンス番号と、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよく、第2の切り換えパケットのシーケンス番号は、第2の参照フレーム尾部パケットのシーケンス番号と、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよい。第1の切り換えパケットの決定されたシーケンス番号と第1の参照フレーム尾部パケットのシーケンス番号との間の差は、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよく、第2の切り換えパケットの決定されたシーケンス番号と第2の参照フレーム尾部パケットのシーケンス番号との間の差は、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよい。具体的には、第1の切り換えパケットのタイムスタンプは、第1の参照フレーム尾部パケットのタイムスタンプと、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよく、第2の切り換えパケットのタイムスタンプは、第2の参照フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよい。第1の切り換えパケットの決定されたタイムスタンプと第1の参照フレーム尾部パケットのタイムスタンプとの間の差は、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよく、第2の切り換えパケットの決定されたタイムスタンプと第2の参照フレーム尾部パケットのタイムスタンプとの間の差は、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよい。
【００１２】
この実装では、ビデオ・ストリーム切り換えは、現在送信されているビデオ画像に対する損傷を効果的に回避するために、参照フレーム尾部パケットより少なくとも1フレーム後の位置で実行される。
【００１３】
第1の側面または第1の側面の第1もしくは第2の実装に基づき、第1の側面の第3の実装では、第1の切り換えパケットの切り換え参照情報は、第1の参照フレーム尾部パケットの切り換え参照情報および第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係に基づいて決定されてもよく、第2の切り換えパケットの切り換え参照情報は、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定されてもよい。
【００１４】
この実装では、第1の切り換えパケットの切り換え参照情報と第2の切り換えパケットの切り換え参照情報が計算される際に、ビデオ・ストリーム間の同期関係が考慮される。よって、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減するよう、ビデオ・ストリーム切り換えがより正確に実行できる。
【００１５】
第1の側面の第3の実装に基づき、第1の側面の第4の実装では、第1のビデオ・ストリームの第1の整列フレーム尾部パケットの切り換え参照情報は、第1の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定されてもよく、第1の切り換えパケットの切り換え参照情報は、第1の整列フレーム尾部パケットの切り換え参照情報に基づいて決定されてもよく；第2のビデオ・ストリームの第2の整列フレーム尾部パケットの切り換え参照情報は、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいてさらに決定されてもよく、第2の切り換えパケットの切り換え参照情報は、第2の整列フレーム尾部パケットの切り換え参照情報に基づいてさらに決定されてもよい。第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。
【００１６】
この実装では、同期関係が考慮されるときに決定される第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。よって、第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットに基づいてそれぞれ決定される第1の切り換えパケットおよび第2の切り換えパケットもまた、時間的に対応しており、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００１７】
第1の側面の第4の実装に基づき、第1の側面の第5の実装では、第1の整列フレーム尾部パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として直接使用されてもよく、第2の整列フレーム尾部パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として直接使用されてもよい。換言すれば、第1の整列フレーム尾部パケットが第1の切り換えパケットとして直接使用され、第2の整列フレーム尾部パケットが第2の切り換えパケットとして直接使用される。
【００１８】
この実装では、ビデオ・ストリーム切り換えは、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に回避するよう、ビデオ・フレームの境界で実行されてもよい。
【００１９】
第1の側面の第4の実装に基づき、第1の側面の第6の実装では、第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として決定されてもよく、第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として決定されてもよい。
【００２０】
この実装では、ビデオ・ストリーム切り換えは、ビデオ・フレームのブランキング領域をカプセル化するためのデータ・パケットにおいて実行されてもよい。ブランキング領域データは有効なビデオ・データではなく、人間の目には見えないため、有効なビデオ・データへの損傷を回避することができる。
【００２１】
切り換え参照情報がシーケンス番号を含むことが、例として使用される。具体的な実装の間に、同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いというものであると判定された場合、第1の参照フレーム尾部パケットのシーケンス番号とm×M1の和が第1の整列フレーム尾部パケットのシーケンス番号として決定されてもよく、第2の参照フレーム尾部パケットのシーケンス番号と(m+1)×M2の和が第2の整列フレーム尾部パケットのシーケンス番号として決定されてもよい。あるいはまた、同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームより遅いというものであると判定された場合には、第1の参照フレーム尾部パケットのシーケンス番号と(n+1)×M1の和が第1の整列フレーム尾部パケットのシーケンス番号として決定され、第2の参照フレーム尾部パケットのシーケンス番号とn×M2の和が第2の整列フレーム尾部パケットのシーケンス番号として決定される。あるいはまた、同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームと同期しているというものであると判定された場合、第1の参照フレーム尾部パケットのシーケンス番号とk×M1の和が第1の整列フレーム尾部パケットのシーケンス番号として決定されてもよく、第2の参照フレーム尾部パケットのシーケンス番号とk×M2の和が第2の整列フレーム尾部パケットのシーケンス番号として決定されてもよい。ここで、M1は第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、m、n、kはすべて自然数である。
【００２２】
第1の側面の第3ないし第6の実装のいずれかに基づき、第1の側面の第7の実装では、送信装置は、具体的には、第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプに基づいて、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を判定してもよい。
【００２３】
この実装において、同期関係は、第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとに基づいて決定されるので、同期関係は、送信装置が第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとを受領したときの同期状態を反映してもよい。よって、第1の参照フレーム尾部パケットの切り換え参照情報と、第2の参照フレーム尾部パケットの切り換え参照情報と、同期関係との組み合わせに基づいて決定される、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００２４】
装置同期の精度ずれのために、異なるビデオ源装置によって同じ瞬間に送信されるデータ・パケットのタイムスタンプの間のずれがあることがありうる。加えて、情報はIPネットワークにおいて1つのパケットにおいて伝送され、パケット転送のジッタは若干の同期ずれを引き起こす可能性がある。よって、2つのビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプ間のずれが事前設定された時間差閾値より小さい場合、2つのビデオ・ストリームが同期していると考えられてもよい。
【００２５】
対応して、t1−t2＞Δt1であると判定するときに、送信装置は、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いと判定してもよい。あるいはまた、t2−t1＞Δt1であると判定するときに、送信装置は、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いと判定してもよい。あるいはまた、｜t1−t2｜＜Δt2であると判定するときに、送信装置は、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームと同期していると判定してもよい。ここで、t1は第1の参照フレーム尾部パケットのタイムスタンプであり、t2は第2の参照フレーム尾部パケットのタイムスタンプであり、Δt1は事前設定された第1の時間差閾値であり、Δt2は事前設定された第2の時間差閾値であり、Δt1とΔt2の両方は0より大きくTより小さい値であり、Δt2はΔt1以下であってもよい。さらに、Δt1およびΔt2は、T/2＜Δt1＜Tであるように事前設定されてもよい。たとえば、Δt1は3×T/4であってもよく、0＜Δt2＜T/2である。たとえば、Δt2はT/4であってもよく、Tは単一のビデオ・フレームの継続時間である。
【００２６】
この実装において、判別された同期関係は、装置同期の精度ずれ、パケット転送のジッタ等の影響を排除し、ビデオ・ストリーム間の実際の同期状態をより良好に反映することができ、第1の切り換えパケットの決定された切り換え参照情報および第2の切り換えパケットの決定された切り換え参照情報も、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００２７】
第2の側面によれば、送信装置が提供される。送信装置は、処理ユニットおよび通信ユニットを含む。
【００２８】
通信ユニットは：第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し；送信装置のターゲット出口ポートを通じて第1のビデオ・ストリームを送信し；切り換え命令を受領するよう構成される。切り換え命令は、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示するために使用される。処理ユニットは：切り換え命令に従って、第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報（たとえば、シーケンス番号）および第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定し；第1の参照フレーム尾部パケットの切り換え参照情報に基づいて第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、第2の参照フレーム尾部パケットの切り換え参照情報に基づいて第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するよう構成される。通信ユニットは、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるようさらに構成される。第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、または、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【００２９】
第2の側面の実装において、切り換え元ストリーム（すなわち、第1のビデオ・ストリーム）の切り換えパケットの切り換え参照情報（たとえば、シーケンス番号）および切り換え先ストリーム（すなわち、第2のビデオ・ストリーム）の切り換え参照情報は、切り換え元ストリームのフレーム尾部パケットの切り換え参照情報および切り換え先ストリームのフレーム尾部パケットの切り換え参照情報に基づいて決定され、ビデオ・ストリーム切り換えは、切り換え元ストリームの切り換えパケットの切り換え参照情報および切り換え先ストリームの切り換えパケットの切り換え参照情報に基づいて実行される。切り換えの前および後に送られるデータ・パケットの位置がビデオ・ストリーム切り換えの間に考慮されるので、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に軽減することができる。
【００３０】
第2の側面の第1の実装では、具体的には、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットはそれぞれ、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報が決定される前に受領される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであってもよく、ここでxは自然数であり、1であってもよい。
【００３１】
この実装で決定される第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプは、比較的近い。よって、タイムスタンプが比較的一貫している第1の切り換えパケットおよび第2の切り換えパケットが、より正確に決定でき、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減することができる。
【００３２】
第2の側面の第1の実装に基づき、第2の側面の第2の実装では、xの値は1であり；第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである。
【００３３】
この実装では、ビデオ・ストリーム切り換えは、現在送信されているビデオ画像に対する損傷を効果的に回避するために、参照フレーム尾部パケットより少なくとも1フレーム後の位置で実行される。
【００３４】
第2の側面または第2の側面の第1もしくは第2の実装に基づき、第2の側面の第3の実装では、処理ユニットは具体的には、第1の切り換えパケットの切り換え参照情報を、第1の参照フレーム尾部パケットの切り換え参照情報および第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係に基づいて決定してもよく、第2の切り換えパケットの切り換え参照情報を、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定してもよい。
【００３５】
この実装では、第1の切り換えパケットの切り換え参照情報と第2の切り換えパケットの切り換え参照情報が計算される際に、ビデオ・ストリーム間の同期関係が考慮される。よって、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減するよう、ビデオ・ストリーム切り換えがより正確に実行できる。
【００３６】
第2の側面の第3の実装に基づき、第2の側面の第4の実装では、処理ユニットは、第1のビデオ・ストリームの第1の整列フレーム尾部パケットの切り換え参照情報を、第1の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定してもよく、第1の切り換えパケットの切り換え参照情報を、第1の整列フレーム尾部パケットの切り換え参照情報に基づいて決定してもよく；処理ユニットはさらに、第2のビデオ・ストリームの第2の整列フレーム尾部パケットの切り換え参照情報を、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定し、第2の切り換えパケットの切り換え参照情報を、第2の整列フレーム尾部パケットの切り換え参照情報に基づいて決定してもよい。第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。
【００３７】
この実装では、同期関係が考慮されるときに決定される第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。よって、第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットに基づいてそれぞれ決定される第1の切り換えパケットおよび第2の切り換えパケットもまた、時間的に対応しており、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００３８】
第2の側面の第4の実装に基づき、第2の側面の第5の実装では、処理ユニットは、第1の整列フレーム尾部パケットの切り換え参照情報を、第1の切り換えパケットの切り換え参照情報として直接使用してもよく、第2の整列フレーム尾部パケットの切り換え参照情報を、第2の切り換えパケットの切り換え参照情報として使用してもよい。換言すれば、処理ユニットは、第1の整列フレーム尾部パケットを第1の切り換えパケットとして直接使用し、第2の整列フレーム尾部パケットを第2の切り換えパケットとして使用する。
【００３９】
この実装では、ビデオ・ストリーム切り換えは、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に回避するよう、ビデオ・フレームの境界で実行されてもよい。
【００４０】
第2の側面の第4の実装に基づき、第2の側面の第6の実装では、処理ユニットは、第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報を、第1の切り換えパケットの切り換え参照情報として決定してもよく、第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報を、第2の切り換えパケットの切り換え参照情報として決定してもよい。
【００４１】
この実装では、ビデオ・ストリーム切り換えは、ビデオ・フレームのブランキング領域をカプセル化するためのデータ・パケットにおいて実行されてもよい。ブランキング領域データは有効なビデオ・データではなく、人間の目には見えないため、有効なビデオ・データへの損傷を回避することができる。
【００４２】
第2の側面の第3ないし第6の実装のいずれかに基づき、第2の側面の第7の実装では、送信装置は、具体的には、第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプに基づいて、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を判定してもよい。
【００４３】
この実装において、同期関係は、第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとに基づいて決定されるので、同期関係は、送信装置が第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとを受領したときの同期状態を反映してもよい。よって、第1の参照フレーム尾部パケットの切り換え参照情報と、第2の参照フレーム尾部パケットの切り換え参照情報と、同期関係との組み合わせに基づいて決定される、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００４４】
装置同期の精度ずれのために、異なるビデオ源装置によって同じ瞬間に送信されるデータ・パケットのタイムスタンプの間のずれがあることがありうる。加えて、情報はIPネットワークにおいて1つのパケットにおいて伝送され、パケット転送のジッタは若干の同期ずれを引き起こす可能性がある。よって、2つのビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプ間のずれが事前設定された時間差閾値より小さい場合、2つのビデオ・ストリームが同期していると考えられてもよい。
【００４５】
対応して、t1−t2＞Δt1であると判定するときに、処理ユニットは、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いと判定してもよい。あるいはまた、t2−t1＞Δt1であると判定するときに、処理ユニットは、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いと判定してもよい。あるいはまた、｜t1−t2｜＜Δt2であると判定するときに、処理ユニットは、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームと同期していると判定してもよい。ここで、t1は第1の参照フレーム尾部パケットのタイムスタンプであり、t2は第2の参照フレーム尾部パケットのタイムスタンプであり、Δt1は事前設定された第1の時間差閾値であり、Δt2は事前設定された第2の時間差閾値であり、Δt1とΔt2の両方は0より大きくTより小さい値であり、Δt2はΔt1以下であってもよい。さらに、Δt1およびΔt2は、T/2＜Δt1＜Tであるように事前設定されてもよい。たとえば、Δt1は3×T/4であってもよく、0＜Δt2＜T/2である。たとえば、Δt2はT/4であってもよく、Tは単一のビデオ・フレームの継続時間である。
【００４６】
この実装において、判別された同期関係は、装置同期の精度ずれ、パケット転送のジッタ等の影響を排除し、ビデオ・ストリーム間の実際の同期状態をより良好に反映することができ、第1の切り換えパケットの決定された切り換え参照情報および第2の切り換えパケットの決定された切り換え参照情報も、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００４７】
第3の側面によれば、ビデオ・ストリーム切り換えを実施するためのシステムが提供される。本システムは、コントローラと、第2の側面または第2の側面のいずれかの実装における送信装置とを含む。コントローラは、送信装置に切り換え命令を送信するように構成される。
【００４８】
第4の側面によれば、コンピュータ読み取り可能記憶媒体が提供される。コンピュータ読み取り可能記憶媒体は命令を記憶し、該命令がコンピュータ上で実行されるときに、該コンピュータは、第1の側面または第1の側面のいずれかの実装における方法を実行できるようにされる。
【００４９】
第5の側面によれば、命令を含むコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品がコンピュータ上で実行されるとき、該コンピュータは、第1の側面または第1の側面のいずれかの実装における方法を実行できるようにされる。
【図面の簡単な説明】
【００５０】
本発明の実施形態における技術的解決策をより明確に説明するために、下記は、実施形態のために必要とされる添付図面を簡単に説明する。
【００５１】
【図１】本発明のある実施形態によるマルチメディア通信システム100のネットワーク接続の概略構造図である。
【００５２】
【図２】本発明のある実施形態による方法100の概略フローチャートである。
【００５３】
【図３】図3A〜図3Cは、本発明のある実施形態による切り換えの概略図である。
【図４】図4A〜図4Cは、本発明のある実施形態による切り換えの概略図である。
【００５４】
【図５】本発明の実施形態2による送信装置200の概略構造図である。
【００５５】
【図６】本発明の実施形態3による送信装置1000の概略構造図である。
【発明を実施するための形態】
【００５６】
下記は、添付の図面を参照して、本発明の実施形態を説明する。
【００５７】
図1は、本発明のある実施形態によるマルチメディア通信システム100のネットワーク接続の概略構造図である。マルチメディア通信システム100は、ビデオ源装置110および送信装置120を含む。ビデオ源装置110は、送信装置120を通じてビデオ端末にビデオ・ストリームを送信する。送信装置120は、複数のビデオ源装置110からビデオ・ストリームを受領し、それらのビデオ・ストリームのうちの1つのみをビデオ端末に転送してもよく、さらに転送されるビデオ・ストリームを切り換えてもよい。送信装置120は、具体的にはスイッチ、ルーター等であってもよい。ビデオ源装置は、IPカメラ、ビデオ・データに対してIPカプセル化および伝送を実行する装置などであってもよい。マルチメディア通信システム100は、具体的には、テレビ制作および放送システム、たとえば、IPネットワーク上で搬送されるビデオ・ストリームに対するネット切り換え要求を有するシステム、たとえば、マスター制御システム、スタジオシステム、またはテレビ局制作および放送ネットワークの放送システムであってもよい。
【００５８】
図1に示されるように、マルチメディア通信システム100は、コントローラ（Controller）130をさらに含んでいてもよい。コントローラ130は、ビデオ・ストリーム切り換えを実行するように送信装置120に命令するために使用される切り換え命令を送信装置120に送信するように構成される。対応して、送信装置120は、切り換え命令を受信した後、ビデオ・ストリーム切り換えを実行する。
【００５９】
本発明のこの実施形態では、ビデオの各ビデオ・フレームは、伝送のために複数のデータ・パケットにカプセル化される。以後、各ビデオ・フレームがカプセル化される複数のデータ・パケットのうちの最後のデータ・パケットは、フレーム尾部〔トレーラー〕パケットと呼ばれる。本発明のこの実施形態におけるデータ・パケットは、シーケンス番号および／またはタイムスタンプ、およびそのデータ・パケットがフレーム尾部パケットであるかどうかを判定するために使用される情報を担持し、具体的には、リアルタイムトランスポートプロトコル（Real-time  Transport  Protocol、RTP）パケット、独自プロトコル・ベースのパケットなどであってもよい。規格、映画テレビ技術者協会（The  Society  of  Motion  Picture  and  Television  Engineers、SMPTE）2022および規格SMPTE  2110では、RTPが制作および放送ネットワークのオーディオおよびビデオ・データを搬送するために使用される。たとえば、規格SMPTE  2022-6（Transport  of  High  Bit  Rate  Media  Signals  over  IP  Network［IPネットワークを通じた高ビットレートのメディア信号の転送］、HBRMT）では、SDIフォーマットのビデオ・データがRTPを使用してカプセル化され、IPベースのネットワークを通じて伝送される。
【００６０】
本発明のこの実施形態におけるビデオ・フレームは、非圧縮ビデオ・フレームであり、YUVビデオ・フレームまたはRGBビデオ・フレームでありうる。1つのビデオ・ストリームの単一のビデオ・フレームのパケットの量（すなわち、ビデオ・ストリームの1つのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量）は、通例、変更されないままであり、事前設定されてもよく、または受領されるビデオ・ストリームの2つの隣り合うフレーム尾部パケットのシーケンス番号の間の差に基づいて計算されてもよく、通例、数千のパケットが存在してもよい。1つのビデオ・ストリームの単一のビデオ・フレームの継続時間は、通例、変更されないままであり、事前設定されてもよく、または受領されるビデオ・ストリームの2つの隣り合うフレーム尾部パケットのタイムスタンプの間の差に基づいて計算されてもよい。
【００６１】
本発明のこの実施形態における切り換えパケットは、切り換え位置におけるデータ・パケットである。切り換えパケットの切り換え参照情報は、切り換えパケット内にあり、ビデオ・ストリーム切り換えのために使用される情報であり、切り換えパケットのシーケンス番号（これは、以後、略して切り換えシーケンス番号と称されることがある）および切り換えパケットのタイムスタンプ（これは、以後、略して切り換えタイムスタンプと称されることがある）のうちの少なくとも1つを含んでいてもよい。ビデオ・ストリーム切り換えの間、切り換えは、切り換え元ビデオ・ストリーム（以後、略して切り換え元ストリームと称する）の切り換えパケットの切り換え参照情報と、切り換え先ビデオ・ストリーム（以後、略して切り換え先ストリームと称する）の切り換えパケットの切り換え参照情報とに基づいて実行される。たとえば、切り換え元ストリームについては、切り換え元ストリームの切り換えシーケンス番号より大きいシーケンス番号をもつデータ・パケットは転送されない。切り換え先ストリームについては、切り換え先ストリームの切り換えシーケンス番号より大きいシーケンス番号をもつデータ・パケットが転送され始める。
【００６２】
下記は、図2、図3A〜図3C、図4A〜図4Cを参照して、本発明の実施形態1において提供される方法100を説明する。図2は、本発明の実施形態1による方法の概略フローチャートである。本発明の実施形態1における方法は、図1に示されるマルチメディア通信システム100に適用されてもよく、送信装置によって実行される。
【００６３】
図2に示されるように、方法100は、以下のステップを含む。
【００６４】
S110。送信装置（図1に示される送信装置120）は、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し、送信装置のターゲット出口ポートを通じて第1のビデオ・ストリームを送信する。
【００６５】
具体的には、送信装置は、受領された第1のビデオ・ストリームのデータ・パケットをターゲット出口ポートを通じて転送するが、受領された第2のビデオ・ストリームのデータ・パケットはターゲット出口ポートを通じて転送しない。
【００６６】
送信装置は、ターゲット出口ポートに対応する複数のビデオ・ストリームを受領し、該複数のビデオ・ストリームのうちの1つをターゲット出口ポートを通じて送信し、前記複数のビデオ・ストリームのうちで、ターゲット出口ポートを通じて送信されるビデオ・ストリームを切り換えることができる。第1のビデオ・ストリームは、ステップS110が実行されるときにターゲット出口ポートを通じて現在送信されているビデオ・ストリームであり、第2のビデオ・ストリームは、前記複数のビデオ・ストリームにおける第1のビデオ・ストリーム以外のビデオ・ストリームである。
【００６７】
S120。送信装置は、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるよう指示するために使用される切り換え命令を受領する。
【００６８】
具体的には、切り換え命令は、コントローラ（図1に示されるコントローラ130）から受領されてもよい。
【００６９】
切り換え命令は、送信装置に、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示する、すなわち、送信装置に、第1のビデオ・ストリームをターゲット出口ポートを通じて転送することを止め、第2のビデオ・ストリームをターゲット出口ポートを通じて転送することを開始するよう指示するために、ターゲット出口ポートのポート番号と、第1のビデオ・ストリームの識別子（たとえば、第1のビデオ・ストリームのマルチキャスト・アドレス）と、第2のビデオ・ストリームの識別子（たとえば、第2のビデオ・ストリームのマルチキャスト・アドレス）とを含んでいてもよい。
【００７０】
S130。送信装置は、切り換え命令に従って、第1のビデオ・ストリームの参照フレーム尾部パケット（以後、第1の参照フレーム尾部パケットと称される）の切り換え参照情報と、第2のビデオ・ストリームの参照フレーム尾部パケット（以後、第2の参照フレーム尾部パケットと称される）の切り換え参照情報とを決定する。
【００７１】
第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報は、それぞれシーケンス番号またはタイムスタンプであってもよく、またはそれぞれシーケンス番号およびタイムスタンプを含んでいてもよい。
【００７２】
具体的には、ステップS130が実行される前に受信される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットが、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定されてもよく、ここでxは自然数であり、xの値は1であってもよい。xが1である場合は、ステップS130が実行されるとき、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの参照フレーム尾部パケットは、そのビデオ・ストリームの最後尾のフレーム尾部パケットと称されてもよい。
【００７３】
具体的な実装の間、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報は、送信装置が切り換え命令を受領する時刻に基づいて決定されてもよい。下記は、2つの例示的実装を示す。
【００７４】
実装M：ステップS130は、切り換え命令が受領された直後に実行される。換言すれば、ステップS120を実行する時間は、ステップS130を実行する時間に非常に近い。この場合、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットの切り換え参照情報および第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットの切り換え参照情報が、それぞれ、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報として決定されうる。ここで、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットは、切り換え命令が受領される前に受領される。換言すれば、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットは、それぞれ、切り換え命令が受信される前に受信される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットである。xが1である場合の第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットが、図3A〜図3Cに示されている。図3Aに示されるように、フレーム尾部パケット101およびフレーム尾部パケット201は、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ20および10である。図3Bに示されるように、フレーム尾部パケット103およびフレーム尾部パケット203は、それぞれ第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ10および20である。図3Cに示すように、フレーム尾部パケット105およびフレーム尾部パケット205は、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ10および10である。
【００７５】
実装N：ステップS130は、切り換え命令が受領された後に第1のビデオ・ストリームの少なくとも1つの尾部パケットおよび第2のビデオ・ストリームの少なくとも1つの尾部パケットが別々に受信された後に実行される。ステップS130は、第1のビデオ・ストリームの前記少なくとも1つのフレーム尾部パケットと、第2のビデオ・ストリームの前記少なくとも1つのフレーム尾部パケットとが別々に受領されたときに実行されてもよく、第1のビデオ・ストリームの受領された最後のフレーム尾部パケットの切り換え参照情報と、第2のビデオ・ストリームの受領した最後のフレーム尾部パケットの切り換え参照情報とが、それぞれ、第1の参照フレーム尾部パケットの切り換え参照情報と、第2の参照フレーム尾部パケットの切り換え参照情報として決定される。図4Aに示されるように、フレーム尾部パケット107およびフレーム尾部パケット207が、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ30および20である。図4Bに示されるように、フレーム尾部パケット109およびフレーム尾部パケット209が、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ20および30である。図4Cに示されるように、フレーム尾部パケット111およびフレーム尾部パケット211が、それぞれ第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ20および20である。切り換え命令を受信した後、隣接するフレーム尾部パケットのシーケンス番号に基づいて、第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量と第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量とがそれぞれ計算される場合には、ステップS130は代替的に、第1のビデオ・ストリームの少なくとも2つのフレーム尾部パケットと第2のビデオ・ストリームの少なくとも2つのフレーム尾部パケットとが別々に受信されたときに、実行されてもよく、第1のビデオ・ストリームの受領された最後のフレーム尾部パケットの切り換え参照情報と、第2のビデオ・ストリームの受領された最後のフレーム尾部パケットの切り換え参照情報とが、それぞれ第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報として決定される。
【００７６】
S140。第1の参照フレーム尾部パケットの切り換え参照情報に基づいて、第1のビデオ・ストリームの切り換えパケット（以後、第1の切り換えパケットと称される）の切り換え参照情報を決定し、第2の参照フレーム尾部パケットの切り換え参照情報に基づいて、第2のビデオ・ストリームの切り換えパケット（以後、第2の切り換えパケットと称される）の切り換え参照情報を決定する。
【００７７】
第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、または、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【００７８】
記述の簡単のために、以後、第1の切り換えパケットのシーケンス番号は第1の切り換えシーケンス番号と称されることがあり、第2の切り換えパケットのシーケンス番号は第2の切り換えシーケンス番号と称されることがあり、第1の切り換えパケットのタイムスタンプは第1の切り換えタイムスタンプと称されることがあり、第2の切り換えパケットのシーケンス番号は第2の切り換えタイムスタンプと称されることがある。
【００７９】
第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第2の参照フレーム尾部パケットのビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである。xの値が1である場合、この実装では、ビデオ・ストリーム切り換えは、現在送信されているビデオ画像に対する損傷を効果的に回避するために、参照フレーム尾部パケットより少なくとも1フレーム後の位置において実行される。
【００８０】
具体的には、第1の切り換えシーケンス番号は、第1の参照フレーム尾部パケットのシーケンス番号と、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよく、第2の切り換えシーケンス番号は、第2の参照フレーム尾部パケットのシーケンス番号と、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよい。決定された第1の切り換えシーケンス番号と第1の参照フレーム尾部パケットのシーケンス番号との間の差は、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよく、決定された第2の切り換えシーケンス番号と第2の参照フレーム尾部パケットのシーケンス番号との間の差は、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよい。
【００８１】
具体的には、第1の切り換えタイムスタンプは、第1の参照フレーム尾部パケットのタイムスタンプと、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよく、第2の切り換えタイムスタンプは、第2の参照フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよい。決定された第1の切り換えタイムスタンプと第1の参照フレーム尾部パケットのタイムスタンプとの間の差は、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよく、決定された第2の切り換えタイムスタンプと第2の参照フレーム尾部パケットのタイムスタンプとの間の差は、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよい。
【００８２】
具体的な実装の間、送信装置は、まず、第1の参照フレーム尾部パケットの切り換え参照情報に基づいて、第1のビデオ・ストリームの整列フレーム尾部パケット（以後、第1の整列フレーム尾部パケットと称される）の切り換え参照情報を決定し、次いで、第1の整列フレーム尾部パケットの切り換え参照情報に基づいて、第1の切り換えパケットの切り換え参照情報を決定してもよい。たとえば、第1の整列フレーム尾部パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として使用される。別の例では、第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として決定され、第1の整列フレーム尾部パケットは、第1の参照フレーム尾部パケットのその後のフレーム尾部パケットである。さらに、送信装置は、まず、第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報に基づいて、第2のビデオ・ストリームの整列フレーム尾部パケット（以後、第2の整列フレーム尾部パケットと称される）の切り換え参照情報を決定し、次いで、第2の整列フレーム尾部パケットの切り換え参照情報に基づいて、第2の切り換えパケットの切り換え参照情報を決定してもよい。たとえば、第2の整列フレーム尾部パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として使用される。別の例では、第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として決定され、第2の整列フレーム尾部パケットは第2の整列フレーム尾部パケットのその後のフレーム尾部パケットである。第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。具体的には、第1の整列フレーム尾部パケットについて、第2の整列フレーム尾部パケットは、第2のビデオ・ストリームのすべてのフレーム尾部パケットにおいてそのタイムスタンプが第1の整列フレーム尾部パケットのタイムスタンプに最も近いフレーム尾部パケットである。第1の整列フレーム尾部パケットに対応するビデオ・フレームについて、第2の整列フレーム尾部パケットに対応するビデオ・フレームは、第2のビデオ・ストリームのすべてのビデオ・フレームにおいて第1の整列フレーム尾部パケットに対応するビデオ・フレームに時間的に最も近いビデオ・フレームであることが理解されうる。第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の整列フレーム尾部パケットの切り換え参照情報、第2の整列フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、あるいは、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【００８３】
具体的には、実装Aと実装Bの1つまたは組み合わせにおいて、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの整列尾部パケットの切り換え参照情報が決定されてもよく、ビデオ・ストリームの切り換えパケットの切り換え参照情報が決定されてもよい。実装Aは、切り換えパケットのシーケンス番号を決定するために用いられ、実装Bは、切り換えパケットのタイムスタンプを決定するために用いられる。
【００８４】
実装A：
【００８５】
実装Aでは、送信装置は、まず、第1の参照フレーム尾部パケットのシーケンス番号と、第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量とに基づいて、第1の整列フレーム尾部パケットのシーケンス番号を計算し、次いで、第1の整列フレーム尾部パケットのシーケンス番号に基づいて、第1の切り換えパケットのシーケンス番号を決定してもよい。さらに、送信装置は、まず、第2の整列フレーム尾部パケットのシーケンス番号を、第2のビデオ・ストリームの第2の参照フレーム尾部パケットのシーケンス番号と、第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量とに基づいて計算し、次いで、第2の整列フレーム尾部パケットのシーケンス番号に基づいて第2の切り換えパケットのシーケンス番号を決定してもよい。
【００８６】
図3Aに示されるように、切り換え命令が受領される前に、第1の参照フレーム尾部パケット101のシーケンス番号20と、第2の参照フレーム尾部パケット201のシーケンス番号10が記録され、切り換え命令が受領された後、整列フレーム尾部パケットのシーケンス番号がすぐ決定される。第1の整列フレーム尾部パケットの決定されたシーケンス番号は、フレーム尾部パケット102のシーケンス番号30であり、換言すれば、第1の整列フレーム尾部パケットは、フレーム尾部パケット102である。第2の整列フレーム尾部パケットの決定されたシーケンス番号は、フレーム尾部パケット202のシーケンス番号30であり、換言すれば、第2の整列フレーム尾部パケットは、フレーム尾部パケット202である。フレーム尾部パケット102およびフレーム尾部パケット202は、時間的に対応するフレーム尾部パケットである。第1のビデオ・ストリームおよび第2のビデオ・ストリームは、同じフレームレートおよび同じ開始フレーム番号を有し、フレーム尾部パケット102およびフレーム尾部パケット202はいずれも、フレーム番号がn+2であるビデオ・フレームのフレーム尾部パケットであると想定される。
【００８７】
具体的には、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの整列フレーム尾部パケットのシーケンス番号は、実装Aの以下の2つの実装（実装A1および実装A2）のうちの1つで決定されうる。
【００８８】
実装A1：異なるビデオ・ストリームが同期されていないことがありうる問題を考慮して、実装A1では、送信装置は、まず、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を判別し、次いで、第1のビデオ・ストリームと第2のビデオ・ストリームのいずれかについて、ビデオ・ストリームの参照フレーム尾部パケットのシーケンス番号および同期関係に基づいて、ビデオ・ストリームの整列フレーム尾部パケットのシーケンス番号を計算する。第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係は、具体的には、第1のビデオ・ストリームが第2のビデオ・ストリームより早いこと、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いこと、または第1のビデオ・ストリームが第2のビデオ・ストリームと同期していることでありうる。切り換えられる必要があるビデオ・ストリーム間の同期外れは、通例1フレームを超えない。
【００８９】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係が判別された後、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号および第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号は、具体的には、下記の態様で決定される。記述の簡単のため、本発明のこの実施形態では、第1の参照フレーム尾部パケットのシーケンス番号はS11として表わされ、第1の整列フレーム尾部パケットのシーケンス番号はS12として表わされ、第2の参照フレーム尾部パケットのシーケンス番号はS21として表され、第2の整列フレーム尾部パケットのシーケンス番号はS22として表わされる。第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量はM1として表わされ、第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量はM2として表わされ、M1とM2は同じであってもよく、あるいは異なっていてもよく、通例は同じである。下記の態様の例では、M1とM2はいずれも10であると想定される。
【００９０】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の決定された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いというものである場合、第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋m×M1に従って決定され、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22=S21＋(m＋1)×M2に従って決定される。ここで、mは自然数であり、1であってもよい。
【００９１】
mが1であり、実装Mが使用されると想定される。図3Aに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット101であり、第1の参照フレーム尾部パケットのシーケンス番号は20であり、第1の整列フレーム尾部パケット102のシーケンス番号は20＋10、すなわち30である。第2の参照フレーム尾部パケットはフレーム尾部パケット201であり、第2の参照フレーム尾部パケットのシーケンス番号は10であり、第2の整列フレーム尾部パケット202のシーケンス番号は10＋2×10、すなわち30である。
【００９２】
mが1であり、実装Nが使用されると想定される。図4Aに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット107であり、第1の参照フレーム尾部パケットのシーケンス番号は30であり、第1の整列フレーム尾部パケット108のシーケンス番号は30＋10、すなわち40である。第2の参照フレーム尾部パケットはフレーム尾部パケット207であり、第2の参照フレーム尾部パケットのシーケンス番号は20であり、第2の整列フレーム尾部パケット208のシーケンス番号は、20＋2×10、すなわち40である。
【００９３】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いというものである場合、第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋(n＋1)×M1に従って決定され、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22＝S21＋n×M2に従って決定される。ここで、nは自然数であり、1であってもよい。
【００９４】
nが1であり、実装Mが使用されると想定される。図3Bに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット103であり、第1の参照フレーム尾部パケットのシーケンス番号は10であり、第1の整列フレーム尾部パケット104のシーケンス番号は10＋2×10、すなわち30である。第2の参照フレーム尾部パケットはフレーム尾部パケット203であり、第2の参照フレーム尾部パケットのシーケンス番号は20であり、第2の整列フレーム尾部パケット204のシーケンス番号は20＋10、すなわち30である。
【００９５】
nが1であり、実装Nが使用されると想定される。図4Bに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット109であり、第1の参照フレーム尾部パケットのシーケンス番号は20であり、第1の整列フレーム尾部パケット110のシーケンス番号は20＋2×10、すなわち40である。第2の参照フレーム尾部パケットはフレーム尾部パケット209であり、第2の参照フレーム尾部パケットのシーケンス番号は30であり、第2の整列フレーム尾部パケット210のシーケンス番号は30＋10、すなわち40である。
【００９６】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の決定された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームと同期しているというものである場合、第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋k×M1に従って決定され、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22＝S21＋k×M2に従って決定される。ここで、kは自然数であり、1であってもよい。
【００９７】
kが1であり、実装Mが使用されると想定される。図3Cに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット105であり、第1の参照フレーム尾部パケットのシーケンス番号は10であり、第1の整列フレーム尾部パケット106のシーケンス番号は10＋10、すなわち20である。第2の参照フレーム尾部パケットはフレーム尾部パケット205であり、第2の参照フレーム尾部パケットのシーケンス番号は10であり、第2の整列フレーム尾部パケット206のシーケンス番号は10＋10、すなわち20である。
【００９８】
kが1であり、実装Nが使用されると想定される。図4Cに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット111であり、第1の参照フレーム尾部パケットのシーケンス番号は20であり、第1の整列フレーム尾部パケット112のシーケンス番号は20＋10、すなわち30である。第2の参照フレーム尾部パケットはフレーム尾部パケット211であり、第2の参照フレーム尾部パケットのシーケンス番号は20であり、第2の整列フレーム尾部パケット212のシーケンス番号は20＋10、すなわち30である。
【００９９】
実装A1で決定される第1の整列フレーム尾部パケットのシーケンス番号および第2の整列フレーム尾部パケットのシーケンス番号に対応するフレーム尾部パケット（すなわち、第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケット）のタイムスタンプは基本的に同じであり、これらのフレーム尾部パケットのタイムスタンプに基づいて決定される切り換えパケットのタイムスタンプも基本的に同じである。よって、切り換えの間、切り換え元ストリームが切り換え先ストリームと時間次元で同期され、フレーム冗長性やフレーム不足がないことが保証できる。
【０１００】
実装A2：実装A2では、異なるビデオ・ストリーム間の同期関係は考慮されず、ビデオ・ストリームは同期していると想定される。第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋k×M1に従って直接決定されてもよく、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22＝S21＋k×M2によって直接決定されてもよい。
【０１０１】
第1の整列フレーム尾部パケットのシーケンス番号および第2の整列フレーム尾部パケットのシーケンス番号が決定された後、第1の切り換えシーケンス番号および第2の切り換えシーケンス番号はそれぞれ、第1の整列フレーム尾部パケットのシーケンス番号および第2の整列フレーム尾部パケットのシーケンス番号に基づいて、下記の2つの実装（実装X1および実装X2）のうちの1つにおいて決定されてもよい。
【０１０２】
実装X1：実装X1は、フレームの境界においてビデオ・ストリーム切り換えを実行するために使用される。実装X1では、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号は第1の切り換えシーケンス番号として使用され、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号は第2の切り換えシーケンス番号として使用される。
【０１０３】
図3Aに示されるように、第1の整列フレーム尾部パケット102のシーケンス番号30は第1の切り換えシーケンス番号として使用される、すなわち、第1の整列フレーム尾部パケット102は第1のビデオ・ストリームの切り換えパケットとして使用され、第2の整列フレーム尾部パケット202のシーケンス番号30は第2の切り換えシーケンス番号として使用され、すなわち、第2の整列フレーム尾部パケット202は第2のビデオ・ストリームの切り換えパケットとして使用される。
【０１０４】
実装X2：実装X2は、ビデオ・フレームのブランキング領域においてビデオ・ストリーム切り換えを実行するために使用される。
【０１０５】
ビデオ分野では、光信号を電気信号に変換する走査プロセスにおいて、走査は常に画像の左上隅から始まり右に水平方向に移動し、走査点も比較的低い速度で下方に移動する。走査点が画像の右端に到達すると、走査点はすぐに左に復帰し、第1の行の開始点の下の第2の行を走査することを再開する。行と行の間の復帰プロセスは、水平ブランキングと称される。完全な画像走査信号は、水平ブランキング区間によって分離された行信号のシーケンスを含み、フレームと称される。フレームを走査した後、走査点は、新しいフレームの走査を開始するために、画像の右下隅から画像の左上隅に復帰する必要がある。この時間区間は、垂直ブランキングまたはフィールドブランキングと称される。水平ブランキングおよび垂直ブランキングは、SDI信号において可視コンテンツを運ばず、まとめてブランキング領域と称される。SMPTE  RP-168は、SDIフォーマットにおけるビデオ・ストリーム間の切り換えをガイドするために、切り換え行または切り換え領域を指定している。切り換え行または切り換え領域における2つのSDI信号の間の切り換えは、有効なビデオ・データを傷つけない。SMPTE  2022-6では、SDI信号はIPパケットにおいて担持される。したがって、SMPTE  2022-6に基づいてカプセル化されたビデオ・ストリーム上でクリーンな切り換えが実行されるとき、該切り換えはブランキング領域で実行されるべきである。
【０１０６】
結論として、第1のビデオ・ストリームおよび第2のビデオ・ストリームの両方が、SMPTE  2022-6に基づいてエンコードされたビデオ・ストリームである場合、ビデオ・ストリーム切り換えは、ブランキング領域をカプセル化するためのデータ・パケットにおいて実行されうる。
【０１０７】
第1のビデオ・ストリームについては、具体的には、第1の整列フレーム尾部パケットのシーケンス番号に対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号が、第1の切り換えシーケンス番号として決定されうる。たとえば、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号とΔM1の和が、第1の切り換えシーケンス番号として決定される。ここで、
【数１】
2021535658.tif 000003
であり、OL1は、第1のビデオ・ストリームの単一のビデオ・フレームにおける各行内のピクセルによって占有されるバイトの量であり、SL1は、第1のビデオ・ストリームの切り換え行番号である。
【０１０８】
第2のビデオ・ストリームについては、第2の整列フレーム尾部パケットのシーケンス番号に対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号が、第2の切り換えシーケンス番号として決定される。
たとえば、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号とΔM2の和が、第2の切り換えシーケンス番号として決定される。ここで、
【数２】
2021535658.tif 000004
であり、OL2は、第2のビデオ・ストリームの単一のビデオ・フレームにおける各行内のピクセルによって占有されるバイトの量であり、SL2は、第2のビデオ・ストリームの切り換え行番号である。
【０１０９】
切り換え行番号は、SDIビデオ規格に依存することがある。現在、SMPTE  RP-168は、大半のビデオ・フォーマットの切り換え行番号を指定している。第1のビデオ・ストリームの切り換え行番号SL1と第2のビデオ・ストリームの切り換え行番号SL2は、通例同じである。
【０１１０】
第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれについても、4:2:2のサンプリング態様が使用される場合、ビデオ・ストリームの単一のビデオ・フレームにおける各行内のピクセルによって占有されるバイトの量OLは、PL×BS×2/8に等しく、ここで、PLは、ビデオ・ストリームのビデオ・フレームの各行内のピクセルの総量（行ブランキング・ピクセルの量および有効なビデオ・ピクセルの量を含む）であり、BSはピクセル・ビット深さである。第1のビデオ・ストリームと第2のビデオ・ストリームのピクセル・ビット深さおよびサンプリング態様が同じであれば、OL1とOL2は通例同じであることが理解されうる。
【０１１１】
実装B：
【０１１２】
実装Bにおいて、送信装置は、まず、第1の参照フレーム尾部パケットのタイムスタンプと、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいて、第1の整列フレーム尾部パケットのタイムスタンプを計算し、次いで、第1の整列フレーム尾部パケットのタイムスタンプに基づいて、第1の切り換えパケットのタイムスタンプを決定してもよい。さらに、送信装置は、まず、第2のビデオ・ストリームの第2の参照フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいて第2の整列フレーム尾部パケットのタイムスタンプを計算し、次いで、第2の整列フレーム尾部パケットのタイムスタンプに基づいて第2の切り換えパケットのタイムスタンプを決定してもよい。
【０１１３】
具体的には、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの整列フレーム尾部パケットのタイムスタンプは、実装Bの以下の2つの実装（実装B1および実装B2）のうちの1つで決定されうる。
【０１１４】
実装B1：異なるビデオ・ストリームが同期されない可能性がある問題を考慮して、実装B1においては、送信装置は、まず、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を決定し、次いで、第1のビデオ・ストリームと第2のビデオ・ストリームのいずれかについて、該ビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプと同期関係とに基づいて、該ビデオ・ストリームの整列フレーム尾部パケットのタイムスタンプを計算する。第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係は、具体的には、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いこと、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いこと、または第1のビデオ・ストリームが第2のビデオ・ストリームと同期されることでありうる。切り換えられる必要があるビデオ・ストリーム間の同期外れは、通例1フレームを超えない。
【０１１５】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係が決定された後、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのタイムスタンプは、以下の態様で具体的に決定される。記述の簡単のため、本発明のこの実施形態では、第1の参照フレーム尾部パケットのタイムスタンプはt11として表わされ、第1の整列フレーム尾部パケットのタイムスタンプはt12として表わされ、第2の参照フレーム尾部パケットのタイムスタンプはt21として表され、第2の整列フレーム尾部パケットのタイムスタンプはt22として表わされる。第1のビデオ・ストリームの単一のビデオ・フレームの継続時間はT1として表わされ、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間はT2として表わされ、T1とT2は同じであってもよく、異なっていてもよく、通例は同じである。
【０１１６】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いというものである場合、第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋m×T1に従って決定され、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋(m＋1)×T2に従って決定される。ここで、mは自然数であり、1であってもよい。
【０１１７】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いというものである場合、第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋(n＋1)×T1に従って決定され、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋n×T2に従って決定される。ここで、nは自然数であり、1であってもよい。
【０１１８】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームと同期しているというものである場合、第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋k×T1に従って決定され、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋k×T2に従って決定される。ここで、kは自然数であり、1であってもよい。
【０１１９】
実装B1において決定される第1の整列フレーム尾部パケットと第2の整列フレーム尾部パケットのタイムスタンプは基本的に一貫しており、第1の整列フレーム尾部パケットと第2の整列フレーム尾部パケットのタイムスタンプに基づいて決定される切り換えパケットのタイムスタンプも基本的に一貫している。よって、切り換え中に切り換え元ストリームが切り換え先ストリームと時間次元で同期され、フレーム冗長性やフレーム欠如がないことが保証できる。
【０１２０】
実装B2：実装B2では、異なるビデオ・ストリーム間の同期関係は考慮されず、ビデオ・ストリームが同期していると想定される。第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋k×T1に従って直接決定されてもよく、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋k×T2に従って直接決定されてもよい。
【０１２１】
第1の整列フレーム尾部パケットの切り換え参照情報および第2の整列フレーム尾部パケットのタイムスタンプが決定された後、第1の切り換えタイムスタンプおよび第2の切り換えタイムスタンプが、第1の整列フレーム尾部パケットのタイムスタンプおよび第2の整列フレーム尾部パケットのタイムスタンプに基づいて、以下の2つの実装（実装Y1および実装Y2）のうちの1つにおいて、それぞれ決定されうる。
【０１２２】
実装Y1：実装Y1は、フレームの境界でビデオ・ストリーム切り換えを実行するために使用される。実装Y1では、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのタイムスタンプが第1の切り換えタイムスタンプとして使用され、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのタイムスタンプが第2の切り換えタイムスタンプとして使用される。
【０１２３】
実装Y2：実装Y2は、ビデオ・フレームのブランキング領域でビデオ・ストリーム切り換えを実行するために使用される。
【０１２４】
第1のビデオ・ストリームについては、具体的には、第1の整列フレーム尾部パケットのタイムスタンプに対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのタイムスタンプが、第1の切り換えタイムスタンプとして決定されうる。たとえば、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのタイムスタンプとΔt1の和が、第1の切り換えタイムスタンプとして決定される。ここで、Δt1は、区間[tx,ty]内の値である。たとえば、Δt1は、txまたは(tx＋ty)/2であり、ここで、tx＝T1×SL1/L1、ty＝T1×(SL1＋1)/L1であり、SL1は、第1のビデオ・ストリームの切り換え行番号であり、L1は、第1のビデオ・ストリームのビデオ・フレームのピクセル行の総数である。
【０１２５】
第2のビデオ・ストリームについては、第2の整列フレーム尾部パケットのタイムスタンプに対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのタイムスタンプが、第2の切り換えタイムスタンプとして決定される。たとえば、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのタイムスタンプとΔt2の和が、第2の切り換えタイムスタンプとして決定される。ここで、Δt2は、区間[tm,tn]内の値である。たとえば、Δt2は、tmまたは(tm＋tn)/2であり、ここで、tm＝T2×SL2/L2、ty＝T2×(SL2＋1)/L2であり、SL2は、第2のビデオ・ストリームの切り換え行番号であり、およびL2は、第2のビデオ・ストリームのビデオ・フレームのピクセル行の総数である。Δt1およびΔt2は同じ方法で計算されることを注意しておくべきである。たとえば、Δt1は式Δt1＝T1×SL1/L1に従って計算され（すなわち、Δt1はtx）、Δt2は式Δt2＝T2×SL2/L2に従って計算される（すなわち、Δt2はtm）。
【０１２６】
切り換え行番号は、SDIビデオ規格に依存してもよい。現在、SMPTE  RP-168は、ほとんどのビデオ・フォーマットの切り換え行番号を指定している。第1のビデオ・ストリームの切り換え行番号SL1と第2のビデオ・ストリームの切り換え行番号SL2は、通例同じである。第1のビデオ・ストリームのL2と第2のビデオ・ストリームのL2は通例同じである。
【０１２７】
本発明の実施形態1では、送信装置は、第1のビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプと第2のビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプに基づいて、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を具体的に判別することができる。
【０１２８】
装置同期の精度ずれのために、異なるビデオ源装置によって同じ瞬間に送信されるデータ・パケットのタイムスタンプの間のずれがあることがありうる。加えて、情報はIPネットワークにおいて1つのパケットにおいて伝送され、パケット転送のジッタは若干の同期ずれを引き起こす可能性がある。よって、2つの参照フレーム尾部パケットのタイムスタンプ間のずれが事前設定された時間差閾値より小さい場合、2つのビデオ・ストリームが同期していると考えられてもよい。動機が実行されるかどうかを決定するために使用される時間差閾値は、ネットワークにおけるビデオ源装置のクロック同期精度に基づいて決定されてもよい。
【０１２９】
t1−t2＞Δt1であると判定するときに、送信装置は、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いと判定してもよい。t2−t1＞Δt1であると判定するときに、送信装置は、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いと判定してもよい。｜t1−t2｜＜Δt2であると判定するときには、送信装置は、具体的に、第1のビデオ・ストリームが第2のビデオ・ストリームと同期していると判定してもよい。ここで、t1は第1の参照フレーム尾部パケットのタイムスタンプであり、t2は第2の参照フレーム尾部パケットのタイムスタンプであり、Δt1は事前設定された第1の時間差閾値であり、Δt2は事前設定された第2の時間差閾値であり、Δt1とΔt2の両方は0より大きくTより小さい値であり、Δt2はΔt1以下であってもよい。さらに、Δt1およびΔt2は、T/2＜Δt1＜Tであるように事前設定されてもよい。たとえば、Δt1は3×T/4であってもよく、0＜Δt2＜T/2である。たとえば、Δt2はT/4であってもよく、Tは単一のビデオ・フレームの継続時間である。本発明のこの実施形態において、Tは事前設定されていてもよく、あるいは事前設定されたビデオ情報（たとえばフレームレート）に基づく計算を通じて得られてもよい。加えて、一方のビデオ・ストリームの単一のビデオ・フレームの継続時間と他方のビデオ・ストリームの単一のビデオ・フレームの継続時間は通例同じであるので、ビデオ・ストリームを切り換える必要がある場合、Tは、代替的に、第1のビデオ・ストリームと第2のビデオ・ストリームのいずれかの受信されたデータ・パケットに基づく計算を通じて得られてもよく、たとえば、そのビデオ・ストリームの2つの隣接するフレーム尾部パケットのタイムスタンプ間の差に基づく計算を通じて得られてもよい。
【０１３０】
S150.  送信装置は、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換える。
【０１３１】
ある実装では、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、それぞれシーケンス番号であり、送信装置は具体的には、第1のビデオ・ストリームのシーケンス番号が第1の切り換えシーケンス番号より大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信しなくてもよいが、第2のビデオ・ストリームのシーケンス番号が第2の切り換えシーケンス番号より大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信する。
【０１３２】
第1の切り換えシーケンス番号および第2の切り換えシーケンス番号は、受信されないデータ・パケットのシーケンス番号であり、それらのシーケンス番号は計算を通じて得られるものであるから、第1の切り換えシーケンス番号および第2の切り換えシーケンス番号が計算を通じて得られるとき、第1のビデオ・ストリームのシーケンス番号が第1の切り換えシーケンス番号以下であるときに得られるデータ・パケットおよび第2のビデオ・ストリームのシーケンス番号が第2の切り換えシーケンス番号以下であるときに得られるデータ・パケットが、通例さらに受領される。ステップS150において、送信装置は、第1のビデオ・ストリームの受領されるデータ・パケットのシーケンス番号に基づいて、ターゲット出口ポートを通じて該データ・パケットを送信するかどうかを決定することができる。シーケンス番号が第1の切り換えシーケンス番号以下である場合でも、送信装置は、ターゲット出口ポートを通じてデータ・パケットをさらに送信する。シーケンス番号が第1の切り換えシーケンス番号より大きい場合、送信装置は、ターゲット出口ポートを通じてデータ・パケットを送信しない。対応して、送信装置は、第2のビデオ・ストリームの受領されたデータ・パケットのシーケンス番号に基づいて、該データ・パケットをターゲット出口ポートを通じて送信するかどうかを決定することができる。シーケンス番号が第2の切り換えシーケンス番号以下である場合、送信装置は、データ・パケットをターゲット出口ポートを通じて送信しない。シーケンス番号が第2の切り換えシーケンス番号より大きい場合、送信装置は、そのデータ・パケットをターゲット出口ポートを通じて送信する。
【０１３３】
別の実装では、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報はそれぞれタイムスタンプであり、送信装置は、具体的には、第1のビデオ・ストリームのタイムスタンプが第1の切り換えタイムスタンプより大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信しなくてもよいが、第2のビデオ・ストリームのタイムスタンプが第2の切り換えタイムスタンプより大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信する。さらに、送信装置は、さらに、第1のビデオ・ストリームのタイムスタンプが第1の切り換えタイムスタンプ以下であるときに取得された受領されたデータ・パケットを、ターゲット出口ポートを通じて送信してもよいが、第2のビデオ・ストリームのタイムスタンプが第2の切り換えタイムスタンプ以下であるときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信しない。
【０１３４】
さらに別の実装では、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号とタイムスタンプを含む。第1のビデオ・ストリームの受領されたデータ・パケットについて、データ・パケットのタイムスタンプと第1の切り換えパケットのタイムスタンプとの間の差の絶対値Dif1が閾値1より大きく、該データ・パケットのタイムスタンプが第1の切り換えパケットのタイムスタンプより大きい場合、または、Dif1が閾値1以下であり、該データ・パケットのシーケンス番号が第1の切り換えパケットのシーケンス番号より大きい場合、該データ・パケットは、ターゲット出口ポートを通じて転送されない。第2のビデオ・ストリームの受領されたデータ・パケットについて、該データ・パケットのタイムスタンプと第2の切り換えパケットのタイムスタンプとの間の差の絶対値Dif2が閾値2より大きく、該データ・パケットのタイムスタンプが第2の切り換えパケットのタイムスタンプより大きい場合、またはDif2が閾値2以下であり、該データ・パケットのシーケンス番号が第2の切り換えパケットのシーケンス番号より大きい場合、該データ・パケットはターゲット出口ポートを通じて転送される。さらに、第1のビデオ・ストリームの受領されたデータ・パケットについて、Dif1が閾値1よりも大きく、該データ・パケットのタイムスタンプが第1の切り換えパケットのタイムスタンプよりも小さい場合、またはDif1が閾値1以下であり、該データ・パケットのシーケンス番号が第1の切り換えパケットのシーケンス番号以下である場合、該データ・パケットは、ターゲット出口ポートを通じて転送される。第2のビデオ・ストリームの受領されたデータ・パケットについて、Dif2が閾値2より大きく、該データ・パケットのタイムスタンプが第2の切り換えパケットのタイムスタンプより小さい場合、またはDif2が閾値2以下であり、該データ・パケットのシーケンス番号が第2の切り換えパケットのシーケンス番号より小さい場合、該データ・パケットは、ターゲット出口ポートを通じて転送されない。
【０１３５】
閾値1および閾値2は同じであってもよく、または異なっていてもよく、それぞれ1/4T以上の値に設定されてもよい。具体的には、閾値1および閾値2は、それぞれ、1/4T以上7/4T以下の値、たとえば、3/4Tに設定されてもよい。ここで、Tは、第1のビデオ・ストリームまたは第2のビデオ・ストリームの単一のビデオ・フレームの継続時間である。
【０１３６】
第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれについても、そのビデオ・ストリームが安定状態に入ったことが判別された後、たとえば、ステップS150が実行され始めた後にデータ・ストリームの所定量（たとえば、Mまたは2M）のデータ・パケットが処理されたことが判別された後、またはステップS130が実行され始めた後に事前設定された継続時間（たとえば、Tまたは2T）が経過したことが判別された後には、データ・ストリームのシーケンス番号またはタイムスタンプがデータ・ストリームの切り換えシーケンス番号または切り換えタイムスタンプ以下であるときに得られたデータ・パケットが受信される確率は、非常に低い。よって、データ・ストリームの受領されたデータ・パケットをターゲット出口ポートを通じて送信するかどうかは、データ・パケットのシーケンス番号またはタイムスタンプをチェックすることによっては決定されないことがあり、そのデータ・パケットが属するデータ・ストリーム（すなわち、前記データ・ストリーム）が送信される必要があるデータ・ストリームであるかどうかを示すために使用される状態情報に基づいて決定される。このようにして、転送効率が改善される。ここで、Mは、ビデオ・ストリームの単一のビデオ・フレームのパケットの量であり、Tは、ビデオ・ストリームの単一のビデオ・フレームの継続時間である。
【０１３７】
送信装置が複数の出口ポートを含んでいてもよいことに注意しておくべきである。方法100におけるステップS110およびS150が、前記ターゲット出口ポートに対応するデータ・パケットを処理することのみを受け持つユニットによって実行される場合、ステップS110およびS150において、該ユニットは、前記ターゲット出口ポートを通じて転送される必要のないデータ・パケットを破棄してもよい。
【０１３８】
下流の装置への影響を低減して、下流の装置が切り換えを感知しないようにするために、第2のビデオ・ストリームのデータ・パケットを転送するとき、送信装置は第2のビデオ・ストリームのデータ・パケット内の情報をさらに修正することができる。
【０１３９】
具体的には、切り換えの前および後のビデオ・ストリームの一貫性を改善するために、送信装置は、切り換え後の第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値が、切り換え前の第1のビデオ・ストリームのデータ・パケット内の第1のフィールドの値と同じになるように、第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値を修正してもよく、第2のビデオ・ストリームのデータ・パケットと第1のビデオ・ストリームのデータ・パケットは、ターゲット出口ポートを通じて送られる。第1のフィールドは、マルチキャスト・アドレス・フィールドまたはペイロード・タイプ・フィールドでありうる。もしRTPがビデオ・ストリーム伝送に使われるなら、第1のフィールドは代替的に、同期源（Synchronization  source、SSRC）フィールドであってもよい。第1のフィールドは、代替的に、SMPTE  2022-6で定義されたHBRMT層パラメータ、たとえば、FRCountであってもよい。FRCountは、SMPTE  2022-6で定義された高ビットレート・メディア・ペイロードヘッダ（High  Bit  Rate  Media  Payload  Header）におけるフレームカウント（Frame  Count）フィールドであり、ビデオ・ストリームにおける累積されたビデオ・フレームの量を示す。
【０１４０】
ある出口ポートについて、複数の入力ビデオ・ストリームが繰り返し切り換えられる必要があることがある。したがって、現在の切り換え元ストリームは、以前の切り換え先ストリームであることがある。
【０１４１】
そのターゲット出口ポートを通じて複数のビデオ・ストリームのうちのいずれかを送信するとき、送信装置は、そのビデオ・ストリームのデータ・パケット内の第1のフィールドの値を事前設定値に修正してもよく、たとえば、そのビデオ・ストリームのそのデータ・パケット内のマルチキャスト・アドレスを事前設定されたマルチキャスト・アドレス（たとえば、239.0.2.1）に修正してもよい。
【０１４２】
S110において記載されるように、送信装置は、ターゲット出口ポートに対応する複数のビデオ・ストリームを受領し、前記複数のビデオ・ストリームのうちの1つをターゲット出口ポートを通じて送信し、前記複数のビデオ・ストリームにおいて、ターゲット出口ポートを通じて送信されるビデオ・ストリームを切り換えることができる。たとえば、複数のビデオ・ストリームは、ストリーム1、ストリーム2、およびストリーム3を含む。送信装置は、まずストリーム2を転送し、次いで、ストリーム1およびストリーム3に順次切り換える。前記複数のビデオ・ストリームのうちの1つ（たとえば、ストリーム2）をターゲット出口ポートを通じて初めて転送するとき、送信装置は、ビデオ・ストリームの第1のフィールドの値をさらに記録してもよく、その後に別のビデオ・ストリームに切り換えるとき、該別のビデオ・ストリームのデータ・パケット内の第1のフィールドの値を、前記ビデオ・ストリームの第1のフィールドの記録された値に修正してもよい。たとえば、ストリーム1に切り換えるときは、送信装置は、ストリーム1のデータ・パケット内の第1のフィールドの値をストリーム2の第1のフィールドの値に修正し、ストリーム3に切り換えるときは、ストリーム3のデータ・パケット内の第1のフィールドの値をやはりストリーム2の第1のフィールドの値に修正する。
【０１４３】
切り換えの前および後のビデオ・ストリームの連続性を改善するために、切り換え後に第2のビデオ・ストリームのデータ・パケットを送信するとき、送信装置は、第2のビデオ・ストリームのデータ・パケット内の第2のフィールドの値をさらに修正して、切り換え後の第2のビデオ・ストリームのデータ・パケット内の第2のフィールドの値が、切り換え前の第1のビデオ・ストリームのデータ・パケット内の第2のフィールドの値と連続的であるようにしてもよい。ここで、第2のビデオ・ストリームのデータ・パケットおよび第1のビデオ・ストリームのデータ・パケットはターゲット出口ポートを通じて送られる。第2のフィールドの値は、シーケンス番号、フレーム番号、タイムスタンプなどの一つまたは複数でありうる。
【０１４４】
第2のフィールドの値（たとえば、シーケンス番号）が連続的であることを保証するために、具体的には、第2のビデオ・ストリームの送信されるべきデータ・パケット中の第2のフィールドの値がΔVだけ増加されてもよい。ここで、ΔV＝V1−V2であり、V1は、第1のビデオ・ストリームのシーケンス番号が第1の切り換えシーケンス番号に等しいときに取得されたデータ・パケットがターゲット出口ポートを通じて送信されたときに担持されていた第2のフィールドの値であり、V2は、第2のビデオ・ストリームのシーケンス番号が第2の切り換えシーケンス番号に等しいときに取得されたデータ・パケットが受領されたときに担持されていた第2のフィールドの値である。
【０１４５】
ステップS130を実行する前に、送信装置はさらにステップS115を実行して、第1のビデオ・ストリームおよび第2のビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットのターゲット情報を記録してもよい。記録されるターゲット情報は、最後尾のフレーム尾部パケットのシーケンス番号およびタイムスタンプのうちの少なくとも1つを含む。対応して、ステップS130では、ステップS115で記録された最後尾のフレーム尾部パケットのターゲット情報に基づいて、参照フレーム尾部パケットが決定されうる。たとえば、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかについて、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報（たとえば、シーケンス番号）であって、ステップS130が実行される前に最後にステップS115において記録されたものが、そのビデオ・ストリームの参照フレーム尾部パケットの切り換え参照情報（たとえば、シーケンス番号）として使用される。
【０１４６】
送信装置は、ステップS120の前にステップS115の実行を開始してもよい。S110において記載されたように、送信装置は、ターゲット出口ポートに対応する複数のビデオ・ストリームを受領し、ターゲット出口ポートを通じて前記複数のビデオ・ストリームのうちの1つを送信し、前記複数のビデオ・ストリームにおいて、ターゲット出口ポートを通じて送信されるビデオ・ストリームを切り換えてもよい。前記複数のビデオ・ストリームをターゲット出口ポートを通じて転送することを開始するとき、送信装置は、前記複数のビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットのターゲット情報を記録し始める。送信装置がその後、前記ビデオ・ストリームのうちの2つを切り換える必要がある場合、送信装置は、それら2つのビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットの記録されたターゲット情報を使用することによってステップS130およびS140を実行して、切り換え参照情報を決定することができる。前述の実装Mが使用される場合、送信装置は、ステップS120の前にステップS115の実行を開始してもよい。
【０１４７】
あるいはまた、送信装置は、ステップS120の後にステップS115を開始してもよい。具体的には、切り換え命令を受信した後、送信装置は、切り換えられる必要のある2つのビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットのターゲット情報を記録することを開始し、さらに、それら2つのビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットの記録されたターゲット情報に基づいてステップS130およびS140を実行して、切り換えパケットの切り換え参照情報を決定する。前述の実装Nが使用される場合、送信装置は、ステップS120の後にステップS115の実行を開始してもよい。
【０１４８】
送信装置がステップS120の前にステップS115を実行し始める場合、複数のビデオ・ストリームの任意の1つについて、ビデオ・ストリーム内の最初のフレーム尾部パケットを受信するとき、送信装置は、そのフレーム尾部パケットのターゲット情報を、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報として記録し、ビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報を、ビデオ・ストリームのその後に受信されるデータ・パケットに基づいて更新する。さらに、切り換え命令を受信した後、送信装置は、すぐにステップS130およびS140を実行し、切り換え命令が受信される前に記録された、最後尾のフレーム尾部パケットのターゲット情報（たとえばシーケンス番号）に基づいて、切り換えパケットの切り換え参照情報（たとえばシーケンス番号）を計算する。図3Aに示されるように、送信装置は、切り換え命令が受信される前に記録された、第1のビデオ・ストリームの最後尾のフレーム尾部パケット101のシーケンス番号20に基づいて、第1の切り換えシーケンス番号を計算し、切り換え命令が受信される前に記録された、第2のビデオ・ストリームの最後尾のフレーム尾部パケット201のシーケンス番号10に基づいて、第2の切り換えシーケンス番号を計算する。
【０１４９】
送信装置が、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかについて、ステップS120の後にステップS115の実行を開始する場合、そのビデオ・ストリーム内の最初のフレーム尾部パケットを受領するとき、送信装置は、そのフレーム尾部パケットのターゲット情報を、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報として、記録することができる。一方のビデオ・ストリームの別のフレーム尾部パケットを受領するとき、送信装置が他方のビデオ・ストリームの最初のフレーム尾部パケットを受領しなければ、送信装置が他方のビデオ・ストリームの最初のフレーム尾部パケットを受領して対応して該他方のビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報を記録するまで、送信装置は、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報を更新することができる。さらに、第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量と、第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量が、それぞれ、隣り合うフレーム尾部パケットのシーケンス番号に基づいて計算される場合、切り換えシーケンス番号が計算される前に、各ビデオ・ストリームの少なくとも2つのフレーム尾部パケットが受領される。フレーム尾部パケットが受領されるたびに、フレーム尾部パケットのターゲット情報が、フレーム尾部パケットが属するビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報として記録される。さらに、2つの受領された隣り合うフレーム尾部パケットのシーケンス番号間の差が、パケットが属するビデオ・ストリームの単一ビデオ・フレームのパケットの量として使用されてもよく、または、2つの受領された隣り合うフレーム尾部パケットのタイムスタンプ間の差が、パケットが属するビデオ・ストリームの単一ビデオ・フレームの継続時間として使用されてもよい。
【０１５０】
図4Aに示されるように、第1の切り換えシーケンス番号は、切り換え命令が受信された後に記録される、第1のビデオ・ストリームの最後尾のフレーム尾部パケット107のシーケンス番号30に基づいて計算され、第2の切り換えシーケンス番号は、切り換え命令が受信された後に記録される、第2のビデオ・ストリームの最後尾のフレーム尾部パケット207のシーケンス番号20に基づいて計算される。
【０１５１】
送信装置は、具体的には、ビデオ・ストリームのいずれかの最後尾のフレーム尾部パケットのターゲット情報を、以下の態様で更新することができる。
【０１５２】
送信装置がビデオ・ストリームのフレーム尾部パケットを受信するたびに、送信装置はビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号をフレーム尾部パケットのシーケンス番号に更新し、ビデオ・ストリームの最後尾のフレーム尾部パケットのタイムスタンプをフレーム尾部パケットのタイムスタンプに更新することができる。
【０１５３】
更新中、送信装置はまた、起こりうるフレーム間パケット乱れおよびフレーム尾部パケット損失を考慮してもよい。フレーム間パケット乱れが発生した場合、具体的には、現在フレームの非フレーム尾部パケットが、前のフレームのフレーム尾部パケットの前に到着した場合、または前のフレームのフレーム尾部パケットの前に送信装置によって処理された場合、または、フレーム尾部パケットの損失が発生した場合、ビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号は、代替的に、受領されていないフレーム尾部パケットのシーケンス番号よりも大きいシーケンス番号を有する非フレーム尾部パケットに基づいて推定されるフレーム尾部パケットのシーケンス番号であってもよい。対応して、送信装置は、以下の態様で更新を実行してもよい。
【０１５４】
ビデオ・ストリームの受領されたデータ・パケットがフレーム尾部パケットではなく、該データ・パケットのシーケンス番号がビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号とビデオ・ストリームの単一のビデオ・フレームのパケットの量Mの和より大きいと判定された場合、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたシーケンス番号はMだけ増加させられる。ターゲット情報がさらにタイムスタンプを含む場合は、対応して、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたタイムスタンプは単一のビデオ・フレームの継続時間Tだけ増加させられる。ビデオ・ストリームの受領されたデータ・パケットがフレーム尾部パケットであると判定された場合、更新操作が直接実行されてもよい。具体的には、ビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号は、データ・パケットのシーケンス番号に更新され、ビデオ・ストリームの最後尾のフレーム尾部パケットのタイムスタンプは、データ・パケットのタイムスタンプに更新されるか、または、データ・パケットのタイムスタンプが、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたタイムスタンプよりも大きいかどうかがさらに判定されてもよく、更新操作は、データ・パケットのタイムスタンプが、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたタイムスタンプよりも大きい場合にのみ実行される。
【０１５５】
下記は、具体的な実装におけるステップS115の具体的な実装を詳細に説明する。
【０１５６】
送信装置は、ビデオ・ストリーム切り換えテーブルを確立する。ステップS120の前にステップS115が実行される場合、切り換えテーブルは、複数のビデオ・ストリームのそれぞれの記録を含んでいてもよい。ステップS120の後にステップS115が実行される場合、切り換えテーブルは、表1に示されるように、切り換えられる必要のある2つのビデオ・ストリーム（すなわち、第1のビデオ・ストリームおよび第2のビデオ・ストリーム）の記録のみを含んでいてもよい。
【０１５７】
切り換えテーブルは、フィールドFT_TSおよびFT_SNを含んでいてもよく、各ビデオ・ストリームに対応するFT_TSの値および各ビデオ・ストリームに対応するFT_SNの値は、それぞれ、そのビデオ・ストリームの最後尾のフレーム尾部パケットのタイムスタンプおよびシーケンス番号である。
【０１５８】
ビデオ・ストリーム切り換えテーブルは、フィールドFlow〔フロー〕、Outport〔出力ポート〕、State〔状態〕、FrameTime〔フレーム時間〕およびFramePackets〔フレームパケット〕の任意の1つまたは任意の組み合わせをさらに含んでいてもよい。Flowの値は対応するビデオ・ストリームを識別するために使用される。各ビデオ・ストリームに対応するOutportの値は、そのビデオ・ストリームに対応する出口ポートのポート番号を記録するために使用される。すなわち、そのビデオ・ストリームが転送される送信装置のポートを示す。本発明のこの実施形態では、同じ出口ポートに対応する諸ビデオ・ストリームが切り換えられる。各ビデオ・ストリームに対応するStateの値は、そのビデオ・ストリームの現在の状態を記録するために使用される。ここで、SW_Forwardingは、そのビデオ・ストリームが送信装置によって転送されるビデオ・ストリームであることを示し、SW_Discardは、そのビデオ・ストリームが、対応する出口ポートを通じて送信装置によって転送されないビデオ・ストリームであることを示す。各ビデオ・ストリームに対応するFrameTimeの値は、そのビデオ・ストリームの単一のビデオ・フレームの継続時間を記録するために使用される。RTPがビデオ・ストリーム伝送のために使用される場合、FrameTimeの単位はRTPヘッダ内のTSフィールドの単位と同じである。各ビデオ・ストリームに対応するFramePacketsの値は、そのビデオ・ストリームの単一のビデオ・フレームのパケットの量を記録するために使用される。
【０１５９】
ビデオ・ストリーム切り換えテーブルは、SW_SNをさらに含んでいてもよく、各ビデオ・ストリームに対応するSW_SNの値が、そのビデオ・ストリームの切り換えシーケンス番号を記録するために使用される。
【表１】
2021535658.tif 000005
【０１６０】
以後、ビデオ・ストリーム切り換えテーブル内の任意のビデオ・ストリームをビデオ・ストリームAと称する。
【０１６１】
ビデオ・ストリームAについては、ビデオ・ストリームAの任意のデータ・パケット（以後、パケットaと称する）が受領されたとき、まず、パケットaがフレーム尾部パケットであるかどうかが判定される。
【０１６２】
RTPパケットが例として使用される。RFC3550で定義されているRTPパケット・ヘッダのフォーマットによれば、RTPパケット・ヘッダ内のM（Marker、マーカー）フィールドの値が、RTPパケットがフレーム尾部パケットであるかどうかを示すために使用される。Mの値が1である場合、そのことはRTPパケットがフレーム尾部パケットであることを示す。Mの値が0である場合、そのことはRTPパケットがフレーム尾部パケットではないことを示す。
【０１６３】
RTPパケット・ヘッダ内のシーケンス番号（Sequence  number、SN）フィールドの値が、RTPストリーム中のRTPパケットのシーケンス番号を示し、同じRTPストリーム中のRTPパケットのシーケンス番号は単調に1ずつ増加する。RTPパケット・ヘッダは、さらにタイムスタンプ（Timestemp、TS）を含む。マルチメディア通信システムにおけるビデオ源装置（たとえば、テレビ制作および放送システム）は、クロック同期を維持し、同じ瞬間に送信されるRTPパケットにおけるタイムスタンプ・フィールドの値は非常に近い。よって、タイムスタンプ・フィールドの値は、異なるビデオ・ストリーム中のビデオ・フレームが同じ瞬間におけるビデオ・フレームであるかどうかを判定するために使用されてもよく、切り換え中に時間次元での同期を実現するよう、切り換え中に異なるビデオ・ストリームを整列させるために使用される。
【０１６４】
パケットaがフレーム尾部パケットであり、ビデオ・ストリームAの最初のフレーム尾部パケットであると判定された場合、パケットaのTSフィールドの値およびSNフィールドの値は、それぞれ、第1の切り換えテーブルのビデオ・ストリームAに対応するFT_TSフィールドおよびFT_SNフィールドに記録される。
【０１６５】
パケットaがフレーム尾部パケットであるが、ビデオ・ストリームAの最初のフレーム尾部パケットではないと判定された場合、パケットaのTSフィールドの値が、第1の切り換えテーブルのビデオ・ストリームAに対応するFT_TSフィールドの値と比較される。パケットaのTSフィールドの値が、第1の切り換えテーブルにおけるビデオ・ストリームAに対応するFT_TSフィールドの値より大きい場合、パケットaは、最後尾のフレーム尾部パケットである。したがって、第1の切り換えテーブルにおいてビデオ・ストリームAに対応するFT_TSフィールドの値およびFT_SNフィールドの値は、それぞれ、パケットaのTSフィールドの値およびSNフィールドの値に更新される。パケットaのTSフィールドの値が、第1の切り換えテーブルにおけるビデオ・ストリームAに対応するFT_TSフィールドの値より小さい場合、更新は実行されない。
【０１６６】
パケットaがフレーム尾部パケットでないと判定された場合、フレーム間乱れが発生するかどうかが判定される。諸パケットは、ネットワークにおいて伝送されているとき、乱れる可能性がある。パケットが通過する送信装置のプロセッサが、受領された諸パケットに対してマルチスレッドの並行処理を実行する場合は、それらのパケットは、処理中にも、乱れることがありうる。よって、フレームの非フレーム尾部パケットが、前のフレームのフレーム尾部パケットの前に送信装置に到着することがあり、あるいは前のフレームのフレーム尾部パケットの前に処理されることがある。フレームのパケットが前のフレームのフレーム尾部パケットより前に到着した場合、または前のフレームのフレーム尾部パケットより前に処理された場合、それは、フレーム間パケット乱れが発生したことを示す。
【０１６７】
パケットaがフレーム尾部パケットではなく、パケットaのシーケンス番号がビデオ・ストリームAの最後尾のフレーム尾部パケットのシーケンス番号とMの合計より大きい場合、すなわち、パケットaが前のフレームのフレーム尾部パケットより前に到着する場合、前のフレームのフレーム尾部パケットにおいて乱れまたはパケット損失が発生する可能性がある。この場合、FT_TSフィールドの値とTの和がフレーム尾部パケットの推定タイムスタンプとして使用されてもよく、FT_SNフィールドの値とMの和がフレーム尾部パケットの推定シーケンス番号として使用されてもよい。さらに、FT_TSフィールドの値とFT_SNフィールドの値は、推定タイムスタンプと推定シーケンス番号で更新される。ここで、FT_TSフィールドとFT_SNフィールドは、第1の切り換えテーブルにおけるビデオ・ストリームAに対応する。言い換えると、FT_TSフィールドの値はTだけ増加させられ、FT_SNフィールドの値はMだけ増加させられる。
【０１６８】
本発明の実施形態1によれば、本発明の実施形態2は、送信装置200を提供する。図5に示されるように、送信装置200は、処理ユニット210および通信ユニット220を含む。
【０１６９】
通信ユニット220は、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し；送信装置のターゲット出口ポートを通じて第1のビデオ・ストリームを送信し；切り換え命令を受信するように構成される。ここで、切り換え命令は、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示するために使用される。
【０１７０】
処理ユニット210は、前記切り換え命令に基づいて、前記第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報と、前記第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報とを決定し；前記第1の参照フレーム尾部パケットの切り換え参照情報に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、前記第2の参照フレーム尾部パケットの切り換え参照情報に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するように構成される。
【０１７１】
通信ユニット220は、さらに、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように構成される。
【０１７２】
本発明の実施形態2に記載される機能ユニットは、実施形態1の方法において、送信装置によって実行される動作を実装するように構成されてもよい。具体的には、通信ユニット220は、他の装置と通信するように、たとえば、制御信号を受信する、データ・パケットを受信する、データ・パケットを転送する、あるいはデータ・パケットを転送する際にデータ・パケット内の情報を修正するように構成される。処理ユニット210は、切り換え先ストリームの切り換えシーケンス番号および切り換え元ストリームの切り換えシーケンス番号等を決定するように構成される。
【０１７３】
処理ユニット210は、切り換えられる必要があるビデオ・ストリームの出口ポート（たとえば、前述のターゲット出口ポート）に別々に対応する複数の処理サブユニットを含んでいてもよい。通信ユニット220は、切り換えられる必要があるビデオ・ストリームの出口ポートに別々に対応する複数の送信サブユニットを含んでいてもよい。各出口ポートの処理サブユニットは、出口ポートの切り換え先ストリームの切り換えパケットの切り換え参照情報（たとえば、シーケンス番号）と、出口ポートの切り換え元ストリームの切り換えパケットの切り換え参照情報とを決定する。各出口ポートに対応する送信サブユニットは、出口ポートを通じて転送される必要のあるビデオ・ストリームのデータ・パケットを出口ポートを通じて転送し、出口ポートを通じて転送される必要のないビデオ・ストリームのデータ・パケットを直接破棄する。
【０１７４】
本発明の実施形態2において提供される送信装置200によれば、切り換えの前および後に送信されたデータ・パケットの位置がビデオ・ストリーム切り換え中に考慮されるため、切り換え動作によって送信されるビデオ画像に対して引き起こされる損傷が効果的に低減できる。
【０１７５】
本発明の実施形態1によれば、本発明の実施形態3は送信装置1000を提供する。図6に示されるように、送信装置1000は、プロセッサ1010およびポート1020を含む。
【０１７６】
プロセッサ1010は、本発明の実施形態1において提供される方法100において、送信装置によって実行される動作を実装するように構成される。プロセッサ1010は、ポート1020を通じて他の装置と通信する。プロセッサ1010は、具体的には、中央処理装置（central  processing  unit、CPU）または特定用途向け集積回路（Application  Specific  Integrated  Circuit、ASIC）であってもよく、または、本発明のこの実施形態を実装する一つまたは複数の集積回路として構成されてもよい。
【０１７７】
図6に示されるように、送信装置1000は、メモリ1030をさらに含んでいてもよい。プロセッサ1010とメモリ1030との間の通信は、バスを使用することによって完了されてもよい。メモリ1030は、コンピュータ動作命令を記憶するように構成され、具体的には、高速なランダムアクセスメモリ（Random  Access  Memory、RAM）または不揮発性メモリ（non-volatile  memory）であってもよい。プロセッサ1010は、具体的には、メモリ1030に記憶されたコンピュータ動作命令を実行してもよく、送信装置1000が実施形態1の方法において送信装置によって実行される動作を実行するように、コンピュータ動作命令を実行してもよい。具体的な実装の間、メモリ1030は、処理モジュール1031および通信モジュール1032を含んでいてもよく、これらは、それぞれ、図5に示される処理ユニット210および通信ユニット220の機能を実装するように構成される。対応して、プロセッサ1010は、具体的には、処理モジュール1031において命令を実行することによって処理ユニット210の機能を実現し、通信モジュール1032において命令を実行することによって通信ユニット220の機能を実現する。
【０１７８】
本発明の実施形態3において提供される送信装置1000によれば、切り換えの前および後に送信されたデータ・パケットの位置がビデオ・ストリーム切り換え中に考慮されるため、切り換え動作によって送信されるビデオ画像に対して引き起こされる損傷が効果的に低減できる。
【０１７９】
前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実装されうる。実施形態を実装するためにソフトウェアが使用される場合、実施形態は、完全にまたは部分的にコンピュータ・プログラム製品の形で実装されうる。コンピュータ・プログラム製品は、一つまたは複数のコンピュータ命令を含む。コンピュータ・プログラム命令がロードされ、コンピュータ上で実行される場合、本発明の実施形態による手順または機能が、すべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、あるいはあるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。コンピュータ可読記憶媒体は、コンピュータにとってアクセス可能な任意の使用可能な媒体でありうる。使用可能な媒体は、磁気媒体（たとえば、フロッピーディスク、ハードディスク、または磁気テープ）、光学式媒体（たとえば、DVD）、半導体媒体（たとえば、ソリッドステートドライブ（Solid  State  Disk、SSD））などであってもよい。
【図１】
2021535658.tif 000006
【図２】
2021535658.tif 000007
【図３Ａ】
2021535658.tif 000008
【図３Ｂ】
2021535658.tif 000009
【図３Ｃ】
2021535658.tif 000010
【図４Ａ】
2021535658.tif 000011
【図４Ｂ】
2021535658.tif 000012
【図４Ｃ】
2021535658.tif 000013
【図５】
2021535658.tif 000014
【図６】
2021535658.tif 000015
【手続補正書】
【提出日】令和3年4月5日(2021.4.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオ・ストリーム切り換えを実施するための方法であって：
送信装置によって、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領するステップと；
前記送信装置によって、ターゲット出口ポートを通じて前記第1のビデオ・ストリームを送信するステップと；
前記送信装置によって、切り換え命令を受信するステップであって、前記切り換え命令は、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるように指示するために使用される、ステップと；
前記送信装置によって、前記切り換え命令に従って、前記第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報および前記第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定するステップと；
前記送信装置によって、前記第1の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、前記第2の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するステップと；
前記送信装置によって、前記第1の切り換えパケットの前記切り換え参照情報および前記第2の切り換えパケットの前記切り換え参照情報に基づいて、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるステップとを含む、
方法。
【請求項２】
前記第1の参照フレーム尾部パケットおよび前記第2の参照フレーム尾部パケットはそれぞれ、前記第1の参照フレーム尾部パケットの前記切り換え参照情報および前記第2の参照フレーム尾部パケットの前記切り換え参照情報が決定される前に受領される、前記第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび前記第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであり、xは自然数である、請求項１に記載の方法。
【請求項３】
xの値が1であり；
前記第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、前記第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである、
請求項２に記載の方法。
【請求項４】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、シーケンス番号を含む、
請求項１ないし３のうちいずれか一項に記載の方法。
【請求項５】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、タイムスタンプを含む、
請求項１ないし４のうちいずれか一項に記載の方法。
【請求項６】
前記第1の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットのシーケンス番号を決定することが：前記第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号を、前記第1の参照フレーム尾部パケットの前記シーケンス番号および前記第1のビデオ・ストリームと前記第２のビデオ・ストリームの間の同期関係に基づいて決定し、前記第1の整列フレーム尾部パケットの前記シーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として使用すること；または、前記第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として決定することを含み；
前記第2の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットのシーケンス番号を決定することが：前記第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号を、前記第2の参照フレーム尾部パケットの前記シーケンス番号および前記同期関係に基づいて決定し、前記第2の整列フレーム尾部パケットの前記シーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として使用すること；または、前記第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として決定することを含み、前記第1の整列フレーム尾部パケットおよび前記第2の整列フレーム尾部パケットは時間的に対応するフレーム尾部パケットである、
請求項４に記載の方法。
【請求項７】
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームよりも早いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とm×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号と(m+1)×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、mは自然数である；
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームより遅いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号と(n+1)×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とn×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、nは自然数である；または
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームと同期しているというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とk×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とk×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、kは自然数である、
請求項６に記載の方法。
【請求項８】
前記送信装置が、前記第1の参照フレーム尾部パケットのタイムスタンプおよび前記第2の参照フレーム尾部パケットのタイムスタンプに基づいて、前記第1のビデオ・ストリームと前記第2のビデオ・ストリームとの間の前記同期関係を判定する、請求項６または７に記載の方法。
【請求項９】
前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値が、前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第1のビデオ・ストリームのデータ・パケット内の第1のフィールドの値と同じであり、前記第1のフィールドはマルチキャスト・アドレス・フィールドまたはペイロード・タイプ・フィールドである、請求項1ないし８のうちいずれか一項に記載の方法。
【請求項１０】
前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第2のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値が、前記ターゲット出口ポートを通じて前記送信装置によって送信される前記第1のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値と連続しており、前記第2のフィールドはシーケンス番号フィールド、フレーム番号フィールドまたはタイムスタンプ・フィールドである、請求項1ないし９のうちいずれか一項に記載の方法。
【請求項１１】
送信装置であって、当該送信装置は処理ユニットおよび通信ユニットを有しており、
前記通信ユニットは：第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し；当該送信装置のターゲット出口ポートを通じて前記第1のビデオ・ストリームを送信し；切り換え命令を受信するよう構成されており、前記切り換え命令は、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるように指示するために使用され；
前記処理ユニットは：前記切り換え命令に従って、前記第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報および前記第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定し；前記第1の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、前記第2の参照フレーム尾部パケットの前記切り換え参照情報に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するよう構成されており；
前記通信ユニットはさらに、前記第1の切り換えパケットの前記切り換え参照情報および前記第2の切り換えパケットの前記切り換え参照情報に基づいて、前記ターゲット出口ポートを通じて送信される前記第1のビデオ・ストリームから前記第2のビデオ・ストリームに切り換えるよう構成されている、
送信装置。
【請求項１２】
前記第1の参照フレーム尾部パケットおよび前記第2の参照フレーム尾部パケットはそれぞれ、前記第1の参照フレーム尾部パケットの前記切り換え参照情報および前記第2の参照フレーム尾部パケットの前記切り換え参照情報が決定される前に受領される、前記第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび前記第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであり、xは自然数である、請求項１１に記載の送信装置。
【請求項１３】
xの値が1であり；
前記第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、前記第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、前記第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである、
請求項１２に記載の送信装置。
【請求項１４】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、シーケンス番号を含む、
請求項１１ないし１３のうちいずれか一項に記載の方法。
【請求項１５】
前記第1の参照フレーム尾部パケットの前記切り換え参照情報、前記第2の参照フレーム尾部パケットの前記切り換え参照情報、前記第1の切り換えパケットの前記切り換え参照情報、および前記第2の切り換えパケットの前記切り換え参照情報は、それぞれ、タイムスタンプを含む、
請求項１１ないし１４のうちいずれか一項に記載の方法。
【請求項１６】
前記処理ユニットが、前記第1の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットのシーケンス番号を決定するよう構成されていることが：前記第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号を、前記第1の参照フレーム尾部パケットの前記シーケンス番号および前記第1のビデオ・ストリームと前記第２のビデオ・ストリームの間の同期関係に基づいて決定し、前記第1の整列フレーム尾部パケットの前記シーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として使用すること；または、前記第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第1の切り換えパケットの前記シーケンス番号として決定することを含み；
前記処理ユニットが、前記第2の参照フレーム尾部パケットの前記シーケンス番号に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットのシーケンス番号を決定するよう構成されていることが：前記第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号を、前記第2の参照フレーム尾部パケットの前記シーケンス番号および前記同期関係に基づいて決定し、前記第2の整列フレーム尾部パケットの前記シーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として使用すること；または、前記第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号を、前記第2の切り換えパケットの前記シーケンス番号として決定することを含み、前記第1の整列フレーム尾部パケットおよび前記第2の整列フレーム尾部パケットは時間的に対応するフレーム尾部パケットである、
請求項１４に記載の送信装置。
【請求項１７】
前記処理ユニットが：
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームよりも早いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とm×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号と(m+1)×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定するステップであって、M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、mは自然数である、ステップ；
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームより遅いというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号と(n+1)×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とn×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定するステップであって、M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、nは自然数である、ステップ；または
前記同期関係が、前記第1のビデオ・ストリームが前記第2のビデオ・ストリームと同期しているというものであると判定するとき、前記第1の参照フレーム尾部パケットの前記シーケンス番号とk×M1の和を前記第1の整列フレーム尾部パケットの前記シーケンス番号として決定し、前記第2の参照フレーム尾部パケットの前記シーケンス番号とk×M2の和を前記第2の整列フレーム尾部パケットの前記シーケンス番号として決定し；M1は前記第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は前記第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、kは自然数である、ステップ
を実行するように構成されている、請求項１６に記載の送信装置。
【請求項１８】
前記処理ユニットが、前記第1の参照フレーム尾部パケットのタイムスタンプおよび前記第2の参照フレーム尾部パケットのタイムスタンプに基づいて、前記第1のビデオ・ストリームと前記第2のビデオ・ストリームとの間の前記同期関係を判定するように構成されている、請求項１６または１７に記載の送信装置。
【請求項１９】
前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値が、前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第1のビデオ・ストリームのデータ・パケット内の第1のフィールドの値と同じであり、前記第1のフィールドはマルチキャスト・アドレス・フィールドまたはペイロード・タイプ・フィールドである、請求項1１ないし１８のうちいずれか一項に記載の送信装置。
【請求項２０】
前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第2のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値が、前記ターゲット出口ポートを通じて前記通信ユニットによって送信される前記第1のビデオ・ストリームの前記データ・パケット内の第2のフィールドの値と連続しており、前記第2のフィールドはシーケンス番号フィールド、フレーム番号フィールドまたはタイムスタンプ・フィールドである、請求項1１ないし１９のうちいずれか一項に記載の送信装置。
【請求項２１】
ビデオ・ストリーム切り換えを実装するためのシステムであって、当該システムは、コントローラと、請求項１１ないし２０のうちいずれか一項に記載の送信装置とを有しており、
前記コントローラは、前記送信装置に切り換え命令を送信するように構成される、
システム。
【請求項２２】
命令を有するコンピュータ可読記憶媒体であって、前記命令がコンピュータ上で実行されると、前記コンピュータは、請求項１ないし１０のうちいずれか一項に記載の方法を実行できるようにされる、記憶媒体。
【請求項２３】
プログラムであって、当該プログラムが通信装置によって実行されると、前記通信装置は、請求項１ないし１０のうちいずれか一項に記載の通信方法を実行できるようにされる、プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、マルチメディア通信技術の分野に関し、特に、ビデオ・ストリーム切り換えを実装するための方法、装置、およびシステムに関する。
【背景技術】
【０００２】
マルチメディア通信技術の分野では、たとえばテレビジョン（Television、TV）制作および放送の分野において、異なるビデオ源装置によって送信されるビデオ・ストリームを切り換えるシナリオがある。たとえば、サッカーの試合のライブ放送中に、スタジアムの異なる位置を撮影することによって得られた受領されたビデオ・ストリームが送信装置（たとえばルーター）上で切り換えられてもよく、それにより、異なるアングルでのスタジアムのビデオ画像がビデオ端末上での表示のために切り換えられる。
【０００３】
従来のテレビ制作および放送の分野では、ビデオ・ストリームは、通例、シリアルデジタルインターフェース（serial  digital  interface、SDI）フォーマットで伝送される。SDI信号を伝送するために使用される同軸ケーブルの最大長は通例制限され、同軸ケーブルは比較的高価である。よって、テレビ制作および放送の分野では、インターネットプロトコル（Internet  Protocol、IP）ネットワークを用いて、ビデオ・ストリームが伝送されてきた。たとえば、SDI信号はIPパケットを用いて伝送される。
【０００４】
IPネットワークを使用して伝送されるビデオ・ストリームを切り換えるための従来技術では、ビデオ・ストリームを切り換える必要があると判断するとき、送信装置は切り換え元ビデオ・ストリームのデータ・パケットの送信を停止し、切り換え先ビデオ・ストリームのデータ・パケットの送信を開始する。
【０００５】
従来技術におけるビデオ・ストリーム切り換えは、通例、ビデオ画像に損傷を引き起こす。
【発明の概要】
【０００６】
本発明の実施形態は、ビデオ・ストリーム切り換えがビデオ画像に損傷を引き起こすという従来技術の問題を解決するようビデオ・ストリーム切り換えを実施するための方法、装置、およびシステムを提供する。
【０００７】
第1の側面によれば、ビデオ・ストリーム切り換えを実施するための方法が提供される。本方法は、送信装置によって、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領するステップと；ターゲット出口ポートを通じて第1のビデオ・ストリームを送信するステップと；ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示するために使用される切り換え命令を受領した後、切り換え命令に従って、第1のビデオ・ストリームの第1の参照フレーム尾部〔トレーラー〕パケットの切り換え参照情報（たとえば、シーケンス番号）および第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定するステップと；第1の参照フレーム尾部パケットの切り換え参照情報に基づいて第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、第2の参照フレーム尾部パケットの切り換え参照情報に基づいて第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するステップと；第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるステップとを含む。第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、または、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【０００８】
第1の側面の実装において、切り換え元ストリーム（すなわち、第1のビデオ・ストリーム）の切り換えパケットの切り換え参照情報（たとえば、シーケンス番号）および切り換え先ストリーム（すなわち、第2のビデオ・ストリーム）の切り換え参照情報は、切り換え元ストリームのフレーム尾部パケットの切り換え参照情報および切り換え先ストリームのフレーム尾部パケットの切り換え参照情報に基づいて決定され、ビデオ・ストリーム切り換えは、切り換え元ストリームの切り換えパケットの切り換え参照情報および切り換え先ストリームの切り換えパケットの切り換え参照情報に基づいて実行される。切り換えの前および後に送られるデータ・パケットの位置がビデオ・ストリーム切り換えの間に考慮されるので、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に軽減することができる。
【０００９】
第1の側面の第1の実装では、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットはそれぞれ、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報が決定される前に受領される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであってもよく、ここでxは自然数であり、1であってもよい。
【００１０】
この実装で決定される第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプは、比較的近い。よって、タイムスタンプが比較的一貫している第1の切り換えパケットおよび第2の切り換えパケットが、より正確に決定でき、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減することができる。
【００１１】
第1の側面の第1の実装に基づき、第1の側面の第2の実装では、xの値は1であり；第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである。第1の切り換えパケットのシーケンス番号は、第1の参照フレーム尾部パケットのシーケンス番号と、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよく、第2の切り換えパケットのシーケンス番号は、第2の参照フレーム尾部パケットのシーケンス番号と、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよい。第1の切り換えパケットの決定されたシーケンス番号と第1の参照フレーム尾部パケットのシーケンス番号との間の差は、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよく、第2の切り換えパケットの決定されたシーケンス番号と第2の参照フレーム尾部パケットのシーケンス番号との間の差は、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよい。第1の切り換えパケットのタイムスタンプは、第1の参照フレーム尾部パケットのタイムスタンプと、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよく、第2の切り換えパケットのタイムスタンプは、第2の参照フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよい。第1の切り換えパケットの決定されたタイムスタンプと第1の参照フレーム尾部パケットのタイムスタンプとの間の差は、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよく、第2の切り換えパケットの決定されたタイムスタンプと第2の参照フレーム尾部パケットのタイムスタンプとの間の差は、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよい。
【００１２】
この実装では、ビデオ・ストリーム切り換えは、現在送信されているビデオ画像に対する損傷を効果的に回避するために、参照フレーム尾部パケットより少なくとも1フレーム後の位置で実行される。
【００１３】
第1の側面または第1の側面の第1もしくは第2の実装に基づき、第1の側面の第3の実装では、第1の切り換えパケットの切り換え参照情報は、第1の参照フレーム尾部パケットの切り換え参照情報および第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係に基づいて決定されてもよく、第2の切り換えパケットの切り換え参照情報は、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定されてもよい。
【００１４】
この実装では、第1の切り換えパケットの切り換え参照情報と第2の切り換えパケットの切り換え参照情報が計算される際に、ビデオ・ストリーム間の同期関係が考慮される。よって、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減するよう、ビデオ・ストリーム切り換えがより正確に実行できる。
【００１５】
第1の側面の第3の実装に基づき、第1の側面の第4の実装では、第1のビデオ・ストリームの第1の整列フレーム尾部パケットの切り換え参照情報は、第1の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定されてもよく、第1の切り換えパケットの切り換え参照情報は、第1の整列フレーム尾部パケットの切り換え参照情報に基づいて決定されてもよく；第2のビデオ・ストリームの第2の整列フレーム尾部パケットの切り換え参照情報は、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいてさらに決定されてもよく、第2の切り換えパケットの切り換え参照情報は、第2の整列フレーム尾部パケットの切り換え参照情報に基づいてさらに決定されてもよい。第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。
【００１６】
この実装では、同期関係が考慮されるときに決定される第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。よって、第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットに基づいてそれぞれ決定される第1の切り換えパケットおよび第2の切り換えパケットもまた、時間的に対応しており、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００１７】
第1の側面の第4の実装に基づき、第1の側面の第5の実装では、第1の整列フレーム尾部パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として直接使用されてもよく、第2の整列フレーム尾部パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として直接使用されてもよい。換言すれば、第1の整列フレーム尾部パケットが第1の切り換えパケットとして直接使用され、第2の整列フレーム尾部パケットが第2の切り換えパケットとして直接使用される。
【００１８】
この実装では、ビデオ・ストリーム切り換えは、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に回避するよう、ビデオ・フレームの境界で実行されてもよい。
【００１９】
第1の側面の第4の実装に基づき、第1の側面の第6の実装では、第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として決定されてもよく、第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として決定されてもよい。
【００２０】
この実装では、ビデオ・ストリーム切り換えは、ビデオ・フレームのブランキング領域をカプセル化するためのデータ・パケットにおいて実行されてもよい。ブランキング領域データは有効なビデオ・データではなく、人間の目には見えないため、有効なビデオ・データへの損傷を回避することができる。
【００２１】
切り換え参照情報がシーケンス番号を含むことが、例として使用される。具体的な実装の間に、同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いというものであると判定された場合、第1の参照フレーム尾部パケットのシーケンス番号とm×M1の和が第1の整列フレーム尾部パケットのシーケンス番号として決定されてもよく、第2の参照フレーム尾部パケットのシーケンス番号と(m+1)×M2の和が第2の整列フレーム尾部パケットのシーケンス番号として決定されてもよい。あるいはまた、同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームより遅いというものであると判定された場合には、第1の参照フレーム尾部パケットのシーケンス番号と(n+1)×M1の和が第1の整列フレーム尾部パケットのシーケンス番号として決定され、第2の参照フレーム尾部パケットのシーケンス番号とn×M2の和が第2の整列フレーム尾部パケットのシーケンス番号として決定される。あるいはまた、同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームと同期しているというものであると判定された場合、第1の参照フレーム尾部パケットのシーケンス番号とk×M1の和が第1の整列フレーム尾部パケットのシーケンス番号として決定されてもよく、第2の参照フレーム尾部パケットのシーケンス番号とk×M2の和が第2の整列フレーム尾部パケットのシーケンス番号として決定されてもよい。ここで、M1は第1のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、M2は第2のビデオ・ストリームのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量であり、m、n、kはすべて自然数である。
【００２２】
第1の側面の第3ないし第6の実装のいずれかに基づき、第1の側面の第7の実装では、送信装置は、第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプに基づいて、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を判定してもよい。
【００２３】
この実装において、同期関係は、第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとに基づいて決定されるので、同期関係は、送信装置が第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとを受領したときの同期状態を反映してもよい。よって、第1の参照フレーム尾部パケットの切り換え参照情報と、第2の参照フレーム尾部パケットの切り換え参照情報と、同期関係との組み合わせに基づいて決定される、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００２４】
装置同期の精度ずれのために、異なるビデオ源装置によって同じ瞬間に送信されるデータ・パケットのタイムスタンプの間のずれがあることがありうる。加えて、情報はIPネットワークにおいて1つのパケットにおいて伝送され、パケット転送のジッタは若干の同期ずれを引き起こす可能性がある。よって、2つのビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプ間のずれが事前設定された時間差閾値より小さい場合、2つのビデオ・ストリームが同期していると考えられてもよい。
【００２５】
対応して、t1−t2＞Δt1であると判定するときに、送信装置は、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いと判定してもよい。あるいはまた、t2−t1＞Δt1であると判定するときに、送信装置は、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いと判定してもよい。あるいはまた、｜t1−t2｜＜Δt2であると判定するときに、送信装置は、第1のビデオ・ストリームが第2のビデオ・ストリームと同期していると判定してもよい。ここで、t1は第1の参照フレーム尾部パケットのタイムスタンプであり、t2は第2の参照フレーム尾部パケットのタイムスタンプであり、Δt1は事前設定された第1の時間差閾値であり、Δt2は事前設定された第2の時間差閾値であり、Δt1とΔt2の両方は0より大きくTより小さい値であり、Δt2はΔt1以下であってもよい。さらに、Δt1およびΔt2は、T/2＜Δt1＜Tであるように事前設定されてもよい。たとえば、Δt1は3×T/4であってもよく、0＜Δt2＜T/2である。たとえば、Δt2はT/4であってもよく、Tは単一のビデオ・フレームの継続時間である。
【００２６】
この実装において、判別された同期関係は、装置同期の精度ずれ、パケット転送のジッタ等の影響を排除し、ビデオ・ストリーム間の実際の同期状態をより良好に反映することができ、第1の切り換えパケットの決定された切り換え参照情報および第2の切り換えパケットの決定された切り換え参照情報も、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００２７】
第2の側面によれば、送信装置が提供される。送信装置は、処理ユニットおよび通信ユニットを含む。
【００２８】
通信ユニットは：第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し；送信装置のターゲット出口ポートを通じて第1のビデオ・ストリームを送信し；切り換え命令を受領するよう構成される。切り換え命令は、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示するために使用される。処理ユニットは：切り換え命令に従って、第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報（たとえば、シーケンス番号）および第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報を決定し；第1の参照フレーム尾部パケットの切り換え参照情報に基づいて第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、第2の参照フレーム尾部パケットの切り換え参照情報に基づいて第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するよう構成される。通信ユニットは、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるようさらに構成される。第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、または、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【００２９】
第2の側面の実装において、切り換え元ストリーム（すなわち、第1のビデオ・ストリーム）の切り換えパケットの切り換え参照情報（たとえば、シーケンス番号）および切り換え先ストリーム（すなわち、第2のビデオ・ストリーム）の切り換え参照情報は、切り換え元ストリームのフレーム尾部パケットの切り換え参照情報および切り換え先ストリームのフレーム尾部パケットの切り換え参照情報に基づいて決定され、ビデオ・ストリーム切り換えは、切り換え元ストリームの切り換えパケットの切り換え参照情報および切り換え先ストリームの切り換えパケットの切り換え参照情報に基づいて実行される。切り換えの前および後に送られるデータ・パケットの位置がビデオ・ストリーム切り換えの間に考慮されるので、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に軽減することができる。
【００３０】
第2の側面の第1の実装では、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットはそれぞれ、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報が決定される前に受領される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットであってもよく、ここでxは自然数であり、1であってもよい。
【００３１】
この実装で決定される第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプは、比較的近い。よって、タイムスタンプが比較的一貫している第1の切り換えパケットおよび第2の切り換えパケットが、より正確に決定でき、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減することができる。
【００３２】
第2の側面の第1の実装に基づき、第2の側面の第2の実装では、xの値は1であり；第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第2の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである。
【００３３】
この実装では、ビデオ・ストリーム切り換えは、現在送信されているビデオ画像に対する損傷を効果的に回避するために、参照フレーム尾部パケットより少なくとも1フレーム後の位置で実行される。
【００３４】
第2の側面または第2の側面の第1もしくは第2の実装に基づき、第2の側面の第3の実装では、処理ユニットは、第1の切り換えパケットの切り換え参照情報を、第1の参照フレーム尾部パケットの切り換え参照情報および第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係に基づいて決定してもよく、第2の切り換えパケットの切り換え参照情報を、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定してもよい。
【００３５】
この実装では、第1の切り換えパケットの切り換え参照情報と第2の切り換えパケットの切り換え参照情報が計算される際に、ビデオ・ストリーム間の同期関係が考慮される。よって、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減するよう、ビデオ・ストリーム切り換えがより正確に実行できる。
【００３６】
第2の側面の第3の実装に基づき、第2の側面の第4の実装では、処理ユニットは、第1のビデオ・ストリームの第1の整列フレーム尾部パケットの切り換え参照情報を、第1の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定してもよく、第1の切り換えパケットの切り換え参照情報を、第1の整列フレーム尾部パケットの切り換え参照情報に基づいて決定してもよく；処理ユニットはさらに、第2のビデオ・ストリームの第2の整列フレーム尾部パケットの切り換え参照情報を、第2の参照フレーム尾部パケットの切り換え参照情報および前記同期関係に基づいて決定し、第2の切り換えパケットの切り換え参照情報を、第2の整列フレーム尾部パケットの切り換え参照情報に基づいて決定してもよい。第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。
【００３７】
この実装では、同期関係が考慮されるときに決定される第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。よって、第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットに基づいてそれぞれ決定される第1の切り換えパケットおよび第2の切り換えパケットもまた、時間的に対応しており、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００３８】
第2の側面の第4の実装に基づき、第2の側面の第5の実装では、処理ユニットは、第1の整列フレーム尾部パケットの切り換え参照情報を、第1の切り換えパケットの切り換え参照情報として直接使用してもよく、第2の整列フレーム尾部パケットの切り換え参照情報を、第2の切り換えパケットの切り換え参照情報として使用してもよい。換言すれば、処理ユニットは、第1の整列フレーム尾部パケットを第1の切り換えパケットとして直接使用し、第2の整列フレーム尾部パケットを第2の切り換えパケットとして使用する。
【００３９】
この実装では、ビデオ・ストリーム切り換えは、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷を効果的に回避するよう、ビデオ・フレームの境界で実行されてもよい。
【００４０】
第2の側面の第4の実装に基づき、第2の側面の第6の実装では、処理ユニットは、第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報を、第1の切り換えパケットの切り換え参照情報として決定してもよく、第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報を、第2の切り換えパケットの切り換え参照情報として決定してもよい。
【００４１】
この実装では、ビデオ・ストリーム切り換えは、ビデオ・フレームのブランキング領域をカプセル化するためのデータ・パケットにおいて実行されてもよい。ブランキング領域データは有効なビデオ・データではなく、人間の目には見えないため、有効なビデオ・データへの損傷を回避することができる。
【００４２】
第2の側面の第3ないし第6の実装のいずれかに基づき、第2の側面の第7の実装では、送信装置は、第1の参照フレーム尾部パケットのタイムスタンプおよび第2の参照フレーム尾部パケットのタイムスタンプに基づいて、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を判定してもよい。
【００４３】
この実装において、同期関係は、第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとに基づいて決定されるので、同期関係は、送信装置が第1の参照フレーム尾部パケットと第2の参照フレーム尾部パケットとを受領したときの同期状態を反映してもよい。よって、第1の参照フレーム尾部パケットの切り換え参照情報と、第2の参照フレーム尾部パケットの切り換え参照情報と、同期関係との組み合わせに基づいて決定される、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００４４】
装置同期の精度ずれのために、異なるビデオ源装置によって同じ瞬間に送信されるデータ・パケットのタイムスタンプの間のずれがあることがありうる。加えて、情報はIPネットワークにおいて1つのパケットにおいて伝送され、パケット転送のジッタは若干の同期ずれを引き起こす可能性がある。よって、2つのビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプ間のずれが事前設定された時間差閾値より小さい場合、2つのビデオ・ストリームが同期していると考えられてもよい。
【００４５】
対応して、t1−t2＞Δt1であると判定するときに、処理ユニットは、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いと判定してもよい。あるいはまた、t2−t1＞Δt1であると判定するときに、処理ユニットは、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いと判定してもよい。あるいはまた、｜t1−t2｜＜Δt2であると判定するときに、処理ユニットは、第1のビデオ・ストリームが第2のビデオ・ストリームと同期していると判定してもよい。ここで、t1は第1の参照フレーム尾部パケットのタイムスタンプであり、t2は第2の参照フレーム尾部パケットのタイムスタンプであり、Δt1は事前設定された第1の時間差閾値であり、Δt2は事前設定された第2の時間差閾値であり、Δt1とΔt2の両方は0より大きくTより小さい値であり、Δt2はΔt1以下であってもよい。さらに、Δt1およびΔt2は、T/2＜Δt1＜Tであるように事前設定されてもよい。たとえば、Δt1は3×T/4であってもよく、0＜Δt2＜T/2である。たとえば、Δt2はT/4であってもよく、Tは単一のビデオ・フレームの継続時間である。
【００４６】
この実装において、判別された同期関係は、装置同期の精度ずれ、パケット転送のジッタ等の影響を排除し、ビデオ・ストリーム間の実際の同期状態をより良好に反映することができ、第1の切り換えパケットの決定された切り換え参照情報および第2の切り換えパケットの決定された切り換え参照情報も、ビデオ・ストリーム間の実際の同期状態に、より適合し、それにより、送信されるビデオ画像に対して切り換え動作によって引き起こされる損傷をさらに軽減する。
【００４７】
第3の側面によれば、ビデオ・ストリーム切り換えを実施するためのシステムが提供される。本システムは、コントローラと、第2の側面または第2の側面のいずれかの実装における送信装置とを含む。コントローラは、送信装置に切り換え命令を送信するように構成される。
【００４８】
第4の側面によれば、コンピュータ読み取り可能記憶媒体が提供される。コンピュータ読み取り可能記憶媒体は命令を記憶し、該命令がコンピュータ上で実行されるときに、該コンピュータは、第1の側面または第1の側面のいずれかの実装における方法を実行できるようにされる。
【００４９】
第5の側面によれば、命令を含むコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品がコンピュータ上で実行されるとき、該コンピュータは、第1の側面または第1の側面のいずれかの実装における方法を実行できるようにされる。
【図面の簡単な説明】
【００５０】
本発明の実施形態における技術的解決策をより明確に説明するために、下記は、実施形態のために必要とされる添付図面を簡単に説明する。
【００５１】
【図１】本発明のある実施形態によるマルチメディア通信システム100のネットワーク接続の概略構造図である。
【００５２】
【図２】本発明のある実施形態による方法100の概略フローチャートである。
【００５３】
【図３】図3A〜図3Cは、本発明のある実施形態による切り換えの概略図である。
【図４】図4A〜図4Cは、本発明のある実施形態による切り換えの概略図である。
【００５４】
【図５】本発明の実施形態2による送信装置200の概略構造図である。
【００５５】
【図６】本発明の実施形態3による送信装置1000の概略構造図である。
【発明を実施するための形態】
【００５６】
下記は、添付の図面を参照して、本発明の実施形態を説明する。
【００５７】
図1は、本発明のある実施形態によるマルチメディア通信システム100のネットワーク接続の概略構造図である。マルチメディア通信システム100は、ビデオ源装置110および送信装置120を含む。ビデオ源装置110は、送信装置120を通じてビデオ端末にビデオ・ストリームを送信する。送信装置120は、複数のビデオ源装置110からビデオ・ストリームを受領し、それらのビデオ・ストリームのうちの1つのみをビデオ端末に転送してもよく、さらに転送されるビデオ・ストリームを切り換えてもよい。送信装置120は、スイッチ、ルーター等であってもよい。ビデオ源装置は、IPカメラ、ビデオ・データに対してIPカプセル化および伝送を実行する装置などであってもよい。マルチメディア通信システム100は、テレビ制作および放送システム、たとえば、IPネットワーク上で搬送されるビデオ・ストリームに対するネット切り換え要求を有するシステム、たとえば、マスター制御システム、スタジオシステム、またはテレビ局制作および放送ネットワークの放送システムであってもよい。
【００５８】
図1に示されるように、マルチメディア通信システム100は、コントローラ（Controller）130をさらに含んでいてもよい。コントローラ130は、ビデオ・ストリーム切り換えを実行するように送信装置120に命令するために使用される切り換え命令を送信装置120に送信するように構成される。対応して、送信装置120は、切り換え命令を受信した後、ビデオ・ストリーム切り換えを実行する。
【００５９】
本発明のこの実施形態では、ビデオの各ビデオ・フレームは、伝送のために複数のデータ・パケットにカプセル化される。以後、各ビデオ・フレームがカプセル化される複数のデータ・パケットのうちの最後のデータ・パケットは、フレーム尾部〔トレーラー〕パケットと呼ばれる。本発明のこの実施形態におけるデータ・パケットは、シーケンス番号および／またはタイムスタンプ、およびそのデータ・パケットがフレーム尾部パケットであるかどうかを判定するために使用される情報を担持し、リアルタイムトランスポートプロトコル（Real-time  Transport  Protocol、RTP）パケット、独自プロトコル・ベースのパケットなどであってもよい。規格、映画テレビ技術者協会（The  Society  of  Motion  Picture  and  Television  Engineers、SMPTE）2022および規格SMPTE  2110では、RTPが制作および放送ネットワークのオーディオおよびビデオ・データを搬送するために使用される。たとえば、規格SMPTE  2022-6（Transport  of  High  Bit  Rate  Media  Signals  over  IP  Network［IPネットワークを通じた高ビットレートのメディア信号の転送］、HBRMT）では、SDIフォーマットのビデオ・データがRTPを使用してカプセル化され、IPベースのネットワークを通じて伝送される。
【００６０】
本発明のこの実施形態におけるビデオ・フレームは、非圧縮ビデオ・フレームであり、YUVビデオ・フレームまたはRGBビデオ・フレームでありうる。1つのビデオ・ストリームの単一のビデオ・フレームのパケットの量（すなわち、ビデオ・ストリームの1つのビデオ・フレームをカプセル化するために必要とされるデータ・パケットの量）は、通例、変更されないままであり、事前設定されてもよく、または受領されるビデオ・ストリームの2つの隣り合うフレーム尾部パケットのシーケンス番号の間の差に基づいて計算されてもよく、通例、数千のパケットが存在してもよい。1つのビデオ・ストリームの単一のビデオ・フレームの継続時間は、通例、変更されないままであり、事前設定されてもよく、または受領されるビデオ・ストリームの2つの隣り合うフレーム尾部パケットのタイムスタンプの間の差に基づいて計算されてもよい。
【００６１】
本発明のこの実施形態における切り換えパケットは、切り換え位置におけるデータ・パケットである。切り換えパケットの切り換え参照情報は、切り換えパケット内にあり、ビデオ・ストリーム切り換えのために使用される情報であり、切り換えパケットのシーケンス番号（これは、以後、略して切り換えシーケンス番号と称されることがある）および切り換えパケットのタイムスタンプ（これは、以後、略して切り換えタイムスタンプと称されることがある）のうちの少なくとも1つを含んでいてもよい。ビデオ・ストリーム切り換えの間、切り換えは、切り換え元ビデオ・ストリーム（以後、略して切り換え元ストリームと称する）の切り換えパケットの切り換え参照情報と、切り換え先ビデオ・ストリーム（以後、略して切り換え先ストリームと称する）の切り換えパケットの切り換え参照情報とに基づいて実行される。たとえば、切り換え元ストリームについては、切り換え元ストリームの切り換えシーケンス番号より大きいシーケンス番号をもつデータ・パケットは転送されない。切り換え先ストリームについては、切り換え先ストリームの切り換えシーケンス番号より大きいシーケンス番号をもつデータ・パケットが転送され始める。
【００６２】
下記は、図2、図3A〜図3C、図4A〜図4Cを参照して、本発明の実施形態1において提供される方法100を説明する。図2は、本発明の実施形態1による方法の概略フローチャートである。本発明の実施形態1における方法は、図1に示されるマルチメディア通信システム100に適用されてもよく、送信装置によって実行される。
【００６３】
図2に示されるように、方法100は、以下のステップを含む。
【００６４】
S110。送信装置（図1に示される送信装置120）は、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し、送信装置のターゲット出口ポートを通じて第1のビデオ・ストリームを送信する。
【００６５】
送信装置は、受領された第1のビデオ・ストリームのデータ・パケットをターゲット出口ポートを通じて転送するが、受領された第2のビデオ・ストリームのデータ・パケットはターゲット出口ポートを通じて転送しない。
【００６６】
送信装置は、ターゲット出口ポートに対応する複数のビデオ・ストリームを受領し、該複数のビデオ・ストリームのうちの1つをターゲット出口ポートを通じて送信し、前記複数のビデオ・ストリームのうちで、ターゲット出口ポートを通じて送信されるビデオ・ストリームを切り換えることができる。第1のビデオ・ストリームは、ステップS110が実行されるときにターゲット出口ポートを通じて現在送信されているビデオ・ストリームであり、第2のビデオ・ストリームは、前記複数のビデオ・ストリームにおける第1のビデオ・ストリーム以外のビデオ・ストリームである。
【００６７】
S120。送信装置は、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるよう指示するために使用される切り換え命令を受領する。
【００６８】
切り換え命令は、コントローラ（図1に示されるコントローラ130）から受領されてもよい。
【００６９】
切り換え命令は、送信装置に、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示する、すなわち、送信装置に、第1のビデオ・ストリームをターゲット出口ポートを通じて転送することを止め、第2のビデオ・ストリームをターゲット出口ポートを通じて転送することを開始するよう指示するために、ターゲット出口ポートのポート番号と、第1のビデオ・ストリームの識別子（たとえば、第1のビデオ・ストリームのマルチキャスト・アドレス）と、第2のビデオ・ストリームの識別子（たとえば、第2のビデオ・ストリームのマルチキャスト・アドレス）とを含んでいてもよい。
【００７０】
S130。送信装置は、切り換え命令に従って、第1のビデオ・ストリームの参照フレーム尾部パケット（以後、第1の参照フレーム尾部パケットと称される）の切り換え参照情報と、第2のビデオ・ストリームの参照フレーム尾部パケット（以後、第2の参照フレーム尾部パケットと称される）の切り換え参照情報とを決定する。
【００７１】
第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報は、それぞれシーケンス番号またはタイムスタンプであってもよく、またはそれぞれシーケンス番号およびタイムスタンプを含んでいてもよい。
【００７２】
ステップS130が実行される前に受信される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットが、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定されてもよく、ここでxは自然数であり、xの値は1であってもよい。xが1である場合は、ステップS130が実行されるとき、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの参照フレーム尾部パケットは、そのビデオ・ストリームの最後尾のフレーム尾部パケットと称されてもよい。
【００７３】
具体的な実装の間、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報は、送信装置が切り換え命令を受領する時刻に基づいて決定されてもよい。下記は、2つの例示的実装を示す。
【００７４】
実装M：ステップS130は、切り換え命令が受領された直後に実行される。換言すれば、ステップS120を実行する時間は、ステップS130を実行する時間に非常に近い。この場合、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットの切り換え参照情報および第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットの切り換え参照情報が、それぞれ、第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報として決定されうる。ここで、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットは、切り換え命令が受領される前に受領される。換言すれば、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットは、それぞれ、切り換え命令が受信される前に受信される、第1のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットおよび第2のビデオ・ストリームの(x−1)個を除いて最後のフレーム尾部パケットである。xが1である場合の第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットが、図3A〜図3Cに示されている。図3Aに示されるように、フレーム尾部パケット101およびフレーム尾部パケット201は、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ20および10である。図3Bに示されるように、フレーム尾部パケット103およびフレーム尾部パケット203は、それぞれ第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ10および20である。図3Cに示すように、フレーム尾部パケット105およびフレーム尾部パケット205は、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ10および10である。
【００７５】
実装N：ステップS130は、切り換え命令が受領された後に第1のビデオ・ストリームの少なくとも1つの尾部パケットおよび第2のビデオ・ストリームの少なくとも1つの尾部パケットが別々に受信された後に実行される。ステップS130は、第1のビデオ・ストリームの前記少なくとも1つのフレーム尾部パケットと、第2のビデオ・ストリームの前記少なくとも1つのフレーム尾部パケットとが別々に受領されたときに実行されてもよく、第1のビデオ・ストリームの受領された最後のフレーム尾部パケットの切り換え参照情報と、第2のビデオ・ストリームの受領した最後のフレーム尾部パケットの切り換え参照情報とが、それぞれ、第1の参照フレーム尾部パケットの切り換え参照情報と、第2の参照フレーム尾部パケットの切り換え参照情報として決定される。図4Aに示されるように、フレーム尾部パケット107およびフレーム尾部パケット207が、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ30および20である。図4Bに示されるように、フレーム尾部パケット109およびフレーム尾部パケット209が、それぞれ、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ20および30である。図4Cに示されるように、フレーム尾部パケット111およびフレーム尾部パケット211が、それぞれ第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットとして決定され、第1の参照フレーム尾部パケットおよび第2の参照フレーム尾部パケットのシーケンス番号は、それぞれ20および20である。切り換え命令を受信した後、隣接するフレーム尾部パケットのシーケンス番号に基づいて、第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量と第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量とがそれぞれ計算される場合には、ステップS130は代替的に、第1のビデオ・ストリームの少なくとも2つのフレーム尾部パケットと第2のビデオ・ストリームの少なくとも2つのフレーム尾部パケットとが別々に受信されたときに、実行されてもよく、第1のビデオ・ストリームの受領された最後のフレーム尾部パケットの切り換え参照情報と、第2のビデオ・ストリームの受領された最後のフレーム尾部パケットの切り換え参照情報とが、それぞれ第1の参照フレーム尾部パケットの切り換え参照情報および第2の参照フレーム尾部パケットの切り換え参照情報として決定される。
【００７６】
S140。第1の参照フレーム尾部パケットの切り換え参照情報に基づいて、第1のビデオ・ストリームの切り換えパケット（以後、第1の切り換えパケットと称される）の切り換え参照情報を決定し、第2の参照フレーム尾部パケットの切り換え参照情報に基づいて、第2のビデオ・ストリームの切り換えパケット（以後、第2の切り換えパケットと称される）の切り換え参照情報を決定する。
【００７７】
第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、または、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【００７８】
記述の簡単のために、以後、第1の切り換えパケットのシーケンス番号は第1の切り換えシーケンス番号と称されることがあり、第2の切り換えパケットのシーケンス番号は第2の切り換えシーケンス番号と称されることがあり、第1の切り換えパケットのタイムスタンプは第1の切り換えタイムスタンプと称されることがあり、第2の切り換えパケットのシーケンス番号は第2の切り換えタイムスタンプと称されることがある。
【００７９】
第1の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第1の参照フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームであり、第2の切り換えパケットにおけるビデオ・データが属するビデオ・フレームは、第2の参照フレーム尾部パケットのビデオ・データが属するビデオ・フレームの次のビデオ・フレーム、または該次のビデオ・フレームのその後のビデオ・フレームである。xの値が1である場合、この実装では、ビデオ・ストリーム切り換えは、現在送信されているビデオ画像に対する損傷を効果的に回避するために、参照フレーム尾部パケットより少なくとも1フレーム後の位置において実行される。
【００８０】
第1の切り換えシーケンス番号は、第1の参照フレーム尾部パケットのシーケンス番号と、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよく、第2の切り換えシーケンス番号は、第2の参照フレーム尾部パケットのシーケンス番号と、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量とに基づいて計算されてもよい。決定された第1の切り換えシーケンス番号と第1の参照フレーム尾部パケットのシーケンス番号との間の差は、第1のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよく、決定された第2の切り換えシーケンス番号と第2の参照フレーム尾部パケットのシーケンス番号との間の差は、第2のビデオ・ストリームの単一のビデオ・フレームをカプセル化するためのパケットの量以上であってもよい。
【００８１】
第1の切り換えタイムスタンプは、第1の参照フレーム尾部パケットのタイムスタンプと、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよく、第2の切り換えタイムスタンプは、第2の参照フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいてさらに計算されてもよい。決定された第1の切り換えタイムスタンプと第1の参照フレーム尾部パケットのタイムスタンプとの間の差は、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよく、決定された第2の切り換えタイムスタンプと第2の参照フレーム尾部パケットのタイムスタンプとの間の差は、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間以上であってもよい。
【００８２】
具体的な実装の間、送信装置は、まず、第1の参照フレーム尾部パケットの切り換え参照情報に基づいて、第1のビデオ・ストリームの整列フレーム尾部パケット（以後、第1の整列フレーム尾部パケットと称される）の切り換え参照情報を決定し、次いで、第1の整列フレーム尾部パケットの切り換え参照情報に基づいて、第1の切り換えパケットの切り換え参照情報を決定してもよい。たとえば、第1の整列フレーム尾部パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として使用される。別の例では、第1の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第1の切り換えパケットの切り換え参照情報として決定され、第1の整列フレーム尾部パケットは、第1の参照フレーム尾部パケットのその後のフレーム尾部パケットである。さらに、送信装置は、まず、第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報に基づいて、第2のビデオ・ストリームの整列フレーム尾部パケット（以後、第2の整列フレーム尾部パケットと称される）の切り換え参照情報を決定し、次いで、第2の整列フレーム尾部パケットの切り換え参照情報に基づいて、第2の切り換えパケットの切り換え参照情報を決定してもよい。たとえば、第2の整列フレーム尾部パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として使用される。別の例では、第2の整列フレーム尾部パケットにおけるビデオ・データが属するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットの切り換え参照情報が、第2の切り換えパケットの切り換え参照情報として決定され、第2の整列フレーム尾部パケットは第2の整列フレーム尾部パケットのその後のフレーム尾部パケットである。第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケットは、時間的に対応するフレーム尾部パケットである。具体的には、第1の整列フレーム尾部パケットについて、第2の整列フレーム尾部パケットは、第2のビデオ・ストリームのすべてのフレーム尾部パケットにおいてそのタイムスタンプが第1の整列フレーム尾部パケットのタイムスタンプに最も近いフレーム尾部パケットである。第1の整列フレーム尾部パケットに対応するビデオ・フレームについて、第2の整列フレーム尾部パケットに対応するビデオ・フレームは、第2のビデオ・ストリームのすべてのビデオ・フレームにおいて第1の整列フレーム尾部パケットに対応するビデオ・フレームに時間的に最も近いビデオ・フレームであることが理解されうる。第1の参照フレーム尾部パケットの切り換え参照情報、第2の参照フレーム尾部パケットの切り換え参照情報、第1の整列フレーム尾部パケットの切り換え参照情報、第2の整列フレーム尾部パケットの切り換え参照情報、第1の切り換えパケットの切り換え参照情報、および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号またはタイムスタンプであってもよく、あるいは、それぞれ、シーケンス番号およびタイムスタンプを含んでいてもよい。
【００８３】
実装Aと実装Bの1つまたは組み合わせにおいて、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの整列尾部パケットの切り換え参照情報が決定されてもよく、ビデオ・ストリームの切り換えパケットの切り換え参照情報が決定されてもよい。実装Aは、切り換えパケットのシーケンス番号を決定するために用いられ、実装Bは、切り換えパケットのタイムスタンプを決定するために用いられる。
【００８４】
実装A：
【００８５】
実装Aでは、送信装置は、まず、第1の参照フレーム尾部パケットのシーケンス番号と、第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量とに基づいて、第1の整列フレーム尾部パケットのシーケンス番号を計算し、次いで、第1の整列フレーム尾部パケットのシーケンス番号に基づいて、第1の切り換えパケットのシーケンス番号を決定してもよい。さらに、送信装置は、まず、第2の整列フレーム尾部パケットのシーケンス番号を、第2のビデオ・ストリームの第2の参照フレーム尾部パケットのシーケンス番号と、第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量とに基づいて計算し、次いで、第2の整列フレーム尾部パケットのシーケンス番号に基づいて第2の切り換えパケットのシーケンス番号を決定してもよい。
【００８６】
図3Aに示されるように、切り換え命令が受領される前に、第1の参照フレーム尾部パケット101のシーケンス番号20と、第2の参照フレーム尾部パケット201のシーケンス番号10が記録され、切り換え命令が受領された後、整列フレーム尾部パケットのシーケンス番号がすぐ決定される。第1の整列フレーム尾部パケットの決定されたシーケンス番号は、フレーム尾部パケット102のシーケンス番号30であり、換言すれば、第1の整列フレーム尾部パケットは、フレーム尾部パケット102である。第2の整列フレーム尾部パケットの決定されたシーケンス番号は、フレーム尾部パケット202のシーケンス番号30であり、換言すれば、第2の整列フレーム尾部パケットは、フレーム尾部パケット202である。フレーム尾部パケット102およびフレーム尾部パケット202は、時間的に対応するフレーム尾部パケットである。第1のビデオ・ストリームおよび第2のビデオ・ストリームは、同じフレームレートおよび同じ開始フレーム番号を有し、フレーム尾部パケット102およびフレーム尾部パケット202はいずれも、フレーム番号がn+2であるビデオ・フレームのフレーム尾部パケットであると想定される。
【００８７】
第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの整列フレーム尾部パケットのシーケンス番号は、実装Aの以下の2つの実装（実装A1および実装A2）のうちの1つで決定されうる。
【００８８】
実装A1：異なるビデオ・ストリームが同期されていないことがありうる問題を考慮して、実装A1では、送信装置は、まず、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を判別し、次いで、第1のビデオ・ストリームと第2のビデオ・ストリームのいずれかについて、ビデオ・ストリームの参照フレーム尾部パケットのシーケンス番号および同期関係に基づいて、ビデオ・ストリームの整列フレーム尾部パケットのシーケンス番号を計算する。第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係は、第1のビデオ・ストリームが第2のビデオ・ストリームより早いこと、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いこと、または第1のビデオ・ストリームが第2のビデオ・ストリームと同期していることでありうる。切り換えられる必要があるビデオ・ストリーム間の同期外れは、通例1フレームを超えない。
【００８９】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係が判別された後、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号および第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号は、下記の態様で決定される。記述の簡単のため、本発明のこの実施形態では、第1の参照フレーム尾部パケットのシーケンス番号はS11として表わされ、第1の整列フレーム尾部パケットのシーケンス番号はS12として表わされ、第2の参照フレーム尾部パケットのシーケンス番号はS21として表され、第2の整列フレーム尾部パケットのシーケンス番号はS22として表わされる。第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量はM1として表わされ、第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量はM2として表わされ、M1とM2は同じであってもよく、あるいは異なっていてもよく、通例は同じである。下記の態様の例では、M1とM2はいずれも10であると想定される。
【００９０】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の決定された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いというものである場合、第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋m×M1に従って決定され、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22=S21＋(m＋1)×M2に従って決定される。ここで、mは自然数であり、1であってもよい。
【００９１】
mが1であり、実装Mが使用されると想定される。図3Aに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット101であり、第1の参照フレーム尾部パケットのシーケンス番号は20であり、第1の整列フレーム尾部パケット102のシーケンス番号は20＋10、すなわち30である。第2の参照フレーム尾部パケットはフレーム尾部パケット201であり、第2の参照フレーム尾部パケットのシーケンス番号は10であり、第2の整列フレーム尾部パケット202のシーケンス番号は10＋2×10、すなわち30である。
【００９２】
mが1であり、実装Nが使用されると想定される。図4Aに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット107であり、第1の参照フレーム尾部パケットのシーケンス番号は30であり、第1の整列フレーム尾部パケット108のシーケンス番号は30＋10、すなわち40である。第2の参照フレーム尾部パケットはフレーム尾部パケット207であり、第2の参照フレーム尾部パケットのシーケンス番号は20であり、第2の整列フレーム尾部パケット208のシーケンス番号は、20＋2×10、すなわち40である。
【００９３】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いというものである場合、第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋(n＋1)×M1に従って決定され、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22＝S21＋n×M2に従って決定される。ここで、nは自然数であり、1であってもよい。
【００９４】
nが1であり、実装Mが使用されると想定される。図3Bに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット103であり、第1の参照フレーム尾部パケットのシーケンス番号は10であり、第1の整列フレーム尾部パケット104のシーケンス番号は10＋2×10、すなわち30である。第2の参照フレーム尾部パケットはフレーム尾部パケット203であり、第2の参照フレーム尾部パケットのシーケンス番号は20であり、第2の整列フレーム尾部パケット204のシーケンス番号は20＋10、すなわち30である。
【００９５】
nが1であり、実装Nが使用されると想定される。図4Bに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット109であり、第1の参照フレーム尾部パケットのシーケンス番号は20であり、第1の整列フレーム尾部パケット110のシーケンス番号は20＋2×10、すなわち40である。第2の参照フレーム尾部パケットはフレーム尾部パケット209であり、第2の参照フレーム尾部パケットのシーケンス番号は30であり、第2の整列フレーム尾部パケット210のシーケンス番号は30＋10、すなわち40である。
【００９６】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の決定された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームと同期しているというものである場合、第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋k×M1に従って決定され、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22＝S21＋k×M2に従って決定される。ここで、kは自然数であり、1であってもよい。
【００９７】
kが1であり、実装Mが使用されると想定される。図3Cに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット105であり、第1の参照フレーム尾部パケットのシーケンス番号は10であり、第1の整列フレーム尾部パケット106のシーケンス番号は10＋10、すなわち20である。第2の参照フレーム尾部パケットはフレーム尾部パケット205であり、第2の参照フレーム尾部パケットのシーケンス番号は10であり、第2の整列フレーム尾部パケット206のシーケンス番号は10＋10、すなわち20である。
【００９８】
kが1であり、実装Nが使用されると想定される。図4Cに示されるように、第1の参照フレーム尾部パケットはフレーム尾部パケット111であり、第1の参照フレーム尾部パケットのシーケンス番号は20であり、第1の整列フレーム尾部パケット112のシーケンス番号は20＋10、すなわち30である。第2の参照フレーム尾部パケットはフレーム尾部パケット211であり、第2の参照フレーム尾部パケットのシーケンス番号は20であり、第2の整列フレーム尾部パケット212のシーケンス番号は20＋10、すなわち30である。
【００９９】
実装A1で決定される第1の整列フレーム尾部パケットのシーケンス番号および第2の整列フレーム尾部パケットのシーケンス番号に対応するフレーム尾部パケット（すなわち、第1の整列フレーム尾部パケットおよび第2の整列フレーム尾部パケット）のタイムスタンプは基本的に同じであり、これらのフレーム尾部パケットのタイムスタンプに基づいて決定される切り換えパケットのタイムスタンプも基本的に同じである。よって、切り換えの間、切り換え元ストリームが切り換え先ストリームと時間次元で同期され、フレーム冗長性やフレーム不足がないことが保証できる。
【０１００】
実装A2：実装A2では、異なるビデオ・ストリーム間の同期関係は考慮されず、ビデオ・ストリームは同期していると想定される。第1の整列フレーム尾部パケットのシーケンス番号S12は、式S12＝S11＋k×M1に従って直接決定されてもよく、第2の整列フレーム尾部パケットのシーケンス番号S22は、式S22＝S21＋k×M2によって直接決定されてもよい。
【０１０１】
第1の整列フレーム尾部パケットのシーケンス番号および第2の整列フレーム尾部パケットのシーケンス番号が決定された後、第1の切り換えシーケンス番号および第2の切り換えシーケンス番号はそれぞれ、第1の整列フレーム尾部パケットのシーケンス番号および第2の整列フレーム尾部パケットのシーケンス番号に基づいて、下記の2つの実装（実装X1および実装X2）のうちの1つにおいて決定されてもよい。
【０１０２】
実装X1：実装X1は、フレームの境界においてビデオ・ストリーム切り換えを実行するために使用される。実装X1では、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号は第1の切り換えシーケンス番号として使用され、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号は第2の切り換えシーケンス番号として使用される。
【０１０３】
図3Aに示されるように、第1の整列フレーム尾部パケット102のシーケンス番号30は第1の切り換えシーケンス番号として使用される、すなわち、第1の整列フレーム尾部パケット102は第1のビデオ・ストリームの切り換えパケットとして使用され、第2の整列フレーム尾部パケット202のシーケンス番号30は第2の切り換えシーケンス番号として使用され、すなわち、第2の整列フレーム尾部パケット202は第2のビデオ・ストリームの切り換えパケットとして使用される。
【０１０４】
実装X2：実装X2は、ビデオ・フレームのブランキング領域においてビデオ・ストリーム切り換えを実行するために使用される。
【０１０５】
ビデオ分野では、光信号を電気信号に変換する走査プロセスにおいて、走査は常に画像の左上隅から始まり右に水平方向に移動し、走査点も比較的低い速度で下方に移動する。走査点が画像の右端に到達すると、走査点はすぐに左に復帰し、第1の行の開始点の下の第2の行を走査することを再開する。行と行の間の復帰プロセスは、水平ブランキングと称される。完全な画像走査信号は、水平ブランキング区間によって分離された行信号のシーケンスを含み、フレームと称される。フレームを走査した後、走査点は、新しいフレームの走査を開始するために、画像の右下隅から画像の左上隅に復帰する必要がある。この時間区間は、垂直ブランキングまたはフィールドブランキングと称される。水平ブランキングおよび垂直ブランキングは、SDI信号において可視コンテンツを運ばず、まとめてブランキング領域と称される。SMPTE  RP-168は、SDIフォーマットにおけるビデオ・ストリーム間の切り換えをガイドするために、切り換え行または切り換え領域を指定している。切り換え行または切り換え領域における2つのSDI信号の間の切り換えは、有効なビデオ・データを傷つけない。SMPTE  2022-6では、SDI信号はIPパケットにおいて担持される。したがって、SMPTE  2022-6に基づいてカプセル化されたビデオ・ストリーム上でクリーンな切り換えが実行されるとき、該切り換えはブランキング領域で実行されるべきである。
【０１０６】
結論として、第1のビデオ・ストリームおよび第2のビデオ・ストリームの両方が、SMPTE  2022-6に基づいてエンコードされたビデオ・ストリームである場合、ビデオ・ストリーム切り換えは、ブランキング領域をカプセル化するためのデータ・パケットにおいて実行されうる。
【０１０７】
第1のビデオ・ストリームについては、第1の整列フレーム尾部パケットのシーケンス番号に対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号が、第1の切り換えシーケンス番号として決定されうる。たとえば、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのシーケンス番号とΔM1の和が、第1の切り換えシーケンス番号として決定される。ここで、
【数１】
2021535658.tif 000016
であり、OL1は、第1のビデオ・ストリームの単一のビデオ・フレームにおける各行内のピクセルによって占有されるバイトの量であり、SL1は、第1のビデオ・ストリームの切り換え行番号である。
【０１０８】
第2のビデオ・ストリームについては、第2の整列フレーム尾部パケットのシーケンス番号に対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのシーケンス番号が、第2の切り換えシーケンス番号として決定される。
たとえば、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのシーケンス番号とΔM2の和が、第2の切り換えシーケンス番号として決定される。ここで、
【数２】
2021535658.tif 000017
であり、OL2は、第2のビデオ・ストリームの単一のビデオ・フレームにおける各行内のピクセルによって占有されるバイトの量であり、SL2は、第2のビデオ・ストリームの切り換え行番号である。
【０１０９】
切り換え行番号は、SDIビデオ規格に依存することがある。現在、SMPTE  RP-168は、大半のビデオ・フォーマットの切り換え行番号を指定している。第1のビデオ・ストリームの切り換え行番号SL1と第2のビデオ・ストリームの切り換え行番号SL2は、通例同じである。
【０１１０】
第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれについても、4:2:2のサンプリング態様が使用される場合、ビデオ・ストリームの単一のビデオ・フレームにおける各行内のピクセルによって占有されるバイトの量OLは、PL×BS×2/8に等しく、ここで、PLは、ビデオ・ストリームのビデオ・フレームの各行内のピクセルの総量（行ブランキング・ピクセルの量および有効なビデオ・ピクセルの量を含む）であり、BSはピクセル・ビット深さである。第1のビデオ・ストリームと第2のビデオ・ストリームのピクセル・ビット深さおよびサンプリング態様が同じであれば、OL1とOL2は通例同じであることが理解されうる。
【０１１１】
実装B：
【０１１２】
実装Bにおいて、送信装置は、まず、第1の参照フレーム尾部パケットのタイムスタンプと、第1のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいて、第1の整列フレーム尾部パケットのタイムスタンプを計算し、次いで、第1の整列フレーム尾部パケットのタイムスタンプに基づいて、第1の切り換えパケットのタイムスタンプを決定してもよい。さらに、送信装置は、まず、第2のビデオ・ストリームの第2の参照フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間とに基づいて第2の整列フレーム尾部パケットのタイムスタンプを計算し、次いで、第2の整列フレーム尾部パケットのタイムスタンプに基づいて第2の切り換えパケットのタイムスタンプを決定してもよい。
【０１１３】
第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかの整列フレーム尾部パケットのタイムスタンプは、実装Bの以下の2つの実装（実装B1および実装B2）のうちの1つで決定されうる。
【０１１４】
実装B1：異なるビデオ・ストリームが同期されない可能性がある問題を考慮して、実装B1においては、送信装置は、まず、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を決定し、次いで、第1のビデオ・ストリームと第2のビデオ・ストリームのいずれかについて、該ビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプと同期関係とに基づいて、該ビデオ・ストリームの整列フレーム尾部パケットのタイムスタンプを計算する。第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係は、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いこと、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いこと、または第1のビデオ・ストリームが第2のビデオ・ストリームと同期されることでありうる。切り換えられる必要があるビデオ・ストリーム間の同期外れは、通例1フレームを超えない。
【０１１５】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係が決定された後、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのタイムスタンプと、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのタイムスタンプは、以下の態様で決定される。記述の簡単のため、本発明のこの実施形態では、第1の参照フレーム尾部パケットのタイムスタンプはt11として表わされ、第1の整列フレーム尾部パケットのタイムスタンプはt12として表わされ、第2の参照フレーム尾部パケットのタイムスタンプはt21として表され、第2の整列フレーム尾部パケットのタイムスタンプはt22として表わされる。第1のビデオ・ストリームの単一のビデオ・フレームの継続時間はT1として表わされ、第2のビデオ・ストリームの単一のビデオ・フレームの継続時間はT2として表わされ、T1とT2は同じであってもよく、異なっていてもよく、通例は同じである。
【０１１６】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いというものである場合、第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋m×T1に従って決定され、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋(m＋1)×T2に従って決定される。ここで、mは自然数であり、1であってもよい。
【０１１７】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いというものである場合、第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋(n＋1)×T1に従って決定され、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋n×T2に従って決定される。ここで、nは自然数であり、1であってもよい。
【０１１８】
第1のビデオ・ストリームと第2のビデオ・ストリームとの間の判別された同期関係が、第1のビデオ・ストリームが第2のビデオ・ストリームと同期しているというものである場合、第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋k×T1に従って決定され、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋k×T2に従って決定される。ここで、kは自然数であり、1であってもよい。
【０１１９】
実装B1において決定される第1の整列フレーム尾部パケットと第2の整列フレーム尾部パケットのタイムスタンプは基本的に一貫しており、第1の整列フレーム尾部パケットと第2の整列フレーム尾部パケットのタイムスタンプに基づいて決定される切り換えパケットのタイムスタンプも基本的に一貫している。よって、切り換え中に切り換え元ストリームが切り換え先ストリームと時間次元で同期され、フレーム冗長性やフレーム欠如がないことが保証できる。
【０１２０】
実装B2：実装B2では、異なるビデオ・ストリーム間の同期関係は考慮されず、ビデオ・ストリームが同期していると想定される。第1の整列フレーム尾部パケットのタイムスタンプt12は、式t12＝t11＋k×T1に従って直接決定されてもよく、第2の整列フレーム尾部パケットのタイムスタンプt22は、式t22＝t21＋k×T2に従って直接決定されてもよい。
【０１２１】
第1の整列フレーム尾部パケットの切り換え参照情報および第2の整列フレーム尾部パケットのタイムスタンプが決定された後、第1の切り換えタイムスタンプおよび第2の切り換えタイムスタンプが、第1の整列フレーム尾部パケットのタイムスタンプおよび第2の整列フレーム尾部パケットのタイムスタンプに基づいて、以下の2つの実装（実装Y1および実装Y2）のうちの1つにおいて、それぞれ決定されうる。
【０１２２】
実装Y1：実装Y1は、フレームの境界でビデオ・ストリーム切り換えを実行するために使用される。実装Y1では、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのタイムスタンプが第1の切り換えタイムスタンプとして使用され、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのタイムスタンプが第2の切り換えタイムスタンプとして使用される。
【０１２３】
実装Y2：実装Y2は、ビデオ・フレームのブランキング領域でビデオ・ストリーム切り換えを実行するために使用される。
【０１２４】
第1のビデオ・ストリームについては、第1の整列フレーム尾部パケットのタイムスタンプに対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのタイムスタンプが、第1の切り換えタイムスタンプとして決定されうる。たとえば、第1のビデオ・ストリームの第1の整列フレーム尾部パケットのタイムスタンプとΔt1の和が、第1の切り換えタイムスタンプとして決定される。ここで、Δt1は、区間[tx,ty]内の値である。たとえば、Δt1は、txまたは(tx＋ty)/2であり、ここで、tx＝T1×SL1/L1、ty＝T1×(SL1＋1)/L1であり、SL1は、第1のビデオ・ストリームの切り換え行番号であり、L1は、第1のビデオ・ストリームのビデオ・フレームのピクセル行の総数である。
【０１２５】
第2のビデオ・ストリームについては、第2の整列フレーム尾部パケットのタイムスタンプに対応するビデオ・フレームの次のビデオ・フレームのブランキング領域データをカプセル化するために使用されるデータ・パケットのタイムスタンプが、第2の切り換えタイムスタンプとして決定される。たとえば、第2のビデオ・ストリームの第2の整列フレーム尾部パケットのタイムスタンプとΔt2の和が、第2の切り換えタイムスタンプとして決定される。ここで、Δt2は、区間[tm,tn]内の値である。たとえば、Δt2は、tmまたは(tm＋tn)/2であり、ここで、tm＝T2×SL2/L2、ty＝T2×(SL2＋1)/L2であり、SL2は、第2のビデオ・ストリームの切り換え行番号であり、およびL2は、第2のビデオ・ストリームのビデオ・フレームのピクセル行の総数である。Δt1およびΔt2は同じ方法で計算されることを注意しておくべきである。たとえば、Δt1は式Δt1＝T1×SL1/L1に従って計算され（すなわち、Δt1はtx）、Δt2は式Δt2＝T2×SL2/L2に従って計算される（すなわち、Δt2はtm）。
【０１２６】
切り換え行番号は、SDIビデオ規格に依存してもよい。現在、SMPTE  RP-168は、ほとんどのビデオ・フォーマットの切り換え行番号を指定している。第1のビデオ・ストリームの切り換え行番号SL1と第2のビデオ・ストリームの切り換え行番号SL2は、通例同じである。第1のビデオ・ストリームのL2と第2のビデオ・ストリームのL2は通例同じである。
【０１２７】
本発明の実施形態1では、送信装置は、第1のビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプと第2のビデオ・ストリームの参照フレーム尾部パケットのタイムスタンプに基づいて、第1のビデオ・ストリームと第2のビデオ・ストリームとの間の同期関係を判別することができる。
【０１２８】
装置同期の精度ずれのために、異なるビデオ源装置によって同じ瞬間に送信されるデータ・パケットのタイムスタンプの間のずれがあることがありうる。加えて、情報はIPネットワークにおいて1つのパケットにおいて伝送され、パケット転送のジッタは若干の同期ずれを引き起こす可能性がある。よって、2つの参照フレーム尾部パケットのタイムスタンプ間のずれが事前設定された時間差閾値より小さい場合、2つのビデオ・ストリームが同期していると考えられてもよい。動機が実行されるかどうかを決定するために使用される時間差閾値は、ネットワークにおけるビデオ源装置のクロック同期精度に基づいて決定されてもよい。
【０１２９】
t1−t2＞Δt1であると判定するときに、送信装置は、第1のビデオ・ストリームが第2のビデオ・ストリームよりも早いと判定してもよい。t2−t1＞Δt1であると判定するときに、送信装置は、第1のビデオ・ストリームが第2のビデオ・ストリームよりも遅いと判定してもよい。｜t1−t2｜＜Δt2であると判定するときには、送信装置は、第1のビデオ・ストリームが第2のビデオ・ストリームと同期していると判定してもよい。ここで、t1は第1の参照フレーム尾部パケットのタイムスタンプであり、t2は第2の参照フレーム尾部パケットのタイムスタンプであり、Δt1は事前設定された第1の時間差閾値であり、Δt2は事前設定された第2の時間差閾値であり、Δt1とΔt2の両方は0より大きくTより小さい値であり、Δt2はΔt1以下であってもよい。さらに、Δt1およびΔt2は、T/2＜Δt1＜Tであるように事前設定されてもよい。たとえば、Δt1は3×T/4であってもよく、0＜Δt2＜T/2である。たとえば、Δt2はT/4であってもよく、Tは単一のビデオ・フレームの継続時間である。本発明のこの実施形態において、Tは事前設定されていてもよく、あるいは事前設定されたビデオ情報（たとえばフレームレート）に基づく計算を通じて得られてもよい。加えて、一方のビデオ・ストリームの単一のビデオ・フレームの継続時間と他方のビデオ・ストリームの単一のビデオ・フレームの継続時間は通例同じであるので、ビデオ・ストリームを切り換える必要がある場合、Tは、代替的に、第1のビデオ・ストリームと第2のビデオ・ストリームのいずれかの受信されたデータ・パケットに基づく計算を通じて得られてもよく、たとえば、そのビデオ・ストリームの2つの隣接するフレーム尾部パケットのタイムスタンプ間の差に基づく計算を通じて得られてもよい。
【０１３０】
S150.  送信装置は、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換える。
【０１３１】
ある実装では、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、それぞれシーケンス番号であり、送信装置は、第1のビデオ・ストリームのシーケンス番号が第1の切り換えシーケンス番号より大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信しなくてもよいが、第2のビデオ・ストリームのシーケンス番号が第2の切り換えシーケンス番号より大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信する。
【０１３２】
第1の切り換えシーケンス番号および第2の切り換えシーケンス番号は、受信されないデータ・パケットのシーケンス番号であり、それらのシーケンス番号は計算を通じて得られるものであるから、第1の切り換えシーケンス番号および第2の切り換えシーケンス番号が計算を通じて得られるとき、第1のビデオ・ストリームのシーケンス番号が第1の切り換えシーケンス番号以下であるときに得られるデータ・パケットおよび第2のビデオ・ストリームのシーケンス番号が第2の切り換えシーケンス番号以下であるときに得られるデータ・パケットが、通例さらに受領される。ステップS150において、送信装置は、第1のビデオ・ストリームの受領されるデータ・パケットのシーケンス番号に基づいて、ターゲット出口ポートを通じて該データ・パケットを送信するかどうかを決定することができる。シーケンス番号が第1の切り換えシーケンス番号以下である場合でも、送信装置は、ターゲット出口ポートを通じてデータ・パケットをさらに送信する。シーケンス番号が第1の切り換えシーケンス番号より大きい場合、送信装置は、ターゲット出口ポートを通じてデータ・パケットを送信しない。対応して、送信装置は、第2のビデオ・ストリームの受領されたデータ・パケットのシーケンス番号に基づいて、該データ・パケットをターゲット出口ポートを通じて送信するかどうかを決定することができる。シーケンス番号が第2の切り換えシーケンス番号以下である場合、送信装置は、データ・パケットをターゲット出口ポートを通じて送信しない。シーケンス番号が第2の切り換えシーケンス番号より大きい場合、送信装置は、そのデータ・パケットをターゲット出口ポートを通じて送信する。
【０１３３】
別の実装では、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報はそれぞれタイムスタンプであり、送信装置は、第1のビデオ・ストリームのタイムスタンプが第1の切り換えタイムスタンプより大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信しなくてもよいが、第2のビデオ・ストリームのタイムスタンプが第2の切り換えタイムスタンプより大きいときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信する。さらに、送信装置は、さらに、第1のビデオ・ストリームのタイムスタンプが第1の切り換えタイムスタンプ以下であるときに取得された受領されたデータ・パケットを、ターゲット出口ポートを通じて送信してもよいが、第2のビデオ・ストリームのタイムスタンプが第2の切り換えタイムスタンプ以下であるときに取得された受領されたデータ・パケットをターゲット出口ポートを通じて送信しない。
【０１３４】
さらに別の実装では、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報は、それぞれ、シーケンス番号とタイムスタンプを含む。第1のビデオ・ストリームの受領されたデータ・パケットについて、データ・パケットのタイムスタンプと第1の切り換えパケットのタイムスタンプとの間の差の絶対値Dif1が閾値1より大きく、該データ・パケットのタイムスタンプが第1の切り換えパケットのタイムスタンプより大きい場合、または、Dif1が閾値1以下であり、該データ・パケットのシーケンス番号が第1の切り換えパケットのシーケンス番号より大きい場合、該データ・パケットは、ターゲット出口ポートを通じて転送されない。第2のビデオ・ストリームの受領されたデータ・パケットについて、該データ・パケットのタイムスタンプと第2の切り換えパケットのタイムスタンプとの間の差の絶対値Dif2が閾値2より大きく、該データ・パケットのタイムスタンプが第2の切り換えパケットのタイムスタンプより大きい場合、またはDif2が閾値2以下であり、該データ・パケットのシーケンス番号が第2の切り換えパケットのシーケンス番号より大きい場合、該データ・パケットはターゲット出口ポートを通じて転送される。さらに、第1のビデオ・ストリームの受領されたデータ・パケットについて、Dif1が閾値1よりも大きく、該データ・パケットのタイムスタンプが第1の切り換えパケットのタイムスタンプよりも小さい場合、またはDif1が閾値1以下であり、該データ・パケットのシーケンス番号が第1の切り換えパケットのシーケンス番号以下である場合、該データ・パケットは、ターゲット出口ポートを通じて転送される。第2のビデオ・ストリームの受領されたデータ・パケットについて、Dif2が閾値2より大きく、該データ・パケットのタイムスタンプが第2の切り換えパケットのタイムスタンプより小さい場合、またはDif2が閾値2以下であり、該データ・パケットのシーケンス番号が第2の切り換えパケットのシーケンス番号より小さい場合、該データ・パケットは、ターゲット出口ポートを通じて転送されない。
【０１３５】
閾値1および閾値2は同じであってもよく、または異なっていてもよく、それぞれ1/4T以上の値に設定されてもよい。閾値1および閾値2は、それぞれ、1/4T以上7/4T以下の値、たとえば、3/4Tに設定されてもよい。ここで、Tは、第1のビデオ・ストリームまたは第2のビデオ・ストリームの単一のビデオ・フレームの継続時間である。
【０１３６】
第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれについても、そのビデオ・ストリームが安定状態に入ったことが判別された後、たとえば、ステップS150が実行され始めた後にデータ・ストリームの所定量（たとえば、Mまたは2M）のデータ・パケットが処理されたことが判別された後、またはステップS130が実行され始めた後に事前設定された継続時間（たとえば、Tまたは2T）が経過したことが判別された後には、データ・ストリームのシーケンス番号またはタイムスタンプがデータ・ストリームの切り換えシーケンス番号または切り換えタイムスタンプ以下であるときに得られたデータ・パケットが受信される確率は、非常に低い。よって、データ・ストリームの受領されたデータ・パケットをターゲット出口ポートを通じて送信するかどうかは、データ・パケットのシーケンス番号またはタイムスタンプをチェックすることによっては決定されないことがあり、そのデータ・パケットが属するデータ・ストリーム（すなわち、前記データ・ストリーム）が送信される必要があるデータ・ストリームであるかどうかを示すために使用される状態情報に基づいて決定される。このようにして、転送効率が改善される。ここで、Mは、ビデオ・ストリームの単一のビデオ・フレームのパケットの量であり、Tは、ビデオ・ストリームの単一のビデオ・フレームの継続時間である。
【０１３７】
送信装置が複数の出口ポートを含んでいてもよいことに注意しておくべきである。方法100におけるステップS110およびS150が、前記ターゲット出口ポートに対応するデータ・パケットを処理することのみを受け持つユニットによって実行される場合、ステップS110およびS150において、該ユニットは、前記ターゲット出口ポートを通じて転送される必要のないデータ・パケットを破棄してもよい。
【０１３８】
下流の装置への影響を低減して、下流の装置が切り換えを感知しないようにするために、第2のビデオ・ストリームのデータ・パケットを転送するとき、送信装置は第2のビデオ・ストリームのデータ・パケット内の情報をさらに修正することができる。
【０１３９】
切り換えの前および後のビデオ・ストリームの一貫性を改善するために、送信装置は、切り換え後の第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値が、切り換え前の第1のビデオ・ストリームのデータ・パケット内の第1のフィールドの値と同じになるように、第2のビデオ・ストリームのデータ・パケット内の第1のフィールドの値を修正してもよく、第2のビデオ・ストリームのデータ・パケットと第1のビデオ・ストリームのデータ・パケットは、ターゲット出口ポートを通じて送られる。第1のフィールドは、マルチキャスト・アドレス・フィールドまたはペイロード・タイプ・フィールドでありうる。もしRTPがビデオ・ストリーム伝送に使われるなら、第1のフィールドは代替的に、同期源（Synchronization  source、SSRC）フィールドであってもよい。第1のフィールドは、代替的に、SMPTE  2022-6で定義されたHBRMT層パラメータ、たとえば、FRCountであってもよい。FRCountは、SMPTE  2022-6で定義された高ビットレート・メディア・ペイロードヘッダ（High  Bit  Rate  Media  Payload  Header）におけるフレームカウント（Frame  Count）フィールドであり、ビデオ・ストリームにおける累積されたビデオ・フレームの量を示す。
【０１４０】
ある出口ポートについて、複数の入力ビデオ・ストリームが繰り返し切り換えられる必要があることがある。したがって、現在の切り換え元ストリームは、以前の切り換え先ストリームであることがある。
【０１４１】
そのターゲット出口ポートを通じて複数のビデオ・ストリームのうちのいずれかを送信するとき、送信装置は、そのビデオ・ストリームのデータ・パケット内の第1のフィールドの値を事前設定値に修正してもよく、たとえば、そのビデオ・ストリームのそのデータ・パケット内のマルチキャスト・アドレスを事前設定されたマルチキャスト・アドレス（たとえば、239.0.2.1）に修正してもよい。
【０１４２】
S110において記載されるように、送信装置は、ターゲット出口ポートに対応する複数のビデオ・ストリームを受領し、前記複数のビデオ・ストリームのうちの1つをターゲット出口ポートを通じて送信し、前記複数のビデオ・ストリームにおいて、ターゲット出口ポートを通じて送信されるビデオ・ストリームを切り換えることができる。たとえば、複数のビデオ・ストリームは、ストリーム1、ストリーム2、およびストリーム3を含む。送信装置は、まずストリーム2を転送し、次いで、ストリーム1およびストリーム3に順次切り換える。前記複数のビデオ・ストリームのうちの1つ（たとえば、ストリーム2）をターゲット出口ポートを通じて初めて転送するとき、送信装置は、ビデオ・ストリームの第1のフィールドの値をさらに記録してもよく、その後に別のビデオ・ストリームに切り換えるとき、該別のビデオ・ストリームのデータ・パケット内の第1のフィールドの値を、前記ビデオ・ストリームの第1のフィールドの記録された値に修正してもよい。たとえば、ストリーム1に切り換えるときは、送信装置は、ストリーム1のデータ・パケット内の第1のフィールドの値をストリーム2の第1のフィールドの値に修正し、ストリーム3に切り換えるときは、ストリーム3のデータ・パケット内の第1のフィールドの値をやはりストリーム2の第1のフィールドの値に修正する。
【０１４３】
切り換えの前および後のビデオ・ストリームの連続性を改善するために、切り換え後に第2のビデオ・ストリームのデータ・パケットを送信するとき、送信装置は、第2のビデオ・ストリームのデータ・パケット内の第2のフィールドの値をさらに修正して、切り換え後の第2のビデオ・ストリームのデータ・パケット内の第2のフィールドの値が、切り換え前の第1のビデオ・ストリームのデータ・パケット内の第2のフィールドの値と連続的であるようにしてもよい。ここで、第2のビデオ・ストリームのデータ・パケットおよび第1のビデオ・ストリームのデータ・パケットはターゲット出口ポートを通じて送られる。第2のフィールドの値は、シーケンス番号、フレーム番号、タイムスタンプなどの一つまたは複数でありうる。
【０１４４】
第2のフィールドの値（たとえば、シーケンス番号）が連続的であることを保証するために、第2のビデオ・ストリームの送信されるべきデータ・パケット中の第2のフィールドの値がΔVだけ増加されてもよい。ここで、ΔV＝V1−V2であり、V1は、第1のビデオ・ストリームのシーケンス番号が第1の切り換えシーケンス番号に等しいときに取得されたデータ・パケットがターゲット出口ポートを通じて送信されたときに担持されていた第2のフィールドの値であり、V2は、第2のビデオ・ストリームのシーケンス番号が第2の切り換えシーケンス番号に等しいときに取得されたデータ・パケットが受領されたときに担持されていた第2のフィールドの値である。
【０１４５】
ステップS130を実行する前に、送信装置はさらにステップS115を実行して、第1のビデオ・ストリームおよび第2のビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットのターゲット情報を記録してもよい。記録されるターゲット情報は、最後尾のフレーム尾部パケットのシーケンス番号およびタイムスタンプのうちの少なくとも1つを含む。対応して、ステップS130では、ステップS115で記録された最後尾のフレーム尾部パケットのターゲット情報に基づいて、参照フレーム尾部パケットが決定されうる。たとえば、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかについて、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報（たとえば、シーケンス番号）であって、ステップS130が実行される前に最後にステップS115において記録されたものが、そのビデオ・ストリームの参照フレーム尾部パケットの切り換え参照情報（たとえば、シーケンス番号）として使用される。
【０１４６】
送信装置は、ステップS120の前にステップS115の実行を開始してもよい。S110において記載されたように、送信装置は、ターゲット出口ポートに対応する複数のビデオ・ストリームを受領し、ターゲット出口ポートを通じて前記複数のビデオ・ストリームのうちの1つを送信し、前記複数のビデオ・ストリームにおいて、ターゲット出口ポートを通じて送信されるビデオ・ストリームを切り換えてもよい。前記複数のビデオ・ストリームをターゲット出口ポートを通じて転送することを開始するとき、送信装置は、前記複数のビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットのターゲット情報を記録し始める。送信装置がその後、前記ビデオ・ストリームのうちの2つを切り換える必要がある場合、送信装置は、それら2つのビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットの記録されたターゲット情報を使用することによってステップS130およびS140を実行して、切り換え参照情報を決定することができる。前述の実装Mが使用される場合、送信装置は、ステップS120の前にステップS115の実行を開始してもよい。
【０１４７】
あるいはまた、送信装置は、ステップS120の後にステップS115を開始してもよい。具体的には、切り換え命令を受信した後、送信装置は、切り換えられる必要のある2つのビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットのターゲット情報を記録することを開始し、さらに、それら2つのビデオ・ストリームのそれぞれの最後尾のフレーム尾部パケットの記録されたターゲット情報に基づいてステップS130およびS140を実行して、切り換えパケットの切り換え参照情報を決定する。前述の実装Nが使用される場合、送信装置は、ステップS120の後にステップS115の実行を開始してもよい。
【０１４８】
送信装置がステップS120の前にステップS115を実行し始める場合、複数のビデオ・ストリームの任意の1つについて、ビデオ・ストリーム内の最初のフレーム尾部パケットを受信するとき、送信装置は、そのフレーム尾部パケットのターゲット情報を、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報として記録し、ビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報を、ビデオ・ストリームのその後に受信されるデータ・パケットに基づいて更新する。さらに、切り換え命令を受信した後、送信装置は、すぐにステップS130およびS140を実行し、切り換え命令が受信される前に記録された、最後尾のフレーム尾部パケットのターゲット情報（たとえばシーケンス番号）に基づいて、切り換えパケットの切り換え参照情報（たとえばシーケンス番号）を計算する。図3Aに示されるように、送信装置は、切り換え命令が受信される前に記録された、第1のビデオ・ストリームの最後尾のフレーム尾部パケット101のシーケンス番号20に基づいて、第1の切り換えシーケンス番号を計算し、切り換え命令が受信される前に記録された、第2のビデオ・ストリームの最後尾のフレーム尾部パケット201のシーケンス番号10に基づいて、第2の切り換えシーケンス番号を計算する。
【０１４９】
送信装置が、第1のビデオ・ストリームおよび第2のビデオ・ストリームのいずれかについて、ステップS120の後にステップS115の実行を開始する場合、そのビデオ・ストリーム内の最初のフレーム尾部パケットを受領するとき、送信装置は、そのフレーム尾部パケットのターゲット情報を、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報として、記録することができる。一方のビデオ・ストリームの別のフレーム尾部パケットを受領するとき、送信装置が他方のビデオ・ストリームの最初のフレーム尾部パケットを受領しなければ、送信装置が他方のビデオ・ストリームの最初のフレーム尾部パケットを受領して対応して該他方のビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報を記録するまで、送信装置は、そのビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報を更新することができる。さらに、第1のビデオ・ストリームの単一のビデオ・フレームのパケットの量と、第2のビデオ・ストリームの単一のビデオ・フレームのパケットの量が、それぞれ、隣り合うフレーム尾部パケットのシーケンス番号に基づいて計算される場合、切り換えシーケンス番号が計算される前に、各ビデオ・ストリームの少なくとも2つのフレーム尾部パケットが受領される。フレーム尾部パケットが受領されるたびに、フレーム尾部パケットのターゲット情報が、フレーム尾部パケットが属するビデオ・ストリームの最後尾のフレーム尾部パケットのターゲット情報として記録される。さらに、2つの受領された隣り合うフレーム尾部パケットのシーケンス番号間の差が、パケットが属するビデオ・ストリームの単一ビデオ・フレームのパケットの量として使用されてもよく、または、2つの受領された隣り合うフレーム尾部パケットのタイムスタンプ間の差が、パケットが属するビデオ・ストリームの単一ビデオ・フレームの継続時間として使用されてもよい。
【０１５０】
図4Aに示されるように、第1の切り換えシーケンス番号は、切り換え命令が受信された後に記録される、第1のビデオ・ストリームの最後尾のフレーム尾部パケット107のシーケンス番号30に基づいて計算され、第2の切り換えシーケンス番号は、切り換え命令が受信された後に記録される、第2のビデオ・ストリームの最後尾のフレーム尾部パケット207のシーケンス番号20に基づいて計算される。
【０１５１】
送信装置は、ビデオ・ストリームのいずれかの最後尾のフレーム尾部パケットのターゲット情報を、以下の態様で更新することができる。
【０１５２】
送信装置がビデオ・ストリームのフレーム尾部パケットを受信するたびに、送信装置はビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号をフレーム尾部パケットのシーケンス番号に更新し、ビデオ・ストリームの最後尾のフレーム尾部パケットのタイムスタンプをフレーム尾部パケットのタイムスタンプに更新することができる。
【０１５３】
更新中、送信装置はまた、起こりうるフレーム間パケット乱れおよびフレーム尾部パケット損失を考慮してもよい。フレーム間パケット乱れが発生した場合、具体的には、現在フレームの非フレーム尾部パケットが、前のフレームのフレーム尾部パケットの前に到着した場合、または前のフレームのフレーム尾部パケットの前に送信装置によって処理された場合、または、フレーム尾部パケットの損失が発生した場合、ビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号は、代替的に、受領されていないフレーム尾部パケットのシーケンス番号よりも大きいシーケンス番号を有する非フレーム尾部パケットに基づいて推定されるフレーム尾部パケットのシーケンス番号であってもよい。対応して、送信装置は、以下の態様で更新を実行してもよい。
【０１５４】
ビデオ・ストリームの受領されたデータ・パケットがフレーム尾部パケットではなく、該データ・パケットのシーケンス番号がビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号とビデオ・ストリームの単一のビデオ・フレームのパケットの量Mの和より大きいと判定された場合、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたシーケンス番号はMだけ増加させられる。ターゲット情報がさらにタイムスタンプを含む場合は、対応して、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたタイムスタンプは単一のビデオ・フレームの継続時間Tだけ増加させられる。ビデオ・ストリームの受領されたデータ・パケットがフレーム尾部パケットであると判定された場合、更新操作が直接実行されてもよい。具体的には、ビデオ・ストリームの最後尾のフレーム尾部パケットのシーケンス番号は、データ・パケットのシーケンス番号に更新され、ビデオ・ストリームの最後尾のフレーム尾部パケットのタイムスタンプは、データ・パケットのタイムスタンプに更新されるか、または、データ・パケットのタイムスタンプが、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたタイムスタンプよりも大きいかどうかがさらに判定されてもよく、更新操作は、データ・パケットのタイムスタンプが、ビデオ・ストリームの最後尾のフレーム尾部パケットの記録されたタイムスタンプよりも大きい場合にのみ実行される。
【０１５５】
下記は、具体的な実装におけるステップS115の具体的な実装を詳細に説明する。
【０１５６】
送信装置は、ビデオ・ストリーム切り換えテーブルを確立する。ステップS120の前にステップS115が実行される場合、切り換えテーブルは、複数のビデオ・ストリームのそれぞれの記録を含んでいてもよい。ステップS120の後にステップS115が実行される場合、切り換えテーブルは、表1に示されるように、切り換えられる必要のある2つのビデオ・ストリーム（すなわち、第1のビデオ・ストリームおよび第2のビデオ・ストリーム）の記録のみを含んでいてもよい。
【０１５７】
切り換えテーブルは、フィールドFT_TSおよびFT_SNを含んでいてもよく、各ビデオ・ストリームに対応するFT_TSの値および各ビデオ・ストリームに対応するFT_SNの値は、それぞれ、そのビデオ・ストリームの最後尾のフレーム尾部パケットのタイムスタンプおよびシーケンス番号である。
【０１５８】
ビデオ・ストリーム切り換えテーブルは、フィールドFlow〔フロー〕、Outport〔出力ポート〕、State〔状態〕、FrameTime〔フレーム時間〕およびFramePackets〔フレームパケット〕の任意の1つまたは任意の組み合わせをさらに含んでいてもよい。Flowの値は対応するビデオ・ストリームを識別するために使用される。各ビデオ・ストリームに対応するOutportの値は、そのビデオ・ストリームに対応する出口ポートのポート番号を記録するために使用される。すなわち、そのビデオ・ストリームが転送される送信装置のポートを示す。本発明のこの実施形態では、同じ出口ポートに対応する諸ビデオ・ストリームが切り換えられる。各ビデオ・ストリームに対応するStateの値は、そのビデオ・ストリームの現在の状態を記録するために使用される。ここで、SW_Forwardingは、そのビデオ・ストリームが送信装置によって転送されるビデオ・ストリームであることを示し、SW_Discardは、そのビデオ・ストリームが、対応する出口ポートを通じて送信装置によって転送されないビデオ・ストリームであることを示す。各ビデオ・ストリームに対応するFrameTimeの値は、そのビデオ・ストリームの単一のビデオ・フレームの継続時間を記録するために使用される。RTPがビデオ・ストリーム伝送のために使用される場合、FrameTimeの単位はRTPヘッダ内のTSフィールドの単位と同じである。各ビデオ・ストリームに対応するFramePacketsの値は、そのビデオ・ストリームの単一のビデオ・フレームのパケットの量を記録するために使用される。
【０１５９】
ビデオ・ストリーム切り換えテーブルは、SW_SNをさらに含んでいてもよく、各ビデオ・ストリームに対応するSW_SNの値が、そのビデオ・ストリームの切り換えシーケンス番号を記録するために使用される。
【表１】
2021535658.tif 000018
【０１６０】
以後、ビデオ・ストリーム切り換えテーブル内の任意のビデオ・ストリームをビデオ・ストリームAと称する。
【０１６１】
ビデオ・ストリームAについては、ビデオ・ストリームAの任意のデータ・パケット（以後、パケットaと称する）が受領されたとき、まず、パケットaがフレーム尾部パケットであるかどうかが判定される。
【０１６２】
RTPパケットが例として使用される。RFC3550で定義されているRTPパケット・ヘッダのフォーマットによれば、RTPパケット・ヘッダ内のM（Marker、マーカー）フィールドの値が、RTPパケットがフレーム尾部パケットであるかどうかを示すために使用される。Mの値が1である場合、そのことはRTPパケットがフレーム尾部パケットであることを示す。Mの値が0である場合、そのことはRTPパケットがフレーム尾部パケットではないことを示す。
【０１６３】
RTPパケット・ヘッダ内のシーケンス番号（Sequence  number、SN）フィールドの値が、RTPストリーム中のRTPパケットのシーケンス番号を示し、同じRTPストリーム中のRTPパケットのシーケンス番号は単調に1ずつ増加する。RTPパケット・ヘッダは、さらにタイムスタンプ（Timestemp、TS）を含む。マルチメディア通信システムにおけるビデオ源装置（たとえば、テレビ制作および放送システム）は、クロック同期を維持し、同じ瞬間に送信されるRTPパケットにおけるタイムスタンプ・フィールドの値は非常に近い。よって、タイムスタンプ・フィールドの値は、異なるビデオ・ストリーム中のビデオ・フレームが同じ瞬間におけるビデオ・フレームであるかどうかを判定するために使用されてもよく、切り換え中に時間次元での同期を実現するよう、切り換え中に異なるビデオ・ストリームを整列させるために使用される。
【０１６４】
パケットaがフレーム尾部パケットであり、ビデオ・ストリームAの最初のフレーム尾部パケットであると判定された場合、パケットaのTSフィールドの値およびSNフィールドの値は、それぞれ、第1の切り換えテーブルのビデオ・ストリームAに対応するFT_TSフィールドおよびFT_SNフィールドに記録される。
【０１６５】
パケットaがフレーム尾部パケットであるが、ビデオ・ストリームAの最初のフレーム尾部パケットではないと判定された場合、パケットaのTSフィールドの値が、第1の切り換えテーブルのビデオ・ストリームAに対応するFT_TSフィールドの値と比較される。パケットaのTSフィールドの値が、第1の切り換えテーブルにおけるビデオ・ストリームAに対応するFT_TSフィールドの値より大きい場合、パケットaは、最後尾のフレーム尾部パケットである。したがって、第1の切り換えテーブルにおいてビデオ・ストリームAに対応するFT_TSフィールドの値およびFT_SNフィールドの値は、それぞれ、パケットaのTSフィールドの値およびSNフィールドの値に更新される。パケットaのTSフィールドの値が、第1の切り換えテーブルにおけるビデオ・ストリームAに対応するFT_TSフィールドの値より小さい場合、更新は実行されない。
【０１６６】
パケットaがフレーム尾部パケットでないと判定された場合、フレーム間乱れが発生するかどうかが判定される。諸パケットは、ネットワークにおいて伝送されているとき、乱れる可能性がある。パケットが通過する送信装置のプロセッサが、受領された諸パケットに対してマルチスレッドの並行処理を実行する場合は、それらのパケットは、処理中にも、乱れることがありうる。よって、フレームの非フレーム尾部パケットが、前のフレームのフレーム尾部パケットの前に送信装置に到着することがあり、あるいは前のフレームのフレーム尾部パケットの前に処理されることがある。フレームのパケットが前のフレームのフレーム尾部パケットより前に到着した場合、または前のフレームのフレーム尾部パケットより前に処理された場合、それは、フレーム間パケット乱れが発生したことを示す。
【０１６７】
パケットaがフレーム尾部パケットではなく、パケットaのシーケンス番号がビデオ・ストリームAの最後尾のフレーム尾部パケットのシーケンス番号とMの合計より大きい場合、すなわち、パケットaが前のフレームのフレーム尾部パケットより前に到着する場合、前のフレームのフレーム尾部パケットにおいて乱れまたはパケット損失が発生する可能性がある。この場合、FT_TSフィールドの値とTの和がフレーム尾部パケットの推定タイムスタンプとして使用されてもよく、FT_SNフィールドの値とMの和がフレーム尾部パケットの推定シーケンス番号として使用されてもよい。さらに、FT_TSフィールドの値とFT_SNフィールドの値は、推定タイムスタンプと推定シーケンス番号で更新される。ここで、FT_TSフィールドとFT_SNフィールドは、第1の切り換えテーブルにおけるビデオ・ストリームAに対応する。言い換えると、FT_TSフィールドの値はTだけ増加させられ、FT_SNフィールドの値はMだけ増加させられる。
【０１６８】
本発明の実施形態1によれば、本発明の実施形態2は、送信装置200を提供する。図5に示されるように、送信装置200は、処理ユニット210および通信ユニット220を含む。
【０１６９】
通信ユニット220は、第1のビデオ・ストリームおよび第2のビデオ・ストリームを受領し；送信装置のターゲット出口ポートを通じて第1のビデオ・ストリームを送信し；切り換え命令を受信するように構成される。ここで、切り換え命令は、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように指示するために使用される。
【０１７０】
処理ユニット210は、前記切り換え命令に基づいて、前記第1のビデオ・ストリームの第1の参照フレーム尾部パケットの切り換え参照情報と、前記第2のビデオ・ストリームの第2の参照フレーム尾部パケットの切り換え参照情報とを決定し；前記第1の参照フレーム尾部パケットの切り換え参照情報に基づいて前記第1のビデオ・ストリームの第1の切り換えパケットの切り換え参照情報を決定し、前記第2の参照フレーム尾部パケットの切り換え参照情報に基づいて前記第2のビデオ・ストリームの第2の切り換えパケットの切り換え参照情報を決定するように構成される。
【０１７１】
通信ユニット220は、さらに、第1の切り換えパケットの切り換え参照情報および第2の切り換えパケットの切り換え参照情報に基づいて、ターゲット出口ポートを通じて送信される第1のビデオ・ストリームから第2のビデオ・ストリームに切り換えるように構成される。
【０１７２】
本発明の実施形態2に記載される機能ユニットは、実施形態1の方法において、送信装置によって実行される動作を実装するように構成されてもよい。通信ユニット220は、他の装置と通信するように、たとえば、制御信号を受信する、データ・パケットを受信する、データ・パケットを転送する、あるいはデータ・パケットを転送する際にデータ・パケット内の情報を修正するように構成される。処理ユニット210は、切り換え先ストリームの切り換えシーケンス番号および切り換え元ストリームの切り換えシーケンス番号等を決定するように構成される。
【０１７３】
処理ユニット210は、切り換えられる必要があるビデオ・ストリームの出口ポート（たとえば、前述のターゲット出口ポート）に別々に対応する複数の処理サブユニットを含んでいてもよい。通信ユニット220は、切り換えられる必要があるビデオ・ストリームの出口ポートに別々に対応する複数の送信サブユニットを含んでいてもよい。各出口ポートの処理サブユニットは、出口ポートの切り換え先ストリームの切り換えパケットの切り換え参照情報（たとえば、シーケンス番号）と、出口ポートの切り換え元ストリームの切り換えパケットの切り換え参照情報とを決定する。各出口ポートに対応する送信サブユニットは、出口ポートを通じて転送される必要のあるビデオ・ストリームのデータ・パケットを出口ポートを通じて転送し、出口ポートを通じて転送される必要のないビデオ・ストリームのデータ・パケットを直接破棄する。
【０１７４】
本発明の実施形態2において提供される送信装置200によれば、切り換えの前および後に送信されたデータ・パケットの位置がビデオ・ストリーム切り換え中に考慮されるため、切り換え動作によって送信されるビデオ画像に対して引き起こされる損傷が効果的に低減できる。
【０１７５】
本発明の実施形態1によれば、本発明の実施形態3は送信装置1000を提供する。図6に示されるように、送信装置1000は、プロセッサ1010およびポート1020を含む。
【０１７６】
プロセッサ1010は、本発明の実施形態1において提供される方法100において、送信装置によって実行される動作を実装するように構成される。プロセッサ1010は、ポート1020を通じて他の装置と通信する。プロセッサ1010は、中央処理装置（central  processing  unit、CPU）または特定用途向け集積回路（Application  Specific  Integrated  Circuit、ASIC）であってもよく、または、本発明のこの実施形態を実装する一つまたは複数の集積回路として構成されてもよい。
【０１７７】
図6に示されるように、送信装置1000は、メモリ1030をさらに含んでいてもよい。プロセッサ1010とメモリ1030との間の通信は、バスを使用することによって完了されてもよい。メモリ1030は、コンピュータ動作命令を記憶するように構成され、高速なランダムアクセスメモリ（Random  Access  Memory、RAM）または不揮発性メモリ（non-volatile  memory）であってもよい。プロセッサ1010は、メモリ1030に記憶されたコンピュータ動作命令を実行してもよく、送信装置1000が実施形態1の方法において送信装置によって実行される動作を実行するように、コンピュータ動作命令を実行してもよい。具体的な実装の間、メモリ1030は、処理モジュール1031および通信モジュール1032を含んでいてもよく、これらは、それぞれ、図5に示される処理ユニット210および通信ユニット220の機能を実装するように構成される。対応して、プロセッサ1010は、処理モジュール1031において命令を実行することによって処理ユニット210の機能を実現し、通信モジュール1032において命令を実行することによって通信ユニット220の機能を実現する。
【０１７８】
本発明の実施形態3において提供される送信装置1000によれば、切り換えの前および後に送信されたデータ・パケットの位置がビデオ・ストリーム切り換え中に考慮されるため、切り換え動作によって送信されるビデオ画像に対して引き起こされる損傷が効果的に低減できる。
【０１７９】
前述の実施形態の全部または一部は、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせを使用することによって実装されうる。実施形態を実装するためにソフトウェアが使用される場合、実施形態は、完全にまたは部分的にコンピュータ・プログラム製品の形で実装されうる。コンピュータ・プログラム製品は、一つまたは複数のコンピュータ命令を含む。コンピュータ・プログラム命令がロードされ、コンピュータ上で実行される場合、本発明の実施形態による手順または機能が、すべてまたは部分的に生成される。コンピュータは、汎用コンピュータ、専用コンピュータ、コンピュータネットワーク、または他のプログラム可能な装置であってもよい。コンピュータ命令は、コンピュータ可読記憶媒体に記憶されてもよく、あるいはあるコンピュータ可読記憶媒体から別のコンピュータ可読記憶媒体に伝送されてもよい。コンピュータ可読記憶媒体は、コンピュータにとってアクセス可能な任意の使用可能な媒体でありうる。使用可能な媒体は、磁気媒体（たとえば、フロッピーディスク、ハードディスク、または磁気テープ）、光学式媒体（たとえば、DVD）、半導体媒体（たとえば、ソリッドステートドライブ（Solid  State  Disk、SSD））などであってもよい。
【国際調査報告】
2021535658.tif 000019
2021535658.tif 000020
2021535658.tif 000021
2021535658.tif 000022