(57)【特許請求の範囲】
【請求項１】
ビット数またはワード数が可変とされているブロックの単位のデータ列のＮ（Ｎは２以上の整数）個であって、前記ブロックおよび前記ブロックの複数個を含む所定期間で互いに同期が取られている前記Ｎ個のデータ列の入力を受け、前記Ｎ個のデータ列を所定の順序で切り換えて並べることにより前記所定期間単位で多重化して単一のデータストリームに変換するマルチプレクサにおいて、
前記Ｎ個のデータ列のそれぞれが、当該データ列に同期する第１のクロックに基づいてそれぞれ書き込まれると共に、当該書き込まれたデータよりも前記所定期間前に書き込まれていたデータが、多重化のための第２のクロックで読み出されるバッファメモリのＮ個と、
前記データ列のそれぞれの各ブロック毎のビット数またはワード数を、前記データ列に同期する第１のクロックをそれぞれ計数することに基づき計数するために、前記Ｎ個のデータ列のそれぞれに対応して設けられたＮ個の計数手段と、
前記所定期間を前記多重化のための第２のクロックによりカウントする周期カウンタと、
前記周期カウンタのカウント値出力をアドレス情報として、前記所定期間において前記Ｎ個のデータ列を所定の順序で切り換えて並べるための前記Ｎ個のバッファメモリの読み出し制御情報が書き込まれ、または、読み出される２個の記憶手段と、
前記所定期間についての前記Ｎ個の計数手段の計数結果から、前記所定期間における前記Ｎ個のバッファメモリの前記読み出し制御情報を生成し、当該生成した読み出し制御情報を前記２個の記憶手段の一方に書き込んで記憶すると共に、前記２個の記憶手段の他方から、前記所定期間前の前記所定期間についての前記読み出し制御情報を読み出すように制御し、かつ、前記２個の記憶手段について、前記読み出し制御情報を書き込むものと前記読み出し制御情報を読み出すものとを、前記所定期間毎に切り換えるように制御する制御手段と、
前記２個の記憶手段のうちの前記制御手段により読み出し状態とされている記憶手段からの前記読み出し制御情報により、前記Ｎ個のバッファメモリの読み出しを制御するようにする手段と、
を備えることを特徴とするマルチプレクサ
【請求項２】
単一系統のデジタル信号を、所定期間毎に同期する状態で、Ｎ（Ｎは２以上の整数）系統に分配する分配回路と、
前記分配回路からの前記Ｎ系統のデジタル信号をそれぞれ符号化処理するＮ個の符号化器と、
前記Ｎ個の符号化器からの前記Ｎ系統のデジタル信号を多重化して、単一系統のデジタル信号を得るようにするマルチプレクサと
を備える符号化装置であって、前記Ｎ個の符号化器からの各デジタル信号系列は、それぞれ、ビット数またはワード数が可変とされているブロックの単位のデータ列であって、前記ブロックおよび前記ブロックの複数個を含む所定期間で互いに同期が取られているデータ列とされている符号化装置において、
前記マルチプレクサが、
前記Ｎ個のデータ列のそれぞれが、当該データ列に同期する第１のクロックに基づいてそれぞれ書き込まれると共に、当該書き込まれたデータよりも前記所定期間前に書き込まれていたデータが、多重化のための第２のクロックで読み出されるバッファメモリのＮ個と、
前記データ列のそれぞれの各ブロック毎のビット数またはワード数を、前記データ列に同期する第１のクロックをそれぞれ計数することに基づき計数するために、前記Ｎ個のデータ列のそれぞれに対応して設けられたＮ個の計数手段と、
前記所定期間を前記多重化のための第２のクロックによりカウントする周期カウンタと、
前記周期カウンタのカウント値出力をアドレス情報として、前記所定期間において前記Ｎ個のデータ列を所定の順序で切り換えて並べるための前記Ｎ個のバッファメモリの読み出し制御情報が書き込まれ、または、読み出される２個の記憶手段と、
前記所定期間についての前記Ｎ個の計数手段の計数結果から、前記所定期間における前記Ｎ個のバッファメモリの前記読み出し制御情報を生成し、当該生成した読み出し制御情報を前記２個の記憶手段の一方に書き込んで記憶すると共に、前記２個の記憶手段の他方から、前記所定期間前の前記所定期間についての前記読み出し制御情報を読み出すように制御し、かつ、前記２個の記憶手段について、前記読み出し制御情報を書き込むものと前記読み出し制御情報を読み出すものとを、前記所定期間毎に切り換えるように制御する制御手段と、
前記２個の記憶手段のうちの前記制御手段により読み出し状態とされている記憶手段からの前記読み出し制御情報により、前記Ｎ個のバッファメモリの読み出しを制御するようにする手段と、
を備えることを特徴とする符号化装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、例えば並列符号化処理された信号系列を、一系統の信号系列に戻すようにするマルチプレクサおよび符号化装置に関し、特に、マルチプレクサの入力データの大きさが可変長であるものに関する。
【０００２】
【従来の技術】
可変長符号化の処理技術の例として、動画像データの圧縮処理に関する国際標準化方式として、ＩＳＯ／ＩＥＣによるＭＰＥＧ（Moving Picture Experts Group）方式が知られている。このＭＰＥＧ方式は、動き補償予測と２次元ＤＣＴ（Discrete Cosine Transform 、離散コサイン変換）符号化とを組み合わせた、ハイブリッドＤＣＴを採用している。
【０００３】
ＭＰＥＧ方式の画像データは、図９Ａ〜Ｆに示すように、シーケンス、ＧＯＰ（グループオブピクチャ）、ピクチャ、スライス、マクロブロック（以下、ＭＢという）、ブロックの６層構造からなる。
【０００４】
ＧＯＰは、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの３種類の符号化フレームから構成されている。Ｉピクチャは、予測は使わずに、１画面内で閉じた情報による符号化のみを行なうものである。Ｐピクチャは、過去のＩピクチャあるいはＰピクチャからの一方向の動き補償予測を用いるものである。また、Ｂピクチャは、過去および未来のピクチャを用いた双方向予測を用いるものである。
【０００５】
各ＧＯＰにはＩピクチャが少なくとも１枚入るように規定されている。このようにすれば、Ｉピクチャから映像をデコードできるので、ＧＯＰ単位での編集やランダムアクセスが可能になるためである。
【０００６】
ピクチャ（１枚の画面）は１つ以上のスライスから構成されると共に、スライスは１つ以上のＭＢから構成される。そして、ＭＢは４つの輝度信号ブロックと２つの色差信号ブロックから構成され、ブロックのサイズは、８画素×８ラインである。
【０００７】
そして、ＤＣＴ符号化の基本構成は、２次元ＤＣＴ演算、ＤＣＴ係数に対する量子化、量子化された係数のエントロピー符号化である。
図１０に示すように、ＤＣＴ符号化回路１０は、ブロック分割回路１１、２次元ＤＣＴ演算回路１２、量子化回路１３、並べ変え（ジグザグスキャン）回路１４、エントロピー符号化回路１５およびバッファメモリ１６が縦続に接続されて構成される。
【０００８】
２次元ＤＣＴは、例えば、８×８画素からなるブロックの画像を空間周波数成分に分解することに相当し、ＤＣＴ変換係数の絶対値は空間周波数が低いほど大きくなる傾向にある。
【０００９】
量子化は、量子化テーブルと呼ばれる数表の対応する要素で、ＤＣＴ変換係数を割ることにより、実現する。量子化テーブルは、高域ほど大きな値になっているので、量子化によって、高域の変換係数の多くは［０］となる。
【００１０】
量子化された２次元ＤＣＴ変換係数は、ジグザグスキャンなどにより、１次元に並べ変えられる。
【００１１】
エントロピー符号化は、統計的に発生確率の高い価に短い符号を割り当てることにより、全体の符号量を少なくする。
１次元に並べ変えた係数の中の［０］の続く個数（ランレングス）と、［０］でないときの値（ノンゼロ）との１組に対し、２次元ハフマン符号化が行なわれることが多い。
【００１２】
エントロピー符号化は、画像の内容により符号の長さが変わる可変長符号化である。伝送、記録では、単位時間当たりの符号量に制限があるため、符号量制限が必要になり、図１０に示すように、可変長符号化の後にバッファメモリをおき、メモリの占有量により量子化テーブルを変化させるフィードバック方式と、図示は省略するが、ＤＣＴ結果を見て、変換係数のＡＣ成分から符号量を予測しながら制御するフィードフォワード方式とがある。
【００１３】
【発明が解決しようとする課題】
ところで、データ処理においては、多量のデータを処理するために、あるいは高速処理のために、単一の信号系列のデータを一旦複数の系列に分配して、各系列ごとに並列処理を行なった後、再び、単一の系列のデータに合成（多重化）することが一般に行なわれている。
【００１４】
このような合成ないしは多重化の場合、タイミング設定が容易なことから、複数の信号系列は、通常、固定長ビット数とされる。
【００１５】
ところが、前述のＭＰＥＧ方式のような可変長符号の信号系列を多重化する場合には、例えば、Ｌビットのフレームカウンタと、Ｎ個のＬビット比較器と、各比較器の片側入力のためのＭ段のシフトレジスタなど、複雑かつ大規模の周辺回路が必要となるという問題があった。
【００１６】
かかる点に鑑み、この発明の目的は、回路構成が比較的簡単かつ小規模で、可変長符号の複数の信号系列を任意の順で多重化することができるマルチプレクサおよび符号化装置を提供するところにある。
【００１７】
【課題を解決するための手段】
前記課題を解決するため、この発明によるマルチプレクサは、
ビット数またはワード数が可変とされているブロックの単位のデータ列のＮ（Ｎは２以上の整数）個であって、前記ブロックおよび前記ブロックの複数個を含む所定期間で互いに同期が取られている前記Ｎ個のデータ列の入力を受け、前記Ｎ個のデータ列を所定の順序で切り換えて並べることにより前記所定期間単位で多重化して単一のデータストリームに変換するマルチプレクサにおいて、
前記Ｎ個のデータ列のそれぞれが、当該データ列に同期する第１のクロックに基づいてそれぞれ書き込まれると共に、当該書き込まれたデータよりも前記所定期間前に書き込まれていたデータが、多重化のための第２のクロックで読み出されるバッファメモリのＮ個と、
前記データ列のそれぞれの各ブロック毎のビット数またはワード数を、前記データ列に同期する第１のクロックをそれぞれ計数することに基づき計数するために、前記Ｎ個のデータ列のそれぞれに対応して設けられたＮ個の計数手段と、
前記所定期間を前記多重化のための第２のクロックによりカウントする周期カウンタと、
前記周期カウンタのカウント値出力をアドレス情報として、前記所定期間において前記Ｎ個のデータ列を所定の順序で切り換えて並べるための前記Ｎ個のバッファメモリの読み出し制御情報が書き込まれ、または、読み出される２個の記憶手段と、
前記所定期間についての前記Ｎ個の計数手段の計数結果から、前記所定期間における前記Ｎ個のバッファメモリの前記読み出し制御情報を生成し、当該生成した読み出し制御情報を前記２個の記憶手段の一方に書き込んで記憶すると共に、前記２個の記憶手段の他方から、前記所定期間前の前記所定期間についての前記読み出し制御情報を読み出すように制御し、かつ、前記２個の記憶手段について、前記読み出し制御情報を書き込むものと前記読み出し制御情報を読み出すものとを、前記所定期間毎に切り換えるように制御する制御手段と、
前記２個の記憶手段のうちの前記制御手段により読み出し状態とされている記憶手段からの前記読み出し制御情報により、前記Ｎ個のバッファメモリの読み出しを制御するようにする手段と、
を備えることを特徴とする。
【００１８】
また、この発明による符号化装置は、
単一系統のデジタル信号を、所定期間毎に同期する状態で、Ｎ（Ｎは２以上の整数）系統に分配する分配回路と、
前記分配回路からの前記Ｎ系統のデジタル信号をそれぞれ符号化処理するＮ個の符号化器と、
前記Ｎ個の符号化器からの前記Ｎ系統のデジタル信号を多重化して、単一系統のデジタル信号を得るようにするマルチプレクサと
を備える符号化装置であって、前記Ｎ個の符号化器からの各デジタル信号系列は、それぞれ、ビット数またはワード数が可変とされているブロックの単位のデータ列であって、前記ブロックおよび前記ブロックの複数個を含む所定期間で互いに同期が取られているデータ列とされている符号化装置において、
前記マルチプレクサが、
前記Ｎ個のデータ列のそれぞれが、当該データ列に同期する第１のクロックに基づいてそれぞれ書き込まれると共に、当該書き込まれたデータよりも前記所定期間前に書き込まれていたデータが、多重化のための第２のクロックで読み出されるバッファメモリのＮ個と、
前記データ列のそれぞれの各ブロック毎のビット数またはワード数を、前記データ列に同期する第１のクロックをそれぞれ計数することに基づき計数するために、前記Ｎ個のデータ列のそれぞれに対応して設けられたＮ個の計数手段と、
前記所定期間を前記多重化のための第２のクロックによりカウントする周期カウンタと、
前記周期カウンタのカウント値出力をアドレス情報として、前記所定期間において前記Ｎ個のデータ列を所定の順序で切り換えて並べるための前記Ｎ個のバッファメモリの読み出し制御情報が書き込まれ、または、読み出される２個の記憶手段と、
前記所定期間についての前記Ｎ個の計数手段の計数結果から、前記所定期間における前記Ｎ個のバッファメモリの前記読み出し制御情報を生成し、当該生成した読み出し制御情報を前記２個の記憶手段の一方に書き込んで記憶すると共に、前記２個の記憶手段の他方から、前記所定期間前の前記所定期間についての前記読み出し制御情報を読み出すように制御し、かつ、前記２個の記憶手段について、前記読み出し制御情報を書き込むものと前記読み出し制御情報を読み出すものとを、前記所定期間毎に切り換えるように制御する制御手段と、
前記２個の記憶手段のうちの前記制御手段により読み出し状態とされている記憶手段からの前記読み出し制御情報により、前記Ｎ個のバッファメモリの読み出しを制御するようにする手段と、
を備えることを特徴とする。
【００１９】
【作用】
上述したこの発明によるマルチプレクサによれば、検出手段により検出されたブロックデータの大きさに基づいて、決定手段で決定されたマルチプレックス順序に従い、複数のデータストリームのブロックをマルチプレックスする際の切換時点が算出され、この算出された切換時点で、複数のバッファメモリから複数の信号系列が所望順に読み出されて、単一系統のデータストリームが得られる。
【００２０】
また、この発明による符号化装置によれば、単一系列の信号を複数系列の信号に分配して、並列処理を行ない、マルチプレクサに可変長データの状態で入力された複数系列の信号が、この発明によるマルチプレクサにより、単一系統のデータストリームに戻される。
【００２１】
【実施例】
以下、図１〜図８を参照しながら、この発明による符号化装置およびマルチプレクサの一実施例について説明する。
【００２２】
［実施例の構成］
図１は、この発明による符号化装置の一実施例の全体の構成を示し、図２は、この例の符号化装置の一部に適用された場合の、この発明によるマルチプレクサの一実施例の構成を示している。図１および図２の例は、画像データをＭＰＥＧ方式により圧縮符号化する場合の例である。
【００２３】
図１の符号化装置２０においては、アナログ画像信号が、Ａ／Ｄコンバータ２１を通じて、デジタル画像データに変換され、走査変換回路２２に供給される。この走査変換回路２２において、フレーム単位の画像データはラスタスキャン形式からブロックスキャン形式に変換される。すなわち、図９を参照して説明したように、フレーム単位のデータは、ブロック単位にされると共に、マクロブロックが構成され、さらに複数マクロブロックによりスライス単位のデータが構成される。そして、このブロックスキャン形式の画像データが分配回路２３に供給される。
【００２４】
この分配回路２３は、走査変換回路２２と共に、例えば、フレームメモリから構成される。そして、分配回路２３は、並列処理のために、画像データを、この例の場合にはスライス単位で複数系統に分配する。この例では３系統に分配する。すなわち、この実施例では、分配回路２３は３系統分の出力端子ａ、ｂ、ｃを備え、各出力端子ａ、ｂ、ｃからのスライス単位の画像データ出力を、それぞれ対応する３つの符号化器２４、２５、２６に供給する。
【００２５】
前述したように、ＭＰＥＧ１では、スライス単位は、１フレームにおいて、任意の長さに設定可能であり、しかも、１フレーム内でスライスのデータ長を変えることも可能である。したがって、スライス単位でデータ長が異なる場合には、分配された時点で、３系統の画像データ出力は、すでにデータの大きさがスライス単位で異なることになる。
【００２６】
符号化器２４〜２６には、また、システム制御回路２８からの制御信号が供給される。そして、符号化器２４、２５、２６は、それぞれ前述したＭＰＥＧ方式の圧縮符号化を行ない、エントロピー符号化により、スライス単位で可変長ビットとなるシリアルデータ系列Ｓａ、Ｓｂ、Ｓｃ（ビットストリーム）を出力する。なお、この例の場合には、ＭＰＥＧであるので、ブロック、マクロブロック単位でも可変長ビットになっている。
【００２７】
そして、この図１には図示しないが、符号化器２４、２５、２６は、シリアルデータ系列Ｓａ、Ｓｂ、Ｓｃに伴って、各データ系列のビットクロックＣＫａ、ＣＫｂ、ＣＫｃ（図２参照）と、各系列Ｓａ、Ｓｂ、Ｓｃにおけるシリアルデータ存在する区間を示すためのビットイネーブル信号ＥＮａ、ＥＮｂ、ＥＮｃ（図２参照）を出力する。
【００２８】
これらの符号化器２４〜２６から出力される信号系列Ｓａ、Ｓｂ、Ｓｃがマルチプレクサ２７の対応する入力端子ａ、ｂ、ｃにそれぞれ供給されると共に、ビットクロックＣＫａ、ＣＫｂ、ＣＫｃと、ビットイネーブル信号ＥＮａ、ＥＮｂ、ＥＮｃとが対応する入力端子に供給される。そして、マルチプレクサ２７からは、これら３系統のデータを後述するようにマルチプレックスした出力信号系列（ビットストリーム）Ｓmxが導出される。
【００２９】
分配回路２３およびマルチプレクサ２７にはシステム制御回路２８から制御信号が供給されると共に、スライスパルスＰSLが供給され、分配およびマルチプレックスのためのタイミングが知らされる。そして、システム制御回路２８にはフレームパルスＰfrが供給される。
【００３０】
図２は、この発明によるマルチプレクサの一実施例を示すもので、前述もしたように、これは、図１のマルチプレクサ２７に適用した例である。
【００３１】
すなわち、この例の場合、マルチプレクサ２７は、３系統の信号系列Ｓａ、Ｓｂ、Ｓｃのそれぞれに対応して設けられるバッファメモリとしての３つのＦＩＦＯ（First-In First-Out）メモリ３１、３２、３３と、３系統の信号系列Ｓａ、Ｓｂ、Ｓｃのそれぞれに対応して設けられるスライス単位のデータの大きさの検出手段としての３つのビットカウンタ３４、３５、３６とを備える。
【００３２】
ＦＩＦＯメモリ３１〜３３のデータ入力端には、符号化器２４、２５、２６からの３つの信号系列Ｓａ、Ｓｂ、Ｓｃがそれぞれ入力される。また、時間軸変換用ともなるＦＩＦＯメモリ３１〜３３のそれぞれの書き込み側のクロック端子とイネーブル端子には、符号化器２４、２５、２６からの前述したビットクロックＣＫａ、ＣＫｂ、ＣＫｃと、ビットイネーブル信号ＥＮａ、ＥＮｂ、ＥＮｃとがそれぞれ供給される。
【００３３】
一方、ＦＩＦＯメモリ３１〜３３の読み出し側のクロック端子には、マルチプレックス用のクロックＣＫmxが共通に供給され、ＦＩＦＯメモリ３１〜３３の各データ出力は、ワイヤード・オアを通じて、出力信号系列Ｓmxとして導出される。マルチプレックス用のクロックＣＫmxは、ビットクロックＣＫａ〜ＣＫｃに比べて、この例では、高い周波数とされている。
【００３４】
そして、この例では、ＦＩＦＯメモリ３１〜３３の読み出し側のイネーブル端子に供給するイネーブル信号を、後述するように、制御して、後述するＣＰＵ３８が、指定するマルチプレックス順で、マルチプレックスを行なって、出力信号系列Ｓmxを生成するようにする。
【００３５】
ビットカウンタ３４、３５、３６には、符号化器２４、２５、２６からのビットクロックＣＫａ、ＣＫｂ、ＣＫｃと、ビットイネーブル信号ＥＮａ、ＥＮｂ、ＥＮｃとがそれぞれ供給される。そして、ビットカウンタ３４、３５、３６の各リセット端子には、スライスパルスＰSLが供給される。これにより、ビットカウンタ３４〜３６は、スライスの先頭でリセットされ、それぞれビットイネーブル信号ＥＮａ、ＥＮｂ、ＥＮｃにより指定されるイネーブル区間での、それぞれのビットクロックＣＫａ、ＣＫｂ、ＣＫｃを計数することで、各スライスのビット数を計数する。
【００３６】
ビットカウンタ３４〜３６の出力である各スライスのビット数の情報は、図２において、太い実線で示したデータバス３７を通じて、ＣＰＵ３８に供給されており、ＣＰＵ３８に取り込まれる。このＣＰＵ３８には、図２において、太い点線で示したアドレスバス３９も接続されると共に、フレームパルスＰfrとスライスパルスＰSLとが供給されて、後述のような割り込み処理が行なわれる。
【００３７】
ＣＰＵ３８は、３つの信号系列Ｓａ、Ｓｂ、Ｓｃのスライス単位のマルチプレックス順序と、ビットカウンタ３４〜３６からのカウント値情報を元に、各スライス単位のデータの切り換えポイント（マルチプレックスの切り換えポイント）を演算して生成する。この場合、スライス単位のマルチプレックスは、フレーム単位で同期して行なうようにする。そして、切り換えポイントは、マルチプレクサ用のクロックＣＫmxに同期したものとして決定する。
【００３８】
ＲＡＭ４１および４２はフレーム単位のメモリ構成であり、後述するように、３系統のＦＩＦＯ３１、３２、３３のそれぞれに対して、１フレーム内において、それぞれ出力イネーブルにする区間を指定するための指定データＤsgを記憶する。この指定データＤsgはＣＰＵ３８で生成され、ＲＡＭ４１、４２に書き込まれる。
【００３９】
フレームカウンタ５３は、フレームパルスＰfrにより、リセットされ、マルチプレックス用クロックＣＫmxをカウントする。このフレームカウンタ５３のカウント値は、マルチプレックス後のデータ列Ｓmxの各ビットに対応しており、１フレーム内の各ビットがその１フレームの先頭から何番目のビットかを示すものとなる。このフレームカウンタ５３のカウント値は、ＲＡＭ４１，４２に対して、読み出しアドレスして供給される。
【００４０】
ＣＰＵ３８と１対のＲＡＭ４１、４２とが、データバス３７と切り換えバッファ４３、４４とを通じて接続されると共に、アドレスバス３９と切り換えバッファ４５、４６とを通じて接続される。
【００４１】
また、フレームカウンタ５３のカウント値出力端子が、バッファ５１、５２を通じてＲＡＭ４１、４２のアドレス端子に接続されると共に、バッファ５１および４５、バッファ５２および４６を通じてアドレスバス３７に接続されている。
【００４２】
各バッファ４３〜４６、５１、５２は、ＣＰＵ３８から供給される制御信号により、ＲＡＭ４１、４２と、ＣＰＵ３８またはフレームカウンタ５３との接続がフレームごとに切り替わるように、「オン」または「オフ」に制御される。
【００４３】
すなわち、あるフレームでは、バッファ４３、４５が「オン」状態とされると共に、バッファ４４、４６が「オフ」状態とされて、ＣＰＵ３８から一方のＲＡＭ４１にアクセスすることができ、後述するように、このときＲＡＭ４１は書き込み状態とされる。一方、このときには、バッファ５１が「オフ」状態とされると共に、バッファ５２が「オン」状態とされ、フレームカウンタ５３から他方のＲＡＭ４２にアクセスすることができ、ＲＡＭ４２はフレームカウンタからのカウント値により読み出しが行なわれる。
【００４４】
次のフレームでは、各バッファ４３〜４６；５１、５２の「オン」「オフ」の状態が上述とは逆の状態に切り換えられて、ＣＰＵ３８から他方のＲＡＭ４２に書き込みアクセスが行なわれ、また、フレームカウンタから一方のＲＡＭ４１に読み出しアクセスが行なわれるようにされる。
【００４５】
すなわち、ＲＡＭ４１と４２とでは、読み出しアクセスと書き込みアクセスが１フレーム毎に交互に行なわれるように制御されるものである。
【００４６】
前述したＣＰＵ３８により生成される指定データＤsgは、フレームカウンタ５３のカウント値毎に、つまり、データ列Ｓmxの各ビットに対応して生成される。この場合、Ｄsgは３ビットで構成されており、その各１ビットが、ＦＩＦＯメモリ３１、３２、３３に対応しており、それぞれを出力イネーブル（リード・イネーブル）の状態とするかどうかの情報となる。
【００４７】
セレクタ４７は、ＣＰＵ３８からのセレクト制御信号を受けて、ＲＡＭ４１、４２のうちの読み出し状態となっている方のＲＡＭから読み出された３ビットの指定データＤsgを選択する。そして、このセレクタ４７は、この３ビットの指定データＤsgを各ＦＩＦＯ３１、３２、３３に対応する１ビット毎に分配する。図２では、指定データＤsgは（ｂ０，ｂ１，ｂ２）の３ビットからなるものとして、ビットｂ０は、ＦＩＦＯメモリ３１のリード・イネーブル設定用、ビットｂ１は、ＦＩＦＯメモリ３２のリード・イネーブル設定用、ビットｂ２は、ＦＩＦＯメモリ３３のリード・イネーブル設定用とされるものである。
【００４８】
セレクタ４７の各ビットｂ０，ｂ１，ｂ２の出力端子には、それぞれ各ＦＩＦＯ３１、３２、３３に対応するＪＫフリップフロップ（以下、ＪＫ−ＦＦという）５４、５５、５６のＪ入力端子とＫ入力端子とが共通に接続される。各ＪＫ−ＦＦ５４〜５６には、マルチプレックス用のクロックＣＫmxが供給され、ＪＫ−ＦＦ５４〜５６の各セット端子には、フレームパルスＰfrが供給される。
【００４９】
これらＪＫ−ＦＦ５４〜５６は、対応するＦＩＦＯメモリ３１〜３３にリード・イネーブル信号を供給するためのものである。
【００５０】
なお、この実施例では、ＪＫ−ＦＦ５４〜５６の各セット端子と、フレームカウンタ５３のリセット端子とは、供給されるパルスのローレベル（以下、“Ｌ”レベルという）に応動する、いわゆる、ロー・アクティブとされる。
【００５１】
ＪＫ−ＦＦ５４〜５６の各出力は、フレームパルスＰfrによってセットされると、ハイレベル（以下、“Ｈ”レベルという）の状態となる。この状態は、Ｊ、Ｋ入力端子が共に“Ｈ”になると、反転し、以後、Ｊ、Ｋ入力端子が“Ｈ”になるたびに、反転が繰り返される。
【００５２】
このようなＪＫ−ＦＦ５４〜５６の出力が、それぞれ対応するＦＩＦＯメモリ３１〜３３のリード・イネーブル端子に供給される。このリード・イネーブル端子はロー・アクティブであり、上述のように、セレクタ４７の各出力ビットｂ０，ｂ１，ｂ２の状態が「１」、つまり“Ｈ”レベルとなると、各ＪＫ−ＦＦ５４〜５６の出力が“Ｌ”となり、この各ＪＫ−ＦＦ５４〜５６の出力が“Ｌ”となる期間中、各ＦＩＦＯメモリ３１〜３３がリード・イネーブルとなる。
【００５３】
［実施例の動作］
次に、図３〜図８をも参照しながら、この発明の一実施例の動作について説明する。
【００５４】
この実施例では、図３Ａ、Ｂに示すように、各フレーム期間が複数のスライス区間に分割されている。そして、このフレーム単位およびスライス単位に、ビットの先頭が同期している、図３Ｃ、Ｄ、Ｅに示すような、３つの信号系列Ｓａ、Ｓｂ、Ｓｃが、ＦＩＦＯメモリ３１〜３３にそれぞれ入力される。
【００５５】
信号系列Ｓａ、Ｓｂ、Ｓｃは、いずれも各スライス区間のビット数が可変であり、前述したように、ビットクロックＣＫａ、ＣＫｂ、ＣＫｃと、ビットイネーブル信号ＥＮａ、ＥＮｂ、ＥＮｃとを伴っている。このイネーブル信号ＥＮａ、ＥＮｂ、ＥＮｃとビットクロックＣＫａ、ＣＫｂ、ＣＫｃとの組みはそれぞれ同期している。
【００５６】
そして、ビットカウンタ３４〜３６では、前述のように、スライスごとのイネーブル区間のビット数（クロック数）が計数される。つまり、各スライスのビット数が計数される。
【００５７】
この実施例では、信号系列Ｓａ、Ｓｂ、Ｓｃにそれぞれ対応する計数値が、図３Ｃ、Ｄ、Ｅに示すように、例えば、＃１フレームの第１〜第ｍ（ｍは１以上の整数）スライスでは、ａ11、ａ12‥‥ａ1m；ｂ11、ｂ12‥‥ｂ1m；ｃ11、ｃ12‥‥ｃ1m（ビット）であり、＃２フレームの第１〜第ｍスライスでは、ａ21、ａ22‥‥ａ2m；ｂ21、ｂ22‥‥ｂ2m；ｃ21、ｃ22‥‥ｃ2m（ビット）であるとしている。
【００５８】
ＣＰＵ３８では、信号系列の数（この実施例では［３］）と、予め決められたスライス単位のマルチプレックス順とに応じて、上述のような１フレーム分の各信号系列のスライス単位の計数値から、マルチプレックス時の各信号の切換時点、すなわち、各スライスの読み始めと読み終わりとの時刻が算出される。なお、この実施例では、マルチプレックス時の各信号の切換時点は、任意のスライスの先頭もしくは後尾となるようにされている。
【００５９】
そして、この時刻の算出は、図３Ｆに示すように、図３ＡのフレームパルスＰfrでリセットされるフレームカウンタ５３により、フレームパルスＰfrの入力位相を基準の［０］時として計時される絶対時間に則してなされる。
なお、この時刻の算出は、演算器により行なうこともできる。
【００６０】
この実施例では、マルチプレックス順が、図４Ｎに示すように、各信号系列の第１スライスは、信号系列Ｓａ→Ｓｂ→Ｓｃの順であり、第２スライスも同様である。そして、第３スライス以降では、まず、第１の信号系列Ｓａだけの第３スライスから第ｍスライスまでのデータａi3〜ａim（ｉはフレーム番号）連続し、次に、第２の信号系列Ｓｂだけの第３スライスから第ｍスライスまでのデータｂi3〜ｂimが連続し、最後に、第３の信号系列Ｓｃだけの第３スライスから第ｍスライスまでのデータｃi3〜ｃimが連続するものとしている。
【００６１】
この実施例では、上述のようなマルチプレックス時の各信号の切り換え時点は、１フレームにおいて、それぞれのＦＩＦＯメモリから読み出しが行われる、対応する信号系列のスライス単位のデータの先頭のビットと、最後尾のビットの読み出し時点としてＣＰＵ３８において算出される。したがって、この例の場合、この切り換え時点は、フレームカウンタ５３のカウント値として、つまりＲＡＭ４１、４２の読み出しアドレス（以下、ＲＣアドレスという）として算出されることになる。
【００６２】
図４ＧはＪＫ−ＦＦ５４からＦＩＦＯメモリ３１に供給されるリード・イネーブル信号、図４ＨはＪＫ−ＦＦ５５からＦＩＦＯメモリ３２に供給されるリード・イネーブル信号、図４ＪはＪＫ−ＦＦ５６からＦＩＦＯメモリ３３に供給されるリード・イネーブル信号を示すものである。今、これらの図４Ｇ、Ｈ、Ｊに示すように、前述した算出されるべき切り換え時点が、上述のようにＣＰＵ３８により指定されるマルチプレックス順に対応して、＃１フレームの信号系列Ｓａに対しては、ａａ１、ａａ２、ａａ３、ａａ４、ａａ５、ａａ６、ａａ７となり、＃１フレームの信号系列Ｓｂに対しては、ａｂ１、ａｂ２、ａｂ３、ａｂ４、ａｂ５、ａｂ６となり、＃１フレームの信号系列Ｓｃに対しては、ａｃ１、ａｃ２、ａｃ３、ａｃ４、ａｃ５、ａｃ６となるものとすると、これらの各切り換え時点のＲＣアドレスは、図５の表に示すように、ＣＰＵ３８で算出される。
【００６３】
すなわち、図５の表において、右側は、算出すべき各切り換え時点であり、左側に、１フレームの先頭のアドレスを「０」としたときの、その切り換え時点のＲＣアドレスの算出式を示す。ＲＡＭ４１，４２のＲＣアドレスの１アドレスが信号系列の１ビットに等しいので、ビットカウンタ３４〜３６で計数した各スライスのビット数を用いて、ＣＰＵ３８は、各切り換え時点のＲＣアドレスの算出を行なうものである。
【００６４】
なお、マルチプレックス時の各信号の切換時点では、後続スライスの読み始めと、先行スライスの読み終わりとが連続するので、図４Ｇ、Ｈ、Ｊに示すように、１つの切換時点ｔ１〜ｔｆには、２つの信号のＲＣアドレスが対応する。
【００６５】
そして、ＣＰＵ３８は、この算出結果に応じて、ＲＡＭ４１あるいはＲＡＭ４２の各ＲＣアドレスに、３ビットの指定データＤsgを書き込む。
【００６６】
この場合、ＲＡＭ４１、４２に書き込まれる指定データＤsg＝（ｂ０，ｂ１，ｂ２）は、次のようになる。すなわち、ＦＩＦＯ３１から第１の信号系列Ｓａのスライスを読み出すときの先頭および最後尾の時点に対応する切り換え時点ａａ１、ａａ２、ａａ３、ａａ４、ａａ５、ａａ６、ａａ７のＲＣアドレスでは、ビットｂ０＝「１」とされる。
【００６７】
また、ＦＩＦＯ３２から第２の信号系列Ｓｂのスライスを読み出すときの先頭および最後尾の時点に対応する切り換え時点ａｂ１、ａｂ２、ａｂ３、ａｂ４、ａｂ５、ａｂ６のＲＣアドレスでは、ビットｂ１＝「１」とされる。
【００６８】
また、ＦＩＦＯ３３から第３の信号系列Ｓｃのスライスを読み出すときの先頭および最後尾の時点に対応する切り換え時点ａｃ１、ａｃ２、ａｃ３、ａｃ４、ａｃ５、ａｃ６のＲＣアドレスでは、ビットｂ２＝「１」とされる。
【００６９】
すなわち、図４において、例えば、切り換え時点ａａ１は、ＦＩＦＯ３１から読み出す第１の信号系列Ｓａの第１スライスの先頭であるので、この時点ａａ１に対応するＲＡＭ４１あるいはＲＡＭ４２のＲＣアドレスには、指定データＤsgとして、（ｂ０，ｂ１，ｂ２）＝（１，０，０）が書き込まれる。
【００７０】
次に、切り換え時点ａａ２は、ＦＩＦＯ３１から読み出す第１の信号系列Ｓａの第１スライスの最後尾であり、また、ＦＩＦＯ３２から読み出す第２の信号系列Ｓｂの第１スライスの先頭の切り換え時点ａｂ１でもあるので、この時点ａａ２に対応するＲＡＭ４１あるいはＲＡＭ４２のＲＣアドレスには、指定データＤsgとして、（ｂ０，ｂ１，ｂ２）＝（１，１，０）が書き込まれる。
【００７１】
次に、切り換え時点ａｂ２は、ＦＩＦＯ３２から読み出す第１の信号系列Ｓｂの第１スライスの最後尾であり、また、ＦＩＦＯ３３から読み出す第１の信号系列Ｓｃの第１スライスの先頭の切り換え時点ａｃ１でもあるので、この時点ａｂ２に対応するＲＡＭ４１あるいはＲＡＭ４２のＲＣアドレスには、指定データＤsgとして、（ｂ０，ｂ１，ｂ２）＝（０，１，１）が書き込まれる。
【００７２】
以下、同様にして、各切り換え時点に対応するＲＣアドレスの指定データＤsgは、その３ビットの内の１ビットあるいは２ビットが「１」となるものとして書き込まれる。そして、これら切り換え時点以外のＲＣアドレスの指定データＤsgは、（ｂ０，ｂ１，ｂ２）＝（０，０，０）が書き込まれる。
【００７３】
そして、読み出し時には、ＲＡＭ４１および４２の読み出し状態とされている方のＲＡＭから、前記指定データＤsgが、フレームカウンタ５３の計数値により、ＲＣアドレスが指定された順次に読み出される。
【００７４】
すなわち、例えば、あるフレームで、指定データＤsgががセットされた、一方のＲＡＭ４１のＲＣアドレスが、次のフレームで、フレームカウンタ５３にアクセスされると、図４Ｋ、Ｌ、Ｍに示すように、各ＲＣアドレスに対応する切換時点ｔ０〜ｔｆで、一方のＲＡＭ４１からｂ０、ｂ１、ｂ２がそれぞれ読み出されて、ＦＩＦＯ３１、３２、３３から、対応する各信号系列Ｓａ、Ｓｂ、Ｓｃのスライスを読み出す先頭、最後尾に対応するＲＣアドレスになると、対応するビットｂ０、ｂ１、ｂ２にそれぞれ“１”が立つ。
【００７５】
これらのビットｂ０，ｂ１，ｂ２が“１”であると、セレクタ４７を通じて、それぞれ対応するＪＫ−ＦＦ５４、５５、５６のＪ入力端子とＫ入力端子とに供給されて、図４Ｇ、Ｈ、Ｊに示すように、ＪＫ−ＦＦ５４、５５、５６の出力が、信号系列Ｓａ、Ｓｂ、Ｓｃの各スライスの読み始めに対応するＲＣアドレスで、それぞれ“Ｌ”状態に変わると共に、各スライスの読み終わりに対応するＲＣアドレスで、それぞれ“Ｈ”状態に変わる。
【００７６】
図４Ｇ、Ｈ、Ｊに示すような、ＪＫ−ＦＦ５４、５５、５６の出力が、ＦＩＦＯメモリ３１、３２、３３のロー・アクティブなリード・イネーブル端子に供給されると、ＦＩＦＯメモリ３１、３２、３３からは、ＪＫ−ＦＦ５４、５５、５６の出力が“Ｌ”の期間に、信号系列Ｓａ、Ｓｂ、Ｓｃが、前述のような、マルチプレックス時のスライスパターンの順で読み出されて、図４Ｎに示すような、単一の信号系列Ｓmxが形成される。
【００７７】
［実施例の要部の動作］
この実施例では、フレームごとに、ＲＣアドレスにおける各信号に対応するビットがＲＡＭにセットされるので、現フレームの信号に対するビットセットの前に、前フレームでセットされたＲＣアドレスの対応するビットのクリアを行なう必要がある。
【００７８】
このクリアは、次のようにして、フレームパルスによる、ＣＰＵの割込み処理で実行される。
また、各信号のスライスごとのＲＣアドレスの算出は、スライスパルスによる、ＣＰＵの割込み処理で実行される。
【００７９】
即ち、図６に示すように、メインルーチン１００において、ＣＰＵは、スタート直後のステップ１０１で、いわゆるノップ（ｎｏｐ）状態となり、図７、図８に示すようなルーチン１１０またはルーチン１２０の、フレームパルスまたはスライスパルスによる割込みを待って起動する。
【００８０】
図７に示すような、フレームパルスによる割込みルーチン１１０においては、まず、ステップ１１１で全ＲＡＭがクリアされ、ステップ１１２では、ソフトウェアにより実現されている、スライスカウンタがリセットされる。
【００８１】
次のステップ１１３では、マルチプレックスするスライスの順を変更するか否かが判断される。この実施例では、マルチプレックスするスライスの順をＣＰＵにより制御しているので、マルチプレックスするスライスの順を任意に変更することも可能である。
【００８２】
スライスの順を変更する場合は、ステップ１１４に進んで、スライスパルスによる割り込みベクトルの値を所望順のマルチプレックスルーチンに対応するベクトルに変更して、ステップ１１１に戻る。
【００８３】
また、ステップ１１３でスライスの順を変更しない場合には、そのままステップ１１１に戻る。
【００８４】
図８に示すような、スライスパルスによる割込みルーチン１２０においては、まず、ステップ１２１で、ソフトウェアにより実現されている、スライスカウンタの値ｉを読み、ステップ１２２では、カウンタの値を［１］だけ進めて、ｉ＝ｉ＋１に更新する。次のステップ１２３では、各ビットカウンタの値を読む。
【００８５】
そして、ステップ１２４では、マルチプレックスの順番に基づいて、各信号の各スライスの読み始めおよび読み終わりの絶対時刻に、それぞれフレームカウンタによってアクセスされるべきアドレス（ＲＣアドレス）を算出する。
【００８６】
そして、次のステップ１２５では、前述したように、ＲＡＭの、算出したＲＣアドレスの指定データＤsgを、３ビット（ｂ０，ｂ１，ｂ２）の内のいずれか１つあるいは２つのビットを「１」にするようにセットして、ステップ１２１に戻る。算出したＲＣアドレス以外のアドレスは、（ｂ０，ｂ１，ｂ２）＝（０，０，０）となっているので、それらのアドレスの指定データＤsgは書き替える必要はない。
【００８７】
以上詳述のように、この実施例では、可変符号長の複数の信号系列のフレームごとに、全スライス分のビット数を計数し、現フレームの各スライスのビット数から、各信号の切り替わり点に当たる、各信号の読み始め時点と読み終わり時点とをＲＣアドレスとして算出し、ＲＡＭのＲＣアドレスにおける各信号に対応するビットをセットする。
【００８８】
次フレームでは、ＲＡＭのアドレスに順次アクセスすることにより、信号の切り替わる時点で、対応ＲＡＭのビットがアクティブになり、それがトリガとなって、ＪＫフリップフロップの出力レベルが、読み始め時点でアクティブに変化し、読み終わり時点でインアクティブになる。
【００８９】
アクティブレベル期間中、対応するＦＩＦＯメモリからデータが読み出され、複数のＦＩＦＯメモリ中の１つの出力のみが選択されて、マルチプレックスが行なわれる。
【００９０】
これにより、比較的簡単かつ小規模な回路構成で、可変長符号からなる複数の信号系列を任意の順でマルチプレックスすることが可能となる。
【００９１】
［他の実施例］
前述の実施例では、１対のＲＡＭのそれぞれと、ＣＰＵまたはフレームカウンタとの接続をフレームごとに切り換えるようにしたが、単一のＲＡＭを用いて、ＣＰＵとフレームカウンタとの接続切換を、各フレーム内で時分割で行なってもよい。
【００９２】
また、前述の実施例では、ビットクロックとマルチプレックス用のクロックとが異なる設定としたが、データレートさえ許せば、同一のクロックにしてもよい。
【００９３】
そして、前述の実施例では、マルチプレクサが複数のＦＩＦＯメモリを含んで構成されているが、この複数のＦＩＦＯメモリが前出図１に示すような符号化器に含まれていてもよい。この場合、前述のようなマルチプレックスのための読み出し制御が付随する。
【００９４】
また、マルチプレクサの入力データが、複数系統存在して、それが可変長データであれば、この発明は適用されるので、分配回路で単位毎のデータの大きさが変わる場合、例えば上述の例であれば、スライス単位にデータ長を変更する場合で、符号化器が固定長符号化を行なう場合にも適用できる。
【００９５】
また、この発明は、対象とする信号は映像信号に限らず、例えば音声信号もこの発明の対象とすることができる。
【００９６】
また、以上の例は、シリアルデータの場合であるが、例えばワードごとにクロックが伴うような信号系列の場合であれば、このクロックの伴うワードごとのパラレルデータの場合にも、この発明は適用可能である。
【００９７】
【発明の効果】
以上説明したように、この発明によれば、複数の信号系列をマルチプレックスする際の切換時点を算出することにより、比較的簡単かつ小規模な回路構成で、データの大きさが異なる複数の信号系列を任意の順でマルチプレックスすることが可能となる。
【図面の簡単な説明】
【図１】この発明による符号化装置の一実施例の構成を示すブロック図である。
【図２】この発明の一実施例の要部の構成を示すブロック図である。
【図３】この発明の一実施例の動作を説明するためのタイムチャートである。
【図４】この発明の一実施例の動作を説明するためのタイムチャートである。
【図５】この発明の一実施例の動作を説明するための図である。
【図６】この発明の一実施例の動作を説明するための流れ図である。
【図７】この発明の一実施例の動作を説明するための流れ図である。
【図８】この発明の一実施例の動作を説明するための流れ図である。
【図９】この発明を説明するための概念図である。
【図１０】この発明を説明するためのブロック図である。
【符号の説明】
２０              符号化装置
２７              マルチプレクサ
３１〜３３        ＦＩＦＯメモリ
３４〜３６        ビットカウンタ
３８              ＣＰＵ
４１、４２        ＲＡＭ
４７              セレクタ
５３              フレームカウンタ
５４〜５６        ＪＫフリップフロップ
ＣＫａ〜ＣＫｃ    ビットクロック
ＣＫｍｘ          合成用クロック
Ｐfr              フレームパルス
ＰSL              スライスパルス
Ｓａ〜Ｓｃ        入力信号
Ｓmx              出力信号
【図１】
0003646738.tif 000002
【図２】
0003646738.tif 000003
【図３】
0003646738.tif 000004
【図４】
0003646738.tif 000005
【図５】
0003646738.tif 000006
【図６】
0003646738.tif 000007
【図７】
0003646738.tif 000008
【図８】
0003646738.tif 000009
【図９】
0003646738.tif 000010
【図１０】
0003646738.tif 000011