(57)【要約】【課題】高レートデータを汎用プロトコルスタックで受信する場合、低コストのプロセッサでは性能が追従できず、高価なプロセッサが必要となる。【解決手段】ネットワーク通信コントローラの中にデータ判別部、データ送信部、チェックサム再計算部を設ける。ネットワーク通信コントローラがデータを受信すると、データ判別部で受信すべき高レートのデータかどうか判別し、該当する場合はデータ送信部において、各種ヘッダを除去したアプリケーションデータをメモリ領域に転送する。ＴＣＰで伝送される場合には、さらに、チェックサム再計算部において、受信したデータのアプリケーションデータを予め定められたダミーデータに置換し、ＴＣＰヘッダのチェックサムを再計算する。その後、各種ヘッダのみをネットワーク通信ドライバに引き渡す。ネットワーク通信ドライバでは、受け取ったヘッダにダミーデータを付加して、ＯＳのＴＣＰ／ＩＰスタックへ引き渡す。【選択図】図４
2006031145.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して高レートのデータを受信するための装置であって、予め定められた特徴を持つデータを判別する手段と、前記予め定められた特徴を持つデータを予め定められたハードウェアデバイスに転送する手段とを備えたことを特徴とするデータ受信装置。
【請求項２】
前記予め定められた特徴を持つデータを、前記ハードウェアデバイスとネットワークから受信するデータを処理するための受信ソフトウェアの両方に渡すことを特徴とする請求項１に記載のデータ受信装置。
【請求項３】
前記予め定められた特徴を持つデータの転送に用いられているプロトコルヘッダのみを前記受信ソフトウェアに渡すことを特徴とする請求項２に記載のデータ受信装置。
【請求項４】
前記プロトコルヘッダには転送するデータの正当性を示すためのフィールドがあって、前記受信ソフトウェアに前記プロトコルヘッダを渡す前に、前記転送するデータを予め定められたデータパターンに置換したときの前記フィールドの値を再計算し、再計算した前記フィールドの値で前記フィールドを置換する手段を備え、前記フィールドを置換した後に前記受信ソフトウェアに渡すことを特徴とする請求項３に記載のデータ受信装置。
【請求項５】
前記ネットワークはイーサネット（登録商標）であることを特徴とする請求項１〜４のいずれかに記載のデータ受信装置。
【請求項６】
前記判別する手段と前記転送する手段を制御するためのインタフェースを備えたことを特徴とする請求項１〜５のいずれかに記載のデータ受信装置。
【請求項７】
請求項４〜６のいずれかに記載のデータ受信装置、および前記予め定められたハードウェアを内蔵し、前記プロトコルヘッダに前記予め定められたデータパターンを付加する前記受信ソフトウェアを備えたことを特徴とするデータ受信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰを用いてイーサネット（登録商標）で転送されるデータの受信装置に関する。
【背景技術】
【０００２】
図６は、ＩＰを用いてイーサネット（登録商標）から受信したデータをハードウェアデバイスへ転送するためのソフトウェアスタックを表している。ネットワーク通信コントローラによって受信されたデータは、ネットワーク通信ドライバ、ＩＰスタック、ＴＣＰまたはＵＤＰスタック、アプリケーションプログラム、ハードウェアデバイスドライバという各ソフトウェアスタックを経由してハードウェアデバイスへ転送される。図６で示したソフトウェアスタックのうち、ネットワークに関連するスタックは汎用化されており、制御用の小容量データのリアルタイム通信や、映像データなどの大容量データのバースト通信などのように相反する性質・性能が要求されるアプリケーションにも適用可能なように配慮されている。そのため、映像データのような大容量データを高速通信する場合、汎用化に伴うオーバーヘッドが大きく、処理能力が高いプロセッサが必要となる。この問題を解決するために、従来技術として図７に示されるソフトウェアスタックを利用するものがある（例えば、特許文献１参照）。
【０００３】
図７において、ネットワーク通信コントローラによって受信されたデータは、ネットワーク通信ドライバを経由して大容量データ受信処理部に渡される。大容量データ受信部では、受信データ判別部により、特定の大容量データを転送するパケットを判別し、該当する場合は描画データ格納メモリに送信している。大容量データ受信部は、特定の大容量データに特化したプロトコル処理を行っているため、通常のＩＰ、ＴＣＰ／ＵＤＰスタック処理を行うよりもオーバーヘッドが少なく処理が行える。
【特許文献１】特開２００１−１１１５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら上記の従来技術には以下のような課題がある。特許文献１の実施の形態で示されているように、ＵＤＰベースでデータを転送する場合は、大容量データ受信部はチェックサムの計算程度に簡略化し、プロトコル処理のオーバーヘッドを簡略化するとともに、アプリケーションを経由してデータを授受する必要もなくなり、全体の処理を簡略化することが可能である。一方、特許文献１に記載の発明を利用してＴＣＰベースでデータを転送する場合、アプリケーションを経由してデータを授受する必要はなくなるものの、大容量データ受信部において、ＵＤＰでは処理する必要のない受信応答や再送制御、タイムアウト確認などの汎用のＴＣＰスタックと同様の処理を実装する必要がある。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために、第１の本発明は、ネットワークを介して高レートのデータを受信するための装置であって、予め定められた特徴を持つデータを判別する手段と、前記予め定められた特徴を持つデータを予め定められたハードウェアデバイスに転送する手段とを備えたことを特徴とするデータ受信装置である。
【０００６】
また、第２の本発明は、前記予め定められた特徴を持つデータを、前記ハードウェアデバイスとネットワークから受信するデータを処理するための受信ソフトウェアの両方に渡すことを特徴とする請求項１に記載のデータ受信装置である。
【０００７】
また、第３の本発明は、前記予め定められた特徴を持つデータの転送に用いられているプロトコルヘッダのみを前記受信ソフトウェアに渡すことを特徴とする請求項２に記載のデータ受信装置である。
【０００８】
また、第４の本発明は、前記プロトコルヘッダには転送するデータの正当性を示すためのフィールドがあって、前記受信ソフトウェアに前記プロトコルヘッダを渡す前に、前記転送するデータを予め定められたデータパターンに置換したときの前記フィールドの値を再計算し、再計算した前記フィールドの値で前記フィールドを置換する手段を備え、前記フィールドを置換した後に前記受信ソフトウェアに渡すことを特徴とする請求項３に記載のデータ受信装置である。
【発明の効果】
【０００９】
以上のように構成することで、本発明ではＩＰを用いてイーサネット（登録商標）から受信するデータをソフトウェアを介することなくハードウェアデバイスへ転送することで、プロセッサの負荷を軽減することができる。
【００１０】
また、ＴＣＰのようにソフトウェアによるプロトコル処理が必要となる場合は、ダミーのデータをソフトウェアで自動的に生成することで、ネットワーク通信コントローラからネットワーク通信ドライバまでのデータ転送に必要な処理を削減し、プロセッサの負荷を減らすとともに、汎用的なプロトコルスタックを利用した実装を行うことができる。
【発明を実施するための最良の形態】
【００１１】
（実施の形態１）
本発明の実施の形態１について説明する。図１に本実施の形態における端末装置１００の構成図を示す。端末装置１００は、ＩＰを用いてイーサネット（登録商標）から動画データを受信し、再生するための端末である。
【００１２】
端末装置１００は、ネットワーク通信コントローラ２００と、ネットワーク通信コントローラ２００で受信したデータをメモリに格納するためのネットワーク通信ドライバ３００を備えている。ネットワーク通信コントローラ２００の内部には、イーサネット（登録商標）の物理層とデータリンク層の処理を行うネットワーク通信コア処理部２１０に加え、受信したデータが動画データかどうかを判別するデータ判別部２２０と、受信したデータが動画データを含む場合に、動画データのみを抽出しデコーダ５００へデータを送出するデータ送出部２３０を備えている。ネットワーク通信コントローラ２００には、データ判別部２２０とデータ送出部２３０をネットワーク通信ドライバ３００から制御するためのレジスタが備わっている。さらに、受信したデータがＩＰパケットの場合にプロトコル処理を施すＴＣＰ／ＩＰスタック４００を備えている。また、動画データを再生するためのデコーダ５００と、デコーダ５００を制御するためのデコーダドライバ６００を備えている。アプリケーション７００は、リモコン等のユーザインタフェース装置による命令により、各部に対する制御を行っている。
【００１３】
図２に本実施の形態におけるネットワーク通信コントローラ２００の動作を示すフローチャートを示す。ネットワーク通信コントローラ２００は、データを受信するまで待機状態にある（Ｓ１２０１）。ネットワーク通信コントローラ２００は、データを受信すると、ネットワーク通信コア処理部２１０によりイーサネット（登録商標）の物理層とデータリンク層の処理を行い（Ｓ１２０２）、データ判別部２２０へ渡す。データ判別部２２０では、受信したデータが動画データを含むかどうかの判別を行い（Ｓ１２０３）、動画データを含んでいる場合はデータ送出部２３０へデータを渡し、動画データを含んでいない場合はネットワーク通信ドライバ３００へデータを受信したことを通知する（Ｓ１２０６）。データ送出部２３０では、イーサネット（登録商標）ヘッダやＩＰヘッダ等の除去を行った後（Ｓ１２０４）、デコーダ５００へデータを送出する（Ｓ１２０５）。また、ネットワーク通信ドライバ３００では動画データを取得し（Ｓ１２０７）、ＴＣＰ／ＩＰスタック４００に渡され必要なアプリケーションにデータが渡される。最後にデータを廃棄して（Ｓ１２０８）、データの受信待ち状態に入る（Ｓ１２０１）。
【００１４】
以上のような構成、動作を行うことにより、ＵＤＰ等のサーバに対する受信応答等が必要とないプロトコルにより動画を伝送する場合では、プロセッサの負荷を無くして受信・抽出することが可能となる。
【００１５】
（実施の形態２）
本発明の実施の形態２について説明する。本実施の形態における端末装置１００の構成は実施の形態１と同様である。
【００１６】
図３に本実施の形態におけるネットワーク通信コントローラ２００の動作を示すフローチャートを示す。ネットワーク通信コントローラ２００は、データを受信するまで待機状態にある（Ｓ２２０１）。ネットワーク通信コントローラ２００は、データを受信すると、ネットワーク通信コア処理部２１０によりイーサネット（登録商標）の物理層とデータリンク層の処理を行い（Ｓ２２０２）、データ判別部２２０へ渡す。データ判別部２２０では、受信したデータが動画データを含むかどうかの判別を行う（Ｓ２２０３）。
【００１７】
Ｓ２２０３において、動画データを含んでいる場合は動画データを伝送しているプロトコルがＴＣＰかどうかを判断する（Ｓ２２０４）。
【００１８】
Ｓ２２０４において、ＴＣＰで伝送されていると判断された場合、ネットワーク通信ドライバ３００へデータを受信したことを通知し（Ｓ２２０５）、ネットワーク通信ドライバ３００がデータを取得する（Ｓ２２０６）。その後、データ送出部２３０において、イーサネット（登録商標）ヘッダやＩＰヘッダ等の除去を行った後（Ｓ２２０７）、デコーダ５００へデータを送出する（Ｓ２２０８）。
【００１９】
Ｓ２２０４において、ＴＣＰで伝送されていると判断されていない場合は、データ送出部２３０において、イーサネット（登録商標）ヘッダやＩＰヘッダ等の除去を行った後（Ｓ２２０７）、デコーダ５００へデータを送出する（Ｓ２２０８）。
【００２０】
Ｓ２２０３において動画データを含んでいないと判断された場合、ネットワーク通信ドライバ３００へデータを受信したことを通知し（Ｓ２２０５）、ネットワーク通信ドライバ３００がデータを取得する（Ｓ２２０６）。
【００２１】
いずれの場合においても、最後にはデータを廃棄して（Ｓ２２０９）データの受信待ち状態に入る（Ｓ２２０１）。
【００２２】
以上のような構成、動作を行うことにより、ＴＣＰのようにサーバに対する受信応答等が必要となるプロトコルの場合、既存のスタックを利用して受信応答が行えるとともに、ハードウェアによる動画データ抽出処理は行われるため、アプリケーション７００が動画データを受信し、デコーダドライバ６００を経由してデコーダ５００へ動画データを送出する必要はない。
【００２３】
（実施の形態３）
本発明の実施の形態３について説明する。図４に本実施の形態における端末装置１００の構成図を示す。端末装置１００は、図１に示す端末装置１００の構成とほぼ同じであるが、ネットワーク通信コントローラ２００の内部にチェックサム再計算部２４０が加わっている。
【００２４】
本実施の形態におけるネットワーク通信コントローラ２００の動作は図３に示される実施の形態２の動作とほぼ同様であるが、実施の形態２のＳ２２０４からＳ２２０５においてフローが追加される。本実施の形態におけるＳ２２０４からＳ２２０５までの動作フローを図５に示す。図５において、ＴＣＰと判断されたデータは送出部２３０とチェックサム再計算部２４０へ送出される。データ送出部２３０の処理は実施の形態２のＳ２２０７以下と同様である。チェックサム再計算部２４０では、受信したＴＣＰヘッダにダミーデータが付加される（Ｓ３２０１）。このとき、ダミーデータ長は動画データ長と同じである。その後、ＴＣＰのチェックサムの再計算が行われる（Ｓ３２０２）。ＴＣＰのチェックサムはＴＣＰヘッダとペイロードを含めたＴＣＰパケット全体が計算される。その後、ネットワーク通信ドライバ３００に受信通知が行われ（Ｓ２２０５）、ネットワーク通信ドライバ３００がデータを取得する（Ｓ２２０６）。ただし、Ｓ２２０６において、ネットワーク通信ドライバ３００は、受信したデータのイーサネット（登録商標）ヘッダ、ＩＰヘッダ、ＴＣＰヘッダのみを取得する。ネットワーク通信ドライバは取得した各種ヘッダに加えＳ３２０１で付加したダミーデータを加える。このダミーデータは例えば１６進数で０ｘ００であるように、付加が容易なデータにしておく。
【００２５】
以上のような構成、動作を行うことにより、実施の形態２と比較して、ネットワーク通信コントローラ２００からネットワーク通信ドライバ３００に対して渡すデータ長を削減することができ、プロセッサの負荷を軽減することができる。
【産業上の利用可能性】
【００２６】
本発明のデータ受信装置は、プロセッサの負荷を軽減して、ＩＰを用いて転送されるデータの受信を可能とするため、ネットワークに対応した家庭電化製品の開発に有用である。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態１における端末装置の構成図
【図２】本発明の実施の形態１におけるネットワーク通信コントローラの動作を示すフローチャート
【図３】本発明の実施の形態２におけるネットワーク通信コントローラの動作を示すフローチャート
【図４】本発明の実施の形態３における端末装置の構成図
【図５】本発明の実施の形態３におけるネットワーク通信コントローラの動作の一部を示すフローチャート
【図６】従来の代表的なプロトコルスタック図
【図７】従来技術に係る端末装置の構成図
【符号の説明】
【００２８】
１００    端末装置
２００    ネットワーク通信コントローラ
２１０    ネットワーク通信コア処理部
２２０    データ判別部
２３０    データ送信部
２４０    チェックサム計算部
３００    ネットワーク通信ドライバ
４００    ＴＣＰ／ＩＰスタック
５００    デコーダ
６００    デコーダドライバ
７００    アプリケーション
【図１】
2006031145.tif 000003
【図２】
2006031145.tif 000004
【図３】
2006031145.tif 000005
【図４】
2006031145.tif 000006
【図５】
2006031145.tif 000007
【図６】
2006031145.tif 000008
【図７】
2006031145.tif 000009