(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-01
(54)【発明の名称】データストリームの分析
(51)【国際特許分類】
H04L 43/087 20220101AFI20230525BHJP
H04L 43/024 20220101ALI20230525BHJP
H04L 43/0829 20220101ALI20230525BHJP
H04L 65/65 20220101ALI20230525BHJP
【FI】
H04L43/087
H04L43/024
H04L43/0829
H04L65/65
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022565926
(86)(22)【出願日】2020-04-30
(85)【翻訳文提出日】2022-10-27
(86)【国際出願番号】 CN2020088403
(87)【国際公開番号】W WO2021217612
(87)【国際公開日】2021-11-04
(81)【指定国・地域】
(71)【出願人】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】項 学鋒
(57)【要約】
本開示は、データストリームの分析方法及び装置を提供し、該方法は、複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てて、前記複数のサンプリング周期に異なるオーディオビデオストリームのサンプリングを分担させることであって、複数のサンプリング周期は同じサンプリング期間及び異なる開始時間を有する、ことと、サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内の前記オーディオビデオストリームの最初に到着したデータパケットを第1サンプリングデータパケットとしてコピーすることと、前記サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内の前記オーディオビデオストリームの最後に到着したデータパケットを第2サンプリングデータパケットとしてコピーすることと、前記第1サンプリングデータパケット及び前記第2サンプリングデータパケットのタイムスタンプに基づいて、前記オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出することと、前記送信側の遅延時間及び前記受信側の遅延時間に基づいて、前記オーディオビデオストリームのジッタを分析することと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データストリームの分析方法であって、
複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てて、前記複数のサンプリング周期に異なるオーディオビデオストリームのサンプリングを分担させることであって、複数のサンプリング周期は同じサンプリング期間及び異なる開始時間を有する、ことと、
サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内の前記オーディオビデオストリームの最初に到着したデータパケットを第1サンプリングデータパケットとしてコピーすることと、
前記サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内の前記オーディオビデオストリームの最後に到着したデータパケットを第2サンプリングデータパケットとしてコピーすることと、
前記第1サンプリングデータパケット及び前記第2サンプリングデータパケットのタイムスタンプに基づいて、前記オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出することと、
前記送信側の遅延時間及び前記受信側の遅延時間に基づいて、前記オーディオビデオストリームのジッタを分析することと、を含む
ことを特徴とするデータストリームの分析方法。
【請求項2】
前記第1サンプリングデータパケット及び前記第2サンプリングデータパケットのシーケンス番号に基づいて、前記オーディオビデオストリームの送信側のオリジナルの送信数を算出することと、
統計された前記最初に到着したデータパケットから前記最後に到着したデータパケットまでの前記オーディオビデオストリームの実際の到着数を取得することと、
前記オリジナルの送信数と前記実際の到着数とに基づいて、前記オーディオビデオストリームのパケットロス率を算出することと、
統計された前記オーディオビデオストリームの前記実際の到着数をリセットすることと、をさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
割り当てられたサンプリング周期内の前記オーディオビデオストリームの最初に到着したデータパケットを第1サンプリングデータパケットとしてコピーすることは、
前記割り当てられたサンプリング周期が開始されたことを決定することと、
前記オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定することであって、前記サンプリングストリームエントリのマッチフィールドには前記オーディオビデオストリームの特徴情報が含まれ、前記アクション命令はCPUへコピーパケットを出力するために用いられる、ことと、
前記サンプリングストリームエントリに基づいてコピーされた前記最初に到着したデータパケットを前記第1サンプリングデータパケットとして受信することと、
前記オーディオビデオストリームのサンプリングストリームエントリの前記アクション命令をキャンセルすることと、を含む
ことを特徴とする請求項1に記載の方法。
【請求項4】
割り当てられたサンプリング周期内の前記オーディオビデオストリームの最後に到着したデータパケットを第2サンプリングデータパケットとしてコピーすることは、
前記割り当てられたサンプリング周期が終了したことを決定することと、
前記オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定することであって、前記サンプリングストリームエントリのマッチフィールドには前記オーディオビデオストリームの特徴情報が含まれ、前記アクション命令はCPUへコピーパケットを出力するために用いられる、ことと、
前記割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、前記サンプリングストリームエントリに基づいてコピーされたデータパケットを受信した場合、前記サンプリングストリームエントリの前記アクション命令をキャンセルすることと、
前記割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、最後に受信された、前記サンプリングストリームエントリに基づいてコピーされたデータパケットを前記第2サンプリングデータパケットとすることと、を含む
ことを特徴とする請求項1に記載の方法。
【請求項5】
複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てる前に、
デフォルトエントリに基づいてコピーされた前記オーディオビデオストリームの最初のパケットを受信することであって、前記デフォルトエントリのマッチフィールドは前記オーディオビデオストリームに対応するパケットタイプであり、前記デフォルトエントリのアクション命令はCPUへコピーパケットを出力するために用いられる、ことと、
前記最初のパケットのコピーパケットに基づいて、前記オーディオビデオストリームの特徴情報を取得することと、
前記サンプリングストリームエントリを設定することであって、前記サンプリングストリームエントリのマッチフィールドには前記オーディオビデオストリームの特徴情報が含まれ、前記サンプリングストリームエントリのアクションフィールドはヌルである、ことと、をさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項6】
データストリームの分析装置であって、
プロセッサと、
機械実行可能命令が記憶される機械可読記憶媒体と、を含み、
前記プロセッサは、機械実行可能命令を実行することにより、
複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てて、前記複数のサンプリング周期に異なるオーディオビデオストリームのサンプリングを分担させ、複数のサンプリング周期は同じサンプリング期間及び異なる開始時間を有し、
サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内の前記オーディオビデオストリームの最初に到着したデータパケットを第1サンプリングデータパケットとしてコピーし、
前記サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内の前記オーディオビデオストリームの最後に到着したデータパケットを第2サンプリングデータパケットとしてコピーし、
前記第1サンプリングデータパケット及び前記第2サンプリングデータパケットのタイムスタンプに基づいて、前記オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出し、
前記送信側の遅延時間及び前記受信側の遅延時間に基づいて、前記オーディオビデオストリームのジッタを分析する
ことを特徴とするデータストリームの分析装置。
【請求項7】
前記プロセッサは、機械実行可能命令を実行することにより、さらに、
前記第1サンプリングデータパケット及び前記第2サンプリングデータパケットのシーケンス番号に基づいて、前記オーディオビデオストリームの送信側のオリジナルの送信数を算出し、
統計された前記最初に到着したデータパケットから前記最後に到着したデータパケットまでの前記オーディオビデオストリームの実際の到着数を取得し、
前記オリジナルの送信数と前記実際の到着数とに基づいて、前記オーディオビデオストリームのパケットロス率を算出し、
統計された前記オーディオビデオストリームの前記実際の到着数をリセットする
ことを特徴とする請求項6に記載の装置。
【請求項8】
前記プロセッサは、機械実行可能命令を実行することにより、
前記割り当てられたサンプリング周期が開始されたことを決定し、
前記オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定し、前記サンプリングストリームエントリのマッチフィールドには前記オーディオビデオストリームの特徴情報が含まれ、前記アクション命令はCPUへコピーパケットを出力するために用いられ、
前記サンプリングストリームエントリに基づいてコピーされた前記最初に到着したデータパケットを前記第1サンプリングデータパケットとして受信し、
前記オーディオビデオストリームのサンプリングストリームエントリの前記アクション命令をキャンセルする
ことを特徴とする請求項6に記載の装置。
【請求項9】
前記プロセッサは、機械実行可能命令を実行することにより、
前記割り当てられたサンプリング周期が終了したことを決定し、
前記オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定し、前記サンプリングストリームエントリのマッチフィールドには前記オーディオビデオストリームの特徴情報が含まれ、前記アクション命令はCPUへコピーパケットを出力するために用いられ、
前記割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、前記サンプリングストリームエントリに基づいてコピーされたデータパケットを受信した場合、前記サンプリングストリームエントリの前記アクション命令をキャンセルし、
前記割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、最後に受信された、前記サンプリングストリームエントリに基づいてコピーされたデータパケットを前記第2サンプリングデータパケットとする
ことを特徴とする請求項6に記載の装置。
【請求項10】
前記プロセッサは、機械実行可能命令を実行することにより、複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てる前に、前記プロセッサは、機械実行可能命令を実行することにより、さらに、
デフォルトエントリに基づいてコピーされた前記オーディオビデオストリームの最初のパケットを受信し、前記デフォルトエントリのマッチフィールドは前記オーディオビデオストリームに対応するパケットタイプであり、前記デフォルトエントリのアクション命令はCPUへコピーパケットを出力するために用いられ、
前記最初のパケットのコピーパケットに基づいて、前記オーディオビデオストリームの特徴情報を取得し、
前記サンプリングストリームエントリを設定し、前記サンプリングストリームエントリのマッチフィールドには前記オーディオビデオストリームの特徴情報が含まれ、前記サンプリングストリームエントリのアクションフィールドはヌルである
ことを特徴とする請求項6に記載の装置。
【請求項11】
プロセッサに請求項1に記載のデータストリームの分析方法を実施させる命令が記憶される、ことを特徴とする非一時的機械可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
クロスネットワークビデオ会議、IPTV(Internet Protocol Television、インターネットプロトコルテレビジョン)、ネットワークオンラインライブ配信などのネットワークオーディオビデオサービスは、ネットワークを介してリアルタイムのオーディオビデオデータを伝送する。
【0002】
リアルタイムトランスポートプロトコル(Real-Time Transport Protocol、RTP)は、IP(Internet Protocol)ネットワーク上でオーディオ及びビデオを伝送するプロトコルである。
【図面の簡単な説明】
【0003】
【
図1】本開示の実施例に係るデータストリームの分析方法の模式図である。
【
図2】本開示の実施例に係るデバイスがオーディオビデオストリームの品質を分析する模式図である。
【
図3】本開示の別の実施例に係るデバイスがオーディオビデオストリームの品質を分析する模式図である。
【
図4】本開示の実施例に係るオーディオビデオストリームの分析方法の模式図である。
【
図5】本開示の実施例に係る複数のサンプリング周期が異なるオーディオビデオストリームのサンプリングを分担する模式図である。
【
図6】本開示の実施例に係る第1サンプリングデータパケットを取得する模式図である。
【
図7】本開示の実施例に係る第2サンプリングデータパケットを取得する模式図である。
【
図8】本開示の実施例に係るデータストリームの分析装置の模式図である。
【発明を実施するための形態】
【0004】
当業者が本開示の実施例における技術的解決手段をより良好に理解し、本開示の実施例の上記目的、特徴及び利点をより分かりやすくするために、以下、図面を参照しながら、本開示の実施例における技術的解決手段についてさらに詳細に説明する。
【0005】
図1は本開示の実施例に係るデータストリームの分析方法100であり、以下の処理110~処理150を含む。
【0006】
処理110では、複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てて、前記複数のサンプリング周期に異なるオーディオビデオストリームのサンプリングを分担させ、当該複数のサンプリング周期は、同じサンプリング期間及び異なる開始時間を有する。
【0007】
処理120では、サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内のオーディオビデオストリームの最初に到着したデータパケットを第1サンプリングデータパケットとしてコピーする。
【0008】
処理130では、サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内のオーディオビデオストリームの最後に到着したデータパケットを第2サンプリングデータパケットとしてコピーする。
【0009】
処理140では、第1サンプリングデータパケット及び第2サンプリングデータパケットのタイムスタンプに基づいて、オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出する。
【0010】
処理150では、送信側の遅延時間及び受信側の遅延時間に基づいて、オーディオビデオストリームのジッタを分析する。
【0011】
図1に示される方法は、複数のサンプリング周期により異なるオーディオビデオストリームのサンプリングを分担し、各オーディオビデオストリームの品質を分析するためのサンプリングパケットの数を削減する。デバイスが
図1に示される方法を用いて多数のオーディオビデオストリームの品質を分析する場合、デバイスの負荷が軽減される。
【0012】
当業者が本開示の実施例に係る技術的解決手段をより良好に理解するために、以下、具体的な適用シナリオを参照しながら、本開示の実施例に係る技術的解決手段について説明する。
【0013】
図2は本開示の実施例に係るデバイスがオーディオビデオストリームの品質を分析する模式図である。
図2では、CPU21は、データチャネルlink0を介してスイッチチップ22のポート22aに接続される。スイッチチップ22の転送モジュール221には、レイヤ2転送テーブル及びレイヤ3転送テーブルが記憶される。スイッチチップ22のサンプリングモジュール222には、分析対象となるn個のオーディオビデオストリームのサンプリングストリームエントリが記憶される。異なるオーディオビデオストリームのRTP(Real-time Transport Protocol、リアルタイムトランスポートプロトコル)パケットはデバイス20に到着し、例えば、実線で示されている最初に到着したRTPパケット及び破線で示されている後に到着したRTPパケットが挙げられる。転送モジュール221は、RTPパケットを転送し、サンプリングモジュール222は、異なるサンプリング周期により異なるオーディオビデオストリームのサンプリングを分担し、各サンプリング周期のサンプリングされる必要があるオーディオビデオストリームのサンプリングデータパケットを、ポート22aに接続されたデータチャネルlink0を介してCPU21に送信し、CPU21は、各オーディオビデオストリームのサンプリングデータパケットを受信して分析する。統計モジュール223は、サンプリングモジュール222の各サンプリングストリームエントリに1つのカウンタをバインドして、サンプリングストリームエントリのマッチフィールドのビデオストリームサービス特徴情報とマッチングするRTPパケットの数を統計するために用いられる。
【0014】
図3は本開示の別の実施例に係るデバイスがオーディオビデオストリームの品質を分析する模式図である。
図3では、CPU21は、データチャネルlink0を介してスイッチチップ22のポート22aに接続され、データチャネルlink1を介してスイッチチップのポート22bに接続される。スイッチチップ22の転送モジュール221には、レイヤ2転送テーブル及びレイヤ3転送テーブルが記憶される。スイッチチップ22のサンプリングモジュール222には、分析されたn個のオーディオビデオストリームのサンプリングストリームエントリが記憶される。
【0015】
図4は本開示の実施例に係るオーディオビデオストリームの分析方法400であり、該方法は、
図3に示されているデバイス20に用いられてもよい。該方法400は以下の処理401~処理410を含む。
【0016】
処理401では、サンプリングストリームエントリを設定し、該サンプリングストリームエントリのマッチフィールドにはオーディオビデオストリームの特徴情報が含まれる。
【0017】
オーディオビデオストリームの最初のRTPパケット201がデバイス20に到着すると、転送モジュール221は、最初のRTPパケット201を転送する。サンプリングモジュール222は、最初のRTPパケット201のストリーム特徴情報に基づいて、サンプリングストリームエントリ1~n内で検索する。サンプリングモジュール222は、サンプリングストリームエントリ1~nが最初のRTPパケット201とマッチングしないことを決定し、マッチング失敗識別子を追加する。デフォルトマッチングモジュール224は、マッチング失敗識別子を備えた最初のRTPパケット201に対して、マッチングされたデフォルトストリームエントリを見つける。デフォルトストリームエントリには、マッチフィールドはパケットタイプRTP over UDP(User Datagram Protocol、ユーザデータグラムプロトコル)及びマッチング失敗識別子を含み、アクションフィールドはCPU21にコピーパケットを出力するために用いられる。
【0018】
デフォルトマッチングモジュール224は、最初のRTPパケット201をRTPパケット202としてコピーし、ポート22bに接続されたデータチャネルlink1を介してRTPパケット202をCPU21に送信する。最初のRTPパケット201のマッチング失敗識別子は、デフォルトマッチングモジュール224から離れた後に取り除かれる。
【0019】
CPU21は、RTPパケット202を受信した場合、5タプル情報などのオーディオビデオストリームの特徴情報を取得する。
【0020】
CPU21は、取得されたRTPパケット202のストリーム特徴情報に基づいて、新たなサンプリングストリームエントリ203を生成し、マッチフィールドは、オーディオビデオストリームの特徴情報を含み、アクションフィールドは、ヌルである。CPU21は、データチャネルlink0を介してポート22aに接続されて、新たなサンプリングストリームエントリ203をサンプリングモジュール222に同期させて、サンプリングモジュール222にn+1番目のサンプリングストリームエントリを記憶させる(
図3では図示せず)。このように、
図3のデバイス20は、サンプリングされていないオーディオビデオストリームの最初のパケットに基づいて、新たなサンプリングストリームエントリを生成することができる。
【0021】
処理402では、複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てて、複数のサンプリング周期に異なるオーディオビデオストリームのサンプリングを分担させ、複数のサンプリング周期は、同じサンプリング期間及び異なる開始時間を有する。
【0022】
CPU21は、同じサンプリング期間を有する複数のサンプリング周期を設定し、該複数のサンプリング周期に対して異なる開始時間を設定することにより、該複数のサンプリング周期にそれぞれ異なる時間でサンプリングを開始させることができる。
【0023】
CPU21には複数のスキャナーが設けられてもよく、1つのスキャナーは1つのサンプリング周期に対応し、各スキャナーはそれぞれ異なる開始時間でオーディオビデオストリームを走査してサンプリングする。CPU21は、オーディオビデオストリームにスキャナーを割り当てることにより、複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てることを実現できる。
【0024】
CPU21がスキャナーを割り当てる場合、各スキャナーによって走査される必要があるオーディオビデオストリームの数を比較的均一にすることにより、一部のスキャナーの負荷が大きすぎ、残りの部分のスキャナーの負荷が小さすぎることを回避し、スキャナー割り当ての合理性を向上させることができる。
【0025】
例えば、CPU21は、それぞれ各スキャナー及び各分析すべきオーディオビデオストリームをポーリングして選択し、選択されたスキャナーを選択されたオーディオビデオストリームに割り当てることができる。
【0026】
又は、CPU21は、スキャナーの数に基づいて、Hash(ハッシュ)アルゴリズムを用いて、スキャナーをオーディオビデオストリームに割り当てて、複数のスキャナーに異なるオーディオビデオストリームのサンプリングを分担させることができる。
【0027】
例えば、スキャナーの数をNとすると、オーディオビデオストリームに対応するサンプリングストリームエントリのエントリ番号に基づいてNの剰余をとり、剰余結果に基づいてサンプリングストリームエントリに対応するオーディオビデオストリームを分類し、同じ剰余結果のオーディオビデオストリームは同じタイプに属し、異なる剰余結果のオーディオビデオストリームは異なるカテゴリに属し、同じカテゴリのオーディオビデオデータストリームは1つのスキャナーを共有し、異なるカテゴリのオーディオビデオデータストリームは異なるスキャナーを使用する。異なるスキャナーの開始時間をずらすことで、CPUがサンプリングデータパケットを受信する時間が集中しすぎないようにする。
【0028】
図5は本開示の実施例に係る複数のサンプリング周期が異なるオーディオビデオストリームのサンプリングを分担する模式図である。
【0029】
例えば、Nを3とすると、すなわち3つのスキャナーが含まれ、それらがそれぞれスキャナー1~3であるとすると、エントリ番号を3で割ると、剰余が0のストリームエントリに対応するオーディオビデオデータストリームは、スキャナー3によって走査され、エントリ番号を3で割ると、剰余が1のストリームエントリに対応するオーディオビデオデータストリームは、スキャナー1によって走査され、エントリ番号を3で割ると、剰余が2のストリームエントリに対応するオーディオビデオデータストリームは、スキャナー2によって走査される。
【0030】
処理403では、サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内のオーディオビデオストリームの最初に到着したデータパケットを第1サンプリングデータパケットとしてコピーする。
【0031】
処理404では、サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内のオーディオビデオストリームの最後に到着したデータパケットを第2サンプリングデータパケットとしてコピーする。
【0032】
いずれかのオーディオビデオストリームについて、CPU21は、該オーディオビデオストリームに割り当てられたサンプリング周期内で、該オーディオビデオストリームに対応するサンプリングストリームエントリに基づいて、該サンプリング周期内の最初に到着した該オーディオビデオストリームのデータパケットをコピーし、該コピーパケットを第1サンプリングデータパケットとしてCPU21へ出力し、該サンプリング周期内の最後に到着した該オーディオビデオストリームのデータパケットをコピーし、該コピーパケットを第2サンプリングデータパケットとしてCPU21へ出力するようにスイッチチップ22に指示することができる。
【0033】
図6は本開示の実施例に係る第1サンプリングデータパケットを取得する処理403の模式図である。
図6に示すように、該処理403は以下の処理4031~処理4034を含んでもよい。
【0034】
処理4031では、割り当てられたサンプリング周期が開始されたことを決定する。
【0035】
いずれかのオーディオビデオストリームについて、CPU21は、該オーディオビデオストリームに割り当てられたサンプリング周期の開始時間に基づいて、該オーディオビデオストリームに割り当てられたサンプリング周期が開始されたか否かを決定し、すなわち、CPU21は、各スキャナーの開始時間に基づいて、対応する各サンプリング周期の開始を決定することができる。
【0036】
処理4032では、オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定し、該サンプリングストリームエントリのマッチフィールドにはオーディオビデオストリームの特徴情報が含まれ、該アクション命令はCPUへコピーパケットを出力するために用いられる。
【0037】
CPU21はオーディオビデオストリームに割り当てられたサンプリング周期が開始されたことを決定した場合、該オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定することができ、該アクション命令はCPUへコピーパケットを出力するために用いられる。
【0038】
例えば、CPU21は、スイッチチップ22に第1設定命令を送信し、該第1設定命令は、オーディオビデオストリームの特徴情報が付加され、スイッチチップ22が第1設定命令を受信した場合、該オーディオビデオストリームの特徴情報とマッチングするサンプリングストリームエントリnを照会し、照会されたサンプリングストリームエントリnに「Copy to CPU」などのアクション命令を設定することができる。
【0039】
スイッチチップ22は受信されたデータパケットが該サンプリングストリームエントリのマッチフィールドとマッチングすることを決定した場合、スイッチチップ22は、該サンプリングストリームエントリのアクション命令に基づいて、該データパケットをコピーし、コピーパケットをCPU21へ出力することができる。
【0040】
処理4033では、該サンプリングストリームエントリに基づいてコピーされた最初に到着したデータパケットを第1サンプリングデータパケットとして受信する。
【0041】
CPU21は、現在のサンプリング周期内で該オーディオビデオストリームの一番目のコピーパケットを受信した場合、該コピーパケットを該オーディオビデオストリームの第1サンプリングデータパケットとする。
【0042】
処理4034では、オーディオビデオストリームのサンプリングストリームエントリのアクション命令をキャンセルする。
【0043】
CPU21は、該オーディオビデオストリームの第1サンプリングデータパケットを受信した場合、該オーディオビデオストリームのサンプリングストリームエントリのアクション命令をキャンセルする。
【0044】
例えば、CPU21は、スイッチチップ22に第2設定命令を送信し、該第2設定命令は、オーディオビデオストリームの特徴情報が付加され、スイッチチップ22が第2設定命令を受信した場合、該オーディオビデオストリームの特徴情報とマッチングするサンプリングストリームエントリを照会し、照会されたサンプリングストリームエントリnのアクション命令をキャンセルすることができる。
【0045】
スイッチチップ22が該サンプリングストリームエントリのマッチフィールドとマッチングするデータパケットを再度受信した場合、サンプリングモジュール222は、サンプリングストリームエントリnとマッチングするRTPデータパケットのコピーパケットをCPU21へ出力しない。
【0046】
図7は本開示の実施例に係る第2サンプリングデータパケットを取得する方法の処理404の模式図であり、
図7に示すように、該処理404は以下の処理4041~処理4044を含んでもよい。
【0047】
処理4041では、割り当てられたサンプリング周期が終了したことを決定する。
【0048】
いずれかのオーディオビデオストリームについて、CPU21は、該オーディオビデオストリームに割り当てられたスキャナーのサンプリング期間及び開始時間に基づいて、該オーディオビデオストリームに割り当てられたサンプリング周期が終了したか否かを決定することができる。
【0049】
処理4042では、オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定し、該サンプリングストリームエントリのマッチフィールドには該オーディオビデオストリームの特徴情報が含まれ、該アクション命令はCPUへコピーパケットを出力するために用いられる。
【0050】
CPU21はオーディオビデオストリームに割り当てられたサンプリング周期が終了したことを決定した場合、該オーディオビデオストリームのサンプリングストリームエントリnにアクション命令を設定することができ、該アクション命令はCPUへコピーパケットを出力するために用いられる。
【0051】
処理4043では、割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、該サンプリングストリームエントリに基づいてコピーされたデータパケットを受信した場合、該サンプリングストリームエントリのアクション命令をキャンセルする。
【0052】
処理4044では、割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、最後に受信された、該サンプリングストリームエントリに基づいてコピーされたデータパケットを第2サンプリングデータパケットとする。
【0053】
CPU21は、オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定してから、該サンプリングストリームエントリに基づいてコピーされたデータパケット、すなわち該オーディオビデオストリームのデータパケットのコピーパケットを受信することができる。
【0054】
CPU21が該オーディオビデオストリームに割り当てられたサンプリング周期の終了時間から所定期間、例えば5秒を経過する前に、該サンプリングストリームエントリnに基づいてコピーされたデータパケットを受信した場合、サンプリングストリームエントリnのアクション命令をキャンセルすることができる。
【0055】
サンプリングストリームエントリnのアクション命令がキャンセルされた後、スイッチチップ22は、該サンプリングストリームエントリnのマッチフィールドとマッチングするデータパケットを再度受信した場合、該データパケットのコピーパケットをCPU21へ出力しなくなる。
【0056】
CPU21がサンプリングストリームエントリnのアクション命令のキャンセルを完了するまでには、所定の期間が必要であるため、CPU21がサンプリングストリームエントリのアクション命令のキャンセルを決定してから、サンプリングストリームエントリnのアクション命令のキャンセルが完了するまでの期間内に、スイッチチップ22のサンプリングモジュール222は、依然として該サンプリングストリームエントリに基づいて、コピーされたデータパケットをCPU21へ出力する可能性があり、CPU21は、該オーディオビデオストリームに割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、最後に受信された、該サンプリングストリームエントリに基づいてコピーされたデータパケットを第2サンプリングデータパケットとすることができる。
【0057】
なお、CPU21は、オーディオビデオストリームに割り当てられたサンプリング周期の終了時間から所定期間を経過するまでの期間内に、該サンプリングストリームエントリに基づいてコピーされたデータパケットを受信せず、すなわち第2サンプリングデータパケットが存在しない場合、CPU21は、該割り当てられたサンプリング周期の終了時間から所定期間を経過した場合、該サンプリングストリームエントリのアクション命令をキャンセルし、該サンプリング周期が該オーディオビデオストリームの無効なサンプリング周期であると決定し、該サンプリング周期に対して該オーディオビデオストリームの品質インデックスを分析しない。
【0058】
以下、図面を参照しながら、第1サンプリングデータパケット及び第2サンプリングデータパケットの取得を実現することについて例を挙げて説明する。
【0059】
図5を参照すると、スキャナーの数が3つであり、それぞれスキャナー1~3であるとすると、スキャナー1~3のサンプリング周期のサンプリング期間が同じであるが、開始時間が異なり、スキャナー1~3がそれぞれ異なるオーディオビデオストリームに割り当てられる。
【0060】
図5に示すように、時刻t10にスキャナー1が開始され、CPU21は、スキャナー1に割り当てられたオーディオビデオストリームのサンプリングストリームエントリに、「copy to CPU」などのアクション命令を設定する。スイッチチップ22は、オーディオビデオストリーム1のデータパケットを受信した場合、マッチングされたサンプリングストリームエントリ1を見つけ、該サンプリングストリームエントリのアクション命令に基づいて、コピーパケットP1をCPU21に送信する。CPU21は、時刻t11にコピーパケットP1を受信し、コピーパケットP1をオーディオビデオストリーム1の第1サンプリングデータパケットとして、オーディオビデオストリーム1のサンプリングストリームエントリ1のアクション命令をキャンセルする。
【0061】
時刻t12にスキャナー1のサンプリング周期が終了し、CPU21は、スキャナー1に割り当てられたオーディオビデオストリームのサンプリングストリームエントリに、アクション命令を設定し、タイマーを開始する。スキャナー1のタイマーのタイムアウト時刻は時刻t13である。スイッチチップ22は、時刻t12から時刻t13までの間にオーディオビデオストリーム1のデータパケットを受信した場合、マッチングされたサンプリングストリームエントリを見つけ、該サンプリングストリームエントリ1のアクション命令に基づいて、コピーパケットをCPU21に送信する。
【0062】
CPU21は、時刻t12から時刻t13までの間に、すなわちスキャナー1のタイマーがタイムアウトになる前に、オーディオビデオストリーム1のデータパケットのコピーパケットを受信したか否かを決定できる。CPU21が、時刻t12から時刻t13までの間にオーディオビデオストリーム1のデータパケットのコピーパケットP2及びコピーパケットP3を順番に受信すると、CPU21は、コピーパケットP2を受信した場合、オーディオビデオストリーム1のサンプリングストリームエントリ1のアクション命令をキャンセルし、コピーパケットP3をオーディオビデオストリーム1の第2サンプリングデータパケットとすることができる。
【0063】
なお、CPU21が、時刻t13の後にオーディオビデオストリーム1のデータパケットのコピーパケットを受信すると、このとき、スキャナー1のタイマーがタイムアウトになったため、CPU21は、該コピーパケットを現在のサンプリング周期内に統計しない。
【0064】
時刻t20にスキャナー2が開始され、CPU21は、スキャナー2に割り当てられたオーディオビデオストリームのサンプリングストリームエントリに、「copy to CPU」などのアクション命令を設定する。スイッチチップ22は、オーディオビデオストリーム2のデータパケットを受信した場合、マッチングされたサンプリングストリームエントリ2を見つけ、該サンプリングストリームエントリ2のアクション命令に基づいて、コピーパケットP4をCPU21に送信する。CPU21は、時刻t21にコピーパケットP4を受信し、コピーパケットP4をオーディオビデオストリーム2の第1サンプリングパケットとして、オーディオビデオストリーム2のサンプリングストリームエントリ2のアクション命令をキャンセルする。
【0065】
時刻t22にスキャナー2のサンプリング周期が終了し、CPU21は、スキャナー2に割り当てられたオーディオビデオストリームのサンプリングストリームエントリ2にアクション命令を設定し、タイマーを開始する。スキャナー2のタイマーのタイムアウト時刻は時刻t23である。スイッチチップ22は、時刻t22から時刻t23までの間にオーディオビデオストリーム2のデータパケットを受信した場合、マッチングされたサンプリングストリームエントリ2を見つけ、該サンプリングストリームエントリ2のアクション命令に基づいて、コピーパケットをCPU21に送信する。
【0066】
CPU21は、時刻t22から時刻t23までの間にオーディオビデオストリーム2のデータパケットのコピーパケットP5を受信したことを決定し、オーディオビデオストリーム2のサンプリングストリームエントリ2のアクション命令をキャンセルし、コピーパケットP5をオーディオビデオストリーム2の第2サンプリングデータパケットとする。
【0067】
時刻t30にスキャナー3が開始され、CPU21は、スキャナー3に割り当てられたオーディオビデオストリームのサンプリングストリームエントリ2に「copy to CPU」などのアクション命令を設定する。スイッチチップ22は、オーディオビデオストリーム3のデータパケットを受信した場合、マッチングされたサンプリングストリームエントリ3を見つけ、該サンプリングストリームエントリ3のアクション命令に基づいて、コピーパケットP6をCPU21に送信する。CPU21は、時刻t31にコピーパケットP6を受信し、コピーパケットP6をオーディオビデオストリーム3の第1サンプリングパケットとして、オーディオビデオストリーム3のサンプリングストリームエントリ3のアクション命令をキャンセルする。
【0068】
時刻t32にスキャナー3のサンプリング周期が終了し、CPU21は、スキャナー3に割り当てられたオーディオビデオストリームのサンプリングストリームエントリ3に、アクション命令を設定し、タイマーを開始し、タイマーのタイムアウト時刻は時刻t33である。スイッチチップ22は、時刻t32から時刻t33までの間にオーディオビデオストリーム3のデータパケットを受信した場合、マッチングされたサンプリングストリームエントリ3を見つけ、該サンプリングストリームエントリのアクション命令に基づいて、コピーパケットをCPU21に送信する。
【0069】
CPU21は、時刻t32から時刻t33までの間に、すなわちタイマーがタイムアウトになる前に、オーディオビデオストリーム3のデータパケットのコピーパケットを受信したか否かを決定できる。CPU21が、時刻t32から時刻t33までの間にオーディオビデオストリーム3のデータパケットのコピーパケットP5を受信していない場合、CPU21は、時刻t33にオーディオビデオストリーム3のサンプリングストリームエントリ3のアクション命令をキャンセルし、該サンプリング周期がオーディオビデオストリーム3の無効なサンプリング周期であると決定し、該サンプリング周期のオーディオビデオストリーム3の品質インデックスを分析しない。
【0070】
処理405では、第1サンプリングデータパケット及び第2サンプリングデータパケットのタイムスタンプに基づいて、オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出する。
【0071】
処理406では、該送信側の遅延時間及び受信側の遅延時間に基づいて、オーディオビデオストリームのジッタを分析する。
【0072】
CPU21は、第1サンプリングデータパケットと第2サンプリングデータパケットとを取得した場合、該第1サンプリングデータパケット及び第2サンプリングデータパケットのタイムスタンプに基づいて、オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出することができる。
【0073】
例えば、上記
図5に示される例のオーディオビデオストリーム1を例として、CPU21は、コピーパケットP1及びコピーパケットP3のタイムスタンプに基づいて、オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出することができる。
【0074】
コピーパケットP1の送信タイムスタンプ、すなわちコピーパケットP1のRTPヘッダ中のtimestampがTS0であり、コピーパケットP3の送信タイムスタンプ、すなわちコピーパケットP3のRTPヘッダ中のtimestampがTS1であるとすると、オーディオビデオストリーム1の現在のサンプリング周期内の送信側の遅延時間は△T1=TS1-TS0である。
【0075】
コピーパケットP1の受信タイムスタンプ、すなわちスイッチチップ22がコピーパケットP1をCPU21に出力するときに追加したtimestampがTS2であり、コピーパケットP3の受信タイムスタンプ、すなわちスイッチチップ22がコピーパケットP3をCPU21に出力するときに追加したtimestampがTS3であるとすると、オーディオビデオストリーム1の現在のサンプリング周期内の受信側の遅延時間は△T2=TS3-TS2である。
【0076】
CPU21は、オーディオビデオストリーム1の現在のサンプリング周期内のジッタがJitter=|△T2-△T1|であることを決定できる。
【0077】
処理407では、第1サンプリングデータパケット及び第2サンプリングデータパケットのシーケンス番号に基づいて、オーディオビデオストリームの送信側のオリジナルの送信数を算出する。
【0078】
CPU21は、第1サンプリングデータパケット及び第2サンプリングデータパケットを取得した場合、第1サンプリングデータパケット及び第2サンプリングデータパケットのシーケンス番号に基づいて、オーディオビデオストリームの送信側のオリジナルの送信数を算出することもできる。
【0079】
例えば、依然として上記
図5に示される例のオーディオビデオストリーム1を例として、CPU21は、コピーパケットP1及びコピーパケットP3のシーケンス番号に基づいて、オーディオビデオストリームのオリジナルの送信数を算出することができる。
【0080】
コピーパケットP1のシーケンス番号、すなわちコピーパケットP1のRTPヘッダ中のsequence numberがSN0であり、コピーパケットP3のシーケンス番号、すなわちコピーパケットP3のRTPヘッダ中のsequence numberがSN1であるとすると、オーディオビデオストリーム1の現在のサンプリング周期内のオリジナルの送信数はdelta=SN1-SN0である。
【0081】
処理408では、統計された最初に到着したデータパケットから最後に到着したデータパケットまでのオーディオビデオストリームの実際の到着数を取得する。
【0082】
CPU21はさらに、オーディオビデオストリームの実際の到着数を統計することができる。
【0083】
例えば、CPU21は、サンプリングストリームエントリごとに1つのカウンタを設けてもよく、該カウンタは、スイッチチップ22によって受信された、該サンプリングストリームエントリとマッチングするデータパケットをカウントするために用いられる。CPU21は、第2サンプリングデータパケットを取得した場合、サンプリングストリームエントリに対応するカウンタのカウント値を読み取ることにより、オーディオビデオストリームの実際の到着数を取得することができる。
【0084】
処理409では、オリジナルの送信数及び実際の到着数に基づいて、オーディオビデオストリームのパケットロス率を算出する。
【0085】
CPU21によって決定されたオーディオビデオストリームの送信側のオリジナルの送信数がdeltaであり、実際の到着数がcounter0であるとすると、オーディオビデオストリームの現在のサンプリング周期内のパケットロス率は(delta-counter0)/deltaである。
【0086】
処理410では、統計されたオーディオビデオストリームの実際の到着数をリセットする。
【0087】
CPU21は、オーディオビデオストリームの実際の到着数を取得した後、次のサンプリング周期のオーディオビデオストリームの実際の到着数を統計するように、統計されたオーディオビデオストリームの実際の到着数をリセットすることもできる。
【0088】
なお、CPU21は、現在のサンプリング周期内のオーディオビデオストリームのジッタ及びパケットロス率を決定した場合、現在のサンプリング周期内のオーディオビデオストリームのジッタ及びパケットロス率と、過去のサンプリング周期内の該オーディオビデオストリームのジッタ及びパケットロス率とに基づいて、該オーディオビデオストリームの最大ジッタ及び最大パケットロス率、最小ジッタ及び最小パケットロス率、並びに平均ジッタ及び平均パケットロス率など決定することができる。
【0089】
例えば、CPU21は、現在のサンプリング周期内のオーディオビデオストリームのジッタ及びパケットロス率を、表1に示されるエントリに保存された過去のサンプリング周期の最大インデックスと比較することができ、今回のインデックスが最大である場合、エントリにおける最大インデックスデータを更新し、今回のインデックスが最小である場合、エントリにおける最小インデックスデータを更新し、同時に過去のサンプリング周期の平均インデックスデータを算出してリフレッシュする。
【0090】
【0091】
以上より、
図2に示される例では、異なる時刻に異なるオーディオストリームを分析し、各オーディオビデオストリームの分析については、この分析周期のすべてのデータパケットを取得する必要がなく、分析周期内の最初に到着したデータパケットのコピーパケット及び最後に到着したデータパケットのコピーパケットを取得し、CPUの処理圧力が軽減され、同じ時刻ですべてのオーディオビデオストリームを分析すること、及び各オーディオビデオストリームのすべてのデータパケットをいずれも分析することによる過度のCPU負荷を回避する。
【0092】
また、RTPパケットがデータパケットであり、RTPプロトコルがUDPプロトコル上で実行されていることを考慮すると、RTPパケットはリアルタイムのサービス品質を確保できない可能性がある。本開示の実施例では、オーディオビデオストリームを伝送するRTPパケットを取得し、取得されたRTPパケットに基づいて遅延時間及びパケットロス率を分析することにより、オーディオビデオサービスの障害を引き起こしているネットワークノードを効果的に特定し、オーディオビデオサービスの障害問題を解決するために技術サポートを提供することができる。
【0093】
図8は本開示の実施例に係るデータストリームの分析装置800であり、プロセッサ801、及び機械実行可能命令が記憶される機械可読記憶媒体802を含む。該機械可読記憶媒体802は、例えば、非一時的記憶媒体である。プロセッサ801と機械可読記憶媒体802とは、システムバス803を介して通信することができる。また、機械可読記憶媒体802の、データストリームの分析制御ロジックに対応する機械実行可能命令を読み取って実行することにより、プロセッサ801は、上記説明されるデータストリームの分析方法を実行することができる。
【0094】
具体的には、プロセッサ801は、機械実行可能命令を実行することにより、複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てて、複数のサンプリング周期に異なるオーディオビデオストリームのサンプリングを分担させ、複数のサンプリング周期は同じサンプリング期間及び異なる開始時間を有し、サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内のオーディオビデオストリームの最初に到着したデータパケットを第1サンプリングデータパケットとしてコピーし、サンプリングストリームエントリに基づいて、割り当てられたサンプリング周期内のオーディオビデオストリームの最後に到着したデータパケットを第2サンプリングデータパケットとしてコピーし、第1サンプリングデータパケット及び第2サンプリングデータパケットのタイムスタンプに基づいて、オーディオビデオストリームの送信側の遅延時間及び受信側の遅延時間を算出し、送信側の遅延時間及び受信側の遅延時間に基づいて、オーディオビデオストリームのジッタを分析する。
【0095】
一例では、プロセッサ801はさらに、機械実行可能命令を実行することにより、第1サンプリングデータパケット及び第2サンプリングデータパケットのシーケンス番号に基づいて、オーディオビデオストリームの送信側のオリジナルの送信数を算出し、統計された最初に到着したデータパケットから最後に到着したデータパケットまでのオーディオビデオストリームの実際の到着数を取得し、オリジナルの送信数と実際の到着数に基づいて、オーディオビデオストリームのパケットロス率を算出するし、統計されたオーディオビデオストリームの実際の到着数をリセットする。
【0096】
プロセッサ801はさらに、機械実行可能命令を実行することにより、第1サンプリングデータパケット及び第2サンプリングデータパケットのシーケンス番号に基づいて、オーディオビデオストリームの送信側のオリジナルの送信数を算出し、オーディオビデオストリームの実際の到着数を統計する。
【0097】
例えば、プロセッサ801は、機械実行可能命令を実行することにより、サンプリングストリームエントリごとに1つのカウンタを設けることができ、該カウンタは、スイッチチップによって受信された、該サンプリングストリームエントリとマッチングするデータパケットをカウントするために用いられる。プロセッサ801は、機械実行可能命令を実行することにより、第2サンプリングデータパケットを取得した場合、サンプリングストリームエントリに対応するカウンタのカウント値を読み取ることにより、オーディオビデオストリームの実際の到着数を取得することができる。
【0098】
プロセッサ801は、機械実行可能命令を実行することにより、オリジナルの送信数及び実際の到着数に基づいて、オーディオビデオストリームのパケットロス率を算出する。プロセッサ801は、機械実行可能命令を実行することにより、オーディオビデオストリームの実際の到着数を取得した後、次のサンプリング周期のオーディオビデオストリームの実際の到着数を統計するように、統計されたオーディオビデオストリームの実際の到着数をリセットすることもできる。
【0099】
なお、プロセッサ801は、機械実行可能命令を実行することにより、現在のサンプリング周期内のオーディオビデオストリームのジッタ及びパケットロス率を決定した場合、現在のサンプリング周期内のオーディオビデオストリームのジッタ及びパケットロス率と、過去のサンプリング周期内の該オーディオビデオストリームのジッタ及びパケットロス率とに基づいて、該オーディオビデオストリームの最大ジッタ及び最大パケットロス率、最小ジッタ及び最小パケットロス率、並びに平均ジッタ及び平均パケットロス率などを決定することができる。
【0100】
一例では、プロセッサ801は、機械実行可能命令を実行することにより、割り当てられたサンプリング周期が開始されたことを決定し、オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定し、サンプリングストリームエントリのマッチフィールドにはオーディオビデオストリームの特徴情報が含まれ、アクション命令はCPUへコピーパケットを出力するために用いられ、サンプリングストリームエントリに基づいてコピーされた最初に到着したデータパケットを第1サンプリングデータパケットとして受信し、オーディオビデオストリームのサンプリングストリームエントリのアクション命令をキャンセルする。
【0101】
プロセッサ801は、機械実行可能命令を実行することにより、該オーディオビデオストリームに割り当てられたサンプリング周期の開始時間に基づいて、該オーディオビデオストリームに割り当てられたサンプリング周期が開始されたか否かを決定することができる。プロセッサ801は、機械実行可能命令を実行することにより、オーディオビデオストリームに割り当てられたサンプリング周期が開始されたことを決定した場合、該オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定することができ、該アクション命令はCPUへコピーパケットを出力するために用いられる。プロセッサ801は、機械実行可能命令を実行することにより、現在のサンプリング周期内で該オーディオビデオストリームの一番目のコピーパケットを受信した場合、該コピーパケットを該オーディオビデオストリームの第1サンプリングデータパケットとして、該オーディオビデオストリームのサンプリングストリームエントリのアクション命令をキャンセルする。
【0102】
一例では、プロセッサ801は、機械実行可能命令を実行することにより、割り当てられたサンプリング周期が終了したことを決定し、オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定し、サンプリングストリームエントリのマッチフィールドにはオーディオビデオストリームの特徴情報が含まれ、アクション命令はCPUへコピーパケットを出力するために用いられ、割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、サンプリングストリームエントリに基づいてコピーされたデータパケットを受信した場合、サンプリングストリームエントリのアクション命令をキャンセルし、割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、最後に受信された、サンプリングストリームエントリに基づいてコピーされたデータパケットを第2サンプリングデータパケットとする。
【0103】
プロセッサ801は、機械実行可能命令を実行することにより、該オーディオビデオストリームに割り当てられたスキャナーのサンプリング期間及び開始時間に基づいて、該オーディオビデオストリームに割り当てられたサンプリング周期が終了したか否かを決定することができる。プロセッサ801は、機械実行可能命令を実行することにより、オーディオビデオストリームの割り当てられたサンプリング周期が終了したことを決定した場合、該オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定することができ、該アクション命令はCPUへコピーパケットを出力するために用いられる。プロセッサ801は、機械実行可能命令を実行することにより、オーディオビデオストリームのサンプリングストリームエントリにアクション命令を設定してから、該サンプリングストリームエントリに基づいてコピーされたデータパケット、すなわち該オーディオビデオストリームのデータパケットのコピーパケットを受信することができる。プロセッサ801は、機械実行可能命令を実行することにより、該オーディオビデオストリームに割り当てられたサンプリング周期の終了時間から所定期間、例えば5秒を経過する前に、該サンプリングストリームエントリに基づいてコピーされたデータパケットを受信した場合、サンプリングストリームエントリのアクション命令をキャンセルすることができる。プロセッサ801は、機械実行可能命令を実行することにより、該オーディオビデオストリームに割り当てられたサンプリング周期の終了時間から所定期間を経過する前に、最後に受信された、該サンプリングストリームエントリに基づいてコピーされたデータパケットを第2サンプリングデータパケットとすることができる。
【0104】
一例では、プロセッサ801はさらに、機械実行可能命令を実行することにより、複数のサンプリング周期のうちの1つのサンプリング周期をオーディオビデオストリームに割り当てる前に、プロセッサ801は、機械実行可能命令を実行することにより、さらに、デフォルトエントリに基づいてコピーされたオーディオビデオストリームの最初のパケットを受信し、デフォルトエントリのマッチフィールドはオーディオビデオストリームに対応するパケットタイプであり、デフォルトエントリのアクション命令はCPUへコピーパケットを出力するために用いられ、最初のパケットのコピーパケットに基づいて、オーディオビデオストリームの特徴情報を取得し、サンプリングストリームエントリを設定し、サンプリングストリームエントリのマッチフィールドにはオーディオビデオストリームの特徴情報が含まれ、サンプリングストリームエントリのアクションフィールドはヌルである。
【0105】
1つのオーディオビデオストリームの最初のパケットがデバイスに到着すると、デバイスの転送モジュールは最初のパケットを転送する。デバイスのサンプリングモジュールは、最初のパケットのストリーム特徴情報に基づいて、サンプリングストリームエントリ内で検索する。サンプリングモジュールは、サンプリングストリームエントリが最初のパケットとマッチングしないことを決定し、マッチング失敗識別子を追加する。デバイスのデフォルトマッチングモジュールは、マッチング失敗識別子を備えた最初のパケットに対して、マッチングされたデフォルトストリームエントリを見つける。デフォルトストリームエントリには、マッチフィールドはオーディオビデオストリームに対応するパケットタイプ及びマッチング失敗識別子を含み、アクションフィールドはデバイスのCPUにコピーパケットを出力するために用いられる。
【0106】
プロセッサ801は、機械実行可能命令を実行することにより、デフォルトエントリに基づいてコピーされたオーディオビデオストリームの最初のパケットを受信し、取得されたオーディオビデオストリームの最初のパケットのストリーム特徴情報に基づいて、新たなサンプリングストリームエントリを生成し、マッチフィールドがストリーム特徴情報を含み、アクションフィールドはヌルである。
【0107】
本明細書で言及される機械可読記憶媒体802は、実行可能命令、データなどの情報を含む又は記憶することができるいずれかの電子的なもの、磁気的なもの、光学的なもの又は他の物理的記憶装置であってもよい。例えば、機械可読記憶媒体は、RAM(Radom Access Memory、ランダムアクセスメモリ)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ(例えば、ハードディスクドライブ)、ソリッドステートハードディスク、いかなるタイプの記憶ディスク(例えば、光ディスク、dvdなど)、又は類似する記憶媒体、又はそれらの組み合わせであってもよい。
【0108】
本開示は、
図8の機械可読記憶媒体802のようなコンピュータ実行可能命令が記憶される非一時的機械可読記憶媒体をさらに提供し、コンピュータ実行可能命令は、
図8に示されるデータストリームの分析装置のプロセッサ801によって実行され、それにより上記説明されるデータストリームの分析方法が実施される。
【0109】
当業者は、明細書を考慮し及び本開示を実施した後、本開示の他の実施形態を容易に想到し得る。本願は、本開示のいかなる変形、用途又は適応変化を含むように意図され、これらの変形、用途又は適応変化は、本開示の一般的な原理に従い、かつ本開示に開示されていない本技術分野における公知常識又は一般的な技術手段を含む。明細書及び実施例は、単なる例示的なものであると見なされ、本開示の真の範囲及び精神は、以下の特許請求の範囲に準じる。
【国際調査報告】