(57)【要約】【課題】  容量の大きなデジタルデータを送信する場合において、ＣＰＵの演算負担とデジタルデータの転送にかかるオーバーヘッドを軽減し、送信速度を速める。【解決手段】  通信ネットワークを介してデジタルデータを送信するためのデータ加工を施すデータ処理技術である。受信データ用メモリ(20)に格納されたデジタルデータに対して送信用のＳＵＭ値を計算するＳＵＭ計算手段(12)と、計算されたＳＵＭ値を格納するレジスタ部(13)と、受信データ用メモリ(20)に格納されたデジタルデータをＳＵＭ値付きデジタルデータへ加工処理するための送信データ用メモリ(50)へ転送させるためのＤＭＡライト部(14)と、送信データ用メモリ(50)へ転送およびＳＵＭ計算を同時に実行させるためのＤＭＡリード部(11)と、を備える。【選択図】  図９
2018026004.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークを介して受信データ用メモリに格納されたデジタルデータを送信するためのデータ加工を施すデータ処理装置であって、
前記の受信データ用メモリに格納されたデジタルデータに対して送信用のＳＵＭ値を計算するＳＵＭ計算手段と、
そのＳＵＭ計算手段によって計算されたＳＵＭ値を格納するレジスタ部と、
前記の受信データ用メモリに格納されたデジタルデータをＳＵＭ値付きデジタルデータへ加工処理するための送信データ用メモリ部へ転送させるためのＤＭＡライト部と、
前記の送信データ用メモリ部へ転送およびＳＵＭ計算を同時に実行させるためのＤＭＡリード部と、
を備えたデータ処理装置。
【請求項２】
前記のＤＭＡライト部は、前記のレジスタ部に格納されたＳＵＭ値および受信データ用メモリに格納されたデジタルデータを前記の送信データ用メモリ部へ転送させることとした
請求項１に記載のデータ処理装置。
【請求項３】
前記の受信データ用メモリから前記のＤＭＡリード部へのデータ転送用のリード用バスと、
前記のＤＭＡライト部から前記の送信データ用メモリへのデータ転送用のライト用バスと、を備えた
請求項１または請求項２のいずれかに記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＤＭＡコントローラおよび通信処理装置を用いた技術に関する。より詳しくは、計算機とネットワークインターフェイスとのデータ転送処理の技術に関する。
【背景技術】
【０００２】
イーサネット(登録商標）に代表されるネットワークでは、ネットワークインターフェイスにおいてネットワーク上を流れるデータ（パケット化される）との送受信については、マイクロプロセッサ（以下、「ＣＰＵ」と略記する）が実行する。
最も簡単な構成に基づくネットワークインターフェイスとＣＰＵとのデータ転送は、ＣＰＵがネットワークインターフェイスに実装されているバッファをＣＰＵのメモリ空間上にマッピングし、ＣＰＵからメモリアクセス命令を発行することによって実行される。
【０００３】
しかし、大量のパケットデータを送受信しなければならない場合には、メモリアクセス命令の発行およびその実行において、処理時間が増加してしまう。すると、ＣＰＵが実行すべきパケット処理の時間を圧迫してしまい、その結果として通信のスループットが低下してしまう、という問題が発生する。
【０００４】
通信スループットの低下を防止する方式として、ダイレクトメモリアクセス（ＤＭＡ）およびそのコントローラを設置し、ネットワークインターフェイスからＣＰＵのメモリへ転送し、データコピーに費やされるＣＰＵ負荷を低減させる方法が、一般には採用される。
ここで、ダイレクトメモリアクセス（ＤＭＡ）とは、ＣＰＵを介さずに、メモリとメモリまたはメモリと周辺機器の間でデータを直接転送することをいう。
たとえば特許文献１では、ＤＭＡコントローラにプログラマブルシーケンサを利用し、開発効率の短縮等に伴うコスト増大を抑える方法が開示されている。
【０００５】
また、特許文献２では、ネットワークインターフェイスとＣＰＵの間に２種類のデータバスを設け、一方のデータバスにはプロトコル処理をネットワークインターフェイスで行ったデータを、他方のデータバスにはホストコンピュータで実行されるプロトコル処理のデータを送受信できるようにした方式が開示されている。
【０００６】
更に、特許文献３では、開発効率の短縮と通信スループットの向上とを意図したＤＭＡコントローラおよび通信処理装置が開示されている。
【０００７】
図１（フローチャート）および図２（ブロック図）に基づいて、画像データや映像データといった容量の大きなデータを、ネットワークを介して転送する一般的な手順およびハードウェア構成について説明する。
カメラ１００にて画像または映像（動画）を撮影し、カメラインタフェースによってその撮影した画像データまたは映像データ（以下、「画像データ」と略記）を画像処理部１０１へ入力する（Ｓ１）。  続いて、画像処理部１００で原画像データに画像処理を施し、その処理済みの画像データを通信受信部２２へ保存する（Ｓ２）。
【０００８】
通信受信部２２へ保存された画像データをＤＭＡコントローラ部２１の制御によって、メモリ部２０へバースト転送する（Ｓ３）。メモリ部２０へ転送された画像データを、ＤＭＡコントローラ３１の制御によってメモリ部５０のＴＣＰペイロードへバースト転送する（Ｓ４）。
メモリ部２０へ転送された画像データをＤＭＡコントローラ３０の制御によって、ＳＵＭ処理部１０へバースト転送する。  ＳＵＭ処理部１０でＳＵＭ値を計算し、ＣＰＵ４０はＳＵＭ値を得る（Ｓ５）。
【０００９】
ＣＰＵ４０は、ＳＵＭ値をメモリ部５０のＴＣＰヘッダへ格納する（Ｓ６）。メモリ部５０へ保管されたＴＣＰパケットデータを、ＤＭＡコントローラ５１の制御によって通信送信部５２へバースト転送する（Ｓ７）。通信送信部５２は、受信したＴＣＰパケットデータをネットワークへ送信する（Ｓ８）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平１１−４１２９７号公報
【特許文献２】特開２０００−２３５５３６号公報
【特許文献３】特開２００７−２７９５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
たとえば、５０メガバイト／秒といった転送速度を求められると、図１、２に示したような技術では、達成が困難であった。
【００１２】
ＣＰＵの性能を高めることで、各種の処理速度を向上させ、転送速度を速める、という手法が最も単純であり、多く採用されてきた手法でもある。
しかし、ＣＰＵ性能の向上が達成される頃には、転送速度の要求も向上してしまうのが常である。たとえば、転送したい画像データの画質向上が求められるからである。
【００１３】
本発明が解決すべき課題は、ＣＰＵ性能の向上とは無関係に、データの転送速度を向上させることができる技術を提供することにある。
【課題を解決するための手段】
【００１４】
本願では、データ転送の際にＣＰＵが処理することでボトルネックとなっている処理手順を分散処理させることで、ＣＰＵ性能の向上とは無関係にデータの転送速度を向上させることができる技術に係る発明を提供する。
【００１５】
（第一の発明）
第一の発明は、通信ネットワークを介して受信データ用メモリ(20)に格納されたデジタルデータを送信するためのデータ加工を施すデータ処理装置(たとえばＳＵＭ処理内蔵ＤＭＡコントローラ10A
)に係る。
そのデータ処理装置(10A)は、前記の受信データ用メモリ(20)に格納されたデジタルデータに対して送信用のＳＵＭ値を計算するＳＵＭ計算手段(12)と、  そのＳＵＭ計算手段(12)によって計算されたＳＵＭ値を格納するレジスタ部(13)と、  前記の受信データ用メモリ(20)に格納されたデジタルデータをＳＵＭ値付きデジタルデータへ加工処理するための送信データ用メモリ(50)へ転送させるためのＤＭＡライト部(14)と、  前記の送信データ用メモリ(50)へ転送およびＳＵＭ計算を同時に実行させるためのＤＭＡリード部(11)と、を備える。
【００１６】
（用語説明）
送信対象であるデジタルデータとは、代表的には画像データ（静止画、動画）、音声データなど、容量が大きいものが適している。
前記の送信対象となるデジタルデータに対して通信プロトコルに合わせるためのプロトコル処理などを実行してプロトコル加工済みデータとするが、前記のＳＵＭ計算手段(12)は、そうしたプロトコル処理手段(CPU40)とは別に備える。
本願に係る「データ処理装置」は、たとえばワンチップ化して既存のデータ送信装置へ組み込むことが可能である。
【００１７】
（作用）
そのＳＵＭ計算手段(12)によるＳＵＭ値の計算のためのデジタルデータを、ＤＭＡリード部(11)が受信データ用メモリ(20)から読み込む。読み込まれたデジタルデータに対して、ＳＵＭ計算手段(12)が送信用のＳＵＭ値を計算する。そのＳＵＭ計算手段(12)によって計算されたＳＵＭ値は、レジスタ部(13)へ格納される。
一方、受信データ用メモリ(20)に格納されたデジタルデータは、ＳＵＭ値付きデジタルデータへ加工処理するための送信データ用メモリ(50)へ、ＤＭＡライト部(14)が転送させる。ＤＭＡリード部(11)は、前記の送信データ用メモリ(50)へ転送およびＳＵＭ計算を同時に実行させる。
【００１８】
ＳＵＭ計算手段(12)によるＳＵＭ計算および送信データ用メモリ(50)への送信対象であるデジタルデータの送信処理を同時に実行できるため、トータルで要する処理時間を短縮でき、データ送信速度を向上させることができる。
【００１９】
（第一の発明のバリエーション１）
第一の発明におけるＤＭＡライト部(14)は、前記のレジスタ部(13)に格納されたＳＵＭ値および受信データ用メモリ(20)に格納されたデジタルデータを、前記の送信データ用メモリ(50)へ転送させることとすると、より好ましい。
【００２０】
（作用）
ＳＵＭ計算手段(12)によって計算されたＳＵＭ値は、ＤＭＡライト部(14)が送信データ用メモリ(50)へ転送させる。ＳＵＭ値付きデジタルデータへ加工するタイミングは、ＤＭＡライト部(14)が調整することとなる。
【００２１】
（第一の発明のバリエーション２）
第一の発明は、以下のように形成することも可能である。
すなわち、前記の受信データ用メモリ(20)から前記のＤＭＡリード部(11)へのデータ転送用のリード用バス(61)と、  前記のＤＭＡライト部(14)から前記の送信データ用メモリ(50)へのデータ転送用のライト用バス(62)と、を備えることとしてもよい。
【００２２】
（作用）
ＣＰＵバス(60)とは別に、リード用バス(61)およびライト用バス(62)を備えることによって、処理速度の向上に寄与したり、並列でＣＰＵ処理実行に寄与したりする。
【発明の効果】
【００２３】
第一の発明によれば、容量の大きなデジタルデータを送信する場合において、ＣＰＵの演算負担を軽減し、送信速度を速められるデータ処理装置を提供することができた。
【図面の簡単な説明】
【００２４】
【図１】一般（旧システム）におけるカメラ画像をネットワーク軽油で送信する場合の手順を示すフローチャートである。
【図２】一般（旧システム）におけるカメラ画像をネットワーク軽油で送信するハードウェア構成を示すブロック図である。
【図３】一般（旧システム）において、被写体を撮影したカメラの画像がどのように加工されるのかを示す概念図である。
【図４】本願に係る実施形態（新システム）におけるカメラ画像をネットワーク軽油で送信する場合の手順を示すフローチャートである。
【図５】本願に係る実施形態（新システム）におけるカメラ画像をネットワーク経由で送信するハードウェア構成を示すブロック図である。
【図６】図５の第一のバリエーションにおけるハードウェア構成を示すブロック図である。
【図７】図５の第二のバリエーションにおけるハードウェア構成を示すブロック図である。
【図８】図５の第三のバリエーションにおけるハードウェア構成を示すブロック図である。
【図９】本願に係る実施形態（新システム）において、被写体を撮影したカメラの画像がどのように加工されるのかを示す概念図である。
【図１０】第二の実施形態において、被写体を撮影したカメラの画像がどのように加工されるのかを示す概念図である。
【発明を実施するための形態】
【００２５】
以下、本発明を実施形態に基づいて説明する。ここで使用する図面は、図４から図１０である。また、必要に応じて図３を比較参照する。
【００２６】
（図４および図５）
図４および図５を用いて、本実施形態の構成および処理手順を説明する。
カメラ１００で画像または映像（以降、画像と総称）を撮影し、カメラインタフェースによって画像処理部１０１へ入力する（Ｓ１１）。
画像処理部１０１において原画像へ画像処理を施し、その処理済みの画像データを通信受信部２２へ保存する（Ｓ１２）。
通信受信部２２へ保存された処理済み画像データをＤＭＡコントローラ部２１の制御によって、メモリ部２０へバースト転送する（Ｓ１３）。
【００２７】
メモリ部２０へ転送された画像データをＳＵＭ処理内臓ＤＭＡコントローラ１０（図５では１０Ａ）の制御によって、メモリ部５０のＴＣＰペイロードへバースト転送する。その転送と同時に、ＳＵＭ処理内臓ＤＭＡコントローラ１０へ内蔵されたＳＵＭ計算部１２でＳＵＭ値を計算し、レジスタ部１３へ格納する（Ｓ１４）。
【００２８】
ＣＰＵ４０は、レジスタ部１３へ格納されたＳＵＭ値をメモリ部５０のＴＣＰヘッダへ格納する（Ｓ１５）。
メモリ部５０へ保管されたＴＣＰパケットデータをＤＭＡコントローラ５１の制御によって、通信送信部５２へバースト転送する（Ｓ１６）。
通信送信部５２は、受信したＴＣＰパケットをネットワークへ送信する（Ｓ１７）。
【００２９】
図５に示すように、ＳＵＭ処理内臓ＤＭＡコントローラ１０Ａでは、ＤＭＡリード部１１がメモリ部２０（受信データ用メモリ）から読み込んだデータは、ＳＵＭ計算部１２へ送り込むとともに、データバッファとしてのＦＩＦＯ１５にて、ＤＭＡライト部１４によるメモリ部５０（送信データ用メモリ）への書き込みのタイミングを調整している。
【００３０】
（図６）
図６は、図５に示した実施形態のバリエーションを示している。
図６に示すＳＵＭ処理内臓ＤＭＡコントローラ１０Ｂでは、ＤＭＡリード部１１がメモリ部２０（受信データ用メモリ）から読み込んだデータを、ＳＵＭ計算部１３とＦＩＦＯ１５とへ送り込むこととしている。
【００３１】
ＳＵＭ計算部１３にて計算されたＳＵＭ値は、レジスタ部１３に書き込む。  ＤＭＡライト部１４は、ＦＩＦＯ１５へ蓄積したデータとレジスタ部１３に書き込まれたＳＵＭ値とをメモリ部５０（送信データ用メモリ）へデータ転送する。
【００３２】
（図７）
図７もまた、図５に示した実施形態のバリエーションを示している。
図７に示すＳＵＭ処理内臓ＤＭＡコントローラ１０Ｃでは、ＣＰＵバス６０とは別に、メモリ部２０（受信データ用メモリ）からＤＭＡリード部１１へのデータ転送用のリード用バス６１を備えている。  また、ＤＭＡライト部１４からメモリ部５０（送信データ用メモリ）へのデータ転送用のライト用バス６２と、を備えている。
【００３３】
ＦＩＦＯ１５へ蓄積されたデータは、ＤＭＡライト部１４によって、ライト用バス６２を経由してメモリ部５０へ転送される。
一方、レジスタ部１３に蓄積されたＳＵＭ値は、ＣＰＵバス６０を経由してメモリ部５０へ転送される。
【００３４】
この実施形態では、リード用バス６１およびライト用バス６２を備えているので、ＣＰＵバス６０を使わずにデータの授受が実行できることによる処理速度の向上に寄与したり、並列でＣＰＵ処理実行に寄与したりする。
【００３５】
（図８）
図８もまた、図５に示した実施形態のバリエーションを示している。
図８に示した実施形態もまた、リード用バス６１およびライト用バス６２を備えている。
図７との相違点は、レジスタ部１３に蓄積されたＳＵＭ値が、ＦＩＦＯ１５へ蓄積されたデジタルデータとともに、ライト用バス６２を経由してメモリ部５０へ転送される点である。
【００３６】
この実施形態においても、リード用バス６１およびライト用バス６２を備えているので、ＣＰＵバス６０を使わずにデータの授受が実行できることによる処理速度の向上に寄与したり、並列でＣＰＵ処理実行に寄与したりする。
【００３７】
（図９）
図９に基づいて、被写体を撮影したカメラの画像が、どのようにデータとして加工され、どこへ送信されたり格納されたりするのか、を説明する。  図９において、吹き出しにて表現しているのは、矢印の方向で示す処理を、どのハードウェアが中心となって実行しているか、を示すものである。
必要に応じて、図３と比較すると、本発明（各実施形態）が従来技術とどこが異なるか、明確となる。
【００３８】
まず、被写体をカメラ１００が撮影すると、アナログである画像（静止画であっても動画であってもよい）は、カメラ１００における画像処理部１０１においてデジタル化され、画像データとなる。  デジタル化された画像データは、メモリ部２０（受信データ用メモリ）へ格納される。
【００３９】
メモリ部２０へ格納された画像データは、通信回線にて送信が可能であるようにプロトコル加工を施す。このプロトコル加工は、ＣＰＵ４０が実行する。
一方、メモリ部２０へ格納された画像データを用いて、ＳＵＭ値を計算するのであるが、その計算処理は、ＳＵＭ処理内蔵ＤＭＡコントローラ１０Ａが実行する。以下、更に詳しく説明する。
【００４０】
まず、メモリ部２０へ格納された画像データをＤＭＡリード部１１へ読み込む。そして、ＳＵＭ計算部１２がＳＵＭ値を計算する。計算したＳＵＭ値は、レジスタ部１３へ格納し、ＣＰＵ４０は、メモリ部５０へＳＵＭ値を書き込む。
【００４１】
メモリ部２０へ格納された画像データは、ＦＩＦＯ１５にも一旦格納する。このＦＩＦＯ１５へのデータ格納と、ＳＵＭ計算部１２への画像データの転送とを、ＤＭＡリード部１１が同時に実行させるのである。
なお、メモリ部５０（送信データ用メモリ）へ送るタイミングをＤＭＡライト部１４が制御している。
【００４２】
ＳＵＭ値とプロトコル加工された画像データとは、メモリ部５０へ格納され、ＣＰＵ４０によってＳＵＭ値付き画像データとしてパケット化される。そのＳＵＭ値付き画像データは、通信送信部５２によってネットワークへ送信される。
【００４３】
図９に示した処理手順においては、前述したＤＭＡリード部１１が、従来のボトルネック解消に寄与し、画像データ送信の速度向上にも寄与するのである。
図３に示した処理手順よりも、円滑にパケット化データを作成できる。図３の処理手順では、並列処理が存在しないからである。
【００４４】
（図１０）
図１０では、図９に示した実施形態のバリエーションを示す。
前述した実施形態との相違点は、カメラ１００における画像処理部１０１がデジタル化した画像データをメモリ部２０とは別に備えたサブメモリ２５にも格納することとした点である。
なお、サブメモリ２５は、メモリ部２０と物理的に異なる存在とする場合の他、メモリ部２０にパーティションを設定することでサブメモリ２５を存在させる場合を含む。
【００４５】
ＳＵＭ処理内蔵ＤＭＡコントローラ１０ＢのＤＭＡリード部１１は、サブメモリ２５に格納された画像データを用いてＳＵＭ計算部１２にＳＵＭ値を計算させるように制御する。サブメモリ２５の存在によって、メモリ部２０の負担を軽減できる。
【産業上の利用可能性】
【００４６】
本発明は、情報通信機器の製造業、情報通信サービスのためのコンピュータソフトウェアを作成するソフトウェア産業、などにおいて利用可能性を有する。
【符号の説明】
【００４７】
１０  ；ＳＵＭ処理部
１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ  ；ＳＵＭ処理内蔵ＤＭＡコントローラ
１１  ；ＤＭＡリード部                    １２  ；ＳＵＭ計算部
１３  ；レジスタ部                        １４  ；ＤＭＡライト部
１５  ；ＦＩＦＯ（バッファメモリ）
２０  ；メモリ部（画像データ受信用）      ２１  ；ＤＭＡコントローラ
２２  ；画像通信受信部
２５  ；サブメモリ
３０  ；ＤＭＡコントローラ（ＳＵＭ転送用）
３１  ；ＤＭＡコントローラ（メモリ転送用）
４０  ；ＣＰＵ
５０  ；メモリ部（送信データ格納用）      ５１  ；ＤＭＡコントローラ
５２  ；通信送信部
６０  ；ＣＰＵバス                        ６１  ；リード用バス
６２  ；ライト用バス
１００  ；カメラ                          １０１  ；画像処理部
【図１】
2018026004.tif 000003
【図２】
2018026004.tif 000004
【図３】
2018026004.tif 000005
【図４】
2018026004.tif 000006
【図５】
2018026004.tif 000007
【図６】
2018026004.tif 000008
【図７】
2018026004.tif 000009
【図８】
2018026004.tif 000010
【図９】
2018026004.tif 000011
【図１０】
2018026004.tif 000012