(57)【要約】【課題】少ないメモリサイズで、データ転送を高速化する。【解決手段】送信装置１は、ヘッダマージ回路１１０、及び、ヘッダキュー１２０を含む。ヘッダキュー１２０は、データに付与すべきヘッダを当該ヘッダに係る制御情報と関連づけて記憶する。ヘッダマージ回路１１０は、１以上のデータが記憶されたデータ記憶部から１以上のデータの各々を順番に取得し、ヘッダキュー１２０から取得したヘッダに係る制御情報に従って、当該取得したデータに当該ヘッダを付加し、出力する。【選択図】      図１
2015119255.tif 000002
【特許請求の範囲】
【請求項１】
データに付与すべきヘッダを当該ヘッダに係る制御情報と関連づけて記憶するヘッダ情報記憶手段と、
１以上のデータが記憶されたデータ記憶手段から前記１以上のデータの各々を順番に取得し、前記ヘッダ情報記憶手段から取得したヘッダに係る前記制御情報に従って、当該取得したデータに当該ヘッダを付加し、出力する、ヘッダマージ手段と、
を備えた送信装置。
【請求項２】
前記ヘッダ情報記憶手段は、１以上のヘッダの各々を当該ヘッダに係る制御情報と関連づけて記憶し、
前記制御情報は、当該制御情報に対応するヘッダを付与すべきデータ数を含み、
前記ヘッダマージ手段は、前記ヘッダ情報記憶手段から前記１以上のヘッダの各々を順番に取得し、当該取得したヘッダに係るデータ数の、前記データ記憶手段から順番に取得したデータに、当該取得したヘッダ付加する、
請求項１に記載の送信装置。
【請求項３】
前記ヘッダ情報記憶手段は、１以上のヘッダの各々を当該ヘッダに係る制御情報と関連づけて記憶し、
前記制御情報は、当該制御情報に対応するヘッダを付与すべき条件、及び、データ数を含み、
前記ヘッダマージ手段は、前記ヘッダ情報記憶手段に記憶された前記１以上のヘッダの内、前記制御情報の前記条件を満たすヘッダを取得し、当該取得したヘッダに係るデータ数の、前記データ記憶手段から順番に取得したデータに、当該取得したヘッダ付加する、
請求項１に記載の送信装置。
【請求項４】
前記制御情報は、さらに、当該制御情報に対応するヘッダの優先度を含み、
前記ヘッダマージ手段は、前記制御情報の前記条件を満たすヘッダの内、他のヘッダより優先度の高いヘッダを取得する、
請求項３に記載の送信装置。
【請求項５】
前記ヘッダを付与すべき条件は、割り込み要因を含み、
前記ヘッダマージ手段は、割り込みが発生した場合に、前記データ記憶手段から取得したデータに付与するヘッダを、当該割り込みの割り込み要因に対応するヘッダに切り替える、
請求項３または４に記載の送信装置。
【請求項６】
データに付与すべきヘッダを当該ヘッダに係る制御情報と関連づけて記憶し、
１以上のデータが記憶されたデータ記憶手段から前記１以上のデータの各々を順番に取得し、前記取得したヘッダに係る前記制御情報に従って、当該取得したデータに当該ヘッダを付加し、出力する、
を備えた送信方法。
【請求項７】
前記データに付与すべきヘッダを記憶する場合、１以上のヘッダの各々を当該ヘッダに係る制御情報と関連づけて記憶し、
前記制御情報は、当該制御情報に対応するヘッダを付与すべきデータ数を含み、
前記ヘッダを付加する場合、前記１以上のヘッダの各々を順番に取得し、当該取得したヘッダに係るデータ数の、前記データ記憶手段から順番に取得したデータに、当該取得したヘッダ付加する、
請求項６に記載の送信方法。
【請求項８】
前記データに付与すべきヘッダを記憶する場合、１以上のヘッダの各々を当該ヘッダに係る制御情報と関連づけて記憶し、
前記制御情報は、当該制御情報に対応するヘッダを付与すべき条件、及び、データ数を含み、
前記ヘッダを付加する場合、前記１以上のヘッダの内、前記制御情報の前記条件を満たすヘッダを取得し、当該取得したヘッダに係るデータ数の、前記データ記憶手段から順番に取得したデータに、当該取得したヘッダ付加する、
請求項６に記載の送信方法。
【請求項９】
前記制御情報は、さらに、当該制御情報に対応するヘッダの優先度を含み、
前記ヘッダを付加する場合、前記制御情報の前記条件を満たすヘッダの内、他のヘッダより優先度の高いヘッダを取得する、
請求項８に記載の送信方法。
【請求項１０】
前記ヘッダを付与すべき条件は、割り込み要因を含み、
前記ヘッダを付加する場合に、割り込みが発生したとき、前記データ記憶手段から取得したデータに付与するヘッダを、当該割り込みの割り込み要因に対応するヘッダに切り替える、
請求項８または９に記載の送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、及び、送信方法に関し、特に、データにヘッダを付加して送信する、送信装置、及び、送信方法に関する。
【背景技術】
【０００２】
近年、ＵＳＢ（Universal Serial Bus）３．０等、シリアルインタフェース（または、シリアルバス）の高速化がすすめられている。
【０００３】
このような高速シリアルインタフェースを備えた送信装置では、送信パケットごとにヘッダを付加する場合に、期待したスループットを得られないことがある。例えば、装置内のパケットデータの処理にＤＭＡ（Direct Memory Access）を用いている場合、送信パケット単位で一旦ＤＭＡを終了し、ヘッダを付加した後に再度ＤＭＡを開始するといったＣＰＵ（Central Processing Unit）の処理が発生する。この場合、ＣＰＵの割り込みで発生するレイテンシや処理時間により、パケット間に転送レートに比べて大きな間隔が生じ、期待したスループットが得られない。
【０００４】
さらに、高速シリアルインタフェースを備えた送信装置では、このようなヘッダ付加処理によるＣＰＵの占有率が上昇し、システムの処理性能が低下することがある。例えばＵＳＢ３．０は、ＵＳＢ２．０に比べ約１０倍の転送レートを持っている。そのため、ＵＳＢ２．０に比べ約１０倍のヘッダ付加処理をＣＰＵが行わなければならず、必然的にＣＰＵの占有率が上昇し、他のアプリケーションの処理に影響する。
【０００５】
シリアルインタフェースの高速化を実現するための技術として、パケットに対するヘッダの付加をＣＰＵではなく、ハードウェアで行う方法が知られている。例えば、特許文献１には、メモリに記憶されたヘッダとデータとをハードウェアで結合し、送信パケットを組み立てる、データ送信装置が開示されている。
【０００６】
なお、関連技術として、特許文献２には、ＩＥＥＥ１３９４規格に従ったアイソクロナスパケットを生成する技術が開示されている。また、特許文献３には、データを複数のパケットに分割し、サブヘッダを付加して、複数のポートを介して転送する、送受信システムが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３５４３６４８号公報
【特許文献２】特開平１１−２７３０１号公報
【特許文献３】特開２００６−１０９３１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の特許文献１に開示されたデータ送信装置では、パケットごとにヘッダを用意する必要があるため、パケット数が多い場合には、ヘッダを格納するために大きなサイズのメモリが必要になるという問題がある。
【０００９】
本発明の目的は、上述した課題を解決し、少ないメモリサイズで、データ転送を高速化できる、送信装置、及び、その送信方法を提供することである。
【課題を解決するための手段】
【００１０】
本発明の送信装置は、データに付与すべきヘッダを当該ヘッダに係る制御情報と関連づけて記憶するヘッダ情報記憶手段と、１以上のデータが記憶されたデータ記憶手段から前記１以上のデータの各々を順番に取得し、前記ヘッダ情報記憶手段から取得したヘッダに係る前記制御情報に従って、当該取得したデータに当該ヘッダを付加し、出力する、ヘッダマージ手段と、を備える。
【００１１】
本発明の送信方法は、データに付与すべきヘッダを当該ヘッダに係る制御情報と関連づけて記憶し、１以上のデータが記憶されたデータ記憶手段から前記１以上のデータの各々を順番に取得し、前記取得したヘッダに係る前記制御情報に従って、当該取得したデータに当該ヘッダを付加し、出力する。
【発明の効果】
【００１２】
本発明の効果は、少ないメモリサイズで、データ転送を高速化できることである。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【図２】本発明の第１の実施の形態における、送信装置１の構成を示すブロック図である。
【図３】本発明の第１の実施の形態における、送信装置１の処理を示すフローチャートである。
【図４】本発明の第１の実施の形態における、ヘッダキュー１２０の設定例を示す図である。
【図５】本発明の第１の実施の形態における、送信装置１から送信されるパケットの例を示す図である。
【図６】本発明の第２の実施の形態における、送信装置１の処理を示すフローチャートである。
【図７】本発明の第２の実施の形態における、ヘッダ付加回路１００の割り込み処理を示すフローチャートである。
【図８】本発明の第２の実施の形態における、ヘッダキュー１２０の設定例を示す図である。
【図９】本発明の第２の実施の形態における、送信装置１から送信されるパケットの例を示す図である。
【発明を実施するための形態】
【００１４】
（第１の実施の形態）
次に、本発明の第１の実施の形態について説明する。
【００１５】
はじめに、本発明の第１の実施の形態の構成について説明する。図２は、本発明の第１の実施の形態における、送信装置１の構成を示すブロック図である。送信装置１は、例えば、ＵＳＢ  Ｗｅｂカメラ等、ＵＳＢデバイス機能を備えた装置であり、例えば、パーソナルコンピュータ等、ＵＳＢホスト機能を備えた装置（図示せず）に、ＵＳＢバスにより接続される。
【００１６】
図２を参照すると、本発明の第１の実施の形態の送信装置１は、ヘッダ付加回路１００、ＤＭＡ２００、ＣＰＵ３００、ＵＳＢコア４００、ＰＨＹ（PHYsical Layer）チップ５００、及び、ＲＡＭ（Random Access Memory）６００を含む。ヘッダ付加回路１００、ＤＭＡ２００、ＣＰＵ３００、ＵＳＢコア４００、及び、ＲＡＭ６００は、内部バス（図示せず）で接続される。
【００１７】
ヘッダ付加回路１００は、ＲＡＭ６００上のデータ記憶部６１０から取得したデータにヘッダを付加してパケットを生成する。ヘッダ付加回路１００は、ヘッダマージ回路１１０、及び、ヘッダキュー１２０を含む。ヘッダキュー１２０は、データに付加すべきヘッダ、及び、当該ヘッダに係る制御情報を記憶する。ヘッダマージ回路１１０は、制御情報に従って、データ記憶部６１０から取得したデータにヘッダを付加する。
【００１８】
本発明の第１の実施の形態では、制御情報に、ヘッダの繰り返し回数が設定される。また、本発明の第１の実施の形態では、ヘッダキュー１２０に設定された１以上のヘッダが、制御情報（繰り返し回数）に従って、順番に適用される。
【００１９】
ＤＭＡ２００は、ヘッダ付加回路１００により生成されたパケットを、ＵＳＢコア４００に転送する。これにより、ＣＰＵ３００を介することなく、データ記憶部６１０のデータをＵＳＢバスへ送信できる。
【００２０】
ＣＰＵ３００は、データ生成制御部３１０、ヘッダキュー設定部３２０、割り込み処理部３３０、及び、転送制御部３４０の機能を実現するためのプログラムを実行する。
【００２１】
データ生成制御部３１０は、送信装置１に含まれる、例えば、カメラ等のデータ生成部（図示せず）に対して、ＵＳＢバスに送信するデータの生成、及び、データ記憶部６１０への保存を指示する。データ生成部は、例えば、ＤＭＡ２００とは異なる他のＤＭＡを介して、生成したデータをデータ記憶部６１０に転送する。
【００２２】
ヘッダキュー設定部３２０は、ＵＳＢバスに送信するデータに応じたヘッダ、及び、制御情報をヘッダキュー１２０に設定する。
【００２３】
割り込み処理部３３０は、ヘッダ付加回路１００からの割り込みを処理する。
【００２４】
転送制御部３４０は、ＤＭＡ２００、及び、ＵＳＢコア４００を制御する。
【００２５】
なお、データ生成制御部３１０、ヘッダキュー設定部３２０、割り込み処理部３３０、及び、転送制御部３４０は、送信装置１を制御するアプリケーションプログラムに含まれていてもよい。
【００２６】
次に、本発明の第１の実施の形態における送信装置１の動作について説明する。
【００２７】
ここでは、ＵＳＢバスにより送信するデータとして、ＵＳＢ３．０におけるＵＳＢ  Ｖｉｄｅｏ  Ｃｌａｓｓ（以下、ＵＶＣと記載する）のアイソクロナス転送モードに従ったビデオストリームを送信する場合を例に、動作を説明する。
【００２８】
図３は、本発明の第１の実施の形態における、送信装置１の処理を示すフローチャートである。
【００２９】
ＣＰＵ３００上のデータ生成制御部３１０は、データ生成部に、ビデオストリームのデータ（タイムスタンプ等を含むペイロードデータ）の生成、及び、生成されたデータのデータ記憶部６１０への保存を指示する（ステップＡ１０１）。データ生成部は、データを生成し、データ記憶部６１０に保存する。ここで、データ生成部には、データ記憶部６１０においてビデオストリームのデータが記憶される領域のアドレスが予め設定されており、当該領域にデータを保存すると仮定する。また、ビデオストリームのデータが記憶される領域のアドレスは、データ生成制御部３１０から指定されてもよい。
【００３０】
例えば、データ生成制御部３１０は、ＵＶＣのビデオストリームとして、２フレーム分のデータの生成、及び、保存を指示する。データ生成部は、１フレームに対して４０９８個のデータを、２フレーム分生成し、データ記憶部６１０に保存する。データ生成部は、ＣＰＵ３００に割り込み（データ生成完了割り込み）を発行する。
【００３１】
ヘッダキュー設定部３２０は、ＵＳＢバスにより送信するデータに応じたヘッダ、及び、制御情報をヘッダキュー１２０に設定する（ステップＡ１０２）。
【００３２】
図４は、本発明の第１の実施の形態における、ヘッダキュー１２０の設定例を示す図である。
【００３３】
ＵＶＣでは、ヘッダは、ＦＩＤ（Frame Identifier）とＥＯＦ(End Of Frame)とを含む。ＦＩＤは、フレームごとに１／０でトグルするビットである。また、ＥＯＦは、フレームの最後のデータを示すビットである。ここでは、１フレームごとに４０９８個のデータが生成されるため、ヘッダキュー設定部３２０は、図４のように、ＦＩＤとＥＯＦの値が異なる、４種類のヘッダ（ヘッダ１〜４）を制御情報（繰り返し回数）とともにヘッダキュー１２０に設定する。図４において、ヘッダ１には、ＦＩＤ＝０、ＥＯＦ＝０が設定され、ヘッダ１の繰り返し回数は４０９７である。ヘッダ２には、ＦＩＤ＝０、ＥＯＦ＝１が設定され、ヘッダ２の繰り返し回数は１である。ヘッダ３には、ＦＩＤ＝１、ＥＯＦ＝０が設定され、ヘッダ３の繰り返し回数は４０９７である。ヘッダ４には、ＦＩＤ＝１、ＥＯＦ＝１が設定され、ヘッダ４の繰り返し回数は１である。
【００３４】
例えば、ヘッダキュー設定部３２０は、図４のヘッダ、及び、制御情報をヘッダキュー１２０に設定する。
【００３５】
転送制御部３４０は、ＤＭＡ２００に、パケットの転送を指示する（ステップＡ１０３）。
【００３６】
例えば、転送制御部３４０は、４０９８個×２フレーム分のパケットの転送を指示する。
【００３７】
ＤＭＡ２００は、ヘッダ付加回路１００に、データ記憶部６１０からのデータの読み出しを指示する（ステップＡ３０１）。
【００３８】
ヘッダ付加回路１００のヘッダマージ回路１１０は、ヘッダキュー１２０から順番に、ヘッダと制御情報を読み出す（ステップＡ２０１）。
【００３９】
ヘッダ付加回路１００のヘッダマージ回路１１０は、データ記憶部６１０から順番に、データを読み出す（ステップＡ２０２）。ここで、ヘッダマージ回路１１０には、データ記憶部６１０においてビデオストリームのデータが記憶されている領域のアドレスが予め設定されており、ヘッダマージ回路１１０は、当該領域からデータを読み出すと仮定する。また、ビデオストリームのデータが記憶されている領域のアドレスは、転送制御部３４０から、ＤＭＡ２００を介して指定されてもよい。
【００４０】
ヘッダマージ回路１１０は、読み出したデータにヘッダを付加し、パケットを生成する（ステップＡ２０３）。
【００４１】
ヘッダマージ回路１１０は、生成したパケットをＤＭＡ２００に送信する（ステップＡ２０４）。
【００４２】
ＤＭＡ２００は、ヘッダマージ回路１１０により生成されたパケットを、ＵＳＢコア４００に転送する（ステップＡ３０２）。
【００４３】
ＵＳＢコア４００は、ＤＭＡ２００により転送されたパケットを、ＰＨＹチップ５００を介してＵＳＢバスに送信する（ステップＡ４０１）。
【００４４】
ヘッダマージ回路１１０は、制御情報で示される繰り返し回数、ステップＡ２０２からＡ２０４の処理を繰り返す（ステップＡ２０５）。
【００４５】
ヘッダマージ回路１１０は、ヘッダキュー１２０に記憶された全てのヘッダについて、ステップＡ２０１からＡ２０５の処理を繰り返す（ステップＡ２０６）。
【００４６】
また、ＤＭＡ２００は、転送制御部３４０から指示された全てのパケットが転送されるまで、ステップＡ３０２の処理を繰り返す（ステップＡ３０３）。
【００４７】
図５は、本発明の第１の実施の形態における、送信装置１から送信されるパケットの例を示す図である。
【００４８】
例えば、ヘッダマージ回路１１０は、図４のヘッダキュー１２０から、ヘッダ１を読み出し、図５のように、最初の４０９７個のデータにヘッダ１を付加する。次に、ヘッダマージ回路１１０はヘッダ２を読み出し、次の１個のデータにヘッダ２を付加する。さらに、ヘッダマージ回路１１０はヘッダ３を読み出し、次の４０９７個のデータにヘッダ３を付加する。そして、ヘッダマージ回路１１０はヘッダ４を読み出し、次の１個のデータにヘッダ４を付加する。
【００４９】
このように、２フレーム分のデータにヘッダが付加され、生成されたパケットがＵＳＢバスに送信される。
【００５０】
ヘッダキュー１２０に記憶された全てのヘッダについて処理が終了した場合（ステップＡ２０６／Ｙ）、ヘッダマージ回路１１０は、ＣＰＵ３００に割り込み（ヘッダ完了割り込み）を発行する（ステップＡ２０７）。
【００５１】
割り込み処理部３３０がヘッダ完了割り込みを受信すると（ステップＡ１０４／Ｙ）、ステップＡ１０１からの処理が繰り返される。
【００５２】
以上により、本発明の第１の実施の形態の動作が完了する。
【００５３】
次に、本発明の第１の実施の形態の特徴的な構成を説明する。図１は、本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【００５４】
送信装置１は、ヘッダマージ回路１１０（ヘッダマージ手段）、及び、ヘッダキュー１２０（ヘッダ記憶手段）を含む。
【００５５】
ヘッダキュー１２０は、データに付与すべきヘッダを当該ヘッダに係る制御情報と関連づけて記憶する。
【００５６】
ヘッダマージ回路１１０は、１以上のデータが記憶されたデータ記憶部６１０（データ記憶手段）から１以上のデータの各々を順番に取得し、ヘッダキュー１２０から取得したヘッダに係る制御情報に従って、当該取得したデータに当該ヘッダを付加し、出力する。
【００５７】
本発明の第１の実施の形態によれば、少ないメモリサイズで、データ転送を高速化できる。その理由は、ヘッダキュー１２０が、ヘッダを制御情報と関連づけて記憶し、ヘッダマージ回路１１０が、制御情報に従って、データ記憶部６１０から取得したデータに当該ヘッダを付加するためである。
【００５８】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
【００５９】
本発明の第２の実施では、ヘッダの適用条件、及び、優先度をもとに適用されるヘッダが決定される点において、本発明の第１の実施の形態と異なる。
【００６０】
はじめに、本発明の第２の実施の形態の構成について説明する。
【００６１】
本発明の第２の実施の形態においては、ヘッダキュー１２０は、制御情報として、さらに、ヘッダの適用条件、及び、優先度を記憶する。適用条件には、例えば、ヘッダ付加回路１００に入力される割り込みの割り込み要因が設定される。ヘッダマージ回路１１０は、適用条件に合致し、かつ、優先度が高いヘッダを、データ記憶部６１０から取得したデータに付加する。
【００６２】
次に、本発明の第２の実施の形態における送信装置１の動作について説明する。
【００６３】
ここでは、ＵＳＢバスにおいて、優先度が異なる３種類のビデオストリームＤ１、Ｄ２、Ｄ３が送信される場合を例に、動作を説明する。これらのビデオストリームの優先度は、Ｄ１＜Ｄ３＜Ｄ２であると仮定する。また、ビデオストリームＤ１が最初に送信され、ＵＳＢホスト等、送信装置１の外部から他のビデオストリームＤ２、Ｄ３の転送要求があった場合、送信されるビデオストリームが、要求されたビデオストリームに切り替わると仮定する。
【００６４】
図６は、本発明の第２の実施の形態における、送信装置１の処理を示すフローチャートである。
【００６５】
データ生成制御部３１０は、データ生成部に、ビデオストリームのデータの生成、及び、生成されたデータのデータ記憶部６１０への保存を指示する（ステップＢ１０１）。データ生成部は、データを生成し、データ記憶部６１０に保存する。
【００６６】
例えば、データ生成制御部３１０は、ＵＶＣのビデオストリームＤ１、Ｄ２、Ｄ３のデータの生成、及び、保存を指示する。データ生成部は、ビデオストリームＤ１、Ｄ２、Ｄ３のデータを生成し、データ記憶部６１０に保存する。データ生成部は、ＣＰＵ３００に割り込み（データ生成完了割り込み）を発行する。
【００６７】
ヘッダキュー設定部３２０は、ＵＳＢバスにより送信するデータに応じたヘッダ、及び、制御情報をヘッダキュー１２０に設定する（ステップＢ１０２）。
【００６８】
図８は、本発明の第２の実施の形態における、ヘッダキュー１２０の設定例を示す図である。
【００６９】
図８の例では、３つのヘッダ１〜３が設定されている。ヘッダ１〜３は、それぞれ、ビデオストリームＤ１〜Ｄ３に対応する。ヘッダ１の制御情報である、適用条件（割り込み要因）、優先度、繰り返し回数には、それぞれ、「なし」、「３」、「ｘ回」が設定されている。ヘッダ２に対しては、それぞれ、「切替要求Ｄ２（ビデオストリームＤ２への切り替え要求）」、「１」、「ｙ回」が設定されている。ヘッダ３に対しては、それぞれ、「切替要求Ｄ３（ビデオストリームＤ３への切り替え要求）」、「２」、「ｚ回」が設定されている。なお、優先度の値は小さいほど、優先度が高いと仮定する。
【００７０】
例えば、ヘッダキュー設定部３２０は、図８のヘッダ、及び、制御情報をヘッダキュー１２０に設定する。
【００７１】
転送制御部３４０は、ＤＭＡ２００にパケットの転送を指示する（ステップＢ１０３）。
【００７２】
例えば、転送制御部３４０は、ビデオストリームＤ１、Ｄ２、Ｄ３のパケットの転送を指示する。
【００７３】
ＤＭＡ２００は、ヘッダ付加回路１００に、データ記憶部６１０からのデータの読み出しを指示する（ステップＢ３０１）。
【００７４】
ヘッダ付加回路１００のヘッダマージ回路１１０は、ヘッダキュー１２０から、ヘッダと制御情報を読み出す（ステップＢ２０１）。ここで、ヘッダマージ回路１１０は、適用条件を満たすヘッダのうち、優先度の高いヘッダを、適用するヘッダに決定する。
【００７５】
ヘッダ付加回路１００のヘッダマージ回路１１０は、データ記憶部６１０から順番に、データを読み出す（ステップＢ２０２）。ステップＢ２０１で決定したヘッダによって、ヘッダが適用されるデータの種別が異なる場合（例えば、ビデオストリームが異なる場合）、ヘッダマージ回路１１０には、ヘッダが適用されるデータの種別が設定されていると仮定する。この場合、ヘッダマージ回路１１０は、決定したヘッダに対応するデータを読み出す。また、この場合、ヘッダマージ回路１１０には、データ記憶部６１０において各種別のデータが記憶されている領域のアドレスが予め設定されており、ヘッダマージ回路１１０は、当該領域からデータを読み出すと仮定する。なお、各種別のデータが記憶されている領域のアドレスは、転送制御部３４０から、ＤＭＡ２００を介して指定されてもよい。
【００７６】
ヘッダマージ回路１１０は、読み出したデータに、ヘッダを付加し、パケットを生成する（ステップＢ２０３）。
【００７７】
ヘッダマージ回路１１０は、生成したパケットをＤＭＡ２００に送信する（ステップＢ２０４）。
【００７８】
ＤＭＡ２００は、ヘッダマージ回路１１０により生成されたパケットを、ＵＳＢコア４００に転送する（ステップＢ３０２）。
【００７９】
ＵＳＢコア４００は、ＤＭＡ２００により転送されたパケットを、ＰＨＹチップ５００を介してＵＳＢバスに送信する（ステップＢ４０１）。
【００８０】
ヘッダマージ回路１１０は、制御情報で示される繰り返し回数、ステップＢ２０２からＢ２０４の処理を繰り返す（ステップＢ２０５）。
【００８１】
また、ＤＭＡ２００は、転送制御部３４０から指示された全てのパケットが転送されるまで、ステップＡ３０２の処理を繰り返す（ステップＢ３０３）。
【００８２】
図７は、本発明の第２の実施の形態における、ヘッダ付加回路１００の割り込み処理を示すフローチャートである。
【００８３】
割り込み処理は、ヘッダ付加回路１００において上述のステップＢ２０１〜Ｂ２０５を実行しているとき、あるいは当該割り込み処理を実行しているときに、ヘッダ付加回路１００に、割り込み要因が「転送要求」の割り込みが入力されたときに実行される。当該割り込みは、例えば、ＵＳＢホスト等、送信装置１の外部から他のビデオストリームの転送要求が入力された場合に、ＣＰＵ３００上のアプリケーションからの指示に基づいて、ＣＰＵ３００から発行される。
【００８４】
ヘッダ付加回路１００のヘッダマージ回路１１０は、ヘッダキュー１２０から、ヘッダと制御情報を読み出す（ステップＢ２５１）。ここで、ヘッダマージ回路１１０は、ステップＢ２０１と同様に、適用条件と優先度とをもとに、適用するヘッダを決定する。
【００８５】
以降、ステップＢ２０２〜Ｂ２０５と同様に、ヘッダマージ回路１１０は、制御情報で示される繰り返し回数、ヘッダの付加を繰り返す（ステップＢ２５２〜Ｂ２５５）。
【００８６】
繰り返し回数分のヘッダの付加が終了した場合（ステップＢ２５５／Ｙ）、ヘッダマージ回路１１０は、割り込み処理から復帰し（ステップＢ２５６）、割り込み前に実行していた処理を再開する。
【００８７】
図９は、本発明の第２の実施の形態における、送信装置１から送信されるパケットの例を示す図である。
【００８８】
ここでは、ヘッダマージ回路１１０には、ヘッダＤ１、Ｄ２、Ｄ３を適用するビデオストリームとして、それぞれ、Ｄ１、Ｄ２、Ｄ３が予め設定されていると仮定する。
【００８９】
例えば、最初の時点では、ヘッダ付加回路１００に割り込みが入力されていない。この場合、図８のヘッダキュー１２０に設定されているヘッダの内、適用条件を満たすヘッダは、割込要因「なし」に対応するヘッダ１である。したがって、ヘッダマージ回路１１０には、ヘッダ１を、適用するヘッダに決定する。そして、ヘッダマージ回路１１０は、図９のように、ビデオストリームＤ１のｘ個のデータにヘッダ１を付加する。
【００９０】
次に、ビデオストリームＤ１のパケットをｘ−ｍ個転送したところで、ヘッダ付加回路１００に割込要因「転送要求Ｄ３」の割り込みが入力されたと仮定する。この場合、適用条件を満たすヘッダは、割込要因「なし」に対応するヘッダ１、及び、割込要因「転送要求Ｄ３」に対応するヘッダ３である。ヘッダマージ回路１１０には、優先度の高いヘッダ３を、適用するヘッダに決定する。そして、ヘッダマージ回路１１０は、ビデオストリームＤ３のｚ個のデータにヘッダ３を付加する。
【００９１】
さらに、ビデオストリームＤ３のパケットをｚ−ｎ個転送したところで、ヘッダ付加回路１００に割込要因「転送要求Ｄ２」の割り込みが入力されたと仮定する。この場合、適用条件を満たすヘッダは、割込要因「なし」に対応するヘッダ１、割込要因「転送要求Ｄ３」に対応するヘッダ３、及び、割込要因「転送要求Ｄ２」に対応するヘッダ２である。ヘッダマージ回路１１０には、優先度の高いヘッダ２を、適用するヘッダに決定する。そして、ヘッダマージ回路１１０は、ビデオストリームＤ２のｙ個のデータにヘッダ２を付加する。
【００９２】
ビデオストリームＤ２のｙ個のパケットの転送が終了すると、ヘッダマージ回路１１０は、ビデオストリームＤ３の残りのｎ個のデータにヘッダ３を付加する。
【００９３】
ビデオストリームＤ３のｚ個のパケットの転送が終了すると、ヘッダマージ回路１１０は、ビデオストリームＤ１の残りのｍ個のデータにヘッダ１を付加する。
【００９４】
このように、ビデオストリームＤ１、Ｄ２、Ｄ３のパケットが、転送要求に応じて、ＵＳＢバスに送信される。
【００９５】
以上により、本発明の第２の実施の形態の動作が完了する。
【００９６】
なお、ヘッダキュー１２０におけるヘッダ１〜３は、さらに、第１の実施形態で示したように、ＦＩＤ、ＥＯＦ等の値に応じた複数のヘッダに分類されて設定されていてもよい。
【００９７】
また、本発明の第２の実施形態では、異なるビデオストリームのヘッダを、転送要求に応じて切り替えるケースを例に説明したが、制御情報の適用条件に従って、ヘッダを切り替えるものであれば、例えば、同一のビデオストリームでヘッダを切り替える等、他のケースに適用してもよい。
【００９８】
また、割り込み要因は、転送要求以外に、送信装置１内で検出されたビデオストリームの種別の切り替わりや、送信装置１の外部から入力された転送停止要求等、他の要因であってもよい。
【００９９】
本発明の第２の実施の形態によれば、データ転送を高速に行いながら、異なる種類のヘッダを適用できる。その理由は、制御情報がヘッダに係る適用条件を含み、ヘッダマージ回路１１０が、データ記憶部６１０から取得したデータに、適用条件を満たすヘッダを付加するためである。
【０１００】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１０１】
１    送信装置
１００    ヘッダ付加回路
１１０    ヘッダマージ回路
１２０    ヘッダキュー
２００    ＤＭＡ
３００    ＣＰＵ
３１０    データ生成制御部
３２０    ヘッダキュー設定部
３３０    割り込み処理部
３４０    転送制御部
４００    ＵＳＢコア
５００    ＰＨＹチップ
６００    ＲＡＭ
６１０    データ記憶部
【図１】
2015119255.tif 000003
【図２】
2015119255.tif 000004
【図３】
2015119255.tif 000005
【図４】
2015119255.tif 000006
【図５】
2015119255.tif 000007
【図６】
2015119255.tif 000008
【図７】
2015119255.tif 000009
【図８】
2015119255.tif 000010
【図９】
2015119255.tif 000011