JP2008283394A - 通信装置及び通信用集積回路 - Google Patents
通信装置及び通信用集積回路 Download PDFInfo
- Publication number
- JP2008283394A JP2008283394A JP2007124921A JP2007124921A JP2008283394A JP 2008283394 A JP2008283394 A JP 2008283394A JP 2007124921 A JP2007124921 A JP 2007124921A JP 2007124921 A JP2007124921 A JP 2007124921A JP 2008283394 A JP2008283394 A JP 2008283394A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- unit
- packet
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【解決手段】分割データ格納部は、符号化データ領域301aに格納された符号化データを読み出し、所定サイズ毎にチェックサムを算出し、算出したチェックサムと対応する所定サイズの符号化データ(ブロックデータ)とを外部メモリ110の各パケットデータ領域310a、310b・・・の第1領域311に順次格納する。CPUは、プログラムを実行することにより、分割データ格納部が各パケットデータ領域の第1領域311にブロックデータとチェックサムとを格納すると、順次格納されたチェックサムを読み出し、読み出したチェックサムを含むヘッダ情報を生成してそのチェックサムが格納されたパケットデータ領域の第2領域312に格納する。
【選択図】図3
Description
カメラにより撮影された動画像データの送信処理は、一般的に、カメラが制御プログラムを実行することにより、以下のように行われる。
符号化データを別の記憶領域にコピーするのは、以降説明するパケットデータの送出処理と並行して、次の符号化データを格納できるようにするためである。
このように、動画像データの送信処理では、記憶領域内で符号化データのコピーが行われるため、圧縮率等との関係により符号化データのサイズが増大するとコピー時間が増大し、1符号化データ当たりの送信処理時間が増大することとなる。
上述したようにサイズの大きい符号化データの送信処理には時間を要し、フレーム落ちを発生させることなく動画像データを送信するためには、各符号化データの送信処理を高速化する必要がある。
送信処理全体をハードウェアにより実現することによって、ソフトウェアにより送信処理を実現した場合に発生する処理のオーバーヘッドを抑えることができる。
そこで、本発明は係る問題に鑑みてなされたものであり、製造のための初期コストを抑えつつ、高速なマルチメディアデータの送信処理を実現することができるカメラ等に利用可能な通信装置を提供することを目的とする。
また、並列して動作するとは、格納回路による検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する処理と、CPUによるヘッダ情報を生成し、パケットデータを送出するよう制御する処理との少なくとも一部が同時に実行されることをいう。
また、前記外部メモリの第2所定サイズの各領域である各第1領域は、当該第2所定サイズに所定値を加えたアドレス値間隔になるよう配置されるものであり、前記プログラムは、各第1領域に格納された各ブロックデータについて、対応する検証用データを読み出し前記ヘッダ情報を生成すると、前記所定値のサイズ分の、第1領域と連続する領域である第2領域に当該ヘッダ情報を格納し、当該第2領域に格納されたヘッダ情報と当該第1領域に格納された検証用データに対応するブロックデータとからなるパケットデータを順次送出するよう制御するためのものであることとしてもよい。
また、前記通信装置は、更に前記外部メモリ上の空き領域から前記外部メモリの第2所定サイズの各領域である各第1領域について、当該第1領域と連続する所定のアドレス値分の領域である第2領域と当該第1領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部を備え、前記格納回路は、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域の各第1領域に各ブロックデータと当該ブロックデータに対応する検証用データとを格納し、前記プログラムは、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域について、第1領域に格納されたブロックデータに対応する検証用データを読み出し前記ヘッダ情報を生成すると、当該ヘッダ情報を第2領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものであることとしてもよい。
また、前記通信装置は、更に前記外部メモリ上の空き領域から前記外部メモリの第2所定サイズの各領域である各第1領域について、当該第1領域と連続する所定のアドレス値分の領域である第2領域と当該第1領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部と、前記アドレス制御部から指定された各アドレス値について、当該アドレス値が示すパケットデータ領域の第2領域に、当該アドレス値の次に指定されたアドレス値を格納するオフセット制御部を備え、前記格納回路は、各パケットデータ領域の各第2領域について、当該第2領域に格納されたアドレス値が示すパケットデータ領域の第1領域にブロックデータと当該ブロックデータに対応する検証用データとを格納し、前記プログラムは、各パケットデータ領域の各第2領域に格納された各アドレス値が示す各パケットデータ領域について、第1領域に格納された検証用データを読み出し、前記ヘッダ情報を生成すると、当該ヘッダ情報を第2領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものであることとしてもよい。
また、前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、前記通信装置は、更に前記外部メモリに各符号化データを順次格納する符号化部と、前記符号化部により前記外部メモリに格納される符号化データのサイズを監視し、第1所定サイズ分格納される毎に第1所定サイズ分の符号化データの読出しを指示する読出指示信号を前記格納回路に送出するレングス監視部とを備え、前記ブロックデータは、前記格納回路が、前記レングス監視部から前記読出し指示信号を受領する毎に前記外部メモリから読み出した第1所定サイズ分の符号化データであることとしてもよい。
また、前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、前記通信装置は、更に前記符号化データを前記外部メモリに格納し、格納に際し、当該符号化データ中に所定のビットパターンを検出する毎に、所定のビットパターンを検出した旨の検出信号を前記格納回路に送出するパターン監視部を備え、前記格納回路は、前記パターン監視部から一の前記検出信号を受領した後、次の前記検出信号を受領するまでに前記外部メモリに格納された符号化データを読み出し、読み出した符号化データをブロックデータとして扱うこととしてもよい。
これにより、所定のバイト数境界が、例えば、4バイト境界であるとすると、パターン監視部は所定のビットパターンを検出すると、外部メモリ上の4バイト境界を先頭とした領域に所定のビットパターン以降の符号化データを格納するため、バイトアライメントを保証することができる。
また、前記ヘッダ付与回路は、データ通信におけるプロトコル階層の層別に任意のヘッダを選択して前記ヘッダ情報を生成することとしてもよい。
これにより、ヘッダ付与回路は、レイヤー毎に任意のヘッダを選択してヘッダ情報を生成するため、記通信装置が使用するプロトコルに応じたヘッダ情報を生成することができる。
また、前記格納回路は、前記ブロックデータ毎に当該ブロックデータと当該ブロックデータに対応する前記部分ヘッダ情報との内容を反映して検証用データの前記生成を行うこととしてもよい。
これにより、1つの特定データについての各第2所定サイズの領域が第1パケット領域に配置されたとすると、次の特定データについての各第2所定サイズの領域は第2パケット領域に配置されるため、まだパケットデータとして送出されていないブロックデータを、次の特定データのブロックデータ及び対応する検証用データにより上書きしないようにするフロー制御を比較的容易にすることができる。
≪実施の形態1≫
<概要>
実施の形態1に係る通信装置は、動画像データの送信処理全体をソフトウェアにより実現する通信装置を改良し、送信処理の一部をハードウェアにより実現することによって、送信処理の高速化を図るものである。
まず、データ処理とは、動画像データをフレーム毎に圧縮符号化した各符号化データについて、送出するパケットデータのペイロードサイズ毎にチェックサムを算出し、自装置の外部にあるメモリ(以下、「外部メモリ」という)上の所定サイズの各領域(以下、「第1領域」という)に、送出するパケットデータのペイロードサイズのデータ(以下、「ブロックデータ」という)と対応するチェックサムとを格納することをいう。
以下、所定値のサイズ分の領域を「第2領域」といい、第2領域と第2領域に連続する第1領域とからなる領域を「パケットデータ領域」という。
次に、送出処理とは、各パケットデータ領域について、第1領域に格納されたブロックデータと第2領域に格納されたヘッダ情報とを読み出し、これらのデータからなるパケットデータをネットワークに送出することをいう。なお、各第1領域に格納されたチェックサムは既にヘッダ情報に含まれているため、送出しない。
従って、送信処理全体を専用のハードウェアで実現する場合と比較し、通信装置の製造にかかる初期コストを抑えることができる。
また、分割データ格納部は、1つのブロックデータとそのチェックサムとを物理的に連続する第1領域に格納し、CPUは、その第1領域の前に配置され、第1領域と連続する第2領域にヘッダ情報を格納する。
<構成>
以下、実施の形態1に係る通信装置100の構成について説明する。
同図に示すとおり、通信装置100は、自装置の外部にある外部メモリ110と接続し、また、ネットワーク120を介して端末130と接続している。
なお、外部メモリ110は、通信装置100により処理された符号化データ、ブロックデータ、チェックサム、ヘッダ情報を格納するメモリであり、以下では、外部メモリ110の1アドレス分のサイズは1byteであり、外部メモリ110が1回に送出するデータのサイズ、即ち外部メモリ110のバス幅は4byteであるとして説明する。
通信装置100は、同図に示すとおり、MCU(Memory Control Unit)101、符号化部102、分割データ格納部103、CPU104、ネットワーク部105、内部バス106から構成される。
符号化部102は、通信装置100の外部から入力される動画像データをフレーム毎にMJPEG(Motion Joint Photographic Experts Group)、MPEG(Moving Picture Experts Group)、H.264等に変換する一般的な圧縮符号化回路であり、MCU101による調停結果に従って、圧縮符号化後の各符号化データを外部メモリ110の後述する符号化データ領域301a又は301bに格納し、格納が完了すると、分割データ格納部103に格納が完了した旨の通知を送出する。
分割データ格納部103は、動画像データの送信処理のうちデータ処理を行う回路である。ここで、分割データ格納部103は、本発明における格納回路に相当し、各実施の形態及び変形例における分割データ格納部についても、同様である。
図2は、分割データ格納部103の構成を示す図である。
分割データ格納部103は、同図に示すとおり、バッファ201、チェックサム演算部202、DTC(Data Transfer Controller)206、制御部207から構成される。
バッファ201は、DTC206が外部メモリ110の後述する符号化データ領域301a又は301bから読み出した符号化データを格納するバッファである。
また、バッファ201は、格納した符号化データを2byte毎にチェックサム演算部202へ送出する。
チェックサム演算部202は、内部に加算器を含み、2byteのデータの加算ができるように構成された回路であり、バッファ201から受領した2byteの符号化データを数値とみなした場合の全数値の合計値であるチェックサムを算出する。
DTC206は、データの転送を行う回路であり、カウンタ203、レジスタ204、転送部205から構成される。
カウンタ203は、符号化データが格納された外部メモリ110の後述する符号化データ領域301a又は301b上のアドレス値(以下、「読み出し用アドレス値」という)と、ブロックデータ及びそのチェックサムを格納する外部メモリ110の後述するネットワークデータ領域302a又は302bの第1領域上のアドレス値(以下、「書き込み用アドレス値」という)とを保持する回路である。
読み出し用のアドレス値及び書き込み用のアドレス値は、データ転送の際に転送部205により更新される。また、符号化データ領域301a又は301bから1フレーム分の符号化データの読み出しが完了すると、制御部207によって読み出し用のアドレス値に他方の符号化データ領域、即ち符号化データ領域301aから1フレーム分の符号化データの読み出しが完了した場合には、符号化データ領域301bの、符号化データ領域301bから1フレーム分の符号化データの読み出しが完了した場合には、符号化データ領域301aの先頭アドレス値が設定される。
具体的には、転送部205は、制御部207を介して符号化部102から、符号化データの格納が完了した旨の通知を受領すると、カウンタ203に設定された読み出し用アドレス値が示す外部メモリ110の後述する符号化データ領域301a又は301bから所定サイズ(4byte)毎に符号化データを読み出してバッファ201に格納し、所定サイズ(4byte)の符号化データを読み出す毎にカウンタ203に設定された読み出し用アドレス値を4つ増加させる。
なお、転送部205による外部メモリ110へのアクセスは、MCU101による調停結果に従って行う。
制御部207は、分割データ格納部103内の各部の制御を行う回路である。具体的には、制御部207は、符号化部102から符号化データの格納が完了した旨の通知を受領すると、転送部205に対し、その通知を転送する。
また、制御部207は、符号化データ領域301a又は301bから1フレーム分の符号化データの読み出しが完了すると、読み出し用のアドレス値に他方の符号化データ領域の先頭アドレス値を設定し、また、ネットワークデータ領域302a又は302bの各第1領域へブロックデータとそのチェックサムの格納が完了すると、書き込み用のアドレス値に他方のネットワークデータ領域において最初にアクセスすべき第1領域の先頭アドレスを設定する。
その際、ポインタ変数Aに最初にアクセスすべきパケットデータ領域の先頭アドレスを初期値として設定し、変数Aが示すアドレスに格納された構造体変数Sのメンバ変数Cを指定すればチェックサムに、構造体変数Sのメンバ変数Hを指定すればヘッダ情報にアクセスすることが可能であり、変数Aを1ずつ増加させることによって、各パケットデータ領域に順次アクセスが可能となる。
また、CPU104は、制御プログラムを実行することにより、通信装置100全体の制御を行う機能を有し、具体的には、動画像データの送信処理開始時に分割データ格納部103のチェックサム演算部202、DTC206のカウンタ203及びレジスタ204に初期値の設定を行う。
内部バス106は、分割データ格納部103、CPU104、ネットワーク部105と外部メモリ110とのデータの授受を行うための一般的なアドレスバス及びデータバスである。
<データ>
以下、通信装置100で使用するデータについて説明する。
まず、外部メモリ110に格納されるデータの配置について説明する。
図3は、外部メモリ110の格納領域を示す図である。
外部メモリ110の格納領域は、同図に示すように符号化データ領域301a、301bとネットワークデータ領域302a、302bとを含む領域である。
符号化データ領域301bは、基本的には符号化データ領域301aと同様の領域であるが、符号化部102により、符号化データ領域301aに格納された次のフレーム分の符号化データが格納される領域である。
ネットワークデータ領域302aは、符号化データ領域301aに格納された1フレーム分の符号化データについてネットワークに送出する際のパケットデータを構成するデータが格納される物理的に連続した領域であり、同図に示すように、更にパケットデータ領域310a、310b・・・に論理的に分割されている。
パケットデータ領域310a、310b・・・は同様の構成を有するため、以下、パケットデータ領域310aについて、説明する。
第1領域311は、1つのブロックデータとそのブロックデータについてのチェックサムとが格納される領域である。
チェックサムは、ブロックデータを2byte毎に数値とみなした場合の全数値の合計値であり、チェックサムのサイズは2byteである。
第2領域312は、第1領域311に格納されたチェックサムを含むヘッダ情報が格納される領域である。
<ヘッダ情報>
次に、ヘッダ情報について説明する。
ヘッダ情報は、Ethernet(登録商標)フレームにおける各ヘッダ情報であり、分割データ格納部103により算出されたチェックサムを含むものである。
パケットデータ400のフレーム構造は、IEEE 802.3規格及びUDPプロトコル、RTPプロトコルに準拠しており、同図に示すとおり、パケットデータ400には、MAC(Media Access Control) header410、Data420が含まれ、Data420には、更にIP(Internet Protocol) header421、UDP header422、RTP header423が含まれる。
各ヘッダの内容は、IEEE 802.3規格及びUDPプロトコル、RTPプロトコルにおける各ヘッダの内容と同様であるため説明は省略するが、第1領域311に格納されたチェックサムは、UDP header422におけるチェックサムとして使用される。また、上述した各ヘッダ以外の各領域についても、IEEE 802.3規格及びUDPプロトコル、RTPプロトコルに準拠したものであるので、説明は省略する。
<動作>
以下、上記構成を備え、上記データを取り扱う通信装置100の動作を説明する。
まず、分割データ格納部103の動作について説明する。
図5は、分割データ格納部103の動作を示すフローチャートである。
以下では、符号化データは、符号化データ領域301aに格納されているものとして説明する。
符号化データの格納が完了した旨の通知がない場合には(ステップS501:N)、ステップS501に戻る。
符号化データの格納が完了した旨の通知があった場合には(ステップS501:Y)、転送部205は、符号化データ全体について転送処理が完了したかを確認する(ステップS502)。
ブロックデータ全体について第1領域311への格納を完了していない場合には(ステップS503:N)、転送部205は、分割データ格納部103のDTC206のカウンタ203の読み出し用アドレス値が示す符号化データ領域301aから所定サイズ(4byte)の符号化データを分割データ格納部103のバッファ201に読み出す(ステップS504)。
バッファ201は、格納された符号化データを2byte毎にチェックサム演算部202へ送出し、チェックサム演算部202は、受領した2byteの符号化データを数値とみなし、チェックサムを算出する(ステップS505)。
なお、転送部205は、所定サイズ(4byte)の符号化データを第1領域311へ格納すると、カウンタ203の書き込み用アドレス値を4つ増加させる。
転送部205は、チェックサムとの格納が完了すると、制御部207を介してCPU104にチェックサムの格納が完了した旨の通知を送出する(ステップS508)。なお、制御部207は、チェックサム演算部202のチェックサムの値をゼロにリセットする。
符号化データ全体について転送処理が完了した場合には(ステップS502:Y)、転送部205は、ステップS501に戻る。
なお、次のフレームについての符号化データは符号化部102により外部メモリ110上の符号化データ領域301bに格納される。
そのため、制御部207は、カウンタ203の読み出し用アドレス値に、レジスタ204に格納された符号化データ領域301bの先頭アドレス値を設定し、カウンタ203の書き込み用アドレス値にレジスタ204に格納されたネットワークデータ領域302bにおいて最初にアクセスすべき第1領域311の先頭アドレス値を設定する。その結果、転送部205は、符号化データ領域301bから符号化データを読み出し、ネットワークデータ領域302bにブロックデータとそのチェックサムとを格納していくこととなる。
次に、CPU104の動作について説明する。
図6は、CPU104の動作を示すフローチャートである。
以下では、ブロックデータ及びチェックサムは、ネットワークデータ領域302aに格納されているものとして説明する。
チェックサムの格納が完了した旨の通知がない場合には(ステップS601:N)、ステップS601に戻る。
所定時間以内に、チェックサムの格納が完了した旨の通知がない場合には(ステップS601:タイムアウト)、処理を終了する。
CPU104は制御プログラムを実行することにより、読み出したチェックサムを含むヘッダ情報を生成する(ステップS603)。
CPU104は制御プログラムを実行することにより、ヘッダ情報が格納されたパケットデータ領域のアドレス値を指定して、指定したアドレス値が示すパケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータの送出指示通知をネットワーク部105に送出し(ステップS605)、ステップ501に戻る。
なお、次のフレームについてのブロックデータとチェックサムとは、分割データ格納部103によりネットワークデータ領域302bに格納されるため、CPU104は制御プログラムを実行することにより、ネットワークデータ領域302bからチェックサムを読み出し、ネットワークデータ領域302bにヘッダ情報を格納していくこととなる。
次に、各部の動作のタイミングについて、図7を用いて説明する。
図7は、通信装置100の各部の動作を示すタイミングチャートである。
以下では、符号化部102は、1フレーム分の符号化データを符号化データ領域301aに格納し、分割データ格納部103は、ブロックデータ及びチェックサムをネットワークデータ領域302aに格納するものとして説明する。
T0〜T1において、符号化部102は、通信装置100の外部から入力される1フレーム分の動画像データをMPEGに圧縮符号化した符号化データを外部メモリ110の符号化データ領域301aに格納する。
T1は、符号化部102が符号化データ領域301aへの符号化データの格納を完了し、分割データ格納部103が符号化部102から符号化データの格納が完了した旨の通知を受領し、処理を開始するタイミングである。
T2は、分割データ格納部103が1つ目のブロックデータとそのチェックサムについて、パケットデータ領域310aの第1領域311への格納を完了し、CPU104が、制御プログラムを実行することにより分割データ格納部103からチェックサムの格納が完了した旨の通知を受領し、処理を開始するタイミングである。
T3は、CPU104が制御プログラムを実行することにより、1つ目のヘッダ情報について、パケットデータ領域310aの第2領域312への格納を完了し、ネットワーク部105がCPU104からパケットデータの送出指示通知を受領し、処理を開始するタイミングである。
なお、符号化データ領域301aと301b、ネットワークデータ領域302aと302bとは1フレーム分の動画像データの処理毎に交互に使用されるため、通信装置100の外部から次に入力された1フレーム分の動画像データは、T1〜T6において、符号化部102により圧縮符号化され、符号化データとして符号化データ領域301bに格納され、T6以降の各部の処理により、ブロックデータ、チェックサム及びヘッダ情報は、ネットワークデータ領域302bに格納されていく。
図7において、分割データ格納部103によるT1〜T2の処理時間を「a」とし、CPU104によるT2〜T3の処理時間を「b」とし、分割データ格納部103及びCPU104は、符号化データ毎にN回のデータ処理及びプロトコル処理をそれぞれ行うものとして説明する。
一方、通信装置100における処理時間は、T1〜T2の部分を除き、データ処理とプロトコル処理とが並列に動作するため、a+bNとなる。
従って、1台のCPUにプログラムを実行させることによりデータ処理及びプロトコル処理実現する場合と比較し、通信装置100は、処理時間をa×(N−1)削減することができる。
≪実施の形態2≫
<概要>
実施の形態1に係る通信装置100は、外部メモリ110上に物理的に連続するネットワークデータ領域302a、302bを確保し、確保したネットワークデータ領域302a、302bに各パケットデータ領域を連続して配置していた。
実施の形態2に係る通信装置は、各パケットデータ領域を示すアドレス値を管理し、各パケットデータ領域を外部メモリ110上に非連続に配置できるようにすることにより、外部メモリ110の格納領域を有効に活用できるようにしたものである。
<構成>
以下、実施の形態2に係る通信装置800の構成について説明する。
同図に示すとおり、通信装置800は、実施の形態1に係る通信装置100と同様、自装置の外部にある外部メモリ110と接続し、また、ネットワーク120を介して端末130と接続している。
なお、以下では、実施の形態1と同様に、各パケットデータ領域は2304byte(256byte+2kbyte)の領域であり、外部メモリ110の1アドレス分のサイズは1byteであり、外部メモリ110が1回に送出するデータのサイズは4byteであるとして説明する。
MCU101、ネットワーク部105、内部バス106については、実施の形態1に係る通信装置100と同様であるため、説明は省略する。
アドレス制御部802は、内部にCPUを含み、通信装置800の内部メモリ(図示しない)に格納された制御プログラムをCPUに実行させることにより、外部メモリ110の空き領域のうち、各パケットデータ領域として使用可能な領域を確保し、確保した各パケットデータ領域を示すアドレス値を分割データ格納部803とCPU804とにそれぞれ指定する回路である。
分割データ格納部803は、基本的には、実施の形態1における分割データ格納部103と同様の回路であるが、分割データ格納部803は、アドレス制御部802から指定されたアドレス値が示すパケットデータ領域の第1領域311にブロックデータとそのブロックデータのチェックサムとを格納する点で、分割データ格納部103とは異なる。
分割データ格納部803の構成は、図2に示す分割データ格納部103の構成と基本的には同様であるが、DTCのレジスタと制御部について相違点があるため、以下説明する。
分割データ格納部803のレジスタは、分割データ格納部103のDTC206のレジスタ204が保持する各アドレス値の他、アドレス制御部802から指定された各パケットデータ領域の先頭アドレス値をそれぞれ保持する。
<データ>
各パケットデータ領域の配置について説明する。
同図に示すように、パケットデータ領域910a、910b・・・は、ネットワークデータ領域302a上に非連続に配置される。同図中の灰色に塗りつぶされている領域は、他のデータ等が格納されていることを示している。
<動作>
以下、上記構成を備え、上記データを取り扱う通信装置800の動作を説明する。
<アドレス制御部>
まず、アドレス制御部802の動作について説明する。
アドレス制御部802のCPUは制御プログラムを実行することにより、符号化部801から処理の開始を指示する旨の通知があったかを確認する(ステップS1001)。
処理の開始を指示する旨の通知がない場合には(ステップS1001:N)、ステップS1001に戻る。
処理の開始を指示する旨の通知があった場合には(ステップS1001:Y)、アドレス制御部802のCPUは制御プログラムを実行することにより、1フレーム分のパケットデータ領域について確保済かを確認する(ステップS1002)。
アドレス制御部802のCPUは制御プログラムを実行することにより、確保したパケットデータ領域を示すアドレス値を分割データ格納部803とCPU804とに指定して(ステップS1004)、ステップS1002に戻る。
<分割データ格納部>
次に、分割データ格納部803の動作について説明する。
図11は、分割データ格納部803の動作を示すフローチャートである。
分割データ格納部803の制御部は、分割データ格納部803のレジスタに設定されているアドレス制御部802から指定されたアドレス値のうち、1つのアドレス値を読み出し、読み出したアドレス値に分割データ格納部803のレジスタに設定されている第2領域312のサイズ分のアドレス値を加えたアドレス値を分割データ格納部803のカウンタ203の書き込み用アドレス値に設定する(ステップS1103)。
次に、CPU804の動作について説明する。
CPU804の動作は、図6のフローチャートに示すCPU104の動作と基本的には同様であるが、ステップS602において、アドレス制御部802から指定されたアドレス値が示すパケット領域の第1領域311からチェックサムを読み出し、また、ステップS604において、アドレス制御部802から指定されたアドレス値が示すパケット領域の第2領域312にヘッダ情報を格納する点が異なる。
<タイミングチャート>
次に、アドレス制御部802の動作のタイミングについて説明する。
図12は、通信装置800の各部の動作を示すタイミングチャートである。
なお、符号化部801、分割データ格納部803、CPU804、ネットワーク部105の動作タイミングは、図7のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
T1〜T2において、アドレス制御部802のCPUは、図10のフローチャートに従って、1フレーム分のパケットデータ領域の確保と、各パケットデータ領域を示すアドレス値の指定を行う。
≪変形例1≫
<概要>
実施の形態2に係る通信装置800は、アドレス制御部802が各パケットデータ領域を示す各アドレス値を分割データ格納部803及びCPU804に指定することによって、各パケットデータ領域が非連続に配置される場合でも処理できるようにしたものである。
<構成>
以下、変形例1に係る通信装置1300の構成について説明する。
同図に示すとおり、通信装置1300は、実施の形態1に係る通信装置100と同様、自装置の外部にある外部メモリ110と接続し、また、ネットワーク120を介して端末130と接続している。
通信装置1300は、同図に示すとおり、MCU101、ネットワーク部105、内部バス106、符号化部801、アドレス制御部1301、オフセット制御部1302、分割データ格納部1303、CPU1304から構成される。
アドレス制御部1301は、基本的には、実施の形態2におけるアドレス制御部802と同様の回路であるが、確保した各パケットデータ領域を示す各アドレス値をオフセット制御部1302に指定する点で、アドレス制御部802と異なる。
オフセット制御部1302は、内部にCPUを含み、通信装置1300の内部メモリ(図示しない)に格納された制御プログラムをCPUに実行させることにより、アドレス制御部1301から指定される各アドレス値について、そのアドレス値が示すパケットデータ領域の後述する第2領域1412に、その次に指定されたアドレス値を格納する回路である。
分割データ格納部1303は、基本的には、実施の形態1における分割データ格納部103と同様の回路であるが、各パケットデータ領域の後述する第2領域1412に格納されたアドレス値が示すパケットデータ領域の第1領域311にブロックデータとそのブロックデータのチェックサムとを格納する点で、分割データ格納部103とは異なる。
分割データ格納部1303の構成は、図2に示す分割データ格納部103の構成と基本的には同様であるが、DTCのレジスタと制御部とについて相違するため、以下、説明する。
分割データ格納部1303のレジスタは、分割データ格納部103のDTC206のレジスタ204と同様に各アドレス値を保持する他、アドレス制御部802から指定された最初に参照すべきパケットデータ領域の先頭アドレス値又は分割データ格納部1303の制御部が後述する第2領域1412から読み出した次にアクセスすべきパケットデータ領域のアドレス値を保持する。
制御プログラムによる各第1領域311に格納されたチェックサムの読出しと各第2領域312へのヘッダ情報の格納とについては、基本的には実施の形態1におけるCPU104と同様の方法で実現できるが、本実施の形態では、後述する第2領域1412には、次にアクセスすべきパケットデータ領域のアドレス値が格納されるため、構造体の変数Sのメンバに次のパケットデータ領域のアドレス値を示す変数Nを加え、構造体の変数Sのアドレスを示すポインタ変数Aに、変数Nの値を設定して、各パケットデータ領域にアクセスする必要がある。
<データ>
各パケットデータ領域の配置について説明する。
同図に示すように、パケットデータ領域1410a、1410b・・・は、ネットワークデータ領域302a上に非連続に配置される。同図中の灰色に塗りつぶされている領域は、他のデータ等が格納されていることを示している。
パケットデータ領域1410aは、第1領域311と第2領域1412とに論理的に分割された領域である。第1領域311は、実施の形態1と同様の領域であるため、説明は省略する。
第2領域1412に、次に参照すべきパケットデータ領域を示すアドレス値が格納されることにより、各パケットデータ領域はいわゆる、線形リスト構造を有することとなる。
また、本実施の形態では、ヘッダ情報は第2領域1412の先頭アドレス値から5byte目のアドレス値を先頭アドレス値として格納されるものとする。
<動作>
以下、上記構成を備え、上記データを取り扱う通信装置1300の動作を説明する。
まず、アドレス制御部1301の動作について、説明する。
アドレス制御部1301の動作は、図10のフローチャートに示すアドレス制御部802の動作と基本的には同様であるが、図10のステップS1004において確保したパケットデータ領域を示すアドレス値の指定先がオフセット制御部1302である点が異なる。
<オフセット制御部>
次に、オフセット制御部1302の動作について、説明する。
図15は、オフセット制御部1302の動作を示すフローチャートである。
オフセット制御部1302のCPUは、制御プログラムを実行することにより、アドレス制御部1301からアドレス値の指定があったかを確認する(ステップS1501)。
所定時間以内にアドレス値の指定がない場合には(ステップS1501:タイムアウト)、処理を終了する。
アドレス値の指定があった場合には(ステップS1501:Y)、オフセット制御部1302のCPUは制御プログラムを実行することにより、指定されたアドレス値を保持する。具体的には、例えば配列変数を用いて実現したキュー(Queue)に指定されたアドレス値を追加していく。この際、配列変数には、通信装置1300の内部メモリ上の領域が割り当てられるものとする。
保持するアドレス値が2つ以上でない場合には(ステップS1503:N)、ステップS1501に戻る。
保持するアドレス値が2つ以上である場合には(ステップS1503:Y)、先に指定されたものから順に2つのアドレス値、即ちキューの先頭から順に2つのアドレス値について、先に指定されたアドレス値が示すパケットデータ領域の第2領域1412に、次に指定されたアドレス値を格納する(ステップS1504)。
<分割データ格納部>
次に、分割データ格納部1303の動作について、説明する。
図16は、分割データ格納部1303の動作を示すフローチャートである。
ステップS1601〜ステップS1608の処理は、図5に示す実施の形態1に係る分割データ格納部103のステップS501〜ステップS508の処理と同様であるため、説明は省略する。
分割データ格納部1303の制御部は、読み出した次にアクセスすべきパケットデータ領域のアドレス値を分割データ格納部1303のレジスタに設定する(ステップS1610)。
<CPU>
次に、CPU1304の動作について説明する。
ステップS1701の処理は、図6に示す実施の形態1に係るCPU104のステップS601の処理と同様であるため、説明は省略する。
CPU1304は制御プログラムを実行することにより、アドレス制御部1301から指定されたアドレス値が示すパケットデータ領域の第1領域311に格納されたチェックサムを読み出す(ステップS1702)。
CPU1304は制御プログラムを実行することにより、アドレス制御部1301から指定されたアドレス値が示すパケットデータ領域の第2領域1412に格納された次にアクセスすべきパケットデータ領域を示すアドレス値を読み出す(ステップS1705)。
以上により、CPU1304は1つのヘッダ情報の格納とパケットデータの送出指示の処理を行うことができる。以降は、ステップS1702において、ステップS1705で読み出したアドレス値が示すパケットデータ領域の第1領域311に格納されたチェックサムを読み出すことによって、順次各パケットデータ領域について、第2領域1412にヘッダ情報を格納できる。
次に、オフセット制御部1302の動作のタイミングについて説明する。
図18は、通信装置1300の各部の動作を示すタイミングチャートである。
なお、符号化部801、アドレス制御部1301、分割データ格納部1303、CPU1304、ネットワーク部105の動作タイミングは、図12のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
T1〜T2において、オフセット制御部1302のCPUは、図15のフローチャートに従って処理を行い、保持するアドレス値の数が2つ以上になる毎に、最も先に指定されたアドレス値が示すパケットデータ領域の第2領域1412に、その次に指定されたアドレス値を格納する処理を行う。
≪変形例2≫
<概要>
実施の形態2に係る通信装置800は、アドレス制御部802が各パケットデータ領域を示す物理アドレス値を、分割データ格納部803及びCPU804に指定することによって、各パケットデータ領域が非連続に配置される場合でも処理できるようにしたものである。
<構成>
以下、変形例2に係る通信装置1900の構成について説明する。
通信装置1900は、同図に示すとおり、MCU101、符号化部102、分割データ格納部103、CPU104、ネットワーク部105、内部バス106、MMU(Memory Management Unit)1901から構成される。
MMU1901以外については、実施の形態1に係る通信装置100と同様であるため、説明は省略する。
<データ>
以下、MMU1901が記憶するアドレス変換テーブルについて説明する。
なお、実施の形態1と同様に、外部メモリ110の1アドレス分のサイズは1byteであり、第1領域311は2Kbyte、第2領域312は256byteの領域であるとする。
同図に示すように、アドレス変換テーブル2000は、外部メモリ110上の1アドレス分の領域毎に、論理アドレス値2001と物理アドレス値2002とを対応付けて構成されている。
ここで、論理アドレス値2001は、分割データ格納部103、CPU104、ネットワーク部105が外部メモリ110にアクセスする際に使用するアドレス値(数字)であり、1から連番となるように割り振られている。
同図は、図9におけるパケットデータ領域910aの第2領域312に対応する論理アドレス値2001は「1〜256」であり、物理アドレス値2002は「10001〜10256」であることを示している。
また、パケットデータ領域910bの第2領域312に対応する論理アドレス値2001は、「2305〜2560」であり、物理アドレス値2002は、「16001〜16256」であることを示している。
従って、分割データ格納部103、CPU104、ネットワーク部105は、実際には物理的に非連続な領域にアクセスしているにもかかわらず、論理アドレス値2001を指定することによって、あたかも物理的に連続する領域であるかのようにアクセスすることができる。
<動作>
以下、MMU1901の動作について、説明する。
MMU1901は、分割データ格納部103、CPU104、ネットワーク部105から論理アドレス値を指定した外部メモリ110へのアクセスがあるかを確認する(ステップS2101)。
外部メモリ110へのアクセスがない場合には(ステップS2101:N)、ステップS2101へ戻る。
外部メモリ110へのアクセスがあった場合には(ステップS2101:Y)、MMU1901は指定された論理アドレス値を物理アドレス値に変換して送出し(ステップS2102)、ステップS2101へ戻る。
≪変形例3≫
<概要>
実施の形態1に係る通信装置100において、分割データ格納部103は、符号化部102による外部メモリ110の符号化データ領域301a、又は301bへの符号化データの格納が完了するのを待って、処理を開始するものであった。
これにより、変形例3に係る分割データ格納部は、符号化部102による符号化データ領域301a、301bへの符号化データの格納完了を待たずに処理を開始することができ、無駄な待ち時間を削減することにより、更に高速な動画像データの送出処理が可能になる。
<構成>
以下、変形例3に係る通信装置2200の構成について説明する。
通信装置2200は、同図に示すとおり、MCU101、符号化部102、CPU104、ネットワーク部105、内部バス106、レングス監視部2201、分割データ格納部2202から構成される。
MCU101、符号化部102、CPU104、ネットワーク部105、内部バス106については、実施の形態1に係る通信装置100と同様であるため、説明は省略する。
レングス監視部2201は、内部にカウンタを有し、符号化部102により外部メモリ110の符号化データ領域301a、又は301bに格納されていく符号化データのサイズをカウントし、カウンタがブロックデータのサイズ(1472byte)に相当する値になる毎に分割データ格納部2202に通知を行う回路である。
レングス監視部2201は、初期値としてゼロに設定されたカウンタの値を符号化部102が4byte送出する毎に4つずつ増加させ、カウンタの値がブロックデータのサイズに相当する値(1472)になると、分割データ格納部2202にブロックデータサイズ分の符号化データの格納が完了した旨の通知を送出し、カウンタをゼロにリセットする。
<データ>
通信装置2200で使用するデータについては、実施の形態1に係る通信装置100と同様であるため、説明は省略する。
<動作>
以下、上記構成を備え、上記データを取り扱う通信装置2200の動作を説明する。
まず、レングス監視部2201の動作について説明する。
図23は、レングス監視部2201の動作を示すフローチャートである。
レングス監視部2201は、内部のカウンタをゼロにリセットする(ステップS2301)。
所定サイズ分の符号化データが送出されない場合には(ステップS2302:N)、ステップS2302に戻る。
所定時間以内に所定サイズ分の符号化データが送出されない場合には(ステップS2302:タイムアウト)、処理を終了する。
レングス監視部2201は、カウンタの値がブロックデータのサイズに相当する値(1472)かを確認する(ステップS2304)。
カウンタの値がブロックデータのサイズに相当する値でない場合には(ステップS2304:N)、ステップS2302に戻る。
<分割データ格納部>
次に、分割データ格納部2202の動作について、説明する。
分割データ格納部2202の転送部205は、分割データ格納部103の制御部207を介してレングス監視部2201からブロックサイズ分の符号化データの格納が完了した旨の通知があったか確認する(ステップS2401)。
ブロックサイズ分の符号化データの格納が完了した旨の通知がない場合には(ステップS2401:N)、ステップS2401に戻る。
ブロックサイズ分の符号化データの格納が完了した旨の通知があった場合には(ステップS2401:Y)、ステップS2402に進む。
ステップS2402〜ステップS2408の処理は、図5に示す実施の形態1に係る分割データ格納部103の処理におけるステップS503〜ステップS509と同様であるため、説明は省略する。
次に、分割データ格納部2202の動作のタイミングについて説明する。
図25は、通信装置2200の各部の動作を示すタイミングチャートである。
以下では、符号化部102は、1フレーム分の符号化データを符号化データ領域301aに格納するものとして説明する。
T1は、レングス監視部2201のカウンタの値がブロックデータのサイズに相当する値(1472)となり、分割データ格納部2202がレングス監視部2201からブロックデータサイズ分の符号化データの格納が完了した旨の通知を受領し、処理を開始するタイミングである。
≪変形例4≫
<概要>
変形例4に係る通信装置は、符号化部102により外部メモリ110の符号化データ領域301a、又は301bに格納されていく符号化データのビットパターンを監視し、所定のビットパターンを検出する毎に変形例4に係る分割データ格納部に処理させるものである。
また、変形例4に係る通信装置は、所定のビットパターンを検出すると、所定のビットパターン以降の符号化データを外部メモリ110の符号化データ領域301a、又は301bにおける所定のバイト数境界、例えば、4バイト境界を先頭とした領域に格納していく。これにより、符号化データのバイトアライメントの保証が可能となる。
<構成>
図26は、変形例4に係る通信装置2600の構成図である。
MCU101、符号化部102、CPU104、ネットワーク部105、内部バス106については、実施の形態1に係る通信装置100と同様であるため、説明は省略する。
パターン監視部2601は、符号化部102により外部メモリ110の符号化データ領域301a、又は301bに格納されていく符号化データのビットパターンを監視し、通信装置2600のユーザ等により、予め設定された所定のビットパターン、例えばMPEG4の再同期マーカのビットパターンを検出すると、分割データ格納部2602に通知を行う回路である。
パターン監視部2601は、符号化部102により送出された所定サイズ(4byte)毎の符号化データをFIFOバッファに格納していき、FIFOバッファに格納された符号化データとメモリに記憶された所定ビットパターンのデータとの比較を順次行う。
また、パターン監視部2601は、比較が済んだ所定サイズ(4byte)毎の符号化データをFIFOバッファから順次送出し、外部メモリ110の符号化データ格納部301a、又は301bの連続領域に格納し、分割データ格納部2602に所定サイズ(4byte)の符号化データを格納した旨の通知を送出する。
この際、所定のビットパターンの前までの符号化データと所定のビットパターン以降の符号化データとの間の空き領域には、所定のパディングデータとして、例えば、スタッフビット(最初のビットが0で以降のビットが1)を挿入する。
以下、分割データ格納部2602について具体的に説明する。
分割データ格納部2602の構成は、図2に示す分割データ格納部103の構成と基本的には同様であるが、DTCの転送部、及び制御部について相違するため、以下、説明する。
<データ>
通信装置2600で使用するデータについては、実施の形態1に係る通信装置100と同様であるため、説明は省略する。
<動作>
以下、上記構成を備え、上記データを取り扱う通信装置2600の動作を説明する。
まず、分割データ格納部2602の動作について説明する。
図27は、分割データ格納部2602の動作を示すフローチャートである。
なお、以下では、所定のビットパターンのデータは、ブロックデータのサイズ(1472byte)よりも短い間隔で検出されるものとして説明する。
所定サイズの符号化データを格納した旨の通知を受領していない場合には(ステップS2701:N)、ステップS2701へ戻る。
所定サイズの符号化データを格納した旨の通知を受領した場合には(ステップS2701:Y)、ステップS2702に進む。
ステップS2702〜S2704の処理は、図24に示す変形例3に係る分割データ格納部2202のステップS2403〜ステップS2405の処理と同様であるため、説明は省略する。
所定のビットパターンを検出した旨の通知を受領していない場合には(ステップS2705:N)、ステップS2701へ戻る。
ステップ2706〜S2708の処理は、図24に示す変形例3に係る分割データ格納部2202のステップS2406〜ステップS2408の処理と同様であるため、説明は省略する。
次に、分割データ格納部2602の動作のタイミングについて説明する。
図28は、通信装置2600の各部の動作を示すタイミングチャートである。
なお、符号化部102、CPU104、ネットワーク部105の動作タイミングは、図7のタイミングチャートに示す動作タイミングと同様であるため、説明は省略する。
T1〜T2において、分割データ格納部2602は、図27のフローチャートに従って処理を行い、所定サイズ(4byte)の符号化データを格納した旨の通知を受領する毎に、所定サイズ(4byte)の符号化データを外部メモリ110の符号化データ領域301aからバッファ201に読み出し、チェックサムを算出し、所定サイズ(4byte)の符号化データを外部メモリ110の第1領域311に格納していく。
変形例4では、所定のビットパターンを検出する毎に異なるパケット領域の第1領域311に符号化データを格納していくこととなり、最終的にはネットワーク部105は、異なるパケットデータとして送出することができる。
<補足>
以上、本発明に係る通信装置について、実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態に示したとおりの通信装置に限られないことは勿論である。
(2)実施の形態1のネットワーク部105は、ネットワーク120が有線ネットワークである場合だけでなく、無線ネットワークである場合にも、パケットデータを送出できることとしてもよい。
(4)実施の形態1では、UDPを用いて動画像データを送信する場合を例に示したが、TCP(Transmission Control Protocol)を用いて動画像データを送信することも可能であり、その場合には、第1領域311に格納されたチェックサムは、TCP headerにおけるチェックサムとして使用される。
なお、上記では、TCPを用いて動画像データを送信した場合を例にパケットデータの再送のための処理について説明したが、パケットデータの再送を前提とした、TCP以外のプロトコルを用いて送信する場合や、アプリケーションによりパケットデータの再送を実現する場合も同様である。
(5)実施の形態1では、DTC206の転送部205は、逐次、カウンタ203に設定された読み出し用アドレス値が示す符号化データ領域から符号化データを読み出し、読み出した符号化データをカウンタ203に設定された書き込み用アドレス値が示すネットワークデータ領域に格納するものとして説明したが、1回のアドレス値の指定で複数のデータをまとめて連続的に転送するいわゆるバースト転送が可能なものとしてもよい。
これにより、分割データ格納部803は指定された各パケットデータ領域の先頭アドレス値から第1領域311を示すアドレス値を算出する必要がなくなり、更に高速に処理することができる。
(8)変形例1の各パケットデータ領域の第2領域1412においては、アドレス値の後にヘッダ情報を配置するものとして説明したが、この逆であってもよい。
(9)変形例1のオフセット制御部2201は内部にCPUを有するとして説明したが、CPU104により、オフセット制御部2201の機能を実現することとしてもよい。
(11)変形例4においては、所定のビットパターンのデータは、ブロックデータのサイズ(1472byte)よりも短い間隔で検出されるものとして説明したが、ブロックデータのサイズを超える間隔で検出される場合には、分割データ格納部2602は、外部メモリ110の第1領域311へブロックデータの格納を完了する毎に、チェックサムを格納するようにしてもよい。
そのために、例えば通信装置100内部のメモリに各プロトコルに対応したヘッダを記憶しておき、ヘッダ付与回路は、レイヤー毎にこの各プロトコルに対応したヘッダを選択し組み合わせることにより、最終的にパケットデータとして送出する際のヘッダ情報を生成する。
なお、通信装置100が使用するプロトコルについては、通信装置100のユーザ等が予め設定しておく場合のほか、例えばCPU104の負荷状況に応じて、使用するプロトコルを自動的に変更するような場合も考えられる。このような場合、ヘッダ付与回路はCPU104からプロトコルの変更を示す変更信号を受信し、その変更信号に従って生成するヘッダ情報の内容を変更する。
これにより、CPU104はチェックサムを含むヘッダ情報400の一部のみを生成することとなるため、CPU104の負荷を軽減できる。また、CPU104によるヘッダ情報400の生成時間が短縮されることによって、さらに高速なパケットデータの送出が可能となる。
(15)実施の形態1において、パケットデータ400のフレーム構造は、IEEE 802.3規格に準拠しているものとして説明したが、これに限られるものではなく、例えば無線LANにおいてはIEEE802.11a/b/gであってもよい。
即ち、チェックサム演算部202は、2byteの符号化データを数値とみなした場合の全数値の合計値であるチェックサムを算出するとして説明し、またバス幅が4byteであるとして説明したが、バス幅がチェックサム演算部202の処理単位との2倍でなければならないといった制限はない。
また、外部メモリ110の格納領域は、符号化データ領域301a、ネットワークデータ領域302a、符号化データ領域301bとネットワークデータ領域302bの順で配置されているとして説明したが、符号化データ領域301a、301b、ネットワークデータ領域302a、302bの順で配置されているとしてもよい。
(18)変形例4では、通信装置2600のパターン監視部2601は、パディングによりバイトアライメントを補正するものとして説明したが、パディングによらずデータコピーによりバイトアライメントを補正することとしてもよい。即ち、パターン監視部2601は、FIFOバッファに格納された符号化データを順次、外部メモリ110の符号化データ格納部301a、又は301bの連続領域に格納していき、所定のビットパターンを検出した際に、その前に所定のビットパターンを検出した以降に格納したデータが所定のアライメント境界を先頭とした領域に格納されていない場合には、そのデータを所定のアライメント境界を先頭とした領域にコピーする。
(20)各実施の形態の通信装置は、特定データとして動画像データを圧縮符号化した符号化データを送出する例で説明したが、送出するデータはこれに限られないのはもちろんである。
同図に示すように、デジタルカメラ2900には、SDカード2901が装着されており、デジタルカメラ2900は、クレイドル2902を介して有線又は無線のネットワーク2910に接続する。
デジタルカメラ2900は、本発明に係る機能によりSDカード2901に格納された画像データを送出するため、高速な送出処理を実現できる。
101 MCU
102、801 符号化部
103、803、1303、2202、2602 分割データ格納部
104、804、1304 CPU
105 ネットワーク部
106 内部バス
110 外部メモリ
120、2910 ネットワーク
130、2930 端末
201 バッファ
202 チェックサム演算部
203 カウンタ
204 レジスタ
205 転送部
206 DTC
207 制御部
802、1301 アドレス制御部
1302 オフセット制御部
1901 MMU
2201 レングス監視部
2601 パターン監視部
2900 デジタルカメラ
2901 SDカード
2902 クレイドル
2920 プリンタ
Claims (17)
- 複数のブロックデータを含む各特定データをネットワークに順次送出する通信装置であって、
前記特定データについて、第1所定サイズのデータであるブロックデータ毎に当該ブロックデータの内容を反映した検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを外部メモリの第2所定サイズの各領域に格納する格納回路と、
CPUを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成し、当該ヘッダ情報と当該検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記CPUに実行させるパケット制御部と、
前記パケット制御部による制御に従い、各パケットデータを順次送出するネットワーク部とを備え、
検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する前記格納回路と、ヘッダ情報を生成し、パケットデータを送出するよう制御する前記CPUとが、並列して動作するよう構成した
ことを特徴とする通信装置。 - 前記外部メモリの第2所定サイズの各領域である各第1領域は、当該第2所定サイズに所定値を加えたアドレス値間隔になるよう配置されるものであり、
前記プログラムは、各第1領域に格納された各ブロックデータについて、対応する検証用データを読み出し前記ヘッダ情報を生成すると、前記所定値のサイズ分の、第1領域と連続する領域である第2領域に当該ヘッダ情報を格納し、当該第2領域に格納されたヘッダ情報と当該第1領域に格納された検証用データに対応するブロックデータとからなるパケットデータを順次送出するよう制御するためのものである
ことを特徴とする請求項1記載の通信装置。 - 前記通信装置は、更に
前記外部メモリ上の空き領域から前記外部メモリの第2所定サイズの各領域である各第1領域について、当該第1領域と連続する所定のアドレス値分の領域である第2領域と当該第1領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部を備え、
前記格納回路は、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域の各第1領域に各ブロックデータと当該ブロックデータに対応する検証用データとを格納し、
前記プログラムは、前記アドレス制御部が指定する各アドレス値が示す各パケットデータ領域について、第1領域に格納されたブロックデータに対応する検証用データを読み出し前記ヘッダ情報を生成すると、当該ヘッダ情報を第2領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものである
ことを特徴とする請求項1記載の通信装置。 - 前記通信装置は、更に
前記外部メモリ上の空き領域から前記外部メモリの第2所定サイズの各領域である各第1領域について、当該第1領域と連続する所定のアドレス値分の領域である第2領域と当該第1領域とからなるパケットデータ領域を確保し、当該パケットデータ領域を示すアドレス値を指定するアドレス制御部と、
前記アドレス制御部から指定された各アドレス値について、当該アドレス値が示すパケットデータ領域の第2領域に、当該アドレス値の次に指定されたアドレス値を格納するオフセット制御部を備え、
前記格納回路は、各パケットデータ領域の各第2領域について、当該第2領域に格納されたアドレス値が示すパケットデータ領域の第1領域にブロックデータと当該ブロックデータに対応する検証用データとを格納し、
前記プログラムは、各パケットデータ領域の各第2領域に格納された各アドレス値が示す各パケットデータ領域について、第1領域に格納された検証用データを読み出し、前記ヘッダ情報を生成すると、当該ヘッダ情報を第2領域に格納し、当該パケットデータ領域に格納されたヘッダ情報とブロックデータとからなるパケットデータを順次送出するよう制御するためのものである
ことを特徴とする請求項1記載の通信装置。 - 前記通信装置は、更に
前記外部メモリ上の空き領域を示す物理アドレス値と対応付けて論理アドレス値を記憶し、当該論理アドレス値を指定した前記外部メモリへのアクセスがなされると、当該論理アドレス値と対応する前記物理アドレス値に変換するMMU(Memory Management Unit)を備え、
前記格納回路は、論理アドレス値を指定して、各ブロックデータと当該ブロックデータに対応する検証用データとを各第2所定サイズの領域に格納し、
前記プログラムは、論理アドレスを指定して、各第2所定サイズの領域から検証用データを読み出すためのものである
ことを特徴とする請求項1記載の通信装置。 - 前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、
前記通信装置は、更に
前記外部メモリに各符号化データを順次格納する符号化部と、
前記符号化部により前記外部メモリに格納される符号化データのサイズを監視し、第1所定サイズ分格納される毎に第1所定サイズ分の符号化データの読出しを指示する読出指示信号を前記格納回路に送出するレングス監視部とを備え、
前記ブロックデータは、前記格納回路が、前記レングス監視部から前記読出し指示信号を受領する毎に前記外部メモリから読み出した第1所定サイズ分の符号化データである
ことを特徴とする請求項1記載の通信装置。 - 前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、
前記通信装置は、更に
前記符号化データを前記外部メモリに格納し、格納に際し、当該符号化データ中に所定のビットパターンを検出する毎に、所定のビットパターンを検出した旨の検出信号を前記格納回路に送出するパターン監視部を備え、
前記格納回路は、前記パターン監視部から一の前記検出信号を受領した後、次の前記検出信号を受領するまでに前記外部メモリに格納された符号化データを読み出し、読み出した符号化データをブロックデータとして扱う
ことを特徴とする請求項1記載の通信装置。 - 前記パターン監視部は、前記符号化データ中に所定のビットパターンを検出すると、前記外部メモリ上の所定のアドレス境界を先頭とした領域に、検出したビットパターン以降の符号化データを格納する
ことを特徴とする請求項7記載の通信装置。 - 前記通信装置は、
前記パケット制御部に代えて、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成するヘッダ付与回路と、
CPUを含み、前記ヘッダ付与回路が生成した各ヘッダ情報について、当該ヘッダ情報と当該ヘッダ情報に含まれる検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記CPUに実行させる送出制御部とを備える
ことを特徴とする請求項1記載の通信装置。 - 前記ヘッダ付与回路は、データ通信におけるプロトコル階層の層別に任意のヘッダを選択して前記ヘッダ情報を生成する
ことを特徴とする請求項9記載の通信装置。 - 前記通信装置は、
前記パケット制御部に代えて、前記格納回路により前記外部メモリに格納された各ブロックデータについて、前記検証用データを用いることなく生成可能なヘッダ情報の一部となる部分ヘッダ情報を生成するヘッダ付与回路と、
CPUを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し、当該検証用データと当該ブロックデータに対応する前記部分ヘッダ情報とからなるヘッダ情報を生成し、当該ヘッダ情報と前記検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記CPUに実行させる送出制御部を備える
ことを特徴とする請求項1記載の通信装置。 - 前記格納回路は、前記ブロックデータ毎に当該ブロックデータと当該ブロックデータに対応する前記部分ヘッダ情報との内容を反映して検証用データの前記生成を行う
ことを特徴とする請求項11記載の通信装置。 - 前記特定データは、順次入力される画像データまたは音声データを所定単位毎に圧縮符号化した符号化データであり、
前記通信装置は、更に
各符号化データのデータサイズを指定する符号化設定部と、
順次入力される前記画像データまたは前記音声データを所定単位毎に前記符号化設定部が指定するデータサイズに圧縮符号化し、圧縮符号化後の各符号化データを前記外部メモリに順次格納する符号化部を備える
ことを特徴とする請求項1記載の通信装置。 - 前記外部メモリは論理的に分割された第1ネットワークデータ領域と第2ネットワークデータ領域とを有し、
各第2所定サイズの領域は、特定データ毎に前記第1ネットワークデータ領域と前記第2ネットワークデータ領域とに交互に配置されるものである
ことを特徴とする請求項1記載の通信装置。 - 前記通信装置は、再送の可能性を前提とした通信を行うものであり、
前記外部メモリは、再送が必要とされうる各パケットデータを構成する前記ブロックデータを格納する再送用領域を有し、
前記パケット制御部は、各パケットデータについて、前記ネットワーク部が当該パケットデータを送出してから所定時間内に、当該パケットデータの送出先から当該パケットデータを受領した旨の応答を受領していない場合に、当該応答を受領していないパケットデータを構成する前記ブロックデータを前記再送用領域に移動させるプログラムを前記CPUに実行させる
ことを特徴とする請求項14記載の通信装置。 - 複数のブロックデータを含む各特定データをネットワークに順次送出する通信用集積回路であって、
前記特定データについて、第1所定サイズのデータであるブロックデータ毎に当該ブロックデータの内容を反映した検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを外部メモリの第2所定サイズの各領域に格納する格納回路と、
CPUを含み、前記格納回路により前記外部メモリに格納された各ブロックデータについて、対応する検証用データを読み出し当該検証用データを含むヘッダ情報を生成し、当該ヘッダ情報と当該検証用データに対応するブロックデータとからなるパケットデータを送出するよう制御するためのプログラムを前記CPUに実行させるパケット制御部と、
前記パケット制御部による制御に従い、各パケットデータを順次送出するネットワーク部とを備え、
検証用データを生成し、当該検証用データと当該検証用データに対応するブロックデータとを格納する前記格納回路と、ヘッダ情報を生成し、パケットデータを送出するよう制御する前記CPUとが、並列して動作するよう構成した
ことを特徴とする通信用集積回路。 - データをネットワークに送出する通信装置であって、
前記データについて、所定サイズ毎に誤り検出用データを生成する検出部と、
前記データを所定のメモリ領域に転送するデータ転送部と、
前記データについて、前記データ転送部により前記メモリ領域に転送され終えた部分を所定サイズ毎に、当該所定サイズのデータに対応する誤り検出用データと共にパケットとして送出するよう制御するための制御プログラムを実行するCPUと、
前記CPUによる制御に従い、各パケットをネットワークに送出するネットワーク部とを備え、
前記検出部と前記データ転送部と前記CPUとが並列して動作するよう構成した
ことを特徴とする通信装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007124921A JP2008283394A (ja) | 2007-05-09 | 2007-05-09 | 通信装置及び通信用集積回路 |
CNA2008100993061A CN101304419A (zh) | 2007-05-09 | 2008-05-09 | 用于通信的通信装置和集成电路 |
US12/118,189 US8018931B2 (en) | 2007-05-09 | 2008-05-09 | Communication apparatus and integrated circuit for communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007124921A JP2008283394A (ja) | 2007-05-09 | 2007-05-09 | 通信装置及び通信用集積回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008283394A true JP2008283394A (ja) | 2008-11-20 |
Family
ID=40114127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007124921A Pending JP2008283394A (ja) | 2007-05-09 | 2007-05-09 | 通信装置及び通信用集積回路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8018931B2 (ja) |
JP (1) | JP2008283394A (ja) |
CN (1) | CN101304419A (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991750B1 (en) * | 2008-06-10 | 2011-08-02 | Network Appliance, Inc. | Application recovery from network-induced data corruption |
US8244964B2 (en) * | 2009-12-23 | 2012-08-14 | Spansion Llc | Read preamble for data capture optimization |
JP2013051607A (ja) * | 2011-08-31 | 2013-03-14 | Canon Inc | データ処理装置、方法および制御プログラム |
US10013949B2 (en) * | 2011-12-21 | 2018-07-03 | Sony Mobile Communications Inc. | Terminal device |
GB2507127B (en) * | 2012-10-22 | 2014-10-08 | Gurulogic Microsystems Oy | Encoder, decoder and method |
RU2530210C2 (ru) * | 2012-12-25 | 2014-10-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ выявления вредоносных программ, препятствующих штатному взаимодействию пользователя с интерфейсом операционной системы |
US9426543B1 (en) * | 2015-12-18 | 2016-08-23 | Vuclip (Singapore) Pte. Ltd. | Server-based video stitching |
JP7155727B2 (ja) * | 2018-08-07 | 2022-10-19 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム |
US11470071B2 (en) * | 2020-04-20 | 2022-10-11 | Vmware, Inc. | Authentication for logical overlay network traffic |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02130602A (ja) * | 1988-11-11 | 1990-05-18 | Toshiba Corp | プロセス制御装置 |
JPH04248735A (ja) * | 1991-02-05 | 1992-09-04 | Hitachi Ltd | 通信制御処理方式 |
JPH04352054A (ja) * | 1991-05-29 | 1992-12-07 | Toshiba Corp | 通信制御装置 |
JPH04367138A (ja) * | 1991-06-14 | 1992-12-18 | Matsushita Electric Ind Co Ltd | パケット送信装置 |
JPH0669957A (ja) * | 1992-08-18 | 1994-03-11 | Matsushita Electric Ind Co Ltd | データ送信方法及びデータ送信装置 |
JP2001268159A (ja) * | 2000-01-19 | 2001-09-28 | Wiznot Corp | Tcp/ipをハードウェア的に処理する装置及びその動作方法 |
JP2004153471A (ja) * | 2002-10-29 | 2004-05-27 | Sanyo Electric Co Ltd | チェックサム算出方法、チェックサム記録方法、およびその方法を利用可能な通信装置 |
JP2004221795A (ja) * | 2003-01-10 | 2004-08-05 | Sanyo Electric Co Ltd | パケット処理装置、パケット処理方法、およびその方法を利用可能な電話装置 |
JP2005102037A (ja) * | 2003-09-26 | 2005-04-14 | Renesas Technology Corp | パケット通信装置 |
JP2005167965A (ja) * | 2003-11-12 | 2005-06-23 | Matsushita Electric Ind Co Ltd | パケット処理方法および装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG82563A1 (en) * | 1995-07-07 | 2001-08-21 | Sun Microsystems Inc | An apparatus and method for packetizing and segmenting mpeg packets |
US6088360A (en) * | 1996-05-31 | 2000-07-11 | Broadband Networks Corporation | Dynamic rate control technique for video multiplexer |
WO2001082113A2 (en) * | 2000-04-25 | 2001-11-01 | Icplanet Acquisition Corporation | System and method for proximity searching position information using a proximity parameter |
US6963586B2 (en) * | 2001-08-21 | 2005-11-08 | Via Technologies, Inc. | Method and apparatus for general-purpose packet reception processing |
US7843968B2 (en) * | 2002-09-30 | 2010-11-30 | Sanyo Electric Co., Ltd. | Communication apparatus and applications thereof |
US20060251176A1 (en) * | 2003-02-17 | 2006-11-09 | Atsushi Hatabu | Media-encoded data transmission method, apparatus and program |
EP1913723B1 (en) * | 2005-08-12 | 2019-05-01 | Samsung Electronics Co., Ltd. | Method and apparatus to transmit and/or receive data via wireless network and wireless device |
US7835406B2 (en) * | 2007-06-18 | 2010-11-16 | Cisco Technology, Inc. | Surrogate stream for monitoring realtime media |
-
2007
- 2007-05-09 JP JP2007124921A patent/JP2008283394A/ja active Pending
-
2008
- 2008-05-09 CN CNA2008100993061A patent/CN101304419A/zh active Pending
- 2008-05-09 US US12/118,189 patent/US8018931B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02130602A (ja) * | 1988-11-11 | 1990-05-18 | Toshiba Corp | プロセス制御装置 |
JPH04248735A (ja) * | 1991-02-05 | 1992-09-04 | Hitachi Ltd | 通信制御処理方式 |
JPH04352054A (ja) * | 1991-05-29 | 1992-12-07 | Toshiba Corp | 通信制御装置 |
JPH04367138A (ja) * | 1991-06-14 | 1992-12-18 | Matsushita Electric Ind Co Ltd | パケット送信装置 |
JPH0669957A (ja) * | 1992-08-18 | 1994-03-11 | Matsushita Electric Ind Co Ltd | データ送信方法及びデータ送信装置 |
JP2001268159A (ja) * | 2000-01-19 | 2001-09-28 | Wiznot Corp | Tcp/ipをハードウェア的に処理する装置及びその動作方法 |
JP2004153471A (ja) * | 2002-10-29 | 2004-05-27 | Sanyo Electric Co Ltd | チェックサム算出方法、チェックサム記録方法、およびその方法を利用可能な通信装置 |
JP2004221795A (ja) * | 2003-01-10 | 2004-08-05 | Sanyo Electric Co Ltd | パケット処理装置、パケット処理方法、およびその方法を利用可能な電話装置 |
JP2005102037A (ja) * | 2003-09-26 | 2005-04-14 | Renesas Technology Corp | パケット通信装置 |
JP2005167965A (ja) * | 2003-11-12 | 2005-06-23 | Matsushita Electric Ind Co Ltd | パケット処理方法および装置 |
Also Published As
Publication number | Publication date |
---|---|
US8018931B2 (en) | 2011-09-13 |
CN101304419A (zh) | 2008-11-12 |
US20080310411A1 (en) | 2008-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008283394A (ja) | 通信装置及び通信用集積回路 | |
JP4198741B2 (ja) | 通信機器、通信システム、通信方法、通信プログラム、通信回路 | |
CN108965883A (zh) | 使用虚拟帧内帧对视频内容进行编码的系统和方法 | |
JP2008079150A (ja) | 通信機器及びデータ転送方法 | |
TW201811057A (zh) | 影像訊框處理方法 | |
US7711877B2 (en) | Image sensing device | |
JP2018182447A (ja) | 映像配信装置、映像配信方法及びプログラム | |
US9665422B2 (en) | Information processing apparatus and method, and, program | |
US6678769B1 (en) | Control apparatus and method for managing a logical connection between source and destination nodes | |
JP2007013697A (ja) | 画像受信装置及び画像受信方法 | |
JP2011248935A (ja) | 監視映像記録システム | |
KR100299336B1 (ko) | 메모리제어장치 | |
JP2008079330A (ja) | 通信機器、通信方法、通信プログラム、通信回路、携帯電話、表示装置、印刷装置、記録装置 | |
US8081828B2 (en) | Method for transmitting image bit stream and image encoder | |
JP2005260302A (ja) | 動画情報伝送方法および装置 | |
JP4037411B2 (ja) | Ip画像伝送装置 | |
JP2009069974A (ja) | バスインターフェース回路および情報処理装置 | |
US11539820B2 (en) | Signaling and identifying picture boundary in video payload format over IP network | |
JP5004322B2 (ja) | データ転送制御方法,装置および画像形成装置 | |
JP2023020924A (ja) | 高速ビデオを制御するためのシステム及び方法 | |
US7908412B2 (en) | Buffer passing mechanisms | |
JP2007110749A (ja) | 時系列信号入力方法 | |
JP2013090200A (ja) | 通信装置におけるメモリ管理方法、通信装置及びプログラム | |
JPH0759053A (ja) | 画像・音声パケット受信装置および送信装置とそれらを用いた画像・音声パケット伝送装置 | |
JP2007006200A (ja) | ストリーミング伝送処理方法及びネットワークカメラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100301 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110721 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111018 |