(57)【要約】【課題】マーカと区別する判別データの削除および挿入を処理性能の低下を伴わずに処理するデコード装置およびエンコード装置を提供する。【解決手段】  本発明のデコード装置は、符号化データを保持するメモリと、前記符号化データを比較する比較器と前記符号化データからデータを削除する削除部を持つ第１のデコード回路と、前記第1のデコード回路の出力データを復号化する第２のデコード回路と、復号化されたデータを保持するメモリを備える。【選択図】図１
2006121531.tif 000002
【特許請求の範囲】
【請求項１】
圧縮音声または圧縮画像を表す符号化データを保持するメモリと、
前記メモリから順次符号化データを読み出すメモリ読み出し部と、
前記メモリ読み出し部によって読み出された符号化データについて、特定ビット列と一致するデータが存在するか否かを判定する一致判定回路と、
前記一致判定回路によって存在すると判定されたとき、前記メモリから読み出された符号化データから特定ビット列の一部を削除する削除回路と、
削除後の符号化データを復号化するデコード回路と
を備えることを特徴とするデコード装置。
【請求項２】
前記デコード装置は、さらに、
前記メモリから読み出された符号化データに含まれるヘッダに基づいて、符号化データの種類を判定するヘッダ判定回路を備え、
前記一致判定回路は、ヘッダ判定回路に判定された符号化データの種類に応じて、特定ビット列のビットパターンを変更する
ことを特徴とする請求項１記載のデコード装置。
【請求項３】
前記デコード装置は、さらに、
前記メモリから読み出された符号化データに含まれるヘッダのサイズを判定するサイズ判定回路を備え、
前記メモリ読み出し部は、サイズ判定回路に判定されたサイズに応じて、ヘッダを読み飛ばすように読み出しアドレスを更新する
ことを特徴とする請求項１記載のデコード装置。
【請求項４】
前記デコード装置は、さらに、
前記削除回路とデコード回路との間に、前記削除回路による削除後の符号化データを一時的に保持する保持回路を備え、
前記メモリ読み出し部は、第１のバス幅で符号化データを読み出し、
前記デコード回路の入力バス幅は、第１のバス幅よりも小さい第２のバス幅であり、
前記保持回路は、削除回路による削除後の符号化データを保持し、保持された符号化データを第２のバス幅に調整して、前記デコード回路に出力する
ことを特徴とする請求項１記載のデコード装置。
【請求項５】
前記デコード装置は、さらに、
前記メモリから読み出された符号化データに含まれるヘッダのサイズを判定するサイズ判定回路を備え、
前記保持回路は、さらに、サイズ判定回路に判定されたサイズに応じて、保持データからヘッダを削除する
ことを特徴とする請求項４記載のデコード装置。
【請求項６】
前記特定ビット列は、第１ビット列とそれに付加された第２ビット列とからなり、
前記削除回路は、第２ビット列を削除する
ことを特徴とする請求項１から５の何れかに記載のデコード装置。
【請求項７】
前記一致判定回路は、
前記メモリから読み出された符号化データを第１の所定サイズ毎に、第１ビット列と比較する第１比較器と、
前記メモリから読み出された符号化データを第２の所定サイズ毎に、第２ビット列と比較する第２比較器と、
１サイクル前に読み出された符号化データについて第１比較器の少なくとも一部の比較結果を保持するレジスタと
を備えることを特徴とする請求項６記載のデコード装置。
【請求項８】
前記削除回路は、
前記第１比較器、第２比較器の比較結果と、レジスタに保持された比較結果とから、特定ビット列を判別する判別回路と、
判別された特定ビット列中の第２ビット列を除外するように、前記メモリから読み出された符号化データを部分的に選択出力するセレクタ回路と
を備えることを特徴とする請求項７記載のデコード装置。
【請求項９】
符号化すべきデータを保持する第１メモリと、
前記メモリから符号化すべきデータを順次読み出すメモリ読み出し部と、
メモリから読み出されたデータを符号化するエンコード回路と、
前記エンコード回路から出力される符号化データについて、特定ビット列と一致するデータが存在するか否かを判定する一致判定回路と、
前記一致判定回路によって存在すると判定されたとき、前記エンコード回路から出力される符号化データに特定のビット列の追加する追加回路と、
挿入後の符号化データを格納する第２メモリと
を備えるエンコード装置。
【請求項１０】
前記第２メモリのバス幅は、前記エンコード回路の出力バス幅よりも大きく、
前記追加回路は、前記エンコード回路から出力された符号化データを保持し、保持データのサイズを、第２メモリのバス幅に調整する
ことを特徴とする請求項９記載のエンコード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声や画像のデータ圧縮処理およびデータ伸張処理において、符号化データの復号化を行うデコード装置及び、符号化を行うエンコード装置に関する。
【背景技術】
【０００２】
従来、特許文献１に示されるように、音声や画像等の復号化を行うデコード装置では、符号化されたデータは、固定長復号化手段および可変長復号化手段において復号化された後、逆量子化手段へ出力される。また、符号化を行うエンコード装置では、量子化されたデータは、固定長符号化手段および可変長符号化手段において符号化され、圧縮データが出力される。
【０００３】
また、一般に固定長復号化および可変長復号化を行うデコード装置は、図１６のように構成される。同図のデコード装置は、プロセッサ９００、入力データメモリ９１０、入力データメモリI/F９２０、デコード回路９３０、出力データメモリ９４０、出力データメモリI/F９５０を備える。
【０００４】
プロセッサ９００は、入力データメモリ９１０に格納された符号化データの加工を行うため、入力データメモリ９１０へアクセスする。ここでいうデータの加工には、マーカの削除がある。ＪＰＥＧの場合、マーカは、ヘッダやテーブル類であることを示すために各種マーカが規定されている。マーカは「ＦＦ」などの特定ビット列であり、それに後続する１バイトデータがデータではなく制御コードであることを示す。符号化データのデコード処理では、符号化されたデータ中にマーカと同じ特定ビット列がある場合、特定ビット列からなるマーカとを区別するために、マーカではないことを表す判別データ（例えば「００」）が追加される。例えば、符号化されたデータ中の「ＦＦ０１」の「ＦＦ」はマーカであるが、「ＦＦ００」の「ＦＦ」はマーカではなくデータである。プロセッサ９００は、このような判別データ「００」を削除する。
【０００５】
デコード回路９３０は、入力データメモリ９１０からデコードすべきデータを読み込むため、入力データメモリI/F９２０へデータ要求信号を出力する。
【０００６】
入力データメモリI/F９２０は、プロセッサ９００とデコード回路９３０のアクセスが重なった場合、一方のアクセスを許可し、もう一方のアクセスを待機させる。
【０００７】
デコード回路９３０は、入力データメモリ９１０からデコードすべきデータを読み込むと、デコードを実施し、結果を出力データメモリ９４０へ出力し、出力データが有効であることを示すデータ出力信号を出力データメモリI/F９５０へ出力する。
【０００８】
出力データメモリI/F９５０は、出力データメモリ９４０のライトアドレスを出力する。
【０００９】
このようにして、入力データメモリ９１０のデータをデコードして、出力データメモリ９４０へ格納するデコード装置が動作する。
【特許文献１】特開平６−６９８１２号公報（第５頁、第一図）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、従来のデコード装置では、プロセッサが、符号化されたデータから、マーカではないことを表す判別データを削除し、入力データメモリに書いた後、デコード回路が復号化し、出力データメモリへ出力していた。マーカでないことを表す判別データの削除をプロセッサで行うため、メモリとプロセッサ間のデータ入出力処理および、プロセッサでの削除処理が必要となり、デコード処理性能が低下するという問題がある。
【００１１】
以上の問題点に鑑み本発明は、マーカと区別する判別データの削除および挿入を処理性能の低下を伴わずに処理するデコード装置およびエンコード装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため本発明のデコード装置は、圧縮音声または圧縮画像を表す符号化データを保持するメモリと、前記メモリから順次符号化データを読み出すメモリ読み出し部と、前記メモリ読み出し部によって読み出された符号化データについて、特定ビット列と一致するデータが存在するか否かを判定する一致判定回路と、前記一致判定回路によって存在すると判定されたとき、前記メモリから読み出された符号化データから特定ビット列の一部を削除する削除回路と、削除後の符号化データを復号化するデコード回路とを備える。
【００１３】
この構成によれば、特定ビット列の一部（例えばマーカでないことを表す判別データ）の削除をプロセッサでする必要がなくなり、メモリとプロセッサ間のデータ入出力処理及び、プロセッサでの削除処理がなくなるため、デコード回路の動作速度の低下を防止できる。
【００１４】
ここで、前記デコード装置は、さらに、前記メモリから読み出された符号化データに含まれるヘッダに基づいて、符号化データの種類を判定するヘッダ判定回路を備え、前記一致判定回路は、ヘッダ判定回路に判定された符号化データの種類に応じて、特定ビット列のビットパターンを変更する構成としてもよい。
【００１５】
この構成によれば、特定ビット列の一部が符号化データの種類によって異なる場合であっても、ヘッダ判定回路により符号化データの種類を判別し、その結果により比較するデータと削除するデータを符号化データの種類毎に決められた組み合わせを設定することにより、プロセッサでのヘッダ解析処理および、比較するデータと削除するデータの変更をデコード回路へ設定する処理がなくなるため、デコード回路の動作速度の低下を防止できる。
【００１６】
ここで、前記デコード装置は、さらに、前記メモリから読み出された符号化データに含まれるヘッダのサイズを判定するサイズ判定回路を備え、前記メモリ読み出し部は、サイズ判定回路に判定されたサイズに応じて、ヘッダを読み飛ばすように読み出しアドレスを更新するようにしてもよい。
【００１７】
この構成によれば、符号化データ中のデコードする必要のないヘッダデータをデコード回路へ入力しなくてよいため、デコード回路の符号化データ処理速度が向上する。
【００１８】
ここで、前記デコード装置は、さらに、前記削除回路とデコード回路との間に、前記削除回路による削除後の符号化データを一時的に保持する保持回路を備え、前記メモリ読み出し部は、第１のバス幅で符号化データを読み出し、前記デコード回路の入力バス幅は、第１のバス幅よりも小さい第２のバス幅であり、前記保持回路は、削除回路による削除後の符号化データを保持し、保持された符号化にデータを第２のバス幅に調整して、前記デコード回路に出力する構成としてもよい。
【００１９】
この構成によれば、符号化データからデータが削除された場合であっても、符号化データをデコード回路へ入力するデータが不足することなく、データ不足によるスループットの低下を防止できる。
【００２０】
ここで、前記デコード装置は、さらに、前記メモリから読み出された符号化データに含まれるヘッダのサイズを判定するサイズ判定回路を備え、前記保持回路は、さらに、サイズ判定回路に判定されたサイズに応じて、保持データからヘッダを削除する構成としてもよい。
【００２１】
この構成によれば、符号化データ中のデコードする必要のないヘッダデータをデコードせず、ヘッダ判定と同時にヘッダデータを飛ばして、ヘッダデータの次の符号化データをデコード回路へ入力できるため、デコード回路の符号化データ処理速度が向上し、デコード処理のスループットの低下を防止できる。
【００２２】
ここで、前記特定ビット列は、第１ビット列とそれに付加された第２ビット列とからなり、前記削除回路は、第２ビット列を削除する構成としてもよい。
【００２３】
ここで、前記一致判定回路は、前記メモリから読み出された符号化データを第１の所定サイズ毎に、第１ビット列と比較する第１比較器と、前記メモリから読み出された符号化データを第２の所定サイズ毎に、第２ビット列と比較する第２比較器と、１サイクル前に読み出された符号化データについて第１比較器の少なくとも一部の比較結果を保持するレジスタとを備えるようにしてもよい。
【００２４】
ここで、前記削除回路は、前記第１比較器、第２比較器の比較結果と、レジスタに保持された比較結果とから、特定ビット列を判別する判別回路と、判別された特定ビット列中の第２ビット列を除外するように、前記メモリから読み出された符号化データを部分的に選択出力するセレクタ回路とを備えるようにしてもよい。
【００２５】
また、本発明のエンコード装置は、符号化すべきデータを保持する第１メモリと、前記メモリから符号化すべきデータを順次読み出すメモリ読み出し部と、メモリから読み出されたデータを符号化するエンコード回路と、前記エンコード回路から出力される符号化データについて、特定ビット列と一致するデータが存在するか否かを判定する一致判定回路と、前記一致判定回路によって存在すると判定されたとき、前記エンコード回路から出力される符号化データに特定のビット列の追加する追加回路と、挿入後の符号化データを格納する第２メモリとを備える。
【００２６】
この構成によれば、符号化データ中に、マーカでないことを表す判別データの挿入をプロセッサでする必要がなくなり、メモリとプロセッサ間のデータ入出力処理及び、プロセッサでの挿入処理がなくなるため、エンコード回路の動作速度の低下を防止できる。
【００２７】
ここで、前記第２メモリのバス幅は、前記エンコード回路の出力バス幅よりも大きく、前記追加回路は、前記エンコード回路から出力された符号化データを保持し、保持データのサイズを、第２メモリのバス幅に調整するようにしてもよい。
【００２８】
この構成によれば、符号化データにデータが挿入された場合であっても、符号化されたデータを保持するメモリへ出力するデータバスが不足することなく、データ転送待ちによるエンコード処理のスループットの低下を防止できる。
【発明の効果】
【００２９】
以上のように本発明のデコード装置およびエンコード装置によれば、マーカとデータとを区別する判別データの削除および挿入を処理性能の低下を伴わずに処理することができる。
【発明を実施するための最良の形態】
【００３０】
（実施の形態１）
図１は、本発明の実施の形態におけるデコード装置の構成を示す図である。このデコード装置は、入力データメモリ１００、入力データメモリI/F１５０、第１のデコード回路２００、一致判定回路３００、データ削除回路４００、第２のデコード回路５００、出力データメモリ６００、出力データメモリI/F６５０を備える。第１のデコード回路２００は、データを比較する一致判定回路３００と特定データを削除するデータ削除回路４００を有し、入力データメモリ１００から読み出された符号化データから特定データを削除し、削除後の符号化データを第２のデコード回路５００に出力するよう構成されている。ここでいう特定データは、マーカとデータとを判別するための判別データ（本実施形態では「ＦＦ」に後続する場合の「００」とする。）である。
【００３１】
入力データメモリ１００は、符号化されたデータを格納している。第２のデコード回路５００のデータ要求信号により、入力データメモリI/F１５０がリードイネーブルとリードアドレスを入力データメモリ１００へ出力する。入力データメモリ１００は、入力データメモリI/F１５０からリードイネーブルとリードアドレスを入力し、データとバイト毎の有効信号であるバイトバリッド信号を第１のデコード回路２００へ出力する。
【００３２】
第１のデコード回路２００は、入力データメモリ１００から、データとバイトバリッド信号を入力し、特定データを削除した後のデータとバイトバリッド信号を第２のデコード回路５００へ出力する。この第１のデコード回路は、プロセッサによる削除処理よりも高速に動作するので、デコード装置の動作速度を向上させることができる。
【００３３】
第１のデコード回路２００は、一致判定回路３００とデータ削除回路４００からなる。一致判定回路３００は、入力データメモリ１００から、データとバイトバリッド信号を入力し、削除するデータをデータ比較により取得し、どのデータを削除し、どのデータを有効とするかを表すデータ選択信号をデータ削除回路４００へ出力する。
【００３４】
データ削除回路４００は、入力データメモリ１００から、データとバイトバリッド信号を入力し、一致判定回路３００から入力されたデータ選択信号に従って、特定データを削除したデータを第２のデコード回路５００へ出力する。
【００３５】
第２のデコード回路５００は、出力データメモリ６００へデコード結果データを出力し、出力データメモリＩ／Ｆ６５０へデコード結果データが有効であることを表すデータ出力信号を出力する。
【００３６】
出力データメモリＩ／Ｆ６５０は、第２のデコード回路５００から出力されるデータ出力信号に応じて、出力データメモリ６００へライトイネーブル信号とライトアドレスを出力する。
【００３７】
図２は、第１のデコード回路２００内の一致判定回路３００およびデータ削除回路４００の詳細な構成と、入力データメモリ１００および第２のデコード回路５００とを示す図である。
【００３８】
同図に示すように、一致判定回路３００は、データ「ＦＦ」との比較を行うＦＦ比較器３１０、データ００との比較を行う００比較器３２０、データ「ＦＦ」との比較結果を保持するＦＦ比較結果レジスタ３３０、削除データ判別回路３４０を備える。また、データ削除回路４００は、バイトデータセレクタ４１０、４２０、４３０、４４０と、バイトバリッド信号をセレクトするバリッドセレクタ４５０、４６０、４７０、４８０を備える。図２の信号線として、クロック信号１０１、リードイネーブル信号１０２、リードアドレス１０３、入力データメモリ１００から出力されるデータ１０４、入力データメモリ１００から出力されるバイトバリッド信号１０５、ＦＦ比較器３１０から出力されるデータ「ＦＦ」との比較結果信号Ｓ３１１、データ「ＦＦ」との比較結果信号Ｓ３１１の最下位ビットＳ３１２、００比較器３２０から出力されるデータ００との比較結果信号Ｓ３２１、ＦＦ比較結果レジスタの出力信号Ｓ３３１、削除データ判別回路３４０から出力されるデータ選択信号Ｓ３４１、Ｓ３４２、Ｓ３４３、Ｓ３４４、バイトデータセレクタ４１０、４２０，４３０，４４０の出力を束ねた信号Ｓ４０１、バリッドセレクタ４５０，４６０，４７０，４８０の出力を束ねた信号Ｓ４０２を示してある。
【００３９】
ＦＦ比較器３１０は、入力データメモリ１００から読み出された４バイト分の符号化データの各バイトと「ＦＦ」とを比較し、一致するか否かを示す４ビットの比較結果信号Ｓ３１１を出力する。
【００４０】
００比較器３２０は、入力データメモリ１００から読み出された４バイト分の符号化データの各バイトと「００」とを比較し、一致するか否かを示す４ビットの比較結果信号Ｓ３２１を出力する。
【００４１】
ＦＦ比較結果レジスタ３３０は、１サイクル前にＦＦ比較器３１０から出力された比較結果信号Ｓ３１１の最下位ビットを保持する。これは、「ＦＦ」と「００」とが入力データメモリ１００から読み出される３２ビットの境界をまたがっている場合を検出するためである。
【００４２】
削除データ判別回路３４０は、ＦＦ比較器３１０から出力される比較結果信号Ｓ３１１、００比較器３２０から出力される比較結果信号Ｓ３２１、ＦＦ比較結果レジスタの出力信号Ｓ３３１に基づいて、入力データメモリ１００から読み出された３２ビットデータから「ＦＦ００」ビットパターンを検出した場合に、その「ＦＦ」に後続する（下位側に隣接する）「００」を判別し、当該「００」を削除するように、データ選択信号Ｓ３４１、Ｓ３４２、Ｓ３４３、Ｓ３４４の出力値を制御する。その際、削除データ判別回路３４０は、ＦＦ比較結果レジスタ３３０の出力信号Ｓ３３１によって、入力データメモリ１００から読み出された１サイクル前の３２ビットデータの最下位バイトが「ＦＦ」であり、かつ現在のサイクルの３２ビットデータの最上位バイトが「００」である場合には、当該「００」を削除するよう、データ選択信号Ｓ３４１、Ｓ３４２、Ｓ３４３、Ｓ３４４の出力値を制御する。
【００４３】
図２のデコード装置の動作について、図３を用いて説明する。
【００４４】
図３は、本実施の形態におけるデコード装置の動作タイミング図である。
リードイネーブル信号１０２が３サイクル有効になり、その３サイクルの各サイクルで、３２ビットをアクセス単位とするリードアドレス１０３が「０」，「１」，「２」としたとき、データ１０４とバイトバリッド信号１０５が図３のように得られる場合を説明する。マーカは「ＦＦ」，削除データは「００」としている。
【００４５】
図３において、クロック１０１を基準として、サイクルをＣ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６、Ｃ７と表記する。
【００４６】
サイクルＣ２、Ｃ３、Ｃ４のデータ１０４、バイトバリッド信号１０５に対して、ＦＦ比較器出力Ｓ３１１は、データ１０４の「ＦＦ」のバイト位置に合わせて、「０００１」、「０１００」、「００００」となり、００比較器出力Ｓ３２１は、データ１０４の「００」のバイト位置に合わせて、「１０００」、「１０１０」、「００００」となる。
【００４７】
ＦＦ比較結果レジスタＳ３３１は、データ１０４の最下位1バイトが「ＦＦ」である場合、削除データ「００」の判定を次のサイクルのデータ１０４に対して行う必要があるため、1サイクル保持している。
【００４８】
削除データ判定回路３４０では、ＦＦ比較器出力Ｓ３１１と、００比較器出力Ｓ３２１とＦＦ比較結果レジスタＳ３３１を入力し、データ削除情報３３２を作成し、データ選択信号Ｓ３４１、Ｓ３４２、Ｓ３４３、Ｓ３４４を出力する。
【００４９】
サイクルＣ３のデータ削除情報３３２に示すように、データ１０４に存在するデータ値「ＦＦ００」の「００」のバイト位置が得られる。
【００５０】
データ選択信号Ｓ３４１、Ｓ３４２、Ｓ３４３、Ｓ３４４は、データ１０４のバイト位置を下位バイトから、「１」「２」「３」「４」と数え、データ１０４をバイトデータセレクタ４１０，４２０，４３０，４４０により、削除後のデータを左詰めで得られるようにしたものである。
【００５１】
削除されバイトデータが不必要である場合は、データ選択信号Ｓ３４１、Ｓ３４２、Ｓ３４３、Ｓ３４４を「０」とし、バイトバリッド信号Ｓ４０２の対応するバイト位置に無効データである「０」を設定する。
【００５２】
以上により、符号化データに含まれる「ＦＦ００」のうち「００」が削除されたデータＳ４０１が第２のデコード回路５００へ入力される。
【００５３】
このように本実施の形態におけるデコード装置によれば、マーカではない符号化データとしての「ＦＦ」に付与される判別データ「００」は、第１のデコード回路によって１サイクルで削除されるので、プロセッサによる判別データの削除処理よりも高速化でき、処理速度の低下を防止することができる。
【００５４】
（実施の形態２）
図４は、本発明の実施の形態２におけるデコード装置の構成を示す図である。このデコード装置は、デコード回路へ入力される符号化データを、符号化データ中のヘッダデータを認識するヘッダ判定回路と、データを比較する一致判定回路と特定データを削除するデータ削除回路で処理し、符号化データの種類に応じて異なる特定パターンのデータを削除するように構成されている。
【００５５】
そのため、同図のデコード装置は、入力データメモリ１００、入力データメモリI/F１５０、第１のデコード回路２００、一致判定回路３００、データ削除回路４００、第２のデコード回路５００、出力データメモリ６００、出力データメモリI/F６５０、ヘッダ判定回路７００を備える。このデコード装置は、図１に示したデコード装置と比較して、主としてヘッダ判定回路７００が追加された点と、ヘッダ判定回路７００から出力される判定結果および削除データ切り替え信号に応じて一致判定回路における特定データのパターンが切り換えら得る点とが異なっている。以下、同じ点は説明を省略し、異なる点を中心に説明する。
【００５６】
ヘッダ判定回路７００は、符号化されたデータ１０４とバイトバリッド信号１０５を入力し、データ１０４中のヘッダデータを認識し、その符号化データの種類を判別し、一致判定回路３００のデータ比較内容を変更する。
【００５７】
一致判定回路３００は、入力データメモリ１００から、データ１０４とバイトバリッド信号１０５を入力し、削除するデータをデータ比較により取得し、データ選択信号をデータ削除回路４００へ出力する。本実施の形態における一致判定回路３００は、ヘッダ判定回路７００に判定された符号化データの種類に応じて、特定データのビットパターンを変更する。すなわち、一致判定回路３００は、ＦＦ比較器３１０、００比較器は、それぞれ「ＦＦ」、「００」を比較するだけでなく、符号化データの種類に応じたビットパターンの第１ビット列、第２ビット列をそれぞれ比較する。
【００５８】
データ削除回路４００は、入力データメモリ１００から、データ１０４とバイトバリッド信号１０５を入力し、一致判定回路３００から入力されたデータ選択信号に従って、特定データを削除したデータを第２のデコード回路５００へ出力する。
【００５９】
図４のデコード装置の動作について、図５を用いて説明する。
【００６０】
図５は、本実施の形態におけるデコード装置の動作タイミング図である。
リードリクエスト１０２を３サイクル有効にし、その３サイクルの各サイクルで、アドレス１０３を「０」，「１」，「２」としたとき、データ１０４とバイトバリッド信号１０５が図５のように得られる場合を説明する。
【００６１】
また、一致判定回路３００は、２種類の符号化データに対応する第１の削除モードと第２の削除モードを有し、第１の削除モードでは、マーカのデータが「ＦＦ」，削除データを「００」であるものとし、第２の削除モードでは、マーカのデータが「００」，削除データを「ＦＦ」であるものとする。
【００６２】
サイクルＣ２のデータ１０４、バイトバリッド信号１０５に対して、ヘッダ判定回路７００が、符号化データの種類が第２の削除モードであると判定すると、一致判定回路３００は、マーカの比較として「００」との比較、削除データの比較として「ＦＦ」との比較を行う。
【００６３】
サイクルＣ２、Ｃ３、Ｃ４のデータ１０４、バイトバリッド信号１０５に対して、００比較結果は、データ１０４の「００」のバイト位置に合わせて、「１０００」、「１０１０」、「００００」となり、ＦＦ比較結果は、データ１０４の「ＦＦ」のバイト位置に合わせて、「０００１」、「０１００」、「００００」となる。
【００６４】
データ削除情報３３２は、サイクルＣ３で、「０１００」となり、データ１０４に存在するデータ値「００ＦＦ」の「ＦＦ」のバイト位置が得られる。
【００６５】
サイクルＣ２、Ｃ３、Ｃ４のデータ選択信号Ｓ３４１、Ｓ３４２、Ｓ３４３、Ｓ３４４は、「４３２１」、「４２１０」、「４３２１」となり、第２のデコード回路５００への入力データＳ４０１とバイトバリッド信号Ｓ４０２は図５のようになり、符号データのヘッダ判定に対応したデータ削除結果が得られる。
【００６６】
以上のように本実施形態におけるデコード装置によれば、特定データとしてのマーカおよび削除データが符号化データの種類によって異なる場合であっても、ヘッダ判定回路７００により符号化データの種類を判別し、その結果により比較すべきマーカと削除データとを符号化データの種類毎に決められた組合せを設定することにより、プロセッサでのヘッダ解析処理及び、比較するデータと削除するデータの変更をデコード回路へ設定する処理がなくなるため、デコード回路の動作速度の低下を防止できる。
【００６７】
（実施の形態３）
図６は、本発明の実施の形態３におけるデコード装置の構成を示す図である。このデコード装置は、図４に示したデコード装置の機能に加えて、ヘッダデータの大部分（先頭部分を除く部分）を入力データメモリ１００から第１のデコード回路２００へ読み出さないように構成されている。
【００６８】
図６に示すデコード装置は、入力データメモリ１００、入力データメモリI/F１５０、第１のデコード回路２００、一致判定回路３００、データ削除回路４００、第２のデコード回路５００、出力データメモリ６００、出力データメモリI/F６５０、ヘッダ判定回路７１０、アドレス更新回路７２０を備える。このデコード装置は、図４のデコード装置と比較して、主としてヘッダ判定回路７００の代わりにヘッダ判定回路７１０を備える点と、
新たにアドレス更新回路７２０を備える点と、アドレス更新回路７２０からのアドレスに従って入力メモリI/F１５０がヘッダデータの大部分を読み飛ばす点とが異なっている。以下、同じ点は説明を省略して、異なる点を中心に説明する。
【００６９】
第１のデコード回路２００は、入力データメモリ１００から、データ１０４とバイトバリッド信号１０５を入力し、特定データを削除した後のデータとバイトバリッド信号を第２のデコード回路５００へ出力する。
【００７０】
ヘッダ判定回路７１０は、データ１０４とバイトバリッド信号１０５を入力し、ヘッダデータを認識し、符号化データの種類を判別すると共に、アドレス更新回路７２０へヘッダデータサイズ７１１を出力する。このヘッダデータサイズ７１１は、例えば、ヘッダデータの先頭部分に含まれるレングスデータに示されるヘッダデータのサイズからヘッダそのものとレングスデータとを除くサイズである。あるいは、符号化データの種類によっては、固定長のサイズのうち先頭のヘッダを除くサイズである。
【００７１】
アドレス更新回路７２０は、入力データメモリI/F１５０のリードアドレスとヘッダ判定回路７１０から出力されたヘッダデータサイズ７１１を入力して、リードアドレスにヘッダデータサイズ７１１を加算した結果を入力データメモリI/F１５０へ出力する。
【００７２】
以上の動作により、ヘッダ判定回路７１０でヘッダデータを認識し、第２のデコード回路５００へ供給する必要のないヘッダデータデータである場合は、入力データメモリ１００からリードするデータをほぼヘッダデータ分飛ばすことができ、符号化データのデコード処理が高速化される。
【００７３】
図６のデコード装置の動作について、図７を用いて説明する。
【００７４】
図７は、本実施の形態におけるデコード装置の動作タイミング図である。
リードリクエスト１０２を３サイクル有効にし、その３サイクルの各サイクルで、ワード（ここでは３２ビット）単位のアドレス１０３を「０」，「８」，「９」としたとき、データ１０４とバイトバリッド信号１０５が図７のように得られる場合を説明する。
【００７５】
サイクルＣ１のリードアドレス１０３を「０」としたときに得られる、サイクルＣ２のデータ１０４は「００１１２２ＦＦ」となる。
【００７６】
サイクルＣ２のデータ１０４がヘッダ判定回路７１０によりヘッダと認識され、サイクルＣ２のデータ１０４を合せて８ワードがヘッダデータサイズ７１１であるとする。
【００７７】
ヘッダ判定回路７１０は、サイクルＣ２において、ヘッダデータサイズ７１１を「８」として、アドレス更新回路７２０へ入力する。
【００７８】
アドレス更新回路７２０では、サイクルＣ１のリードアドレス１０３である「０」に、サイクルＣ２のヘッダデータサイズ７１１である「８」を加算し、「８」を入力データメモリＩ／Ｆ１５０へ出力する。
【００７９】
入力データメモリＩ／Ｆ１５０は、アドレス更新回路７２０から入力されたアドレス値「８」をサイクルＣ２のリードアドレス１０３として出力する。
【００８０】
サイクルＣ２のリードアドレス１０３を「８」としたときに得られる、サイクルＣ３のデータ１０４は「８８００８８００」となる。
【００８１】
サイクルＣ３のデータ１０４の値「８８００８８００」が、ヘッダデータでない場合は、データ１０４とバイトバリッド信号１０５は、そのまま第２のデコード回路５００へ入力される。
【００８２】
サイクルＣ３のデータ１０４がヘッダデータでないため、サイクルＣ３のヘッダデータサイズ７１１は、「０」となり、サイクルＣ３のリードアドレス１０３は、１加算された次のアドレスである「９」となる。
【００８３】
サイクルＣ３のリードアドレス１０３を「９」としたときに得られる、サイクルＣ４のデータ１０４は、「９９００９９００」となる。
【００８４】
サイクルＣ４のデータ１０４の値「９９００９９００」が、ヘッダデータでない場合は、データ１０４と倍とバリッド１０５は、第２のデコード回路５００へ入力される。
【００８５】
以上のように、本実施形態におけるデコード装置によれば、ヘッダ判定回路７１０が符号化データのうち、ヘッダデータのうち先頭部分を除く残りの大部分のサイズを判定し、アドレス更新回路７２０がリードアドレス１０３をサイズだけ加算する。これにより、ヘッダデータのうち先頭部分を除く大部分を読み飛ばすことができ、入力データメモリ１００から第１のデコード回路への符号化データを供給をより効率的に行うことができる。
【００８６】
（実施の形態４）
図８は、本発明の実施の形態４におけるデコード装置の構成を示す図である。このデコード装置は、入力データメモリ１００から第１のデコード回路２００へのデータバス幅を６４ビットに広げ、第１のデコード回路２００によるデータ削除後もデータ不足を解消し遅延なく第１のデコード回路２００から第２のデコード回路５００に転送するように構成されている。
【００８７】
図８のデコード装置は、入力データメモリ１００、入力データメモリI/F１５０、第１のデコード回路２００、一致判定回路３００、データ削除回路４００、第２のデコード回路５００、出力データメモリ６００、出力データメモリI/F６５０、データ保持回路７３０を備える。同図のデコード装置は、図１のデコード装置と比較して、入力データメモリ１００および第１のデコード回路２００の内部処理ビット数が３２から６４に拡大された点と、新たにデータ保持回路７３０を備える点とが主として異なっている。以下、同じ点は説明を省略して異なる点を中心に説明する。
【００８８】
入力データメモリ１００と第１のデコード回路２００との間のデータバスは、６４ビットである。
【００８９】
入力データメモリI/F６５０は、第２のデコード回路５００からのデータ要求信号がアクティブであり、かつ、データ保持回路７３０からのウェイト信号がインアクティブである場合に、６４ビットデータを入力データメモリ１００から第１のデコード回路２００に転送する。
【００９０】
第１のデコード回路２００は、入力データメモリ１００から、６４ビットのデータ１０４と、８ビットのバイトバリッド信号１０５を入力し、特定データを削除した後のデータとバイトバリッド信号をデータ保持回路７３０へ出力する。
【００９１】
データ保持回路７３０は、第１のデコード回路２００から入力されたデータを保持し、
第２のデコード回路５００へのデータバス幅にデータサイズを調整して、第２のデコード回路５００にデータを供給する。
【００９２】
データ保持回路７３０は、第１のデコード回路２００から入力されたデータの保持量により、次のデータ１０４を受けられない場合、第２のデコード回路５００へウェイト信号７３１を出力し、入力データメモリＩ／Ｆ１５０へのデータ要求信号をネゲートさせる。
【００９３】
図９は、データ保持回路７３０の詳細な構成例を示すブロック図である。このデータ保持回路７３０は、セレクタ制御回路９０９、８つのバリッドセレクタ９０１〜９０８、８つのバリッドレジスタ９１１〜９１８、８つのバイトデータセレクタ９２１〜９２８、８つのバイトデータレジスタ９３１〜９３８、４つのバイトデータセレクタ９４１〜９４４、４つのバリッドセレクタ９５１〜９５４を備える。
【００９４】
８つのバイトデータレジスタ９３１〜９３８は、第１のデコード回路２００から８つのバイトデータセレクタ９２１〜９２８を介して入力される８バイトのデータを保持し、４つのバイトデータセレクタ９４１〜９４４を介してデータを第２のデコード回路５００に出力する。
【００９５】
８つのバリッドレジスタ９１１〜９１８は、第１のデコード回路２００から８つのバリッドセレクタ９０１〜９０８を介して入力される８ビットのバイトバリッド信号を保持し、４つのバリッドセレクタ９５１〜９５４を介してデータを第２のデコード回路５００に出力する。
【００９６】
セレクタ制御回路９０９は、第１のデコード回路２００から８ビットのバイトバリッド信号と、８つのバリッドレジスタ９１１〜９１８の現在の保持内容とに基づいて、第１のデコード回路２００から入力される８バイトのデータのうち、有効なデータを８つのバイトデータレジスタ９３１〜９３８の最下位バイトから詰めて格納するように、８つのバイトデータセレクタ９２１〜９２８を制御する。これと同時に、セレクタ制御回路９０９は、第１のデコード回路２００から８ビットのバイトバリッド信号と、８つのバリッドレジスタ９１１〜９１８の現在の保持内容とに基づいて、第１のデコード回路２００から入力される８ビットのバイトバリッド信号のうち有効なバイトバリッド信号を８つのバリッドレジスタ９１１〜９１８の最下位バイトから詰めて格納するように、８つのバリッドセレクタ９０１〜９０８を制御する。
【００９７】
さらに、セレクタ制御回路９０９は、８つのバリッドレジスタ９１１〜９１８の現在の保持内容に基づいて、８つのバイトデータレジスタ９３１〜９３８のうち有効な４バイトをバイトデータセレクタ９４１〜９４４を介して第２のデコード回路に出力し、同時に、８つのバリッドレジスタ９１１〜９１８のうち出力データに対応するバイトバリッド信号を４つのバリッドセレクタ９５１〜９５４を介して第２のデコード回路に出力する。さらに、８つのバリッドレジスタ９１１〜９１８のうち出力した有効なバイトバリッド信号に対応する８つのバリッドセレクタ９０１〜９０８を有効から無効を出力するよう制御する。これにより、下位から５バイト目のバリッドレジスタ９１４がアクティブである場合は、未出力の有効データが少なくも１バイトが存在することを意味するので、バリッドレジスタ９１４の出力は、入力データI/F１５０へのウェイト信号７３１として利用してもよい。
【００９８】
図１０は、本実施の形態におけるデコード装置の動作タイミング図である。
サイクルＣ１とサイクルＣ２のリードリクエスト１０２を有効にし、その２サイクルの各サイクルで、アドレス１０３を「０」，「１」としたとき、データ１０４とバイトバリッド信号１０５が図１０のように得られる場合を説明する。
【００９９】
また、マーカのデータが「ＦＦ」，削除データを「００」とする。
サイクルＣ１のリードアドレス１０３を「０」としたときに得られる、サイクルＣ２のデータ１０４は「ＦＦ００ＦＦ００ＦＦ００ＦＦ００」となる。
【０１００】
サイクルＣ２のデータ１０４は、第１のデコード回路２００により、「ＦＦ００」の「００」が削除され、「ＦＦＦＦＦＦＦＦ」となり、データ保持回路７３０へ入力される。
【０１０１】
データ保持回路７３０では、第１のデコード回路２００から入力されたデータ「ＦＦＦＦＦＦＦＦ」から、第２のデコード回路５００が受け取れるデータを出力する。
【０１０２】
第１のデコード回路２００へ入力されるデータ幅が、第２のデコード回路５００へ入力されるデータ幅の２倍であるため、「ＦＦ００」の「００」が削除され、データが最も削減された場合であっても、第２のデコード回路５００が入力できる最大データを供給することができる。
【０１０３】
サイクルＣ２のデコード回路の入力Ｓ４０１である、「ＦＦＦＦＦＦＦＦ」が第２のデコード回路へ入力される。
【０１０４】
次に、サイクルＣ２のリードアドレス１０３を「１」としたときに得られる、サイクルＣ３のデータ１０４は「１１２２３３４４５５６６７７８８」となる。
【０１０５】
サイクルＣ３のデータ１０４は、第１のデコード回路２００では、削除されるデータがないため、そのままデータ保持回路７３０へ入力される。
【０１０６】
データ保持回路７３０では、第１のデコード回路２００から得られたデータ「１１２２３３４４５５６６７７８８」から、第２のデコード回路５００が受け取れるデータ「１１２２３３４４」を出力し、残りのデータ「５５６６７７８８」を保持する。
【０１０７】
サイクルＣ３のデコード回路の入力Ｓ４０１である、「１１２２３３４４」が第２のデコード回路へ入力される。
【０１０８】
また、サイクルＣ３では、データ保持回路７３０の保持データが「５５６６７７８８」となり、次のサイクルＣ４へ保持される。
データ保持回路７３０は、第２のデコード回路５００へ出力できる最大のデータ数を保持しているので、第２のデコード回路５００へ出力するウェイト信号７３１をアサ−トし、サイクルＣ４で、第１のデコード回路へのデータ１０４の入力を停止させる。
【０１０９】
本実施の形態におけるデコード装置によれば、入力データメモリ１００および第１のデコード回路２００のデータバス幅を第２のデコード回路５００の入力データバス幅より大きくし、第１のデコード回路２００と第２のデコード回路５００の間にデータ保持回路７３０を設け、データ保持回路７３０がデータサイズを調整し、入力データメモリI/F１５０へ適宜ウェイト信号を発生することにより、第１のデコード回路２００により多数のデータ削除が行われた場合であっても、第２のデコード回路５００へ入力されるデータのスループットを低下させることがなくなる。
【０１１０】
なお、入力データメモリ１００のデータバス幅が第２のデコード回路５００へのデータバス幅の２倍である場合について説明したが、入力データメモリ１００のデータバス幅が第２のデコード回路５００へのデータバス幅よりも大きければ同様の効果を得ることができる。
【０１１１】
（実施の形態５）
図１１は、本発明の実施の形態５におけるデコード装置の構成を示す図である。このデコード装置は、図８に示したデコード装置の機能に加えて、第２のデコード回路５００がヘッダデータをデコードしない場合に、データ保持回路においてヘッダデータを削除するように構成される。
【０１１２】
図１１のデコード装置は、入力データメモリ１００、入力データメモリI/F１５０、第１のデコード回路２００、一致判定回路３００、データ削除回路４００、第２のデコード回路５００、出力データメモリ６００、出力データメモリI/F６５０、ヘッダ判定回路７４０は、データ保持回路７５０を備える。このデコード装置は、図８に示したデコード装置と比較して、新たにヘッダ判定部７４０が追加された点と、データ保持回路７３０の代わりにデータ保持回路７５０を備える点とが主として異なっている。以下、同じ点は説明を省略して異なる点を中心に説明する。
【０１１３】
ヘッダ判定回路７４０は、入力データメモリ１００から、データ１０４とバイトバリッド信号１０５を入力し、ヘッダデータを認識し、ヘッダデータサイズ７４１をデータ保持回路７５０へ出力する。
【０１１４】
データ保持回路７５０は、第１のデコード装置２００から符号化データとともにヘッダデータも入力される。データ保持回路７５０は、第２のデコード回路５００へ出力するデータ幅４バイトよりも大きい８バイトを保持するので、データ保持回路７５０は、ヘッダ判定回路７４０から入力されるヘッダサイズ分のヘッダデータを飛ばして（削除して）第２のデコード回路５００に出力する。これにより第２のデコード回路５００は、ヘッダデータを削除する処理から開放され、処理性能の低下を防止することができる。
【０１１５】
図１２は、本発明の実施例におけるデコード装置の動作タイミング図である。
サイクルＣ１とサイクルＣ２のリードリクエスト１０２を有効にし、その２サイクルの各サイクルで、アドレス１０３を「０」，「１」としたとき、データ１０４とバイトバリッド信号１０５が図１２のように得られる場合を説明する。
【０１１６】
また、マーカのデータが「ＦＦ」，削除データを「００」とする。
サイクルＣ１のリードアドレス１０３を「０」としたときに得られる、サイクルＣ２のデータ１０４は「ＦＦ１１ＦＦ００ＦＦ００ＦＦ００ＦＦ００」となる。
【０１１７】
サイクルＣ２のデータ１０４は、第１のデコード回路２００により、「ＦＦ００」の「００」が削除され、「ＦＦ１１ＦＦＦＦＦＦＦＦ」が、データ保持回路７５０へ入力される。
【０１１８】
また、サイクルＣ２のデータ１０４である「ＦＦ１１ＦＦ００ＦＦ００ＦＦ００ＦＦ００」は、ヘッダ判定回路７４０に入力され、ヘッダデータ「ＦＦ１１」が認識される場合、サイクルＣ２のヘッダデータサイズ７４１は、「２byte」となる。
【０１１９】
データ保持回路７５０では、第１のデコード回路２００から入力されるデータ値「ＦＦ１１ＦＦＦＦＦＦＦＦ」と、ヘッダ判定回路７４０から入力されるヘッダデータサイズ「２byte」に従い、データ値「ＦＦ１１ＦＦＦＦＦＦＦＦ」から、ヘッダである「ＦＦ１１」を除いた、「ＦＦＦＦＦＦＦＦ」から、第２のデコード回路５００が受け取れるデータを出力する。
【０１２０】
第１のデコード回路２００へ入力されるデータ幅が、第２のデコード回路５００へ入力されるデータ幅の２倍とヘッダサイズを加算した値であるため、「ＦＦ００」の「００」が削除されてデータが最も削減され、かつデコードに必要ないヘッダデータが含まれる場合であっても、第２のデコード回路５００が入力できる最大データを供給することができる。
【０１２１】
サイクルＣ２のデコード回路の入力Ｓ４０１である、「ＦＦＦＦＦＦＦＦ」が第２のデコード回路へ入力される。
【０１２２】
次に、サイクルＣ２のリードアドレス１０３を「１」としたときに得られる、サイクルＣ３のデータ１０４は「００１１２２３３４４５５６６７７８８９９」となる。
【０１２３】
サイクルＣ３のデータ１０４は、第１のデコード回路２００では、削除されるデータがないため、そのままデータ保持回路７５０へ入力される。
【０１２４】
データ保持回路７５０では、第１のデコード回路２００から得られたデータ「００１１２２３３４４５５６６７７８８９９」から、第２のデコード回路５００が受け取れるデータ「００１１２２３３」を出力し、残りのデータ「４４５５６６７７８８９９」を保持する。
【０１２５】
サイクルＣ３のデコード回路の入力Ｓ４０１である、「００１１２２３３」が第２のデコード回路へ入力される。
【０１２６】
また、サイクルＣ３では、データ保持回路７５０の保持データが「４４５５６６７７８８９９」となり、次のサイクルＣ４へ保持される。
【０１２７】
データ保持回路７５０は、第２のデコード回路５００へ出力できる最大のデータ数以上のデータを保持しているので、第２のデコード回路５００へ出力するウェイト信号７５１をアサ−トし、サイクルＣ４で、第１のデコード回路へのデータ１０４の入力を停止させる。
【０１２８】
サイクルＣ４では、データ保持回路７５０の保持データ「４４５５６６７７８８９９」から、第２のデコード回路５００へ「４４５５６６７７」が出力される。
【０１２９】
以上により、第1のデコード回路２００でデータ削除を行い、かつデータ保持回路７５０でヘッダデータを飛ばしても、第２のデコード回路５００へ入力されるデータのスループットを低下させることがなくなる。
【０１３０】
（実施の形態６）
図１３は、本発明の実施の形態６におけるエンコード装置の構成を示す図である。このエンコード装置は、エンコード回路から出力される符号化データを、データを比較する一致判定回路と特定データを挿入するデータ追加回路で処理し、特定パターンのデータを挿入できるように構成されている。
【０１３１】
図１３のエンコード装置は、入力データメモリ８１０、入力データメモリI/F８２０、第１のエンコード回路８３０、第２のエンコード回路８４０、一致判定回路８５０、データ追加回路８６０、出力データメモリ８７０、出力データメモリI/F８８０を備える。本実施例では、入力データメモリ８１０と第１のエンコード回路８３０の間および第１のエンコード回路８３０と第２のエンコード回路８４０の間のデータバス幅は３２ビット、第２のエンコード回路８４０と出力データメモリ８７０の間のデータバス幅は３２ビットとしている。ただし、データ追加回路の内部ではデータ追加により生じる６４ビットデータまで処理可能になっている。
【０１３２】
入力データメモリ８１０は、符号化すべき音声または画像データを格納している。
第１のエンコード回路８３０のデータ要求信号により、入力データメモリI/F８２０がリードイネーブル８２１とリードアドレス８２２を入力データメモリ８１０へ出力する。入力データメモリ８１０は、入力データメモリI/F８２０からリードイネーブル８２１とリードアドレス８２２を入力し、入力データ８１１を第１のエンコード回路８３０へ出力する。
【０１３３】
第１のエンコード回路８３０は、エンコード結果のデータ８３１とバイト毎の有効信号であるバイトバリッド信号８３２を、第２のエンコード回路８４０へ出力する。
【０１３４】
第２のエンコード回路８４０は、第１のエンコード回路８３０から、データ８３１とバイトバリッド信号８３２を入力し、エンコードデータ中に特定データを追加した後、出力データメモリ８７０へ出力データ８６１を出力し、出力データ８６１が有効であることを表すデータ出力信号を出力データメモリＩ／Ｆ８８０へ出力する。
【０１３５】
第２のエンコード回路８４０は、一致判定回路８５０とデータ追加回路８６０からなる。
一致判定回路８５０は、第１のエンコード回路８３０から、データ８３１とバイトバリッド信号８３２を入力し、データ追加が必要な特定データをデータ比較により取得し、追加するデータの位置を表すデータ追加信号をデータ追加回路８６０へ出力する。
【０１３６】
データ追加回路８６０は、第１のエンコード回路８３０から、データ８３１とバイトバリッド信号８３２を入力し、一致判定回路８５０から入力されたデータ追加信号に従って、特定データを追加した出力データ８６１を出力データメモリ８７０へ出力する。
【０１３７】
第２のエンコード８４０は、出力データメモリ８７０へエンコード結果データを出力し、出力データメモリＩ／Ｆ８８０へエンコード結果データが有効であることを表すデータ出力信号を出力する。
【０１３８】
出力データメモリＩ／Ｆ８８０は、第２のエンコード回路８４０から出力されるデータ出力信号に応じて、出力データメモリ８７０へライトイネーブル信号とライトアドレスを出力する。
【０１３９】
図１４は、一致判定回路８５０およびデータ追加回路８６０の詳細な構成例を示すブロック図である。一致判定回路８５０は、ＦＦ比較器９８１、ＦＦ比較結果レジスタ９８２、追加データ判別回路９８３、８つのバリッドセレクタ９６１〜９６８、ゼロ保持部９６９を備える。データ追加回路８６０は、バイトデータセレクタ９７１〜９７８、挿入データ保持部９７９、データ保持回路７３０、ＯＲ回路９８３を備える。
【０１４０】
ＦＦ比較器９８１は、第１のエンコード回路８３０から入力される４バイトの符号化データについて、バイト毎にマーカのビットパターン「ＦＦ」と一致するかどうか比較し、比較結果を４ビットの信号として追加データ判別回路９８３に出力する。
【０１４１】
ＦＦ比較結果レジスタ９８２は、１サイクル前の比較結果のうち最下位バイトの比較結果を保持する。
【０１４２】
追加データ判別回路９８３は、マーカのビットパターンと一致するバイトデータの下位側のバイト位置に、有効なバリッドデータ信号を１ビット追加する。追加される有効なバリッドデータ信号は、判別データの追加すべきバイト位置を示す。さらに、追加データ判別回路９８３は、バイトデータセレクタ９７１〜９７８のうち、追加される有効なバリッドデータ信号が示すバイト位置に対応するバイトデータセレクタが挿入データ「００」を選択するよう制御する。同時に、バイトデータセレクタ９７１〜９７８のうち、追加された有効なバリッドデータ信号以外の有効なバリッドデータ信号（元々有効なバリッドデータ信号）のバイト位置のバイトデータセレクタはデータバス８３１中の対応するデータを選択するよう制御する。
【０１４３】
データ保持回路７３０は、図９と同様であり、最大８バイトのデータを最大４バイトずつのデータにデータサイズを調整して出力する。
【０１４４】
図１５は、本実施の形態におけるエンコード装置の動作タイミング図である。
サイクルＣ２、Ｃ３、Ｃ４における、第１のエンコード回路８３０から出力されるデータ８３１とバイトバリッド信号８３２が図１５のように得られる場合を説明する。
【０１４５】
また、マーカのデータが「ＦＦ」，追加データを「００」とする。
サイクルＣ２、Ｃ３、Ｃ４のデータ８３１、バイトバリッド信号８３２に対して、ＦＦ比較結果８５１は、データ８３１の「ＦＦ」のバイト位置に合わせて、「０００１」、「００００」、「００００」となる。
【０１４６】
ＦＦ比較結果レジスタ８５２は、データ８３１の最下位1バイトが「ＦＦ」である場合、「００」のデータ追加を次のサイクルのデータ８３１に対して行う必要があるため、1サイクル保持している。
【０１４７】
一致判定回路８５０では、ＦＦ比較結果８５１とＦＦ比較結果レジスタ８５２から、データ追加信号８５３を出力する。
【０１４８】
サイクルＣ３のデータ追加信号８５３に示すように、データ８３１に存在するデータ値「ＦＦ」のバイト位置が得られる。
【０１４９】
データ追加回路８６０では、データ８３１とバイトバリッド信号８３２と、データ追加信号８５３を入力し、データ８３１に対して、データ追加信号８５３が示すバイト位置に追加データ「００」を挿入する。
【０１５０】
さらに、データ追加回路８６０では、追加データ「００」を挿入したデータを保持し、出力データメモリ８７０のデータ幅に達したデータを出力データメモリ８７０へ出力する。
【０１５１】
すなわち、サイクルＣ２、Ｃ３、Ｃ４における、データ８３１の有効データ「００１１２２ＦＦ」、「３３４４」、「５５」に対し、データ追加信号８５３は、「００００」、「１０００」、「００００」となる。
【０１５２】
サイクルＣ２では、データ８３１の値「００１１２２ＦＦ」が、出力データ８６１となり、データ出力信号８６２がアサ−トされる。
【０１５３】
サイクルＣ３では、データ８３１の有効データ「３３４４」に「００」データが追加され、「００３３４４」が得られるが、出力データメモリ８７０のデータ幅に達しないので、次のサイクルへ保持され、データ出力信号８６２がネゲートされる。
【０１５４】
サイクルＣ４では、データ８３１の有効データ「５５」が得られるが、サイクルＣ３で保持されたデータ「００３３４４」と結合することで、データ「００３３４４５５」が得られ、出力データ８６１となり、データ出力信号８６２がアサ−トされる。
【０１５５】
本実施の形態におけるエンコード装置によれば、符号化データ中にマーカと同じビットパターンのデータに対して、マーカでないことを表す判別データの挿入をプロセッサでする必要がなくなり、１サイクルで挿入処理をできるので、メモリとプロセッサ間のデータ入出力処理及び、プロセッサでの挿入処理がなくなるため、エンコード回路の動作速度の低下を防止できる。
【０１５６】
さらに、符号化データに判別データが挿入された場合であっても、符号化されたデータを保持するメモリへ出力するデータバスがデータ不足になることなくなり、データ転送待ちによるエンコード処理のスループットの低下を防止できる。
【産業上の利用可能性】
【０１５７】
本発明にかかるデコード装置及びエンコード装置は、デコード回路及びエンコード回路へ供給するデータのスループットを低下させないように、符号化データを判定して、データの削除と追加を行う回路と、続いて復号化及び符号化を行う回路を有し、音声や画像データのデコード処理及びエンコード処理の高速化に有用である。
また、データ圧縮処理およびデータ伸張処理のデータ変換の用途にも応用できる。
【図面の簡単な説明】
【０１５８】
【図１】実施の形態１におけるデコード装置
【図２】第１のデコード回路の構成図
【図３】デコード動作タイミング図
【図４】実施の形態２におけるデコード装置
【図５】デコード動作タイミング図
【図６】実施の形態３おけるデコード装置
【図７】デコード動作タイミング図
【図８】実施の形態４におけるデコード装置
【図９】データ保持回路の構成図
【図１０】デコード動作タイミング図
【図１１】実施の形態５におけるデコード装置
【図１２】デコード動作タイミング図
【図１３】実施の形態６におけるエンコード装置
【図１４】一致判定回路およびデータ追加回路の構成図
【図１５】エンコード動作タイミング図
【図１６】従来例におけるデコード装置
【符号の説明】
【０１５９】
１００  入力データメモリ
１０１  クロック
１０２  リードイネーブル
１０３  リードアドレス
１０４  データ
１０５  バイトバリッド信号
１５０  入力データメモリＩ／Ｆ
２００  第１のデコード回路
３００  一致判定回路
３１０  ＦＦ比較器
３２０  ００比較器
３３０  ＦＦ比較結果レジスタ
３４０  削除データ判別回路
４００  データ削除回路
４１０、４２０、４３０，４４０  バイトデータセレクタ
４５０，４６０，４７０，４８０  バリッドセレクタ
５００  第２のデコード回路
６００  出力データメモリ
６５０  出力データメモリＩ／Ｆ
７００、７１０、７４０  ヘッダ判定回路
７２０  アドレス更新回路
７３０、７５０  データ保持回路
８１０  入力データメモリ
８２０  入力データメモリＩ／Ｆ
８２１  リードイネーブル
８２２  リードアドレス
８３０  第１のデコード回路
８３１  データ
８３２  バイトバリッド信号
８４０  第２のデコード回路
８５０  一致判定回路
８６０  データ追加回路
８７０  出力データメモリ
８８０  出力データメモリＩ／Ｆ
９００  プロセッサ
９１０  入力データメモリ
９２０  入力データメモリＩ／Ｆ
９３０  デコード回路
９４０  出力データメモリ
９５０  出力データメモリＩ／Ｆ
【図１】
2006121531.tif 000003
【図２】
2006121531.tif 000004
【図３】
2006121531.tif 000005
【図４】
2006121531.tif 000006
【図５】
2006121531.tif 000007
【図６】
2006121531.tif 000008
【図７】
2006121531.tif 000009
【図８】
2006121531.tif 000010
【図９】
2006121531.tif 000011
【図１０】
2006121531.tif 000012
【図１１】
2006121531.tif 000013
【図１２】
2006121531.tif 000014
【図１３】
2006121531.tif 000015
【図１４】
2006121531.tif 000016
【図１５】
2006121531.tif 000017
【図１６】
2006121531.tif 000018