(57)【特許請求の範囲】
【請求項１】
固定ビット幅で固定領域に格納されたデータを可変長符号データに戻す信号処理装置であって、入力データからビット長とエンドオブブロックコードを検出する第１のテーブルと、装置に入力される固定長のデータを第１のメモリに格納し、第１のメモリのデータを第１のテーブルに入力してビット長及びエンドオブブロックコードを得てその情報を第３のメモリに格納する第１のデータ制御器と、入力データからビット長とエンドオフブロックコードを検出する第２のテーブルと、第１のメモリのデータを第３のメモリに格納された情報の順番に読み出し、第２のテーブルに入力して可変長符号データを取り出す第２のデータ制御器を備えることを特徴とする信号処理装置。
【請求項２】
ＦＩＦＯとして機能する第２のメモリを備え、第２のテーブルは入力データのゼロラン値と振幅値を検出する手段を有し、第２のデータ制御器は第２のテーブルからのゼロラン値及び振幅値の出力データを第２のメモリを介して出力することを特徴とする請求項１記載の信号処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、可変長符号データを固定領域に格納、又は、逆の処理を効率的に行う信号処理装置に関する。
【０００２】
【従来の技術】
近年、映像・音声信号をデジタル信号で磁気テープ等に記録するＶＴＲが注目を浴びている。このデジタルＶＴＲは、ビデオカメラなどの携帯機器としても急速に普及してきており、携帯機器としての位置づけから低消費電力が求められている。
また、デジタル化されているため、高効率符号化技術によりデータを圧縮している。動画像のように非常に大きな情報量を扱う際、圧縮技術が重要であり直交変換、量子化、可変長符号化といった複数の圧縮技術を用いる方法が主流である。ゼロラン値と振幅値を圧縮して可変長符号となった動画像データを磁気テープ等に記憶する際、データを固定長化して記憶する。このとき必要になるのがフォーマット処理であり、再生する際にはその逆
の処理であるデフォーマット処理が必要である。
【０００３】
可変長符号に符号化されたデータは、以下に説明する規則に従ってフォーマットされる。輝度信号４つと色差信号２つをあわせてマクロブロックという。輝度信号は１６ビット×７ワードの固定領域、色差信号は１６ビット×５ワードの固定領域を持ち、１つ１つをＤＣＴと呼ぶ。１ＤＣＴは、最大６４個の可変長符号データを持ち、最後に区切りを示す４ビットのエンドオブブロックコード（ＥＯＢ）を持つ。マクロブロック５つをまとめてビデオシンクといい、フォーマット処理では１ビデオシンクを単位として行われる。
【０００４】
１ビデオシンク＝５マクロブロック
１マクロブロック＝４ＤＣＴ（輝度信号）＋２ＤＣＴ（色差信号）
１ＤＣＴ（輝度信号）＝７ワード
１ＤＣＴ（色差信号）＝５ワード
１ワード＝１６ビット
【０００５】
フォーマット処理は、
（ＳＴＡ０）ＤＣＴ番号の対応する固定領域に、可変長符号データを可能な限りワード単位に連結して順番に書き込む。この時格納されたデータを「ＬＡＣ」と呼ぶ。
（ＳＴＡ１）同一のマクロブロックにある固定領域の空き領域に、同一マクロブロックの固定領域に格納しきれなかった可変長符号データをＤＣＴ番号の小さいものからワード単位に連結して格納する。この時、格納されたデータを「ＨＡＣ０」と呼ぶ。
【０００６】
（ＳＴＡ２）ビデオシンクにある固定領域の空き領域に、（ＳＴＡ１）の処理で格納しきれなかった可変長符号データを、ＤＣＴ番号の小さいものからワード単位にして格納する。この時、格納されたデータを「ＨＡＣ１」と呼ぶ。
の手順で行われる。また、デフォーマット処理は、この逆の処理である。
以上のフォーマット・デフォーマット処理を行う一つの方法として、次のような信号処理装置が提案されている。
【０００７】
図６は、従来の信号処理装置のブロック図である。図６において、１０１，１０２は端子、１０３は第１のデータ制御器、１０４は第１のアドレス制御器、１０５は第２のデータ制御器、１０６は第２のアドレス制御器、ＦＲＡＭ１０８とＶＲＡＭ１０９はフォーマット・デフォーマット処理に使うためのメモリ、ＦＰＲＡＭ１０７とＶＰＲＡＭ１１０はそれぞれＦＲＡＭ１０８とＶＲＡＭ１０９のポインタとして用いられるメモリである。
【０００８】
従来技術によるフォーマット手順を以下に示す。
端子１０１から入力された可変長符号データは、第１のデータ制御器１０３により、ワード単位に連結される。ＤＣＴの最後にはＥＯＢ信号が付加され、ＥＯＢ信号もワード単位に連結される。
まず、ＦＲＡＭ１０８上の固定領域に、固定領域が埋まるまでデータを書き込む。固定領域が埋まったら、ＶＲＡＭ１０９にデータを書き込む。ＳＴＡ０ではＦＲＡＭ１０８上の固定領域には、それぞれ１ＤＣＴのデータしか書き込まない。ＦＲＡＭ１０８の固定領域は、輝度信号の方が色差信号よりも容量が大きい。最終的にＦＲＡＭ１０８に格納されるべきデータ量は、（５マクロブロック）×（４×７ワード（輝度信号）＋２×５ワード（色差信号））＝１９０ワードであることから、ＶＲＡＭ１０９が最も必要とされる場合は、色差信号３つのデータが非常に多く、それ以外の２７個のＤＣＴデータがＤＣ成分とＥＯＢだけという場合である。したがって、（５マクロブロックの全容量）−（２７ＤＣＴのＤＣＴ＋ＥＯＢ）−（色差信号３つの容量）＋（ＶＲＡＭの空き容量）＝１９０ワード−２７×（１２ビット＋４ビット）−３×５ワード＋３ワード＝１５１ワード必要である。ＶＲＡＭ１０９の隙間領域の３ワードは、ＥＯＢを付加した結果、最後のデータが１
６ビットを越えてしまい、最後のデータ領域に格納しきれなかったＥＯＢデータを格納するためだけに設けられた領域である。
【０００９】
次にＶＲＡＭ１０９へのデータ格納法について述べる。１マクロブロックに格納できるデータ量の中で、ＦＲＡＭ１０８の固定領域に入りきらずにＶＲＡＭ１０９へ格納されるＨＡＣ０，ＨＡＣ１の最大データ量は、一つの色差信号のデータ量が非常に多くて、他の輝度信号、色差信号がＤＣ成分のみである場合であるので、（１マクロブロックの容量）−（ＤＣ成分＋ＥＯＢ）×５−（１つの色差信号）＝３８ワード−５ワード−５ワード＝２８ワードである。ＶＲＡＭ１０９へのデータの書き込みは、図７に示すように、各マクロブロック毎に先頭から最大２８ワード格納し、２８ワードを越えたデータは末尾から順に格納する。但し、先頭から格納するアドレスと、後方から格納するアドレスが一致した場合には、先頭から格納するデータを優先させて末尾からのデータは破棄する。また、末尾から格納したデータがすでに格納されていたとしても、先頭からの書き込みがなされた場合は、そちらを優先させて上書きする。破棄又は上書きされたデータは元々ＦＲＡＭ１０８には格納するスペースがないデータであるので不要である。以上のようにＶＲＡＭ１０９に第１のアドレス制御器に基づいて格納されたデータのマクロブロック単位の格納位置の先頭アドレスがＶＰＲＡＭ１１０に記憶される。
【００１０】
次に、第２のデータ制御器１０５により、ＦＲＡＭ１０８の固定領域に格納されたデータの最終位置、すなわちＥＯＢを検出し、ＦＲＡＭ１０７にＤＣＴブロック毎に記憶させる。ＥＯＢが検出された場合はＥＯＢの次の先頭位置、及びＥＯＢが検出されたことを示すフラグがＦＰＲＡＭ１０７に記憶される。また、固定領域がすべて埋まっている場合は、最後のデータの先頭位置及びＥＯＢが未検出であるフラグがＦＰＲＡＭ１０７に記憶される。そして、第２のデータ制御器１０５は、ＦＰＲＡＭ１０７及びＶＰＲＡＭ１１０に格納された情報に基づき、固定領域の空き領域にＶＲＡＭ１０９のデータを詰め込む。
【００１１】
次に従来技術によるデフォーマット処理の手順を以下に示す。デフォーマット処理は、フォーマット処理の逆の処理である。第２のデータ制御器１０５は、ＦＲＡＭ１０８から可変長符号データを読み出し、このデータから同一マクロブロック内へ格納されている別のＤＣＴデータは、ＶＲＡＭ１０９の先頭からワード単位で格納される。この時、ＥＯＢコードが検出された場合は、残りの領域はとばして次のＤＣＴのＨＡＣ０が格納される。マクロブロック単位でＨＡＣ０の格納情報は、ＶＰＲＡＭ１１０に記憶される。次に、別のマクロブロックに格納されたＨＡＣ１を同一のマクロブロックの記憶された最後のアドレスの空き領域に書き込んだ後、ＶＲＡＭ１０９の末尾方向から格納する。末尾方向の格納開始位置は、マクロブロック単位でＶＰＲＡＭ１１０に記憶される。
ＦＲＡＭ１０８に格納された可変長符号データは、第１のアドレス制御器１０４によって制御され、外部に出力される。第１のアドレス制御器１０４は、ＶＰＲＡＭ１１０に記憶された情報を元に、ＤＣＴの可変長符号化後データをワード単位でＦＲＡＭ１０８及びＶＲＡＭ１０９から読み出す。
【００１２】
【発明が解決しようとする課題】
以上に述べた信号処理装置において、フォーマット動作時、固定領域に入りきらなかったデータは一時的にＶＲＡＭ１０９に格納されるが、データは必ずＥＯＢが含まれている。例えば、図７に示すように、ＤＣＴ２，ＤＣＴ５のオーバーフローデータは、ＥＯＢのためだけに１ワード分ずつ余分に領域が必要になる。しかしながら、ＥＯＢは決まったビット列であるため、ビット長さえ分かれば、データそのものをＶＲＡＭ１０９に記憶する必要はない。すなわち、ＶＲＡＭ１０９にＥＯＢの処理用として付け加えた容量は不要である。また、従来技術では、ＦＲＡＭ１０９にデータをいったん格納した後で第２のデータ制御器１０５によりＥＯＢを検出するという手段によって再度検索処理を行っている。この処理は、第１のデータ制御器１０３によりＦＲＡＭ１０８にデータを格納する際、Ｆ
ＲＡＭ１０８の最終データがどこにあるか、あるいはすべて埋まっているかという情報が分かっているため、二度手間である。
【００１３】
さらに、デフォーマット動作時、固定領域に入りきらなかった高域データＨＡＣ０、ＨＡＣ１は一旦ＶＲＡＭ１０９に格納される。しかし、データそのものはＦＲＡＭ１０８に既に入っているため、わざわざ固定領域に入りきらなかったデータを改めてＶＲＡＭ１０９に格納し直す必要はない。
本発明は、かかる点に鑑み、本質的に不要なＶＲＡＭ１０９メモリの容量を削減し、なおかつ、不要なデータを抑制することができる信号処理装置を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明の信号処理装置は、固定ビット幅で固定領域に格納されたデータを可変長符号データに戻す信号処理装置であって、入力データからビット長とエンドオブブロックコードを検出する第１のテーブルと、装置に入力される固定長のデータを第１のメモリに格納し、第１のメモリのデータを第１のテーブルに入力してビット長及びエンドオブブロックコードを得てその情報を第３のメモリに格納する第１のデータ制御器と、入力データからビット長とエンドオフブロックコードを検出する第２のテーブルと、第１のメモリのデータを第３のメモリに格納された情報の順番に読み出し、第２のテーブルに入力して可変長符号データを取り出す第２のデータ制御器を備えるものである。
【００１５】
これにより、固定領域の最後のデータの続きがどこにあるかという情報をのみ第３のメモリに記憶しておくように構成したため、フォーマットで使う第２のメモリは、本質的には必要がなくなる。
また、ＦＩＦＯとして機能する第２のメモリを備え、第２のテーブルは入力データのゼロラン値と振幅値を検出する手段を有し、第２のデータ制御器は第２のテーブルからのゼロラン値及び振幅値の出力データを第２のメモリを介して出力することで、デフォーマット処理では使われない第２のメモリを出力バッファとして使用して、出力のタイミングを調節することが可能である。
【００１６】
【発明の実施の形態】
以下、本発明の好適な実施の形態を図面を参照して詳細に説明する。
図１は、本発明の実施の形態における信号処理装置のブロック図である。図１において、１は入力端子、２は出力端子、３は第１のデータ制御器、４は第２のデータ制御器、５は第２のメモリ（以下ＦＲＥＳと記す）、６は第１のメモリ（以下、ＦＢＵＦと記す）、７は第３のメモリ（ＦＩＮＦと記す）、８は第１のテーブル、９は第２のテーブルである。ＦＢＵＦ６，ＦＲＥＳ５，ＦＩＮＦ７はそれぞれ同容量の２枚のメモリからなり、それぞれＶＬＣデータ、オーバーフローデータ、ＦＢＵＦ６／ＦＲＥＳ５のポインタをおさめるメモリである。フォーマット動作時のデータの流れは実線で、デフォーマット動作時のデータの流れは破線で示してある。
【００１７】
本実施の形態においては、可変長符号化されたデータの最小ビット長を３ビット、最大ビット長を１６ビット、ブロックの最後を表すエンドオブブロックコード（以下ＥＯＢと記す）は、４ビットとする。ＦＢＵＦ６のワード数は１９０ワ−ドである。ＦＲＥＳ５のワード数は、３つの色差信号が固定領域に入りきらず、他の輝度・色差信号がＤＣ成分のみのデータからなっている場合に最大となるので、（６ワード×２０）＋（４ワード×７）＝１４８ワードである。また、ＦＩＮＦ７のワード数は（ＤＣＴの総数）＋（５マクロブロック×２）である。
【００１８】
以上のように構成された本発明の信号処理装置について、フォーマット動作について説
明する。フォーマット動作では入力端子１より入力されたＶＬＣデータを図２に示すような領域に格納する。図２は、１６ビットのデータ幅を持ち、５つのマクロブロック領域を持つ。各マクロブロックは７ワードの輝度信号領域４つと５ワードの色差信号領域２つの合計３８ワードであり、全部で１９０ワードである。本実施の形態ではＦＢＵＦ６に相当する。
【００１９】
フォーマット処理の手順を以下に示す。
（１）可変長符号データは、まず第１のデータ制御器３により１６ビット毎に連結される。１６ビットに連結されたデータは、ＦＢＵＦ６内の対応する固定領域に可能な限り、すなわち、輝度信号では７ワードまで、色差信号では５ワードまで格納する。ＦＢＵＦ６に格納しきれなかったデータはＦＲＥＳ５に格納する。ＦＲＥＳ５へは１つのマクロブロックあたり、一定のワード数までは前方から順に格納していき、その後はＦＲＥＳ５の後方から格納する。
【００２０】
前方から格納するワード数は、後述の（２）の処理で行う、同一マクロブロックへ格納する最大値であればよい。最大値は、４つの輝度信号と１つの色差信号がＤＣ成分のみ、すなわち、それぞれが、
ＤＣ成分（１２ビット）＋ＥＯＢ（４ビット）＝１６ビット＝１ワード
のみのデータを持ち、色差信号の他方が非常に大きなデータを持っていて、他のＤＣＴへデータを送る場合であるので、
最大値＝輝度信号の最大空き領域×４＋色差信号の最大空き領域
＝６ワード×４＋４ワード＝２８ワード
である。また、異なるマクロブロックの処理時に、すでにＦＲＥＳ５の後方からデータの書き込みがなされていてＦＲＥＳ５に空き領域がない場合は、前方からの書き込みが上書きする。上書きされるデータはもともとＦＢＵＦ６へは格納され得ないデータなので問題ない。この原理は従来法と同一である。一つのＤＣＴ処理が終わった後、処理を行っているＤＣＴに対応する図３に示すＦＩＮＦ７に最終データの場所を表すフラグ（‘０’：ＦＢＵＦ５の内、‘２’ＦＲＥＳ５内（前方からの書き込み）、‘４’ＦＲＥＳ５内（後方からの書き込み）、‘６’ＦＲＥＳ５の容量が一杯でデータが捨てられた）と最終データのアドレス、ビット長を格納する。
また、１つのマクロブロックの処理を始める前に、図３のＭＢ（Ｓ）という領域にそれぞれのマクロブロックが使用するＦＲＥＳ５での先頭アドレスを格納しておく。
【００２１】
（２）同一マクロブロックにある固定領域の空き領域に、ＦＲＥＳ５内のデータを格納する。まず、マクロブロック毎にＦＩＮＦ７からＭＢ（Ｓ）のデータを読み出す。これは、ＦＲＥＳ５の前方からの書き込みデータの先頭アドレスであり、ＦＲＥＳ５のデータはアドレスＭＢ（Ｓ）から順番に読み出される。次にＦＩＮＦ７のフラグをＤＣＴ番号の小さい順に検索する。フラグが‘０’だった場合、他のＤＣＴのデータを入れる空き領域があり、‘１’〜‘６’の場合は、データが固定領域内におさめることができなかったことを意味する。したがって、フラグが‘０’であるＤＣＴの最後のデータに、フラグが‘１’〜‘６’のデータを順番に連結していけばよい。この処理は、フラグが‘０’のＤＣＴに割り当てられたＦＢＵＦ６内の空き領域がなくなるか、ＦＲＥＳ５のデータがなくなるまで続けられる。どちらかがなくなったら、フラグを更新、次のフラグが‘０’、あるいは‘１’〜‘６’であるマクロブロックを検索して、同じ処理を両方が検索されなくなるまで続ける。１つのマクロブロック処理が終わったら、ＦＩＮＦ７のＭＢ（Ｅ）という領域に、ＦＲＥＳ５の現在のアドレスとビット長、すなわち、ＦＢＵＦ６にすでに格納されたデータと、まだ格納されていないデータの境界を格納する。
【００２２】
（３）同一ビデオシンクにある固定領域の空き領域に、ＦＲＥＳ５内の（２）の処理で未使用のデータを格納する。処理の内容は、（２）と同じであり、ビデオシンク毎という
点が異なる。また、ＦＲＥＳ５のデータは、ＭＢ（Ｅ）のアドレスが先頭で、ＭＢ（Ｓ）＋２７までが前方からのデータ、それ以降は後方からのデータであり、ＦＲＥＳ５のデータはこの順番で読み出される。
【００２３】
（４）ＦＢＵＦ６内のデータを、先頭から順に８ビット毎にして出力する。
以上で１ビデオシンクに対するフォーマット動作は終了する。なお、メモリがそれぞれ２枚あるのは、第１のデータ制御器がそれぞれ片方のメモリにアクセスしている間は、第２のデータ制御器が、もう一方のメモリにアクセスするためにある。すなわち、各メモリはビデオシンク毎に交互に使われる。
【００２４】
次に、本信号処理装置における実施の形態について説明する。本実施の形態は、再生時におけるデフォーマット処理に関する。図１は、本発明による信号処理装置のブロック図である。データの流れは、図中に破線で示してある。
デフォーマット処理は、以下のような手順で行われる。
（１）端子２からデータをＦＢＵＦ６の先頭アドレスから順に書き込む。
【００２５】
（２）各ＤＣＴの固定領域に対し、ＥＯＢを検索する。すなわち、それぞれのＤＣＴに対応する固定領域から順にデータを読み出し、ＬＣＴＢＬ９でビット長及びＥＯＢの検出を行う。
(a)固定領域から最初のデータを読み出す。
(b)(a)のデータをＭＳＢ側に１２ビットだけシフトする。これはＥＯＢが存在し得ないＤＣ成分で、ＥＯＢ検出をスキップするためである。同時に次の固定領域のデータを読み出す。
(c)２つのデータを連結し、ＬＣＴＢＬ９に入力する。ＬＣＴＢＬ９ではこのデータ
のビット長とＥＯＢの有無を調べる。そして、ＬＣＴＢＬ９で検出されたビット長分だけ、データをＭＳＢ側にシフトする。
(d)以下、固定領域からデータを連結してＬＣＴＢＬ９でビット長とＥＯＢを検出す
る処理を繰り返す。この処理は、ＥＯＢが検出されるか、あるいは、固定領域内でのデータをすべて調べ終わるまで繰り返す。
【００２６】
以上の処理が終わった後、ＥＯＢが見つかった場合、該当するＦＩＮＦ７に見つかった旨を示すフラグ‘０’と、ＥＯＢのあったアドレスと残りのコード長を記録する。ＥＯＢが見つかり、かつ、ＥＯＢが固定領域の最後に見つかった（すなわち、固定領域内でデータが完結している）場合は、フラグ‘７’を該当するＦＩＮＦ７に記録する。見つからなかった場合、固定領域内では、見つからなかった旨を示すフラグ‘１’と未検査データの位置情報として、最終アドレス、及び残っているデータのビット長をＦＩＮＦ７に記録する。
【００２７】
（３）ＦＩＮＦ７の情報をもとに、同一マクロブロック内でＥＯＢを検出する。
まず、ＤＣＴ番号の小さい順にフラグが‘０’と‘１’のＤＣＴをそれぞれ検出する。図４を例にしてこの時の動作を説明する。
ＤＣＴ番号の小さい順にＦＩＮＦ７内のフラグが‘０’と‘１’のＤＣＴを検索すると、それぞれＤＣＴ２とＤＣＴ０が検索される。したがって、ＤＣＴ０の続きのデータはＤＣＴ２内にあることがわかる。さて、ここでＤＣＴ２自身のデータは、ＦＩＮＦ７内のアドレス、ビット長情報から図中Ａ２の位置であり、それ以降は、他のＤＣＴのデータであることがわかる。また、ＤＣＴ０のＦＩＮＦ７のアドレス、ビット長情報より、Ａ０の位置以降のデータＤ０が未検査データであり、別のＤＣＴにデータがつながっていることがわかる。Ｄ０の続きは、Ｄ２であるので、ＤＣＴ０のＦＩＮＦ７データを、フラグを‘７’とし、アドレス及びビット長データをＤＣＴ２のＦＩＮＦ７のそれに置き換える。
【００２８】
さてデータのつながりが分かったので、データを連結し、ＬＣＴＢＬ９にてＥＯＢを検出していく。この手順は（２）と同じである。
ＤＣＴ２のデータ内にＤＣＴ０のＥＯＢが見つかった場合は、ＤＣＴ２のＦＩＮＦ６をフラグ‘０’、ＥＯＢの位置のアドレスとビット長に更新し、次のフラグが‘１’であるＤＣＴを検索する。そして、見つかったＤＣＴの未確認データに、ＤＣＴ２内にあるＤＣＴ０のＥＯＢ以降のデータを連結して、ＬＣＴＢＬ９でＥＯＢを検出する。逆にＥＯＢが見つからなかった場合は、ＤＣＴ２のＦＩＮＦ６に、フラグ‘１’とこの時点で未検索データのアドレス、ビット長を格納する。そして、フラグが‘０’であるＤＣＴを検索して、ＥＯＢ以降のデータをＤＣＴ２の未確定データに連結し、ＥＯＢの検出を行う。こうして、フラグが‘０’あるいは‘１’の両方が検索されなくなるまで続ける。
【００２９】
（４）ＦＩＮＦ７の情報をもとに、全体でＥＯＢを検出する。処理をする単位が（３）のマクロブロックからビデオシンクに変わっただけで、処理の内容は（３）と同一である。
なお、（１）〜（４）までの処理は、第２のデータ制御器が行う。
【００３０】
（５）ＦＩＮＦ７の情報をもとに、順次ＦＢＵＦ６のデータを出力する。この処理は第１のデータ制御器が行う。
（４）までの処理の結果、ＦＩＮＦ７には各固定領域の次のデータがＦＢＵＦ６のどの位置にあるかという情報、又は次のデータはないという情報が格納されている、したがって、ＤＣＴ番号の小さいものから順番に、自身の固定領域から順次データを読み出していき、固定領域の最後まで処理を行ってＥＯＢが検出されなかった場合は、ＦＩＮＦ７の情報から次のデータがないものにもかかわらずＥＯＢが検出されていなかった場合は、強制的にＥＯＢを出力して次のＤＣＴの処理を行う。なお、本方式によれば、図１のＦＲＥＳ５は使用されない。
【００３１】
ところで第２の実施の形態によるデフォーマット処理を行った結果、例えば図５に示すように、最悪の場合には１６ビットのデータが１ビットずつに別れている。すなわち、１つのデータがＦＢＵＦ６上で１６カ所に分散していることがある。つまり、ＦＢＵＦ６としてデータの読み出しが１サイクルで１ワード分の処理しかできない通常のＲＡＭを使用した場合、最悪で一つの出力データを再構成するためには、１６サイクル必要であることを意味する。出力のタイミングが特に規定されていない場合はもちろんこのまま端子１にデータを出力しても問題はないが、仮に出力がリアルタイム性を要求されるとすれば、必要なときにデータが用意できないということが起こりうる。
リアルタイム性が要求される場合、本発明では次のようにする。デフォーマット処理の場合、ＦＲＥＳ５は全く使用されていない。そこで、第１のデータ制御器の出力をそのまま端子１に出力するのではなく、ＦＲＥＳ５をＦＩＦＯとして用い、そちらに出力する。
【００３２】
さて、ＦＲＥＳ５のビット幅は１６ビットである。そして、データ自体は３〜１６ビットの可変長符号である。このため、そのままではデータしか記憶されず、ビット長を記録できない。可変長符号はデフォーマット処理の後、ゼロラン値と振幅値に復号される。例えば、ゼロラン値が６ビット、振幅値が９ビットであるとすればあわせて１５ビットですむ。そこでＲＡＴＢＬ８にてビット長及びＥＯＢコードを検索する際、同時にゼロラン値と振幅値も検索し、出力はゼロラン値と振幅値とすれば、ＦＲＥＳ５の１６ビット以内におさめることができる。また、ＦＲＥＳ５はデフォーマット処理ではもともと使われていなかったメモリであるために、新たにメモリを追加する必要はない。
【００３３】
なお、本実施の形態では、符号長を３〜１６ビット、ＥＯＢを４ビット、処理単位を１６ビットなどと仮定して説明したが、それ以外の場合でも処理単位やビット数、ワード数を変更するだけで本発明が採用できる。また、本実施の形態では、１ビデオシンク＝５マ
クロブロック＝５×（４輝度信号＋２色差信号）＝５×（４×７ワード＋２×４ワード）を仮定したが、例えば、１ビデオシンク＝５マクロブロック＝５×（６輝度信号＋２色差信号）＝５×（６×５ワード＋２×４ワード）などの場合も、ＦＢＵＦ６の固定領域の区切り、フォーマット動作時のＦＲＥＳ５の前方から書き込むワード数、ＦＩＮＦ７を変更するだけで本発明が採用できる。
【００３４】
【発明の効果】
以上のように、本発明を用いることにより、ＥＯＢ付加によって発生する固定領域に格納しきれなかったデータを格納するための無駄なメモリの容量増加を抑えることができる。また、第１のデータ制御器がＦＢＵＦ６の終了アドレス、ビット長をＦＩＮＦ７に格納するため、後から再度第２のデータ制御器でＥＯＢを検索してＦＢＵＦ６の終了アドレス、ビット長を検索する必要がない。このため、処理数を制限でき、消費電力を抑制することができる。
【００３５】
次に、デフォーマット処理では、ＦＢＵＦ６からの読み出し処理のみで、ＦＲＥＳ５への書き込み処理が行われない。このため、無駄なデータ書き込みが不要となり、消費電力を抑制することができる。また、出力のリアルタイム性が要求される場合は、ＲＡＴＢＬ８にて出力をゼロラン値と振幅値に変換し、ＦＲＥＳ５に出力することでタイミングが保証される。
【図面の簡単な説明】
【図１】  本発明の実施の形態における信号処理装置のブロック図。
【図２】  第１のメモリＦＢＵＦ６の構成図。
【図３】  第３のメモリＦＩＮＦ７の構成図。
【図４】  デフォーマット処理の一例を示す模式図。
【図５】  デフォーマット処理の結果、データが分散している例を示す模式図。
【図６】  従来の信号処理装置のブロック図。
【図７】  従来のＥＯＢの格納の方法を示す模式図。
【符号の説明】
１：入力端子
２：出力端子
３：第１のデータ制御器
４：第２のデータ制御器
５：第２のメモリ
６：第１のメモリ
７：第３のメモリ
８：第１のテーブル
９：第２のテーブル
【図１】
0003924389.tif 000002
【図２】
0003924389.tif 000003
【図３】
0003924389.tif 000004
【図４】
0003924389.tif 000005
【図５】
0003924389.tif 000006
【図６】
0003924389.tif 000007
【図７】
0003924389.tif 000008