(57)【要約】【課題】パケットのチェックサム計算を簡略化及び高速化することができるストリーミング伝送処理方法を提供すること。【解決手段】本発明の画像データのストリーミング伝送処理方法は、各々のストリームにおける送信先のアドレスや１パケットで送信する画像データサイズ等の情報を管理する送信先情報管理機能と、送信パケットのヘッダ作成を行うパケットヘッダ作成機能、送信パケットのチェックサムの計算処理を行うチェックサム計算機能と、各々のストリーム毎に送信画像データのチェックサムの累積値を一時記憶するチェックサム累積値メモリを備える。【選択図】図１
2007006200.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを通じて複数の受信相手に同じ画像データを配信し、ストリーミングパケットで送信する画像データサイズが受信相手毎に異なっても良いストリーミング伝送において、
パケットで送信する画像データ分のパケットチェックサムの計算処理が複数ストリームで重複することのないように、複数ストリームのパケット作成順番の決定及びチェックサムの計算を行う手段を備え、パケットを作成する際に直前に送信したパケットまでの画像データとの差分部分だけを対象にして計算することによってパケットチェックサム算出を簡略化することを特徴とするストリーミング伝送処理方法。
【請求項２】
各々のストリームにおける送信先のアドレスや１パケットで送信する画像データサイズ等の情報を管理する送信先情報管理機能と、送信パケットのヘッダ作成を行うパケットヘッダ作成機能と、送信パケットのチェックサムの計算処理を行うチェックサム計算機能を備え、各々のストリーム毎に送信画像データのチェックサムの累積値を一時記憶するチェックサム累積値メモリを具備することを特徴とする請求項１記載のストリーミング伝送処理方法。
【請求項３】
作成するパケットの送信画像データのチェックサムは、先ず直前に作成したパケットで送信した画像データとの差分部分だけを対象にしてチェックサムの計算を行い、次に直前に作成したパケットが属するストリームの前記チェックサム累積値メモリの値と合計することで作成中のパケットの送信データまでのチェックサムの累積値を得、更に作成中のパケットが属するストリームにおける前記チェックサム累積値メモリの値と差を求める計算を行うことを特徴とする請求項２記載のストリーミング伝送処理方法。
【請求項４】
前記パケットの送信データまでのチェックサムの累積値を、パケット作成後にそのパケットが属するストリームのチェックサム累積値メモリに格納することを特徴とする請求項３記載のストリーミング伝送処理方法。
【請求項５】
メモリ上に記憶された画像データを複数のストリームで送信するためのパケットの作成は、各々のストリームにおける最初の送信パケットの送信画像データが最も小さいサイズであるストリームの最初のパケットから開始することを特徴とする請求項１記載のストリーミング伝送処理方法。
【請求項６】
メモリ上に記憶された画像データを複数のストリームで送信するためのパケットの作成順番は、各々のストリームにおける次の送信パケットによって送信されるメモリ上の画像データの終端位置となるメモリアドレスが最も小さいストリームの次の送信パケットとなるように決められることを特徴とする請求項１記載のストリーミング伝送処理方法。
【請求項７】
請求項１〜６の何れかに記載のストリーミング伝送処理方法を行い、撮影画像をリアルタイムに複数の受信相手に送信することを特徴とするネットワークカメラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを通じて複数の受信相手に画像データをリアルタイムに伝送するストリーミング伝送処理方法及び撮影中の映像を配信するネットワークカメラに関するものである。
【背景技術】
【０００２】
現在、ネットワークを通じた動画や音声のストリーミング再生は広く普及している。近年、デジタル画像データを作成する撮像機能と、画像データの圧縮符号化機能と、ネットワーク通信機能を備えるネットワークカメラがあり、構内ネットワークやインターネットを介して、撮影動画をリアルタイムに複数の受信相手にストリーミング配信することができる。受信側の装置では、画像や音声データを受信しながら順次再生することができる。撮影画像のリアルタイムの送信処理では、画像データのパケタイズにおけるチェックサムの計算量が大きい。
【０００３】
一方、撮影画像の高解像度化や色信号の多ビット化が進んでおり、ネットワークカメラにおいても画像データ容量が増加している。画像データが大きくなると送信パケット数も増大することから、パケットのチェックサムの総計算量も大きくなり、画像データ送信の遅延が大きくなる問題がある。
【０００４】
従来、パケットのチェックサム付加処理を高速に行うために、送出するネットワークに合うように複数のセグメントサイズで送信データを分割したチェックサムを予め計算して記憶しておき、パケット送信時に、送信データサイズが予めチェックサムを計算しておくセグメントサイズに一致し、
且つ、既に計算済みのチェックサムが記憶されている場合に、そのチェックサムを利用してパケットに付加することでチェックサムの計算を高速化する方法がある（例えば、特許文献１参照）。
【０００５】
上記方法は、送信パケット作成時のチェックサムの付加を高速化する方法と言えるが、チェックサムそのものの計算を高速化する手段ではない。更に、同じデータを複数の受信相手に送信する場合には、送出するネットワークのセグメントサイズに依らず受信相手によってパケットサイズが異なることがあるので不適当である。
【０００６】
他の方法では、特に同じパケットを複製して複数の受信クライアントに転送するような場合にチェックサム計算処理を高速化するために、転送するパケットのヘッダ部のチェックサム差分を転送先毎に計算して検索テーブルに登録しておき、パケットの転送時に、送信元と宛先のＩＰアドレスやポート番号から検索し、ヘッダ部のチェックサム差分を取り出して利用することで、パケットヘッダ書き換えに伴うチェックサムの再計算を簡略化する方法がある（例えば、特許文献２参照）。
【０００７】
上記方法は、転送パケットのペイロード部が受信クライアントで共通データであり、パケットヘッダ部のチェックサム差分が固定値になり得ることを利用して、チェックサムの再計算を高速化している。しかし、複数の受信相手それぞれに対して、送信データサイズが異なるパケットで送信する場合には実現が困難である。
【０００８】
更に、送信データのチェックサム算出に要する時間を短縮する方法として、送信パケットのデータ長が確定するタイミングに先立って予め規定サイズ単位毎に送信データのチェックサムの累積値を計算しておき、送信パケットの送信データサイズを規定サイズの整数倍とすることで、送信データの直前の規定サイズ単位データまでのチェックサム累積値と、送信データの最後の規定サイズ単位データまでのチェックサム累積値の差を計算するだけで簡単に送信データのチェックサムを確定する方法がある（例えば、特許文献３参照）。しかしながら、この方法は、送信データサイズが規定サイズの整数倍に決められており、複数の受信相手に応じて送信データサイズを柔軟に対応させるような場合において実現が難しい。
【特許文献１】特開２０００−２５３０３４号公報
【特許文献２】特開２００２−０６４４８７号公報
【特許文献３】特開２００４−１５３４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
画像データのリアルタイム送信処理では、パケタイズにおけるチェックサムの計算量が大きく、複数の受信相手に画像データを伝送する上では、送信パケットのチェックサム計算を高速化することが望ましい。
【００１０】
本発明は上記事情に鑑みてなされたもので、その目的とする処は、パケットのチェックサム計算を簡略化及び高速化することができるストリーミング伝送処理方法及びネットワークカメラを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の画像データのストリーミング伝送処理方法は、各々のストリームにおける送信先のアドレスや１パケットで送信する画像データサイズ等の情報を管理する送信先情報管理機能と、送信パケットのヘッダ作成を行うパケットヘッダ作成機能、送信パケットのチェックサムの計算処理を行うチェックサム計算機能と、各々のストリーム毎に送信画像データのチェックサムの累積値を一時記憶するチェックサム累積値メモリを備える。
【００１２】
メモリ上に記憶された画像データのストリーミング配信は、送信パケットの送信データが最も小さいストリームの最初のパケットから開始する。作成するパケットの順番は、各々のストリームにおける次の送信パケットによって送信されるメモリ上の画像データの終端位置となるメモリアドレスを比較し、メモリアドレスが最も小さいストリームの次の送信パケットとなるように決められる。画像のストリーミング伝送処理は、このような送信パケット順の決定ルールに従って複数ストリームのパケットを作成、送信を行う。
【００１３】
又、パケットの送信画像データのチェックサム（ａ）の算出は、先ず、直前に作成したパケットで送信した画像データとの差分部分だけを対象にしてチェックサムの計算を行う。差分データのチェックサムを計算後、直前に作成したパケットが属するストリームの前記チェックサム累積値メモリの値と合計することで、作成中のパケットの送信データまでのチェックサムの累積値（ｂ）を得る。
【００１４】
次に、作成中のパケットの属するストリームの前記チェックサム累積値メモリの値（ｃ）を読み取り、（ｂ）と（ｃ）の差を求めることで送信画像データのチェックサム（ａ）を得ることができる。その後、作成しているパケットの属するストリームの前記チェックサム累積値メモリに（ｂ）の値を格納しておく。
【００１５】
送信パケットに付与するチェックサムの算出は、前記送信先情報管理部と前記パケットヘッダ作成機能によって、送信するストリーミングプロトコルのパケットヘッダを作成し、パケットのペイロード部では、前記送信画像データのチェックサム（ａ）の値を利用することで、計算を簡略化して行う。
【発明の効果】
【００１６】
本発明によれば、複数ストリームのストリーミング伝送処理により、送信パケットの画像データのチェックサム算出において、作成済みのパケットまでの画像データとの差分データ分だけを対象にして計算するだけで良いためにチェックサム計算量が削減される。そのため、パケットのチェックサム計算を簡略化及び高速化することができる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【００１８】
＜実施の形態１＞
図１は本発明のストリーミング伝送処理を行うストリーム伝送処理部を含む実施構成の一例を表すブロック図である。
【００１９】
図１においてて、１０１はストリーミング伝送処理部であり、複数の送信先に画像データをストリーミング配信するための送信制御処理を行う。ストリーミング伝送処理部１０１には、制御プロセッサ１０２があり、ストリーミングパケットの作成処理における内部制御を行う。
【００２０】
ストリーミング伝送処理部１０１は、各々のストリームについて送信先のＩＰアドレスやポート番号、或はストリーミングプロトコルの識別情報等を管理する送信先情報管理部１０３を含む。１０３は各々のストリームが１パケットで送信する画像データサイズも管理している。
【００２１】
又、ストリーミングプロトコルの送信パケットヘッダを作成するパケットヘッダ作成部１０４と、パケットのチェックサムの計算処理を行うチェックサム計算部１０５を含む。更に、各々のストリーム毎に送信画像データのチェックサムの累積値を一時記憶するチェックサム累積値メモリ１０６を有している。制御プロセッサ１０２は、これらの送信先情報管理部１０３、パケットヘッダ作成部１０４、チェックサム計算部１０５の設定や制御を行うことができる。
【００２２】
図１の１０７は画像データの作成処理を表し、例えば、ネットワークカメラにおいては、撮像処理、圧縮符号化等による画像データ作成を行うことを示す。１０７で作成した画像データ１０９は、システムのメモリ装置１０８上に置かれる。画像データ１０９が作成されると、ストリーミング伝送処理部１０１は、メモリ１０８上に送信パケットヘッダ１１０を書き込み、画像データ１０９からパケット送信するデータをパケットペイロード１１０に転送してパケットを形成し、１１２のネットワークインタフェースコントローラに渡して送信する。
【００２３】
ストリーミング伝送処理部１０１におけるストリーミングパケット作成処理は、内部の１０２の制御プロセッサで実行される制御プログラムによって実現される。この制御プログラムは、送信先情報管理部１０３から複数ストリーム送信に必要な情報を読み出し、パケットの作成順番を決定することができる。
【００２４】
１つのパケットの作成では、先ず、チェックサム計算部１０５に対して、画像データ１０９から送信画像データのチェックサム計算に必要なデータ部分を対象として計算させる制御を行う。具体的には、作成するパケットの送信画像データと、直前に作成したパケットで送信した画像データとの差分となる画像データを対象としてチェックサムを求める。作成するパケットの送信画像データのチェックサムは、ストリーム別チェックサム累積値メモリ１０６から、直前に送信したパケットが属するストリームのチェックサム累積値と、作成するパケットが属するストリームのチェックサム累積値を読み出し、チェックサム計算部１０５で計算した結果を利用して算出する。
【００２５】
送信画像データのチェックサムを計算後、制御プロセッサ１０２は、パケットヘッダ作成部１０４に対して送信アドレス、伝送プロトコル等のパケットヘッダ情報の設定とヘッダ作成の制御を行い、パケットヘッダ１１０の作成を行う。又、作成するパケットの送信画像データを、画像データ１０９からパケットペイロード１１１へと転送する。作成するパケットに付与するチェックサムは、先に求めた送信画像データのチェックサムと、パケットヘッダ作成部１０４が作成したヘッダ情報を利用して算出する。
【００２６】
こうして１つのパケットが作成されると、１１２のネットワークインターフェースコントローラによってネットワーク上へ送出される。
【００２７】
図２は本発明における複数のストリームのストリーミング伝送処理では、送信元画像データを分割して１パケットで運ぶデータサイズが、それぞれのストリームで異なることを模式的に示している。
【００２８】
図２はストリームＡ、Ｂ、Ｃの３つのストリームが示されており、２０１は送信元画像データ、２０２はストリームＡ、２０２はストリームＢ、２０３はストリームＣを表している。本発明のストリーミング伝送処理では、受信相手とのストリーミングプロトコルの違いや、ネットワークの状態によるストリーミング伝送の送信状況によって、１パケットで送信する画像データサイズが異なっても良い。図２に示す例では、２０１のストリームＡは、１パケットで運ぶ画像データが最も小さく、２０３のストリームＣは最も大きい。前述した通り、それぞれのストリームで送信する画像データサイズは、１０３の送信先情報管理部で保持している。
【００２９】
次に、図３を用いてストリーミング伝送処理部１０１で、複数のストリームを送信する場合のパケット生成順の一例を説明する。
【００３０】
図３の例では、３０１がメモリ上の送信する画像データを表す。ストリームＡ、ストリームＢ、ストリームＣの３つのストリームで、３０１の画像データを送信する。１パケットで送信する画像データは、ストリームＡが最も小さく、ストリームＣが最も大きい。ストリームＡでは、送信する画像データが３０９，３１１，３１４，３１５，３１８のように分割されてパケット化される。ストリームＢでは、送信する画像データが３１０，３１３，３１６に分割される。同様にストリームＣでは、３１２，３１７に分割される。図３中の数字１〜１０は、パケットを生成する順番を表す。即ち、３つのストリームは、３０９から３１８の順番で画像データを送信することになる。
【００３１】
それぞれのパケットで送信する画像データのチェックサムの計算は、次のような手順で行う。
【００３２】
先ず、送信画像データ３０１がメモリ上に用意されると、図１の１０６のストリーム別チェックサム累積値メモリにおいて、各ストリームの画像データチェックサムの累積値がクリアされる。初めに、画像ストリームＡの３０９の画像データからパケットを作成する。３０９の画像データのチェックサムは、送信元画像データの３０２で表される部分領域を計算して算出する。計算した結果は、前記ストリーム別チェックサム累積値メモリにあるストリームＡのチェックサム累積値メモリに格納する。その後、画像データ３０９のパケットヘッダ作成等、パケット作成処理を行う。その際にパケットヘッダのチェックサムは、算出した３０９の画像データのチェックサムを利用して計算し、設定する。
【００３３】
次に、ストリームＢの画像データ３１０のパケットを作成する。画像データ３１０のチェックサム計算では、既に直前の３０９のパケット作成において、画像データの部分領域３０２までのチェックサムが計算されているので、３０３の部分領域だけを計算すれば良い。３０３のチェックサムを算出すると、直前に作成したパケットが属するストリームＡのチェックサム累積値メモリの値を読み取り、合計することで、３０２〜３０３まで部分の画像データのチェックサムが得られる。
【００３４】
更に、作成中の３１０のパケットが属するストリームＢのチェックサム累積値メモリを読み取り（この場合は、３１０はストリームＢでは最初のパケットになるので、値０が読み取れる）、前記３０２〜３０３までのチェックサムとの差を計算することで、３１０の画像データのチェックサムを得ることができる。前記３０２〜３０３までのチェックサムは、ストリームＢのチェックサム累積値メモリに格納しておく。その後、３１０のパケットヘッダ作成等、パケット作成と送信処理を行う。
【００３５】
続いて作成するパケットは画像データ３１１である。画像データ３１１のチェックサム計算では、既に直前の３１０のパケット作成において、画像データの部分領域３０３までのチェックサムが計算されているので、３０４の部分領域だけを計算すれば良い。３０４のチェックサムを算出すると、直前に作成したパケットが属するストリームＢのチェックサム累積値メモリの値を読み取り、合計することで、３０２〜３０４までの部分の画像データのチェックサムが得られる。
【００３６】
更に、作成中の３１１のパケットが属するストリームＡのチェックサム累積値メモリの値を読み取り、合計することで、３０２〜３０４までの部分の画像データのチェックサムが得られる。又、作成中の３１１のパケットが属するストリームＡのチェックサム累積値メモリを読み取り、前記３０２〜３０４までのチェックサムとの差を計算することで、３１１の画像データのチェックサムを得ることができる。前記３０２〜３０４までのチェックサムは、ストリームＡのチェックサム累積値メモリに格納しておく。その後、３１１のパケットヘッダ作成等、パケット作成と送信処理を行う。
【００３７】
以降、図３の３１２から３１８までの画像データについても、上記同様に画像データのチェックサム計算を行うことができる。
【００３８】
このようなパケットの作成順及び画像データのチェックサム計算手順について、図４及び図５を参照して送信パケット作成の処理フローを説明する。送信パケット作成の処理フローは、前記制御プロセッサ１０２で実行される制御プログラムに含まれる。
【００３９】
図４は本発明において複数ストリームの画像データパケットの作成順を決めるために、次に作成すべきパケットの決定方法を示すフローチャートである。
【００４０】
Ｓ４０１から始まり、先ずＳ４０２において各ストリームの次パケットで送信する画像データの終端位置のアドレスが最も小さくなるストリームを選び出す。次に、Ｓ４０３において、Ｓ４０２で選んだストリームが１つに絞られているかを調べ、１つだけが選ばれていた場合は、そのストリームの次パケットに決定し、Ｓ４０７に進んで終了する。Ｓ４０３で複数のストリームが選ばれていた場合は、Ｓ４０４に進み、候補となるストリームの中から次パケットで送信する画像データの開始位置のアドレスが最も小さくなるストリームを選ぶ。
【００４１】
次に、Ｓ４０５にてＳ４０４で選んだストリームが１つに絞られているかを調べ、１つだけが選ばれていた場合は、そのストリームの次パケットに決定し、Ｓ４０７に進んで終了する。Ｓ４０５で複数のストリームが選ばれていた場合は、Ｓ４０６に進む。Ｓ４０６では候補のストリームの中から任意の１つのストリームを選び出し、そのパケットに決定して、Ｓ４０７で終了する。このようにして作成するパケットを決定していくことになる。
【００４２】
図５は作成するパケットで送信する画像データのチェックサムの計算手順を表すフローチャートである。
【００４３】
画像データのチェックサムの計算は、Ｓ５０１から始まり、先ずＳ５０２において、直前に作成したパケットの画像データの終端位置から、作成するパケットで送信する画像データの終端位置までのチェックサムを計算する。
【００４４】
次に、Ｓ５０３で、直前に作成したパケットが属するストリームの前記チェックサム累積値メモリの値を読み取り、Ｓ５０２で求めたチェックサムと合計することで、画像データの先頭から作成中のパケットで送信する画像データまでのチェックサム累積値を求める。続いてＳ５０４に進み、作成中のパケットの属するストリームのチェックサム累積値メモリを読み、Ｓ５０３で求めたチェックサムの累積値との差を計算する。この差値が作成中のパケットで送信する画像データのチェックサムとなる。
【００４５】
更に、Ｓ５０５において、次のパケット作成のために、Ｓ５０３で求めたチェックサムの累積値を、作成中のパケットの属するストリームの累積値メモリに格納しておき、Ｓ５０６で終了する。このような手順で作成中のパケットで送信する画像データのチェックサムを計算する。
【００４６】
Ｓ５０２では直前のパケットまでで既にチェックサムを計算した部分の画像データのチェックサム計算は省いており、直前パケットで送信した画像データと、作成中のパケットで送信する画像データとの差分データのみを対象にチェックサムを計算している。そのため、複数のストリームの画像データ送信において、画像データのチェックサムの計算を重複することなく効率的に行うことが可能となる。
【００４７】
以上、図４及び図５を参照して、画像データを複数ストリームで送信する場合でのパケットの作成順の決定方法及び各パケットで送信する画像データのチェックサムの計算手順について述べた。この処理フローを含めたストリーミングパケットの作成処理は、図１の１０１のストリーミング伝送処理部によって実施される。
【００４８】
本発明によれば、画像データを複数のストリームで送信する場合において、画像データのチェックサムの計算が、既に計算済みの同じ部分を重複して計算することがなくなり、チェックサムの計算を高速化することができる。
【００４９】
＜実施の形態２＞
本発明を使用したネットワークカメラの構成について実施形態の一例を、図６を参照して述べる。図６は本発明を構成するネットワークカメラの実施形態の概略構成を表すブロック図である。
【００５０】
システムバス６０１には、ＣＰＵ６０２、システムプログラムが格納されているＲＯＭ６０３、システムプログラム実行時に使用される一時記憶領域であるＲＡＭ６０４が接続されており、ＲＯＭ６０３からＲＡＭ６０４にシステムプログラムが読み込まれ、ＣＰＵ６０２によって実行される。
【００５１】
６０５はカメラ部を示しており、システムバス１０１に接続されている。このカメラ部にはレンズ群（６０６）、ＣＣＤ（６０７）、ＣＣＤ制御部（６０８）、画像処理部（６０９）が含まれている。６０６のレンズ群は被写体像を光学的にＣＣＤ６０７へ投影するために複数枚のレンズで構成されている。
【００５２】
ＣＣＤ（光電変換素子）６０７は、レンズ群６０６によって投影された撮影画像をアナログ電気信号に変換するための素子である。ＣＣＤ制御部６０８は、ＣＣＤ６０７に転送クロック信号やシャッター信号を供給するためのタイミングジェネレータ、ＣＣＤ出力信号のノイズ除去、ゲイン処理を行うための回路、更に、アナログ信号をデジタル信号に変換するためのＡ／Ｄ変換回路等を含んでいる。
【００５３】
又、画像処理部６０９は、ＣＣＤ制御部６０８より出力されたデジタル信号をガンマ変換、色空間変換、又、ホワイトバランス、露出補正等の画像処理を行い、画像符号化処理部６１０で符号化利用可能なデジタル信号出力を行うものである。６１０は画像符号化処理部であり、カメラ部６０５によって撮影されたデジタル画像を、ＭｏｔｉｏｎＪＰＥＧやＭＰＥＧ４等の動画フォーマットに符号化する。
【００５４】
６１１は通信インタフェース／通信制御部であり、外部ネットワークに接続するためのインタフェースを有する。本ネットワークカメラは、本ネットワークカメラを遠隔操作する表示装置、或は外部のネットワーク機器と通信可能であり、撮影した動画像データを外部に送信することが可能である。
【００５５】
本ネットワークカメラでは、ストリーミング通信制御や、本発明のストリーミングパケット作成処理を、ＣＰＵ６０２で実行されるシステムプログラムで実現している。又、ＲＡＭ６０４の一部領域を、ストリーム配信先の送信先情報６１２や、ストリーム別チェックサム累積値６１３の記憶領域として確保している。
【００５６】
カメラ部６０５で撮影された撮像画像データは、ＲＡＭ６０４に転送される。そして、画像符号化処理部６１０によって動画像フォーマットに符号化され、ＲＡＭ６０４に画像データが書き込まれる。この画像データは、ＣＰＵ６０２で実行するシステムプログラムによってストリーミング伝送される。ストリーミング伝送処理は、複数の送信先に画像データを伝送することができる。
【００５７】
各送信先のＩＰアドレスやポート番号、伝送に使用するストリーミングプロトコル、１パケットで伝送する画像データサイズ等の情報を、送信先情報６１２に記憶しており、この情報を利用して画像伝送プロトコルのパケットを作成する。画像データの伝送プロトコルには、例えばＨＴＴＰやＲＴＰ等のインターネットで標準的に利用されるプロトコルを扱うことができる。更に、システムプログラムは画像データの伝送パケットを作成後、通信インタフェース／通信制御部６１１を通じてネットワークに送出する処理を行う。
【００５８】
本ネットワークカメラにおける画像データのストリーミング伝送処理について、図７を参照して処理手順を説明する。尚、図７は本構成におけるストリーミング伝送処理を表すフローチャートである。
【００５９】
ＲＡＭ６０４上に配信する送信元画像データが用意されると、Ｓ７０１から開始し、先ず、Ｓ７０２で、６１３のストリーム別チェックサム累積値を全てのストリームにおいてクリアする。次に、Ｓ７０３において６１２の送信先情報から、各ストリームが１パケットで送信する画像データのサイズを取得する。以降の処理は、全てのストリームで送信元画像データを最後まで送信し終えるまで繰り返される。
【００６０】
Ｓ７０４では、全ストリームが画像データを最後まで送信しているかを判断し、送信し終えているならば、Ｓ７１８に進み、当該画像データのストリーミング伝送処理が終了する。そうでないならば、Ｓ７０５に進み、画像データの送信が最後まで完了していないストリームの中で、次パケットで送信する画像データの終端位置が最も小さいストリームを選び出す。そして、Ｓ７０６で、Ｓ７０５で選んだストリームが１つに絞られているかを調べ、１つだけならばそのストリームにおける次に送信するパケットを作成することになり、Ｓ７１０に進む。
【００６１】
Ｓ７０５で選び出したストリームが複数あるときは、Ｓ７０７に進む。Ｓ７０７では、Ｓ７０５で選んだ候補のストリームの中から、次パケットで送信する画像データの開始位置のアドレスが最も小さいストリームを選ぶ。そして、Ｓ７０８においてＳ７０７で選んだ候補となるストリームがただ１つであるかを調べ、１つならばそのストリームにおける次の送信パケットを作成することになり、Ｓ７１０に進む。
【００６２】
Ｓ７０８において、Ｓ７０７で選んだ候補のストリームが複数あるときは、Ｓ７０９に進み、その候補の中から任意の１つのストリームを選択し、次パケットを作成する。続くＳ７１０からは、次パケットの作成処理である。Ｓ７１０において、直前に作成したパケットの画像データの終端位置から、作成するパケットで送信する画像データの終端位置までのチェックサムを計算する。
【００６３】
次に、Ｓ７１１で、直前に作成したパケットが属するストリームについて、６１３のチェックサム累積値を読み取り、Ｓ７１０で求めたチェックサムと合計することで、画像データの先頭から作成中のパケットの送信画像データまでのチェックサム累積値を求める。続いてＳ７１２に進み、作成中のパケットの属するストリームの６１３のチェックサム累積値を読み、Ｓ７１１で求めたチェックサムの累積値との差を計算する。この差値が作成中のパケットで送信する画像データのチェックサムとなる。
【００６４】
更に、Ｓ７１３において、次回のパケット作成のために、Ｓ７１１で求めたチェックサムの累積値を、作成中のパケットの属するストリームのチェックサム累積値６１３に格納しておく。続いてＳ７１４からは送信パケットの作成である。Ｓ７１４ではＲＡＭ上にパケットヘッダを作成する。この際、６１２の送信先情報から送信先のＩＰアドレスや、送信先ポート番号、伝送プロトコル等の情報を取得して利用する。そして、Ｓ７１５では、送信する部分画像データを作成中のパケットのペイロード部にコピーする。
【００６５】
次に、Ｓ７１６において、Ｓ７１２で求めた送信画像データのチェックサムを利用し、パケットヘッダ部も含んだパケット全体のチェックサムを算出し、パケットヘッダのチェックサムフィールドに書き込み、送信パケットを完成させる。最後にＳ７１７において、通信インタフェース／通信制御部６１１を制御してネットワークへパケットを送出する。ここまでの処理によって、１つのパケットの作成と送信を行うと、Ｓ７０４に戻る。
【００６６】
本実施の形態では、カメラ部６０５及び画像符号化処理部６１０でリアルタイムに作成される画像データを、複数の受信相手にストリーミング伝送する処理において、以上の手順のような複数ストリームの送信パケットの作成と送信を行う。或るパケットで送信する画像データのチェックサム計算は、Ｓ７１０において、直前のパケットまでで計算した画像データとの差分データを対象として行われるため、重複なく効率的に計算することができ、高速化することが可能となる。
【図面の簡単な説明】
【００６７】
【図１】本発明のストリーミング伝送処理を行うストリーム伝送処理部を含む実施構成の一例を表すブロック図である。
【図２】複数のストリームが１パケットで送信する画像データサイズが異なることを示す模式図である。
【図３】複数のストリームを送信する場合のパケット生成順の一例を表す図である。
【図４】次に作成すべきパケットの決定方法を示すフローチャートである。
【図５】作成するパケットで送信する画像データのチェックサムの計算手順を表すフローチャートである。
【図６】本発明を構成するネットワークカメラの実施形態の概略構成を表すブロック図である。
【図７】本発明の実施の形態２におけるストリーミング伝送処理手順を表すフローチャートである。
【符号の説明】
【００６８】
１０１    ストリーミング伝送処理部
１０２    制御プロセッサ
１０３    送信先情報管理部
１０４    パケットヘッダ生成部
１０５    チェックサム計算部
１０６    ストリーム別チェックサム累積値メモリ
１０７    画像データの作成処理
１０８    メモリ
１０９    画像データ
１１０    送信パケットヘッダ
１１１    送信パケットペイロード
１１２    ネットワークインタフェースコントローラ
６０１    システムバス
６０２    ＣＰＵ
６０３    ＲＯＭ
６０４    ＲＡＭ
６０５    カメラ部
６０６    レンズ群
６０７    ＣＣＤ
６０８    ＣＣＤ制御部
６０９    画像符号化処理部
６１１    通信インタフェース／通信制御部
６１２    送信先情報
６１３    ストリーム別チェックサム累積値
【図１】
2007006200.tif 000003
【図２】
2007006200.tif 000004
【図３】
2007006200.tif 000005
【図４】
2007006200.tif 000006
【図５】
2007006200.tif 000007
【図６】
2007006200.tif 000008
【図７】
2007006200.tif 000009