(57)【要約】【課題】  符号化／復号処理を高速に実行できるデータ符号化装置、データ復号装置及びデータ符号化／復号処理システムを提供する。【解決手段】  データ符号化装置は、受信データから符号化対象のデータを抽出するデータ抽出部と、データ抽出部で抽出されたデータを符号化するデータ符号化部と、データ符号化部から出力されるデータを所定のデータ幅単位で整列する符号化データ整列部と、符号化データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部とを有する構成とする。また、データ復号装置は、受信データを復号するデータ復号部と、データ復号部から出力されるデータを所定のデータ幅単位で整列する復号データ整列部と、復号データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部とを有する構成とする。【選択図】  図１
2006211331.tif 000002
【特許請求の範囲】
【請求項１】
受信データから符号化対象のデータを抽出するデータ抽出部と、
前記データ抽出部で抽出されたデータを符号化するデータ符号化部と、
前記データ符号化部から出力されるデータを所定のデータ幅単位で整列する符号化データ整列部と、
前記符号化データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部と、
を有するデータ符号化装置。
【請求項２】
前記符号化データ整列部は、
データを並び替えるためのスイッチ部と、
前記スイッチ部に前記データを並び替えさせるための転送情報を生成する送出制御部と、
を有する請求項１記載のデータ符号化装置。
【請求項３】
前記符号化データ整列部は、
予め定めた所定のバイト数のデータ毎に所定の制御コードを挿入する制御コード挿入判定部を有する請求項１または２記載のデータ符号化装置。
【請求項４】
受信データを復号するデータ復号部と、
前記データ復号部から出力されるデータを所定のデータ幅単位で整列する復号データ整列部と、
前記復号データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部と、
を有するデータ復号装置。
【請求項５】
前記復号データ整列部は、
データを並び替えるためのスイッチ部と、
前記スイッチ部に前記データを並び替えさせるための転送情報を生成する送出制御部と、
を有する請求項４記載のデータ復号装置。
【請求項６】
受信データから制御コードを削除するための処理を行う制御コード削除部をさらに有する請求項４または５記載のデータ復号装置。
【請求項７】
外部から供給される符号／復号モード信号にしたがって、受信データの符号化時は該受信データを符号化し、受信データの復号時は該受信データを復号するデータ符号化／復号部と、
前記データ符号化／復号部から出力されるデータを所定のデータ幅単位で整列するデータ整列部と、
前記データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部と、
を有するデータ符号化／復号システム。
【請求項８】
前記データ整列部は、
データを並び替えるためのスイッチ部と、
前記スイッチ部に前記データを並び替えさせるための転送情報を生成する送出制御部と、
を有する請求項７記載のデータ符号化／復号システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータの符号化及び復号処理を行うデータ符号化装置、データ復号装置及びデータ符号化／復号システムに関する。
【背景技術】
【０００２】
従来、インターネットにおけるメール送信において、画像やワープロ文書等のバイナリデータを添付して送信する場合、該バイナリデータを文字列に置換して送信する必要がある。文字列に置換する方法としては、ＲＦＣ２０４５で規定されているＢａｓｅ６４やＱｕｏｔｅｄ−Ｐｒｉｎｔａｂｌｅが知られている。
【０００３】
一般に、企業やプロバイダは、メールサーバやゲートウェイにおいて送受信されるメールのウィルススキャンを実施しているが、ウィルススキャンはメールに添付されたファイル（バイナリデータ）が対象であり、上述したように、メールに添付されたファイル内の画像や文書はＢａｓｅ６４やＱｕｏｔｅｄ−Ｐｒｉｎｔａｂｌｅで符号化されているために復号処理が必要となる。
【０００４】
従来、Ｂａｓｅ６４やＱｕｏｔｅｄ−Ｐｒｉｎｔａｂｌｅ等を利用した符号化や復号処理はソフトウェアで実現しているが、近年のウィルスメールの増加に伴って処理の高速化に対する要求が高まっている。
【０００５】
なお、画像データを複数の画像データストリームに分割し、各画像データストリームを並列に符号化することで画像データの高速な符号化処理を実現した構成が、例えば特許文献１に記載されている。
【特許文献１】特開平８−１１６５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、Ｂａｓｅ６４やＱｕｏｔｅｄ−Ｐｒｉｎｔａｂｌｅ等の符号化／復号処理は、従来、ソフトウェアで実現していたために処理速度が遅いという問題がある。また、ソフトウェアで処理すると、例えばハードウェアにおける並列化処理のように、処理速度を向上させるための手段が無いため、処理速度を向上させることが困難な問題がある。
【０００７】
なお、上記特許文献１にはハードウェアにより並列に符号化／復号処理を行う技術が記載されているが、Ｂａｓｅ６４やＱｕｏｔｅｄ−Ｐｒｉｎｔａｂｌｅ等の符号化／復号処理では、制御コードのように無効バイトデータの挿入・削除処理が発生し、符号化／復号処理によってデータ数が増減するため、単純に並列処理を行うことができない。
【０００８】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、符号化／復号処理を高速に実行できるデータ符号化装置、データ復号装置及びデータ符号化／復号処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため本発明のデータ符号化装置は、受信データから符号化対象のデータを抽出するデータ抽出部と、
前記データ抽出部で抽出されたデータを符号化するデータ符号化部と、
前記データ符号化部から出力されるデータを所定のデータ幅単位で整列する符号化データ整列部と、
前記符号化データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部と、
を有する構成である。
【００１０】
また、本発明のデータ復号装置は、受信データを復号するデータ復号部と、
前記データ復号部から出力されるデータを所定のデータ幅単位で整列する復号データ整列部と、
前記復号データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部と、
を有する構成である。
【００１１】
さらに、本発明のデータ符号化／復号システムは、外部から供給される符号／復号モード信号にしたがって、受信データの符号化時は該受信データを符号化し、受信データの復号時は該受信データを復号するデータ符号化／復号部と、
前記データ符号化／復号部から出力されるデータを所定のデータ幅単位で整列するデータ整列部と、
前記データ整列部から出力されたデータを所定のデータ幅毎に出力するデータ送信部と、
を有する構成である。
【００１２】
上記のように構成されたデータ符号化装置、データ復号装置及びデータ符号化／復号システムでは、符号化データ整列部または復号データ整列部が符号化データまたは復号データを所定のデータ幅単位で整列することで、符号化処理または復号処理によってデータが増減しても、データ送信部から符号化データまたは復号データを所定のデータ幅毎に出力できるため、並列に入力される複数のデータの符号化／復号処理が可能になる。
【発明の効果】
【００１３】
本発明によれば、並列に入力される複数のデータの符号化／復号処理が可能になるため、符号化／復号処理を高速に実行できる。
【発明を実施するための最良の形態】
【００１４】
次に本発明について図面を参照して説明する。
【００１５】
（第１の実施の形態）
図１は本発明の第１の実施の形態のデータ符号化／復号システムが有するデータ符号化装置の構成を示すブロック図であり、図２は本発明の第１の実施の形態のデータ符号化／復号システムが有するデータ復号装置の構成を示すブロック図である。
【００１６】
図１に示すように、本実施形態のデータ符号化装置は、データを受信し、後段のブロックで処理しやすいデータ幅に変換するデータ受信部１００と、データ受信部１００で受信したデータから符号化する有効データを抽出するデータ抽出部１０１と、データ抽出部１０１で抽出された有効データを符号化テーブル１０３に基づいて符号化するデータ符号化部１０２と、符号化データを所定のデータ幅単位で整列する符号化データ整列部１０４と、符号化データ整列部１０４から出力された符号化データを所定のデータ幅毎に後段へ送信するデータ送信部１０５とを有する構成である。
【００１７】
図２に示すように、本実施形態のデータ復号装置は、データを受信するデータ受信部２００と、データ受信部２００で受信したデータから制御コードを除去するための処理を行う制御コード除去部２０１と、受信したデータから復号対象のデータを抽出し、復号テーブル２０３に基づいて復号するデータ復号部２０２と、復号データを所定のデータ幅単位で整列する復号データ整列部２０４と、復号データ整列部２０４から出力された復号データを所定のデータ幅毎に後段へ送信するデータ送信部２０５とを有する構成である。
【００１８】
図１及び図２に示すように、本実施形態ではデータの符号化／復号処理をハードウェアにて実現する。符号化／復号処理をハードウェアで実行する場合、通常は１バイト（１文字）単位で処理することになるが、本発明では複数のバイトデータを並列に符号化／復号することで処理の高速化を実現する。一般に、インターネットにおけるメール送信時に添付される画像やワープロ文書等からなる複数のバイトデータを並列に符号化／復号処理する場合、制御コードのように無効バイトデータの挿入・削除処理が必要となる。本実施形態では、後述するように符号化データ整列部１０４及び復号データ整列部２０４にスイッチ部を備えることで制御コード等の挿入・削除処理を実現し、複数のバイトデータに対する並列な符号化／復号処理を可能にする。
【００１９】
次に本実施形態のデータ符号化装置及びデータ復号装置の動作を説明する。なお、本実施形態のデータ符号化装置及びデータ復号装置は、Ｎ（Ｎ≦８）ビットのデータを８×Ｍ（Ｍ≧１）ビットのデータに符号化し、８×ＭビットのデータをＮビットのデータに復号するものとする。また、データ符号化装置及びデータ復号装置へはＬ（Ｌ＞１）バイト単位で並列に展開された（以下、Ｌバイトパラレルと称す）データが入力されるものとし、データ符号化装置及びデータ復号装置からはＪ（Ｊ＞１）バイト単位で並列に展開された（以下、Ｊバイトパラレルと称す）データが出力されるものとする。
【００２０】
まず、本実施形態のデータ符号化装置の動作について図１を用いて説明する。
【００２１】
データ符号化装置にはＬバイトパラレルのデータが入力される。入力されたＬバイトパラレルのデータはデータ受信部１００にて受信され、データ受信部１００は入力データを後段のブロックで処理し易いデータ幅に変換する。具体的には、符号化単位ＮがＮ＝２、４、８の場合は何も変換せず、Ｌバイトパラレルのままで後段のブロックへ出力する。符号化単位ＮがＮ＝２、４、８以外の場合は、Ｎの倍数であり、かつＬ以上の値Ｋを決定し、後段ブロックに対してＫバイト単位で並列な（以下、Ｋバイトパラレルと称す）データに変換して出力する。例えば、Ｎ＝３及びＬ＝４の場合はＫ＝６となり、Ｎ＝５及びＬ＝４の場合はＫ＝５となる。
【００２２】
データ抽出部１０１は、Ｋバイトパラレルに展開されたデータから符号化対象であるＮビットのデータを抽出し、後段のデータ符号化部１０２へ出力する。
【００２３】
データ符号化部１０２は、データ抽出部１０１で抽出されたＮビットのデータを、符号化テーブル１０３を参照して８×Ｍビットのデータに符号化する。符号化テーブル１０３は、例えば符号化単位であるＮビットのデータをアドレスとし、そのアドレスに対応して変換後のデータである８×Ｍビットのデータが格納されたメモリにて実現する。符号化後のデータ（符号化データ）は、バイト単位で有効であるか無効であるかが判定され、その判定結果である有効／無効情報と共に符号化データ整列部１０４へ出力される。
【００２４】
符号化データ整列部１０４は、有効と判定されたデータ（有効データ）のみをＪバイトパラレルで整列する。
【００２５】
データ送信部１０５は、符号化データ整列部１０４から出力されたデータをＪバイト毎に並列に出力する。このとき、データ送信部１０５は、Ｊバイト分のデータが揃うのを待ち受け、該Ｊバイト分のデータが揃う度にそれらを出力する。
【００２６】
次に、本実施形態のデータ復号装置の動作について図２を用いて説明する。
【００２７】
データ復号装置にはＬバイトパラレルのデータが入力される。入力されたＬバイトパラレルのデータはデータ受信部２００にて受信され、データ受信部２００は入力データを後段の制御コード削除部２０１へ転送する。制御コード削除部２０１は、入力データから削除対象となる制御コードを抽出する。削除対象の制御コードとしては、例えば改行コード（０ｘ０ａ０ｘ０ｄ：０ｘはhex表示を示す）等がある。制御コード削除部２０１は、例えば後段のデータ復号部２０２へ入力データと共に該データの有効／無効情報を出力し、制御コードを無効情報に指定することで復号対象から外す。
【００２８】
入力データ及び該データの有効／無効情報を受信したデータ復号部２０２は、復号対象となる有効データを抽出し、復号テーブル２０３に基づいて該データを復号する。復号後のデータ（復号データ）は有効／無効情報と共に復号データ整列部２０４へ出力される。
【００２９】
復号データ整列部２０４は、符号化データ整列部１０４と同様にデータ復号部２０２から出力される復号データをＪバイトパラレルで整列する。
【００３０】
データ送信部２０５は、復号データ整列部２０４から出力されたデータをＪバイト毎に並列に出力する。このとき、データ送信部２０５は、Ｊバイト分のデータが揃うのを待ち受け、該Ｊバイト分のデータが揃う度にそれらを出力する。
【００３１】
次に図１に示した符号化データ整列部１０４について図３及び図４を用いて詳細に説明する。
【００３２】
図３は図１に示した符号化データ整列部の一構成例を示すブロック図であり、図４は図３に示した符号化データ整列部の処理によって入力データが整列される様子を示す模式図である。
【００３３】
図３に示すように、符号化データ整列部１０４は、有効／無効情報に基づいて有効データ（符号化データ）の数をカウントする有効データカウンタ３０１と、各データの優先度を決定する優先度カウンタ３０２と、符号化データに制御コードを挿入するか否かを判定する制御コード挿入判定部３００と、優先度カウンタ３０２で決定した優先度にしたがって各データの送出順を制御すると共に、有効データカウンタ３０１のカウント結果から後段のスイッチ部３０４で使用する転送情報を生成し、該転送情報を各データに付加して出力する送出制御部３０３と、送出制御部３０３から出力されたデータを整列するスイッチ部３０４と、スイッチ部３０４から出力されたデータをバイト単位で入れ替え、所定のデータ幅単位で出力するデータ入替部３０５とを有する構成である。
【００３４】
スイッチ部３０４は、例えば４つの２×２スイッチを３段階に接続することで構成された８×８スイッチを備え、各２×２スイッチ３０４−１〜３０４−１２は各データに付与された転送情報に基づいてそれぞれの出力先を決定する。なお、図３では複数の２×２スイッチを用いて８×８スイッチを構成した例を示しているが、スイッチ部３０４は８×８スイッチに限定されるものではなく、任意のサイズのスイッチを用いてもよい。
【００３５】
また、図３は符号化データ整列部１０４の構成を示しているが、図３に示す制御コード挿入判定部３００を除けば、図２に示した復号データ整列部２０４も同様の構成を用いることができる。
【００３６】
符号化データ整列部１０４は、データ符号化部１０２から符号化データ及び有効／無効情報を受信すると、制御コード挿入判定部３００により符号化データに制御コードを挿入するか否かを判定する。符号化データ整列部１０４は、例えば予め定めた所定のバイト数のデータを受信したときに制御コードを挿入する。
【００３７】
有効データカウンタ３０１は、有効／無効情報に基づいてデータ符号化部１０２から受信したデータの有効データ数をカウントする。また、優先度カウンタ３０２はスイッチ部３０４へ送出するデータの優先度情報を生成する。
【００３８】
送出制御部３０３は、制御コード挿入判定部３００から供給される制御コード、符号化データ、及び有効データカウンタ３０１から出力されたカウント結果に基づき、符号化データ及び制御コードを含む各バイトデータにスイッチ部３０４で使用する転送情報を生成／付加し、優先度カウンタ３０２で生成された優先度情報の順にしたがって出力する。
【００３９】
スイッチ部３０４は、送出制御部３０３から受信した転送情報にしたがってデータを転送する。データ入替部３０５は、図３に示す接続テーブル３０８に格納された情報にしたがってスイッチ部３０４から出力されたデータの出力先を入れ替えて出力する。図３に示す接続テーブルには、入力ポート０，１，２，３，４，５，６，７に入力されたデータを、接続先ポート０，４，２，６，１，５，３，７に出力する例が示されている。
【００４０】
以下、図３に示した符号化データ整列部１０２の動作についてより具体的に説明する。
【００４１】
ここでは符号化データ整列部１０４に入力されるデータが６バイトパラレルとし、出力データは４バイトパラレルであるとする。また、符号化データ整列部１０４は２バイトの制御コードを付加するものとする。また、スイッチ部３０４には、図３に示したように８×８スイッチを用いる。
【００４２】
さらに、符号化データ整列部１０４には、図４に示すように第１の入力データ４００及び第２の入力データ４０１がそれぞれ入力されるものとする。第１の入力データ４００はバイトデータ４００−１〜４００−６で構成され、第２の入力データ４０１はバイトデータ４０１−１〜４０１−６で構成されている。また、図４の網掛けで示すバイト４００−４、４０１−２は無効データであり、それ以外のデータは有効データであるものとする。例えば第１の入力データ４００には、第３のバイトデータ（Ｄ３）４００−３に続いて２バイトの制御コード４０２−１、４０２−２が挿入されている。
【００４３】
本実施形態では、有効データカウンタ３０１に０〜３までカウントできるカウンタを用いる。また、優先度カウンタ３０２には０〜１までカウントでき、かつ最大値までカウントすると"０"に戻るカウンタを用いる。また、有効データカウンタ３０１の初期値は"３"とし、優先度カウンタ３０２の初期値は"０"とする。
【００４４】
一般に、ＸバイトパラレルのデータをＹバイトパラレルのデータに整列する場合、有効データカウンタ３０１には０〜Ｘ−１までカウントできるカウンタを用い、該カウンタの初期値は"Ｘ−１"とする。また、優先度カウンタ３０２には０〜（Ｘ／Ｙより小さい整数で最大のもの）までカウントできるカウンタを用い、その初期値は"０"とする。
【００４５】
このような構成において、符号化データ整列部１０４に第１の入力データ４００が入力されると、有効データカウンタ３０１は入力データの各バイトデータ４００−１〜６及び制御コード４０２−１〜２に対して、以下に記載する演算を実行し、その演算結果を出力する。
【００４６】
まず、バイトデータ４００−１が入力されると、有効データカウンタ３０１は、バイトデータ４００−１が有効データであるため、初期値"３"を"１"だけカウントアップして"０"を出力する。
【００４７】
続いて、バイトデータ４００−２が入力されると、それ以前にバイトデータ４００−１及び４００−２の有効データが存在するため、有効データカウンタ３０１は初期値"３"から"２"だけカウントアップして"１"を出力する。
【００４８】
次に、バイトデータ４００−３が入力されると、それ以前にバイトデータ４００−１、４００−２及び４００−３の有効データが存在するため、有効データカウンタ３０１は初期値"３"から"３"だけカウントアップして"２"を出力する。
【００４９】
ここで、制御コード４０２−１を挿入するため、有効データカウンタ３０１は同様の演算を行い、制御コード４０２−１に対応して"３"を出力する。優先度カウンタ３０２は、ここまで"０"を出力し、次の有効バイトでカウントアップする。優先度カウンタ３０２は、第１の入力データ４００または４０１に同一の有効データカウンタの値を持つ有効データバイトが存在するとき、カウントアップを行う。
【００５０】
制御コード４０２−２についても同様の演算を実行し、有効データカウンタ３０１は"０"を出力する。しかしながら、既に有効データカウンタ３０１は、バイトデータ４００−１のときに"０"を出力しているため、優先度カウンタ３０２を"１"にカウントアップする。
【００５１】
バイトデータ４００−４が入力されると、バイトデータ４００−４は無効データであるため、有効データカウンタ３０１はカウントアップを行わない。
【００５２】
バイトデータ４００−５、４００−６についても同様に演算を行い、バイトデータ４００−５が入力されると有効データカウンタ３０１は"１"を出力し、バイトデータ４００−６が入力されると有効データカウンタ３０１は"２"を出力する。
【００５３】
以上の処理をまとめると、第１の入力データ４００に対する有効バイトカウンタ３０１及び優先度カウンタ３０２の値は、図４の４０３−１〜４０３−６、４０４−１〜４０４−２で示される値となる。
【００５４】
これら図４の４０３−１〜４０３−６、４０４−１〜４０４−２で示される有効バイトカウント値及び優先度カウント値を持つバイトデータは、優先度カウンタ３０２の値が小さく（"０"）、かつ有効データの場合に、送出制御部３０３から有効バイトカウント値と共にバイトデータ３０６−１〜３０６−８として出力される。
【００５５】
有効バイトカウント値は後段のスイッチ部３０４におけるスイッチ設定情報として利用される。有効バイトカウント値（３ビット情報）を２進表記したものにおいて、下位からビット１、ビット２、ビット３とし、スイッチ部３０４の第１段目の２×２スイッチ３０４−１〜３０４−４の設定情報をビット１、第２段目の２×２スイッチ３０４−５〜３０４−８の設定情報をビット２、第３段目の２×２スイッチ３０４−９〜３０４−１２の設定情報をビット３とする。
【００５６】
スイッチ部３０４の２×２スイッチ３０４−１〜３０４−１２は、入力データの有効バイトカウント値の該当ビットが"０"である場合、出力ポートとして"０"を選択し、"１"である場合は出力ポートとして"１"を選択する。
【００５７】
第１の入力データ４００の第１のバイトデータ４００−１は、スイッチ部３０４にバイトデータ３０６−１として入力され、有効バイトカウント値が"０００ｂ"（以下末尾にｂが付与されたデータ２進表記を示している）であるため、２×２スイッチ３０４−１、３０４−５、３０４−９を介して、データ入替部３０５の入力ポート"０"に転送され、図３に示す接続テーブル３０８にしたがって出力ポート"０"から出力される。
【００５８】
また、第２のバイトデータ４００−２は、スイッチ部３０４にバイトデータ３０６−２として入力され、有効バイトカウント値が"００１ｂ"であるため、２×２スイッチ３０４−１、３０４−７、３０４−１１を介して、データ入替部３０５の入力ポート"４"に転送され、図３に示す接続テーブル３０８にしたがって出力ポート"１"から出力される。
【００５９】
優先度カウント値が"０"である第３のバイトデータ４００−３及び制御コード４０２−１についても同様の処理が実行され、出力データ４０６が出力される。また、優先度カウント値が"１"であるバイトデータについては出力データ４０７が出力される（処理は同様であるため省略する）。
【００６０】
符号化データ整列部１０４に第２の入力データ４０１が入力された場合、有効データカウンタ３０１の初期値が第１の入力データ４００に対する処理後の値である"２"となる点で、第１の入力データ４００に対する処理と異なっている。しかしながら、その後は、第１の入力データ４００対する処理と同様の処理が実行され、出力データ４０８、４０９が得られる。
【００６１】
符号化データ整列部１０４から出力されたデータは、データ送信部１０５により４バイト単位で送信される。このとき、データ送信部１０５は、例えば符号化データ整列部１０４の出力データ４０７に第４のバイトデータがないため、出力データ４０７を受け取った時点では送信処理を実行せず、次の出力データ４０８を受け取った時点で、出力データ４０７に出力データ４０８の第４のバイトデータ（Ｄ６）を併せて出力する。
【００６２】
同様に、出力データ４０８の第１のバイト〜第３のバイト（Ｄ７〜Ｄ９）は、出力データ４０９のバイトデータ（Ｄ１０）の到着を待って同時に出力される。但し、符号化対象の最後のバイトデータを受信したときには、次のデータの到着を待つことなく送信する。
【００６３】
以上、符号化データ整列部１０４の詳細な動作について説明したが、復号データ整列部２０４も、制御コードの挿入処理がないことを除けば同一の構成で実現できる。また、上記説明では、符号化データ整列部１０４のスイッチ部３０４による転送処理をバイト単位で実行する例を示したが、スイッチ部３０４による処理は特にバイトデータに限定するものではない。
【００６４】
次に、本実施形態の符号化／復号処理で用いる変換テーブルについて図５及び図６を用いて説明する。なお、以下では符号化／復号処理にＢａｓｅ６４を利用する場合を例にして説明する。
【００６５】
図５は図１に示した符号化テーブルの一構成例を示す模式図であり、図６は図２に示した復号テーブルの一構成例を示す模式図である。
【００６６】
Ｂａｓｅ６４は、６ビットのデータを８ビットで表示可能なアスキー文字に変換する符号化方式である。図５に示すように、符号化テーブル１０３は、符号化対象である６ビットのデータをアドレスとし、該アドレスに対応するデータ格納領域に符号化後の８ビットデータ（アスキー文字）が格納されたメモリによって実現される。
【００６７】
また、図６に示すように、復号テーブル２０３は、復号対象である８ビットのデータ（アスキー文字）をアドレスとし、該アドレスに対応するデータ格納領域に復号後の６ビットデータが格納されたメモリによって実現される。
【００６８】
本実施形態では、Ｂａｓｅ６４の変換テーブルをメモリで構成する例を示したが、変換が単純なもの、例えばビット演算で単純に変換できるものについては、メモリで構成する必要はない。
【００６９】
本実施形態のデータ符号化／復号システムによれば、符号化データ整列部１０４または復号データ整列部２０４により、符号化データまたは復号データを所定のデータ幅単位で整列することで、符号化または復号処理によってデータが増減しても、データ送信部１０５、２０５から符号化データまたは復号データを所定のデータ幅毎に出力できるため、並列に入力される複数のデータの符号化／復号処理が可能になる。したがって、符号化／復号処理を高速に実行できる。
（第２の実施の形態）
次に本発明のデータ符号化／復号システムの第２の実施の形態について図７を用いて説明する。
【００７０】
図７は本発明のデータ符号化／復号システムの第２の実施の形態の構成を示すブロック図である。
【００７１】
図７に示すように、第２の実施の形態のデータ符号化／復号システムは、データ受信部７００、データ処理部７０１、データ符号化／復号部７０２、データ整列部７０５、データ送信部７０６、変換テーブル７０３及びテーブル切替部７０４を有する構成である。
【００７２】
本実施形態のデータ符号化／復号システムは、第１の実施の形態で示したデータ符号化装置及びデータ復号装置を共通の構成で実現したものであり、データ受信部７００は第１の実施の形態で示したデータ符号化装置のデータ受信部１００及びデータ復号装置のデータ受信部２００の機能をそれぞれ備えた構成であり、データ処理部７０１は第１の実施の形態で示したデータ符号化装置のデータ抽出部１０１及びデータ復号装置の制御コード削除部２０１の機能をそれぞれ備えた構成である。また、データ符号化／復号部７０２は第１の実施の形態で示したデータ符号化装置のデータ符号化部１０２及びデータ復号装置のデータ復号部２０２の機能をそれぞれ備えた構成であり、データ整列部７０５は第１の実施の形態で示したデータ符号化装置の符号化データ整列部１０４及びデータ復号装置の復号データ整列部２０４の機能をそれぞれ備えた構成である。さらに、データ送信部７０６は第１の実施の形態で示したデータ符号化装置のデータ送信部１０５及びデータ復号装置のデータ送信部２０５の機能をそれぞれ備えた構成であり、変換テーブル７０３は、第１の実施の形態で示したデータ符号化装置の符号化テーブル１０３及びデータ復号装置の復号テーブル２０３の機能をそれぞれ備えた構成である。
【００７３】
なお、本実施形態では、データの整列処理にスイッチを利用している点に着目して、スイッチのサイズを符号化／復号処理のうち大きい方に一致させることで、符号化／復号処理で共通に利用可能なデータ整列部７０５を構成する。
【００７４】
データ受信部７００、データ処理部７０１、データ符号化／復号部７０２、データ整列部７０５は、外部から供給される符号／復号処理モード信号にしたがって符号化処理または復号処理を実行する。
【００７５】
テーブル切替部７０４は、符号／復号処理モード信号にしたがって変換テーブル７０３を切り替え（符号化テーブルまたは復号テーブル）、データ符号化／復号部７０２で実行する符号化処理あるいは復号処理に対応したテーブルを供給する。
【００７６】
データ受信部７００、データ処理部７０１、データ符号化／復号部７０２、変換テーブル７０３、データ整列部７０５及びデータ送信部７０６がそれぞれ有するデータ符号化装置としての機能、及びデータ復号装置としての機能は第１の実施の形態と同様であるため、その詳細な説明は省略する。
【００７７】
本実施形態のデータ符号化／復号システムによれば、第１の実施の形態で示したデータ符号化装置及びデータ復号装置を共通の構成で実現しているため、第１の実施の形態のデータ符号化／復号システムと同様の効果が得られると共に、符号化処理及び復号処理をより小さい回路規模で実現できる。したがって、実装面積が縮小され、データ符号化／復号システムのコストも低減できる。
【図面の簡単な説明】
【００７８】
【図１】本発明の第１の実施の形態のデータ符号化／復号システムが有するデータ符号化装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態のデータ符号化／復号システムが有するデータ復号装置の構成を示すブロック図である。
【図３】図１に示した符号化データ整列部の一構成例を示すブロック図である。
【図４】図３に示した符号化データ整列部の処理によって入力データが整列される様子を示す模式図である。
【図５】図１に示した符号化テーブルの一構成例を示す模式図である。
【図６】図２に示した復号テーブルの一構成例を示す模式図である。
【図７】本発明のデータ符号化／復号システムの第２の実施の形態の構成を示すブロック図である。
【符号の説明】
【００７９】
１００、２００、７００    データ受信部
１０１    データ抽出部
１０２    データ符号化部
１０３    符号化テーブル
１０４    符号化データ整列部
１０５、２０５、７０６    データ送信部
２０１    制御コード削除部
２０２    データ復号部
２０３    復号テーブル
２０４    復号データ整列部
３００    制御コード挿入判定部
３０１    有効データカウンタ
３０２    優先度カウンタ
３０３    送出制御部
３０４    スイッチ部
３０５    データ入替部
３０８    接続テーブル
７０１    データ処理部
７０２    データ符号化／復号部
７０３    変換テーブル
７０４    テーブル切替部
７０５    データ整列部
【図１】
2006211331.tif 000003
【図２】
2006211331.tif 000004
【図３】
2006211331.tif 000005
【図４】
2006211331.tif 000006
【図５】
2006211331.tif 000007
【図６】
2006211331.tif 000008
【図７】
2006211331.tif 000009