(57)【要約】【課題】製造のための初期コストを抑えつつ、高速なマルチメディアデータの送信処理を実現することができる通信装置を提供する。【解決手段】分割データ格納部は、符号化データ領域３０１ａに格納された符号化データを読み出し、所定サイズ毎にチェックサムを算出し、算出したチェックサムと対応する所定サイズの符号化データ（ブロックデータ）とを外部メモリ１１０の各パケットデータ領域３１０ａ、３１０ｂ・・・の第１領域３１１に順次格納する。ＣＰＵは、プログラムを実行することにより、分割データ格納部が各パケットデータ領域の第１領域３１１にブロックデータとチェックサムとを格納すると、順次格納されたチェックサムを読み出し、読み出したチェックサムを含むヘッダ情報を生成してそのチェックサムが格納されたパケットデータ領域の第２領域３１２に格納する。【選択図】図３
2008283394.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックデータを含む各特定データをネットワークに順次送出する通信装置であって、
前記特定データについて、第１所定サイズのデータであるブロックデータ毎に当該ブロックデータの内容を反映した検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを外部メモリの第２所定サイズの各領域に格納する格納回路と、
ＣＰＵを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成し、当該ヘッダ情報と当該検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させるパケット制御部と、
前記パケット制御部による制御に従い、各パケットデータを順次送出するネットワーク部とを備え、
検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する前記格納回路と、ヘッダ情報を生成し、パケットデータを送出するよう制御する前記ＣＰＵとが、並列して動作するよう構成した
ことを特徴とする通信装置。
【請求項２】
前記外部メモリの第２所定サイズの各領域である各第１領域は、当該第２所定サイズに所定値を加えたアドレス値間隔になるよう配置されるものであり、
前記プログラムは、各第１領域に格納された各ブロックデータについて、対応する検証用データを読み出し前記ヘッダ情報を生成すると、前記所定値のサイズ分の、第１領域と連続する領域である第２領域に当該ヘッダ情報を格納し、当該第２領域に格納されたヘッダ情報と当該第１領域に格納された検証用データに対応するブロックデータとからなるパケットデータを順次送出するよう制御するためのものである
ことを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信装置は、更に
前記外部メモリ上の空き領域から前記外部メモリの第２所定サイズの各領域である各第１領域について、当該第１領域と連続する所定のアドレス値分の領域である第２領域と当該第１領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部を備え、
前記格納回路は、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域の各第１領域に各ブロックデータと当該ブロックデータに対応する検証用データとを格納し、
前記プログラムは、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域について、第１領域に格納されたブロックデータに対応する検証用データを読み出し前記ヘッダ情報を生成すると、当該ヘッダ情報を第２領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものである
ことを特徴とする請求項１記載の通信装置。
【請求項４】
前記通信装置は、更に
前記外部メモリ上の空き領域から前記外部メモリの第２所定サイズの各領域である各第１領域について、当該第１領域と連続する所定のアドレス値分の領域である第２領域と当該第１領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部と、
前記アドレス制御部から指定された各アドレス値について、当該アドレス値が示すパケットデータ領域の第２領域に、当該アドレス値の次に指定されたアドレス値を格納するオフセット制御部を備え、
前記格納回路は、各パケットデータ領域の各第２領域について、当該第２領域に格納されたアドレス値が示すパケットデータ領域の第１領域にブロックデータと当該ブロックデータに対応する検証用データとを格納し、
前記プログラムは、各パケットデータ領域の各第２領域に格納された各アドレス値が示す各パケットデータ領域について、第１領域に格納された検証用データを読み出し、前記ヘッダ情報を生成すると、当該ヘッダ情報を第２領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものである
ことを特徴とする請求項１記載の通信装置。
【請求項５】
前記通信装置は、更に
前記外部メモリ上の空き領域を示す物理アドレス値と対応付けて論理アドレス値を記憶し、当該論理アドレス値を指定した前記外部メモリへのアクセスがなされると、当該論理アドレス値と対応する前記物理アドレス値に変換するＭＭＵ（Memory Management Unit）を備え、
前記格納回路は、論理アドレス値を指定して、各ブロックデータと当該ブロックデータに対応する検証用データとを各第２所定サイズの領域に格納し、
前記プログラムは、論理アドレスを指定して、各第２所定サイズの領域から検証用データを読み出すためのものである
ことを特徴とする請求項１記載の通信装置。
【請求項６】
前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、
前記通信装置は、更に
前記外部メモリに各符号化データを順次格納する符号化部と、
前記符号化部により前記外部メモリに格納される符号化データのサイズを監視し、第１所定サイズ分格納される毎に第１所定サイズ分の符号化データの読出しを指示する読出指示信号を前記格納回路に送出するレングス監視部とを備え、
前記ブロックデータは、前記格納回路が、前記レングス監視部から前記読出し指示信号を受領する毎に前記外部メモリから読み出した第１所定サイズ分の符号化データである
ことを特徴とする請求項１記載の通信装置。
【請求項７】
前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、
前記通信装置は、更に
前記符号化データを前記外部メモリに格納し、格納に際し、当該符号化データ中に所定のビットパターンを検出する毎に、所定のビットパターンを検出した旨の検出信号を前記格納回路に送出するパターン監視部を備え、
前記格納回路は、前記パターン監視部から一の前記検出信号を受領した後、次の前記検出信号を受領するまでに前記外部メモリに格納された符号化データを読み出し、読み出した符号化データをブロックデータとして扱う
ことを特徴とする請求項１記載の通信装置。
【請求項８】
前記パターン監視部は、前記符号化データ中に所定のビットパターンを検出すると、前記外部メモリ上の所定のアドレス境界を先頭とした領域に、検出したビットパターン以降の符号化データを格納する
ことを特徴とする請求項７記載の通信装置。
【請求項９】
前記通信装置は、
前記パケット制御部に代えて、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成するヘッダ付与回路と、
ＣＰＵを含み、前記ヘッダ付与回路が生成した各ヘッダ情報について、当該ヘッダ情報と当該ヘッダ情報に含まれる検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させる送出制御部とを備える
ことを特徴とする請求項１記載の通信装置。
【請求項１０】
前記ヘッダ付与回路は、データ通信におけるプロトコル階層の層別に任意のヘッダを選択して前記ヘッダ情報を生成する
ことを特徴とする請求項９記載の通信装置。
【請求項１１】
前記通信装置は、
前記パケット制御部に代えて、前記格納回路により前記外部メモリに格納された各ブロックデータについて、前記検証用データを用いることなく生成可能なヘッダ情報の一部となる部分ヘッダ情報を生成するヘッダ付与回路と、
ＣＰＵを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し、当該検証用データと当該ブロックデータに対応する前記部分ヘッダ情報とからなるヘッダ情報を生成し、当該ヘッダ情報と前記検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させる送出制御部を備える
ことを特徴とする請求項１記載の通信装置。
【請求項１２】
前記格納回路は、前記ブロックデータ毎に当該ブロックデータと当該ブロックデータに対応する前記部分ヘッダ情報との内容を反映して検証用データの前記生成を行う
ことを特徴とする請求項１１記載の通信装置。
【請求項１３】
前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、
前記通信装置は、更に
各符号化データのデータサイズを指定する符号化設定部と、
順次入力される前記画像データまたは前記音声データを所定単位毎に前記符号化設定部が指定するデータサイズに圧縮符号化し、圧縮符号化後の各符号化データを前記外部メモリに順次格納する符号化部を備える
ことを特徴とする請求項１記載の通信装置。
【請求項１４】
前記外部メモリは論理的に分割された第１ネットワークデータ領域と第２ネットワークデータ領域とを有し、
各第２所定サイズの領域は、特定データ毎に前記第１ネットワークデータ領域と前記第２ネットワークデータ領域とに交互に配置されるものである
ことを特徴とする請求項１記載の通信装置。
【請求項１５】
前記通信装置は、再送の可能性を前提とした通信を行うものであり、
前記外部メモリは、再送が必要とされうる各パケットデータを構成する前記ブロックデータを格納する再送用領域を有し、
前記パケット制御部は、各パケットデータについて、前記ネットワーク部が当該パケットデータを送出してから所定時間内に、当該パケットデータの送出先から当該パケットデータを受領した旨の応答を受領していない場合に、当該応答を受領していないパケットデータを構成する前記ブロックデータを前記再送用領域に移動させるプログラムを前記ＣＰＵに実行させる
ことを特徴とする請求項１４記載の通信装置。
【請求項１６】
複数のブロックデータを含む各特定データをネットワークに順次送出する通信用集積回路であって、
前記特定データについて、第１所定サイズのデータであるブロックデータ毎に当該ブロックデータの内容を反映した検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを外部メモリの第２所定サイズの各領域に格納する格納回路と、
ＣＰＵを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成し、当該ヘッダ情報と当該検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させるパケット制御部と、
前記パケット制御部による制御に従い、各パケットデータを順次送出するネットワーク部とを備え、
検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する前記格納回路と、ヘッダ情報を生成し、パケットデータを送出するよう制御する前記ＣＰＵとが、並列して動作するよう構成した
ことを特徴とする通信用集積回路。
【請求項１７】
データをネットワークに送出する通信装置であって、
前記データについて、所定サイズ毎に誤り検出用データを生成する検出部と、
前記データを所定のメモリ領域に転送するデータ転送部と、
前記データについて、前記データ転送部により前記メモリ領域に転送され終えた部分を所定サイズ毎に、当該所定サイズのデータに対応する誤り検出用データと共にパケットとして送出するよう制御するための制御プログラムを実行するＣＰＵと、
前記ＣＰＵによる制御に従い、各パケットをネットワークに送出するネットワーク部とを備え、
前記検出部と前記データ転送部と前記ＣＰＵとが並列して動作するよう構成した
ことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上での動画像データ、音声データ等の送信処理技術に関する。
【背景技術】
【０００２】
近年、ネットワークを利用した動画像データや音声データなどのマルチメディアデータの授受が、比較的容易になされるようになり、例えば、カメラにより撮影された動画像データをネットワークに接続された端末に送出し、端末において受領された動画像データを再生するようなことが行われている。
カメラにより撮影された動画像データの送信処理は、一般的に、カメラが制御プログラムを実行することにより、以下のように行われる。
【０００３】
まず、動画像データを１フレーム毎にＭＰＥＧ（Moving Picture Experts Group）等に圧縮符号化した符号化データがカメラ内のある記憶領域に格納されると、格納された符号化データを読み出し、符号化データが格納されていた記憶領域とは別の記憶領域にコピーする。
符号化データを別の記憶領域にコピーするのは、以降説明するパケットデータの送出処理と並行して、次の符号化データを格納できるようにするためである。
【０００４】
次に、別の記憶領域にコピーされた符号化データについて、所定サイズ毎にチェックサムを算出して算出したチェックサムを含むヘッダ情報を生成し、生成したヘッダ情報とチェックサムに対応する所定サイズの符号化データとからなるパケットデータを生成し、送出する。
このように、動画像データの送信処理では、記憶領域内で符号化データのコピーが行われるため、圧縮率等との関係により符号化データのサイズが増大するとコピー時間が増大し、１符号化データ当たりの送信処理時間が増大することとなる。
【０００５】
ところで、動画像データを送信する場合、予め規格等により定められたフレームレートに従って、各符号化データを所定時間内に送信する必要がある。各符号化データをフレームレートに従った所定時間内に送信することができない場合には、いわゆるフレーム落ちが発生し、受信側で、動画像を連続して再生することができなくなるためである。
上述したようにサイズの大きい符号化データの送信処理には時間を要し、フレーム落ちを発生させることなく動画像データを送信するためには、各符号化データの送信処理を高速化する必要がある。
【０００６】
送信処理を高速化する技術として、上述のように制御プログラム（ソフトウェア）により行われていた送信処理全体をハードウェアにより実現する方法が知られている（例えば、特許文献１）。
送信処理全体をハードウェアにより実現することによって、ソフトウェアにより送信処理を実現した場合に発生する処理のオーバーヘッドを抑えることができる。
【特許文献１】特開２００１−２６８１５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、送信処理全体をハードウェアにより実現する場合、一般的に製造のための初期コストが増大してしまう。
そこで、本発明は係る問題に鑑みてなされたものであり、製造のための初期コストを抑えつつ、高速なマルチメディアデータの送信処理を実現することができるカメラ等に利用可能な通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明に係る通信装置は、複数のブロックデータを含む各特定データをネットワークに順次送出する通信装置であって、前記特定データについて、第１所定サイズのデータであるブロックデータ毎に当該ブロックデータの内容を反映した検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを外部メモリの第２所定サイズの各領域に格納する格納回路と、ＣＰＵを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成し、当該ヘッダ情報と当該検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させるパケット制御部と、前記パケット制御部による制御に従い、各パケットデータを順次送出するネットワーク部とを備え、検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する前記格納回路と、ヘッダ情報を生成し、パケットデータを送出するよう制御する前記ＣＰＵとが、並列して動作するよう構成したことを特徴とする。
【０００９】
また、上記課題を解決するために、通信装置に用いられる本発明にかかる通信用集積回路は、複数のブロックデータを含む各特定データをネットワークに順次送出する通信用集積回路であって、前記特定データについて、第１所定サイズのデータであるブロックデータ毎に当該ブロックデータの内容を反映した検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを外部メモリの第２所定サイズの各領域に格納する格納回路と、ＣＰＵを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成し、当該ヘッダ情報と当該検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させるパケット制御部と、前記パケット制御部による制御に従い、各パケットデータを順次送出するネットワーク部とを備え、検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する前記格納回路と、ヘッダ情報を生成し、パケットデータを送出するよう制御する前記ＣＰＵとが、並列して動作するよう構成したことを特徴とする。
【００１０】
ここで、第２所定サイズの各領域とは、外部メモリにおいてアドレス値が連続する所定サイズの各格納領域をいう。
また、並列して動作するとは、格納回路による検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する処理と、ＣＰＵによるヘッダ情報を生成し、パケットデータを送出するよう制御する処理との少なくとも一部が同時に実行されることをいう。
【発明の効果】
【００１１】
上述の構成を備える本発明に係る通信装置、及び、通信用集積回路は、ＣＰＵと別個のハードウェアである格納回路とを備え、格納回路は、特定データについてブロックデータ毎に対応する検証用データを生成し、生成した検証用データと対応するブロックデータとを外部メモリへ格納する。一方、ＣＰＵは、プログラムを実行することにより、格納回路が外部メモリに格納した各ブロックデータについて、対応する検証用データを含むヘッダ情報を生成し、パケットデータの送信のための制御を行う。この格納回路の動作とＣＰＵの動作とが並行して行われるため、高速に各特定データの送信を行うことができる。
【００１２】
また、各特定データの送信処理の一部を、ハードウェアである格納回路に行わせるため、送信処理の全てをハードウェアにより実現する場合に比べ、通信装置の製造のための初期コストを抑えることができる。
また、前記外部メモリの第２所定サイズの各領域である各第１領域は、当該第２所定サイズに所定値を加えたアドレス値間隔になるよう配置されるものであり、前記プログラムは、各第１領域に格納された各ブロックデータについて、対応する検証用データを読み出し前記ヘッダ情報を生成すると、前記所定値のサイズ分の、第１領域と連続する領域である第２領域に当該ヘッダ情報を格納し、当該第２領域に格納されたヘッダ情報と当該第１領域に格納された検証用データに対応するブロックデータとからなるパケットデータを順次送出するよう制御するためのものであることとしてもよい。
【００１３】
これにより、各パケットデータを構成するヘッダ情報とブロックデータとが外部メモリ上の連続する領域に格納されるため、それぞれが外部メモリ上の離れた領域に格納される場合よりも、ネットワーク部は外部メモリからヘッダ情報とブロックデータとをより高速に読み出すことができ、各パケットデータの送出を高速に行うことができる。
また、前記通信装置は、更に前記外部メモリ上の空き領域から前記外部メモリの第２所定サイズの各領域である各第１領域について、当該第１領域と連続する所定のアドレス値分の領域である第２領域と当該第１領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部を備え、前記格納回路は、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域の各第１領域に各ブロックデータと当該ブロックデータに対応する検証用データとを格納し、前記プログラムは、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域について、第１領域に格納されたブロックデータに対応する検証用データを読み出し前記ヘッダ情報を生成すると、当該ヘッダ情報を第２領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものであることとしてもよい。
【００１４】
これにより、各パケットデータ領域は、アドレス制御部が指定する外部メモリ上の任意のアドレス値が示す領域に配置されるため、各パケットデータ領域を連続して配置するための物理的に連続する領域を外部メモリ上に確保することなく、各符号化データの送出を行うことができる。
また、前記通信装置は、更に前記外部メモリ上の空き領域から前記外部メモリの第２所定サイズの各領域である各第１領域について、当該第１領域と連続する所定のアドレス値分の領域である第２領域と当該第１領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部と、前記アドレス制御部から指定された各アドレス値について、当該アドレス値が示すパケットデータ領域の第２領域に、当該アドレス値の次に指定されたアドレス値を格納するオフセット制御部を備え、前記格納回路は、各パケットデータ領域の各第２領域について、当該第２領域に格納されたアドレス値が示すパケットデータ領域の第１領域にブロックデータと当該ブロックデータに対応する検証用データとを格納し、前記プログラムは、各パケットデータ領域の各第２領域に格納された各アドレス値が示す各パケットデータ領域について、第１領域に格納された検証用データを読み出し、前記ヘッダ情報を生成すると、当該ヘッダ情報を第２領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものであることとしてもよい。
【００１５】
これにより、オフセット制御部は、各パケットデータ領域の第２領域に次にアクセスすべきパケットデータ領域のアドレス値を格納するため、各パケットデータ領域が外部メモリ上の任意のアドレス値が示す領域に配置されていても、格納回路とＣＰＵとは、第２領域に格納されたアドレス値を参照することにより、各パケットデータ領域にアクセスすることができる。
【００１６】
また、前記通信装置は、更に前記外部メモリ上の空き領域を示す物理アドレス値と対応付けて論理アドレス値を記憶し、当該論理アドレス値を指定した前記外部メモリへのアクセスがなされると、当該論理アドレス値と対応する前記物理アドレス値に変換するＭＭＵ（Memory Management Unit）を備え、前記格納回路は、論理アドレス値を指定して、各ブロックデータと当該ブロックデータに対応する検証用データとを各第２所定サイズの領域に格納し、前記プログラムは、論理アドレスを指定して、各第２所定サイズの領域から検証用データを読み出すためのものであることとしてもよい。
【００１７】
これにより、格納回路とＣＰＵとが論理アドレス値を指定して各第２所定サイズの領域にアクセスすると、ＭＭＵが論理アドレス値に対応する物理アドレス値に変換するため、格納回路とＣＰＵとは、外部メモリにおける各第２所定サイズの領域の物理的な配置を意識することなく、アクセスすることができる。
また、前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、前記通信装置は、更に前記外部メモリに各符号化データを順次格納する符号化部と、前記符号化部により前記外部メモリに格納される符号化データのサイズを監視し、第１所定サイズ分格納される毎に第１所定サイズ分の符号化データの読出しを指示する読出指示信号を前記格納回路に送出するレングス監視部とを備え、前記ブロックデータは、前記格納回路が、前記レングス監視部から前記読出し指示信号を受領する毎に前記外部メモリから読み出した第１所定サイズ分の符号化データであることとしてもよい。
【００１８】
これにより、格納回路は、符号化部による符号化データ全体の格納完了を待つことなく、第１所定サイズ分の符号化データが格納される毎に、第１所定サイズ分の符号化データを１つのブロックデータとして処理することができるため、無駄な待ち時間を削減し、高速に各符号化データの送信を行うことができる。
また、前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、前記通信装置は、更に前記符号化データを前記外部メモリに格納し、格納に際し、当該符号化データ中に所定のビットパターンを検出する毎に、所定のビットパターンを検出した旨の検出信号を前記格納回路に送出するパターン監視部を備え、前記格納回路は、前記パターン監視部から一の前記検出信号を受領した後、次の前記検出信号を受領するまでに前記外部メモリに格納された符号化データを読み出し、読み出した符号化データをブロックデータとして扱うこととしてもよい。
【００１９】
これにより、外部メモリに所定のビットパターンの符号化データが格納されると、パターン監視部がこれを検出するため、ＣＰＵに負荷を与えることなく所定のビットパターンを検出することができ、また、格納回路は検出信号を受領すると、その前に受領した検出信号以降に格納された所定のビットパターンを含む符号化データをブロックデータとして処理するため、例えば、ＭＰＥＧ−４ ｆｏｒ ＲＴＰ通信のように所定のビットパターン（再同期マーカ）毎にパケットデータを送信しなければならない場合に対応することができる。
【００２０】
また、前記パターン監視部は、前記符号化データ中に所定のビットパターンを検出すると、前記外部メモリ上の所定のアドレス境界を先頭とした領域に、検出したビットパターン以降の符号化データを格納することとしてもよい。
これにより、所定のバイト数境界が、例えば、４バイト境界であるとすると、パターン監視部は所定のビットパターンを検出すると、外部メモリ上の４バイト境界を先頭とした領域に所定のビットパターン以降の符号化データを格納するため、バイトアライメントを保証することができる。
【００２１】
また、前記通信装置は、前記パケット制御部に代えて、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成するヘッダ付与回路と、ＣＰＵを含み、前記ヘッダ付与回路が生成した各ヘッダ情報について、当該ヘッダ情報と当該ヘッダ情報に含まれる検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させる送出制御部とを備えることとしてもよい。
【００２２】
これにより、ヘッダ情報はヘッダ付与回路により生成されるため、パケット制御部のＣＰＵはヘッダ情報を生成する必要がなく、ＣＰＵの負荷を軽減することができる。
また、前記ヘッダ付与回路は、データ通信におけるプロトコル階層の層別に任意のヘッダを選択して前記ヘッダ情報を生成することとしてもよい。
これにより、ヘッダ付与回路は、レイヤー毎に任意のヘッダを選択してヘッダ情報を生成するため、記通信装置が使用するプロトコルに応じたヘッダ情報を生成することができる。
【００２３】
また、前記通信装置は、前記パケット制御部に代えて、前記格納回路により前記外部メモリに格納された各ブロックデータについて、前記検証用データを用いることなく生成可能なヘッダ情報の一部となる部分ヘッダ情報を生成するヘッダ付与回路と、ＣＰＵを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し、当該検証用データと当該ブロックデータに対応する前記部分ヘッダ情報とからなるヘッダ情報を生成し、当該ヘッダ情報と前記検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記ＣＰＵに実行させる送出制御部を備えることとしてもよい。
【００２４】
これにより、検出用データを用いることなく生成可能な部分ヘッダ情報が、ヘッダ付与回路により生成され、パケット制御部のＣＰＵは、プログラムを実行することにより、ヘッダ付与回路により生成された部分ヘッダ情報を用いてヘッダ情報を生成するため、ＣＰＵの負荷を軽減することができる。
また、前記格納回路は、前記ブロックデータ毎に当該ブロックデータと当該ブロックデータに対応する前記部分ヘッダ情報との内容を反映して検証用データの前記生成を行うこととしてもよい。
【００２５】
また、前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、前記通信装置は、更に各符号化データのデータサイズを指定する符号化設定部と、順次入力される前記画像データまたは前記音声データを所定単位毎に前記符号化設定部が指定するデータサイズに圧縮符号化し、圧縮符号化後の各符号化データを前記外部メモリに順次格納する符号化部を備えることとしてもよい。
【００２６】
これにより、符号化部は、画像データまたは音声データを所定単位毎に符号化設定部が指定するデータサイズに圧縮符号化するため、例えば、符号化設定部がネットワークの通信速度に応じたデータサイズを指定することにより、各符号化データを予め規格等により定められたフレームレートに従って送出できる可能性が高まり、いわゆるフレーム落ちの発生を抑えることができる。
【００２７】
また、前記外部メモリは論理的に分割された第１ネットワークデータ領域と第２ネットワークデータ領域とを有し、各第２所定サイズの領域は、特定データ毎に前記第１ネットワークデータ領域と前記第２ネットワークデータ領域とに交互に配置されるものであることとしてもよい。
これにより、１つの特定データについての各第２所定サイズの領域が第１パケット領域に配置されたとすると、次の特定データについての各第２所定サイズの領域は第２パケット領域に配置されるため、まだパケットデータとして送出されていないブロックデータを、次の特定データのブロックデータ及び対応する検証用データにより上書きしないようにするフロー制御を比較的容易にすることができる。
【００２８】
また、前記通信装置は、再送の可能性を前提とした通信を行うものであり、前記外部メモリは、再送が必要とされうる各パケットデータを構成する前記ブロックデータを格納する再送用領域を有し、前記パケット制御部は、各パケットデータについて、前記ネットワーク部が当該パケットデータを送出してから所定時間内に、当該パケットデータの送出先から当該パケットデータを受領した旨の応答を受領していない場合に、当該応答を受領していないパケットデータを構成する前記ブロックデータを前記再送用領域に移動させるプログラムを前記ＣＰＵに実行させることとしてもよい。
【００２９】
これにより、ＣＰＵはプログラムを実行することにより、各パケットデータについて、送出後所定時間内に送信先からパケットデータを受領した旨の応答を受領していない場合には、そのパケットデータ、即ち再送が必要とされうるパケットデータを構成するヘッダ情報とブロックデータとを外部メモリ上の再送用領域に移動させる。そのため、適切な所定時間を設定することにより、再送が必要とされうるパケットデータを構成するデータが格納されている領域を、格納回路が次の特定データを処理することによって上書きすることを防止することができる。
【００３０】
また、本発明に係る通信装置は、データをネットワークに送出する通信装置であって、前記データについて、所定サイズ毎に誤り検出用データを生成する検出部と、前記データを所定のメモリ領域に転送するデータ転送部と、前記データについて、前記データ転送部により前記メモリ領域に転送され終えた部分を所定サイズ毎に、当該所定サイズのデータに対応する誤り検出用データと共にパケットとして送出するよう制御するための制御プログラムを実行するＣＰＵと、前記ＣＰＵによる制御に従い、各パケットをネットワークに送出するネットワーク部とを備え、前記検出部と前記データ転送部と前記ＣＰＵとが並列して動作するよう構成したことを特徴とする。
【００３１】
これにより、検出部とデータ転送部とＣＰＵとが並列して処理するため、高速にパケットを送出することができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
≪実施の形態１≫
＜概要＞
実施の形態１に係る通信装置は、動画像データの送信処理全体をソフトウェアにより実現する通信装置を改良し、送信処理の一部をハードウェアにより実現することによって、送信処理の高速化を図るものである。
【００３３】
実施の形態１に係る通信装置においてなされる動画像データの送信処理を、データ処理とプロトコル処理と送出処理とに分けて説明する。
まず、データ処理とは、動画像データをフレーム毎に圧縮符号化した各符号化データについて、送出するパケットデータのペイロードサイズ毎にチェックサムを算出し、自装置の外部にあるメモリ（以下、「外部メモリ」という）上の所定サイズの各領域（以下、「第１領域」という）に、送出するパケットデータのペイロードサイズのデータ（以下、「ブロックデータ」という）と対応するチェックサムとを格納することをいう。
【００３４】
ここで、各第１領域は、所定値、例えば２５６に自領域のサイズを加えたアドレス値間隔で、つまり所定値分だけ間隔を空けて外部メモリ上に配置され、各第１領域へはブロックデータ、チェックサムの順でデータが格納される。
以下、所定値のサイズ分の領域を「第２領域」といい、第２領域と第２領域に連続する第１領域とからなる領域を「パケットデータ領域」という。
【００３５】
次に、プロトコル処理とは、外部メモリの各パケットデータ領域について、第１領域に格納されたチェックサムを読み出し、読み出したチェックサムを含むヘッダ情報を生成し、生成したヘッダ情報を第２領域に格納することをいう。
次に、送出処理とは、各パケットデータ領域について、第１領域に格納されたブロックデータと第２領域に格納されたヘッダ情報とを読み出し、これらのデータからなるパケットデータをネットワークに送出することをいう。なお、各第１領域に格納されたチェックサムは既にヘッダ情報に含まれているため、送出しない。
【００３６】
実施の形態１に係る通信装置は、動画像データの送信処理のうち、データ処理を専用のハードウェアである分割データ格納部に行わせ、プロトコル処理と送出処理についての制御とを制御プログラムを実行するＣＰＵ（Central Processing Unit）に行わせる。
従って、送信処理全体を専用のハードウェアで実現する場合と比較し、通信装置の製造にかかる初期コストを抑えることができる。
【００３７】
また、送信処理の一部であるデータ処理を分割データ格納部に行わせることにより、データ処理が済んだデータについては、その時点以降からＣＰＵに順次プロトコル処理を行わせることができるため、送信処理の高速化を図ることができる。
また、分割データ格納部は、１つのブロックデータとそのチェックサムとを物理的に連続する第１領域に格納し、ＣＰＵは、その第１領域の前に配置され、第１領域と連続する第２領域にヘッダ情報を格納する。
【００３８】
そのため、最終的に送出する各パケットデータについて、これを生成するために必要なブロックデータとヘッダ情報とが外部メモリ上の連続する領域に格納されることとなり、外部メモリ上の離れた領域に両者がそれぞれ格納される場合よりも、一般的には高速なデータ読出しをプログラムによって実現でき、更に送出処理の高速化を図ることができる。
＜構成＞
以下、実施の形態１に係る通信装置１００の構成について説明する。
【００３９】
図１は、実施の形態１に係る通信装置１００の構成図である。
同図に示すとおり、通信装置１００は、自装置の外部にある外部メモリ１１０と接続し、また、ネットワーク１２０を介して端末１３０と接続している。
なお、外部メモリ１１０は、通信装置１００により処理された符号化データ、ブロックデータ、チェックサム、ヘッダ情報を格納するメモリであり、以下では、外部メモリ１１０の１アドレス分のサイズは１ｂｙｔｅであり、外部メモリ１１０が１回に送出するデータのサイズ、即ち外部メモリ１１０のバス幅は４ｂｙｔｅであるとして説明する。
【００４０】
また、ネットワーク１２０は、ＬＡＮ（Local Area Network）またはＷＡＮ（Wide Area Network）であり、端末１３０は、通信装置１００から送出されるパケットデータを受領し、動画像を再生するＰＣ（Personal Computer）である。
通信装置１００は、同図に示すとおり、ＭＣＵ（Memory Control Unit）１０１、符号化部１０２、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５、内部バス１０６から構成される。
【００４１】
ＭＣＵ１０１は、外部メモリ１１０へのアクセスが競合しないよう調停を行う一般的なアービタ回路であり、符号化部１０２、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５による外部メモリ１１０へのアクセスの調停を行う。
符号化部１０２は、通信装置１００の外部から入力される動画像データをフレーム毎にＭＪＰＥＧ（Motion Joint Photographic Experts Group）、ＭＰＥＧ（Moving Picture Experts Group）、Ｈ．２６４等に変換する一般的な圧縮符号化回路であり、ＭＣＵ１０１による調停結果に従って、圧縮符号化後の各符号化データを外部メモリ１１０の後述する符号化データ領域３０１ａ又は３０１ｂに格納し、格納が完了すると、分割データ格納部１０３に格納が完了した旨の通知を送出する。
【００４２】
なお、圧縮符号化の方法は問わないが、以下では、ＭＰＥＧに符号化するものとして、説明する。
分割データ格納部１０３は、動画像データの送信処理のうちデータ処理を行う回路である。ここで、分割データ格納部１０３は、本発明における格納回路に相当し、各実施の形態及び変形例における分割データ格納部についても、同様である。
【００４３】
以下、分割データ格納部１０３について、図２を用いて詳細に説明する。
図２は、分割データ格納部１０３の構成を示す図である。
分割データ格納部１０３は、同図に示すとおり、バッファ２０１、チェックサム演算部２０２、ＤＴＣ（Data Transfer Controller）２０６、制御部２０７から構成される。
バッファ２０１は、ＤＴＣ２０６が外部メモリ１１０の後述する符号化データ領域３０１ａ又は３０１ｂから読み出した符号化データを格納するバッファである。
【００４４】
詳細には、符号化データは、外部メモリ１１０のバス幅に応じた所定サイズ（４ｂｙｔｅ）毎に送出されるため、バッファ２０１は、所定サイズ毎に符号化データを格納する。
また、バッファ２０１は、格納した符号化データを２ｂｙｔｅ毎にチェックサム演算部２０２へ送出する。
チェックサム演算部２０２は、内部に加算器を含み、２ｂｙｔｅのデータの加算ができるように構成された回路であり、バッファ２０１から受領した２ｂｙｔｅの符号化データを数値とみなした場合の全数値の合計値であるチェックサムを算出する。
【００４５】
なお、動画像データの送信処理開始時には、後述するＣＰＵ１０４により初期値として、チェックサムはゼロに設定される。
ＤＴＣ２０６は、データの転送を行う回路であり、カウンタ２０３、レジスタ２０４、転送部２０５から構成される。
カウンタ２０３は、符号化データが格納された外部メモリ１１０の後述する符号化データ領域３０１ａ又は３０１ｂ上のアドレス値（以下、「読み出し用アドレス値」という）と、ブロックデータ及びそのチェックサムを格納する外部メモリ１１０の後述するネットワークデータ領域３０２ａ又は３０２ｂの第１領域上のアドレス値（以下、「書き込み用アドレス値」という）とを保持する回路である。
【００４６】
動画像データの送信処理開始時に後述するＣＰＵ１０４により初期値として、読み出し用アドレス値には、後述する符号化データ領域３０１ａの先頭アドレス値が設定され、書き込み用アドレス値には、最初にアクセスすべき後述するネットワークデータ領域３０２ａの第１領域の先頭アドレス値が設定される。
読み出し用のアドレス値及び書き込み用のアドレス値は、データ転送の際に転送部２０５により更新される。また、符号化データ領域３０１ａ又は３０１ｂから１フレーム分の符号化データの読み出しが完了すると、制御部２０７によって読み出し用のアドレス値に他方の符号化データ領域、即ち符号化データ領域３０１ａから１フレーム分の符号化データの読み出しが完了した場合には、符号化データ領域３０１ｂの、符号化データ領域３０１ｂから１フレーム分の符号化データの読み出しが完了した場合には、符号化データ領域３０１ａの先頭アドレス値が設定される。
【００４７】
また、ネットワークデータ領域３０２ａ又は３０２ｂの各第１領域へブロックデータとそのチェックサムの格納が完了すると、制御部２０７によって書き込み用のアドレス値に他方のネットワークデータ領域、即ち、ネットワークデータ領域３０２ａへの格納が完了した場合には、ネットワークデータ領域３０２ｂ、ネットワークデータ領域３０２ｂへの格納が完了した場合には、ネットワークデータ領域３０２ａにおいて最初にアクセスすべき第１領域の先頭アドレスが設定される。
【００４８】
レジスタ２０４は、第２領域のサイズ分のアドレス値と後述する符号化データ領域３０１ａ及び３０１ｂの先頭アドレス値と後述するネットワークデータ領域３０２ａ及び３０２ｂの最初にアクセスすべき第１領域の先頭アドレスとを保持する回路であり、これらのアドレス値は、動画像データの送信処理開始時に後述するＣＰＵ１０４により設定される。
【００４９】
転送部２０５は、外部メモリ１１０からの符号化データの読み出しと外部メモリ１１０へのブロックデータ及びチェックサムの格納を行う回路である。
具体的には、転送部２０５は、制御部２０７を介して符号化部１０２から、符号化データの格納が完了した旨の通知を受領すると、カウンタ２０３に設定された読み出し用アドレス値が示す外部メモリ１１０の後述する符号化データ領域３０１ａ又は３０１ｂから所定サイズ（４ｂｙｔｅ）毎に符号化データを読み出してバッファ２０１に格納し、所定サイズ（４ｂｙｔｅ）の符号化データを読み出す毎にカウンタ２０３に設定された読み出し用アドレス値を４つ増加させる。
【００５０】
また、転送部２０５は、バッファ２０１に格納された符号化データを、カウンタ２０３に設定された書き込み用アドレス値が示す外部メモリ１１０のネットワークデータ領域３０２ａ又は３０２ｂの第１領域に所定サイズ（４ｂｙｔｅ）毎に格納し、所定サイズ（４ｂｙｔｅ）の符号化データを格納する毎にカウンタ２０３に設定された書き込み用のアドレス値を４つ増加させる。
【００５１】
所定サイズ（４ｂｙｔｅ）毎に符号化データをネットワークデータ領域３０２ａ又は３０２ｂの第１領域に格納していった結果、ブロックデータサイズ分の符号化データの格納を完了すると、転送部２０５は、チェックサム演算部２０２からチェックサムを読み出し、カウンタ２０３に設定された書き込み用アドレス値が示す外部メモリ１１０の第１領域にチェックサムを格納する。
【００５２】
また、転送部２０５は、チェックサムの格納を完了する毎に制御部２０７にチェックサムの格納を完了した旨の通知を送出する。
なお、転送部２０５による外部メモリ１１０へのアクセスは、ＭＣＵ１０１による調停結果に従って行う。
制御部２０７は、分割データ格納部１０３内の各部の制御を行う回路である。具体的には、制御部２０７は、符号化部１０２から符号化データの格納が完了した旨の通知を受領すると、転送部２０５に対し、その通知を転送する。
【００５３】
また、制御部２０７は、転送部２０５からチェックサムの格納を完了した旨の通知を受領すると、チェックサム演算部２０２のチェックサムの値はゼロにリセットし、ＣＰＵ１０４にチェックサムの格納を完了した旨の通知を転送し、レジスタ２０４が保持する第２領域のサイズのアドレス値分、カウンタ２０３に設定された書き込み用のアドレス値を増加させる。
【００５４】
書き込み用のアドレス値を増加させるのは、各第１領域は、第２領域のサイズに自領域のサイズを加えたアドレス値間隔で外部メモリ上に配置されるため、第２領域として使用される領域を空けて次のブロックデータとそのチェックサムとの格納を行うためである。
また、制御部２０７は、符号化データ領域３０１ａ又は３０１ｂから１フレーム分の符号化データの読み出しが完了すると、読み出し用のアドレス値に他方の符号化データ領域の先頭アドレス値を設定し、また、ネットワークデータ領域３０２ａ又は３０２ｂの各第１領域へブロックデータとそのチェックサムの格納が完了すると、書き込み用のアドレス値に他方のネットワークデータ領域において最初にアクセスすべき第１領域の先頭アドレスを設定する。
【００５５】
ＣＰＵ１０４は、通信装置１００の内部にある図示しないメモリ（以下、「内部メモリ」という）に格納された制御プログラムを実行することにより、動画像データの送信処理のうちプロトコル処理と送出処理の制御を行う回路であり、ＣＰＵ１０４及び内部メモリにより本発明におけるパケット制御部の機能を実現することができ、以下の各実施の形態及び変形例においても、同様である。
【００５６】
プロトコル処理について、具体的には、ＣＰＵ１０４が制御プログラムを実行することにより、分割データ格納部１０３からチェックサムの格納が完了した旨の通知を受領すると、外部メモリ１１０の第１領域に格納されたチェックサムを読み出し、読み出したチェックサムを含むヘッダ情報を生成して、生成したヘッダ情報をそのチェックサムが格納された第１領域の前に配置された第２領域に格納する。ヘッダ情報の内容については後述する。
【００５７】
制御プログラムによる各第１領域に格納されたチェックサムの読出しと各第２領域へのヘッダ情報の格納については、例えばヘッダ情報を示す変数Ｈとブロックデータを示す変数Ｄとチェックサムを示す変数Ｃとをメンバとする構造体の変数Ｓと構造体の変数Ｓのアドレスを示すポインタ変数Ａとを定義しておく方法により実現することができる。
その際、ポインタ変数Ａに最初にアクセスすべきパケットデータ領域の先頭アドレスを初期値として設定し、変数Ａが示すアドレスに格納された構造体変数Ｓのメンバ変数Ｃを指定すればチェックサムに、構造体変数Ｓのメンバ変数Ｈを指定すればヘッダ情報にアクセスすることが可能であり、変数Ａを１ずつ増加させることによって、各パケットデータ領域に順次アクセスが可能となる。
【００５８】
また、送出処理の制御について、具体的には、ＣＰＵ１０４が制御プログラムを実行することにより、生成したヘッダ情報を外部メモリ１１０の第２領域に格納すると、パケットデータ領域を示すアドレス値を指定して、第２領域に格納したヘッダ情報と第１領域に格納されているブロックデータとを含むパケットデータの送出指示通知をネットワーク部１０５に送出する。
【００５９】
なお、外部メモリ１１０へのアクセスは、ＭＣＵ１０１による調停結果に従って行う。
また、ＣＰＵ１０４は、制御プログラムを実行することにより、通信装置１００全体の制御を行う機能を有し、具体的には、動画像データの送信処理開始時に分割データ格納部１０３のチェックサム演算部２０２、ＤＴＣ２０６のカウンタ２０３及びレジスタ２０４に初期値の設定を行う。
【００６０】
ネットワーク部１０５は、一般的なネットワークインタフェースであり、ＣＰＵ１０４により指定されたアドレス値が示すパケットデータ領域の第１領域に格納されたブロックデータと第２領域に格納されたヘッダ情報とを読み出して、パケットデータとしてネットワーク１２０を介して順次端末１３０に送出する回路である。パケットデータの内容については後述する。
【００６１】
なお、外部メモリ１１０へのアクセスは、ＭＣＵ１０１による調停結果に従って行う。
内部バス１０６は、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５と外部メモリ１１０とのデータの授受を行うための一般的なアドレスバス及びデータバスである。
＜データ＞
以下、通信装置１００で使用するデータについて説明する。
【００６２】
＜外部メモリ１１０上のデータ配置＞
まず、外部メモリ１１０に格納されるデータの配置について説明する。
図３は、外部メモリ１１０の格納領域を示す図である。
外部メモリ１１０の格納領域は、同図に示すように符号化データ領域３０１ａ、３０１ｂとネットワークデータ領域３０２ａ、３０２ｂとを含む領域である。
【００６３】
符号化データ領域３０１ａは、符号化部１０２によりＭＰＥＧに圧縮符号化された１フレーム分の符号化データが格納される物理的に連続した領域である。
符号化データ領域３０１ｂは、基本的には符号化データ領域３０１ａと同様の領域であるが、符号化部１０２により、符号化データ領域３０１ａに格納された次のフレーム分の符号化データが格納される領域である。
【００６４】
即ち、符号化部１０２により圧縮符号化された各符号化データは、フレーム毎に符号化データ領域３０１ａと３０１ｂとに交互に格納される。
ネットワークデータ領域３０２ａは、符号化データ領域３０１ａに格納された１フレーム分の符号化データについてネットワークに送出する際のパケットデータを構成するデータが格納される物理的に連続した領域であり、同図に示すように、更にパケットデータ領域３１０ａ、３１０ｂ・・・に論理的に分割されている。
【００６５】
ネットワークデータ領域３０２ｂは、基本的にはネットワークデータ領域３０２ａと同様の領域であるが、符号化データ領域３０１ｂに格納された１フレーム分の符号化データについてのパケットデータを構成するデータが格納される領域である。
パケットデータ領域３１０ａ、３１０ｂ・・・は同様の構成を有するため、以下、パケットデータ領域３１０ａについて、説明する。
【００６６】
パケットデータ領域３１０ａは、１つのパケットデータを構成するデータが格納される物理的に連続した領域であり、パケットデータ領域３１０ａは、第１領域３１１と第２領域３１２とに論理的に分割されている。
第１領域３１１は、１つのブロックデータとそのブロックデータについてのチェックサムとが格納される領域である。
【００６７】
ブロックデータは、パケットデータのペイロードサイズの符号化データであり、ブロックデータのサイズは、以下では、ＵＤＰにおける最大ペイロードサイズである１４７２ｂｙｔｅであるとして説明する。
チェックサムは、ブロックデータを２ｂｙｔｅ毎に数値とみなした場合の全数値の合計値であり、チェックサムのサイズは２ｂｙｔｅである。
【００６８】
第１領域３１１は、ブロックデータ（１４７２ｂｙｔｅ）とチェックサム（２ｂｙｔｅ）とが格納可能であればそのサイズは問わないが、以下では、２ｋｂｙｔｅの領域であるとして説明する。
第２領域３１２は、第１領域３１１に格納されたチェックサムを含むヘッダ情報が格納される領域である。
【００６９】
第２領域３１２は、後述するヘッダ情報（後述する例では５４ｂｙｔｅ）が格納可能であればそのサイズは問わないが、以下では２５６ｂｙｔｅの領域であるとして説明する。
＜ヘッダ情報＞
次に、ヘッダ情報について説明する。
ヘッダ情報は、Ｅｔｈｅｒｎｅｔ（登録商標）フレームにおける各ヘッダ情報であり、分割データ格納部１０３により算出されたチェックサムを含むものである。
【００７０】
図４は、ＲＴＰ（Real-time Transport Protocol）／ＵＤＰを用いて動画像データを送信する場合に、ネットワーク部１０５が送出するパケットデータ４００のフレーム構造を示す図である。
パケットデータ４００のフレーム構造は、ＩＥＥＥ  ８０２．３規格及びＵＤＰプロトコル、ＲＴＰプロトコルに準拠しており、同図に示すとおり、パケットデータ４００には、ＭＡＣ（Media Access Control） ｈｅａｄｅｒ４１０、Ｄａｔａ４２０が含まれ、Ｄａｔａ４２０には、更にＩＰ（Internet Protocol） ｈｅａｄｅｒ４２１、ＵＤＰ ｈｅａｄｅｒ４２２、ＲＴＰ ｈｅａｄｅｒ４２３が含まれる。
【００７１】
ヘッダ情報は、上述したＭＡＣ ｈｅａｄｅｒ４１０、ＩＰ ｈｅａｄｅｒ４２１、ＵＤＰ ｈｅａｄｅｒ４２２、ＲＴＰ ｈｅａｄｅｒ４２３の各ヘッダからなる情報である。
各ヘッダの内容は、ＩＥＥＥ  ８０２．３規格及びＵＤＰプロトコル、ＲＴＰプロトコルにおける各ヘッダの内容と同様であるため説明は省略するが、第１領域３１１に格納されたチェックサムは、ＵＤＰ ｈｅａｄｅｒ４２２におけるチェックサムとして使用される。また、上述した各ヘッダ以外の各領域についても、ＩＥＥＥ  ８０２．３規格及びＵＤＰプロトコル、ＲＴＰプロトコルに準拠したものであるので、説明は省略する。
＜動作＞
以下、上記構成を備え、上記データを取り扱う通信装置１００の動作を説明する。
【００７２】
＜分割データ格納部＞
まず、分割データ格納部１０３の動作について説明する。
図５は、分割データ格納部１０３の動作を示すフローチャートである。
以下では、符号化データは、符号化データ領域３０１ａに格納されているものとして説明する。
【００７３】
分割データ格納部１０３のＤＴＣ２０６の転送部２０５は、分割データ格納部１０３の制御部２０７を介して符号化部１０２から符号化データの格納が完了した旨の通知があったか確認する（ステップＳ５０１）。
符号化データの格納が完了した旨の通知がない場合には（ステップＳ５０１：Ｎ）、ステップＳ５０１に戻る。
【００７４】
所定時間以内に、符号化データの格納が完了した旨の通知がない場合には（ステップＳ５０１：タイムアウト）、処理を終了する。
符号化データの格納が完了した旨の通知があった場合には（ステップＳ５０１：Ｙ）、転送部２０５は、符号化データ全体について転送処理が完了したかを確認する（ステップＳ５０２）。
【００７５】
符号化データ全体について転送処理が完了していない場合には（ステップＳ５０２：Ｎ）、転送部２０５は、ブロックデータ全体について第１領域３１１への格納を完了したかを確認する（ステップＳ５０３）。
ブロックデータ全体について第１領域３１１への格納を完了していない場合には（ステップＳ５０３：Ｎ）、転送部２０５は、分割データ格納部１０３のＤＴＣ２０６のカウンタ２０３の読み出し用アドレス値が示す符号化データ領域３０１ａから所定サイズ（４ｂｙｔｅ）の符号化データを分割データ格納部１０３のバッファ２０１に読み出す（ステップＳ５０４）。
【００７６】
なお、転送部２０５は、所定サイズ（４ｂｙｔｅ）の符号化データを読み出すと、カウンタ２０３の読み出し用アドレス値を４つ増加させる。
バッファ２０１は、格納された符号化データを２ｂｙｔｅ毎にチェックサム演算部２０２へ送出し、チェックサム演算部２０２は、受領した２ｂｙｔｅの符号化データを数値とみなし、チェックサムを算出する（ステップＳ５０５）。
【００７７】
転送部２０５は、バッファ２０１に格納された所定サイズ（４ｂｙｔｅ）の符号化データを、カウンタ２０３の書き込み用アドレス値が示すネットワークデータ領域３０２ａ内の第１領域３１１に格納し（ステップＳ５０６）、ステップ５０３に戻る。
なお、転送部２０５は、所定サイズ（４ｂｙｔｅ）の符号化データを第１領域３１１へ格納すると、カウンタ２０３の書き込み用アドレス値を４つ増加させる。
【００７８】
ブロックデータ全体について格納が完了した場合には（ステップＳ５０３：Ｙ）、転送部２０５は、チェックサム演算部２０２からチェックサムを読み出し、カウンタ２０３の書き込み用アドレス値が示すネットワークデータ領域３０２ａ内の第１領域３１１に格納する（ステップＳ５０７）。
転送部２０５は、チェックサムとの格納が完了すると、制御部２０７を介してＣＰＵ１０４にチェックサムの格納が完了した旨の通知を送出する（ステップＳ５０８）。なお、制御部２０７は、チェックサム演算部２０２のチェックサムの値をゼロにリセットする。
【００７９】
制御部２０７は、分割データ格納部１０３のＤＴＣ２０６のレジスタ２０４に設定された第２領域３１２のサイズ分の値分、カウンタ２０３を増加させ（ステップＳ５０９）、ステップＳ５０２に戻る。
符号化データ全体について転送処理が完了した場合には（ステップＳ５０２：Ｙ）、転送部２０５は、ステップＳ５０１に戻る。
【００８０】
以上により、１フレーム分の符号化データについて処理を完了する。
なお、次のフレームについての符号化データは符号化部１０２により外部メモリ１１０上の符号化データ領域３０１ｂに格納される。
そのため、制御部２０７は、カウンタ２０３の読み出し用アドレス値に、レジスタ２０４に格納された符号化データ領域３０１ｂの先頭アドレス値を設定し、カウンタ２０３の書き込み用アドレス値にレジスタ２０４に格納されたネットワークデータ領域３０２ｂにおいて最初にアクセスすべき第１領域３１１の先頭アドレス値を設定する。その結果、転送部２０５は、符号化データ領域３０１ｂから符号化データを読み出し、ネットワークデータ領域３０２ｂにブロックデータとそのチェックサムとを格納していくこととなる。
【００８１】
＜ＣＰＵ＞
次に、ＣＰＵ１０４の動作について説明する。
図６は、ＣＰＵ１０４の動作を示すフローチャートである。
以下では、ブロックデータ及びチェックサムは、ネットワークデータ領域３０２ａに格納されているものとして説明する。
【００８２】
ＣＰＵ１０４は、制御プログラムを実行することにより、分割データ格納部１０３からチェックサムの格納が完了した旨の通知があったか確認する（ステップＳ６０１）。
チェックサムの格納が完了した旨の通知がない場合には（ステップＳ６０１：Ｎ）、ステップＳ６０１に戻る。
所定時間以内に、チェックサムの格納が完了した旨の通知がない場合には（ステップＳ６０１：タイムアウト）、処理を終了する。
【００８３】
チェックサムの格納が完了した旨の通知があった場合には（ステップＳ６０１：Ｙ）、ＣＰＵ１０４は制御プログラムを実行することにより、第１領域３１１に格納されたチェックサムを読み出す（ステップＳ６０２）。
ＣＰＵ１０４は制御プログラムを実行することにより、読み出したチェックサムを含むヘッダ情報を生成する（ステップＳ６０３）。
【００８４】
ＣＰＵ１０４は制御プログラムを実行することにより、読み出したチェックサムが含まれるパケットデータ領域の第２領域３１２に生成したヘッダ情報を格納する（ステップＳ６０４）。
ＣＰＵ１０４は制御プログラムを実行することにより、ヘッダ情報が格納されたパケットデータ領域のアドレス値を指定して、指定したアドレス値が示すパケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータの送出指示通知をネットワーク部１０５に送出し（ステップＳ６０５）、ステップ５０１に戻る。
【００８５】
以上により、１つのパケットデータについての処理を完了する。上記処理を繰り返すことにより、１フレーム分のパケットデータについて処理することができる。
なお、次のフレームについてのブロックデータとチェックサムとは、分割データ格納部１０３によりネットワークデータ領域３０２ｂに格納されるため、ＣＰＵ１０４は制御プログラムを実行することにより、ネットワークデータ領域３０２ｂからチェックサムを読み出し、ネットワークデータ領域３０２ｂにヘッダ情報を格納していくこととなる。
【００８６】
＜タイミングチャート＞
次に、各部の動作のタイミングについて、図７を用いて説明する。
図７は、通信装置１００の各部の動作を示すタイミングチャートである。
以下では、符号化部１０２は、１フレーム分の符号化データを符号化データ領域３０１ａに格納し、分割データ格納部１０３は、ブロックデータ及びチェックサムをネットワークデータ領域３０２ａに格納するものとして説明する。
【００８７】
Ｔ０は、符号化部１０２が処理を開始するタイミングである。
Ｔ０〜Ｔ１において、符号化部１０２は、通信装置１００の外部から入力される１フレーム分の動画像データをＭＰＥＧに圧縮符号化した符号化データを外部メモリ１１０の符号化データ領域３０１ａに格納する。
Ｔ１は、符号化部１０２が符号化データ領域３０１ａへの符号化データの格納を完了し、分割データ格納部１０３が符号化部１０２から符号化データの格納が完了した旨の通知を受領し、処理を開始するタイミングである。
【００８８】
Ｔ１〜Ｔ５において、分割データ格納部１０３は、図５のフローチャートに従って１つの符号化データについて各ブロックデータと対応するチェックサムの格納を行う。
Ｔ２は、分割データ格納部１０３が１つ目のブロックデータとそのチェックサムについて、パケットデータ領域３１０ａの第１領域３１１への格納を完了し、ＣＰＵ１０４が、制御プログラムを実行することにより分割データ格納部１０３からチェックサムの格納が完了した旨の通知を受領し、処理を開始するタイミングである。
【００８９】
Ｔ２〜Ｔ７において、ＣＰＵ１０４は、制御プログラムを実行することにより、図６のフローチャートに従って各ヘッダ情報の格納と各パケットデータの送出の制御を行う。
Ｔ３は、ＣＰＵ１０４が制御プログラムを実行することにより、１つ目のヘッダ情報について、パケットデータ領域３１０ａの第２領域３１２への格納を完了し、ネットワーク部１０５がＣＰＵ１０４からパケットデータの送出指示通知を受領し、処理を開始するタイミングである。
【００９０】
Ｔ３〜Ｔ４において、ネットワーク部１０５は、ＣＰＵ１０４により指定されたアドレス値が示すパケットデータ領域３１０ａの第１領域３１１に格納されたブロックデータと第２領域３１２に格納されたヘッダ情報とからなるパケットデータを、ネットワーク１２０を介して端末１３０に送出する。以降、参照するパケットデータ領域を変えながら、Ｔ８まで同様の処理を繰り返し行う。
【００９１】
以上により、通信装置１００の外部から最初に入力された１フレーム分の動画像データについての送出処理が完了し、上記処理を繰り返すことにより、全てのフレーム分の動画像データを送信することができる。
なお、符号化データ領域３０１ａと３０１ｂ、ネットワークデータ領域３０２ａと３０２ｂとは１フレーム分の動画像データの処理毎に交互に使用されるため、通信装置１００の外部から次に入力された１フレーム分の動画像データは、Ｔ１〜Ｔ６において、符号化部１０２により圧縮符号化され、符号化データとして符号化データ領域３０１ｂに格納され、Ｔ６以降の各部の処理により、ブロックデータ、チェックサム及びヘッダ情報は、ネットワークデータ領域３０２ｂに格納されていく。
【００９２】
以上、通信装置１００の動作タイミングについて説明したが、以下では、通信装置１００においてデータ処理及びプロトコル処理に要する処理時間について説明する。
図７において、分割データ格納部１０３によるＴ１〜Ｔ２の処理時間を「ａ」とし、ＣＰＵ１０４によるＴ２〜Ｔ３の処理時間を「ｂ」とし、分割データ格納部１０３及びＣＰＵ１０４は、符号化データ毎にＮ回のデータ処理及びプロトコル処理をそれぞれ行うものとして説明する。
【００９３】
仮に１台のＣＰＵにプログラムを実行させることによりデータ処理及びプロトコル処理を実現する場合、符号化データ毎に（ａ＋ｂ）×Ｎの処理時間がかかる。
一方、通信装置１００における処理時間は、Ｔ１〜Ｔ２の部分を除き、データ処理とプロトコル処理とが並列に動作するため、ａ＋ｂＮとなる。
従って、１台のＣＰＵにプログラムを実行させることによりデータ処理及びプロトコル処理実現する場合と比較し、通信装置１００は、処理時間をａ×（Ｎ−１）削減することができる。
≪実施の形態２≫
＜概要＞
実施の形態１に係る通信装置１００は、外部メモリ１１０上に物理的に連続するネットワークデータ領域３０２ａ、３０２ｂを確保し、確保したネットワークデータ領域３０２ａ、３０２ｂに各パケットデータ領域を連続して配置していた。
【００９４】
しかし、実際にはフラグメンテーションの発生等により、外部メモリ１１０上に物理的に連続した領域を確保できない場合や、物理的に連続した領域を確保することによって、外部メモリ１１０の使用効率を低下させてしまう場合がある。
実施の形態２に係る通信装置は、各パケットデータ領域を示すアドレス値を管理し、各パケットデータ領域を外部メモリ１１０上に非連続に配置できるようにすることにより、外部メモリ１１０の格納領域を有効に活用できるようにしたものである。
＜構成＞
以下、実施の形態２に係る通信装置８００の構成について説明する。
【００９５】
図８は、実施の形態２に係る通信装置８００の構成図である。
同図に示すとおり、通信装置８００は、実施の形態１に係る通信装置１００と同様、自装置の外部にある外部メモリ１１０と接続し、また、ネットワーク１２０を介して端末１３０と接続している。
なお、以下では、実施の形態１と同様に、各パケットデータ領域は２３０４ｂｙｔｅ（２５６ｂｙｔｅ＋２ｋｂｙｔｅ）の領域であり、外部メモリ１１０の１アドレス分のサイズは１ｂｙｔｅであり、外部メモリ１１０が１回に送出するデータのサイズは４ｂｙｔｅであるとして説明する。
【００９６】
通信装置８００は、同図に示すとおり、ＭＣＵ１０１、ネットワーク部１０５、内部バス１０６、符号化部８０１、アドレス制御部８０２、分割データ格納部８０３、ＣＰＵ８０４から構成される。
ＭＣＵ１０１、ネットワーク部１０５、内部バス１０６については、実施の形態１に係る通信装置１００と同様であるため、説明は省略する。
【００９７】
符号化部８０１は、基本的には、実施の形態１における符号化部１０２と同様の回路であるが、圧縮符号化後の各符号化データについて、外部メモリ１１０への格納を開始する際に、アドレス制御部８０２に処理の開始を指示する旨の通知を送出する点で符号化部１０２と異なる。
アドレス制御部８０２は、内部にＣＰＵを含み、通信装置８００の内部メモリ（図示しない）に格納された制御プログラムをＣＰＵに実行させることにより、外部メモリ１１０の空き領域のうち、各パケットデータ領域として使用可能な領域を確保し、確保した各パケットデータ領域を示すアドレス値を分割データ格納部８０３とＣＰＵ８０４とにそれぞれ指定する回路である。
【００９８】
ここで、各パケットデータ領域を示すアドレス値は、各パケットデータ領域の先頭アドレス値である。
分割データ格納部８０３は、基本的には、実施の形態１における分割データ格納部１０３と同様の回路であるが、分割データ格納部８０３は、アドレス制御部８０２から指定されたアドレス値が示すパケットデータ領域の第１領域３１１にブロックデータとそのブロックデータのチェックサムとを格納する点で、分割データ格納部１０３とは異なる。
【００９９】
以下、分割データ格納部８０３について具体的に説明する。
分割データ格納部８０３の構成は、図２に示す分割データ格納部１０３の構成と基本的には同様であるが、ＤＴＣのレジスタと制御部について相違点があるため、以下説明する。
分割データ格納部８０３のレジスタは、分割データ格納部１０３のＤＴＣ２０６のレジスタ２０４が保持する各アドレス値の他、アドレス制御部８０２から指定された各パケットデータ領域の先頭アドレス値をそれぞれ保持する。
【０１００】
分割データ格納部８０３の制御部は、基本的には分割データ格納部１０３の制御部２０７と同様の回路であるが、分割データ格納部８０３のレジスタに設定された各パケットデータ領域を示す各アドレス値について、そのアドレス値にＣＰＵ８０４により分割データ格納部８０３のレジスタに設定された第２領域３１２のサイズ分のアドレス値（２５６）を加えたアドレス値を第１領域３１１の先頭アドレス値として分割データ格納部８０３のカウンタ２０３に設定する点で分割データ格納部１０３の制御部２０７と異なる。
【０１０１】
ＣＰＵ８０４は、基本的には、実施の形態１におけるＣＰＵ１０４と同様の機能を有するが、プログラムを実行することにより、アドレス制御部８０２から指定されたアドレス値が示すパケットデータ領域の第１領域３１１からチェックサムを読み出し、読み出したチェックサムを含むパケットデータ領域の第２領域３１２に生成したヘッダ情報を格納する点で、ＣＰＵ１０４とは異なる。
【０１０２】
制御プログラムによる各第１領域３１１に格納されたチェックサムの読出しと各第２領域３１２へのヘッダ情報の格納とについては、基本的には実施の形態１におけるＣＰＵ１０４と同様の方法で実現できるが、本実施の形態では、構造体の変数Ｓのアドレスを示すポインタ変数Ａに、順次アドレス制御部８０２から指定されたアドレス値を設定して、各パケットデータ領域にアクセスする必要がある。
＜データ＞
各パケットデータ領域の配置について説明する。
【０１０３】
図９は、実施の形態２における外部メモリ１１０上のネットワークデータ領域３０２ａを示す図である。なお、ここでは、ネットワークデータ領域３０２ａについて説明するが、ネットワークデータ領域３０２ｂについても同様である。
同図に示すように、パケットデータ領域９１０ａ、９１０ｂ・・・は、ネットワークデータ領域３０２ａ上に非連続に配置される。同図中の灰色に塗りつぶされている領域は、他のデータ等が格納されていることを示している。
【０１０４】
パケットデータ領域９１０ａ、９１０ｂ・・・は、実施の形態１のパケットデータ領域３１０ａ、３１０ｂ・・・と同様の領域であるため、説明は省略する。
＜動作＞
以下、上記構成を備え、上記データを取り扱う通信装置８００の動作を説明する。
＜アドレス制御部＞
まず、アドレス制御部８０２の動作について説明する。
【０１０５】
図１０は、アドレス制御部８０２の動作を示すフローチャートである。
アドレス制御部８０２のＣＰＵは制御プログラムを実行することにより、符号化部８０１から処理の開始を指示する旨の通知があったかを確認する（ステップＳ１００１）。
処理の開始を指示する旨の通知がない場合には（ステップＳ１００１：Ｎ）、ステップＳ１００１に戻る。
【０１０６】
所定時間以内に処理の開始を指示する旨の通知がない場合には（ステップＳ１００１：タイムアウト）、処理を終了する。
処理の開始を指示する旨の通知があった場合には（ステップＳ１００１：Ｙ）、アドレス制御部８０２のＣＰＵは制御プログラムを実行することにより、１フレーム分のパケットデータ領域について確保済かを確認する（ステップＳ１００２）。
【０１０７】
１フレーム分のパケットデータ領域について確保済でない場合には（ステップＳ１００２：Ｎ）、アドレス制御部８０２のＣＰＵは制御プログラムを実行することにより、外部メモリ１１０の空き領域のうち、パケットデータ領域として使用する領域を確保する（ステップＳ１００３）。
アドレス制御部８０２のＣＰＵは制御プログラムを実行することにより、確保したパケットデータ領域を示すアドレス値を分割データ格納部８０３とＣＰＵ８０４とに指定して（ステップＳ１００４）、ステップＳ１００２に戻る。
【０１０８】
１フレーム分のパケットデータ領域について確保済の場合には（ステップＳ１００２：Ｙ）、ステップ１００１へ戻る。
＜分割データ格納部＞
次に、分割データ格納部８０３の動作について説明する。
図１１は、分割データ格納部８０３の動作を示すフローチャートである。
【０１０９】
ステップＳ１１０１〜ステップＳ１１０２、ステップＳ１１０４〜ステップＳ１１０９の処理は、図５に示す実施の形態１に係る分割データ格納部１０３のステップＳ５０１〜ステップＳ５０２、ステップＳ５０３〜ステップＳ５０８の処理とそれぞれ同様であるため説明は省略し、以下、ステップＳ１１０３の処理について説明する。
分割データ格納部８０３の制御部は、分割データ格納部８０３のレジスタに設定されているアドレス制御部８０２から指定されたアドレス値のうち、１つのアドレス値を読み出し、読み出したアドレス値に分割データ格納部８０３のレジスタに設定されている第２領域３１２のサイズ分のアドレス値を加えたアドレス値を分割データ格納部８０３のカウンタ２０３の書き込み用アドレス値に設定する（ステップＳ１１０３）。
【０１１０】
＜ＣＰＵ＞
次に、ＣＰＵ８０４の動作について説明する。
ＣＰＵ８０４の動作は、図６のフローチャートに示すＣＰＵ１０４の動作と基本的には同様であるが、ステップＳ６０２において、アドレス制御部８０２から指定されたアドレス値が示すパケット領域の第１領域３１１からチェックサムを読み出し、また、ステップＳ６０４において、アドレス制御部８０２から指定されたアドレス値が示すパケット領域の第２領域３１２にヘッダ情報を格納する点が異なる。
【０１１１】
その他の動作はＣＰＵ１０４と同様であるため、説明は省略する。
＜タイミングチャート＞
次に、アドレス制御部８０２の動作のタイミングについて説明する。
図１２は、通信装置８００の各部の動作を示すタイミングチャートである。
なお、符号化部８０１、分割データ格納部８０３、ＣＰＵ８０４、ネットワーク部１０５の動作タイミングは、図７のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
【０１１２】
Ｔ１は、アドレス制御部８０２のＣＰＵが、符号化部８０１から処理の開始を指示する旨の通知を受領し、処理を開始するタイミングである。
Ｔ１〜Ｔ２において、アドレス制御部８０２のＣＰＵは、図１０のフローチャートに従って、１フレーム分のパケットデータ領域の確保と、各パケットデータ領域を示すアドレス値の指定を行う。
≪変形例１≫
＜概要＞
実施の形態２に係る通信装置８００は、アドレス制御部８０２が各パケットデータ領域を示す各アドレス値を分割データ格納部８０３及びＣＰＵ８０４に指定することによって、各パケットデータ領域が非連続に配置される場合でも処理できるようにしたものである。
【０１１３】
変形例１に係る通信装置は、各パケットデータ領域に、次に参照すべきパケットデータ領域のアドレス値を格納し、変形例１に係る分割データ格納部及びＣＰＵはこれを参照することによって、通信装置８００と同様に、各パケットデータ領域が非連続に配置される場合でも処理できるようにしたものである。
＜構成＞
以下、変形例１に係る通信装置１３００の構成について説明する。
【０１１４】
図１３は、変形例１に係る通信装置１３００の構成図である。
同図に示すとおり、通信装置１３００は、実施の形態１に係る通信装置１００と同様、自装置の外部にある外部メモリ１１０と接続し、また、ネットワーク１２０を介して端末１３０と接続している。
通信装置１３００は、同図に示すとおり、ＭＣＵ１０１、ネットワーク部１０５、内部バス１０６、符号化部８０１、アドレス制御部１３０１、オフセット制御部１３０２、分割データ格納部１３０３、ＣＰＵ１３０４から構成される。
【０１１５】
ＭＣＵ１０１、ネットワーク部１０５、内部バス１０６は、実施の形態１に係る通信装置１００と同様であり、符号化部８０１は、実施の形態２に係る通信装置８００と同様であるため、説明は省略する。
アドレス制御部１３０１は、基本的には、実施の形態２におけるアドレス制御部８０２と同様の回路であるが、確保した各パケットデータ領域を示す各アドレス値をオフセット制御部１３０２に指定する点で、アドレス制御部８０２と異なる。
【０１１６】
なお、アドレス制御部１３０１は、最初にアクセスすべきパケットデータ領域のアドレス値については、分割データ格納部１３０３とＣＰＵ１３０４とにも指定するものとする。
オフセット制御部１３０２は、内部にＣＰＵを含み、通信装置１３００の内部メモリ（図示しない）に格納された制御プログラムをＣＰＵに実行させることにより、アドレス制御部１３０１から指定される各アドレス値について、そのアドレス値が示すパケットデータ領域の後述する第２領域１４１２に、その次に指定されたアドレス値を格納する回路である。
【０１１７】
制御プログラムによる各第２領域１４１２へのアドレス値の格納については、実施の形態２のＣＰＵ８０４と同様に構造体を使用する方法により実現できるため、説明は省略する。
分割データ格納部１３０３は、基本的には、実施の形態１における分割データ格納部１０３と同様の回路であるが、各パケットデータ領域の後述する第２領域１４１２に格納されたアドレス値が示すパケットデータ領域の第１領域３１１にブロックデータとそのブロックデータのチェックサムとを格納する点で、分割データ格納部１０３とは異なる。
【０１１８】
以下、分割データ格納部１３０３について具体的に説明する。
分割データ格納部１３０３の構成は、図２に示す分割データ格納部１０３の構成と基本的には同様であるが、ＤＴＣのレジスタと制御部とについて相違するため、以下、説明する。
分割データ格納部１３０３のレジスタは、分割データ格納部１０３のＤＴＣ２０６のレジスタ２０４と同様に各アドレス値を保持する他、アドレス制御部８０２から指定された最初に参照すべきパケットデータ領域の先頭アドレス値又は分割データ格納部１３０３の制御部が後述する第２領域１４１２から読み出した次にアクセスすべきパケットデータ領域のアドレス値を保持する。
【０１１９】
分割データ格納部１３０３の制御部は、基本的には分割データ格納部１０３の制御部２０７と同様の回路であるが、分割データ格納部１３０３のＤＴＣの転送部２０５が１つのブロックデータとそのチェックサムの格納を完了すると、分割データ格納部１３０３の制御部は、後述する第２領域１４１２から次にアクセスすべきパケットデータ領域のアドレス値を分割データ格納部１３０３のレジスタに読み出し、そのアドレス値に、ＣＰＵ１３０４により分割データ格納部１３０３のレジスタに設定された第２領域３１２のサイズ分のアドレス値（２５６）を加えたアドレス値をカウンタ２０３の書き込み用アドレス値に設定する点で制御部２０７とは異なる。
【０１２０】
ＣＰＵ１３０４は、基本的には、実施の形態１におけるＣＰＵ１０４と同様の機能を有するが、各パケットデータ領域の後述する第２領域１４１２に格納されたアドレス値が示すパケットデータ領域の第１領域３１１からチェックサムを取得する点で、ＣＰＵ１０４とは異なる。
制御プログラムによる各第１領域３１１に格納されたチェックサムの読出しと各第２領域３１２へのヘッダ情報の格納とについては、基本的には実施の形態１におけるＣＰＵ１０４と同様の方法で実現できるが、本実施の形態では、後述する第２領域１４１２には、次にアクセスすべきパケットデータ領域のアドレス値が格納されるため、構造体の変数Ｓのメンバに次のパケットデータ領域のアドレス値を示す変数Ｎを加え、構造体の変数Ｓのアドレスを示すポインタ変数Ａに、変数Ｎの値を設定して、各パケットデータ領域にアクセスする必要がある。
＜データ＞
各パケットデータ領域の配置について説明する。
【０１２１】
図１４は、変形例１における外部メモリ１１０上のネットワークデータ領域３０２ａを示す図である。
同図に示すように、パケットデータ領域１４１０ａ、１４１０ｂ・・・は、ネットワークデータ領域３０２ａ上に非連続に配置される。同図中の灰色に塗りつぶされている領域は、他のデータ等が格納されていることを示している。
【０１２２】
パケットデータ領域１４１０ａ、１４１０ｂ・・・は、同様の領域であるため、以下では、パケットデータ領域１４１０ａについて説明する。
パケットデータ領域１４１０ａは、第１領域３１１と第２領域１４１２とに論理的に分割された領域である。第１領域３１１は、実施の形態１と同様の領域であるため、説明は省略する。
【０１２３】
第２領域１４１２は、実施の形態１における第２領域３１２と同様にヘッダ情報が格納されると共に、この第２領域１４１２を含むパケットデータ領域１４１０ａの次に参照すべきパケットデータ領域、即ちパケットデータ領域１４１０ｂを示すアドレス値が格納される領域である。
第２領域１４１２に、次に参照すべきパケットデータ領域を示すアドレス値が格納されることにより、各パケットデータ領域はいわゆる、線形リスト構造を有することとなる。
【０１２４】
第２領域１４１２は、次に参照すべきパケットデータ領域のアドレス値（以下では、４ｂｙｔｅであるとする）とヘッダ情報（５４ｂｙｔｅ）が格納可能であればそのサイズは問わないが、以下では、実施の形態１と同様に２５６ｂｙｔｅであるとして説明する。
また、本実施の形態では、ヘッダ情報は第２領域１４１２の先頭アドレス値から５ｂｙｔｅ目のアドレス値を先頭アドレス値として格納されるものとする。
＜動作＞
以下、上記構成を備え、上記データを取り扱う通信装置１３００の動作を説明する。
【０１２５】
＜アドレス制御部＞
まず、アドレス制御部１３０１の動作について、説明する。
アドレス制御部１３０１の動作は、図１０のフローチャートに示すアドレス制御部８０２の動作と基本的には同様であるが、図１０のステップＳ１００４において確保したパケットデータ領域を示すアドレス値の指定先がオフセット制御部１３０２である点が異なる。
【０１２６】
その他の動作はアドレス制御部８０２と同様であるため、説明は省略する。
＜オフセット制御部＞
次に、オフセット制御部１３０２の動作について、説明する。
図１５は、オフセット制御部１３０２の動作を示すフローチャートである。
オフセット制御部１３０２のＣＰＵは、制御プログラムを実行することにより、アドレス制御部１３０１からアドレス値の指定があったかを確認する（ステップＳ１５０１）。
【０１２７】
アドレス値の指定がない場合には（ステップＳ１５０１：Ｎ）、ステップＳ１５０１に戻る。
所定時間以内にアドレス値の指定がない場合には（ステップＳ１５０１：タイムアウト）、処理を終了する。
アドレス値の指定があった場合には（ステップＳ１５０１：Ｙ）、オフセット制御部１３０２のＣＰＵは制御プログラムを実行することにより、指定されたアドレス値を保持する。具体的には、例えば配列変数を用いて実現したキュー（Ｑｕｅｕｅ）に指定されたアドレス値を追加していく。この際、配列変数には、通信装置１３００の内部メモリ上の領域が割り当てられるものとする。
【０１２８】
オフセット制御部１３０２のＣＰＵは制御プログラムを実行することにより、保持するアドレス値が２つ以上であるかを確認する（ステップＳ１５０３）。
保持するアドレス値が２つ以上でない場合には（ステップＳ１５０３：Ｎ）、ステップＳ１５０１に戻る。
保持するアドレス値が２つ以上である場合には（ステップＳ１５０３：Ｙ）、先に指定されたものから順に２つのアドレス値、即ちキューの先頭から順に２つのアドレス値について、先に指定されたアドレス値が示すパケットデータ領域の第２領域１４１２に、次に指定されたアドレス値を格納する（ステップＳ１５０４）。
【０１２９】
保持していたアドレス値のうち、最も先に指定されたアドレス値の保持を解除、即ちキューの先頭のアドレス値を削除し（ステップＳ１５０５）、ステップＳ１５０３に戻る。
＜分割データ格納部＞
次に、分割データ格納部１３０３の動作について、説明する。
図１６は、分割データ格納部１３０３の動作を示すフローチャートである。
【０１３０】
なお、分割データ格納部１３０３のレジスタには、アドレス制御部８０２から指定された最初にアクセスすべきパケットデータ領域の先頭アドレス値が格納されており、分割データ格納部１３０３のカウンタ２０３の書き込み用アドレス値には、最初にアクセスすべき第１領域３１１のアドレス値が設定されているものとする。
ステップＳ１６０１〜ステップＳ１６０８の処理は、図５に示す実施の形態１に係る分割データ格納部１０３のステップＳ５０１〜ステップＳ５０８の処理と同様であるため、説明は省略する。
【０１３１】
分割データ格納部１３０３の制御部は、分割データ格納部１３０３のレジスタに設定されているアドレス値（パケットデータ領域の先頭アドレス値）を読み出し、読み出したアドレス値が示すパケットデータ領域の第２領域１４１２に格納されている次にアクセスすべきパケットデータ領域のアドレス値を読み出す（ステップＳ１６０９）。
分割データ格納部１３０３の制御部は、読み出した次にアクセスすべきパケットデータ領域のアドレス値を分割データ格納部１３０３のレジスタに設定する（ステップＳ１６１０）。
【０１３２】
分割データ格納部１３０３の制御部は、レジスタに格納された次に参照すべきパケットデータ領域の先頭アドレス値に、分割データ格納部１３０３のレジスタに設定されている第２領域１４１２のサイズ分のアドレス値を加えたアドレス値をカウンタ２０３の書き込み用アドレス値に設定し（ステップＳ１６１１）、ステップＳ１６０２に戻る。
＜ＣＰＵ＞
次に、ＣＰＵ１３０４の動作について説明する。
【０１３３】
図１７は、ＣＰＵ１３０４の動作を示すフローチャートである。
ステップＳ１７０１の処理は、図６に示す実施の形態１に係るＣＰＵ１０４のステップＳ６０１の処理と同様であるため、説明は省略する。
ＣＰＵ１３０４は制御プログラムを実行することにより、アドレス制御部１３０１から指定されたアドレス値が示すパケットデータ領域の第１領域３１１に格納されたチェックサムを読み出す（ステップＳ１７０２）。
【０１３４】
ステップＳ１７０３〜ステップＳ１７０４の処理は、図６に示す実施の形態１に係るＣＰＵ１０４のステップＳ６０３〜ステップＳ６０４の処理と同様であるため、説明は省略する。
ＣＰＵ１３０４は制御プログラムを実行することにより、アドレス制御部１３０１から指定されたアドレス値が示すパケットデータ領域の第２領域１４１２に格納された次にアクセスすべきパケットデータ領域を示すアドレス値を読み出す（ステップＳ１７０５）。
【０１３５】
ステップＳ１７０６の処理は、図６に示す実施の形態１に係るＣＰＵ１０４のステップＳ６０５の処理と同様であるため、説明は省略する。
以上により、ＣＰＵ１３０４は１つのヘッダ情報の格納とパケットデータの送出指示の処理を行うことができる。以降は、ステップＳ１７０２において、ステップＳ１７０５で読み出したアドレス値が示すパケットデータ領域の第１領域３１１に格納されたチェックサムを読み出すことによって、順次各パケットデータ領域について、第２領域１４１２にヘッダ情報を格納できる。
【０１３６】
＜タイミングチャート＞
次に、オフセット制御部１３０２の動作のタイミングについて説明する。
図１８は、通信装置１３００の各部の動作を示すタイミングチャートである。
なお、符号化部８０１、アドレス制御部１３０１、分割データ格納部１３０３、ＣＰＵ１３０４、ネットワーク部１０５の動作タイミングは、図１２のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
【０１３７】
Ｔ１は、オフセット制御部１３０２のＣＰＵが、アドレス制御部１３０１から受領して保持するアドレス値の数が２つ以上になり、処理を開始するタイミングである。
Ｔ１〜Ｔ２において、オフセット制御部１３０２のＣＰＵは、図１５のフローチャートに従って処理を行い、保持するアドレス値の数が２つ以上になる毎に、最も先に指定されたアドレス値が示すパケットデータ領域の第２領域１４１２に、その次に指定されたアドレス値を格納する処理を行う。
≪変形例２≫
＜概要＞
実施の形態２に係る通信装置８００は、アドレス制御部８０２が各パケットデータ領域を示す物理アドレス値を、分割データ格納部８０３及びＣＰＵ８０４に指定することによって、各パケットデータ領域が非連続に配置される場合でも処理できるようにしたものである。
【０１３８】
変形例２に係る通信装置は、各パケットデータ領域の物理アドレス値と対応付けて論理アドレス値を管理することにより、変形例２に係る分割データ格納部及びＣＰＵは、実際の各パケットデータ領域の配置を意識することなく、論理アドレス値を指定して各パケットデータ領域にアクセスすることができるようにしたものである。
＜構成＞
以下、変形例２に係る通信装置１９００の構成について説明する。
【０１３９】
図１９は、変形例２に係る通信装置１９００の構成図である。
通信装置１９００は、同図に示すとおり、ＭＣＵ１０１、符号化部１０２、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５、内部バス１０６、ＭＭＵ（Memory Management Unit）１９０１から構成される。
ＭＭＵ１９０１以外については、実施の形態１に係る通信装置１００と同様であるため、説明は省略する。
【０１４０】
ＭＭＵ１９０１は、一般的なＭＭＵと同様の回路であり、外部メモリ１１０上の実際の物理アドレス値と論理アドレス値との対応を示すアドレス変換テーブルを内部のキャッシュメモリに記憶し、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５から論理アドレス値を指定した外部メモリ１１０へのアクセスがされると、指定された論理アドレス値を対応する物理アドレス値に変換する。
【０１４１】
なお、アドレス変換テーブルの作成は、一般的なＯＳ（Operating System）がページテーブルを作成するのと同様の方法により、ＣＰＵ１０４が制御プログラムを実行することにより行うものとする。
＜データ＞
以下、ＭＭＵ１９０１が記憶するアドレス変換テーブルについて説明する。
【０１４２】
以下では、図９に示すように、ネットワークデータ領域３０２ａ上にパケットデータ領域９１０ａ、９１０ｂ・・・が物理的に非連続に配置されているものとして説明する。
なお、実施の形態１と同様に、外部メモリ１１０の１アドレス分のサイズは１ｂｙｔｅであり、第１領域３１１は２Ｋｂｙｔｅ、第２領域３１２は２５６ｂｙｔｅの領域であるとする。
【０１４３】
図２０は、アドレス変換テーブルのデータ構成と内容例を示す図である。
同図に示すように、アドレス変換テーブル２０００は、外部メモリ１１０上の１アドレス分の領域毎に、論理アドレス値２００１と物理アドレス値２００２とを対応付けて構成されている。
ここで、論理アドレス値２００１は、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５が外部メモリ１１０にアクセスする際に使用するアドレス値（数字）であり、１から連番となるように割り振られている。
【０１４４】
物理アドレス値２００２は、外部メモリ１１０上の各領域を示す実際の物理上のアドレス値（数字）である。
同図は、図９におけるパケットデータ領域９１０ａの第２領域３１２に対応する論理アドレス値２００１は「１〜２５６」であり、物理アドレス値２００２は「１０００１〜１０２５６」であることを示している。
【０１４５】
また、パケットデータ領域９１０ａの第１領域３１１に対応する論理アドレス値２００１は「２５７〜２３０４」であり、物理アドレス値２００２は、「１０２５７〜１２３０４」であることを示している。
また、パケットデータ領域９１０ｂの第２領域３１２に対応する論理アドレス値２００１は、「２３０５〜２５６０」であり、物理アドレス値２００２は、「１６００１〜１６２５６」であることを示している。
【０１４６】
上述のように、パケットデータ領域９１０ａとパケットデータ領域９１０ｂとは物理的に非連続に配置されているため、パケットデータ領域９１０ａの第２領域３１２の最後の領域と対応する物理アドレス値２００２は「１２３０４」であり、パケットデータ領域９１０ｂの第２領域３１２の最初の領域と対応する物理アドレス値２００２は「１６００１」であり、非連続のアドレス値となっている。
【０１４７】
一方、論理アドレス値２００１は、全領域を通じて「１〜２５６０」まで連続して割り振られている。
従って、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５は、実際には物理的に非連続な領域にアクセスしているにもかかわらず、論理アドレス値２００１を指定することによって、あたかも物理的に連続する領域であるかのようにアクセスすることができる。
＜動作＞
以下、ＭＭＵ１９０１の動作について、説明する。
【０１４８】
図２１は、ＭＭＵ１９０１の動作を示すフローチャートである。
ＭＭＵ１９０１は、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５から論理アドレス値を指定した外部メモリ１１０へのアクセスがあるかを確認する（ステップＳ２１０１）。
外部メモリ１１０へのアクセスがない場合には（ステップＳ２１０１：Ｎ）、ステップＳ２１０１へ戻る。
【０１４９】
所定時間以内に外部メモリ１１０へのアクセスがない場合には（ステップＳ２１０１：タイムアウト）、処理を終了する。
外部メモリ１１０へのアクセスがあった場合には（ステップＳ２１０１：Ｙ）、ＭＭＵ１９０１は指定された論理アドレス値を物理アドレス値に変換して送出し（ステップＳ２１０２）、ステップＳ２１０１へ戻る。
【０１５０】
なお、通信装置１９００の各部の動作タイミングは、図７のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
≪変形例３≫
＜概要＞
実施の形態１に係る通信装置１００において、分割データ格納部１０３は、符号化部１０２による外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂへの符号化データの格納が完了するのを待って、処理を開始するものであった。
【０１５１】
変形例３に係る通信装置は、符号化部１０２により符号化データ領域３０１ａ、又は３０１ｂに格納されていく符号化データのサイズを監視し、ブロックデータのサイズ（１４７２ｂｙｔｅ）に達する毎に、変形例３に係る分割データ格納部に処理させるものである。
これにより、変形例３に係る分割データ格納部は、符号化部１０２による符号化データ領域３０１ａ、３０１ｂへの符号化データの格納完了を待たずに処理を開始することができ、無駄な待ち時間を削減することにより、更に高速な動画像データの送出処理が可能になる。
＜構成＞
以下、変形例３に係る通信装置２２００の構成について説明する。
【０１５２】
図２２は、変形例３に係る通信装置２２００の構成図である。
通信装置２２００は、同図に示すとおり、ＭＣＵ１０１、符号化部１０２、ＣＰＵ１０４、ネットワーク部１０５、内部バス１０６、レングス監視部２２０１、分割データ格納部２２０２から構成される。
ＭＣＵ１０１、符号化部１０２、ＣＰＵ１０４、ネットワーク部１０５、内部バス１０６については、実施の形態１に係る通信装置１００と同様であるため、説明は省略する。
【０１５３】
なお、本実施の形態では、符号化部１０２は、外部メモリ１１０への符号化データの格納が完了しても、格納が完了した旨の通知を分割データ格納部２２０２に送出しないものとする。
レングス監視部２２０１は、内部にカウンタを有し、符号化部１０２により外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂに格納されていく符号化データのサイズをカウントし、カウンタがブロックデータのサイズ（１４７２ｂｙｔｅ）に相当する値になる毎に分割データ格納部２２０２に通知を行う回路である。
【０１５４】
符号化部１０２が外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂに符号化データを格納する際、実際には、符号化部１０２と外部メモリ１１０との間のバス幅に応じた所定サイズ毎に送出していく。以下では、この所定サイズは、４ｂｙｔｅであるとして説明する。
レングス監視部２２０１は、初期値としてゼロに設定されたカウンタの値を符号化部１０２が４ｂｙｔｅ送出する毎に４つずつ増加させ、カウンタの値がブロックデータのサイズに相当する値（１４７２）になると、分割データ格納部２２０２にブロックデータサイズ分の符号化データの格納が完了した旨の通知を送出し、カウンタをゼロにリセットする。
【０１５５】
分割データ格納部２２０２は、基本的には、実施の形態１の分割データ格納部１０３と同様の回路であるが、符号化部１０２からの符号化データの格納が完了した旨の通知に代えて、レングス監視部２２０１からブロックデータサイズ分の符号化データの格納が完了した旨の通知を受領すると、外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂに格納されたブロックデータサイズ分の符号化データの読み出しを開始する点で、実施の形態１の分割データ格納部１０３と異なる。
【０１５６】
なお、分割データ格納部２２０２の構成は、図２に示す分割データ格納部１０３の構成と同様であるため説明は省略する。
＜データ＞
通信装置２２００で使用するデータについては、実施の形態１に係る通信装置１００と同様であるため、説明は省略する。
＜動作＞
以下、上記構成を備え、上記データを取り扱う通信装置２２００の動作を説明する。
【０１５７】
＜レングス監視部＞
まず、レングス監視部２２０１の動作について説明する。
図２３は、レングス監視部２２０１の動作を示すフローチャートである。
レングス監視部２２０１は、内部のカウンタをゼロにリセットする（ステップＳ２３０１）。
【０１５８】
レングス監視部２２０１は、符号化部１０２から所定サイズ（４ｂｙｔｅ）分の符号化データが送出されたかを確認する（ステップＳ２３０２）。
所定サイズ分の符号化データが送出されない場合には（ステップＳ２３０２：Ｎ）、ステップＳ２３０２に戻る。
所定時間以内に所定サイズ分の符号化データが送出されない場合には（ステップＳ２３０２：タイムアウト）、処理を終了する。
【０１５９】
所定サイズ分の符号化データが送出された場合には（ステップＳ２３０２：Ｙ）、レングス監視部２２０１は、カウンタを４つ増加させる（ステップＳ２３０３）。
レングス監視部２２０１は、カウンタの値がブロックデータのサイズに相当する値（１４７２）かを確認する（ステップＳ２３０４）。
カウンタの値がブロックデータのサイズに相当する値でない場合には（ステップＳ２３０４：Ｎ）、ステップＳ２３０２に戻る。
【０１６０】
カウンタの値がブロックデータのサイズに相当する値である場合（ステップＳ２３０４：Ｙ）には、レングス監視部２２０１は、分割データ格納部２２０２にブロックデータサイズ分の符号化データの格納が完了した旨の通知を送出し（ステップＳ２３０５）、ステップＳ２３０１に戻る。
＜分割データ格納部＞
次に、分割データ格納部２２０２の動作について、説明する。
【０１６１】
図２４は、分割データ格納部２２０２の動作を示すフローチャートである。
分割データ格納部２２０２の転送部２０５は、分割データ格納部１０３の制御部２０７を介してレングス監視部２２０１からブロックサイズ分の符号化データの格納が完了した旨の通知があったか確認する（ステップＳ２４０１）。
ブロックサイズ分の符号化データの格納が完了した旨の通知がない場合には（ステップＳ２４０１：Ｎ）、ステップＳ２４０１に戻る。
【０１６２】
所定時間以内に、ブロックサイズ分の符号化データの格納が完了した旨の通知がない場合には（ステップＳ２４０１：タイムアウト）、処理を終了する。
ブロックサイズ分の符号化データの格納が完了した旨の通知があった場合には（ステップＳ２４０１：Ｙ）、ステップＳ２４０２に進む。
ステップＳ２４０２〜ステップＳ２４０８の処理は、図５に示す実施の形態１に係る分割データ格納部１０３の処理におけるステップＳ５０３〜ステップＳ５０９と同様であるため、説明は省略する。
【０１６３】
＜タイミングチャート＞
次に、分割データ格納部２２０２の動作のタイミングについて説明する。
図２５は、通信装置２２００の各部の動作を示すタイミングチャートである。
以下では、符号化部１０２は、１フレーム分の符号化データを符号化データ領域３０１ａに格納するものとして説明する。
【０１６４】
なお、符号化部１０２、ＣＰＵ８０４、ネットワーク部１０５の動作タイミングは、図７のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
Ｔ１は、レングス監視部２２０１のカウンタの値がブロックデータのサイズに相当する値（１４７２）となり、分割データ格納部２２０２がレングス監視部２２０１からブロックデータサイズ分の符号化データの格納が完了した旨の通知を受領し、処理を開始するタイミングである。
【０１６５】
Ｔ１〜Ｔ２において、分割データ格納部２２０２は、図２４のフローチャートに従って処理を行い、１つのブロックデータとそのチェックサムとの格納を行う。以降、同様の処理を繰り返すことにより、１フレーム分の符号化データについて処理することができる。
≪変形例４≫
＜概要＞
変形例４に係る通信装置は、符号化部１０２により外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂに格納されていく符号化データのビットパターンを監視し、所定のビットパターンを検出する毎に変形例４に係る分割データ格納部に処理させるものである。
【０１６６】
例えば、ＭＰＥＧ−４ ｆｏｒ ＲＴＰ通信では、ＭＰＥＧ４の符号化データを再同期マーカごとに送信するガイドラインが策定されている。所定のビットパターンとして再同期マーカを設定することにより、ガイドラインに従ったＭＰＥＧ４の符号化データの送出が可能となる。
また、変形例４に係る通信装置は、所定のビットパターンを検出すると、所定のビットパターン以降の符号化データを外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂにおける所定のバイト数境界、例えば、４バイト境界を先頭とした領域に格納していく。これにより、符号化データのバイトアライメントの保証が可能となる。
＜構成＞
図２６は、変形例４に係る通信装置２６００の構成図である。
【０１６７】
通信装置２６００は、同図に示すとおり、ＭＣＵ１０１、符号化部１０２、ＣＰＵ１０４、ネットワーク部１０５、内部バス１０６、パターン監視部２６０１、分割データ格納部２６０２から構成される。
ＭＣＵ１０１、符号化部１０２、ＣＰＵ１０４、ネットワーク部１０５、内部バス１０６については、実施の形態１に係る通信装置１００と同様であるため、説明は省略する。
【０１６８】
なお、本実施の形態では、符号化部１０２は、外部メモリ１１０への符号化データの格納が完了しても、格納が完了した旨の通知を分割データ格納部２６０２に送出しないものとする。
パターン監視部２６０１は、符号化部１０２により外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂに格納されていく符号化データのビットパターンを監視し、通信装置２６００のユーザ等により、予め設定された所定のビットパターン、例えばＭＰＥＧ４の再同期マーカのビットパターンを検出すると、分割データ格納部２６０２に通知を行う回路である。
【０１６９】
詳細には、パターン監視部２６０１は、内部にＦＩＦＯバッファとメモリと比較回路とを有し、メモリには検出する対象である所定ビットパターンのデータが記憶されている。
パターン監視部２６０１は、符号化部１０２により送出された所定サイズ（４ｂｙｔｅ）毎の符号化データをＦＩＦＯバッファに格納していき、ＦＩＦＯバッファに格納された符号化データとメモリに記憶された所定ビットパターンのデータとの比較を順次行う。
【０１７０】
比較の結果、所定のビットパターンを検出した場合には、分割データ格納部２６０２に所定のビットパターンを検出した旨の通知を送出する。
また、パターン監視部２６０１は、比較が済んだ所定サイズ（４ｂｙｔｅ）毎の符号化データをＦＩＦＯバッファから順次送出し、外部メモリ１１０の符号化データ格納部３０１ａ、又は３０１ｂの連続領域に格納し、分割データ格納部２６０２に所定サイズ（４ｂｙｔｅ）の符号化データを格納した旨の通知を送出する。
【０１７１】
ただし、パターン監視部２６０１は、所定のビットパターンを検出した場合には、外部メモリ１１０の符号化データ格納部３０１ａ、又は３０１ｂの連続領域に格納するのではなく、所定のビットパターン以降の符号化データを所定のバイト数境界、例えば、４バイト境界を先頭とした領域に格納していく。
この際、所定のビットパターンの前までの符号化データと所定のビットパターン以降の符号化データとの間の空き領域には、所定のパディングデータとして、例えば、スタッフビット（最初のビットが０で以降のビットが１）を挿入する。
【０１７２】
分割データ格納部２６０２は、基本的には、変形例３の分割データ格納部２２０２と同様の回路であるが、パターン監視部２６０１から所定サイズ（４ｂｙｔｅ）の符号化データを格納した旨の通知を受領する毎に、外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂに格納された所定サイズ（４ｂｙｔｅ）の符号化データを読み出す点で分割データ格納部２２０２と異なる。
【０１７３】
また、パターン監視部２６０１から所定のビットパターンを検出した旨の通知を受領する毎に、外部メモリ１１０の第１領域３１１にチェックサムを格納する点で分割データ格納部２２０２と異なる。
以下、分割データ格納部２６０２について具体的に説明する。
分割データ格納部２６０２の構成は、図２に示す分割データ格納部１０３の構成と基本的には同様であるが、ＤＴＣの転送部、及び制御部について相違するため、以下、説明する。
【０１７４】
分割データ格納部２６０２の転送部は、分割データ格納部２６０２の制御部を介してパターン監視部２６０１から所定サイズ（４ｂｙｔｅ）の符号化データを格納した旨の通知を受領すると、外部メモリ１１０の符号化データ領域３０１ａ、又は３０１ｂから所定サイズ（４ｂｙｔｅ）の符号化データを分割データ格納部２６０２のバッファ２０１に読み出す点で、分割データ格納部２２０２の転送部２０５と異なる。
【０１７５】
また、分割データ格納部２６０２の転送部は、分割データ格納部２６０２の制御部を介してパターン監視部２６０１から所定のビットパターンを検出した旨の通知を受領すると、チェックサム演算部２０２からチェックサムを読み出し、カウンタ２０３に設定された書き込み用アドレス値が示す外部メモリ１１０の第１領域３１１にチェックサムを格納する点で、分割データ格納部２２０２の転送部２０５と異なる。
【０１７６】
分割データ格納部２６０２の制御部は、基本的には分割データ格納部２２０２の制御部２０７と同様の回路であるが、パターン監視部２６０１から所定サイズ（４ｂｙｔｅ）の符号化データを格納した旨の通知、又はパターン監視部２６０１から所定のビットパターンを検出した旨の通知を受領すると、その通知を、分割データ格納部２６０２の転送部に転送する。
＜データ＞
通信装置２６００で使用するデータについては、実施の形態１に係る通信装置１００と同様であるため、説明は省略する。
＜動作＞
以下、上記構成を備え、上記データを取り扱う通信装置２６００の動作を説明する。
【０１７７】
＜分割データ格納部＞
まず、分割データ格納部２６０２の動作について説明する。
図２７は、分割データ格納部２６０２の動作を示すフローチャートである。
なお、以下では、所定のビットパターンのデータは、ブロックデータのサイズ（１４７２ｂｙｔｅ）よりも短い間隔で検出されるものとして説明する。
【０１７８】
分割データ格納部２６０２の転送部は、分割データ格納部２６０２の制御部を介してパターン監視部２６０１から所定サイズ（４ｂｙｔｅ）の符号化データを格納した旨の通知を受領したかを確認する（ステップＳ２７０１）。
所定サイズの符号化データを格納した旨の通知を受領していない場合には（ステップＳ２７０１：Ｎ）、ステップＳ２７０１へ戻る。
【０１７９】
所定時間以内に、符号化データの格納が完了した旨の通知がない場合には（ステップＳ２７０１：タイムアウト）、処理を終了する。
所定サイズの符号化データを格納した旨の通知を受領した場合には（ステップＳ２７０１：Ｙ）、ステップＳ２７０２に進む。
ステップＳ２７０２〜Ｓ２７０４の処理は、図２４に示す変形例３に係る分割データ格納部２２０２のステップＳ２４０３〜ステップＳ２４０５の処理と同様であるため、説明は省略する。
【０１８０】
分割データ格納部２６０２の転送部は、分割データ格納部２６０２の制御部を介してパターン監視部２６０１から所定のビットパターンを検出した旨の通知を受領したかを確認する（ステップＳ２７０５）。
所定のビットパターンを検出した旨の通知を受領していない場合には（ステップＳ２７０５：Ｎ）、ステップＳ２７０１へ戻る。
【０１８１】
所定のビットパターンを検出した旨の通知を受領した場合には（ステップＳ２７０５：Ｙ）、ステップＳ２７０６へ進む。
ステップ２７０６〜Ｓ２７０８の処理は、図２４に示す変形例３に係る分割データ格納部２２０２のステップＳ２４０６〜ステップＳ２４０８の処理と同様であるため、説明は省略する。
【０１８２】
＜タイミングチャート＞
次に、分割データ格納部２６０２の動作のタイミングについて説明する。
図２８は、通信装置２６００の各部の動作を示すタイミングチャートである。
なお、符号化部１０２、ＣＰＵ１０４、ネットワーク部１０５の動作タイミングは、図７のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
【０１８３】
Ｔ１は、分割データ格納部２６０２が、パターン監視部２６０１から所定サイズ（４ｂｙｔｅ）の符号化データを格納した旨の通知を受領し、処理を開始するタイミングである。
Ｔ１〜Ｔ２において、分割データ格納部２６０２は、図２７のフローチャートに従って処理を行い、所定サイズ（４ｂｙｔｅ）の符号化データを格納した旨の通知を受領する毎に、所定サイズ（４ｂｙｔｅ）の符号化データを外部メモリ１１０の符号化データ領域３０１ａからバッファ２０１に読み出し、チェックサムを算出し、所定サイズ（４ｂｙｔｅ）の符号化データを外部メモリ１１０の第１領域３１１に格納していく。
【０１８４】
Ｔ２は、パターン監視部２６０１が所定のビットパターンを検出し、分割データ格納部２６０２がパターン監視部２６０１から所定のビットパターンを検出した旨の通知を受領し、チェックサムを外部メモリ１１０の第１領域３１１に格納したタイミングである。
変形例４では、所定のビットパターンを検出する毎に異なるパケット領域の第１領域３１１に符号化データを格納していくこととなり、最終的にはネットワーク部１０５は、異なるパケットデータとして送出することができる。
【０１８５】
以降、Ｔ１〜Ｔ２の処理を繰り返すことにより、１フレーム分の符号化データについて処理することができる。
＜補足＞
以上、本発明に係る通信装置について、実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態に示したとおりの通信装置に限られないことは勿論である。
【０１８６】
（１）実施の形態１の符号化部１０２は、通信装置１００の外部から入力される動画像データをフレーム毎に圧縮符号化して符号化データを生成する回路であるが、指定されたサイズの符号化データを生成できるようにしてもよい。具体的には、符号化データのサイズを指定する回路である符号化設定部を設け、この符号化設定部から符号化部１０２に符号化データのサイズを指定するようにし、符号化部１０２は符号化設定部から指定されたサイズの符号化データを生成する。
【０１８７】
符号化設定部への符号化データのサイズの指定は、通信装置のユーザが行ってもよく、また、符号化設定部がネットワーク１２０における通信速度を検出し、これに基づいて設定するものとしてもよい。
（２）実施の形態１のネットワーク部１０５は、ネットワーク１２０が有線ネットワークである場合だけでなく、無線ネットワークである場合にも、パケットデータを送出できることとしてもよい。
【０１８８】
（３）実施の形態１の各パケットデータ領域について、第２領域３１２の後に第１領域３１１を配置する構成としているが、第１領域３１１と第２領域３１２とが連続して配置されていればよく、第１領域３１１の後に第２領域３１２を配置する構成としてもよい。
（４）実施の形態１では、ＵＤＰを用いて動画像データを送信する場合を例に示したが、ＴＣＰ（Transmission Control Protocol）を用いて動画像データを送信することも可能であり、その場合には、第１領域３１１に格納されたチェックサムは、ＴＣＰ ｈｅａｄｅｒにおけるチェックサムとして使用される。
【０１８９】
ＴＣＰによりパケットデータを送出する場合、パケットデータの送出先である端末１３０から、パケットデータ送出後所定時間（例えば、３０ｓ）以内に、パケットデータを受領した旨の応答（ＡＣＫパケット）を通信装置１００が受領しないと、通信装置１００のＣＰＵ１０４は、送出したパケットデータが端末１３０に受領されなかったものと判断し、そのパケットデータを再送することになる。
【０１９０】
パケットデータの再送を可能とするため、通信装置１００のＣＰＵ１０４は、再送対象となりうるパケットデータを構成するブロックデータを外部メモリ１１０のネットワークデータ領域３０２ａ又は３０２ｂから他のメモリ領域（以下、「再送用領域」という）に退避させ、パケットデータの再送は再送用領域に格納されたブロックデータを用いて行う。
【０１９１】
これにより、パケットデータの再送が必要な場合でも、以降の処理において分割データ格納部１０３及びＣＰＵ１０４は、再送対象のパケットデータを構成するデータが格納されたパケットデータ領域を飛ばしてデータを格納する必要がなく、高速なパケットデータの送出処理を維持できる。
なお、上記では、ＴＣＰを用いて動画像データを送信した場合を例にパケットデータの再送のための処理について説明したが、パケットデータの再送を前提とした、ＴＣＰ以外のプロトコルを用いて送信する場合や、アプリケーションによりパケットデータの再送を実現する場合も同様である。
【０１９２】
また、上記では、ＣＰＵ１０４がパケットデータの再送のための処理を行うものとして説明したが、専用のハードウェアにより処理することとしてもよい。
（５）実施の形態１では、ＤＴＣ２０６の転送部２０５は、逐次、カウンタ２０３に設定された読み出し用アドレス値が示す符号化データ領域から符号化データを読み出し、読み出した符号化データをカウンタ２０３に設定された書き込み用アドレス値が示すネットワークデータ領域に格納するものとして説明したが、１回のアドレス値の指定で複数のデータをまとめて連続的に転送するいわゆるバースト転送が可能なものとしてもよい。
【０１９３】
（６）実施の形態２のアドレス制御部８０２は、各パケットデータ領域の先頭アドレス値を指定することとしたが、分割データ格納部８０３には各パケットデータ領域の第１領域３１１を示すアドレス値を指定することとしてもよい。
これにより、分割データ格納部８０３は指定された各パケットデータ領域の先頭アドレス値から第１領域３１１を示すアドレス値を算出する必要がなくなり、更に高速に処理することができる。
【０１９４】
（７）実施の形態２のアドレス制御部８０２は内部にＣＰＵを有するとして説明したが、ＣＰＵ８０４により、アドレス制御部８０２の機能を実現することとしてもよい。
（８）変形例１の各パケットデータ領域の第２領域１４１２においては、アドレス値の後にヘッダ情報を配置するものとして説明したが、この逆であってもよい。
（９）変形例１のオフセット制御部２２０１は内部にＣＰＵを有するとして説明したが、ＣＰＵ１０４により、オフセット制御部２２０１の機能を実現することとしてもよい。
【０１９５】
（１０）変形例４におけるパターン監視部２６０１は、１つのビットパターンを検出するとして説明したが、複数のビットパターンを検出できるようにしてもよい。
（１１）変形例４においては、所定のビットパターンのデータは、ブロックデータのサイズ（１４７２ｂｙｔｅ）よりも短い間隔で検出されるものとして説明したが、ブロックデータのサイズを超える間隔で検出される場合には、分割データ格納部２６０２は、外部メモリ１１０の第１領域３１１へブロックデータの格納を完了する毎に、チェックサムを格納するようにしてもよい。
【０１９６】
（１２）実施の形態１においては、ＣＰＵ１０４にプログラムを実行させることによりヘッダ情報４００を生成することとしたが、ヘッダ情報４００を生成する専用のハードウェア（以下、「ヘッダ付与回路」という）を設け、このハードウェアによりヘッダ情報を生成させるようにしてもよい。専用のハードウェアであるヘッダ付与回路にヘッダ情報４００の生成を行わせることにより、ＣＰＵ１０４の負荷を軽減できる。
【０１９７】
また、ヘッダ付与回路が生成するヘッダ情報４００に含まれる各ヘッダ（ＵＤＰ ｈｅａｄｅｒ４２２等）は、レイヤー単位で任意に選択可能にしてもよい。これにより、通信装置１００が使用するプロトコルに応じたヘッダ情報を生成できる。
そのために、例えば通信装置１００内部のメモリに各プロトコルに対応したヘッダを記憶しておき、ヘッダ付与回路は、レイヤー毎にこの各プロトコルに対応したヘッダを選択し組み合わせることにより、最終的にパケットデータとして送出する際のヘッダ情報を生成する。
【０１９８】
例えば、ＴＣＰによりパケットデータを送出する場合には、ＭＡＣｈｅａｄｅｒとＩＰｈｅａｄｅｒとＴＣＰｈｅａｄｅｒとを選択し組み合わせてヘッダ情報を生成する。
なお、通信装置１００が使用するプロトコルについては、通信装置１００のユーザ等が予め設定しておく場合のほか、例えばＣＰＵ１０４の負荷状況に応じて、使用するプロトコルを自動的に変更するような場合も考えられる。このような場合、ヘッダ付与回路はＣＰＵ１０４からプロトコルの変更を示す変更信号を受信し、その変更信号に従って生成するヘッダ情報の内容を変更する。
【０１９９】
（１３）実施の形態１におけるヘッダ情報４００にはチェックサムが含まれるため、分割データ格納部１０３によりチェックサムが生成された後でなければヘッダ情報４００全体を生成することはできない。そこで、ヘッダ情報４００のうち、チェックサムを用いることなく予め生成することができる部分（以下、「部分ヘッダ情報」という）については、上記ヘッダ付与回路が生成するようにし、チェックサムを用いて生成する部分については、ＣＰＵ１０４が生成するようにしてもよい。
【０２００】
即ち、例えばＭＡＣ ｈｅａｄｅｒには、「タイプ」、「送信元ＭＡＣアドレス」、「あて先ＭＡＣアドレス」などが含まれるが、これらの内容は、チェックサムの内容によらず事前に作成できるため、これを部分ヘッダ情報としてヘッダ付与回路が生成する。
これにより、ＣＰＵ１０４はチェックサムを含むヘッダ情報４００の一部のみを生成することとなるため、ＣＰＵ１０４の負荷を軽減できる。また、ＣＰＵ１０４によるヘッダ情報４００の生成時間が短縮されることによって、さらに高速なパケットデータの送出が可能となる。
【０２０１】
また、上記部分ヘッダ情報については、チェックサム等を含まず、事前に生成しておくことができるため、分割データ格納部１０３が生成するチェックサムは、この部分ヘッダ情報とブロックデータとの内容を反映したものとしてもよく、更に、部分ヘッダ情報のみに基づいてチェックサムを生成してもよい。即ち、チェックサムを生成する際のデータを選択することができるようにしてもよい。
【０２０２】
（１４）実施の形態１においては、分割データ格納部１０３、ＣＰＵ１０４、ネットワーク部１０５からなるチップと、符号化部１０２からなるチップとで分けて構成してもよいし、１チップで構成してもよい。
（１５）実施の形態１において、パケットデータ４００のフレーム構造は、ＩＥＥＥ  ８０２．３規格に準拠しているものとして説明したが、これに限られるものではなく、例えば無線ＬＡＮにおいてはＩＥＥＥ８０２．１１ａ／ｂ／ｇであってもよい。
【０２０３】
（１６）実施の形態１において、一例として外部メモリのバス幅は４ｂｙｔｅであるとして説明したが、これに限られないのはもちろんである。また、分割データ格納部１０３のチェックサム演算部２０２の処理単位とバス幅との関係に別段の制限はない。
即ち、チェックサム演算部２０２は、２ｂｙｔｅの符号化データを数値とみなした場合の全数値の合計値であるチェックサムを算出するとして説明し、またバス幅が４ｂｙｔｅであるとして説明したが、バス幅がチェックサム演算部２０２の処理単位との２倍でなければならないといった制限はない。
【０２０４】
（１７）実施の形態１において、外部メモリ１１０の格納領域は、符号化データ領域とネットワークデータ領域とをそれぞれ２つずつ有するものとして説明したが、これに限定されるものではなく、それぞれ１つのみであるとしてもよい。
また、外部メモリ１１０の格納領域は、符号化データ領域３０１ａ、ネットワークデータ領域３０２ａ、符号化データ領域３０１ｂとネットワークデータ領域３０２ｂの順で配置されているとして説明したが、符号化データ領域３０１ａ、３０１ｂ、ネットワークデータ領域３０２ａ、３０２ｂの順で配置されているとしてもよい。
【０２０５】
これにより、符号化部１０２は、アドレス値が連続した領域に各符号化データを格納することができる。
（１８）変形例４では、通信装置２６００のパターン監視部２６０１は、パディングによりバイトアライメントを補正するものとして説明したが、パディングによらずデータコピーによりバイトアライメントを補正することとしてもよい。即ち、パターン監視部２６０１は、ＦＩＦＯバッファに格納された符号化データを順次、外部メモリ１１０の符号化データ格納部３０１ａ、又は３０１ｂの連続領域に格納していき、所定のビットパターンを検出した際に、その前に所定のビットパターンを検出した以降に格納したデータが所定のアライメント境界を先頭とした領域に格納されていない場合には、そのデータを所定のアライメント境界を先頭とした領域にコピーする。
【０２０６】
（１９）各実施の形態において、分割データ格納部、ＣＰＵ、アドレス制御部、オフセット制御部、レングス制御部の各動作は、一例としてタイムアウトにより終了する旨を説明したが、これに限られるものではなく、各実施の形態における通信装置の電源ＯＦＦ、エラーの発生、ユーザによる所定の操作によって終了することとしてもよい。
（２０）各実施の形態の通信装置は、特定データとして動画像データを圧縮符号化した符号化データを送出する例で説明したが、送出するデータはこれに限られないのはもちろんである。
【０２０７】
（２１）各実施の形態の通信装置は、一例として外部から受領した動画像データについて、ネットワーク１２０を介して端末１３０に送出するものとして説明したが、これに限られるものではない。例えば、本発明に係る通信装置の適用例として、図２９に示すように、デジタルカメラ２９００への適用が考えられる。
同図に示すように、デジタルカメラ２９００には、ＳＤカード２９０１が装着されており、デジタルカメラ２９００は、クレイドル２９０２を介して有線又は無線のネットワーク２９１０に接続する。
【０２０８】
デジタルカメラ２９００は、一般的なデジタルカメラとしての機能の他、本発明における通信装置の機能を有するものであり、撮影した画像データをＳＤカード２９０１に格納し、ＳＤカード２９０１に格納された画像データを、順次、プリンタ２９２０や端末２９３０に送出する。
デジタルカメラ２９００は、本発明に係る機能によりＳＤカード２９０１に格納された画像データを送出するため、高速な送出処理を実現できる。
【０２０９】
なお、上記説明では、デジタルカメラ２９００にはＳＤカード２９０１が装着されているものとして説明したが、メモリスティック等の他の記憶媒体であってもよい。また、デジタルカメラ２９００は、クレイドル２９０２を介して、ネットワーク２９１０に接続するものとして説明したが、これに限られず、ネットワークに接続するためのインタフェースであればよく、例えばデジタルカメラ２９００とＵＳＢにより接続可能なＬＡＮアダプタ等であってもよい。
【産業上の利用可能性】
【０２１０】
本発明に係る通信装置は、動画像データ、音声データ等をネットワークに送出するために利用されるものである。
【図面の簡単な説明】
【０２１１】
【図１】実施の形態１における通信装置１００の構成図である。
【図２】分割データ格納部１０３の構成図である。
【図３】外部メモリ１１０の格納領域の説明図である。
【図４】パケットデータ４００のフレーム構造の説明図である。
【図５】分割データ格納部１０３の処理のフローチャートである。
【図６】ＣＰＵ１０４の処理のフローチャートである。
【図７】通信装置１００の各部の処理のタイミングチャートである。
【図８】実施の形態２における通信装置８００の構成図である。
【図９】ネットワークデータ領域３０２ａの説明図である。
【図１０】アドレス制御部８０２の処理のフローチャートである。
【図１１】分割データ格納部８０３の処理のフローチャートである。
【図１２】通信装置８００の各部の処理のタイミングチャートである。
【図１３】変形例１における通信装置１３００の構成図である。
【図１４】ネットワークデータ領域３０２ａの説明図である。
【図１５】オフセット制御部１３０２の処理のフローチャートである。
【図１６】分割データ格納部１３０３の処理のフローチャートである。
【図１７】ＣＰＵ１３０４の処理のフローチャートである。
【図１８】通信装置１３００の各部の処理のタイミングチャートである。
【図１９】変形例２における通信装置１９００の構成図である。
【図２０】アドレス変換テーブル２０００のデータ構成と内容例を示す図である。
【図２１】ＭＭＵ１９０１の処理のフローチャートである。
【図２２】変形例３における通信装置２２００の構成図である。
【図２３】レングス監視部２２０１の処理のフローチャートである。
【図２４】分割データ格納部２２０２の処理のフローチャートである。
【図２５】通信装置２２００の各部の処理のタイミングチャートである。
【図２６】変形例４における通信装置２６００の構成図である。
【図２７】分割データ格納部２６０２の処理のフローチャートである。
【図２８】通信装置２６００の各部の処理のタイミングチャートである。
【図２９】本発明に係る通信装置の適用例の説明図である。
【符号の説明】
【０２１２】
１００、８００、１３００、１９００、２２００、２６００  通信装置
１０１  ＭＣＵ
１０２、８０１  符号化部
１０３、８０３、１３０３、２２０２、２６０２  分割データ格納部
１０４、８０４、１３０４  ＣＰＵ
１０５  ネットワーク部
１０６  内部バス
１１０  外部メモリ
１２０、２９１０  ネットワーク
１３０、２９３０  端末
２０１  バッファ
２０２  チェックサム演算部
２０３  カウンタ
２０４  レジスタ
２０５  転送部
２０６  ＤＴＣ
２０７  制御部
８０２、１３０１  アドレス制御部
１３０２  オフセット制御部
１９０１  ＭＭＵ
２２０１  レングス監視部
２６０１  パターン監視部
２９００  デジタルカメラ
２９０１  ＳＤカード
２９０２  クレイドル
２９２０  プリンタ
【図１】
2008283394.tif 000003
【図２】
2008283394.tif 000004
【図３】
2008283394.tif 000005
【図４】
2008283394.tif 000006
【図５】
2008283394.tif 000007
【図６】
2008283394.tif 000008
【図７】
2008283394.tif 000009
【図８】
2008283394.tif 000010
【図１０】
2008283394.tif 000011
【図１１】
2008283394.tif 000012
【図１２】
2008283394.tif 000013
【図１３】
2008283394.tif 000014
【図１５】
2008283394.tif 000015
【図１６】
2008283394.tif 000016
【図１７】
2008283394.tif 000017
【図１８】
2008283394.tif 000018
【図１９】
2008283394.tif 000019
【図２０】
2008283394.tif 000020
【図２１】
2008283394.tif 000021
【図２２】
2008283394.tif 000022
【図２３】
2008283394.tif 000023
【図２４】
2008283394.tif 000024
【図２５】
2008283394.tif 000025
【図２６】
2008283394.tif 000026
【図２７】
2008283394.tif 000027
【図２８】
2008283394.tif 000028
【図２９】
2008283394.tif 000029
【図９】
2008283394.tif 000030
【図１４】
2008283394.tif 000031