(57)【要約】【課題】  通信装置が、受信したデータの再生、あるいはデータに基づく処理を実行する時刻まで余裕があるか考慮することで、当該時刻にデータの再生、あるいはデータに基づく処理を実行できるように転送処理を行うことを目的とする。【解決手段】  受信した第一のデータと第二のデータの各々に対応する基準値に基づいて、第一のデータよりも第二のデータのデータ転送を優先して行う場合であっても、第一のデータの再生、あるいは第一のデータに基づく処理を実行する実行時刻と、第一のデータの受信時刻との差分が所定の値より小さい場合は、当該第一のデータのデータ転送を第二のデータのデータ転送より優先的に実行する。【選択図】  図３
2019029791.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置から、第一のデータと第二のデータとを受信する受信手段と、
前記第一のデータと前記第二のデータとのデータ転送を行う転送手段と、
前記第一のデータと前記第二のデータとの各々に対応する基準値を取得する第一の取得手段と、
前記第一のデータの再生あるいは前記第一のデータに基づく制御を実行する実行時刻と、前記受信手段による前記第一のデータの受信時刻との第一の差分を取得する第二の取得手段と、
前記第一の取得手段により取得した前記基準値に従ってデータ転送を行うと、前記第一のデータよりも前記第二のデータを優先して前記転送手段がデータ転送を行う場合であっても、前記第一の差分が第一の値よりも小さい場合には、前記第二のデータよりも前記第一のデータを優先してデータ転送を行うように前記転送手段を制御する制御手段と、
を有することを特徴とする通信装置。
【請求項２】
前記実行時刻は、前記通信装置が前記第一のデータの再生、あるいは前記第一のデータに基づく制御を実行する時刻であることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記受信手段により受信したデータを保持する第一の保持手段と、
前記データの再生、あるいは前記データに基づく制御を実行する際に前記データを保持する第二の保持手段と、を有し、
前記転送手段は、前記第一の保持手段から前記第二の保持手段へ前記データを転送することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第一の値は、前記通信装置が前記第一のデータを受信してから、前記通信装置が前記第一のデータの再生、あるいは前記第一のデータに基づく制御を実行するまでにかかる時間に基づく値であることを特徴とする請求項２または３に記載の通信装置。
【請求項５】
前記実行時刻は、他の通信装置が前記第一のデータの再生、あるいは前記第一のデータに基づく制御を実行する時刻であることを特徴とする請求項１に記載の通信装置。
【請求項６】
前記転送手段は、前記通信装置から前記第一のデータの再生あるいは前記第一のデータに基づく制御を実行する他の通信装置へ、前記受信手段により受信したデータを転送することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記第一の値は、前記通信装置が前記第一のデータを受信してから、前記他の通信装置が前記第一のデータの再生、あるいは前記第一のデータに基づく制御を実行するまでにかかる時間に基づく値であることを特徴とする請求項５または６に記載の通信装置。
【請求項８】
前記第二のデータの再生あるいは前記第二のデータに基づく制御を実行する実行時刻と、前記受信手段による前記第二のデータの受信時刻との第二の差分を取得する第三の取得手段を有し、
前記制御手段は、前記第一の差分が前記第一の値以上の場合と、前記第一の差分が前記第一の値より小さく、前記第二の差分が第二の値より小さい場合は、前記第一の取得手段により取得した前記基準値に従ってデータ転送を行い、
前記第一の差分が前記第一の値より小さく、前記第二の差分が前記第二の値以上の場合は、前記制御手段により前記転送手段を制御することを特徴とする請求項１から７の何れか一項に記載の通信装置。
【請求項９】
前記転送手段により前記第一のデータのデータ転送を優先的に行う場合とは、
前記第一のデータを第一のデータ長毎にデータ転送し、前記第二のデータを前記第一のデータ長よりも短い第二のデータ長毎にデータ転送する場合であって、
前記転送手段により前記第二のデータのデータ転送を優先的に行う場合とは、
前記第二のデータを前記第一のデータ長毎にデータ転送し、前記第一のデータを前記第二のデータ長毎にデータ転送する場合であることを特徴とする請求項１から８の何れか一項に記載の通信装置。
【請求項１０】
前記転送手段により前記第一のデータのデータ転送を優先的に行う場合とは、
前記第一のデータのデータ転送を前記第二のデータのデータ転送より先に行う場合であって、
前記転送手段により前記第二のデータのデータ転送を優先的に行う場合とは、
前記第二のデータのデータ転送を前記第一のデータのデータ転送より先に行う場合であることを特徴とする請求項１から８の何れか一項に記載の通信装置。
【請求項１１】
前記データ転送は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送であることを特徴とする請求項１から１０の何れか一項に記載の通信装置。
【請求項１２】
前記データのストリームの優先度を受信する受信手段を備えることを特徴とする請求項１から１１の何れか一項に記載の通信装置。
【請求項１３】
前記受信手段は、前記優先度を含むストリーム広告を受信することを特徴とする請求項１２に記載の通信装置。
【請求項１４】
前記ストリーム広告は、前記データの識別子と、前記データのクラスを含み、
前記データの識別子は、前記データを送信する他の通信装置のＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓ）と、前記他の通信装置が送信する複数のストリームを識別するための識別子からなる識別子であって、
前記データのクラスは、前記データが前記他の通信装置から送信されてから、前記データが再生あるいは、前記データに基づいた処理が実行されるまでの許容時間の最大値を示す情報であることを特徴とする請求項１３に記載の通信装置。
【請求項１５】
前記基準値は前記データのストリームの優先度に基づいて決定される処理優先度であって、前記転送手段は前記処理優先度が高いデータのデータ転送を優先的に行うことを特徴とする請求項１２から１４の何れか一項に記載の通信装置。
【請求項１６】
前記基準値は、前記受信手段によるデータの受信時刻あって、前記転送手段は、前記受信時刻が早いデータのデータ転送を優先的に行うことを特徴とする請求項１から１４の何れか一項に記載の通信装置。
【請求項１７】
前記実行時刻は、Ｅｔｈｅｒｎｅｔフレームに含まれることを特徴とする請求項１から１６の何れか一項に記載の通信装置。
【請求項１８】
前記通信装置は、ＩＥＥＥ８０２．１ＢＡ規格に基づいて前記データを受信することを特徴とする請求項１から１７の何れか一項に記載の通信装置。
【請求項１９】
通信装置の制御方法であって、
他の通信装置から第一のデータと第二のデータとを受信する受信工程と、
前記第一のデータと前記第二のデータとの各々に対応する基準値を取得する第一の取得工程と、
前記第一のデータの再生あるいは前記第一のデータに基づく制御を実行する実行時刻と、前記受信工程において前記第一のデータが受信された受信時刻との第一の差分を取得する第二の取得工程と、
前記第一の取得工程において取得した前記基準値に従って、前記第一のデータと前記第二のデータとのデータ転送を行うと、前記第一のデータより前記第二のデータが優先してデータ転送を行われる場合であっても、前記第一の差分が第一の値より小さい場合には、前記第二のデータよりも前記第一のデータを優先してデータ転送を行うよう制御する制御工程と、
を有することを特徴とする制御方法。
【請求項２０】
コンピュータを請求項１から１８の何れか一項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置のデータ転送に関する。
【背景技術】
【０００２】
音声データや映像データ含むＥｔｈｅｒｎｅｔフレームを受信した通信装置が、受信したＥｔｈｅｒｎｅｔフレームに含まれる再生時刻の情報に基づいて、受信した音声データ等を当該再生時刻に再生する通信規格としてＩＥＥＥ８０２．１ＢＡ規格が存在する。以下、ＩＥＥＥ８０２．１ＢＡ規格をＡＶＢ（Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｂｒｉｄｇｉｎｇ  Ｓｙｓｔｅｍｓ）規格と呼ぶ。ＡＶＢ規格では、音声データ等はストリームとして送信され、音声データ等を送信する通信装置が、ストリーム毎に識別子や優先度等を設定し、事前に相手装置に通知する。
【０００３】
特許文献１には、優先度が高いデータを受信した通信装置が、当該データをＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）内の受信バッファとは別に設けられた処理バッファに格納することが開示されている。また、処理バッファに格納されたデータの処理を、通常バッファに格納されたデータの処理より優先的に実行することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７―８８７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
通信装置は受信した音声データ等を再生時刻に再生するために、ストリーム毎の優先度を通知されると、当該優先度に基づいて、優先度が高い音声データ等を優先度が低い音声データ等より優先的にデータ転送を行う。データ転送とは、通信装置が受信した音声データ等を自装置で再生する場合であれば、当該再生に際して通信装置内のメモリ間で行われるデータ転送を指す。また、通信装置が受信した音声データ等を他の通信装置で再生する場合であれば、通信装置から他の通信装置へのデータ転送を指す。このような通信装置が、再生時刻まで余裕がない音声データ等であるデータＡと、再生時刻まで余裕があり、データＡより優先度が高い音声データ等であるデータＢを受信したとする。この場合、通信装置は優先度の高いデータＢを、再生時刻まで余裕がないデータＡより優先的にデータ転送する。そのため、受信した際に再生時刻まで余裕がない音声データ等（例えば、上記のデータＢ）を再生時刻に再生できない虞があった。
【０００６】
上記を鑑み、本発明は、通信装置が、受信したデータの再生、あるいはデータに基づく処理を実行する時刻まで余裕があるか考慮することで、当該時刻にデータの再生、あるいはデータに基づく処理を実行できるように転送処理を行うことを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る通信装置は、他の通信装置から、第一のデータと第二のデータとを受信する受信手段と、前記第一のデータと前記第二のデータとのデータ転送を行う転送手段と、前記第一のデータと前記第二のデータとの各々に対応する基準値を取得する第一の取得手段と、前記第一のデータの再生あるいは前記第一のデータに基づく制御を実行する実行時刻と、前記受信手段による前記第一のデータの受信時刻との第一の差分を取得する第二の取得手段と、前記第一の取得手段により取得した前記基準値に従ってデータ転送を行うと、前記第一のデータよりも前記第二のデータを優先して前記転送手段がデータ転送を行う場合であっても、前記第一の差分が第一の値よりも小さい場合には、前記第二のデータよりも前記第一のデータを優先してデータ転送を行うように前記転送手段を制御する制御手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、通信装置が、受信したデータの再生、あるいはデータに基づく処理を実行する時刻まで余裕があるか考慮することで、当該時刻にデータの再生、あるいはデータに基づく処理を実行できるように転送処理を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】通信装置１０１のハードウェア構成を示す図である。
【図２】通信装置１０１がＥｔｈｅｒｎｅｔフレームを受信する際に保持する優先度テーブル１１５のフォーマットである。
【図３】通信装置１０１がＥｔｈｅｒｎｅｔフレームを受信する際に実行するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して実施形態を詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示した構成に限定されるものではない。
【００１１】
図１は、本実施形態に係る通信装置１０１のハードウェア構成を示す図である。
【００１２】
本実施形態において、通信装置１０１は通信ネットワークを介し、ＩＥＥＥ８０２．１ＢＡ規格（Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｂｒｉｄｇｉｎｇ（ＡＶＢ）  Ｓｙｓｔｅｍｓ）に準拠して、受信した音声データや映像データを再生する通信装置である。ＩＥＥＥとは、Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓの略である。以下、ＩＥＥＥ８０２．１ＢＡ規格をＡＶＢ規格と呼ぶ。
【００１３】
まず、本実施形態において通信装置１０１が実行する処理を簡単に説明する。
【００１４】
通信装置１０１は、他の通信装置から音声データや映像データを含むＥｔｈｅｒｎｅｔフレームを受信する。通信装置１０１は、当該音声データや映像データをストリームとして受信する。他の通信装置は、ストリーム毎に識別子（ストリームＩＤ）、クラス、優先度、必要な帯域幅を設定し、これらの情報を通信装置１０１にストリーム広告を用いて通知する。
【００１５】
ストリームＩＤとは、他の通信装置から送信される複数のストリームを一意に識別できる情報である。ストリームＩＤは、ストリームを送信する他の通信装置のＭＡＣアドレスと、他の通信装置から送信される複数のストリームを一意に識別するための識別子からなる情報である。ＭＡＣアドレスとは、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ａｄｄｒｅｓｓのことである。
【００１６】
またクラスとは、ストリームについて、当該ストリームの音声データや映像データが他の通信装置から送信されてから、通信装置１０１が再生するまでにかけてよい許容時間の最大値を示す情報である。ＡＶＢ規格にはクラスＡ、クラスＢの二種類のクラスがある。クラスＡでは２ｍｓ以内、クラスＢでは５０ｍｓ以内に当該許容時間を収めることを要求される。
【００１７】
優先度は、他の通信装置が通信装置１０１に送信するデータの種類に基づいて、当該データのストリームに設定される情報である。例えば他の通信装置が音声データと映像データを通信装置１０１に送信する場合、音声データのストリームが映像データのストリームより高い優先度を設定される。あるいは、映像データのストリームが音声データのストリームより高い優先度を設定されてもよい。なお、優先度は他に、ユーザ指示によって設定されてもよいし、他の通信装置と通信装置１０１の接続状態に基づいて設定されてもよい。本実施形態において優先度は０から７の八段階で設定され、０が優先度最低、７が優先度最高となる。
【００１８】
必要な帯域幅とは、他の通信装置が音声データや映像データを送信するにあたって必要とする最大の帯域幅についての情報である。
【００１９】
本実施形態において、ストリーム広告を受信した通信装置１０１は、ストリーム広告に含まれるクラス、優先度に基づいて、ストリーム毎に対応する処理優先度を設定する。処理優先度とは、通信装置１０１でデータ転送を実行する際の優先度であって、優先度が高いストリームは処理優先度も高く設定される。また、クラスＡのストリームは、クラスＢのストリームより処理優先度が高く設定されてもよい。なお、データ転送とは受信したＥｔｈｅｒｎｅｔフレームに含まれる音声データや映像データを通信装置１０１が備えるハードウェア内で転送することや、通信装置１０１が他の通信装置に転送することを指す。また通信装置１０１は、ストリームＩＤ、クラス、優先度、処理優先度を、後述の優先度テーブル１１５に保持する。本実施形態において、処理優先度は１が最もデータ転送の優先度が高く、以降数字が増えるとデータ転送を実行する際の優先度も下がる。
【００２０】
また、ＡＶＢ規格に準拠した通信装置１０１は他の通信装置から音声データや映像データを含むＥｔｈｅｒｎｅｔフレームを受信すると、当該Ｅｔｈｅｒｎｅｔフレームに含まれる再生時刻の情報に基づいて当該再生時刻に音声データや映像データを再生する。再生時刻に再生できない音声データや映像データは破棄される。
【００２１】
本実施形態において通信装置１０１は、他の通信装置からＥｔｈｅｒｎｅｔフレームを受信すると、後述のタイマ１２６を用いて受信時刻を検出する。そして、受信したＥｔｈｅｒｎｅｔフレームに含まれる再生時刻まで余裕があるか、後述の優先制御判定部１１６が判定し、余裕がない場合は受信したＥｔｈｅｒｎｅｔフレームのデータ転送を優先的に行う。通信装置１０１は優先的にデータ転送を行うＥｔｈｅｒｎｅｔフレームに含まれるデータを、後述のＤＭＡＣ１１３が優先的に転送するように制御する。
【００２２】
コントローラ１０２は、通信装置１０１に搭載され、通信装置１０１の制御を実行するものである。
【００２３】
メインメモリ１０３は、ＲＯＭやＲＡＭ等のメモリにより構成され、コントローラ１０２に内蔵されるメインＣＰＵ１０５、サブＣＰＵ１０９、サブＣＰＵ１１０が実行するアプリケーションプログラムが格納されている。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの、ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの、ＲＡＭはＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの夫々略である。また、通信装置１０１内で扱われる各種データのバッファメモリとしての役割を担う。なお、メインメモリ１０３として、ＲＯＭ、ＲＡＭ等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＤＶＤなどの記憶媒体を用いてもよい。また、メインメモリ１０３が複数のメモリ等を備えていてもよい。
【００２４】
コントローラ１０２の内部は、複数のドメインに分かれている。本実施形態では、コントローラ１０２の内部は主処理部１０４と通信処理部１０８の二つに内部が分かれているが、さらに多数のドメインによる構成であってもよいし、一つのドメインによる構成であってもよい。
【００２５】
主処理部１０４は、メインＣＰＵ１０５、メインバス１０６、メモリコントローラ１０７を含む。
【００２６】
メインＣＰＵ１０５は、通信装置１０１全体のアプリケーション制御を担う。例えば、通信装置１０１がプロジェクタやテレビ等の画像出力装置であれば、画像処理や画像出力に関する制御を行う。
【００２７】
メインバス１０６は、メインＣＰＵ１０５や通信処理部１０８からメインメモリ１０３へのアクセスやデータ転送に使用される。またメインＣＰＵ１０５が通信処理部１０８へアクセスする際にも使用される。
【００２８】
メモリコントローラ１０７は、メインバス１０６を介してメインメモリ１０３へのアクセス制御に使用される。
【００２９】
通信処理部１０８は、サブＣＰＵ１０９、サブＣＰＵ１１０、ローカルバス１１１、ローカルメモリ１１２、ＤＭＡＣ１１３、ＭＡＣ１２３、タイマ１２６を含む。ＤＭＡＣは、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒの略である。またＭＡＣは、Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒの略である。
【００３０】
サブＣＰＵ１０９、サブＣＰＵ１１０は通信処理を実行する。夫々のサブＣＰＵは、メインメモリ１０３に格納されたプログラムを内蔵するキャッシュメモリにロードして、プログラムを実行する。また、ローカルバス１１１を介して、主処理部１０４や通信処理部１０８内の各ブロックへアクセスすることが可能である。サブＣＰＵ１０９、サブＣＰＵ１１０の少なくとも一方は、ＭＡＣ１２３からＥｔｈｅｒｎｅｔフレームを受信したことを通知されると、レジスタ部１１４にＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データの転送リクエストを書き込む。なお、ＭＡＣ１２３もしくはサブＣＰＵ１０９または１１０がＥｔｈｅｒｎｅｔフレームを受信したことをメインＣＰＵ１０５に通知し、メインＣＰＵ１０５がレジスタ部１１４への転送リクエストの書き込みを行ってもよい。
【００３１】
ローカルバス１１１は、サブＣＰＵ１０９およびサブＣＰＵ１１０からローカルメモリ１１２、ＤＭＡＣ１１３、または主処理部１０４に対するアクセスやデータの移動に使用される。
【００３２】
ローカルメモリ１１２には、通信インタフェース部（以下、通信Ｉ／Ｆ部）１２７を介して受信したデータが格納される。また、サブＣＰＵ１０９およびサブＣＰＵ１１０のワークメモリとして使用される。各ＣＰＵはメインメモリ１０３よりローカルメモリ１１２へのアクセスの方が高速に実行可能である。
【００３３】
ＤＭＡＣ１１３は、メインメモリ１０３、ローカルメモリ１１２、ＭＡＣ１２３間のデータ転送を実行することが可能である。各ハードウェア間のデータ転送は、メインＣＰＵ１０５またはサブＣＰＵ１０９、サブＣＰＵ１１０のいずれかからの指示により開始する。なお、ＤＭＡＣ１１３が実行するデータ転送はＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送である。ＤＭＡ転送は、メモリ間で行われるデータ転送で、ＣＰＵを介することなく行われる。
【００３４】
ＤＭＡＣ１１３は、レジスタ部１１４、優先度テーブル１１５、優先制御判定部１１６、アクセス制御部１１７、転送コントローラ１１８を含む。
【００３５】
レジスタ部１１４は、メインＣＰＵ１０５、サブＣＰＵ１０９、サブＣＰＵ１１０からアクセスが可能である。夫々のＣＰＵは、ＤＭＡＣ１１３へデータ転送を指示する場合に、レジスタ部１１４のリクエスト用の領域へ転送リクエストを書き込む。レジスタ部１１４は書き込まれた転送リクエストを転送コントローラ１１８に通知する。また夫々のＣＰＵは、すでにリクエストしたデータ転送のステータスを確認するために、用意された領域を読み出すことで、データ転送の完了やエラーによる転送中止などのステータスを知ることが出来る。
【００３６】
優先度テーブル１１５はＲＡＭ等のメモリにより実現され、通信装置１０１が受信するストリーム毎に対応するデータ転送の処理優先度を保持する。具体的には、他の通信装置から受信したストリーム広告に基づいてストリームＩＤ毎に、クラス、優先度、データ転送の処理優先度を格納し、保持する。また優先度テーブル１１５にはストリームＩＤ毎に、当該ストリームＩＤを有するストリームのＥｔｈｅｒｎｅｔフレームの再生時刻と、当該フレームを受信した受信時刻との差分値が所定の値以上か否かを格納し、保持する。あるいは差分値そのものが保持されてもよい。
【００３７】
なお、所定の値は通信装置１０１がＥｔｈｅｒｎｅｔフレームを受信してから、当該Ｅｔｈｅｒｎｅｔフレームに含まれる音声データや映像データの再生を開始するまでにかかる時間に基づいて決定する。通信装置１０１は、音声データや映像データの再生を開始するまでにかかる時間について、演算で求めてもよいし、あるいは同じストリームのＥｈｅｒｎｅｔフレームを前回受信した際に再生までにかかった時間を保持していてもよい。あるいは、所定の値はユーザによって設定されてもよいし、通信装置１０１にプリセットされていてもよい。また、通信装置１０１が受信するデータ量に基づいて決定されてもよい。なお、所定の値はストリーム毎に設定されてもよい。
【００３８】
保持されている処理優先度はサブＣＰＵ１０９やサブＣＰＵ１１０、優先制御判定部１１６から管理される。本実施形態において、ストリームＩＤなどの登録または削除はサブＣＰＵ１０９やサブＣＰＵ１１０から実行され、優先度テーブル１１５に登録されている処理優先度の変更は優先制御判定部１１６から実行されるものとする。転送コントローラ１１８が実行するデータ転送として優先度テーブル１１５に登録されているストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データがデータ転送される際は、優先度テーブル１１５が保持する処理優先度が適用される。具体的には、処理優先度が高いストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データは、処理優先度の低いストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データより優先的にデータ転送される。
【００３９】
なお、本実施形態では優先度テーブル１１５は、ストリームＩＤ毎の、クラス、優先度、データ転送の処理優先度、差分値に関する情報を保持しているが、これらの全てを保持しなくてもよい。例えばストリームのクラスや優先度を保持せず、データ転送の処理優先度と差分値のみを保持してもよい。あるいは、これらの情報に加えて、あるいは代えて、Ｅｔｈｅｒｎｅｔフレームの送信元のＭＡＣアドレスやベンダー固有の情報などを保持してもよい。
【００４０】
優先制御判定部１１６は、受信したＥｔｈｅｒｎｅｔフレームのストリームＩＤを取得する。また、後述の転送コアから通知される当該Ｅｔｈｅｒｎｅｔフレームの再生時刻と、後述のタイマ１２６から通知される受信時刻の差分値を算出する。あるいは優先制御判定部１１６がタイマ１２６から受信時刻を取得してもよい。優先制御判定部１１６は、算出した差分値と所定の値との比較結果に基づいて、優先度テーブル１１５が保持する差分値を更新すると共に、優先度テーブル１１５が保持する処理優先度を変更するか判定する。当該判定の詳細は後述の図３で説明する。なお、所定の値はストリーム毎に設定可能で、各ＣＰＵからレジスタ部１１４に設定される。
【００４１】
アクセス制御部１１７は、転送コントローラ１１８が実行するデータ転送の転送元や転送先に応じて、ローカルバス１１１を介して転送コントローラ１１８がアクセスする機能ブロックを変更する。また、データ転送が並列に実行されている際のデータ転送の制御を実行する。本実施形態では、データ転送が並列に実行されている際は、優先度テーブル１１５が保持する処理優先度に基づいてローカルバス１１１へのアクセス帯域を変更するものとする。例えば、処理優先度の高いストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データのデータ転送１と、処理優先度の低いストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データのデータ転送２が並列に実行されているとする。この場合、データ転送１とデータ転送２が映像データや音声データを転送する際のデータ長を優先度テーブル１１５が保持する処理優先度に基づいて制限することで、データ転送の制御を実行する。具体的には、処理優先度の高いデータ転送１は長いデータ長毎に映像データや音声データを転送する。また、処理優先度の低いデータ転送２は短いデータ長毎に映像データや音声データを転送することで、データ転送１で転送される映像データや音声データのデータ転送を優先的に実行することができる。
【００４２】
転送コントローラ１１８は、レジスタ部１１４から通知された転送リクエストを基にデータ転送を実行する。転送コントローラ１１８は、転送制御部１１９および転送コア１２０、転送コア１２１、転送コア１２２を含む。通信装置１０１は少なくとも二つの転送コアを有していればよい。あるいは少なくとも転送コア二つ分の役割を果たす転送コアを有していればよい。
【００４３】
転送制御部１１９は、レジスタ部１１４から通知される転送リクエストに基づいて、複数の転送コアの内の一つに対しデータ転送の開始を指示する。転送制御部１１９は、データ転送を完了した転送コアから転送完了を示す通知を受信すると、レジスタ部１１４にデータ転送が完了したことを示す情報を書き込む。また、転送制御部１１９はデータ転送に何らかのエラーが発生した転送コアからエラー発生を示す通知を受信すると、データ転送にエラーが発生したことを示す情報をレジスタ部１１４に書き込んでよい。
【００４４】
転送コア１２０、転送コア１２１、転送コア１２２は転送制御部１１９からの指示に基づきデータ転送を実行する。実行するデータ転送が、優先度テーブル１１５に登録されているストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データのデータ転送であった場合、当該フレームのストリームＩＤと再生時刻を取得し、優先制御判定部１１６へ通知する。また、各転送コアは受信したＥｔｈｅｒｎｅｔフレームのストリームＩＤや再生時刻に基づいた処理優先度の判定を行うために内部に当該フレームを一時的に格納するバッファを持つ。
【００４５】
転送コア１２０、転送コア１２１、転送コア１２２が転送した映像データや音声データはメインメモリ１０３に転送される。そして出力部１３０や出力部１３０に含まれるデコーダーで当該データの再生が行われる。出力部１３０は、例えばモニタ画面やスピーカーなどである。具体的には、映像データや音声データをデコーダーでデコードし、モニタ画面やスピーカーなどを介して、映像データや音声データに基づいた出力を行う。これにより、モニタ画面では映像データに基づいた画面表示が行われ、スピーカーでは音声データに基づいた音声出力が行われる。通信装置１０１は、音声データや映像データが含まれていたＥｔｈｅｒｎｅｔフレームに含まれていた再生時刻に、これらのデータの再生を行う。なお、再生時刻に再生できないデータは破棄される。
【００４６】
通信装置１０１は、受信した音声データや映像データに対して、デコードや出力を行う必要があるため、これらのデータを含むＥｔｈｅｒｎｅｔフレームを受信した際に再生時刻まで余裕がないと、再生時刻にこれらのデータを再生できない場合がある。
【００４７】
ＭＡＣ１２３は、通信Ｉ／Ｆ部１２７を介して、他の通信装置から外部ネットワークを介してＥｔｈｅｒｎｅｔフレームの送受信を行う。またＭＡＣ１２３は、送信用ＦＩＦＯ１２４および受信用ＦＩＦＯ１２５を有する。
【００４８】
ＭＡＣ１２３は、ＤＭＡＣ１１３から送信用のＥｔｈｅｒｎｅｔフレームが転送されてきた場合は、当該フレームを送信用ＦＩＦＯ１２４へ一旦格納し、ＤＭＡＣ１１３から転送されてきた順序で通信Ｉ／Ｆ部１２７へ転送する。一方、通信Ｉ／Ｆ部１２７を介してＥｔｈｅｒｎｅｔフレームを受信すると、ＭＡＣ１２３は受信用ＦＩＦＯ１２５へ当該フレームを格納し、サブＣＰＵ１０９またはサブＣＰＵ１１０へフレームを受信したことを通知する。なお、Ｅｔｈｅｒｎｅｔフレームを受信したことはメインＣＰＵ１０５に通知してもよい。送信用ＦＩＦＯ１２４、受信用ＦＩＦＯ１２５は、数フレーム分のＥｔｈｅｒｎｅｔフレームが格納可能な領域が確保されている。
【００４９】
タイマ１２６は、時刻を計時しており、時刻情報を検出することの出来るモジュールである。本実施形態において、タイマ１２６はＥｔｈｅｒｎｅｔフレームの受信時刻を検出し、優先制御判定部１１６へ通知する。タイマ１２６は、ＭＡＣ１２３がＥｔｈｅｒｎｅｔフレームを受信したタイミングで受信時刻を通知してもよいし、受信したＥｔｈｅｒｎｅｔフレームが何れかの転送コアに格納されたタイミングで通知してもよい。あるいは優先制御判定部１１６がタイマ１２６から受信時刻を取得してもよい。また、サブＣＰＵ１０９など他のモジュールがアクセスすることにより受信時刻を取得してもよい。
【００５０】
通信Ｉ／Ｆ部１２７は、通信ケーブルを介して通信装置１０１を外部ネットワークに接続する。Ｅｔｈｅｒｎｅｔフレームの送受信は全て、ＭＡＣ１２３および通信Ｉ／Ｆ部１２７を介して行われる。
【００５１】
図２に、通信装置１０１がＥｔｈｅｒｎｅｔフレームを受信する際に保持する優先度テーブル１１５のフォーマットを示す。
【００５２】
優先度テーブル１１５には、ストリームＩＤ毎にクラス、優先度、データ転送の処理優先度、差分値に関する情報が格納される。通信装置１０１は、他の通信装置から受信したストリーム広告に基づいて優先度テーブル１１５にストリームＩＤ、クラス、優先度を格納し保持することで、ストリームを登録する。
【００５３】
ストリームＩＤは、通信装置１０１が受信するストリームを一意に識別するための情報である。クラスとは、ストリームについて、当該ストリームの音声データや映像データが他の通信装置から送信されてから、通信装置１０１が再生するまでにかけてよい許容時間の最大値を示す情報である。優先度は、他の通信装置が通信装置１０１に送信するデータの種類に基づいて、当該データのストリームに設定される情報である。データ転送の処理優先度は、通信装置１０１がストリームのクラスや優先度に基づいて決定する。差分値に関する情報は、通信装置１０１が受信したＥｔｈｅｒｎｅｔフレームの再生時刻と、当該フレームを受信した受信時刻との差分値に関する情報である。
【００５４】
図３に、通信装置１０１がＥｔｈｅｒｎｅｔフレームを受信する際に実行する処理のフローチャートを示す。本フローチャートは、通信装置１０１がメインメモリ１０３に記憶されたアプリケーションプログラムを実行することで実現され、通信装置１０１が通信Ｉ／Ｆ部１２７を介して外部ネットワークに接続されると開始する。
【００５５】
まず、通信装置１０１は、Ｅｔｈｅｒｎｅｔフレームを受信したか判定する（ステップＳ３０１）。通信装置１０１はＥｔｈｅｒｎｅｔフレームを受信していないと判定すると（ステップＳ３０１のＮｏ）、ステップＳ３０１に戻る。通信装置１０１はＥｔｈｅｒｎｅｔフレームを受信したと判定すると（ステップＳ３０１のＹｅｓ）、ステップＳ３０２に進む。当該判定は、通信装置１０１のＭＡＣ１２３がＥｔｈｅｒｎｅｔフレームを受信し、サブＣＰＵ１０９またはサブＣＰＵ１１０へ当該フレームの受信を通知したことに基づいて行う。あるいは、Ｅｔｈｅｒｎｅｔフレームを受信したＭＡＣ１２３がメインＣＰＵ１０５に通知したことに基づいて判定してもよい。
【００５６】
次に通信装置１０１は、ＭＡＣ１２３から受信したＥｔｈｅｒｎｅｔフレームの読み出しを行う（ステップＳ３０２）。具体的には、まずＥｔｈｅｒｎｅｔフレームの受信を通知されたサブＣＰＵ１０９またはサブＣＰＵ１１０がレジスタ部１１４に転送リクエストを書き込む。メインＣＰＵ１０５がＥｔｈｅｒｎｅｔフレームの受信を通知された場合は、メインＣＰＵ１０５がレジスタ部１１４に転送リクエストを書き込んでもよい。続いてレジスタ部１１４が当該転送リクエストを転送コントローラ１１８に通知することで、Ｅｔｈｅｒｎｅｔフレームの読み出しを行う。転送リクエストを通知された転送コントローラ１１８は、ＭＡＣ１２３から受信したＥｔｈｅｒｎｅｔフレームを読みだす。
【００５７】
ステップＳ３０２で受信したＥｔｈｅｒｎｅｔフレームの読み出しを行った通信装置１０１は、ステップＳ３０３に進み、受信したＥｔｈｅｒｎｅｔフレームのストリームが、優先度テーブル１１５に登録されているか判定する。具体的には受信したＥｔｈｅｒｎｅｔフレームのヘッダに含まれるストリームＩＤを取得し、優先度テーブル１１５に既に登録されているか判定する。受信したＥｔｈｅｒｎｅｔフレームのストリームが優先度テーブル１１５に登録されていないと判定されると（ステップＳ３０３のＮｏ）、ステップＳ３０９に進む。なお、受信したＥｔｈｅｒｎｅｔフレームのストリームが優先度テーブル１１５に登録されていない場合とは、受信したＥｔｈｅｒｎｅｔフレームがＡＶＢ規格のＥｔｈｅｒｎｅｔフレームでない場合を含む。受信したＥｔｈｅｒｎｅｔフレームのストリームが優先度テーブル１１５に登録されていると判定されると（ステップＳ３０３のＹｅｓ）、ステップＳ３０４に進む。
【００５８】
通信装置１０１は、ステップＳ３０４において、受信したＥｔｈｅｒｎｅｔフレームの再生時刻と受信時刻の差分値を取得し、優先度テーブル１１５の差分値に関する情報を変更する。具体的には、受信したＥｔｈｅｒｎｅｔフレームに含まれる再生時刻と、タイマ１２６が通知する当該フレームの受信時刻との差分値を取得する。そして、当該差分値が所定の値以上か所定の値より小さいか比較し、当該比較の結果に基づいて優先度テーブル１１５の差分値に関する情報を更新する。本実施形態においては、当該差分値が所定の値以上の場合は、図２の差分値にＯＫの情報を入れ、当該差分値が所定の値より小さい場合は、図２の差分値にＮＧの情報を入れる。例えばストリームＩＤ６のストリームのＥｔｈｅｒｎｅｔフレームの差分値が所定の値より小さかったとする。通信装置１０１は、ストリームＩＤ６の差分値に関する情報をＯＫからＮＧに更新する。なお、新たに取得した差分値に関する情報が既に優先度テーブル１１５に格納されている差分値に関する情報と同じ場合は、差分値に関する情報を更新しなくてもよい。
【００５９】
続いて通信装置１０１は、受信したＥｔｈｅｒｎｅｔフレームの再生時刻と受信時刻の差分値が所定の値より小さいか判定する（ステップＳ３０５）。当該判定は、ステップＳ３０４で行った比較の結果に基づいて行ってもよいし、ステップＳ３０４で更新した優先度テーブル１１５の差分値に関する情報を参照することで行ってもよい。なお、ステップＳ３０５はステップＳ３０４で受信したＥｔｈｅｒｎｅｔフレームの再生時刻と受信時刻の差分値を比較した際に行ってもよい。通信装置１０１は差分値が所定の値より小さいと判定すると（ステップＳ３０５のＹｅｓ）、ステップＳ３０６に進む。一方通信装置１０１は差分値が所定の値以上であると判定すると（ステップＳ３０５のＮｏ）、ステップＳ３０９に進む。
【００６０】
通信装置１０１はステップＳ３０６に進むと、受信したＥｔｈｅｒｎｅｔフレームのストリームより処理優先度が一つ高いストリームの状態を確認する。図２を用いて具体的に説明する。例えば受信したＥｔｈｅｒｎｅｔフレームのストリームが、ストリームＩＤ６のストリームだった場合、そのデータ転送の処理優先度は４である。処理優先度が一つ高いストリームは、データ転送の処理優先度が３である、ストリームＩＤ５のストリームになる。そこで、通信装置１０１はストリームＩＤ５のストリームの状態を確認する。ストリームの状態を確認するとは、ストリームの差分値が所定の値以上か確認することである。本実施形態においては差分値に関する情報にＯＫの情報が格納されているか確認することになる。
【００６１】
次に通信装置１０１はステップＳ３０７に進み、データ転送の処理優先度を変更するか判定する。具体的にはステップＳ３０６で、処理優先度が一つ高いストリームの差分値に関する情報にＯＫの情報が格納されていた場合、通信装置１０１はデータ転送の処理優先度を変更すると判定する。つまり、処理優先度が一つ高いストリームの再生時刻までに十分な余裕がある場合は、処理優先度を低下させても問題ないとして、データ転送の処理優先度を変更すると判定する。一方、通信装置１０１は、処理優先度が一つ高いストリームの差分値に関する情報にＮＧの情報が格納されていた場合、つまり再生時刻までに十分な余裕がない場合は、データ転送の処理優先度を変更しないと判定する。なお、優先度テーブル１１５にストリームが登録されてから、当該ストリームに含まれるＥｔｈｅｒｎｅｔフレームを所定の数以上受信していない場合は、データ転送の処理優先度を変更しなくてもよい。また、ストリーム毎に処理優先度変更を行うか行わないかが予め設定されていてもよい。当該設定は、ユーザの指示に基づいて設定されてもよいし、ストリームに含まれるデータの種類や、クラス、優先度などに基づいて設定されてもよい。例えば、緊急度の高いストリームやユーザの安全性に関わるストリームは処理優先度を変更しないように設定されてもよい。通信装置１０１はデータ転送の処理優先度を変更すると判定すると（ステップＳ３０７のＹｅｓ）、ステップＳ３０８に進む。一方、通信装置１０１はデータ転送の処理優先度を変更しないと判定すると（ステップＳ３０７のＮｏ）、ステップＳ３０９に進む。
【００６２】
なお、ステップＳ３０７の判定の際に、処理優先度が一つ高いストリームの情報を必要としない場合は、ステップＳ３０６をスキップしてもよい。
【００６３】
通信装置１０１はステップＳ３０８で、データ転送の処理優先度を変更する。具体的には、受信したＥｔｈｅｒｎｅｔフレームのストリームの処理優先度と、処理優先度が一つ高いストリームの処理優先度を入れ替える。あるいは、受信したＥｔｈｅｒｎｅｔフレームのストリームの処理優先度が、処理優先度が一つ高いストリームの処理優先度より高くなるように変更してもよい。もしくは、受信したＥｔｈｅｒｎｅｔフレームのストリームの処理優先度が、優先度テーブル１１５に登録されているストリームの中で最も高くなるように変更してもよい。例えば、ストリームＩＤ６のデータ転送の処理優先度を変更する場合、処理優先度が一つ高いストリームＩＤ５とデータ転送の処理優先度を入れ替える。すなわち、ストリームＩＤ６のデータ転送の処理優先度を４から３に変更し、ストリームＩＤ５のデータ転送の処理優先度を３から４に変更する。通信装置１０１はデータ転送の処理優先度を変更すると、ステップＳ３０９に進む。
【００６４】
なお、ステップＳ３０５でＹｅｓと判定された場合に、通信装置１０１はステップＳ３０６、ステップＳ３０７をスキップして、ステップＳ３０８に進んでもよい。
【００６５】
通信装置１０１は、ステップＳ３０９において、優先度テーブル１１５が保持するデータ転送の処理優先度に基づいたデータ転送を行う。具体的には、転送コントローラ１１８に格納されているＥｔｈｅｒｎｅｔフレームに含まれる音声データや映像データを、優先度テーブル１１５のデータ転送の処理優先度に基づいてメインメモリ１０３へ書き込む。通信装置１０１は、処理優先度の高いストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データを転送する際のデータ長を長くすることで、処理優先度に基づくデータ転送を実行する。あるいは、処理優先度の高いストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データのデータ転送を、当該フレームより処理優先度が低いストリームのＥｔｈｅｒｎｅｔフレームに含まれる映像データや音声データの転送より先に行ってもよい。
【００６６】
また、ステップＳ３０３でＮｏと判定されたＥｔｈｅｒｎｅｔフレームについては、優先度テーブル１１５がデータ転送の処理優先度を保持していないので、受信した順にデータ転送を行う。なお、優先度テーブル１１５に登録されているストリームに含まれるＥｔｈｅｒｎｅｔフレームと、登録されていないＥｔｈｅｒｎｅｔフレーム間では、先に受信されたフレームが先にデータ転送されてもよい。あるいは、優先度テーブル１１５に登録されているストリームに含まれるＥｔｈｅｒｎｅｔフレームが先にデータ転送されてもよい。
【００６７】
次に、通信装置１０１は受信したＥｔｈｅｒｎｅｔフレームがストリーム広告であるか判定する（ステップＳ３１０）。通信装置１０１は受信したＥｔｈｅｒｎｅｔフレームがストリーム広告である場合は（ステップＳ３１０のＹｅｓ）、ステップＳ３１１に進む。通信装置１０１は受信したＥｔｈｅｒｎｅｔフレームがストリーム広告でない場合は（ステップＳ３１０のＮｏ）、ステップＳ３１２に進む。
【００６８】
通信装置１０１は、ステップＳ３１１において、受信したストリーム広告に基づいて優先度テーブル１１５にストリームの情報を登録、あるいは更新する。通信装置１０１は、ストリーム広告に含まれるストリームの情報が、まだ優先度テーブル１１５に登録されていないストリームに関する情報だった場合、優先度テーブル１１５に新たなストリームを登録する。一方、通信装置１０１はストリーム広告に含まれるストリームの情報が、既に優先度テーブル１１５に登録されているストリームに関する情報だった場合、既存のストリームの情報を、受信したストリーム広告に基づいて更新する。なお、ストリームの情報の更新には、ストリームの情報の削除も含まれる。
【００６９】
次に通信装置１０１は、通信装置１０１と外部ネットワークとの接続が切断されたか判定する（ステップＳ３１２）。通信装置１０１は、外部ネットワークとの接続が切断されていないと判定すると（ステップＳ３１２のＮｏ）、ステップＳ３０１に戻る。通信装置１０１は、外部ネットワークとの接続が切断されたと判定すると（ステップＳ３１２のＹｅｓ）、本フローチャートを終了する。
【００７０】
以上のように、本実施形態では、通信装置１０１が受信したＥｔｈｅｒｎｅｔフレームの再生時刻と受信時刻との差分値に基づいてデータ転送の処理優先度を変更する。これにより、再生時刻まで余裕がないＥｔｈｅｒｎｅｔフレームに含まれる音声データや映像データを優先的に再生できる。具体的には、通信装置１０１が受信したＥｔｈｅｒｎｅｔフレームの再生時刻と受信時刻との差分値に基づいて、再生時刻まで余裕がないフレームの処理優先度を高くすることで、ＤＭＡＣ１１３からメインメモリ１０３へのデータ転送が優先的に行われる。ＤＭＡＣ１１３からデータ転送された音声データや映像データは、メインメモリ１０３に格納され再生されるため、データ転送が優先的に行われた音声データや映像データを当該データの再生時刻に再生できる。
【００７１】
なお、本実施形態では、図３のステップＳ３０５の判定を、通信装置１０１が受信したＥｔｈｅｒｎｅｔフレームの再生時刻と受信時刻の差分値が所定の値以上か所定の値より小さいかで行った。しかし、これに限らずステップＳ３０５の判定を、受信したＥｔｈｅｒｎｅｔフレームの受信時刻に所定の値を加算した再生可能時刻が、当該Ｅｔｈｅｒｎｅｔフレームの再生時刻より後の時間であるかで行ってもよい。再生可能時刻が再生時刻より後の時刻である場合は、ステップＳ３０５でＹｅｓと判定する。一方、再生時刻が再生可能時刻より後の時刻である場合は、ステップＳ３０５でＮｏと判定する。
【００７２】
また、本実施形態において、通信装置１０１は受信した音声データや映像データに含まれる再生時刻と、受信した受信時刻とで差分値をとった。しかし、これに限らず、現在時刻と、再生時刻との差分値をとってもよい。現在時刻は任意のタイミングで取得される時刻で、通信装置１０１は当該現在時刻から再生時刻までの差分値を取ることで、再生時刻まで余裕があるか判定してもよい。
【００７３】
なお、本実施形態で通信装置１０１はＡＶＢ規格に準拠して音声データや映像データを受信し再生するとした。しかし、これに限らず受信したデータに含まれる時刻情報に基づいて、当該時刻情報が示す時間に受信したデータを再生したり、データに基づいた制御を実行したりする他の通信規格に準拠して動作してもよい。
【００７４】
また、通信装置１０１の具体的な例としては、タブレット、スマートフォン、ＰＣ、携帯電話、カメラ、ビデオカメラなどが挙げられるが、これらに限定されない。他に、テレビ、ヘッドマウントディスプレイ、プロジェクタ、ディスプレイ、カーナビゲーション装置、スピーカー、車載システムなどが挙げられる。
【００７５】
また、通信装置１０１は受信したＥｔｈｅｒｎｅｔフレームを他の通信装置に転送する中継装置であってもよい。この場合、通信装置１０１はＥｔｈｅｒｎｅｔフレームを受信する受信装置が、当該Ｅｔｈｅｒｎｅｔフレームに含まれる映像データや音声データを再生時刻に再生するまでに余裕があるかを考慮する。具体的には、通信装置１０１は自装置がＥｔｈｅｒｎｅｔフレームを受信してから受信装置が再生するまでの許容時間を取得し、自装置がＥｔｈｅｒｎｅｔフレームを受信した受信時刻と再生時刻の差分が許容時間より大きいか判定する。通信装置１０１は、受信したＥｔｈｅｒｎｅｔフレームを受信装置が再生時刻に再生するまで余裕がない場合は、当該Ｅｔｈｅｒｎｅｔフレームを優先的に受信装置に転送する。また、通信装置１０１が中継装置である場合、通信装置１０１が実行するデータ転送は具体的に、Ｅｔｈｅｒｎｅｔフレームの受信、データ転送、他の通信装置への転送などの処理である。
【００７６】
本実施形態において、通信装置１０１は受信したストリーム毎の優先度とクラスに基づいて、処理優先度を決定し、当該処理優先度に基づいてデータ転送を優先的に行うとした。しかし、これに限らず、データ転送を行う際の基準値を、処理優先度ではなく、映像データや音声データを受信した受信時刻にしてもよい。具体的には、あるデータのデータ転送を、当該データより遅く受信したデータのデータ転送より優先的に行ってもよい。
【００７７】
本実施形態では、通信装置１０１は他の通信装置から映像データや音声データを受信し、受信したデータの再生を実行する実行時刻として、当該データに含まれる再生時刻に再生するとした。これらのデータに加えて、あるいは代えて、制御データを受信してもよい。その場合、通信装置１０１は受信した制御データに基づく制御を行う実行時刻として、当該制御データに含まれる再生時刻に、当該制御データに基づく制御を行う。例えば通信装置１０１がカメラであった場合、通信装置１０１は受信した制御データに基づいて再生時刻にシャッターを切るなどの制御を行ってもよい。
【００７８】
本実施形態において、通信装置１０１は他の通信装置からＥｔｈｅｒｎｅｔフレームを受信するとしたが、複数の他の通信装置からＥｔｈｅｒｎｅｔフレームを受信してもよい。
【００７９】
図３におけるフローチャートの少なくとも一部または全部をハードウェアにより実現してもよい。ハードウェアにより実現する場合、例えば、所定のコンパイラを用いることで、各ステップを実現するためのプログラムからＦＰＧＡ上に専用回路を生成し、これを利用すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウェアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。図３に示したフローチャートの各ステップを不図示の複数のＣＰＵもしくは装置で分散して行うようにしてもよい。
【００８０】
以上、実施形態を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記録媒体（記憶媒体）等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、ｗｅｂアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８１】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８２】
１０１  通信装置
１０２  コントローラ
１０３  メインメモリ
１０４  主処理部
１０８  通信処理部
１１３  ＤＭＡＣ
１２３  ＭＡＣ
１２７  通信インタフェース部
【図１】
2019029791.tif 000003
【図２】
2019029791.tif 000004
【図３】
2019029791.tif 000005