(57)【要約】  【課題】 処理サイクルが短く、かつ回路規模増加を抑えた可変長符号化装置を提供することを目的とする。  【解決手段】（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応するＬＭＡＸ、ＲＭＡＸを用いて、ＶＬＣテーブル上に（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応するＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）が定義されているか否かを判定し、判定結果に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成し、出力する。【選択図】  図3
2006067396.tif 000002
【特許請求の範囲】
【請求項１】
対象データに対応する符号を出力する符号化装置であって、
対象データがその内容に基づいて分類されるグループ毎に当該グループの代表値を記憶している代表値記憶手段と、
１の対象データを取得する取得手段と、
取得した前記対象データが分類されるグループの代表値を用いて、取得した前記対象データに対応する可変長符号が可変長符号テーブルに存在するか否かを判定する判定手段と、
存在すると判定される場合に、取得した前記対象データに対応する可変長符号を可変長符号テーブルから抽出して出力し、存在しないと判定される場合に、取得した前記対象データに相応し前記可変長符号に代替する代替符号を生成して出力する抽出生成手段と
を備えることを特徴とする符号化装置。
【請求項２】
前記対象データは、少なくとも第１対象係数及び第２対象係数を含み、
前記代表値記憶手段は、第１代表値テーブルを有し、前記第１代表値テーブルは、対象データに含まれる第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値を前記代表値として含み、
前記判定手段は、前記代表値記憶手段が有する前記第１代表値テーブルから、取得した前記対象データが分類される第１グループの第１代表値を読み出し、読み出した前記第１代表値を前記代表値として用いる
ことを特徴とする請求項１に記載の符号化装置。
【請求項３】
同一の第１対象係数を含む複数の対象データが、１個の第１グループを形成し、
前記第１代表値テーブルは、第１グループに分類される複数の対象データに含まれる第２対象係数のうちの最大値を、前記第１代表値として含み、
前記判定手段は、前記最大値を用いる
ことを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記抽出生成手段は、
前記対象データに前記第１代表値に基づく第１減算を施して、第１減算データを生成し、前記第１代表値を用いて、前記可変長符号テーブル上に前記第１減算データに対応する可変長符号が存在するか否かを判定し、
存在すると判定される場合に、前記可変長符号テーブルから前記第１減算データに対応する第１減算符号を抽出して出力し、
前記第１減算符号と、前記第１減算を示す第１減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項３に記載の符号化装置。
【請求項５】
前記抽出生成手段は、前記第１減算データと前記第１代表値とを比較し、第１減算データが第１代表値より大きいか否かを判断し、大きいと判断する場合に、第１減算データに対応する可変長符号が存在しないと決定し、小さい又は等しいと判断する場合に、第１減算データに対応する可変長符号が存在すると決定する
ことを特徴とする請求項４に記載の符号化装置。
【請求項６】
前記抽出生成手段は、
前記対象データから前記第１代表値の２倍の値を減ずることにより得られる中間値が正の値であるか否かを判断し、正の値であると判断する場合に、第１減算データに対応する可変長符号が存在しないと決定し、零又は負の値であると判断する場合に、第１減算データに対応する可変長符号が存在すると決定する
ことを特徴とする請求項４に記載の符号化装置。
【請求項７】
前記抽出生成手段は、
前記第１代表値を１ビットシフトすることにより、前記第１代表値の２倍の値を算出する
ことを特徴とする請求項６に記載の符号化装置。
【請求項８】
前記代表値記憶手段は、さらに、第２代表値テーブルを有し、前記第２代表値テーブルは、対象データに含まれる第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの前記第２代表値を前記代表値として含み、
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定され、前記抽出生成手段により前記第１減算データに対応する可変長符号が存在しないと判断される場合に、前記抽出生成手段は、
前記代表値記憶手段が有する前記第２代表値テーブルから、取得した前記対象データが分類される第２グループの第２代表値を読み出し、
前記対象データに前記第２代表値に基づく第２減算を施して、第２減算データを生成し、前記可変長符号テーブルから第２減算データに対応する可変長符号の取得を試み、取得に成功した場合に、取得した第２減算符号と、前記第２減算を示す第２減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項４に記載の符号化装置。
【請求項９】
前記代表値記憶手段は、さらに、第２代表値テーブルを有し、前記第２代表値テーブルは、対象データに含まれる第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの前記第２代表値を前記代表値として含み、
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定され、前記抽出生成手段により前記第１減算データに対応する可変長符号が存在しないと判断される場合に、前記抽出生成手段は、
前記代表値記憶手段が有する前記第２代表値テーブルから、取得した前記対象データが分類される第２グループの第２代表値を読み出し、
前記対象データに前記第２代表値に基づく第２減算を施して、第２減算データを生成し、前記第２代表値を用いて、前記可変長符号テーブル上に前記第２減算データに対応する可変長符号が存在するか否かを判定し、
存在すると判定される場合に、前記可変長符号テーブルから前記第２減算データに対応する第２減算符号を抽出し、
前記第２減算符号と、前記第２減算を示す第２減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項４に記載の符号化装置。
【請求項１０】
同一の第２対象係数を含む複数の対象データが、１個の第２グループを形成し、
前記第２代表値テーブルは、第２グループに分類される複数の対象データに含まれる第１対象係数のうちの最大値を、前記第２代表値として含み、
前記抽出生成手段は、前記最大値を用いる
ことを特徴とする請求項９に記載の符号化装置。
【請求項１１】
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定され、前記抽出生成手段により前記第１減算データに対応する可変長符号が存在しないと判断され、前記第２減算データに対応する可変長符号が存在しないと判断される場合に、前記抽出生成手段は、前記対象データと、前記対象データであることを示す対象データ定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項９に記載の符号化装置。
【請求項１２】
所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、
前記対象データは、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される
ことを特徴とする請求項３に記載の符号化装置。
【請求項１３】
前記第１係数は、前記Ｒｕｎ値であり、前記第２係数は、前記Ｌｅｖｅｌ値であり、
前記代表値記憶手段に記憶されている第１代表値テーブルは、前記Ｌａｓｔ値及び前記Ｒｕｎ値により前記対象データが分類される第１グループにおけるＬｅｖｅｌ値の最大値であるＬＭＡＸを前記第１代表値として含み、
前記判定手段は、取得した前記対象データに含まれるＬｅｖｅｌ値の絶対値が前記ＬＭＡＸよりも大きい場合、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定する
ことを特徴とする請求項１２に記載の符号化装置。
【請求項１４】
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、
前記Ｌｅｖｅｌ値の絶対値から前記ＬＭＡＸを減算してＮｅｗＬｅｖｅｌを算出し、前記ＬＭＡＸと前記ＮｅｗＬｅｖｅｌとを比較することにより、前記Ｌａｓｔ値と前記Ｒｕｎ値と前記ＮｅｗＬｅｖｅｌからなる第１減算データに対応する可変長符号が、前記可変長符号テーブルに存在するか否かを判断し、
存在すると判断する場合、前記第１減算データに対応する第１減算符号と、前記減算を示す第１減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項１３に記載の符号化装置。
【請求項１５】
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、
前記ＬＭＡＸの２倍値を算出し、算出した２倍値と前記Ｌｅｖｅｌ値の絶対値とを比較することにより、前記Ｌａｓｔ値、前記Ｒｕｎ値及び前記Ｌｅｖｅｌ値から前記ＬＭＡＸを減算したＮｅｗＬｅｖｅｌとからなる第１減算データに対する可変長符号が、前記可変長符号テーブルに存在するか否かを判断し、
存在すると判断する場合、前記第１減算データに対応する第１減算符号と、前記減算を示す第１減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項１３に記載の符号化装置。
【請求項１６】
前記第１係数は、前記Ｌｅｖｅｌ値であり、前記第２係数は、前記Ｒｕｎ値であり、
前記代表値記憶手段は、前記Ｌａｓｔ値及び前記Ｌｅｖｅｌ値により前記対象データが分類されるグループにおけるＲｕｎ値の最大値であるＲＭＡＸを前記代表値として記憶しており、
前記判定手段は、前記Ｒｕｎ値と前記ＲＭＡＸとを比較し、前記Ｒｕｎ値が前記ＲＭＡＸより大きい場合、取得した対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定する
ことを特徴とする請求項１２に記載の符号化装置。
【請求項１７】
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、
前記Ｒｕｎ値から前記ＲＭＡＸ及び１を減算したＮｅｗＲｕｎを算出し、前記ＲＭＡＸと前記ＮｅｗＲｕｎとを比較することにより、前記Ｌａｓｔ値と前記ＮｅｗＲｕｎと前記Ｌｅｖｅｌ値からなる第２減算データに対応する可変長符号が、前記可変長符号テーブル上に存在するか否かを判定し、
存在すると判定する場合、前記第２減算データに対応する第２減算符号と、前記第２減算を示す第２減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項１６に記載の符号化装置。
【請求項１８】
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、
前記ＲＭＡＸの２倍値に１を加算して得られる値と前記Ｒｕｎ値とを比較することにより、前記Ｌａｓｔ値、前記Ｒｕｎ値から前記ＲＭＡＸ及び１を減算したＮｅｗＲｕｎ及び前記Ｌｅｖｅｌ値からなる第２減算データに対応する可変長符号が、前記可変長符号テーブルに存在するか否かを判定し、
存在すると判定する場合、前記第２減算データに対応する第２減算符号と、前記第２減算を示す第２減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項１６に記載の符号化装置。
【請求項１９】
前記判定手段は、所定の判定閾値を記憶しており、
前記Ｒｕｎ値が前記判定閾値以下である場合に、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在するか否かの判定を行う
ことを特徴とする請求項１２に記載の符号化装置。
【請求項２０】
前記符号化装置は、さらに、前記判定閾値の入力を受け付ける受付手段を備え、
前記判定手段は、受付手段により受け付けられた前記判定閾値を記憶する
ことを特徴とする請求項１９に記載の符号化装置。
【請求項２１】
前記対象データは、少なくとも第１対象係数及び第２対象係数を含み、
前記代表値記憶手段は、第１代表値テーブル及び第２代表値テーブルを有し、
前記第１代表値テーブルは、対象データに含まれる前記第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値を含み、
前記第２代表テーブルは、対象データに含まれる前記第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの第２代表値を含み、
前記判定手段は、前記第１代表値又は前記第２代表値の何れか一方を選択し、選択した一方を前記代表値として用いる
ことを特徴とする請求項１に記載の符号化装置。
【請求項２２】
可変長符号テーブル上に、取得した前記対象データに対応する可変長符号が存在しないと判定される場合、
前記抽出生成手段は、前記判定手段により選択された前記代表値に基づく減算を前記対象データに施した減算データを生成し、前記代表値を用いて前記減算データに対応する可変長符号が可変長符号テーブル上に存在するか否かを判定し、
存在すると判定される場合に、前記可変長符号テーブルから前記減算データに対応する減算符号を抽出して出力し、
前記減算符号と、前記減算を示す減算定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項２１に記載の符号化装置。
【請求項２３】
前記判定手段は、所定の固定長符号閾値を記憶しており、前記対象データが前記固定長符号閾値を超える場合、前記判定手段は、前記判定を中止し、
前記判定手段による前記判定が中止された場合、抽出生成手段は、前記対象データと、前記対象データであることを示す対象データ定義符号とからなる前記代替符号を生成する
ことを特徴とする請求項１記載の符号化装置。
【請求項２４】
所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、
前記対象データは、前記第１対象係数として、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記第２対象係数として、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される
ことを特徴とする請求項２３に記載の符号化装置。
【請求項２５】
前記判定手段は、前記Ｌｅｖｅｌ値の絶対値が、前記固定長符号閾値を超える場合に、前記判定を中止する
ことを特徴とする請求項２４に記載の符号化装置。
【請求項２６】
前記判定手段は、前記Ｒｕｎ値が、前記固定長符号閾値を超える場合に、前記判定を中止する
ことを特徴とする請求項２４に記載の符号化装置。
【請求項２７】
対象データに対応する符号を出力する符号化装置であって、
少なくとも第１対象係数及び第２対象係数を含む１の対象データを取得する取得手段と、
対象データに含まれる前記第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値を記憶しており、前記第１代表値を用いて、取得した前記対象データ及び当該対象データに相応する相応データに対応する可変長符号が可変長符号テーブルに存在するか否かを判定する第１判定手段と、
対象データに含まれる前記第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの第２代表値を記憶しており、前記第２代表値を用いて、取得した前記対象データ及び当該対象データに相応する相応データに対応する可変長符号が可変長符号テーブルに存在するか否かを必要に応じて判定する第２判定手段と、
前記第１判定手段及び前記第２判定手段による両方の判定結果のいずれを用いるかを判断し、用いると決定された方の判定結果を採用する判定制御手段と、
採用された前記判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、
採用された前記判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかったもう一方の判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する抽出生成手段と
を備えることを特徴とする符号化装置。
【請求項２８】
前記第１判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第１代表値に基づく第１減算を施して、前記相応データとして第１減算データを生成し、
前記第２判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第２代表値に基づく第２減算を施して、前記相応データとして第２減算データを生成する
ことを特徴とする請求項２７に記載の符号化装置。
【請求項２９】
前記第１判定手段は、前記第２判定手段に先行して前記判定を行い、
前記判定制御手段は、前記第１判定手段による判定結果を採用し、
前記抽出生成手段は、前記第１判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、
前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する
ことを特徴とする請求項２８に記載の符号化装置。
【請求項３０】
前記第１判定手段により、前記第１減算データに対応する可変長符号が存在すると判断された場合、前記第２判定手段は、前記第２減算データに対応する可変長符号が存在するか否かの判定を中止する
ことを特徴とする請求項２９に記載の符号化装置。
【請求項３１】
前記第１判定手段と前記第２判定手段とは、それぞれ並行して判定を行う
ことを特徴とする請求項２８に記載の符号化装置。
【請求項３２】
前記判定制御手段は、前記第１判定手段による判定結果を採用し、
前記抽出生成手段は、前記第１判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、
前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する
ことを特徴とする請求項３１に記載の符号化装置。
【請求項３３】
前記符号化装置は、さらに、前記第１生成手段による判定結果と前記第２判定手段による判定結果のうち何れを優先的に採用するかを示す優先度指示を受け付ける受付手段を備え、
前記判定制御手段は、前記優先度指示に従って、前記第１判定手段による判定結果及び前記第２判定手段による判定結果のうち一方を優先的に採用する
ことを特徴とする請求項３１に記載の符号化装置。
【請求項３４】
前記抽出生成手段は、前記判定制御手段により前記第１判定手段による判定結果が採用される場合、前記可変長符号テーブルから前記第１減算データに対応する第１減算符号を抽出して出力し、前記第１減算符号と、前記第１減算を示す第１減算定義符号とを生成して出力する
ことを特徴とする請求項３１に記載の符号化装置。
【請求項３５】
所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、
前記対象データは、前記第１対象係数として、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記第２対象係数として、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される
ことを特徴とする請求項２７に記載の符号化装置。
【請求項３６】
前記第１判定手段は、第１代表値テーブルを有し、前記第１代表値テーブルは、前記Ｌａｓｔ値及び前記Ｒｕｎ値により前記対象データが分類される第１グループにおけるＬｅｖｅｌ値の最大値であるＬＭＡＸを前記第１代表値として含み、
前記第２判定手段は、第２代表値テーブルを有し、前記第２代表値テーブルは、前記Ｌａｓｔ値及び前記Ｌｅｖｅｌ値により前記対象データが分類される第２グループにおけるＲｕｎ値の最大値であるＲＭＡＸを前記第２代表値として含み、
前記第１判定手段は、取得した前記対象データに含まれるＬｅｖｅｌ値の絶対値が前記ＬＭＡＸよりも大きい場合、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定し、
前記第２判定手段は、取得した前記対象データに含まれるＲｕｎ値が前記ＲＭＡＸよりも大きい場合、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定する
ことを特徴とする請求項３５に記載の符号化装置。
【請求項３７】
前記第１判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記ＬＭＡＸ値に基づく第１減算を施して、前記相応データとして第１減算データを生成し、
前記第２判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記ＲＭＡＸに基づく第２減算を施して、前記相応データとして第２減算データを生成する
ことを特徴とする請求項３６に記載の符号化装置。
【請求項３８】
前記第１判定手段は、前記第２判定手段に先行して前記判定を行い、
前記判定制御手段は、前記第１判定手段による判定結果を採用し、
前記抽出生成手段は、前記第１判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、
前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する
ことを特徴とする請求項３７に記載の符号化装置。
【請求項３９】
前記第２判定手段は、前記第１判定手段に先行して前記判定を行い、
前記判定制御手段は、前記第２判定手段による判定結果を採用し、
前記抽出生成手段は、前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、
前記第２判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第１判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する
ことを特徴とする請求項３７に記載の符号化装置。
【請求項４０】
前記第１判定手段と前記第２判定手段とは、それぞれ並行して判定を行う
ことを特徴とする請求項３７に記載の符号化装置。
【請求項４１】
前記第１判定手段は、所定の第１判定閾値を記憶しており、前記Ｒｕｎ値が前記第１判定閾値以下である場合にのみ、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在するか否かの判定を行い、
前記第２判定手段は、所定の判断する第２判定閾値を記憶しており、前記Ｒｕｎ値が前記第２判定閾値以下である場合にのみ、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在するか否かの判定を行う
ことを特徴とする請求項３５に記載の符号化装置。
【請求項４２】
前記第１判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として未判定信号を出力し、
前記第２判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として未判定信号を出力する
ことを特徴とする請求項４１に記載の符号化装置。
【請求項４３】
前記第１判定手段は、前記対象データに含まれるＲｕｎ値が前記第１判定閾値よりも大きい場合、判定結果として、未判定信号を出力し、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として他符号信号を出力し、
前記第２判定手段は、前記対象データに含まれるＲｕｎ値が前記第２判定閾値よりも大きい場合、判定結果として、未判定信号を出力し、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として他符号信号を出力する
ことを特徴とする請求項４１に記載の符号化装置。
【請求項４４】
前記符号化装置は、さらに、前記第１判定閾値及び第２判定閾値の入力を受け付ける受付手段を備え、
前記第１判定手段は、受付手段により受け付けられた前記第１判定閾値を記憶し、前記第２判定手段は、受付手段により受け付けられた前記第２判定閾値を記憶する
ことを特徴とする請求項４１に記載の符号化装置。
【請求項４５】
前記第１判定手段は、所定の固定長符号閾値を記憶しており、前記対象データが前記固定長符号閾値を超える場合、前記判定手段は、前記判定を中止し、
前記第１判断手段による前記判定が中止された場合、前記抽出生成手段は、取得した前記対象データを出力する
ことを特徴とする請求項２７記載の符号化装置。
【請求項４６】
前記第２判定手段は、所定の第２固定長符号閾値を記憶しており、前記対象データが前記固定長符号閾値を超える場合、前記第２判定手段は、前記判定を中止し、
前記第１判断手段及び前記第２判定手段の少なくとも一方が前記判定を中止した場合、前記抽出生成手段は、取得した前記対象データを出力する
ことを特徴とする請求項４５記載の符号化装置。
【請求項４７】
所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、
前記対象データは、前記第１対象係数として、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記第２対象係数として、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される
ことを特徴とする請求項４５に記載の符号化装置。
【請求項４８】
前記判定手段は、前記Ｌｅｖｅｌ値の絶対値が、前記固定長符号閾値を超える場合に、前記判定を中止する
ことを特徴とする請求項４７に記載の符号化装置。
【請求項４９】
前記判定手段は、前記Ｒｕｎ値が、前記固定長符号閾値を超える場合に、前記判定を中止する
ことを特徴とする請求項４７に記載の符号化装置。
【請求項５０】
少なくとも第１対象係数及び第２対象係数を含む対象データに対応する符号を出力する符号化装置であって、
対象データに含まれる前記第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値及び対象データに含まれる前記第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの第２代表値を記憶している代表値記憶手段と、
１の対象データを取得する取得手段と、
前記第１代表値及び前記第２代表値のうち何れか一方を選択し、選択した一方を代表値として読み出し、出力する選択手段と、
選択された前記代表値を用いて、取得した前記対象データ及び当該対象データに相応する相応データに対応する可変長符号が可変長符号テーブルに存在するか否かを判定する判定手段と、
前記選択手段に、先に、前記第１代表値を選択することを指示し、次に、前記第２代表値を選択することを指示する選択制御手段と、
前記第１代表値を用いた判定及び前記第２代表値を用いた判定による両方の判定結果のいずれを用いるかを判断し、用いると決定された方の判定結果を採用する判定制御手段と、
採用された前記判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、
採用された前記判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかったもう一方の判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する抽出生成手段と
を備えることを特徴とする符号化装置。
【請求項５１】
前記判定手段は、前記選択手段により、前記第１代表値が前記代表値として選択され、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第１代表値に基づく第１減算を施して、前記相応データとして第１減算データを生成し、
前記選択手段により、前記第２代表値が前記代表値と選択され、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第２代表値に基づく第２減算を施して、前記相応データとして第２減算データを生成する
ことを特徴とする請求項５０に記載の符号化装置。
【請求項５２】
前記判定制御手段は、前記第１代表値を用いた判定結果を採用し、
前記抽出生成手段は、前記第１代表値を用いた前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、
前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する
ことを特徴とする請求項５１に記載の符号化装置。
【請求項５３】
前記符号化装置は、さらに、前記第１代表値を用いた判定結果と前記第２代表値を用いた判定結果のうち何れを優先的に採用するかを示す優先度指示を受け付ける受付手段を備え、
前記判定制御手段は、前記優先度指示に従って、前記第１代表値を用いた判定結果及び前記第２代表値を用いた判定結果のうち一方を優先的に採用する
ことを特徴とする請求項５１に記載の符号化装置。
【請求項５４】
前記符号化装置は、さらに、
前記取得手段へのクロック信号の入力を停止又は再開させるクロック制御手段
を備えることを特徴とする請求項１、請求項２７及び請求項５０に記載の符号化装置。
【請求項５５】
前記可変長符号テーブルは、ＭＰＥＧ−４により規定されている
ことを特徴とする請求項１、請求項２７及び請求項５０に記載の符号化装置。
【請求項５６】
対象データに対応する符号を出力する符号化装置で用いられる符号化方法であって、
前記符号化装置は、対象データがその内容に基づいて分類されるグループ毎に当該グループの代表値を記憶している代表値記憶手段を備え、
前記符号化方法は
１の対象データを取得する取得ステップと、
取得した前記対象データが分類されるグループの代表値を用いて、取得した前記対象データに対応する可変長符号が可変長符号テーブルに存在するか否かを判定する判定ステップと、
存在すると判定される場合に、取得した前記対象データに対応する可変長符号を可変長符号テーブルから抽出して出力し、存在しないと判定される場合に、取得した前記対象データに相応し前記可変長符号に代替する代替符号を生成して出力する抽出生成ステップと
を備えることを特徴とする符号化方法。
【請求項５７】
撮像装置であって、
入射光を検出し、検出した入射光から画像データを生成する画像生成手段と
前記画像データに含まれる所定数の画素から構成されるブロック画像を、直交変換して、前記所定数の係数を生成し、生成した前記所定数の係数を行列状に配置したブロックを形成し、
連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される対象データを生成するデータ生成部と
請求項１又は請求項２７に記載の符号化装置と
前記符号化装置から出力される前記符号を記録する記録手段と
を備えることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変長符号に係る技術に関する。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラの普及、通信技術の発達等に伴ってＩＳＯで規格化されたＭＰＥＧ(Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ)方式に代表される画像データの圧縮技術が広く普及している。
ＭＰＥＧでは、画面内の相関を利用して画面内を複数画素から構成されるブロックに分割し、このブロック内のデータを直交変換方式の１つであるＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ、離散コサイン変換）を行い、量子化、可変長符号化の各処理を施して画像データの圧縮を実現する。
【０００３】
可変長符号化の処理では、ＤＣＴを行った結果得られたＤＣＴ係数に対し、非ゼロのＤＣＴ係数値であるＬｅｖｅｌ値とその非ゼロのＤＣＴ係数がブロック内の最後であるかどうかを示すＬａｓｔ値と非ゼロのＤＣＴ係数に先行するゼロのＤＣＴ係数の個数であるＲｕｎ値とを生成し、生成したＬａｓｔ値、Ｒｕｎ値及びＬｅｖｅｌ値の組に一意な符号を割り当てることにより符号化を行うものである。本明細書において、一組のＬａｓｔ値、Ｒｕｎ値及びＬｅｖｅｌ値を（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）と記述する。また、Ｌｅｖｅｌ値の絶対値をＬｅｖｅｌ絶対値と呼ぶ。
【０００４】
ＭＰＥＧ−４においては、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に対して一意な符号を定義したＶＬＣ（Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）テーブルが規定されている。以下の説明において、ＶＬＣテーブル上に定義されている符号をＶＬＣと呼ぶ。（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して定義されているＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てる。
【０００５】
ＶＬＣテーブル上に（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に対する符号が定義されていない場合、以下の３つのエスケープモードの何れかの手順で（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成する。
第１のエスケープモードは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に対し、ＶＬＣテーブル上で、同一のＬａｓｔ値とＲｕｎ値の組に対応するＬｅｖｅｌ値のうち最大値であるＬＭＡＸを検出し、Ｌｅｖｅｌ絶対値から検出したＬＭＡＸを減算し、ＮｅｗＬｅｖｅｌ（＝Ｌｅｖｅｌ絶対値−ＬＭＡＸ）を算出する。次に、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）の組に対応するＶＬＣを再度ＶＬＣテーブルから検出し、検出したＶＬＣを基にして、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成するモードである。
【０００６】
第２のエスケープモードは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に対し、ＶＬＣテーブル上で、同一のＬａｓｔ値とＬｅｖｅｌ絶対値の組に対応するＲｕｎ値のうち最大値であるＲＭＡＸに１を加算した値をＲｕｎ値から減算し、ＮｅｗＲｕｎ＝Ｒｕｎ−（ＲＭＡＸ＋１）を算出する。次に、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ）の組に対応するＶＬＣを再度ＶＬＣテーブルから検出し、検出したＶＬＣを基に、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に対して割り当てるコードを生成するモードである。
【０００７】
第３のエスケープモードは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基に、固定長のコードを生成し、割り当てるモードである。
従来の可変長符号化の処理においては、まず、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に対応するＶＬＣをＶＬＣテーブルから検出し、これを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
【０００８】
ＶＬＣテーブル上に該当するＶＬＣが存在しなければ、上述した第１のエスケープモードによるコード生成を実施する。このとき、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）の組に対応するＶＬＣがＶＬＣテーブル上に存在しなければ、第２のエスケープモードによるコード生成を実施する。このときに、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ）の組に対応するＶＬＣがＶＬＣテーブル上に存在しなければ第３のエスケープモードによるコード生成を行う。
【０００９】
このような、ＭＰＥＧ−４における可変長符号化の処理では、固定長のコードを得るまでに何度もＶＬＣテーブルを検索しなければならず、第３のエスケープモードが多発するようなデータの場合、処理速度が遅くなるという問題があった。
この問題を解決するために、特許文献１に開示されているような可変長符号化方法が提案されている。この技術では、ＶＬＣテーブルを３個使用し、それぞれのＶＬＣテーブルを用いて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを基にしたコードの生成、第１〜３のエスケープモードによるコード生成を並行して行う。生成される４個のコードには、優先順位が定められており、優先順位に従って、コードを選択し、出力する。このようにすることで、符号化に要する時間を短縮することができる。
【特許文献１】特願２００１−５８６９２８ 号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、上述の、特許文献１の可変長符号化方法では、処理サイクルは短くなるが、並行して動作するＶＬＣ検出機構を３個用意する必要があり、回路規模が大きくなってしまうという問題があった。従って、本発明は、処理サイクルが短く、かつ回路規模増加を抑えた符号化装置、撮像装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
このような課題を解決するために、本発明は、対象データに対応する符号を出力する符号化装置であって、対象データがその内容に基づいて分類されるグループ毎に当該グループの代表値を記憶している代表値記憶手段と、１の対象データを取得する取得手段と、取得した前記対象データが分類されるグループの代表値を用いて、取得した前記対象データに対応する可変長符号が可変長符号テーブルに存在するか否かを判定する判定手段と、存在すると判定される場合に、取得した前記対象データに対応する可変長符号を可変長符号テーブルから抽出して出力し、存在しないと判定される場合に、取得した前記対象データに相応し前記可変長符号に代替する代替符号を生成して出力する抽出生成手段とを備えることを特徴とする符号化装置である。
【発明の効果】
【００１２】
上記の構成によると、前記判定手段は、前記代表値記憶手段が予め記憶している代表値を用いて、迅速に、前記対象データに対応する可変長符号が、前記可変長符号テーブル上に存在するか否かを判定し、前記抽出生成手段は、可変長符号テーブル上に、前記対象データに対応する可変長符号が存在しないと判定される場合、代替符号を生成する。従って、前記抽出生成手段は、前記可変長符号テーブル上に対象データに対応する符号が存在しない場合に、前記対象データに対応する可変長符号の読み出しを試みることなく、前記代替符号の生成を行うことができる。そのため、当該符号化装置内の処理サイクルを短くすることができる。
【００１３】
前記符号化装置において、前記対象データは、少なくとも第１対象係数及び第２対象係数を含み、前記代表値記憶手段は、第１代表値テーブルを有し、前記第１代表値テーブルは、対象データに含まれる第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値を前記代表値として含み、前記判定手段は、前記代表値記憶手段が有する前記第１代表値テーブルから、取得した前記対象データが分類される第１グループの第１代表値を読み出し、読み出した前記第１代表値を前記代表値として用いることを特徴とする。
【００１４】
また、同一の第１対象係数を含む複数の対象データが、１個の第１グループを形成し、前記第１代表値テーブルは、第１グループに分類される複数の対象データに含まれる第２対象係数のうちの最大値を、前記第１代表値として含み、前記判定手段は、前記最大値を用いる。
この構成によると、前記代表値記憶手段は、前記第１グループに分類される複数の対象データに含まれる第２対象係数のうちの最大値を、前記第１代表値として含む前記第1テーブルを予め記憶している。従って、前記判定手段は、前記代表値記憶手段から前記最大値を用いることにより、前記対象データに対応する可変長符号が前記可変長符号テーブル上に存在するか否かを迅速かつ確実に判定することができる。
【００１５】
本発明の符号化装置において、前記抽出生成手段は、前記対象データに前記第１代表値に基づく第１減算を施して、第１減算データを生成し、前記第１代表値を用いて、前記可変長符号テーブル上に前記第１減算データに対応する可変長符号が存在するか否かを判定し、存在すると判定される場合に、前記可変長符号テーブルから前記第１減算データに対応する第１減算符号を抽出して出力し、前記第１減算符号と、前記第１減算を示す第１減算定義符号とからなる前記代替符号を生成することを特徴とする。
【００１６】
この構成によると、前記判定手段により前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、第１減算データに対応する可変長符号が存在するか否かを判定する。従って、前記第１減算データに対応する可変長符号が可変長符号テーブル上に存在する場合には、速やかに、前記第１減算データに対応する前記減算符号を読み出し、代替符号を生成することができる。また、前記第１減算データに対応する可変長符号が可変長符号テーブル上に存在しない場合に、可変長符号テーブル上で前記第１減算データに対応する前記減算符号の読み出しを行うことが無いため、当該符号化装置における、符号出力に係るサイクルをさらに短くすることができる。
【００１７】
前記符号化装置を構成する前記抽出生成手段は、前記第１減算データと前記第１代表値とを比較し、第１減算データが第１代表値より大きいか否かを判断し、大きいと判断する場合に、第１減算データに対応する可変長符号が存在しないと決定し、小さい又は等しいと判断する場合に、第１減算データに対応する可変長符号が存在すると決定することを特徴とする。
【００１８】
この構成によると、前記抽出生成手段は、前記第１減算データと、前記第１代表値との大小関係によって、前記第１減算データに対応する可変長符号が存在するか否かを確実に決定することができる。
また、前記抽出生成手段は、前記対象データから前記第１代表値の２倍の値を減ずることにより得られる中間値が正の値であるか否かを判断し、正の値であると判断する場合に、第１減算データに対応する可変長符号が存在しないと決定し、零又は負の値であると判断する場合に、第１減算データに対応する可変長符号が存在すると決定するとしてもよい。
【００１９】
この構成によると、前記抽出生成手段は、前記対象データから前記第１代表値の２倍の値を減ずることにより得られる中間値が正の値であるか否かを判断することにより、第１減算データに対応する可変長符号が存在すると決定する。この場合、第１減算データの生成と第１減算データに対応する可変長符号が存在するか否かの判断を並行して実行することができる。そのため、当該符号化装置において、前記対象データの入力から対象データに対応する符号の出力までの経路をより短縮することができる。
【００２０】
前記抽出生成手段は、前記第１代表値を１ビットシフトすることにより、前記第１代表値の２倍の値を算出する。
この構成により、前記中間地を容易に生成することができる。
また、本発明の符号化装置は、前記代表値記憶手段は、さらに、第２代表値テーブルを有し、前記第２代表値テーブルは、対象データに含まれる第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの前記第２代表値を前記代表値として含み、前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定され、前記抽出生成手段により前記第１減算データに対応する可変長符号が存在しないと判断される場合に、前記抽出生成手段は、前記代表値記憶手段が有する前記第２代表値テーブルから、取得した前記対象データが分類される第２グループの第２代表値を読み出し、前記対象データに前記第２代表値に基づく第２減算を施して、第２減算データを生成し、前記第２代表値を用いて、前記可変長符号テーブル上に前記第２減算データに対応する可変長符号が存在するか否かを判定し、存在すると判定される場合に、前記可変長符号テーブルから前記第２減算データに対応する第２減算符号を抽出し、前記第２減算符号と、前記第２減算を示す第２減算定義符号とからなる前記代替符号を生成することを特徴とする。
【００２１】
この構成によると、前記代表値記憶手段は、さらに、第２代表値テーブルを有し、前記抽出生成手段により前記第１減算データに対応する可変長符号が存在しないと判断される場合に、前記抽出生成手段は、第２減算データを生成し、前記可変長符号テーブルから第２減算データに対応する可変長符号が前記可変長符号テーブル上に存在するか否かを判定する。これにより、第２減算データに対応する可変長符号が前記可変長符号テーブル上に存在する場合には、速やかに、前記第２減算データに対応する第２減算符号を読み出し、読み出した第２減算符号を用いて代替符号を生成することができる。
【００２２】
前記符号化装置において、同一の第２対象係数を含む複数の対象データが、１個の第２グループを形成し、前記第２代表値テーブルは、第２グループに分類される複数の対象データに含まれる第１対象係数のうちの最大値を、前記第２代表値として含み、前記抽出生成手段は、前記最大値を用いる。
この構成によると、前記第２代表値テーブルは、第２グループに分類される複数の対象データに含まれる第１対象係数のうちの最大値を、前記第２代表値として含むため、前記抽出判断手段は、前記最大値を用いて、前記第２減算データに対応する可変長符号が可変長テーブル上に存在するか否かを正確に決定することができる。
【００２３】
前記符号化装置は、前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定され、前記抽出生成手段により前記第１減算データに対応する可変長符号が存在しないと判断され、前記第２減算データに対応する可変長符号が存在しないと判断される場合に、前記抽出生成手段は、前記対象データと、前記対象データであることを示す対象データ定義符号とからなる前記代替符号を生成することを特徴とする。
【００２４】
この構成によると、前記第２減算データに対応する可変長符号がないと判断される場合に、前記抽出生成手段は、前記対象データと、前記対象データであることを示す対象データ定義符号とからなる前記代替符号を生成する。これにより、当該符号化装置は、前記対象データに対応する可変長符号の有無、前記第１減算データに対応する可変長符号の有無、前記第２減算データに対応する可変長符号の有無にかかわらず、前記可変長符号テーブルからの可変長符号の読み出しを１度だけ行うことにより、前記対象データに対応する符号を出力することができる。つまり、可変長符号テーブルをただ１つ備えていれば良いといえる。
【００２５】
本発明の符号化装置において、所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、前記対象データは、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される。
【００２６】
本発明の符号化装置は、Ｒｕｎ値、Ｌａｓｔ値、Ｌｅｖｅｌ値から構成される前記対象データを扱う。これにより、本発明は、画像データを圧縮する電気機器において、広く利用することができる。
さらに、前記第１係数は、前記Ｒｕｎ値であり、前記第２係数は、前記Ｌｅｖｅｌ値であり、前記代表値記憶手段に記憶されている第１代表値テーブルは、前記Ｌａｓｔ値及び前記Ｒｕｎ値により前記対象データが分類される第１グループにおけるＬｅｖｅｌ値の最大値であるＬＭＡＸを前記第１代表値として含み、前記判定手段は、取得した前記対象データに含まれるＬｅｖｅｌ値の絶対値が前記ＬＭＡＸよりも大きい場合、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定する。
【００２７】
この構成によると、前記判定手段は、前記対象データに含まれるＬｅｖｅｌ値の絶対値とＬＭＡＸとを比較することにより、正確かつ容易に前記対象データに対応する可変長符号が前記可変長符号テーブルに存在するか否かを判定することができる。
前記符号化装置は、前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、前記Ｌｅｖｅｌ値の絶対値から前記ＬＭＡＸを減算してＮｅｗＬｅｖｅｌを算出し、前記ＬＭＡＸと前記ＮｅｗＬｅｖｅｌとを比較することにより、前記Ｌａｓｔ値と前記Ｒｕｎ値と前記ＮｅｗＬｅｖｅｌからなる第１減算データに対応する可変長符号が、前記可変長符号テーブルに存在するか否かを判断し、存在すると判断する場合、前記第１減算データに対応する第１減算符号と、前記減算を示す第１減算定義符号とからなる前記代替符号を生成することを特徴とする。
【００２８】
この構成によると、前記抽出生成手段は、前記ＬＭＡＸと前記ＮｅｗＬｅｖｅｌとを比較することにより、前記第１減算データに対応する可変長符号が、前記可変長符号テーブルに存在するか否かを判定する。これにより、前記第１減算データに対応する可変長符号が、前記可変長符号テーブルに存在しない場合に、前記第１減算データに対応する可変長符号の読み出しを回避することができる。
【００２９】
また、ＮｅｗＬｅｖｅｌを含む第１減算データに対応する可変長符号が存在する場合、前記対象データであるＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値に対して出力される符号が、第１のエスケープモードにより生成可能であると判断することができる。
また、前記符号化装置において、前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、前記ＬＭＡＸの２倍値を算出し、算出した２倍値と前記Ｌｅｖｅｌ値の絶対値とを比較することにより、前記Ｌａｓｔ値、前記Ｒｕｎ値及び前記Ｌｅｖｅｌ値から前記ＬＭＡＸを減算したＮｅｗＬｅｖｅｌとからなる第１減算データに対する可変長符号が、前記可変長符号テーブルに存在するか否かを判断し、存在すると判断する場合、前記第１減算データに対応する第１減算符号と、前記減算を示す第１減算定義符号とからなる前記代替符号を生成するとしてもよい。
【００３０】
この構成によると、前記抽出生成手段は、前記２倍値と前記Ｌｅｖｅｌ値の絶対値とを比較することにより、前記第１減算データに対応する可変長符号が、可変長符号テーブル上に存在するか否かを判定する。従って、前記判定と並行して、前記第１減算データの生成を実行することが可能となり、当該化変長符号化装置において、対象データの入力から符号の生成までの経路を短くすることができる。
【００３１】
また、本発明の符号化装置において、前記第１係数は、前記Ｌｅｖｅｌ値であり、前記第２係数は、前記Ｒｕｎ値であり、前記代表値記憶手段は、前記Ｌａｓｔ値及び前記Ｌｅｖｅｌ値により前記対象データが分類されるグループにおけるＲｕｎ値の最大値であるＲＭＡＸを前記代表値として記憶しており、前記判定手段は、前記Ｒｕｎ値と前記ＲＭＡＸとを比較し、前記Ｒｕｎ値が前記ＲＭＡＸより大きい場合、取得した対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定する。
【００３２】
前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、前記Ｒｕｎ値から前記ＲＭＡＸ及び１を減算したＮｅｗＲｕｎを算出し、前記ＲＭＡＸと前記ＮｅｗＲｕｎとを比較することにより、前記Ｌａｓｔ値と前記ＮｅｗＲｕｎと前記Ｌｅｖｅｌ値からなる第２減算データに対応する可変長符号が、前記可変長符号テーブル上に存在するか否かを判定し、存在すると判定する場合、前記第２減算データに対応する第２減算符号と、前記第２減算を示す第２減算定義符号とからなる前記代替符号を生成することを特徴とする。
【００３３】
また、前記判定手段により、前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、前記ＲＭＡＸの２倍値に１を加算して得られる値と前記Ｒｕｎ値とを比較することにより、前記Ｌａｓｔ値、前記Ｒｕｎ値から前記ＲＭＡＸ及び１を減算したＮｅｗＲｕｎ及び前記Ｌｅｖｅｌ値からなる第２減算データに対応する可変長符号が、前記可変長符号テーブルに存在するか否かを判定し、存在すると判定する場合、前記第２減算データに対応する第２減算符号と、前記第２減算を示す第２減算定義符号とからなる前記代替符号を生成することを特徴とする。
【００３４】
この構成によると、前記抽出生成手段は、前記ＲＭＡＸと前記ＮｅｗＲｕｎとを比較することにより、前記第１減算データに対応する可変長符号が、前記可変長符号テーブルに存在するか否かを判定する。従って、前記第１減算データに対応する可変長符号が、前記可変長符号テーブルに存在する場合、前記対象データであるＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値に対して出力される符号が、第２のエスケープモードにより生成可能であると判断することができる。
【００３５】
また、ＲＭＡＸを代表値として用いて前記判定及び第１減算データを生成することにより、前記対象データに対して、第１のエスケープモードにより生成される符号、第２のエスケープモードに示す手順で生成される符号のどちらでも割り当てられる場合、優先的に第２のエスケープモードにより生成される符号を優先的に出力することができる。
前記符号化装置を構成する前記判定手段は、所定の判定閾値を記憶しており、前記Ｒｕｎ値が前記判定閾値以下である場合に、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在するか否かの判定を行うことを特徴とする。
【００３６】
本発明の符号化装置は、一例として、デジタルカメラなどの撮像装置に内蔵して使用されることが予測される。このような撮像装置では、生成した画像データに、量子化、動き補償、直行変換の各処理を施して、係数を生成する。一定の時間間隔で生成される係数のうち、連続する０係数の個数を計数して前記Ｒｕｎ値を生成する。従って、対象データの生成に要する時間は、当該対象データに含まれるＲｕｎ値の大きさに依存すると考えられる。
【００３７】
上記の構成では、前記Ｒｕｎ値が前記判定閾値を超える場合、前記判定手段は前記判定を行わない。そのため、当該化変長符号化装置が、可変長符号テーブルを１つだけ備えている場合、従来のように、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応する可変長符号を検索し、該当する可変長符号が存在しなければ、第１〜第３のエスケープモードによる符号の生成を順次試みることになり、前記判定を行う場合に比べ、符号生成に要する時間は平均して長くなる。
【００３８】
従って、前記判定閾値を適切に設定すると、対象データの生成に要する時間と符号の生成に要する時間の整合を計ることができる。
また、前記Ｒｕｎ値が前記判定閾値以下である場合にのみ、前記判定を行うので、前記第１代表値テーブルは、Ｒｕｎ値が前記判定閾値以下のグループについてのみ、前記代表値を含んでいれば良い。従って、前記代表値記憶手段の回路規模を縮小することが可能であり、全体として、当該可変長符号化装置の回路規模も小さくなる。
【００３９】
前記符号化装置は、さらに、前記判定閾値の入力を受け付ける受付手段を備え、前記判定手段は、受付手段により受け付けられた前記判定閾値を記憶することを特徴とする。
この構成によると、前記符号化装置は、受け付け手段を介して、前記判定閾値の入力を受け付けることができる。このようにすることで、当該符号化装置の操作者は、前記判定閾値を変更し、対象データの生成に要する時間と符号の生成に要する時間の整合を計るために最も適した判定閾値を設定することができる。
【００４０】
また、本発明の符号化装置において、前記対象データは、少なくとも第１対象係数及び第２対象係数を含み、前記代表値記憶手段は、第１代表値テーブル及び第２代表値テーブルを有し、前記第１代表値テーブルは、対象データに含まれる前記第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値を含み、前記第２代表テーブルは、対象データに含まれる前記第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの第２代表値を含み、前記判定手段は、前記第１代表値又は前記第２代表値の何れか一方を選択し、選択した一方を前記代表値として用いるとしてもよい。
【００４１】
前記符号化装置において、可変長符号テーブル上に、取得した前記対象データに対応する可変長符号が存在しないと判定される場合、前記抽出生成手段は、前記判定手段により選択された前記代表値に基づく減算を前記対象データに施した減算データを生成し、前記代表値を用いて前記減算データに対応する可変長符号が可変長符号テーブル上に存在するか否かを判定し、存在すると判定される場合に、前記可変長符号テーブルから前記減算データに対応する減算符号を抽出して出力し、前記減算符号と、前記減算を示す減算定義符号とからなる前記代替符号を生成する。
【００４２】
この構成によると、前記判定手段は第１代表値及び第２代表値のいずれか一方を代表値として選択して用い、前記抽出生成手段は、前記判定手段によって選択された代表値を用いて、前記減算データを生成し、減算データに対応する可変長符号が存在するか否かを判定し、存在すると判定した場合、前記減算データに対応する減算符号と減算定義符号とからなる代替符号を生成する。このようにすることで、前記対象データに対して、前記第１代表値を用いた減算データに対応する減算符号及び前記第２代表値を用いた減算データに対応する減算符号が、両方とも存在する場合、第１代表値及び第２代表値のうち、前記判定手段により選択された一方を用いた減算データに対応する減算符号を含む代替符号を優先的に出力することができる。
【００４３】
本発明において、前記判定手段は、所定の固定長符号閾値を記憶しており、前記対象データが前記固定長符号閾値を超える場合、前記判定手段は、前記判定を中止し、前記判定手段による前記判定が中止された場合、抽出生成手段は、前記対象データと、前記対象データであることを示す対象データ定義符号とからなる前記代替符号を生成することを特徴とする。
【００４４】
前記符号化装置の扱う前記対象データについて、所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、前記対象データは、前記第１対象係数として、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記第２対象係数として、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される。
【００４５】
前記判定手段は、前記Ｌｅｖｅｌ値の絶対値が、前記固定長符号閾値を超える場合に、前記判定を中止することを特徴とする。
また、前記判定手段は、前記Ｒｕｎ値が、前記固定長符号閾値を超える場合に、前記判定を中止するとしてもよい。
この構成によると、前記対象データが前記固定長符号閾値を超えると、前記判定手段は前記判定を中止し、前記抽出生成手段は前記対象データと対象データ定義符号とからなる前記代替符号を生成する。前記可変長符号テーブル上に定義されている対象データには上限が存在する。従って前記対象データが、上限を大きく上回る場合、前記可変長符号テーブルを用いた代替符号の生成ができない。
【００４６】
上記のような構成の場合、前記固定長符号閾値を適切に設定すれば、前記可変長符号テーブルを用いた代替符号の生成ができない場合に、前記可変長符号テーブル上で該当する可変長符号の読み出しを試みることを回避し、速やかに、代替符号を生成することができる。
本発明は、対象データに対応する符号を出力する符号化装置であって、少なくとも第１対象係数及び第２対象係数を含む１の対象データを取得する取得手段と、対象データに含まれる前記第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値を記憶しており、前記第１代表値を用いて、取得した前記対象データ及び当該対象データに相応する相応データに対応する可変長符号が可変長符号テーブルに存在するか否かを判定する第１判定手段と、対象データに含まれる前記第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの第２代表値を記憶しており、前記第２代表値を用いて、取得した前記対象データ及び当該対象データに相応する相応データに対応する可変長符号が可変長符号テーブルに存在するか否かを必要に応じて判定する第２判定手段と、前記第１判定手段及び前記第２判定手段による両方の判定結果のいずれを用いるかを判断し、用いると決定された方の判定結果を採用する判定制御手段と、採用された前記判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、採用された前記判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかったもう一方の判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する抽出生成手段とを備えることを特徴とする
前記符号化装置において、前記第１判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第１代表値に基づく第１減算を施して、前記相応データとして第１減算データを生成し、前記第２判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第２代表値に基づく第２減算を施して、前記相応データとして第２減算データを生成することを特徴とする。
【００４７】
この構成によると、前記抽出生成手段は、前記判定制御手段により採用された前記判定結果により存在すると判定される場合には、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、存在しないと判定される場合には、採用されなかったもう一方の選択結果に基づいて、可変長符号又は前記対象データを出力する。このようにすることで、前記抽出生成手段は、必ず、可変長符号テーブル上に可変長符号が存在する場合にのみ、前記対象符号又は前記相応データに対応する可変長符号を読み出すことになり、該当する可変長符号が存在しない場合に読み出しを試みることを回避できる。
【００４８】
前記符号化装置において、前記第１判定手段は、前記第２判定手段に先行して前記判定を行い、前記判定制御手段は、前記第１判定手段による判定結果を採用し、前記抽出生成手段は、前記第１判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する。
【００４９】
また、前記第１判定手段により、前記第１減算データに対応する可変長符号が存在すると判断された場合、前記第２判定手段は、前記第２減算データに対応する可変長符号が存在するか否かの判定を中止することを特徴とする。
この構成によると、前記第１判定手段は、前記第２判定手段に先行して前記判定を行い、前記判定制御手段は前記第１判定手段による判定結果を採用する。この構成では、前記第１判定手段により前記第１減算データに対応する可変長符号が存在すると判定された場合、前記第２判定手段による判定結果が採用されることはない。従って、前記第１減算データに対応する可変長符号が存在しないと判定された場合、前記第２判定手段は、前記判定を中止することにより、不要な判定処理を回避することができる。また、第１判定手段と第２判定手段を直列に配置することによって、この構成を実現する場合を想定すると、第１判定手段は、判定結果及び前記対象データ又は前記第１減算データを第２判定手段へ出力し、前記第２判定手段は、前記第１判定手段から出力された前記対象データ又は前記第１減算データを基に前記判定を行う。前記第１判定手段が前記第１減算データに対応する可変長符号が存在すると判定した場合、前記第１判定手段は、前記第２判定手段へ、判定結果及び前記第１減算データを出力する。ここで、第２判定手段が、前記判定を中止することにより、前記第１減算データに対して、さらに、第２減算を施すという誤動作を回避することになり、正確に代替符号を生成することができる。
【００５０】
前記符号化装置において、前記第１判定手段と前記第２判定手段とは、それぞれ並行して判定を行うことを特徴とする。
この構成では、前記第１判定手段と前記第２判定手段とはそれぞれ並行して判定を行う。従って、より短い時間で、第１判定手段及び前記第２判定手段による判定が完了する。また、前記第１判定手段と前記第２判定手段とを並列に配置して、この構成を実現する場合を想定すると、前記符号化装置において、前記対象データの入力から、前記対象データに対応する符号の出力までの経路を短縮することができる。
【００５１】
前記符号化装置において、前記判定制御手段は、前記第１判定手段による判定結果を採用し、前記抽出生成手段は、前記第１判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する。
【００５２】
この構成によると、前記判定制御手段は、前記第１判定手段による判定結果を採用し、前記抽出生成手段は、前記第１判定手段により、存在しないと判定される場合に、前記第２判定手段による判定結果を採用する。このようにすることで、前記第１判定手段及び前記第２判定手段双方が、存在すると判定した場合、優先的に前記第１判定手段による判定結果を採用することができる。特に、前記第１選択回路により第１減算データに対応する可変長符号が存在すると判定され、第２判定手段により、第２減算データに対応する可変長符号が存在すると判定される場合、第１減算データに対応する可変長符号を優先的に出力することができる。
【００５３】
前記符号化装置は、さらに、前記第１生成手段による判定結果と前記第２判定手段による判定結果のうち何れを優先的に採用するかを示す優先度指示を受け付ける受付手段を備え、前記判定制御手段は、前記優先度指示に従って、前記第１判定手段による判定結果及び前記第２判定手段による判定結果のうち一方を優先的に採用することを特徴とする。
このように、前記受付手段を備えることにより、当該符号化装置の操作者は、第１判定手段及び第２判定手段による判定結果のうち何れを優先的に採用するかを自由に設定、変更することができる。
【００５４】
本発明の符号化装置において、所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、前記対象データは、前記第１対象係数として、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記第２対象係数として、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成されることを特徴とする。
【００５５】
上記のように、前記符号化装置は、Ｌａｓｔ値、Ｒｕｎ値及びＬｅｖｅｌ値から構成される対象データに対して符号を出力する。従って、前記可変長符号化装置は、デジタルビデオカメラ、デジタルカメラ、撮影機能を備える携帯電話など、撮像機能を備える各種の電気機器において利用することができる。
前記符号化装置において、前記第１判定手段は、第１代表値テーブルを有し、前記第１代表値テーブルは、前記Ｌａｓｔ値及び前記Ｒｕｎ値により前記対象データが分類される第１グループにおけるＬｅｖｅｌ値の最大値であるＬＭＡＸを前記第１代表値として含み、前記第２判定手段は、第２代表値テーブルを有し、前記第２代表値テーブルは、前記Ｌａｓｔ値及び前記Ｌｅｖｅｌ値により前記対象データが分類される第２グループにおけるＲｕｎ値の最大値であるＲＭＡＸを前記第２代表値として含み、前記第１判定手段は、取得した前記対象データに含まれるＬｅｖｅｌ値の絶対値が前記ＬＭＡＸよりも大きい場合、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定し、前記第２判定手段は、取得した前記対象データに含まれるＲｕｎ値が前記ＲＭＡＸよりも大きい場合、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在しないと判定する。
【００５６】
この構成によると、前記第１判定手段は、前記ＬＭＡＸと前記Ｌｅｖｅｌ値の絶対値とを比較することにより、前記判定を行い、前記第２判定手段は、前記ＲＭＡＸと前記Ｒｕｎ値とを比較することにより、前記判定を行う。これにより、前記第１判定手段及び第２判定手段は、それぞれの前記判定を正確かつ簡単に実行することができる。
前記符号化装置を構成する前記第１判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記ＬＭＡＸ値に基づく第１減算を施して、前記相応データとして第１減算データを生成し、前記第２判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記ＲＭＡＸに基づく第２減算を施して、前記相応データとして第２減算データを生成する。
【００５７】
前記符号化装置において、前記第１判定手段は、前記第２判定手段に先行して前記判定を行い、前記判定制御手段は、前記第１判定手段による判定結果を採用し、前記抽出生成手段は、前記第１判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する。
【００５８】
この構成によると、前記第１判定手段は、前記第２判定手段に先行して前記判定を行い、前記判定制御手段は前記第１判定手段による判定結果を採用する。これにより、前記抽出生成手段は、前記第２減算データに対応する可変長符号に優先して、前記第１減算データに対応する可変長符号を出力する。
また、この構成では、前記第１判定手段により前記第１減算データに対応する可変長符号が存在すると判定された場合、前記第２判定手段による判定結果が採用されることはない。従って、前記第１減算データに対応する可変長符号が存在しないと判定された場合、前記第２判定手段による判定を省略することができる。
【００５９】
前記第１判定手段と前記第２判定手段とは、それぞれ並行して判定を行うことを特徴とする請求項３７に記載の符号化装置。
前記第１判定手段及び第２判定手段を並列に配置することにより、前記判定を並行に行う場合、符号化装置内の経路を短くすることができる。
本発明において、前記第１判定手段は、所定の第１判定閾値を記憶しており、前記Ｒｕｎ値が前記第１判定閾値以下である場合にのみ、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在するか否かの判定を行い、前記第２判定手段は、所定の判断する第２判定閾値を記憶しており、前記Ｒｕｎ値が前記第２判定閾値以下である場合にのみ、前記対象データに対応する可変長符号が前記可変長符号テーブルに存在するか否かの判定を行うことを特徴とする。
【００６０】
本発明の符号化装置は、一例として、デジタルカメラなどの撮像装置に内蔵して使用されることが予測される。このような撮像装置では、生成した画像データに、量子化、動き補償、直行変換の各処理を施して、係数を生成する。一定の時間間隔で生成される係数のうち、連続する０係数の個数を計数して前記Ｒｕｎ値を生成する。従って、対象データの生成に要する時間は、当該対象データに含まれるＲｕｎ値の大きさに依存すると考えられる。
【００６１】
上記の構成では、前記第１判定手段は、前記対象データに含まれるＲｕｎ値が第１判定閾値以下の場合のみ、前記判定を行い、前記第２判定手段は、前記対象データに含まれるＲｕｎ値が第２判定閾値以下の場合のみ、前記判定を行う。従って、当該化変長符号化装置が、可変長符号テーブルを１つだけ備えている場合、前記Ｒｕｎ値が第１判定閾値及び第２判定閾値をよりも大きければ、従来技術において説明したように、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応する可変長符号を検索し、該当する可変長符号が存在しなければ、第１〜第３のエスケープモードによる符号の生成を順次試みることになり、前記判定を行う場合に比べ、符号生成に要する時間は平均して長くなる。
【００６２】
従って、前記判定閾値を適切に設定すると、対象データの生成に要する時間と符号の生成に要する時間の整合を計ることができる。
また、前記Ｒｕｎ値が前記判定閾値以下である場合にのみ、前記判定を行うので、前記第１代表値テーブルは、Ｒｕｎ値が前記判定閾値以下のグループについてのみ、前記代表値を含んでいれば良い。従って、前記代表値記憶手段の回路規模を縮小することが可能であり、全体として、当該可変長符号化装置の回路規模も小さくなる。
【００６３】
前記符号化装置において、前記第１判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として未判定信号を出力し、
前記第２判定手段は、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として未判定信号を出力することを特徴とする。
【００６４】
この構成によると、前記第１判定手段は、判定結果として、ノーマル判定信号、相応判定信号及び未判定信号を出力し、前記第２判定手段は、判定結果として、ノーマル判定信号、相応判定信号及び未判定信号を出力する。これにより、前記抽出生成回路は、前記判定制御手段により採用された判定結果が、未判定信号であり、採用されなかった他方の判定結果が未判定信号である場合、前記第１判定手段及び第２判定手段において前記判定が行われなかったことを容易に判断することができる。
【００６５】
前記第１判定手段は、前記対象データに含まれるＲｕｎ値が前記第１判定閾値よりも大きい場合、判定結果として、未判定信号を出力し、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として他符号信号を出力し、前記第２判定手段は、前記対象データに含まれるＲｕｎ値が前記第２判定閾値よりも大きい場合、判定結果として、未判定信号を出力し、前記対象データに対応する可変長符号が可変長符号テーブルに存在すると判定する場合、判定結果としてノーマル判定信号を出力し、前記対象データに対応する可変長符号が存在しておらず、前記相応データに対応する可変長符号が存在すると判定する場合、判定結果として相応判定信号を出力し、それ以外の場合、判定結果として他符号信号を出力することを特徴とする。
【００６６】
この構成によると、前記第１判定手段は、判定結果として、未判定信号、ノーマル判定信号、相応判定信号及び他符号信号を出力し、前記第２判定手段は、判定結果として、未判定信号、ノーマル判定信号、相応判定信号及び他符号信号を出力する。
このようにすることで、前記検出生成手段は、前記第１判定手段による判定が行われたのか否か、行われた場合に、前記対象データに対応する可変長符号が存在するのか否か、存在しないと判定した場合に、前記相応データに対応する可変長符号が存在するのか否かを判別することができる。同様に、前記第２判定手段による判定が行われたのか否か、行われた場合に、前記対象データに対応する可変長符号が存在するのか否か、存在しないと判定した場合に、前記相応データに対応する可変長符号が存在するのか否かを判別することができる。
【００６７】
前記符号化装置は、さらに、前記第１判定閾値及び第２判定閾値の入力を受け付ける受付手段を備え、前記第１判定手段は、受付手段により受け付けられた前記第１判定閾値を記憶し、前記第２判定手段は、受付手段により受け付けられた前記第２判定閾値を記憶することを特徴とする。
この構成によると、本発明の符号化装置の操作者は、前記第１判定閾値及び第２判定閾値を自由に設定、変更することができる。
【００６８】
本発明の符号化装置において、前記第１判定手段は、所定の固定長符号閾値を記憶しており、前記対象データが前記固定長符号閾値を超える場合、前記判定手段は、前記判定を中止し、前記第１判断手段による前記判定が中止された場合、前記抽出生成手段は、取得した前記対象データを出力する。
また、前記第２判定手段は、所定の第２固定長符号閾値を記憶しており、前記対象データが前記固定長符号閾値を超える場合、前記第２判定手段は、前記判定を中止し、前記第１判断手段及び前記第２判定手段の少なくとも一方が前記判定を中止した場合、前記抽出生成手段は、取得した前記対象データを出力するとしてもよい。
【００６９】
また、前記符号化装置で扱う前記対象データについて、所定数の画素から構成されるブロック画像が、直交変換されて生成された前記所定数の係数が行列状に配置されてブロックを形成し、前記対象データは、前記第１対象係数として、連続して配置される複数のゼロ係数の個数を示すＲｕｎ値と、前記第２対象係数として、前記ゼロ係数に続いて配置される非ゼロ係数であるＬｅｖｅｌ値と、前記非ゼロ係数が前記ブロックの末尾に配置されているか否かを示すＬａｓｔ値とから構成される。
【００７０】
また、前記判定手段は、前記Ｌｅｖｅｌ値の絶対値が、前記固定長符号閾値を超える場合に、前記判定を中止するとしてもよいし、前記Ｒｕｎ値が、前記固定長符号閾値を超える場合に、前記判定を中止するとしてもよい。
この構成によると、前記対象データが前記固定長符号閾値を超えると、前記判定手段は前記判定を中止し、前記抽出生成手段は前記対象データと対象データ定義符号とからなる前記代替符号を生成する。前記可変長符号テーブル上に定義されている対象データには上限が存在する。従って前記対象データが、上限を大きく上回る場合、前記可変長符号テーブルを用いた代替符号の生成ができない。
【００７１】
上記のような構成の場合、前記固定長符号閾値を適切に設定すれば、前記可変長符号テーブルを用いた代替符号の生成ができない場合に、前記可変長符号テーブル上で該当する可変長符号の読み出しを試みることを回避し、速やかに、代替符号を生成することができる。
半発明は、少なくとも第１対象係数及び第２対象係数を含む対象データに対応する符号を出力する符号化装置であって、対象データに含まれる前記第１対象係数に基づいて対象データが分類される第１グループ毎に当該第１グループの第１代表値及び対象データに含まれる前記第２対象係数に基づいて対象データが分類される第２グループ毎に当該第２グループの第２代表値を記憶している代表値記憶手段と、１の対象データを取得する取得手段と、前記第１代表値及び前記第２代表値のうち何れか一方を選択し、選択した一方を代表値として読み出し、出力する選択手段と、選択された前記代表値を用いて、取得した前記対象データ及び当該対象データに相応する相応データに対応する可変長符号が可変長符号テーブルに存在するか否かを判定する判定手段と、前記選択手段に、先に、前記第１代表値を選択することを指示し、次に、前記第２代表値を選択することを指示する選択制御手段と、前記第１代表値を用いた判定及び前記第２代表値を用いた判定による両方の判定結果のいずれを用いるかを判断し、用いると決定された方の判定結果を採用する判定制御手段と、採用された前記判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、採用された前記判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかったもう一方の判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は相応データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力する抽出生成手段とを備えることを特徴とする。
【００７２】
この構成によると、前記代表値記憶手段は、第１代表値及び第２代表値を記憶しており、前記選択制御手段は、前記第１代表値を選択することを指示し、次に、前記第２代表値を選択することを指示する。選択手段は、前記選択制御手段からの指示により、前記第１代表値を選択して出力し、続いて第２代表値を選択して出力する。従って、前記判定手段は、前記第１代表値を用いた判定と前記第２判定値を用いた判定とを順次行う。これにより、他だ１つの判定手段によって、前記第１代表値を用いた判定と前記第２判定値を用いた判定とを実行することが可能であり、前記符号化装置の回路規模を縮小することができる。
【００７３】
前記符号化装置において、前記判定手段は、前記選択手段により、前記第１代表値が前記代表値として選択され、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第１代表値に基づく第１減算を施して、前記相応データとして第１減算データを生成し、前記選択手段により、前記第２代表値が前記代表値と選択され、前記対象データに対応する可変長符号が可変長符号テーブルに存在しないときに、前記対象データに前記第２代表値に基づく第２減算を施して、前記相応データとして第２減算データを生成する。
【００７４】
前記符号化装置を構成する前記判定制御手段は、前記第１代表値を用いた判定結果を採用し、前記抽出生成手段は、前記第１代表値を用いた前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第１減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、前記第１判定手段による前記判定結果により、存在しないと判定される場合に、採用されなかった前記第２判定手段による前記判定結果により、可変長符号が存在すると判定される場合に、前記対象データ又は前記第２減算データに対応する可変長符号を可変長符号テーブルから抽出して出力し、可変長符号が存在しないと判定される場合に、取得した前記対象データを出力することを特徴とする。
【００７５】
この構成によると、前記判定制御手段は、前記第１代表値を用いた判定結果を採用し、前記抽出生成手段は、前記第１代表値を用いた判定により、存在しないと判定される場合に、前記第２代表値を用いた判定結果を採用する。このようにすることで、前記第１代表値を用いた判定及び前記第２代表値を用いた判定の双方により、存在すると判定される場合、優先的に前記第１代表値を用いた判定による判定結果を採用することができる。特に、前記第１代表値を用いた判定において、第１減算データに対応する可変長符号が存在すると判定され、第２代表値を用いた判定により、第２減算データに対応する可変長符号が存在すると判定された場合、第１減算データに対応する可変長符号を優先的に出力することができる。
【００７６】
前記符号化装置は、さらに、前記第１代表値を用いた判定結果と前記第２代表値を用いた判定結果のうち何れを優先的に採用するかを示す優先度指示を受け付ける受付手段を備え、前記判定制御手段は、前記優先度指示に従って、前記第１代表値を用いた判定結果及び前記第２代表値を用いた判定結果のうち一方を優先的に採用することを特徴とする。
このように、前記受付手段を備えることにより、当該符号化装置の操作者は、第１代表値を用いた判定及び第２代表値を用いた判定における、それぞれの判定結果のうち何れを優先的に採用するかを自由に設定、変更することができる。
【００７７】
前記符号化装置は、さらに、前記取得手段へのクロック信号の入力を停止又は再開させるクロック制御手段を備えることを特徴とする。
前記符号化装置を構成する各回路へ一定間隔でクロック信号が入力されており、前記取得手段が対象データを取得してから、前記対象データに対応する符号が出力されるまでには、数回のクロック信号の入力がある場合を想定する。取得手段を構成する回路は、クロック信号を受け取るたびに、前記対象データを前記判定手段などを構成する各回路へ出力する動作を行う。しかし、符号化装置において、１の対象データを取得してから、取得した対象データに対応する符号を出力するまでの間、前記取得手段は、取得した前記対象データを継続して出力し続ければよく、クロック信号を受け取るたびに、前記対象データを前記判定手段などを構成する各回路へ出力する動作を行う必要はない。従って、前記対象データに対する符号が出力されるまでの間、前記クロック制御手段が、前記取得手段に入力されるクロック信号を停止することにより、前記取得手段により消費される電力を軽減することができる。
【００７８】
前記符号化装置手用いられる前記可変長符号テーブルは、ＭＰＥＧ−４により規定されている。
前記可変長符号テーブルは、ＭＰＥＧ−４により規定されていることにより、本発明の符号化装置はＭＰＥＧ−４方式を採用する様々な電気機器において、広く利用することができる。
【発明を実施するための最良の形態】
【００７９】
１．実施の形態１
本発明における、一個の実施の形態として、撮像システム１００について、以下に説明する。
本発明の撮像システム１００は、図１に示すように、光学系１０１、センサー１０２、変換回路１０３、画像処理回路１０４、記録転送系１０５、再生系１０６、タイミング制御回路１０８及びシステム制御回路１０７から構成される。
【００８０】
光学系１０１は、レンズ、カラーフィルタなどを含んで構成され、外部から入射する光を集光する。センサー１０２は、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｉｖｉｃｅ）等の撮像素子から構成され、光学系１０１を介して入射する外光を電荷に変換し蓄積する。タイミング制御回路１０８から出力されるクロック信号に同期して、蓄積した電荷を変換回路へ出力する。変換回路１０３は、センサー１０２から受け取った電荷をデジタル信号に変換し、画像処理回路１０４へ出力する。画像処理回路１０４は、量子化処理回路、ＤＣＴ処回路、動き補償回路などを含んで構成され、画面内相関性及び画面間の相関性を利用した画像圧縮処理を行う。圧縮した画像データを、記録転送系に出力する。記録転送系１０５は、データ生成回路、可変長符号化回路２００、バッファなどを含んで構成され、画像処理回路１０４により圧縮された画像データから（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を生成し、生成した（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を可変長符号化し、バッファに一時的に記憶する。バッファに記憶されたデータは、再生系又はメモリカードへ出力される。可変長符号化回路については、後で詳細に説明する。
【００８１】
再生系１０６は、可変長符号の逆変換回路、逆ＤＣＴ処理回路、逆量子化回路、動き補償回路、ディスプレイなどを含んで構成され、システム制御回路１０７の制御により、記録転送系１０５から符号化及び圧縮されたデータを読み出し、読み出したデータを復号及び伸長して画像データを生成し、ディスプレイに表示する。
タイミング制御回路１０８は、クロック信号を生成し、生成したクロック信号を各回路に供給する。システム制御回路１０７は、具体的には図示されていないが、利用者による各種のボタン操作を受け付け、受け付けたボタン操作に基づいて、各回路を制御する。
１．１  可変長符号化回路２００
可変長符号化回路２００は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に対して割り当てるコードの種類を予め判定し、判定結果に基づいて、コードを生成する。この可変長符号化回路２００によるコード生成の動作及びこの機能を実現するための詳細な構成について以下に説明する。
（可変長符号化回路２００の動作）
可変長符号化回路２００の動作について、図２に示すフローチャートを用いて説明する。
【００８２】
可変長符号化回路２００は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を含むデータを可変長符号化回路２００内の各回路に出力しコード生成を開始する（ステップＳ１０１）。先ず、Ｌｅｖｅｌ絶対値とＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがノーマルＶＬＣであるか否かを判断する（ステップＳ１０２）。本明細書において、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが、ＶＬＣテーブル（後で詳細に説明する）上に存在し、そのＶＬＣを基に生成されるコードをノーマルＶＬＣと呼称する。
【００８３】
ノーマルＶＬＣであると判断された場合（ステップＳ１０２のＹＥＳ）、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ１０６）、読み出したＶＬＣを基にノーマルＶＬＣを生成する（ステップＳ１０７）。次に、生成したノーマルＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ１１７）。
【００８４】
ノーマルＶＬＣでないと判断すると（ステップＳ１０２のＮＯ）、Ｌｅｖｅｌ絶対値からＬＭＡＸを減算したＮｅｗＬｅｖｅｌを算出し（ステップＳ１０３）、算出したＮｅｗＬｅｖｅｌとＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがＬＭＡＸＶＬＣであるか否かを判断する（ステップＳ１０４）。以下、本明細書において、第１のエスケープモードの手順に従って、ＶＬＣテーブル上で（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対して一意に定義されているＶＬＣを検出し、検出したＶＬＣを基に生成されるコードをＬＭＡＸＶＬＣと呼ぶ。
【００８５】
ステップＳ１０４において、ＬＭＡＸＶＬＣであると判断されると、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出し（ステップＳ１０８）、読み出したＶＬＣを基に、ＬＭＡＸＶＬＣを生成し（ステップＳ１０９）、生成したＬＭＡＸＶＬＣを出力する（ステップＳ１１７）。
ステップＳ１０４において、ＬＭＡＸＶＬＣでないと判断されると、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ１１１）、ＶＬＣテーブル上で（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対して、定義されているＶＬＣを読み出す（ステップＳ１１２）。ここで、ＶＬＣテーブル上に（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対して定義されているＶＬＣが存在すれば（ステップＳ１１３のＹＥＳ）、読み出したＶＬＣを基にＲＭＡＸＶＬＣを生成する（ステップＳ１１４）。本明細書において、第２のエスケープモードの手順に従い、ＶＬＣテーブル上に（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対して一意に定義されているＶＬＣを基に生成されるコードをＲＭＡＸＶＬＣと呼称する。次に、生成したＲＭＡＸＶＬＣを出力する（ステップＳ１１７）。
【００８６】
ステップＳ１１３において、該当するＶＬＣが存在しなければ、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基に２８ビットの固定長のコードを生成し（ステップＳ１１６）、出力する（ステップＳ１１７）。以下、本明細書において、第３のエスケープモードに従い、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基に生成される固定長のコードをＦＬＣ（Ｆｉｘｅｄ  Ｌｅｎｇｔｈ  Ｃｏｄｅ）と呼ぶ。
（可変長符号化回路２００の構成）
可変長符号化回路２００は、図３に示すように、データ取得部２０１、ＬＭＡＸ判定回路２０２、ＲＭＡＸ検出部２０３、減算出力回路２０４、第１選択回路２０５、制御回路２０６、ＶＬＣ検出部２０７、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４及び第２選択回路２１５から構成される。
（１）データ取得部２０１
データ取得部２０１は、データ生成回路からＲｕｎ値、Ｌｅｖｅｌ値、Ｌａｓｔ値、Ｓｉｇｎ値及びＬｅｖｅｌ絶対値からなる一組のデータを受け取り、受け取ったデータを一時的に記憶している。
【００８７】
Ｌｅｖｅｌ値は、画像処理回路１０４から連続して出力されるＤＣＴ係数のうち非ゼロのＤＣＴ係数の値であり、１２ビットの信号として出力される。Ｒｕｎ値は、非ゼロのＤＣＴ係数に先行するゼロのＤＣＴ係数の個数を示しており、６ビットの信号として、出力される。Ｌａｓｔ値は、Ｌｅｖｅｌ値の基となった非ゼロのＤＣＴ係数が画像データの処理単位である８画素×８ラインのブロックの最後の信号であるか否かを示しており、前記非ゼロ信号がブロックの最後の信号であれば、Ｌａｓｔ値＝１、最後の信号でなければ、Ｌａｓｔ値＝０である。Ｌａｓｔ値は、１ビットの信号として出力される。Ｓｉｇｎ値は、Ｌｅｖｅｌ値の符号を示しており、Ｌｅｖｅｌ値が正であれば、Ｓｉｇｎ値＝０、Ｌｅｖｅｌ値が負であれば、Ｓｉｇｎ値＝１である。Ｓｉｇｎ値は、１ビットの信号として出力される。Ｌｅｖｅｌ絶対値はＬｅｖｅｌ値の絶対値であり、１２ビットの信号として出力される。
【００８８】
データ取得部２０１は、一定時間間隔でタイミング制御回路１０８からクロック信号を受け取る。また、制御回路２０６からデータ出力指示を受け取る。
データ出力指示を受け取り、続いてクロック信号を検出する度に、新たなＲｕｎ値、Ｌｅｖｅｌ値、Ｌａｓｔ値、Ｓｉｇｎ値及びＬｅｖｅｌ絶対値からなるデータを可変長符号化回路２００を構成する各回路へ出力する。
【００８９】
具体的には、ＦＬＣ生成回路２１１へ、Ｌａｓｔ値とＲｕｎ値とＬｅｖｅｌ値とを出力する。ＬＭＡＸ判定回路２０２へＬａｓｔ値とＲｕｎ値とＬｅｖｅｌ絶対値とを出力する。ＲＭＡＸ検出部２０３へ、Ｌａｓｔ値とＲｕｎ値とＬｅｖｅｌ絶対値とを出力し、減算出力回路２０４へ、Ｒｕｎ値を出力する。
（２）ＬＭＡＸ判定回路２０２
ＬＭＡＸ判定回路２０２は、図６（ａ）に示すように、ＬＭＡＸ検出部２３１、第１比較回路２３２、減算回路２３３、第２比較回路２３４、選択回路２３６、判定制御回路２３７及び出力回路２３８から構成される。
【００９０】
（２−１）ＬＭＡＸ検出部２３１
ＬＭＡＸＶＬＣ検出部２３１は、ＬＭＡＸテーブル２６１とＬＭＡＸエラー値「０」とを記憶している。ＬＭＡＸテーブル２６１は、図４（ｂ）に示すように複数のＬＭＡＸ情報２６２、２６３・・・から構成され、各ＬＭＡＸ情報は、Ｌａｓｔ、Ｒｕｎ及びＬＭＡＸを含む。
【００９１】
ＬＭＡＸテーブル２６１は、ＶＬＣテーブル２５１を基に作成されたものである。ＶＬＣテーブル２５１は、図４（ａ）に示すように、複数のＶＬＣ情報２５２、２５３・・・から構成され、各ＶＬＣ情報は、Ｌａｓｔ、Ｒｕｎ、Ｌｅｖｅｌ及びＶＬＣとからなる。Ｌａｓｔ、Ｒｕｎ、Ｌｅｖｅｌは、それぞれ、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ絶対値であり、ＶＬＣは、各ＶＬＣ情報の示す（Ｌａｓｔ、Ｒｕｎ、Ｌｅｖｅｌ絶対値）に一意に対応する符号である。各符号に含まれる「ｓ」は、サインビットと呼ばれ、Ｌｅｖｅｌ値の符号を示すＳｉｇｎ値が代入される。このＶＬＣテーブル２５１を同一のＬａｓｔとＲｕｎを含むＶＬＣ情報毎に整理したＶＬＣテーブル３５１ａを想定する。
【００９２】
ＶＬＣテーブル３５１ａは、図5（ａ）に示すように、同一のＬａｓｔ＝０、Ｒｕｎ＝０を含むＶＬＣ情報３５２、３５３、３５４・・・３５６が連続して配置され、同一のＬａｓｔ＝０、Ｒｕｎ＝１を含む、ＶＬＣ情報３５７、３５８・・・３５９が連続して配置されている。
同一のＬａｓｔ＝０、Ｒｕｎ＝０を含むＶＬＣ情報３５２、３５３、３５４・・・３５６からなるグループにおいて、各ＶＬＣ情報に含まれるＬｅｖｅｌは１、２、３・・・２７まで連続して存在する。このグループにおけるＬｅｖｅｌの最大値２７がＬａｓｔ＝０、Ｒｕｎ＝０に対応するＬＭＡＸであり、Ｌａｓｔ＝０、Ｒｕｎ＝０、ＬＭＡＸ＝２７がＬＭＡＸ情報２６２を構成している。
【００９３】
同一のＬａｓｔ＝０、Ｒｕｎ＝０を含むＶＬＣ情報３５７、３５８・・・３５９からなるグループにおいても、各ＶＬＣ情報に含まれるＬｅｖｅｌは１、２、３・・・１０まで連続して存在する。これらのＬｅｖｅｌの最大値１０がＬａｓｔ＝０、Ｒｕｎ＝１に対応するＬＭＡＸであり、Ｌａｓｔ＝０、Ｒｕｎ＝１、ＬＭＡＸ＝１０がＬＭＡＸ情報２６３を構成する。
【００９４】
このようにして、同一のＬａｓｔとＲｕｎを含むＶＬＣ情報から成る各グループにおいて、Ｌｅｖｅｌの最大値であるＬＭＡＸが抽出され、各グループに、１つのＬＭＡＸ情報が生成され、生成されたＬＭＡＸ情報２６２、２６３・・・がＬＭＡＸテーブル２６１を構成している。
ここで、ＬＭＡＸ情報２６４は、Ｌａｓｔ＝０、Ｒｕｎ≧１５である（Ｌａｓｔ，Ｒｕｎ）に対応するＬＭＡＸが、定義されていないことを示している。ＬＭＡＸ情報２６５は、Ｌａｓｔ＝１、Ｒｕｎ≧２１である（Ｌａｓｔ，Ｒｕｎ）に対応するＬＭＡＸが、定義されていないことを示している。
【００９５】
上述したように、ＶＬＣテーブル２５１上で、同一のＬａｓｔ及びＲｕｎを含むＶＬＣ情報から成るグループにおいて、各ＶＬＣ情報に含まれるＬｅｖｅｌは、１、２、３・・・ＬＭＡＸまで存在する。つまり、（Ｌａｓｔ，Ｒｕｎ，１）、（Ｌａｓｔ，Ｒｕｎ，２）、（Ｌａｓｔ，Ｒｕｎ，３）・・・（Ｌａｓｔ，Ｒｕｎ，ＬＭＡＸ）それぞれに対して、ＶＬＣがＶＬＣテーブル上に定義されている。このため、一組の（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）について、ＬＭＡＸ≧Ｌｅｖｅｌ絶対値であれば、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが、ＶＬＣテーブル２５１上に存在すると判定することができる。
【００９６】
具体的には、ＬＭＡＸ検出部２３１は、図４（ｂ）に示すようなテーブルを記憶しているとしても良いし、（Ｌａｓｔ，Ｒｕｎ）の組から算出されるアドレスにＬＭＡＸを記憶しているとしても良い。
ＬＭＡＸエラー値「０」は、該当するＬＭＡＸがＬＭＡＸテーブル２６１上に存在しない場合にＬＭＡＸとして出力されるデータである。
【００９７】
ＬＭＡＸ検出部２３１は、データ取得部２０１から、Ｌａｓｔ値とＲｕｎ値とを受け取る。Ｌａｓｔ値とＲｕｎ値とを受け取ると、ＬＭＡＸ検出部２３１は、ＬＭＡＸテーブル２６１から、受け取った（Ｌａｓｔ，Ｒｕｎ）に対応するＬＭＡＸを読み出し、第１比較回路２３２と減算回路２３３と第２比較回路２３４とへ読み出したＬＭＡＸを出力する。
このとき、（Ｌａｓｔ，Ｒｕｎ）に対応するＬＭＡＸがＬＭＡＸテーブル２６１上に定義されていなければ、ＬＭＡＸエラー値「０」をＬＭＡＸとして出力する。
【００９８】
（２−２）第１比較回路２３２
第１比較回路２３２は、データ取得部２０１からＬｅｖｅｌ絶対値を受け取り、ＬＭＡＸ検出部２３１からＬＭＡＸを受け取る。Ｌｅｖｅｌ絶対値とＬＭＡＸとを受け取ると、受け取ったＬｅｖｅｌ絶対値とＬＭＡＸとを比較し、比較結果を判定制御回路２３７へ通知する。
【００９９】
（２−３）減算回路２３３
減算回路２３３は、データ取得部２０１からＬｅｖｅｌ絶対値を受け取り、ＬＭＡＸ検出部２３１からＬＭＡＸを受け取る。Ｌｅｖｅｌ絶対値とＬＭＡＸとを受け取ると、Ｌｅｖｅｌ絶対値からＬＭＡＸを減算したＮｅｗＬｅｖｅｌを算出し、算出したＮｅｗＬｅｖｅｌを第２比較回路２３４と選択回路２３６とへ出力する。
【０１００】
（２−４）第２比較回路２３４
第２比較回路２３４は、ＬＭＡＸ検出部２３１から、ＬＭＡＸを受け取り、減算回路２３３からＮｅｗＬｅｖｅｌを受け取る。ＬＭＡＸとＮｅｗＬｅｖｅｌとを受け取ると、受け取ったＬＭＡＸとＮｅｗＬｅｖｅｌとを比較し、比較結果を判定制御回路２３７へ出力する。
【０１０１】
（２−５）判定制御回路２３７
判定制御回路２３７は、第１比較回路２３２からＬｅｖｅｌ絶対値とＬＭＡＸとの比較結果を受け取り、第２比較回路２３４からＬＭＡＸとＮｅｗＬｅｖｅｌとの比較結果を受け取る。
第１比較回路２３２から受け取った比較結果が、ＬＭＡＸ≧Ｌｅｖｅｌ絶対値であることを示している場合、上述したように、ＬＭＡＸテーブル２６６及びＶＬＣテーブル２５１の構成により、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが、ＶＬＣテーブル２５１に存在すると言える。よって、判定制御回路２３７は、第２比較回路２３４からの受け取る比較結果にかかわらず、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが、ＶＬＣテーブル２５１上に存在し、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがノーマルＶＬＣであることを示すモード信号「００」を生成し、生成したモード「００」信号を選択回路２３６と制御回路２０６とへ出力する。
【０１０２】
第１比較回路２３２から受け取った比較結果がＬＭＡＸ＜Ｌｅｖｅｌ絶対値を示しており、かつ、第２比較回路２３４から受け取った比較結果が、ＬＭＡＸ≧ＮｅｗＬｅｖｅｌであることを示している場合、判定制御回路２３７は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣは、ＶＬＣテーブル２５１に存在しないが、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣは、ＶＬＣテーブル２５１に存在し、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードが第１のエスケープモードにより生成されるＬＭＡＸＶＬＣであることを示すモード信号「０１」を生成し、生成したモード信号「０１」を制御回路２０６と選択回路２３６へ出力する。
【０１０３】
第１比較回路２３２から受け取った比較結果がＬＭＡＸ＜Ｌｅｖｅｌ絶対値を示しており、かつ、第２比較回路２３４から受け取った比較結果が、ＬＭＡＸ＜ＮｅｗＬｅｖｅｌであることを示している場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣも、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣもＶＬＣテーブル２５１上に存在しない。従って、この場合、判定制御回路２３７は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）の組に割り当てられるコードが、ノーマルＶＬＣ及びＬＭＡＸＶＬＣではないことを示すモード信号「１０」を生成し、生成したモード信号「１０」を制御回路２０６と選択回路２３６とへ出力する。
【０１０４】
（２−６）選択回路２３６
選択回路２３６は、データ取得部２０１からＬｅｖｅｌ絶対値を受け取り、減算回路２３３からＮｅｗＬｅｖｅｌを受け取る。さらに、判定制御回路２３７からモード信号を受け取る。
受け取ったモード信号が、「００」又は「１０」であれば、データ取得部２０１から受け取ったＬｅｖｅｌ絶対値を選択後Ｌｅｖｅｌとして出力回路２３８に出力する。
【０１０５】
受け取ったモード信号が、「０１」であれば、減算回路２３３から受け取ったＮｅｗＬｅｖｅｌを選択後Ｌｅｖｅｌとして出力回路２３８へ出力する。
（２−７）出力回路２３８
出力回路２３８は、データ取得部２０１からＲｕｎ値とＬａｓｔ値とを受け取り、選択回路２３６から選択後Ｌｅｖｅｌを受け取る。次に、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５へ出力する。
（３）ＲＭＡＸ検出部２０３及び減算出力回路２０４
ＲＭＡＸ検出部２０３は、ＲＭＡＸテーブル２６６及びＲＭＡＸエラー値「−１」を記憶している。ＲＭＡＸテーブル２６６は、図４（ｃ）に示すように複数のＲＭＡＸ情報２６７、２６８・・・から構成され、各ＲＭＡＸ情報は、Ｌａｓｔ、Ｌｅｖｅｌ及びＲＭＡＸを含む。
【０１０６】
ＲＭＡＸテーブル２６６は、ＶＬＣテーブル２５１を基に作成されたものである。ＶＬＣテーブル２５１について上記の通りである。このＶＬＣテーブル２５１を同一のＬａｓｔとＬｅｖｅｌを含むＶＬＣ情報毎に整理したＶＬＣテーブル３５１ｂを想定する。ＶＬＣテーブル３５１ａは、図5（ｂ）に示すように、同一のＬａｓｔ＝０、Ｌｅｖｅｌ＝１を含むＶＬＣ情報３７１、３７２、３７３・・・３７４が連続して配置され、同一のＬａｓｔ＝０、Ｌｅｖｅｌ＝２を含む、ＶＬＣ情報３７６、３７７・・・３７８が連続して配置されている。
【０１０７】
同一のＬａｓｔ＝０、Ｌｅｖｅｌ＝１を含むＶＬＣ情報３７１、３７２、３７３・・・３７４からなるグループにおいて、Ｒｕｎは１、２、３・・・１４まで連続して存在する。このグループにおけるＲｕｎの最大値１４がＬａｓｔ＝０、Ｌｅｖｅｌ＝１に対応するＲＭＡＸであり、Ｌａｓｔ＝０、Ｌｅｖｅｌ＝１、ＲＭＡＸ＝１４がＲＭＡＸ情報２６７を構成している。
【０１０８】
同一のＬａｓｔ＝０、Ｌｅｖｅｌ＝２を含むＶＬＣ情報３７６、３７７・・・３７８からなるグループについても、Ｒｕｎの最大値１０がＬａｓｔ＝０、Ｌｅｖｅｌ＝２に対応するＲＭＡＸであり、Ｌａｓｔ＝０、Ｌｅｖｅｌ＝２、ＲＭＡＸ＝１４がＲＭＡＸ情報２６８を構成する。
同様にして、同一のＬａｓｔ及びＬｅｖｅｌを含むＶＬＣ情報から成るグループにおいて、各ＶＬＣ情報に含まれるＲｕｎのうち最大値であるＲＭＡＸを抽出し、抽出したＲＭＡＸを含むＲＭＡＸ情報が生成される。生成されたＲＭＡＸ情報２６７、２６８・・・によりＲＭＡＸテーブル２６６が構成される。
【０１０９】
ここで、ＲＭＡＸ情報２６９は、Ｌａｓｔ＝０、Ｌｅｖｅｌ≧２８である（Ｌａｓｔ，Ｌｅｖｅｌ絶対値）するＲＭＡＸが、定義されていないことを示している。ＲＭＡＸ情報２７０は、Ｌａｓｔ＝１、Ｌｅｖｅｌ≧９である（Ｌａｓｔ，Ｌｅｖｅｌ絶対値）に対応するＲＭＡＸが、定義されていないことを示している。
具体的には、図４（ｃ）のＲＭＡＸテーブル２６６の示すようなテーブルを記憶しているとしても良いし、（Ｌａｓｔ，Ｌｅｖｅｌ絶対値）から算出されるアドレスに、対応するＲＭＡＸを記憶しているとしてもよい。
【０１１０】
ＲＭＡＸエラー値「−１」は、ＲＭＡＸテーブル２６６上に該当するＲＭＡＸが存在しない場合に、ＲＭＡＸとして出力されるデータである。
ＲＭＡＸ検出部２０３は、データ取得部２０１からＬａｓｔ値、Ｒｕｎ値及びＬｅｖｅｌ絶対値を受け取る。ＲＭＡＸ検出部２０３は、受け取ったＬａｓｔ値及びＬｅｖｅｌ絶対値に対応するＲＭＡＸを読み出し、受け取ったＬａｓｔ値、Ｌｅｖｅｌ絶対値と読み出したＲＭＡＸとを減算出力回路２０４へ出力する。
【０１１１】
このとき、受け取ったＬａｓｔ値及びＬｅｖｅｌ絶対値に対応するＲＭＡＸがＲＭＡＸテーブル２６６上に存在しなければ、ＲＭＡＸエラー値「−１」をＲＭＡＸとして出力する。
減算出力回路２０４は、ＲＭＡＸ検出部２０３からＬａｓｔ値、Ｌｅｖｅｌ絶対値、ＲＭＡＸを受け取り、データ取得部２０１からＲｕｎ値を受け取る。
【０１１２】
次に、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し、算出したＮｅｗＲｕｎを含む（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５へ出力する。
（４）第１選択回路２０５
第１選択回路２０５は、減算出力回路２０４から、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、ＬＭＡＸ判定回路２０２から（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取る。また、制御回路２０６から、減算出力回路２０４から出力される（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）とＬＭＡＸ判定回路２０２から出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）のうち何れを選択するかを示す選択指示を受け取る。
【０１１３】
選択指示を受け取ると、受け取った選択指示に従い、減算出力回路２０４から受け取った（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）、ＬＭＡＸ判定回路２０２から受け取った（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）のうち何れか一方を選択し、ＶＬＣ検出部２０７へ出力する。
（５）ＶＬＣ検出部２０７
ＶＬＣ検出部２０７は、図４（ａ）に示すＶＬＣテーブル２５１を記憶している。これは、ＭＰＥＧ−４により規定されている。ＶＬＣテーブル２５１については、上記の（２）ＬＭＡＸ検出回路の項において説明した通りであるので、ここでは改めて説明はしない。ＶＬＣ検出部２０７は、具体的には、図４（ａ）に示すようなテーブルを記憶しているとしても良いし、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）から算出されるアドレスに、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが記憶されているとしても良い。
【０１１４】
ＶＬＣ検出部２０７は、第１選択回路２０５から（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取る。
次に、受け取った（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出す。（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣがＶＬＣテーブル２５１上に存在すれば、読み出したＶＬＣをレジスタ２０８へ出力し、制御回路２０６へ、正常にＶＬＣを読み出したことを示すＯＫ信号を出力する。
【０１１５】
（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣがＶＬＣテーブル２５１上に存在しなければ、該当するＶＬＣがＶＬＣテーブル上に存在しないことを示すＶＬＣエラー信号を制御回路２０６及びレジスタ２０８へ出力する。
（６）レジスタ２０８
レジスタ２０８は、タイミング制御回路１０８から、一定時間間隔でクロック信号を受け取る。また、ＶＬＣ検出部２０７からＶＬＣ又はＶＬＣエラー信号を受け取る。
【０１１６】
ＶＬＣを受け取ると、受け取ったＶＬＣを一時的に記憶し、新たなクロック信号を検出すると、受け取ったＶＬＣをＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３及びノーマルＶＬＣ生成回路２１４に出力する。ＶＬＣエラー信号を受け取った場合は、何もしない。
（７）制御回路２０６
制御回路２０６は、タイミング制御回路１０８から定期的にクロック信号を受け取る。また、ＬＭＡＸ判定回路２０２からモード信号を受け取る。
【０１１７】
ＬＭＡＸ判定回路２０２から受け取ったモード信号が、ノーマルＶＬＣを示す「００」である場合、第１選択回路２０５へ、ＬＭＡＸ判定回路２０２から出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。ＯＫ信号を受け取り、次のクロック信号を検出すると、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を、第２選択回路２１５へ出力する。次に、データ取得部２０１に、新たなデータの出力を要求するデータ出力指示を出力する。
【０１１８】
ＬＭＡＸ判定回路２０２から受け取ったモード信号が、ＬＭＡＸＶＬＣを示す「０１」である場合、第１選択回路２０５へ、ＬＭＡＸ判定回路２０２から出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。ＯＫ信号を受け取り、新たなクロック信号を検出すると、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを示す選択指示を、第２選択回路２１５へ出力する。次に、データ取得部２０１に、新たなデータの出力を要求するデータ出力指示を出力する。
【０１１９】
受け取ったモード信号が、ノーマルＶＬＣ及びＬＭＡＸＶＬＣのどちらでもないことを示す「１０」である場合、第１選択回路２０５へ、減算出力回路２０４から出力される（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を選択することを示す選択指示を出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号又は該当するＶＬＣが存在しないことを示すＶＬＣエラー信号を受け取る。
【０１２０】
ＯＫ信号を受け取り、次のクロック信号を検出すると、制御回路２０６は、第２選択回路２１５へ、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを指示する選択指示を出力する。次に、データ取得部２０１へ、次のクロック信号に合わせて新たなデータを出力することを指示するデータ出力指示を出力する。
ＶＬＣエラー信号を受け取り、次のクロック信号を検出すると、制御回路２０６は、ＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを指示する選択指示を、第２選択回路２１５へ出力する。次に、新たなデータを出力することを指示するデータ出力指示をデータ取得部２０１へ出力する。
（８）ＦＬＣ生成回路２１１
ＦＬＣ生成回路２１１は、エスケープＩＤとＦＬＣエスケープコードとを記憶している。エスケープＩＤは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣではないことを示す７ビットのデータ「０００００１１」であり、ＦＬＣエスケープコードは、第３のエスケープモードにより（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成したことを示す２ビットのデータ「１１」である。
【０１２１】
ＦＬＣ生成回路２１１はデータ取得部２０１からＬｅｖｅｌ値とＲｕｎ値とＬａｓｔ値とを受け取る。
記憶しているエスケープＩＤ「０００００１１」とＦＬＣエスケープコード「１１」と受け取ったＬｅｖｅｌ値とＲｕｎ値とＬａｓｔ値とを結合し、２８ビット長のＦＬＣを生成し、生成したＦＬＣを第２選択回路２１５へ出力する。
（９）ＲＭＡＸＶＬＣ生成回路２１２
ＲＭＡＸＶＬＣ生成回路２１２は、エスケープＩＤとＲＭＡＸエスケープコードとを記憶している。エスケープＩＤは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣではないことを示す７ビットのデータ「０００００１１」であり、ＲＭＡＸエスケープコードは、第２のエスケープモードにより（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成したことを示す２ビットのデータ「１０」である。
【０１２２】
ＲＭＡＸＶＬＣ生成回路２１２は、レジスタ２０８からＶＬＣを受け取り、データ取得部２０１からＳｉｇｎ値を受け取る。
次に、受け取ったＶＬＣに含まれるサインビット「ｓ」にＳｉｇｎ値を代入する。記憶しているエスケープＩＤ「０００００１１」とＲＭＡＸエスケープコード「１０」とＶＬＣとを結合してＲＭＡＸＶＬＣを生成する。次に生成したＲＭＡＸＶＬＣを第２選択回路２１５に出力する。
（１０）ＬＭＡＸＶＬＣ生成回路２１３
ＬＭＡＸＶＬＣ生成回路２１３は、エスケープＩＤとＬＭＡＸエスケープコードとを記憶している。エスケープＩＤは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣではないことを示す７ビットのデータ「０００００１１」であり、ＬＭＡＸエスケープコードは第１のエスケープモードにより（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成したことを示す１ビットのデータ「１」である。
【０１２３】
ＬＭＡＸＶＬＣ生成回路２１３は、データ取得部２０１からＳｉｇｎ値を受け取り、レジスタ２０８からＶＬＣを受け取る。
ＶＬＣを受け取ると、受け取ったＶＬＣに含まれるサインビットに受け取ったＳｉｇｎ値を代入し、記憶しているエスケープＩＤ「０００００１１」とＬＭＡＸエスケープコード「１」とＶＬＣとを結合し、これをＬＭＡＸＶＬＣとする。
【０１２４】
次に、生成したＬＭＡＸＶＬＣを第２選択回路２１５へ出力する。
（１１）ノーマルＶＬＣ生成回路２１４
ノーマルＶＬＣ生成回路２１４は、レジスタ２０８からＶＬＣを受け取り、データ取得部２０１からＳｉｇｎ値を受け取る。
ＶＬＣを受け取ると、受け取ったＶＬＣのサインビットにＳｉｇｎ値を代入し、これをノーマルＶＬＣとする。次に、生成したノーマルＶＬＣを第２選択回路２１５へ出力する。
（１２）第２選択回路２１５
第２選択回路２１５は、ＦＬＣ生成回路２１１からＦＬＣを受け取り、ＲＭＡＸＶＬＣ生成回路２１２からＲＭＡＸＶＬＣを受け取り、ＬＭＡＸＶＬＣ生成回路２１３からＬＭＡＸＶＬＣを受け取り、ノーマルＶＬＣ生成回路２１４からノーマルＶＬＣを受け取る。また、制御回路２０６から、選択指示を受け取り、受け取った選択指示に従ってＦＬＣ、ＲＭＡＸＶＬＣ、ＬＭＡＸＶＬＣ、ノーマルＶＬＣの何れかを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして選択し、選択したコードを記録転送系に含まれるバッファへ出力する。
（１３）可変長符号化回路２００の動作サイクル
可変長符号化回路２００の動作サイクルについて、図７に示すタイムチャートを用いて説明する。
【０１２５】
この図に示すタイムチャートは、縦に可変長符号化回路２００を構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
クロック信号４０１、４０２、４０３、４０４及び４０５が、一定の時間間隔により、それぞれ、時刻Ｔ１１０、Ｔ１２０、Ｔ１３０、Ｔ１４０及びＴ１５０において、データ取得部２０１、制御回路２０６及びレジスタ２０８に供給される。ここで、クロック信号が供給される一定の時間間隔をクロックサイクルと呼ぶ。
【０１２６】
図７中の矢印は、矢印の元の指す回路でその時刻に行われる処理が、矢印の先の指す回路でその時刻に行われる処理のきっかけとなっていることを示す。例えば、時刻Ｔ１１０に、データ取得部２０１がデータの出力を行ったことにより、ＬＭＡＸ判定回路２０２は、時刻Ｔ１１１に、データ取得部２０１から出力されたデータに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を開始する。
【０１２７】
データ取得部２０１は、時刻Ｔ１１０において、クロック信号４０１を検出し、保持しているＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＬＭＡＸ判定回路２０２、ＲＭＡＸ検出部２０３、減算出力回路２０４、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３及びノーマルＶＬＣ生成回路２１４へ、時刻Ｔ１３０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＡと呼ぶ。
【０１２８】
ＬＭＡＸ判定回路２０２は、時刻Ｔ１１１において、データＡに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を基に、データＡに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果としてモード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、生成したモード信号を制御回路２０６へ、生成した（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５へ、時刻Ｔ１３１まで継続して出力する。
【０１２９】
制御回路２０６は、時刻Ｔ１１２において、モード信号を受け取り、受け取ったモード信号に従う選択指示を、第１選択回路２０５へ、時刻Ｔ１３２まで継続して出力する。
また、時刻Ｔ１１５に、データ取得部２０１から、データＡに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取ると、ＲＭＡＸ検出部２０３は、ＲＭＡＸを読み出し、読み出したＲＭＡＸを減算出力回路２０４へ、時刻Ｔ１３５まで出力し続ける。
【０１３０】
減算出力回路２０４は、時刻Ｔ１１６に、ＲＭＡＸ検出部２０３からＲＭＡＸを受け取り、受け取ったＲＭＡＸを用いてＮｅｗＲｕｎを算出し、算出したＮｅｗＲｕｎを含む（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５へ時刻Ｔ１３６まで継続して出力する。
第１選択回路２０５は、時刻Ｔ１１３に、制御回路２０６から、選択指示を受け取り、受け取った選択指示に従って、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）のうち何れか一方を、ＶＬＣ検出部２０７へ、時刻Ｔ１３３まで出力し続ける。
【０１３１】
ＶＬＣ検出部２０７は、時刻Ｔ１１４に第１選択回路２０５から（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、該当するＶＬＣをＶＬＣテーブル２５１から読み出す。該当するＶＬＣがＶＬＣテーブル２５１に存在すれば、ＶＬＣをレジスタ２０８へ、ＯＫ信号を制御回路２０６へ、時刻Ｔ１３４まで出力し続ける。該当するＶＬＣがＶＬＣテーブル２５１に存在しなければ、制御回路２０６及びレジスタ２０８へＶＬＣエラー信号を時刻Ｔ１３４まで出力し続ける。
【０１３２】
また、ＦＬＣ生成回路２１１は、時刻Ｔ１１７にデータ取得部２０１からデータＡに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを選択回路２１５へ、時刻Ｔ１３７まで出力し続ける。
レジスタ２０８は、ＶＬＣ検出部２０７からＶＬＣを受け取り、受け取ったＶＬＣを一時的に記憶する。時刻Ｔ１２０にクロック信号４０２を検出し、記憶しているＶＬＣをノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ１４０まで出力し続ける。
【０１３３】
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ１２２にレジスタ２０８からＶＬＣを受け取り、受け取ったＶＬＣを用いて、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを生成する。生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを、第２選択回路２１５へ、時刻Ｔ１４２まで出力し続ける。
【０１３４】
制御回路２０６は、時刻Ｔ１２０に、クロック信号４０２を検出し、ＶＬＣ検出部２０７から受け取ったＯＫ信号又はＶＬＣエラー信号とＬＭＡＸ判定回路２０２から受け取ったモード信号に基づく選択指示を、第２選択回路２１５へ、時刻Ｔ１４０まで出力し続ける。第２選択回路２１５へ選択指示を出力すると、時刻Ｔ１２１から時刻Ｔ１３８まで、新たなデータの出力を要求するデータ出力指示をデータ取得部２０１へ、出力し続ける。
【０１３５】
第２選択回路２１５は、時刻Ｔ１２３に、制御回路２０６から選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れか１つを記録転送系に含まれるバッファへ、時刻Ｔ１４３まで出力し続ける。
データ取得部２０１は、時刻Ｔ１３０にクロック信号４０３を検出し、制御回路２０６からデータ出力指示を受け取り、新たなＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＬＭＡＸ判定回路２０２、ＲＭＡＸ検出部２０３、減算出力回路２０４、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３及びノーマルＶＬＣ生成回路２１４へ、時刻Ｔ１５０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＢと呼ぶ。
【０１３６】
ＬＭＡＸ判定回路２０２、制御回路２０６・・・第２選択回路２１５は、データＢについても、データＡと同様の処理を繰り返し、２クロックサイクルで、データＢに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応するコードを生成し、出力する。
１．２  まとめ
本発明の実施の形態１の撮像システム１００を構成する可変長符号化回路２００は、ＬＭＡＸ判定回路２０２において、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがノーマルＶＬＣであるのかＬＭＡＸＶＬＣであるのか又はそのどちらでもないのかを判定する。ノーマルＶＬＣであると判定されると、ＶＬＣテーブル２５１から（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し、読み出したＶＬＣからノーマルＶＬＣを生成し、生成したノーマルＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
【０１３７】
ＬＭＡＸＶＬＣであると判定されると、ＶＬＣテーブル２５１から（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出し、ＬＭＡＸＶＬＣを生成し、生成したＬＭＡＸＶＬＣを、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
ＬＭＡＸ判定回路２０２による上記の判定と並行して、ＲＭＡＸ検出部２０３はＲＭＡＸを読み出し、減算出力回路２０４は、ＮｅｗＲｕｎを算出する。
【０１３８】
ＬＭＡＸ判定回路２０２により、ノーマルＶＬＣ及びＬＭＡＸＶＬＣでないと判断されると、ＶＬＣテーブル２５１から（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出す。このとき、ＶＬＣテーブル２５１上に（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが存在すれば、ＲＭＡＸＶＬＣを生成し、生成したＲＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
【０１３９】
ＶＬＣテーブル２５１上に（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが存在しなければ、ＦＬＣ生成回路２１１により生成されるＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
このようにすることで、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードが、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ、ＦＬＣの何れであっても、２クロックサイクルの時間でコードを生成し、出力することができる。
【０１４０】
また、ＶＬＣテーブル２５１からＶＬＣを読み出す前に、ＬＭＡＸ判定回路２０２により、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードを判断するため、ＶＬＣテーブルを１個だけ備えていれば良い。このため、回路規模の拡大を抑制することができる。
１．３  実施の形態１の変形例
実施の形態１のＬＭＡＸ判定回路２０２は、図６（ｂ）に示すＬＭＡＸ判定回路２０２ｂのような構成であっても良い。
【０１４１】
ＬＭＡＸ判定回路２０２ｂは、ＬＭＡＸ検出部２３１、第１比較回路２３２、減算回路２３３ｂ、第２比較回路２３４ｂ、シフト部２３５、選択回路２３６、判定制御回路２３７ｂ及び出力回路２３８から構成される。
ＬＭＡＸ検出部２３１、第１比較回路２３２、選択回路２３６及び出力回路２３８については、上記の実施の形態１と同様の動作を行う。
（１）シフト部２３５
シフト部２３５は、ＬＭＡＸ検出部２３１から、ＬＭＡＸを受け取る。
【０１４２】
ＬＭＡＸを受け取ると、受け取ったＬＭＡＸを１ビット左シフトする。つまり２倍する。ここで、２倍されたＬＭＡＸを２×ＬＭＡＸと表記する。
次に、２×ＬＭＡＸを第２比較回路２３４ｂへ出力する。
（２）第２比較回路２３４ｂ
第２比較回路２３４ｂは、データ取得部２０１からＬｅｖｅｌ絶対値を受け取り、シフト部２３５から２×ＬＭＡＸを受け取る。
【０１４３】
受け取ったＬｅｖｅｌ絶対値と２×ＬＭＡＸとを比較し、比較結果を判定制御回路２３７へ出力する。
（３）減算回路２３３ｂ
減算回路２３３ｂは、データ取得部２０１からＬｅｖｅｌ絶対値を受け取り、ＬＭＡＸ検出部２３１からＬＭＡＸを受け取る。Ｌｅｖｅｌ絶対値とＬＭＡＸとを受け取ると、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ−ＬＭＡＸ絶対値を算出し、算出したＮｅｗＬｅｖｅｌを選択回路２３６へ出力する。
（４）判定制御回路２３７ｂ
判定制御回路２３７ｂは、第１比較回路２３２から、Ｌｅｖｅｌ絶対値とＬＭＡＸとの比較結果を受け取り、第２比較回路２３４ｂからＬｅｖｅｌ絶対値と２×ＬＭＡＸとの比較結果を受け取る。
【０１４４】
第１比較回路２３２から受け取った比較結果が、ＬＭＡＸ≧Ｌｅｖｅｌ絶対値であることを示していれば、判定制御回路２３７ｂは、第２比較回路２３４ｂから受け取った比較結果にかかわらず、モード信号「００」を生成し、選択回路２３６と制御回路２０６へ出力する。
第１比較回路２３２から受け取った比較結果が、ＬＭＡＸ＜Ｌｅｖｅｌ絶対値であることを示しており、第２比較回路２３４ｂから受け取った比較結果が２×ＬＭＡＸ≧Ｌｅｖｅｌ絶対値であることを示していれば、判定制御回路２３７ｂは、モード信号「０１」を生成し、選択回路２３６と制御回路２０６へ出力する。
【０１４５】
第１比較回路２３２から受け取った比較結果が、ＬＭＡＸ＜Ｌｅｖｅｌ絶対値であることを示しており、第２比較回路２３４ｂから受け取った比較結果が２×ＬＭＡＸ＜Ｌｅｖｅｌ絶対値であることを示していれば、判定制御回路２３７ｂは、モード信号「１０」を生成し、選択回路２３６と制御回路２０６へ出力する。
（５）まとめ
このように、減算回路２３３ｂと、第２比較回路２３４ｂを並列に構成にすることで、データの入力から出力までのパスを短くすることができる。従って、ＬＭＡＸ判定回路２０２ｂは、より高速に処理を行うことができる。
２．実施の形態２
本発明の実施の形態２の撮像システムについて説明する。
【０１４６】
本発明の撮像システムは、実施の形態１の撮像システム１００と同様に、光学系、センサー、変換回路、画像処理回路、記録転送系、再生系、タイミング制御回路及びシステム制御回路から構成される。記録転送系に含まれる可変長符号化回路２００ｂ以外は、実施の形態１と同様であるので、ここでは、本実施の形態の特徴である可変長符号化回路２００ｂについてのみ説明する。
２．１  可変長符号化回路２００ｂ
可変長符号化回路２００ｂは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割当てるコードの種類がノーマルＶＬＣであるのか、ＲＭＡＸＶＬＣであるのか、それ以外であるのかを判定し、判定結果に基づいてコードを生成する。この可変長符号化回路２００ｂのコード生成の動作及びこの機能を実現するための構成について、以下に説明する。
（可変長符号化回路２００ｂの動作）
可変長符号化回路２００ｂの動作の概要について、図８に示すフローチャートを用いて説明する。
【０１４７】
可変長符号化回路２００ｂは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を可変長符号化回路２００ｂ内の各回路に出力し、コード生成を開始する（ステップＳ１２１）。先ず、可変長符号化回路２００ｂは、（Ｌａｓｔ，Ｌｅｖｅｌｌ絶対値）に対応するＲＭＡＸとＲｕｎ値とを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判断する（ステップＳ１２２）。ノーマルＶＬＣであると判断すると、（ステップＳ１２２のＹＥＳ）、ＶＬＣテーブルから（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ１２５）、読み出したＶＬＣを基にノーマルＶＬＣを生成し（ステップＳ１２６）、生成したノーマルＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして、出力する（ステップＳ１３７）。
【０１４８】
ノーマルＶＬＣでないと判断する場合（ステップＳ１２２のＮＯ）、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ１２３）、算出したＮｅｗＲｕｎとＲＭＡＸを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＲＭＡＸＶＬＣであるか否かを判断する（ステップＳ１２４）。
ＲＭＡＸＶＬＣであると判断すると（ステップＳ１２４のＹＥＳ）、ＶＬＣテーブルから（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ１２７）、読み出したＶＬＣを基にＲＭＡＸＶＬＣを生成し（ステップＳ１２８）、生成したＲＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ１３７）。
【０１４９】
ステップＳ１２４において、ＲＭＡＸＶＬＣでないと判断すると、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し（ステップＳ１３１）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）の組に対応するＶＬＣをＶＬＣテーブルから読み出す（ステップＳ１３２）。このとき、ＶＬＣテーブル上に（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣが存在すれば（ステップＳ１３３のＹＥＳ）、読み出したＶＬＣを基に、ＬＭＡＸＶＬＣを生成し（ステップＳ１３４）、生成したＬＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ１３７）。
【０１５０】
ＶＬＣテーブル上に（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣが存在しなければ（ステップＳ１３３のＮＯ）、ＦＬＣを生成し（ステップＳ１３６）、生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ１３７）。
（可変長符号化回路２００ｂの構成）
可変長符号化回路２００ｂは、図９に示す様に、データ取得部２０１、減算出力回路２０４ｂ、第１選択回路２０５ｂ、制御回路２０６ｂ、ＶＬＣ検出部２０７ｂ、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４、第２選択回路２１５、ＲＭＡＸ判定回路２１６及びＬＭＡＸ検出部２１７から構成される。データ取得部２０１、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４及び第２選択回路２１５の構成及び動作は、実施の形態１と同様であるので、ここでは改めて説明しない。
（１）ＲＭＡＸ判定回路２１６
ＲＭＡＸ判定回路２１６は、図１０（ａ）に示すように、ＲＭＡＸ検出部２８１、第１比較回路２８２、減算回路２８３、第２比較回路２８４、選択回路２８６、判定制御回路２８７及び出力回路２８８から構成される。
【０１５１】
（１−１）ＲＭＡＸ検出部２８１
ＲＭＡＸ検出部２８１は、図４（ｃ）に示すＲＭＡＸテーブル２６６及びＲＭＡＸエラー値「−１」を記憶している。ＲＭＡＸテーブル２６６及びＲＭＡＸエラー値「−１」は、実施の形態１のＲＭＡＸ検出部２０３記憶しているＲＭＡＸテーブル２６６及びＲＭＡＸエラー値「−１」と同様である。
【０１５２】
ここで、図４（ａ）に示すＶＬＣテーブル２５１上で、
上述したように、ＶＬＣテーブル２５１上で、同一のＬａｓｔ及びＬｅｖｅｌを含むＶＬＣ情報から成るグループにおいて、各ＶＬＣ情報に含まれるＲｕｎは、１、２、３・・・ＲＭＡＸまで存在する。つまり、（Ｌａｓｔ，１，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，２，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，３，Ｌｅｖｅｌ絶対値）・・・（Ｌａｓｔ，ＲＭＡＸ，Ｌｅｖｅｌ絶対値）それぞれに対応する、ＶＬＣがＶＬＣテーブル上に存在する。このため、一組の（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）について、ＲＭＡＸ≧Ｒｕｎ値であれば、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣが、ＶＬＣテーブル２５１上に定義されていると判定することができる。
【０１５３】
ＲＭＡＸ検出部２８１は、データ取得部２０１からＬａｓｔ値とＬｅｖｅｌ絶対値とを受け取る。受け取った（Ｌａｓｔ，Ｌｅｖｅｌ絶対値）に対応するＲＭＡＸをＲＭＡＸテーブル２６６から読み出し、読み出したＲＭＡＸを第１比較回路２８２と減算回路２８３と第２比較回路２８４とへ出力する。このとき、（Ｌａｓｔ，Ｌｅｖｅｌ絶対値）に対応するＲＭＡＸがＲＭＡＸテーブル２６６上に存在しなければ、ＲＭＡＸエラー値「−１」をＲＭＡＸとして出力する。
【０１５４】
（１−２）第１比較回路２８２
第１比較回路２８２は、データ取得部２０１からＲｕｎ値を受け取り、ＲＭＡＸ検出部２８１からＲＭＡＸを受け取る。受け取ったＲｕｎ値とＲＭＡＸとを比較し、比較結果を判定制御回路２８７へ出力する。
（１−３）減算回路２８３
減算回路２８３は、ＲＭＡＸ検出部２８１からＲＭＡＸを受け取り、データ取得部２０１からＲｕｎ値を受け取る。ＲＭＡＸとＲｕｎ値とを受け取ると、受け取ったＲｕｎ値とＲＭＡＸとを基に、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し、算出したＮｅｗＲｕｎを第２比較回路２８４と選択回路２８６とへ出力する。
【０１５５】
（１−４）第２比較回路２８４
第２比較回路２８４は、ＲＭＡＸ検出部２８１からＲＭＡＸを受け取り、減算回路２８３から、ＮｅｗＲｕｎを受け取る。ＲＭＡＸとＮｅｗＲｕｎとを受け取ると、受け取ったＲＭＡＸとＮｅｗＲｕｎとを比較し、比較結果を判定制御回路２８７へ出力する
（１−５）判定制御回路２８７
判定制御回路２８７は、第１比較回路２８２からＲｕｎ値とＲＭＡＸとの比較結果を受け取り、第２比較回路２８４からＮｅｗＲｕｎとＲＭＡＸとの比較結果を受け取る。
【０１５６】
第１比較回路２８２から受け取った比較結果が、ＲＭＡＸ≧Ｒｕｎ値であることを示している場合、上述したように、ＶＬＣテーブル２５１とＲＭＡＸテーブル２６６の構成により（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣがＶＬＣテーブル２５１上に存在すると判断できる。従って、判定制御回路２８７は、第２比較回路２８４から受け取った比較結果に関係無く、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがノーマルＶＬＣであることを示すモード信号「００」を生成し、生成したモード信号「００」を制御回路２０６ｂ及び選択回路２８６へ出力する。
【０１５７】
第１比較回路２８２から受け取った比較結果がＲＭＡＸ＜Ｒｕｎ値であることを示しており、第２比較回路２８４から受け取った比較結果がＲＭＡＸ≧ＮｅｗＲｕｎであることを示していると、ＶＬＣテーブル２５１上に（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣは存在しないが、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣは存在する。従って、判定制御回路２８７は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てられるコードがＲＭＡＸＶＬＣであることを示すモード信号「０１」を生成し、生成したモード信号「０１」を制御回路２０６ｂ及び選択回路２８６へ出力する。
【０１５８】
第１比較回路２８２から受け取った比較結果がＲＭＡＸ＜Ｒｕｎ値であることを示しており、第２比較回路２８４から受け取った比較結果がＲＭＡＸ＜ＮｅｗＲｕｎであることを示していると、判定制御回路２８７は、ＶＬＣテーブル２５１上に（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣも、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣも存在しないと判断し、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てられるコードが、ノーマルＶＬＣ及びＲＭＡＸＶＬＣではないことを示すモード信号「１０」を生成し、生成したモード信号「１０」を制御回路２０６ｂ及び選択回路２８６へ出力する。
【０１５９】
（１−６）選択回路２８６
選択回路２８６は、データ取得部２０１からＲｕｎ値を受け取り、減算回路２８３からＮｅｗＲｕｎを受け取る。また、判定制御回路２８７からモード信号を受け取る。
受け取ったモード信号が、「００」又は「１０」であれば、データ取得部２０１から受け取ったＲｕｎ値を選択後Ｒｕｎとして出力回路２８８に出力する。
【０１６０】
受け取ったモード信号が、「０１」であれば、減算回路２８３から受け取ったＮｅｗＲｕｎを選択後Ｒｕｎとして出力回路２８８へ出力する。
（１−７）出力回路２８８
出力回路２８８は、データ取得部２０１からＬａｓｔ値とＬｅｖｅｌ絶対値とを受け取り、選択回路２８６から選択後Ｒｕｎを受け取る。次に、受け取った（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５ｂへ出力する。
（２）ＬＭＡＸ検出部２１７及び減算出力回路２０４ｂ
ＬＭＡＸ検出部２１７は、ＬＭＡＸテーブル２６１とＬＭＡＸエラー値「０」を記憶している。ＬＭＡＸテーブル２６１は、実施の形態１で述べた通りである。
【０１６１】
ＬＭＡＸエラー値「０」は、ＬＭＡＸテーブル２６１上に該当するＬＭＡＸが存在しない場合に、ＬＭＡＸとして出力するデータである。
ＬＭＡＸ検出部２１７は、データ取得部２０１からＬａｓｔ値、Ｒｕｎ値及びＬｅｖｅｌ絶対値を受け取る。ＬＭＡＸ検出部２１７は、ＬＭＡＸテーブル２６１から受け取った（Ｌａｓｔ，Ｒｕｎ）に対応するＬＭＡＸを読み出し、読み出したＬＭＡＸと受け取ったＬａｓｔ値及びＲｕｎ値とを減算出力回路２０４ｂへ出力する。
【０１６２】
（Ｌａｓｔ，Ｒｕｎ）に対応するＬＭＡＸがＬＭＡＸテーブル２６１上に存在しなければ、ＬＭＡＸエラー値「０」をＬＭＡＸとして出力する。
減算出力回路２０４ｂは、ＬＭＡＸ検出部２１７からＬａｓｔ値、Ｒｕｎ値及びＬＭＡＸを受け取り、データ取得部２０１からＬｅｖｅｌ絶対値を受け取る。
次に、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し、算出したＮｅｗＬｅｖｅｌを含む（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を第１選択回路２０５ｂへ出力する。
（３）第１選択回路２０５ｂ
第１選択回路２０５ｂは、減算出力回路２０４ｂから（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を受け取り、ＲＭＡＸ判定回路２１６から（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取る。また、制御回路２０６ｂから、減算出力回路２０４ｂから受け取った（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）とＲＭＡＸ判定回路２１６から受け取った（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）の何れか一方を選択することを指示する選択指示を受け取る。
【０１６３】
受け取った選択指示に従って、減算出力回路２０４ｂから受け取った（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）又はＲＭＡＸ判定回路２１６から受け取った（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を、ＶＬＣ検出部２０７ｂへ出力する。
（４）ＶＬＣ検出部２０７ｂ
ＶＬＣ検出部２０７ｂは、ＶＬＣテーブル２５１を記憶している。ＶＬＣテーブル２５１については、実施の形態１において説明した通りである。
【０１６４】
ＶＬＣ検出部２０７ｂは、第１選択回路２０５ｂから（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を受け取る。
（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を受け取ると、受け取った（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出す。ここで、該当するＶＬＣがＶＬＣテーブル２５１上に存在すれば、読み出したＶＬＣをレジスタ２０８へ出力し、ＶＬＣを正常に読み出したことを示すＯＫ信号を制御回路２０６ｂへ出力する。
【０１６５】
該当するＶＬＣがＶＬＣテーブル２５１上に存在しなければ、該当するＶＬＣが存在しないことを示すＶＬＣエラー信号を制御回路２０６ｂ及びレジスタ２０８へ出力する。
（５）制御回路２０６ｂ
制御回路２０６ｂは、一定時間間隔でタイミング制御回路からクロック信号を受け取る。また、制御回路２０６ｂは、ＲＭＡＸ判定回路２１６からモード信号を受け取る。
【０１６６】
受け取ったモード信号が、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであることを示す「００」であれば、第１選択回路２０５ｂに、ＲＭＡＸ判定回路２１６から出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択することを指示する選択指示を出力する。次に、ＶＬＣ検出部２０７ｂから、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。ＯＫ信号を受け取り、新たなクロック信号を検出すると、制御回路２０６ｂは、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を、第２選択回路２１５へ出力する。次に、データ取得部２０１に、新たなデータの出力を要求するデータ出力指示を出力する。
【０１６７】
受け取ったモード信号が、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＲＭＡＸＶＬＣであることを示す「０１」である場合、第１選択回路２０５ｂに、ＲＭＡＸ判定回路２１６から出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択することを指示する選択指示を出力する。次に、ＶＬＣ検出部２０７ｂから、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。ＯＫ信号を受け取り、新たなクロック信号を検出すると、制御回路２０６ｂは、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを示す選択指示を、第２選択回路２１５へ出力する。次に、データ取得部２０１に、新たなデータの出力を指示するデータ出力指示を出力する。
【０１６８】
受け取ったモード信号が、ノーマルＶＬＣ及びＲＭＡＸＶＬＣの何れでもないことを示す「１０」である場合、第１選択回路２０５ｂへ、減算出力回路２０４ｂから出力される（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を選択することを示す選択指示を出力する。次に、ＶＬＣ検出部２０７ｂから、正常にＶＬＣを読み出したことを示すＯＫ信号又は該当するＶＬＣが存在しないことを示すＶＬＣエラー信号を受け取る。
【０１６９】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、第２選択回路２１５へＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを指示する選択指示を、出力する。次に、データ取得部２０１へ、新たなデータの出力を指示するデータ出力指示を出力する。
エラー信号を受け取り、新たなクロック信号を検出すると、制御回路２０６ｂは、第２選択回路２１５へＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを指示する選択指示を出力する。同時に、新たなデータを出力することを指示するデータ出力指示をデータ取得部２０１へ出力する。
（６）可変長符号化回路２００ｂの動作サイクル
可変長符号化回路２００ｂの動作サイクルについて、図１１に示すタイムチャートを用いて説明する。
【０１７０】
この図に示すタイムチャートは、縦に可変長符号化回路２００ｂを構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
クロック信号４１１、４１２、４１３、４１４及び４１５が、一定の時間間隔により、それぞれ、時刻Ｔ２１０、Ｔ２２０、Ｔ２３０、Ｔ２４０及びＴ２５０において、データ取得部２０１、制御回路２０６ｂ及びレジスタ２０８に供給される。ここで、クロック信号が供給される一定の時間間隔をクロックサイクルと呼ぶ。
【０１７１】
図１１中の矢印は、矢印の元の指す回路でその時刻に行われる処理が、矢印の先の指す回路でその時刻に行われる処理のきっかけとなっていることを示す。
データ取得部２０１は、時刻Ｔ２１０において、クロック信号４１１を検出すると、保持しているＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＲＭＡＸ判定回路２１６、ＬＭＡＸ検出部２１７、減算出力回路２０４ｂ及びＦＬＣ生成回路２１１へ、時刻Ｔ２３０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＣと呼ぶ。
【０１７２】
ＲＭＡＸ判定回路２１６は、時刻Ｔ２１１において、データＣに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を基に、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果としてモード信号と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を生成し、生成したモード信号を制御回路２０６ｂへ、生成した（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５ｂへ、時刻Ｔ２３１まで継続して出力する。
【０１７３】
制御回路２０６ｂは、時刻Ｔ２１２において、モード信号を受け取り、受け取ったモード信号に従った選択指示を第１選択回路２０５ｂへ、時刻Ｔ２３２まで継続して出力する。
ＬＭＡＸ検出部２１７は、時刻Ｔ２１５に、データ取得部２０１から、データＣに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、ＬＭＡＸを読み出し、読み出したＬＭＡＸを減算出力回路２０４ｂへ、時刻Ｔ２３５まで出力し続ける。
【０１７４】
減算出力回路２０４ｂは、時刻Ｔ２１６に、ＬＭＡＸ検出部２１７からＬＭＡＸを受け取り、受け取ったＬＭＡＸを用いてＮｅｗＬｅｖｅｌを算出し、算出したＮｅｗＬｅｖｅｌを含む（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を第１選択回路２０５ｂへ時刻Ｔ２３６まで継続して出力する。
第１選択回路２０５ｂは、時刻Ｔ２１３に、制御回路２０６ｂから、選択指示を受け取り、受け取った選択指示に従って、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）のうち何れか一方を、ＶＬＣ検出部２０７ｂへ、時刻Ｔ２３３まで出力し続ける。
【０１７５】
ＶＬＣ検出部２０７ｂは、時刻Ｔ２１４に第１選択回路２０５ｂから（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を受け取り、該当するＶＬＣをＶＬＣテーブル２５１から読み出す。該当するＶＬＣがＶＬＣテーブル２５１に存在すれば、ＶＬＣをレジスタ２０８へ、ＯＫ信号を制御回路２０６ｂへ、時刻Ｔ２３４まで出力し続ける。該当するＶＬＣがＶＬＣテーブル２５１に存在しなければ、制御回路２０６ｂ及びレジスタ２０８へＶＬＣエラー信号を時刻Ｔ２３４まで出力し続ける。
【０１７６】
また、ＦＬＣ生成回路２１１は、時刻Ｔ２１７にデータ取得部２０１からデータＣに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを選択回路２１５へ、時刻Ｔ２３７まで出力し続ける。
レジスタ２０８は、ＶＬＣ検出部２０７ｂから受け取ったＶＬＣを一時的に記憶し、時刻Ｔ２２０にクロック信号４１２を検出すると、記憶しているＶＬＣをノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ２４０まで出力し続ける。
【０１７７】
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ２２２にレジスタ２０８からＶＬＣを受け取り、受け取ったＶＬＣを用いて、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを生成する。生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを、第２選択回路２１５へ、時刻Ｔ２４２まで出力し続ける。
【０１７８】
時刻Ｔ２２０に、クロック信号４１２を検出すると、制御回路２０６ｂは、ＶＬＣ検出部２０７ｂから受け取ったＯＫ信号又はＶＬＣエラー信号とＲＭＡＸ判定回路２１６から受け取ったモード信号に基づく選択指示を、第２選択回路２１５へ、時刻Ｔ２４０まで出力し続ける。第２選択回路２１５へ選択指示を出力すると、時刻Ｔ２２１から時刻Ｔ２３８までの間、新たなデータの出力を要求するデータ出力指示をデータ取得部２０１へ、出力し続ける。
【０１７９】
第２選択回路２１５は、時刻Ｔ２２３に、制御回路２０６ｂから選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れか１つを記録転送系に含まれるバッファへ、時刻Ｔ２４３まで出力し続ける。
データ取得部２０１は、時刻Ｔ２３０にクロック信号４１３を検出し、制御回路２０６ｂからデータ出力指示を受け取る。データ出力指示を受け取ると、新たなＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＬＭＡＸ判定回路２０２、ＲＭＡＸ検出部２０３、減算出力回路２０４ｂ及びＦＬＣ生成回路２１１へ、時刻Ｔ２５０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＤと呼ぶ。
【０１８０】
データ取得部２０１、ＲＭＡＸ判定回路２１６、制御回路２０６ｂ・・・第２選択回路２１５は、データＤについても、データＣと同様の処理を繰り返し、２クロックサイクルでデータＤに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応するコードを生成し、出力する。
２．２  まとめ
上述したように、実施の形態２における可変長符号化回路２００ｂは、ＲＭＡＸ判定回路２１６により、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードが、ノーマルＶＬＣであるのか、ＲＭＡＸＶＬＣであるのか、そのどちらでもないのかを判定する。
【０１８１】
ノーマルＶＬＣであると判定されると、ＶＬＣテーブル２５１から（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し、読み出したＶＬＣを基にノーマルＶＬＣを生成し、生成したノーマルＶＬＣを出力する。
ＲＭＡＸＶＬＣであると判定されると、ＶＬＣテーブル２５１から（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し、ＲＭＡＸＶＬＣを生成し、生成したＲＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
【０１８２】
ＲＭＡＸ判定回路２１６による判定と並行して、ＬＭＡＸ検出回路２１７はＬＭＡＸを読み出し、減算出力回路２０４ｂは、ＮｅｗＬｅｖｅｌを算出する。
ＲＭＡＸ判定回路２１６により、ノーマルＶＬＣでもＲＭＡＸＶＬＣでもないと判断されると、ＶＬＣテーブル２５１から（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出す。このとき、ＶＬＣテーブル２５１上に（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣが存在すれば、ＬＭＡＸＶＬＣを生成し、生成したＬＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
【０１８３】
ＶＬＣテーブル２５１上に（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣが存在しなければ、ＦＬＣ生成回路２１１により生成されるＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。
このようにすることで、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードが、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ、ＦＬＣの何れであっても、２クロックサイクルでコードを出力することができる。
【０１８４】
また、ＶＬＣテーブル２５１からＶＬＣを読み出す回数が１度だけであるため、ＶＬＣテーブルを１個だけ備えていれば良く、回路規模も縮小することができる。
２．３  実施の形態２の変形例
実施の形態２におけるＲＭＡＸ判定回路２１６は、図１０（ｂ）に示すＲＭＡＸ判定回路２１６ｂのような構成でも良い。
【０１８５】
ＲＭＡＸ判定回路２１６ｂは、ＲＭＡＸ検出部２８１、第１比較回路２８２、減算回路２８３ｂ、第２比較回路２８４ｂ、シフト部２８５、選択回路２８６、判定制御回路２８７ｂ及び出力回路２８８から構成される。
ＲＭＡＸ検出部２８１、第１比較回路２８２、選択回路２８６及び出力回路２８８は、ＲＭＡＸ判定回路２１６に含まれるＲＭＡＸ検出部２８１、第１比較回路２８２、選択回路２８６及び出力回路２８８と同様であるので、説明を省略する。
（１）シフト部２８５
シフト部２８５は、ＲＭＡＸ検出部２８１からＲＭＡＸを受け取る。ＲＭＡＸを受け取ると、受け取ったＲＭＡＸを１ビット左シフトし１加算する。以下、この演算を施したＲＭＡＸを２×ＲＭＡＸ＋１と表記する。算出した２×ＲＭＡＸ＋１を第２比較回路２８４ｂへ出力する。
（２）比較回路２８４ｂ
比較回路２８４ｂは、シフト部２８５から２×ＲＭＡＸ＋１を受け取り、データ取得部２０１からＲｕｎ値を受け取る。２×ＲＭＡＸ＋１とＲｕｎ値とを受け取ると、受け取った２×ＲＭＡＸ＋１とＲｕｎ値とを比較し、比較結果を判定制御回路２８７ｂへ出力する。
（３）減算回路２８３ｂ
減算回路２８３ｂは、減算回路２８３と同様にＮｅｗＲｕｎ＝Ｒｕｎ−（ＲＭＡＸ＋１）を算出する。算出したＮｅｗＲｕｎを選択回路２８６へ出力する。
（４）判定制御回路２８７ｂ
判定制御回路２８７ｂは、第１比較回路２８２から、Ｒｕｎ値とＲＭＡＸとの比較結果を受け取り、第２比較回路２８４ｂからＲｕｎ値と２×ＲＭＡＸＶＬＣ＋１との比較結果を受け取る。
【０１８６】
第１比較回路２８２から受け取った比較結果が、ＲＭＡＸ≧Ｒｕｎ値であることを示していれば、判定制御回路２８７ｂは、第２比較回路２８４ｂから受け取った比較結果にかかわらず、モード信号「００」を生成し、選択回路２８６と制御回路２０６ｂへ出力する。
第１比較回路２８２から受け取った比較結果が、ＲＭＡＸ＜Ｒｕｎ値であることを示しており、第２比較回路２３４ｂから受け取った比較結果が２×ＲＭＡＸ＋１≧Ｒｕｎ値であることを示していれば、判定制御回路２８７ｂは、モード信号「０１」を生成し、選択回路２８６と制御回路２０６ｂへ出力する。
【０１８７】
第１比較回路２８２から受け取った比較結果が、ＲＭＡＸ＜Ｒｕｎ値であることを示しており、第２比較回路２８４ｂから受け取った比較結果が２×ＲＭＡＸ＋１＜Ｒｕｎ値であることを示していれば、判定制御回路２３７ｂは、モード信号「１０」を生成し、選択回路２３６と制御回路２０６ｂへ出力する。
図１０（ｂ）に示すように、減算回路２３３ｂと、第２比較回路２３４ｂを並列に構成にすることで、データの入力から出力までの経路が短くなり、より高速に処理を行うことができる。
３．実施の形態３
本発明の実施の形態３の撮像システムについて説明する。
【０１８８】
本発明の撮像システムは、実施の形態１の撮像システム１００と同様に、光学系、センサー、変換回路、画像処理回路、記録転送系、再生系、タイミング制御回路及びシステム制御回路から構成される。記録転送系を構成する可変長符号化回路２００ｃ以外は、実施の形態１と同様であるので、ここでは、可変長符号化回路２００ｃについてのみ説明する。
３．１可変長符号化回路２００ｃ
可変長符号化回路２００ｃは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）対して割り当てるコードがノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れであるかを判定し、判定結果に基づいてコードを生成する。この可変長符号化回路２００ｃのコード生成の動作と、この機能を実現するための構成について以下に説明する。
【０１８９】
（可変長符号化回路２００ｃの動作）
可変長符号化回路２００ｃの動作について、図１２に示すフローチャートを用いて説明する。
可変長符号化回路２００ｃは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を、可変長符号化回路２００ｃ内の各回路に出力し、コード生成を開始する（ステップＳ１５１）。先ず、Ｌｅｖｅｌ絶対値とＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードが、ノーマルＶＬＣであるか否かを判定し（ステップＳ１５２）、ノーマルＶＬＣであると判定すると（ステップＳ１５２のＹＥＳ）、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出し（ステップＳ１５３）、読み出したＶＬＣを基にノーマルＶＬＣを生成し（ステップＳ１５４）、生成したノーマルＶＬＣを出力する（ステップＳ１６６）。
【０１９０】
ノーマルＶＬＣでないと判定すると（ステップＳ１５２のＮＯ）、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し（ステップＳ１５５）、算出したＮｅｗＬｅｖｅｌとＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがＬＭＡＸＶＬＣであるか否かを判定する（ステップＳ１５６）。ＬＭＡＸＶＬＣであると判定すると（ステップＳ１５６のＹＥＳ）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブルから読み出し（ステップＳ１５７）、読み出したＶＬＣを基に、ＬＭＡＸＶＬＣを生成し（ステップＳ１５８）、生成したＬＭＡＸＶＬＣを出力する（ステップＳ１６６）。
【０１９１】
ステップＳ１５６において、ＬＭＡＸＶＬＣでないと判定すると、次に、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ１５９）、算出したＮｅｗＲｕｎとＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＲＭＡＸＶＬＣであるか否かを判定する（ステップＳ１６１）。ＲＭＡＸＶＬＣであると判定されると（ステップＳ１６１のＹＥＳ）、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出し（ステップＳ１６２）、読み出したＶＬＣを基にＲＭＡＸＶＬＣを生成し（ステップＳ１６３）、生成したＲＭＡＸＶＬＣを出力する（ステップＳ１６６）。
【０１９２】
ステップＳ１６１において、ＲＭＡＸＶＬＣでないと判定すると、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し（ステップＳ１６４）、生成したＦＬＣを出力する（ステップＳ１６６）。
（可変長符号化回路２００ｃの構成）
可変長符号化回路２００ｃは、図１３に示すように、データ取得部２０１、制御回路２０６ｃ、ＶＬＣ検出部２０７ｃ、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４、選択回路２１５ｃ及びエスケープモード判定回路２１８から構成される。エスケープモード判定回路２１８は、ＬＭＡＸ判定回路２０２ｃとＲＭＡＸ判定回路２１６ｃとを含む。
【０１９３】
データ取得部２０１、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３及びノーマルＶＬＣ生成回路２１４の構成及び動作は、実施の形態１と同様である。また、選択回路２１５ｃの構成及び動作は、実施の形態１の第２選択回路２１５と同様であるので、ここでは説明を省略する。
（１）エスケープモード判定回路２１８
エスケープモード判定回路２１８は、図１３に示すようにＬＭＡＸ判定回路２０２ｃ及びＲＭＡＸ判定回路２１６ｃから構成される。
【０１９４】
ＬＭＡＸ判定回路２０２ｃの動作と構成は、実施の形態１のＬＭＡＸ判定回路２０２と同様であり、データ取得部２０１から、Ｌａｓｔ値、Ｒｕｎ値及びＬｅｖｅｌ絶対値を受け取り、モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を出力する。ここで、ＬＭＡＸ判定回路２０２ｃは、ＲＭＡＸ判定回路２１６ｃへ、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）とモード信号を出力し、制御回路２０６ｃへモード信号を出力する。なお、説明の便宜上、ＬＭＡＸ判定回路２０２ｃが出力するモード信号を第１モード信号、ＲＭＡＸ判定回路２１６ｃが出力するモード信号を第２モード信号と呼ぶ。
【０１９５】
ＲＭＡＸ判定回路２１６ｃは、実施の形態２において説明したＲＭＡＸ判定回路２１６と同様に、ＲＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路、判定制御回路及び出力回路から構成される。
ＲＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路及び出力回路は、ＬＭＡＸ判定回路２０２ｃから出力された（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）に対して、実施の形態２のＲＭＡＸ判定回路２１６を構成するＲＭＡＸ検出部２８１、第１比較回路２８２、減算回路２８３、第２比較回路２８４、選択回路２８６及び出力回路２８８と同様の動作を行い、ＶＬＣ検出部２０７ｃへ（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を出力する。
【０１９６】
判定制御回路は、ＬＭＡＸ判定回路２０２ｃから第１モード信号を受け取る。受け取った第１モード信号が「０１」である場合、第１比較回路及び第２比較回路から受け取る比較結果にかかわらず、第２モード信号「００」を生成し、生成した第２モード信号「００」を制御回路２０６ｃ及びＲＭＡＸ判定回路２１６ｃ内の選択回路へ出力する。
ＬＭＡＸ判定回路２０２ｃから受け取った第１モード信号が「００」又は「１０」であれば、実施の形態２において説明したＲＭＡＸ判定回路２１６に含まれる判定制御回路２８７と同様の動作を行い、制御回路２０６ｃ及びＲＭＡＸ判定回路２１６ｃ内の選択回路へ第２モード信号を出力する。
（２）ＶＬＣ検出部２０７ｃ
ＶＬＣ検出部２０７ｃは、図４（ａ）に示すＶＬＣテーブル２５１を記憶している。ＶＬＣテーブル２５１については、実施の形態１において説明した通りである。
【０１９７】
ＶＬＣ検出部２０７ｃは、エスケープモード判定回路２１８から（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取る。（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取ると、ＶＬＣテーブル２５１から、受け取った（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣを読み出し、読み出したＶＬＣをレジスタ２０８へ出力する。
【０１９８】
このとき、該当するＶＬＣがＶＬＣテーブル２５１上に存在しなければ、ＶＬＣエラー信号をレジスタ２０８へ出力する。
（３）制御回路２０６ｃ
制御回路２０６ｃは、一定時間間隔でタイミング制御回路からクロック信号を受け取る。また、エスケープモード判定回路２１８から、第１モード信号及び第２モード信号を受け取る。
【０１９９】
第１モード信号と第２モード信号とを受け取り、新たなクロック信号を受け取ると、選択回路２１５ｃに、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣ、ＬＭＡＸＶＬＣ生成回路２１３から出力される、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣ又はＦＬＣ生成回路２１１から出力されるＦＬＣの何れか１つを示す選択指示を出力する。以下に、制御回路２０６ｃが出力する選択指示の詳細及び選択指示を出力した後の制御回路２０６ｃの動作について、図１４に沿って説明する。
【０２００】
図１４は、第１モード信号と第２モード信号の組み合わせと、制御回路２０６ｃが、選択回路２１５ｃへ出力する選択指示の内容を対応付けて示している。選択指示の欄の「Ｎ」は、選択回路２１５ｃへ出力する選択指示が、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを指示するものであることを示しており、「Ｌ」は、選択回路２１５ｃへ出力する選択指示が、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを指示するものであることを示しており、「Ｒ」は、選択回路２１５ｃへ出力する選択指示が、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを指示するものであることを示しており、「Ｆ」は、選択回路２１５ｃへ出力する選択指示が、ＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを指示するものであることを示している。
【０２０１】
なお、ＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６の構成上、第１モード信号が「００」の場合、第２モード信号が「０１」及び「１０」になることはあり得ない。また、第１モード信号が「１０」の場合、第２モード信号が「００」になることはあり得ない。
受け取った第１モード信号が「００」で第２モード信号が「００」の場合、制御回路２０６ｃは、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を出力する。
【０２０２】
受け取った第１モード信号が「０１」、第２モード信号が「００」の場合、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを示す選択指示を出力する。
受け取った第１モード信号が「１０」、第２モード信号が「０１」の場合、制御回路２０６ｃは、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを示す選択指示を出力する。
【０２０３】
受け取った第１モード信号が「１０」、第２モード信号が「１０」の場合、ＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを示す選択指示を出力する。
選択回路２１５ｃへ上記のような選択指示を出力すると、次に、制御回路２０６ｃは、データ取得部２０１へ、新たなデータの出力を指示するデータ出力指示を出力する。
（４）可変長符号化回路２００ｃの動作サイクル
可変長符号化回路２００ｃの動作サイクルについて、図１５に示すタイムチャートを用いて説明する。
【０２０４】
この図に示すタイムチャートは、縦に可変長符号化回路２００ｃを構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
クロック信号４２１、４２２、４２３、４２４及び４２５が、一定の時間間隔により、それぞれ、時刻Ｔ３１０、Ｔ３２０、Ｔ３３０、Ｔ３４０及びＴ３５０において、データ取得部２０１、制御回路２０６ｃレジスタ２０８に供給される。
【０２０５】
図１５中の矢印は、矢印の元の指す回路でその時刻に行われる処理が、矢印の先の指す回路でその時刻に行われる処理のきっかけとなっていることを示す。
データ取得部２０１は、時刻Ｔ３１０において、クロック信号４２１を検出し、保持しているＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をエスケープモード判定回路２１８及びＦＬＣ生成回路２１１へ、時刻Ｔ３３０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＥと呼ぶ。
【０２０６】
エスケープモード判定回路２１８内のＬＭＡＸ判定回路２０２ｃは、時刻Ｔ３１１において、データＥに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を基に（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として第１モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成する。制御回路２０６ｃへ、第１モード信号を、ＲＭＡＸ判定回路２１６ｃへ、第１モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）とを、時刻Ｔ３３１まで継続して出力する。
【０２０７】
ＲＭＡＸ判定回路２１６ｃは、時刻Ｔ３１２に、ＬＭＡＸ判定回路２０２ｃから、第１モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）とを受け取り、受け取った第１モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）とを基に、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として、第２モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、第２モード信号を制御回路２０６ｃへ、ＶＬＣ検出部２０７ｃへ（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を、時刻Ｔ３３２まで、出力し続ける。
【０２０８】
ＶＬＣ検出部２０７ｃは、時刻Ｔ３１３において、エスケープモード判定回路２１８から（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出す。該当するＶＬＣがＶＬＣテーブル２５１に存在すれば、読み出したＶＬＣを、該当するＶＬＣがＶＬＣテーブル２５１に存在しなければ、ＶＬＣエラー信号を、レジスタ２０８へ、時刻Ｔ３３３まで出力し続ける。
【０２０９】
また、ＦＬＣ生成回路２１１は、時刻Ｔ３１４にデータ取得部２０１からデータＥに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを選択回路２１５ｃへ、時刻Ｔ３３４まで出力し続ける。
レジスタ２０８は、ＶＬＣ検出部２０７ｃから受け取ったＶＬＣを一時的に記憶し、時刻Ｔ３２０にクロック信号４２２を検出し、記憶しているＶＬＣをノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ３４０まで出力し続ける。
【０２１０】
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ３２２にレジスタ２０８からＶＬＣを受け取り、受け取ったＶＬＣを用いて、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを生成する。生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ及びＲＭＡＸＶＬＣを、選択回路２１５ｃへ、時刻Ｔ３４２まで出力し続ける。
【０２１１】
また、制御回路２０６ｃは、時刻Ｔ３２０において、クロック信号４２２を検出し、エスケープモード判定回路２１８から受け取った第１モード信号と第２モード信号とに基づく選択指示を、選択回路２１５ｃへ、時刻Ｔ３４０まで出力し続ける。選択回路２１５ｃへ選択指示を出力すると、時刻Ｔ３２１から時刻Ｔ３３５までの間、新たなデータの出力を要求するデータ出力指示をデータ取得部２０１へ、出力し続ける。
【０２１２】
選択回路２１５ｃは、時刻Ｔ３２３において、制御回路２０６ｃから選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れか１つを記録転送系に含まれるバッファへ、時刻Ｔ３４３まで出力し続ける。
データ取得部２０１は、時刻Ｔ３３０にクロック信号４２３を検出し、制御回路２０６ｃからデータ出力指示を受け取る。データ出力指示を受け取ると、新たなＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をエスケープモード判定回路２１８及びＦＬＣ生成回路２１１へ、時刻Ｔ３５０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＦと呼ぶ。
【０２１３】
可変長符号化回路２００ｃを構成する、データ取得部２０１、エスケープモード判定回路２１８、制御回路２０６ｃ・・・選択回路２１５ｃは、データＦについても、データＥと同様の処理を繰り返し、２クロックサイクルで、データＦに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成し、出力する。
３．３  まとめ
上述したように、実施の形態３における可変長符号化回路２００ｃは、エスケープモード判定回路２１８に含まれるＬＭＡＸ判定回路２０２ｃ及びＲＭＡＸ判定回路２１６ｃにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードが、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ、ＦＬＣのうち何れであるかを択一的に判定し、適切な（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択し、選択した（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出し、コードを生成する。
【０２１４】
このようにすることで、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードが、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ、ＦＬＣの何れであっても、２クロックサイクルでコードを出力することができる。
また、ＶＬＣテーブル２５１からＶＬＣを読み出す前に、エスケープモード判定回路２１８により、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードの種類を判定することにより、ＶＬＣテーブル２５１からＶＬＣを読み出す回数が１度だけになるため、ＶＬＣテーブルを１個だけ備えていれば良く、回路規模も縮小することができる。
３．４  実施の形態３の変形例  
実施の形態３において、可変長符号化回路２００ｃは、ＬＭＡＸ判定回路２０２ｃ及びＲＭＡＸ判定回路２１６ｃにより構成されているエスケープモード判定回路２１８を備えているが、図１６に示す可変長符号化回路２００ｄのようにエスケープモード判定回路２１８ｄを備える構成であっても良い。
【０２１５】
可変長符号化回路２００ｄは、図１６に示すように、データ取得部２０１、制御回路２０６ｄ、ＶＬＣ検出部２０７ｄ、レジスタ２０８ｄ、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４、選択回路２１５ｄ及びエスケープモード判定回路２１８ｄから構成される。データ取得部２０１、ＶＬＣ検出部２０７ｄ、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４及び選択回路２１５ｄの構成及び動作は、実施の形態３と同様であるので説明を省略する。
（１）エスケープモード判定回路２１８ｄ
エスケープモード判定回路２１８ｄは、図１７に示すように、第３選択回路３０１、第２選択回路３０２、ＬＭＡＸ検出部３０３、ＲＭＡＸ検出部３０４、第１選択回路３０６、制御レジスタ３０７、第１共有比較回路３０８、共有減算回路３０９、第２共有比較回路３１１、共有制御回路３１２、共有選択回路３１３及び共有出力回路３１４から構成される。
【０２１６】
（第１選択回路３０６、第２選択回路３０２及び第３選択回路３０１）
第１選択回路３０６は、ＬＭＡＸ検出部３０３からＬＭＡＸを受け取り、ＲＭＡＸ検出部３０４からＲＭＡＸを受け取る。また、制御レジスタ３０７から、ＬＭＡＸ検出部３０３、ＲＭＡＸ検出部３０４の何れか一方を示す選択指示を受け取る。選択指示を受け取ると、受け取った選択指示に基づいてＬＭＡＸ検出部３０３から出力されたＬＭＡＸ、ＲＭＡＸ検出部３０４から出力されたＲＭＡＸのうち何れか一方を、第１共有比較回路３０８と共有減算回路３０９とへ出力する。
【０２１７】
第２選択回路３０２は、データ取得部２０１からＲｕｎ値及びＬｅｖｅｌ絶対値を受け取り、制御レジスタ３０７からＲｕｎ値、Ｌｅｖｅｌ絶対値のうち何れか一方を選択することを指示する選択指示を受け取る。選択指示を受け取ると、受け取った選択指示に基づいてＲｕｎ値、Ｌｅｖｅｌ絶対値のうち何れか一方を、共有選択回路３１３と第１共有比較回路３０８と共有減算回路３０９とへ出力する。
【０２１８】
第３選択回路３０１は、データ取得部２０１からＲｕｎ値及びＬｅｖｅｌ絶対値を受け取り、制御レジスタ３０７からＲｕｎ値、Ｌｅｖｅｌ絶対値のうち何れか一方を選択することを指示する選択指示を受け取る。選択指示を受け取ると、受け取った選択指示に基づいてＲｕｎ値、Ｌｅｖｅｌ絶対値のうち何れか一方を、共有出力回路３１４へ出力する。
（ＬＭＡＸ検出部３０３及びＲＭＡＸ検出部３０４）
ＬＭＡＸ検出部３０３は、実施の形態１のＬＭＡＸ検出部２３１と同様にＬＭＡＸテーブル２６１及びＬＭＡＸエラー値「０」を記憶しており、データ取得部２０１から受け取ったＬａｓｔ値及びＲｕｎ値に対応するＬＭＡＸを読み出し、読み出したＬＭＡＸを第１選択回路３０６へ出力する。このとき、該当するＬＭＡＸがＬＭＡＸテーブル２６１上に存在しなければ、ＬＭＡＸエラー値「０」をＬＭＡＸとして、出力する。
【０２１９】
ＲＭＡＸ検出部３０４は、実施の形態２において説明したＲＭＡＸ検出部２８１と同様に、ＲＭＡＸテーブル２６６及びＲＭＡＸエラー値「−１」を記憶しており、データ取得部２０１から受け取ったＬａｓｔ値及びＬｅｖｅｌ絶対値に対応するＲＭＡＸを読み出し、読み出したＲＭＡＸを第１選択回路３０６へ出力する。このとき、該当するＲＭＡＸがＲＭＡＸテーブル２６６上に定義されていなければ、ＲＭＡＸエラー値「−１」をＲＭＡＸとして第１選択回路３０６へ出力する。
【０２２０】
（第１共有比較回路３０８）
第１共有比較回路３０８は、第２選択回路３０２からＬｅｖｅｌ絶対値又はＲｕｎ値を受け取る。また、第１選択回路３０６からＬＭＡＸ又はＲＭＡＸを受け取る。このとき、第２選択回路３０２からＬｅｖｅｌ絶対値を受け取ると、第１選択回路３０６からは、ＬＭＡＸを受け取る。第２選択回路３０２からＲｕｎ値を受け取ると、第１選択回路３０６からは、ＲＭＡＸを受け取る。
【０２２１】
Ｌｅｖｅｌ絶対値とＬＭＡＸとを受け取ると、受け取ったＬｅｖｅｌ絶対値とＬＭＡＸとを比較し、比較結果を共有制御回路３１２へ出力する。ＲＭＡＸとＲｕｎ値とを受け取ると、ＲＭＡＸとＲｕｎ値とを比較し、比較結果を共有制御回路３１２へ出力する。
（共有減算回路３０９）
共有減算回路３０９は、第１選択回路３０６からＬＭＡＸ又はＲＭＡＸを受け取る。また、第２選択回路３０２からＬｅｖｅｌ絶対値又はＲｕｎ値を受け取る。このとき、第１選択回路３０６からＬＭＡＸを受け取る場合、第２選択回路３０２からはＬｅｖｅｌ絶対値を受け取る。第１選択回路３０６から、ＲＭＡＸを受け取る場合、第２選択回路３０２からＲｕｎ値を受け取る。
【０２２２】
ＬＭＡＸとＬｅｖｅｌ絶対値とを受け取ると、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し、算出したＮｅｗＬｅｖｅｌを共有選択回路３１３と第２共有比較回路３１１とへ出力する。
ＲＭＡＸとＲｕｎ値とを受け取ると、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し、算出したＮｅｗＲｕｎを共有選択回路３１３と第２共有比較回路３１１とへ出力する。
【０２２３】
（第２共有比較回路３１１）
第２共有比較回路３１１は、第２選択回路３０２からＬｅｖｅｌ絶対値又はＲｕｎ値を受け取る。また、共有減算回路３０９から、ＮｅｗＬｅｖｅｌ又はＮｅｗＲｕｎを受け取る。
Ｌｅｖｅｌ絶対値とＮｅｗＬｅｖｅｌとを受け取ると、受け取ったＬｅｖｅｌ絶対値とＮｅｗＬｅｖｅｌとを比較し、比較結果を共有制御回路３１２へ出力する。
【０２２４】
Ｒｕｎ値とＮｅｗＲｕｎとを受け取ると、受け取ったＲｕｎ値とＮｅｗＲｕｎとを比較し、比較結果を共有制御回路３１２へ出力する。
（共有選択回路３１３）
共有選択回路３１３は、第２選択回路３０２からＬｅｖｅｌ絶対値又はＲｕｎ値を受け取り共有減算回路３０９からＮｅｗＬｅｖｅｌ又はＮｅｗＲｕｎを受け取る。また、共有制御回路３１２から、モード信号を受け取る。
【０２２５】
Ｌｅｖｅｌ絶対値とＮｅｗＬｅｖｅｌとモード信号を受け取った場合、受け取ったモード信号が「００」又は「１０」であれば、共有選択回路３１３は、第２選択回路３０２から受け取ったＬｅｖｅｌ絶対値を選択し、選択後Ｌｅｖｅｌとして共有出力回路３１４へ出力する。モード信号が「０１」であれば、共有減算回路３０９から受け取った、ＮｅｗＬｅｖｅｌを選択後Ｌｅｖｅｌとして、共有出力回路３１４へ出力する。
【０２２６】
Ｒｕｎ値とＮｅｗＲｕｎとモード信号を受け取った場合、受け取ったモード信号が「００」又は「１０」であれば、第２選択回路３０２から受け取ったＲｕｎ値を、選択後Ｒｕｎとして共有出力回路３１４へ出力する。モード信号が「０１」であれば、共有減算回路３０９から受け取ったＮｅｗＲｕｎを選択後Ｒｕｎとして、共有出力回路３１４へ出力する。
【０２２７】
（制御レジスタ３０７）
制御レジスタ３０７は、予め選択指示を含む命令を記憶している。
また、内部にクロックカウンタを備えており、制御レジスタ３０７に入力されるクロック信号の回数を０〜２まで数えることができる。クロックカウンタは、初めは０に初期化されている。
【０２２８】
制御レジスタ３０７は、一定時間間隔でタイミング制御回路からクロック信号を受け取る。
クロックカウンタ＝０のとき、クロック信号を受け取ると、制御レジスタ３０７は、クロックカウンタに１加算する。次に、第１選択回路３０６へ、ＬＭＡＸ検出部３０３から出力されるＬＭＡＸを選択することを示す選択指示を出力し、第２選択回路３０２へＬｅｖｅｌ絶対値を選択することを示す選択指示を出力し、第３選択回路３０１へＲｕｎ値を選択することを示す選択指示を出力する。次に、共有制御回路３１２からモード信号を受け取り、受け取ったモード信号を第１モード信号として制御回路２０６ｄへ出力する。
【０２２９】
クロックカウンタ＝１のときにクロック信号を受けると、制御レジスタ３０７は、クロックカウンタに１加算し、第１選択回路３０６へ、ＲＭＡＸ検出部３０４から出力されるＲＭＡＸを選択することを示す選択指示を出力し、第２選択回路３０２へ、Ｒｕｎ値を選択することを示す選択指示を出力し、第３選択回路３０１へＬｅｖｅｌ絶対値を選択することを示す選択指示を出力する。次に、共有制御回路３１２からモード信号を受け取り、受け取ったモード信号を第２モード信号として制御回路２０６ｄへ出力する。
【０２３０】
クロックカウンタ＝２のときにクロック信号を受けると、クロックカウンタを「０」に初期化する。
（共有制御回路３１２）
共有制御回路３１２は、第１共有比較回路３０８からＬｅｖｅｌ絶対値とＬＭＡＸの比較結果又はＲｕｎ値とＲＭＡＸとの比較結果を受け取る。また、第２共有比較回路３１１からＬＭＡＸとＮｅｗＬｅｖｅｌとの比較結果又はＲＭＡＸとＮｅｗＲｕｎとの比較結果を受け取る。
【０２３１】
第１共有比較回路３０８からＬｅｖｅｌ絶対値とＬＭＡＸとの比較結果を受け取り、第２共有比較回路３１１からＬＭＡＸとＮｅｗＬｅｖｅｌとの比較結果を受け取った場合、第１共有比較回路３０８から受け取った比較結果が、ＬＭＡＸ≧Ｌｅｖｅｌ絶対値であることを示していれば、第２共有比較回路３１１から受け取った比較結果に関わらず、モード信号「００」を生成し、生成したモード信号「００」を共有選択回路３１３及び制御レジスタ３０７へ出力する。
【０２３２】
第１共有比較回路３０８から受け取った比較結果が、ＬＭＡＸ＜Ｌｅｖｅｌ絶対値であることを示しており、第２共有比較回路３１１から受け取った比較結果が、ＬＭＡＸ≧ＮｅｗＬｅｖｅｌであることを示していれば、モード信号「０１」を生成し、生成したモード信号「０１」を共有選択回路３１３及び制御レジスタ３０７へ出力する。
第１共有比較回路３０８から受け取った比較結果が、ＬＭＡＸ＜Ｌｅｖｅｌ絶対値であることを示しており、第２共有比較回路３１１から受け取った比較結果が、ＬＭＡＸ＜ＮｅｗＬｅｖｅｌであることを示していれば、モード信号「１０」を生成し、生成したモード信号「１０」を共有選択回路３１３及び制御レジスタ３０７へ出力する。
【０２３３】
また、第１共有比較回路３０８からＲｕｎ値とＲＭＡＸとの比較結果を受け取り、第２共有比較回路３１１からＲＭＡＸとＮｅｗＲｕｎとの比較結果を受け取った場合、第１共有比較回路３０８から受け取った比較結果が、ＲＭＡＸ≧Ｒｕｎ値であることを示していれば、第２共有比較回路３１１から受け取った比較結果に関わらず、モード信号「００」を生成し、生成したモード信号「００」を共有選択回路３１３及び制御レジスタ３０７へ出力する。
【０２３４】
第１共有比較回路３０８から受け取った比較結果が、ＲＭＡＸ＜Ｒｕｎ値であることを示しており、第２共有比較回路３１１から受け取った比較結果が、ＲＭＡＸ≧ＮｅｗＲｕｎであることを示していれば、モード信号「０１」を生成し、生成したモード信号「０１」を共有選択回路３１３及び制御レジスタ３０７へ出力する。
第１共有比較回路３０８から受け取った比較結果が、ＲＭＡＸ＜Ｒｕｎ値であることを示しており、第２共有比較回路３１１から受け取った比較結果が、ＲＭＡＸ＜ＮｅｗＲｕｎであることを示していれば、モード信号「１０」を生成し、生成したモード信号「１０」を共有選択回路３１３及び制御レジスタ３０７へ出力する。
【０２３５】
（共有出力回路３１４）
共有出力回路３１４は、データ取得部２０１からＬａｓｔ値を受け取り、共有選択回路３１３から選択後Ｌｅｖｅｌを受け取り、第３選択回路３０１からＲｕｎ値を受け取る。受け取った（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）をＶＬＣ検出部２０７ｄへ出力する。
【０２３６】
また、データ取得部２０１からＬａｓｔ値を受け取り、共有選択回路３１３から選択後Ｒｕｎを受け取り、第３選択回路３０１からＬｅｖｅｌ絶対値を受け取る。受け取った（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）をＶＬＣ検出部２０７ｄへ出力する。
（２）レジスタ２０８ｄ
レジスタ２０８ｄは、書込回路、第１記憶部、第２記憶部及び読出回路から構成される。書き込み回路は、書込回路はクロックカウンタを備えており、クロック信号を受け取った回数を０〜２まで数えることができる。クロックカウンタは、初めは「０」に初期化されている。
【０２３７】
ここで、レジスタ１０８ｄのクロックカウンタの値とエスケープモード判定回路２１８ｄの制御レジスタ３０７の備えるクロックカウンタとは、常に同じ値である。
書込回路は、タイミング制御回路から一定時間間隔でクロック信号を受け取る。
クロックカウンタ＝０のときに、クロック信号を受け取ると、クロックカウンタに１加算する。次に、ＶＬＣ検出部２０７ｄから、ＶＬＣ又はＶＬＣエラー信号を受け取る。ＶＬＣを受け取ると、受け取ったＶＬＣを第１記憶部に書き込む。ＶＬＣエラー信号を受け取ると、何もしない。
【０２３８】
クロックカウンタ＝１のときに、クロック信号を受け取ると、クロックカウンタに１加算する。次に、ＶＬＣ検出部２０７ｄからＶＬＣ又はＶＬＣエラー信号を受け取る。ＶＬＣを受け取ると、受け取ったＶＬＣを第２記憶部に書き込む。ＶＬＣエラー信号を受け取ると、何もしない。
クロックカウンタ＝２のときに、クロック信号を受け取ると、何もしない。
【０２３９】
説明の便宜上、第１記憶部に記憶されるＶＬＣを第１ＶＬＣ、第２記憶部に記憶されるＶＬＣを第２ＶＬＣと呼ぶ。
読出回路は、タイミング制御回路から一定時間間隔でクロック信号を受け取る。また、制御回路２０６ｄから、第１ＶＬＣ、第２ＶＬＣの何れかを選択することを示す選択指示を受け取る。
【０２４０】
選択指示を受け取ると、受け取った選択指示に従い、第１ＶＬＣ又は第２ＶＬＣを読み出す。次のクロック信号を検出すると、読み出した第１ＶＬＣ又は第２ＶＬＣをノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ出力する。
（３）制御回路２０６ｄ
制御回路２０６ｄは、タイミング制御回路から、一定時間間隔でクロック信号を受け取る。
【０２４１】
制御回路２０６ｄは、エスケープモード判定回路２１８ｄから第１モード信号を受け取り、受け取った第１モード信号を一時的に記憶する。続いてエスケープモード判定回路２１８ｄから第２モード信号を受け取る。
第１モード信号及び第２モード信号を受け取ると、制御回路２０６ｄは、レジスタ２０８ｄへ、第１ＶＬＣ又は第２ＶＬＣの何れか一方を選択することを示す選択指示を出力し、選択回路２１５ｄへノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れか１つを示す選択指示を出力する。制御回路２０６の出力する選択指示の詳細及び選択指示の出力に続く制御回路２０６の動作について、図１８を用いて説明する。
【０２４２】
図１８は、第１モード信号と第２モード信号の組み合わせに対して、制御回路２０６ｄが出力する選択指示の例を示しており、選択指示（レジスタ）の欄の「１」は、レジスタ２０８ｄに出力する選択指示が、第１ＶＬＣを選択することを指示するものであることを示しており、「２」は、レジスタ２０８ｄに出力する選択指示が、第２ＶＬＣを選択することを指示するものであることを示している。選択指示（選択回路）の欄の「Ｎ」は、選択回路２１５ｄへ出力する選択指示が、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを指示するものであることを示しており、「Ｌ」は、選択回路２１５ｄへ出力する選択指示が、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを指示するものであることを示しており、「Ｒ」は、選択回路２１５ｄへ出力する選択指示が、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを指示するものであることを示しており、「Ｆ」は、選択回路２１５ｄへ出力する選択指示が、ＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを指示するものであることを示している。
【０２４３】
なお、ＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６の構成上、第１モード信号が「００」の場合、第２モード信号が「０１」及び「１０」になることはあり得ない。第１モード信号が「１０」の場合、第２モード信号が「００」になることはあり得ない。第１モード信号が「１０」の場合、第２モード信号が「００」になることはあり得ない。
【０２４４】
受け取った第１モード信号、第２モード信号が供に「００」であれば、制御回路２０６ｄは、レジスタ２０８ｄへ、第１ＶＬＣを選択することを示す選択指示を出力する。次に、新たなクロック信号を検出すると、選択回路２１５ｄへ、ノーマルＶＬＣ生成回路２１４を示す選択指示を出力する。
第１モード信号、第２モード信号が供に「０１」であれば、レジスタ２０８ｄへ、第１ＶＬＣを選択することを示す選択指示を出力する。次に、新たなクロック信号を検出すると、選択回路２１５ｄへ、ＬＭＡＸＶＬＣ生成回路２１３を示す選択指示を出力する。  
【０２４５】
第１モード信号が「０１」、第２モード信号が「１０」であれば、レジスタ２０８ｄへ、第１ＶＬＣを選択することを示す選択指示を出力する。次に、新たなクロック信号を検出すると、選択回路２１５ｄへ、ＬＭＡＸＶＬＣ生成回路２１３を示す選択指示を出力する。
第１モード信号が「１０」、第２モード信号が「０１」であれば、レジスタ２０８ｄへ、第２ＶＬＣを選択することを示す選択指示を出力し、次に、新たなクロック信号を検出すると、選択回路２１５ｄへ、ＲＭＡＸＶＬＣ生成回路２１２を示す選択指示を出力する。
【０２４６】
第１モード信号、第２モード信号が供に「１０」であれば、レジスタ２０８ｄへ、選択指示を出力せず、新たなクロック信号を検出すると、選択回路２１５ｄへ、ＦＬＣ生成回路２１１を示す選択指示を出力する。
選択回路２１５ｄへ、選択指示を出力すると、データ出力指示をデータ取得部２０１へ出力する。
（４）可変長符号化回路２００ｄの動作サイクル
可変長符号化回路２００ｄの動作サイクルについて、図１９に示すタイムチャートを用いて説明する。この図に示すタイムチャートは、縦に可変長符号化回路２００を構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
【０２４７】
クロック信号４３１、４３２、４３３・・・４３７が、一定の時間間隔により、それぞれ、時刻Ｔ４１０、Ｔ４２０、Ｔ４３０・・・Ｔ４７０において、データ取得部２０１、エスケープモード判定回路２１８ｄ、制御回路２０６ｄ及びレジスタ２０８ｄに供給される。ここで、クロック信号が供給される一定の時間間隔をクロックサイクルと呼ぶ。
図１９中の矢印は、矢印の元の指す回路でその時刻に行われる処理が、矢印の先の指す回路でその時刻に行われる処理のきっかけとなっていることを示す。
【０２４８】
データ取得部２０１は、時刻Ｔ４１０において、クロック信号４３１を検出し、保持しているＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をエスケープモード判定回路２１８ｄ及びＦＬＣ生成回路２１１へ、時刻Ｔ４４０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＧと呼ぶ。
【０２４９】
エスケープモード判定回路２１８ｄは、時刻Ｔ４１１において、データＧに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類がノーマルＶＬＣ又はＬＭＡＸＶＬＣであるか否かを判定し、判定結果として、第１モード信号を制御回路２０６ｄへ、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）をＶＬＣ検出部２０７ｄへ、時刻Ｔ４２０まで出力し続ける。
【０２５０】
ＶＬＣ検出部２０７ｄは、時刻Ｔ４１２において、エスケープモード判定回路２１８ｄから（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出す。該当するＶＬＣが存在すれば読み出したＶＬＣを、該当するＶＬＣが存在しなければＶＬＣエラー信号を、レジスタ２０８ｄへ、時刻Ｔ４２２まで出力し続ける。ここで出力されるＶＬＣは、上記の第１ＶＬＣであり、レジスタ２０８ｄは、第１ＶＬＣを第１記憶部に記憶する。
【０２５１】
また、ＦＬＣ生成回路２１１は、時刻Ｔ４１３にデータ取得部から、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを選択回路２１５ｄへ、時刻Ｔ４４３まで出力し続ける。
エスケープモード判定回路２１８ｄは、時刻Ｔ４２０において、クロック信号４３２を検出し、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣ又はＲＭＡＸＶＬＣであるか否かを判定し、判定結果として、第２モード信号を制御回路２０６ｄへ、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）をＶＬＣ検出部２０７ｄへ、時刻Ｔ４４１まで継続して出力する。
【０２５２】
制御回路２０６ｄは、時刻Ｔ４２１に、第２モード信号を受け取り、第１モード信号及び第２モード信号に基づく選択指示をレジスタ２０８ｄへ、時刻Ｔ４５１まで継続して出力する。
ＶＬＣ検出部２０７ｄは、時刻Ｔ４２２において、エスケープモード判定回路２１８ｄから（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、受け取った（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブル２５１から読み出す。該当するＶＬＣが存在すれば読み出したＶＬＣを、該当するＶＬＣが存在しなければＶＬＣエラー信号を、レジスタ２０８ｄへ、時刻Ｔ４２２まで出力し続ける。ここで出力されるＶＬＣは、上記の第２ＶＬＣであり、レジスタ２０８ｄは、第２ＶＬＣを第２記憶部に記憶する。
【０２５３】
レジスタ２０８ｄは、時刻Ｔ４３０において、クロック信号４３３を検出し、制御回路２０６ｄから選択指示を受け取る。受け取った選択指示に基づいて、記憶している第１ＶＬＣ又は第２ＶＬＣのうち何れか一方を読み出し、読み出した第１ＶＬＣ又は第２ＶＬＣを、ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ４６０まで出力し続ける。
【０２５４】
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ４３２にレジスタ２０８ｄからＶＬＣを受け取り、受け取ったＶＬＣを用いて、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを生成する。生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを、第２選択回路２１５へ、時刻Ｔ４６２まで出力し続ける。
【０２５５】
制御回路２０６ｄは、時刻Ｔ４３０にクロック信号４３３を検出し、エスケープモード判定回路２１８ｄから受け取った第１モード信号及び第２モード信号に基づく選択指示を、選択回路２１５ｄへ、時刻Ｔ４６０まで出力し続ける。選択回路２１５ｄへ選択指示を出力すると、時刻Ｔ４３１から時刻Ｔ４４４まで、データ出力指示をデータ取得部２０１へ、出力し続ける。
【０２５６】
選択回路２１５ｄは、時刻Ｔ４３３に、制御回路２０６ｄから選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れか１つを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして選択し、選択したコードを記録転送系に含まれるバッファへ、時刻Ｔ４６３まで出力し続ける。
データ取得部２０１は、時刻Ｔ４４０において、クロック信号４３４を検出し、制御回路２０６ｄからデータ出力指示を受け取り、新たなＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をエスケープモード判定回路２１８ｄ及びＦＬＣ生成回路２１１へ、時刻Ｔ４７０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＨと呼ぶ。
【０２５７】
可変長符号化回路２００ｄを構成するデータ取得部２０１、エスケープモード判定回路２１８ｄ・・・選択回路２１５ｄは、データＨについても、データＧと同様の処理を繰り返し、３クロックサイクルでデータＨに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成し、出力する。
（５）まとめ
以上説明したように、エスケープモード判定回路２１８ｄは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣ、ＬＭＡＸＶＬＣであるのか又はそのどちらでもないのかを判断する場合においても（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣ、ＲＭＡＸＶＬＣであるのか又はそのどちらでもないのかを判断する場合においても、制御レジスタ３０７、第１共有比較回路３０８、共有減算回路３０９、第２共有比較回路３１１、共有制御回路３１２、共有選択回路３１３及び共有出力回路３１４を使用する。このため、実施の形態３のエスケープモード判定回路２１８のようにＬＭＡＸ判定回路２０２ｃとＲＭＡＸ判定回路２１６ｃとを備えるよりも、回路規模を縮小することができる。
３．５  実施の形態３の変形例２
上記の実施の形態３の変形例において、制御回路２０６ｄは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＬＭＡＸＶＬＣでもＲＭＡＸＶＬＣでも良い場合に、優先的にＬＭＡＸＶＬＣを割り当てているが、ＲＭＡＸＶＬＣを優先的に割り当てても良い。
【０２５８】
具体的には、第１モード信号及び第２モード信号が供に「０１」である場合、レジスタ２０８ｄに第２ＶＬＣを示す選択指示を出力し、選択回路２１５ｄにＲＭＡＸＶＬＣ生成回路２１２を示す選択指示を出力する。
また、上記に説明したように、可変長符号化回路２００ｄの生産時に、予め、ＬＭＡＸＶＬＣとＲＭＡＸのうちどちらを優先するのかを、制御回路２０６ｄが記憶していてもよいし、生産後に、利用者の操作により変更するとしてもよい。
４．実施の形態４
本発明の実施の形態４の撮像システムについて説明する。
【０２５９】
本発明の撮像システムは、実施の形態１の撮像システム１００と同様に、光学系、センサー、変換回路、画像処理回路、記録転送系、再生系、タイミング制御回路及びシステム制御回路から構成れる。記録転送系を構成する可変長符号化回路２００ｅ以外は、実施の形態１と同様であるので、ここでは、可変長符号化回路２００ｅについてのみ説明する。
４．１可変長符号化回路２００ｅ
可変長符号化回路２００ｅは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがノーマルＶＬＣ、ＲＭＡＸＶＬＣ、ＬＭＡＸＶＬＣ、ＦＬＣのいずれであるかを判断した後、判断結果に基づいて（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成する。可変長符号化回路２００ｅによる、このコードの生成の動作及びこの機能を実現する構成について以下に説明する。
（可変長符号化回路２００ｅの動作）
可変長符号化回路２００ｅの動作について、図２０に示すフローチャートを用いて説明する。
【０２６０】
可変長符号化回路２００ｅは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を、可変長符号化回路２００ｅ内の各回路へ出力し、コード生成を開始する（ステップＳ１８１）。先ず、Ｒｕｎ値とＲＭＡＸとを比較することにより、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードが、ノーマルＶＬＣであるか否かを判定し（ステップＳ１８２）、ノーマルＶＬＣであると判定すると（ステップＳ１８２のＹＥＳ）、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出し（ステップＳ１８３）、読み出したＶＬＣを基にノーマルＶＬＣを生成し（ステップＳ１８４）、生成したノーマルＶＬＣを出力する（ステップＳ１９６）。
【０２６１】
ノーマルＶＬＣでないと判定すると（ステップＳ１８２のＮＯ）、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ１８５）、算出したＮｅｗＲｕｎとＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがＲＭＡＸＶＬＣであるか否かを判定する（ステップＳ１８６）。ＲＭＡＸＶＬＣであると判定すると（ステップＳ１８６のＹＥＳ）、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出し（ステップＳ１８７）、読み出したＶＬＣを基に、ＲＭＡＸＶＬＣを生成し（ステップＳ１８８）、生成したＲＭＡＸＶＬＣを出力する（ステップＳ１９６）。
【０２６２】
ステップＳ１８６において、ＲＭＡＸＶＬＣでないと判定すると、次に、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し（ステップＳ１８９）、算出したＮｅｗＬｅｖｅｌとＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＬＭＡＸＶＬＣであるか否かを判定する（ステップＳ１９１）。ＬＭＡＸＶＬＣであると判定されると（ステップＳ１９１のＹＥＳ）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブルから読み出し（ステップＳ１９２）、読み出したＶＬＣを基にＬＭＡＸＶＬＣを生成し（ステップＳ１９３）、生成したＲＭＡＸＶＬＣを出力する（ステップＳ１９６）。
【０２６３】
ステップＳ１９１において、ＲＭＡＸＶＬＣでないと判定すると、ＦＬＣを生成し（ステップＳ１９４）、生成したＦＬＣを出力する（ステップＳ１９６）。
（可変長符号化回路２００ｅの構成）
可変長符号化回路２００ｅは、図２１に示すように、データ取得部２０１、制御回路２０６ｅ、ＶＬＣ検出部２０７ｅ、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４、第２選択回路２１５及びエスケープモード判定回路２１８ｅから構成される。エスケープモード判定回路２１８ｅは、ＬＭＡＸ判定回路２０２ｅとＲＭＡＸ判定回路２１６ｅとを含む。
【０２６４】
データ取得部２０１、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３及びノーマルＶＬＣ生成回路２１４の構成及び動作は、実施の形態１と同様であるので、ここでは説明を省略する。また、ＶＬＣ検出部２０７ｅ及び選択回路２１５ｅは、実施の形態３のＶＬＣ検出部２０７ｃ及び選択回路２１５ｃと同様である。
（１）エスケープモード判定回路２１８ｅ
エスケープモード判定回路２１８ｅは、図２１に示すようにＲＭＡＸ判定回路２１６ｅ及びＬＭＡＸ判定回路２０２ｅから構成される。
【０２６５】
ＲＭＡＸ判定回路２１６ｅの構成及び動作は、実施の形態２のＲＭＡＸ判定回路２１６と同様であり、データ取得部２０１から、Ｌａｓｔ値、Ｒｕｎ値及びＬｅｖｅｌ絶対値を受け取り、モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を出力する。ここで、ＲＭＡＸ判定回路２１６ｅは、ＬＭＡＸ判定回路２０２ｅへ、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）とモード信号を出力し、制御回路２０６ｅへモード信号を出力する。なお、説明の便宜上、ＲＭＡＸ判定回路２１６ｅが出力するモード信号を第１モード信号、ＬＭＡＸ判定回路２０２ｅが出力するモード信号を第２モード信号と呼ぶ。
【０２６６】
ＬＭＡＸ判定回路２０２ｅは、実施の形態１において説明したＬＭＡＸ判定回路２０２と同様に、ＬＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路、判定制御回路及び出力回路から構成される。
ＬＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路及び出力回路は、ＲＭＡＸ判定回路２１６ｅから出力された（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対して、実施の形態１のＬＭＡＸ判定回路２０２を構成するＬＭＡＸ検出部２３１、第１比較回路２３２、減算回路２３３、第２比較回路２３４、選択回路２３６及び出力回路２３８と同様の動作を行い、ＶＬＣ検出部２０７ｅへ（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を出力する。
【０２６７】
判定制御回路は、ＲＭＡＸ判定回路２１６ｅから第１モード信号を受け取る。また、第１比較回路からＬｅｖｅｌ絶対値とＬＭＡＸとの比較結果を受け取り、第２比較回路からＬＭＡＸとＮｅｗＬｅｖｅｌとの比較結果を受け取る。
受け取った第１モード信号が「０１」である場合、第１比較回路及び第２比較回路から受け取った比較結果にかかわらず、第２モード信号「００」を生成し、制御回路２０６ｅ及びＬＭＡＸ判定回路２０２ｅ内の選択回路へ出力する。
【０２６８】
ＲＭＡＸ判定回路２１６ｅから受け取った第１モード信号が「００」又は「１０」であれば、実施の形態１において説明したＬＭＡＸ判定回路２０２の判定制御回路２３７と同様に第１比較回路及び第２比較回路から受け取った比較結果に基づいて第２モード信号を生成し、制御回路２０６ｅ及びＬＭＡＸ判定回路２０２ｅ内の選択回路へ生成した第２モード信号を出力する。
（２）制御回路２０６ｅ
制御回路２０６ｅは、タイミング制御回路から、定期的にクロック信号を受け取る。また、エスケープモード判定回路２１８ｅから、第１モード信号及び第２モード信号を受け取る。
【０２６９】
第１モード信号及び第２モード信号を受け取り、クロック信号を検出すると、受け取った第１モード信号と第２モード信号との組合せによって、選択回路２１５に対し、図２２に示すような選択指示を出力する。図２２は、制御回路２０６ｅの受け取る第１モード信号と第２モード信号の組み合わせと、選択回路２１５へ出力する選択指示の内容とを対応付けて示している。
【０２７０】
第１モード信号が「００」で第２モード信号が「００」の場合、ノーマルＶＬＣ生成回路２１４から出力される信号を選択することを示す選択指示を出力する。
第１モード信号が「０１」、第２モード信号が「００」の場合、ＲＭＡＸＶＬＣ生成回路２１２から出力される信号を選択することを示す選択指示を出力する。
第１モード信号が「１０」、第２モード信号が「０１」の場合、ＬＭＡＸＶＬＣ生成回路２１３から出力される信号を選択することを示す選択指示を出力する。
【０２７１】
第１モード信号が「１０」、第２モード信号が「１０」の場合、ＦＬＣ生成回路２１１から出力される信号を選択することを示す選択指示を出力する。
なお、ＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６の構成上、第１モード信号が「００」の場合、第２モード信号が「０１」及び「１０」になることはあり得ない。また、第１モード信号が「１０」の場合、第２モード信号が「００」になることはあり得ない。
【０２７２】
選択回路２１５へ選択指示を出力すると、制御回路２０６ｅは、データ取得部２０１へ、新たなデータの出力を指示する。
（３）可変長符号化回路２００ｅの動作サイクル
可変長符号化回路２００eの動作サイクルについて、図２３に示すタイムチャートを用いて説明する。
【０２７３】
この図に示すタイムチャートは、縦に可変長符号化回路２００eを構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
クロック信号４４１、４４２、４４３、４４４及び４４５が、一定の時間間隔により、それぞれ、時刻Ｔ５１０、Ｔ５２０、Ｔ５３０、Ｔ５４０及びＴ５５０において、データ取得部２０１、制御回路２０６ｅレジスタ２０８に供給される。ここで、クロック信号が供給される一定の時間間隔をクロックサイクルと呼ぶ。
【０２７４】
図２３中の矢印は、矢印の元の指す回路でその時刻に行われる処理が、矢印の先の指す回路でその時刻に行われる処理のきっかけとなっていることを示す。
データ取得部２０１は、時刻Ｔ５１０において、クロック信号４４１を検出すると、保持しているＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をエスケープモード判定回路２１８及びＦＬＣ生成回路２１１へ、時刻Ｔ５３０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＩと呼ぶ。
【０２７５】
エスケープモード判定回路２１８ｅ内のＬＭＡＸ判定回路２０２ｅは、時刻Ｔ５１１において、データＩを受け取り、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として第１モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、制御回路２０６ｅへ、第１モード信号を、エスケープモード判定回路２１８ｅ内のＬＭＡＸ判定回路２０２ｅへ、第１モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）とを、時刻Ｔ５３１まで継続して出力する。
【０２７６】
ＬＭＡＸ判定回路２０２ｅは、時刻Ｔ５１２に、ＲＭＡＸ判定回路２１６ｅから、第１モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）とを受け取り、受け取った第１モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）とを用いて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として、第２モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、第２モード信号を制御回路２０６ｅへ、ＶＬＣ検出部２０７ｅへ（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を、時刻Ｔ５３２まで、出力し続ける。
【０２７７】
ＶＬＣ検出部２０７ｅは、時刻Ｔ５１３において、エスケープモード判定回路２１８ｅから（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出す。該当するＶＬＣがＶＬＣテーブル２５１に存在すれば、読み出したＶＬＣを、該当するＶＬＣがＶＬＣテーブル２５１に存在しなければ、ＶＬＣエラー信号を、レジスタ２０８へ、時刻Ｔ５３３まで出力し続ける。
【０２７８】
また、ＦＬＣ生成回路２１１は、時刻Ｔ５１４にデータ取得部２０１からデータＥを受け取ると、データＥに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを選択回路２１５ｅへ、時刻Ｔ５３４まで出力し続ける。
レジスタ２０８は、時刻Ｔ５２０において、クロック信号４４２を検出し、ＶＬＣ検出部２０７からＶＬＣを受け取り、受け取ったＶＬＣを一時的に記憶する。次に、記憶しているＶＬＣを、ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ５４０まで出力し続ける。
【０２７９】
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ５２２にレジスタ２０８からＶＬＣを受け取り、受け取ったＶＬＣを用いて、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを生成する。生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ及びＲＭＡＸＶＬＣを、選択回路２１５ｅへ、時刻Ｔ５４２まで出力し続ける。
【０２８０】
また、制御回路２０６ｅは、時刻Ｔ５２０において、クロック信号４４２を検出し、エスケープモード判定回路２１８から受け取った第１モード信号と第２モード信号と基づく選択指示を、選択回路２１５ｅへ、時刻Ｔ５４０まで出力し続ける。選択回路２１５ｅへ選択指示を出力すると、時刻Ｔ５２１から時刻Ｔ５３５までの間、データ出力指示をデータ取得部２０１へ、出力し続ける。
【０２８１】
選択回路２１５ｅは、時刻Ｔ５２３において、制御回路２０６ｅから選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れか１つを記録転送系に含まれるバッファへ、時刻Ｔ５４３まで出力し続ける。
データ取得部２０１は、時刻Ｔ５３０にクロック信号４４３を検出し、制御回路２０６ｅからデータ出力指示を受け取り、新たなＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をエスケープモード判定回路２１８及びＦＬＣ生成回路２１１へ、時刻Ｔ５５０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＪと呼ぶ。
【０２８２】
エスケープモード判定回路２１８ｅ、制御回路２０６ｅ・・・選択回路２１５ｅは、データJについても、データＩと同様の処理を繰り返し、２クロックサイクルで、データＪに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応するコードを生成し、出力する。
４．２まとめ
以上、説明したように、実施の形態４における可変長符号化回路２００ｅは、エスケープモード判定回路２１８ｅに含まれるＲＭＡＸ判定回路２１６ｅ及びＬＭＡＸ判定回路２０２ｅにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードが、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ、ＦＬＣのうち何れであるかを判断し、適切な（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択し、選択した（Ｌａｓｔ，選択後Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出し、コードを生成する。
【０２８３】
このように、ＲＭＡＸ判定回路２１６ｅをＬＭＡＸ判定回路２０２ｅの前に配置しているため、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に、ＲＭＡＸＶＬＣ、ＬＭＡＸＶＬＣのうちどちらでも割り当て可能な場合、優先的にＲＭＡＸＶＬＣを割り当てることができる。
５．実施の形態５
本発明の実施の形態５の撮像システムについて説明する。
【０２８４】
本発明の撮像システムは、実施の形態１の撮像システム１００と同様に、光学系、センサー、変換回路、画像処理回路、記録転送系、再生系、タイミング制御回路及びシステム制御回路から構成される。記録転送系に含まれる可変長符号化回路以外２００ｆ以外は、実施の形態１と同様であるので、ここでは、本実施の形態５の特徴である可変長符号化回路２００ｆについてのみ説明する。
５．１  可変長符号化回路２００ｆ
本実施の形態の可変長符号化回路は、ＬＭＡＸ判定回路とＲＭＡＸ判定回路並列に動作させることにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ、ＦＬＣのうち何れであるかを判定し、判定結果を基に（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成する。この可変長符号化回路２００ｆによるコード生成の動作及びこの機能を実現する構成について、以下に説明する。
（可変長符号化回路２００ｆの動作の概要）    
可変長符号化回路２００ｆの動作について、図２４に示すフローチャートを用いて説明する。
【０２８５】
可変長符号化回路２００ｆは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を、可変長符号化回路２００ｆ内の各回路へ出力し、コード生成を開始する（ステップＳ２０１）。先ず、ＬＭＡＸ判定回路（後述する）おいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行い（ステップＳ２０２）、ステップＳ２０２と並行してＲＭＡＸ判定回路（後述する）においても、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行う（ステップＳ２０９）。
【０２８６】
ステップＳ２０２においては、まず、（Ｌａｓｔ，Ｒｕｎ）に対するＬＭＡＸとＬｅｖｅｌ絶対値とを比較することにより（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定し（ステップＳ２０４）、ノーマルＶＬＣでないと判定すると（ステップＳ２０４のＮＯ）、さらに、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し（ステップＳ２０６）、ＮｅｗＬｅｖｅｌとＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して、第１のエスケープモードに従って生成したＬＭＡＸＶＬＣを割り当てられるか否かを判定する（ステップＳ２０７）。
【０２８７】
また、ステップＳ２０９においては、まず、（Ｌａｓｔ，Ｌｅｖｅｌ絶対値）に対応するＲＭＡＸとＲｕｎ値とを比較することにより（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定する（ステップＳ２１１）。ノーマルＶＬＣでないと判定すると（ステップＳ２１１のＮＯ）、さらに、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ２１２）、ＮｅｗＲｕｎとＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して、第２のエスケープモードに従って生成したＲＭＡＸＶＬＣを割り当てることが可能か否かを判定する（ステップＳ２１３）。
【０２８８】
ＬＭＡＸ判定回路による判定（ステップＳ２０２）の結果とＲＭＡＸ判定回路による判定（ステップＳ２０９）の結果とに基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を選択する（ステップＳ２１４）。
ノーマルＶＬＣを選択すると、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ２１６）、読み出したＶＬＣを基にノーマルＶＬＣを生成し（ステップＳ２１７）、生成したノーマルＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ２２５）。
【０２８９】
ＬＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出し（ステップＳ２１９）、読み出したＶＬＣを基にＬＭＡＸＶＬＣを生成し（ステップＳ２２１）、生成したＬＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ２２５）。
ＲＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ２２２）、読み出したＶＬＣを基にＲＭＡＸＶＬＣを生成し（ステップＳ２２３）、生成したＲＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ２２５）。
【０２９０】
ＦＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し（ステップＳ２２４）、生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ２２５）。
（可変長符号化回路２００ｆの構成）
可変長符号化回路２００ｆは、図２５に示すように、データ取得部２０１、ＬＭＡＸ判定回路２０２ｆ、第１選択回路２０５ｆ、制御回路２０６ｆ、ＶＬＣ検出部２０７ｆ、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４、第２選択回路２１５及びＲＭＡＸ判定回路２１６ｆから構成される。
【０２９１】
レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４及び第２選択回路２１５の構成及び動作は、実施の形態１と同様であるので、ここで、改めて説明はしない。また、ＶＬＣ検出部２０７ｆの構成及び動作は、実施の形態３のＶＬＣ検出部２０７ｃと同様であるので、説明を省略する。  
（１）ＬＭＡＸ判定回路２０２ｆ及びＲＭＡＸ判定回路２１６ｆ
ＬＭＡＸ判定回路２０２ｆは、実施の形態１のＬＭＡＸ判定回路２０２と同様の構成であり、ＬＭＡＸ判定回路２０２と同様に、データ取得部２０１から、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５ｆへ出力する。また、制御回路２０６ｆへモード信号を出力する。
【０２９２】
ＲＭＡＸ判定回路２１６ｆは、実施の形態２のＲＭＡＸ判定回路２１６と同様の構成であり、ＲＭＡＸ判定回路２１６と同様に、データ取得部２０１から、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５ｆへ出力する。また、制御回路２０６ｆへモード信号を出力する。
説明の便宜上、ＬＭＡＸ判定回路２０２ｆから出力されるモード信号を第１モード信号、ＲＭＡＸ判定回路２１６ｆから出力されるモード信号を第２モード信号と呼ぶ。
【０２９３】
ここで、第１モード信号「００」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであることを示しており、第１モード信号「０１」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して、ＬＭＡＸＶＬＣを割り当てることが可能であることを示しており、第１モード信号「１０」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードが、ノーマルＶＬＣ及びＬＭＡＸＶＬＣではないことを示している。
【０２９４】
第２モード信号「００」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであることを示しており、第１モード信号「０１」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して、ＲＭＡＸＶＬＣを割り当てることが可能であることを示しており、第１モード信号「１０」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードが、ノーマルＶＬＣ及びＲＭＡＸＶＬＣではないことを示している。
（２）第１選択回路２０５ｆ
第１選択回路２０５ｆは、ＬＭＡＸ判定回路２０２ｆから（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、ＲＭＡＸ判定回路２１６ｆから（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取る。また、制御回路２０６ｆからＬＭＡＸ判定回路２０２ｆまたはＲＭＡＸ判定回路２１６ｆの何れか一方を示す選択指示を受け取る。
【０２９５】
選択指示を受け取ると、受け取った選択指示に従って、ＬＭＡＸ判定回路２０２ｆから受け取った（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）又はＲＭＡＸ判定回路２１６ｆから受け取った（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）のうち、いずれか一方をＶＬＣ検出部２０７ｆへ出力する。
（３）制御回路２０６ｆ
制御回路２０６ｆは、選択指示、データ出力指示などの各種の命令を記憶している。
【０２９６】
制御回路２０６ｆは、一定時間間隔で、タイミング制御回路からクロック信号を受け取る。また、ＬＭＡＸ判定回路２０２ｆから第１モード信号を受け取り、ＲＭＡＸ判定回路２１６ｆから第２モード信号を受け取る。受け取った第１モード信号と第２モード信号との組み合わせによって、第１選択回路２０５ｆ及び第２選択回路２１５へ図２６に示すような選択指示を出力する。
【０２９７】
図２６は、第１モード信号と第２モード信号の組み合わせに対応して、制御回路２０６ｆが第１選択回路２０５ｆ及び第２選択回路２１５へ出力する選択指示の内容を示しており、選択指示（第１選択回路）の欄の「ＬＭＡＸ」は、第１選択回路２０５ｆに出力する選択指示が、ＬＭＡＸ判定回路２０２ｆから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを指示するものであることを示しており、「ＲＭＡＸ」は、第１選択回路２０５ｆに出力する選択指示が、ＲＭＡＸ判定部２１６ｆから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択することを指示するものであること示している。
【０２９８】
選択指示（第２選択回路）の欄の「Ｎ」は、第２選択回路２１５へ出力する選択指示が、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを指示するものであることを示しており、「Ｌ」は、第２選択回路２１５へ出力する選択指示が、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを指示するものであることを示しており、「Ｒ」は、第２選択回路２１５へ出力する選択指示が、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを指示するものであることを示している。
【０２９９】
なお、ＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６の構成上、第１モード信号が「００」の場合、第２モード信号が「０１」及び「１０」になることはあり得ない。第１モード信号が「０１」の場合、第２モード信号が「００」になることはあり得ない。第１モード信号が「１０」の場合、第２モード信号が「００」になることはあり得ない。  
【０３００】
受け取った第１モード信号が「００」で第２モード信号が「００」の場合、制御回路２０６ｆは、第１選択回路２０５ｆへ、ＬＭＡＸ判定回路２０２ｆから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を出力する。次に、新たなクロック信号を受け取ると、第２選択回路２１５へ、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を出力する。
【０３０１】
第１モード信号が「０１」、第２モード信号が「０１」の場合及び第１モード信号が「０１」、第２モード信号が「１０」の場合、第１選択回路２０５ｆへ、ＬＭＡＸ判定回路２０２ｆから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を出力する。次に、新たなクロック信号を受け取ると、第２選択回路２１５へ、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを示す選択指示を出力する。
【０３０２】
第１モード信号が「１０」、第２モード信号が「０１」の場合、第１選択回路２０５ｆへ、ＲＭＡＸ判定回路２０２ｆ出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択することを示す選択指示を出力する。次に、新たなクロック信号を受け取ると、第２選択回路２１５へ、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを示す選択指示を出力する。
【０３０３】
第１モード信号が「１０」、第２モード信号が「１０」の場合、第１選択回路２０５ｆには、選択指示を出力しない。新たなクロック信号を受け取ると、第２選択回路２１５へ、ＦＬＣ生成回路２１１から出力される信号を選択することを示す選択指示を出力する。
選択回路２１５ｃへ、図２６を用いて説明したような選択指示を出力すると、次に、制御回路２０６ｆは、データ取得部２０１へ、新たなデータの出力を指示するデータ出力指示を出力する。
（４）可変長符号化回路２００ｆの動作サイクル
可変長符号化回路２００ｆの動作サイクルについて、図２７に示すタイムチャートを用いて説明する。
【０３０４】
この図に示すタイムチャートは、縦に可変長符号化回路２００ｆを構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
クロック信号４５１、４５２、４５３及び４５４が、一定の時間間隔により、それぞれ、時刻Ｔ６１０、Ｔ６２０、Ｔ６３０及びＴ６４０において、データ取得部２０１、制御回路２０６ｆ及びレジスタ２０８に供給される。ここで、クロック信号が供給される一定の時間間隔をクロックサイクルと呼ぶ。
【０３０５】
図２７中の矢印は、矢印の元の指す回路でその時刻に行われる処理が、矢印の先の指す回路でその時刻に行われる処理のきっかけとなっていることを示す。
データ取得部２０１は、時刻Ｔ６１０において、クロック信号４５１を検出する。クロック信号４５１を検出すると、保持しているＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＬＭＡＸ判定回路２０２ｆ、ＲＭＡＸ判定回路２１６ｆ及びＦＬＣ生成回路２１１へ、時刻Ｔ６３０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＫと呼ぶ。
【０３０６】
ＬＭＡＸ判定回路２０２ｆは、時刻Ｔ６１１において、データＫに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として第１モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、生成した第１モード信号を制御回路２０６ｆへ、生成した（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５ｆへ、時刻Ｔ６３１まで継続して出力する。
【０３０７】
ＲＭＡＸ判定回路２１６ｆは、時刻Ｔ６１１において、データＫに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として第２モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を生成し、生成した第２モード信号を制御回路２０６ｆへ、生成した（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５ｆへ、時刻Ｔ６３１まで継続して出力する。
【０３０８】
制御回路２０６ｆは、時刻Ｔ６１２において、第１モード信号および第２モード信号を受け取り、その組み合わせに応じた選択指示を、第１選択回路２０５ｆへ、時刻Ｔ６３２まで継続して出力する。ただし、第１モード信号及び第２モード信号がともに「１０」の場合は出力しない。
第１選択回路２０５ｆは、時刻Ｔ６１３において、制御回路２０６ｆから選択指示を受け取り、受け取った選択指示に従って、ＬＭＡＸ判定回路２０２ｆから出力された（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）、ＲＭＡＸ判定回路２１６ｆから出力された（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）のうち一方を選択し、ＶＬＣ検出部２０７ｆへ、時刻Ｔ６３３まで出力し続ける。
【０３０９】
ＶＬＣ検出部２０７ｆは、時刻Ｔ６１４において、第１選択回路２０５ｆから、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）又は（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）又は（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出す。読み出したＶＬＣをレジスタ２０８へ、時刻Ｔ６３４まで出力し続ける。
【０３１０】
また、ＦＬＣ生成回路２１１は、時刻Ｔ６１５にデータＫに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを第２選択回路２１５へ、時刻６４３まで出力し続ける。
時刻Ｔ６２０において、レジスタ２０８は、クロック信号４５２を検出し、ＶＬＣ検出部２０７ｆからＶＬＣを受け取り、受け取ったＶＬＣを一時的に記憶する。次に、記憶したＶＬＣを、ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ６４０まで継続して出力する。
【０３１１】
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ６２２に、レジスタ２０８からＶＬＣを受け取り、受け取ったＶＬＣを基にそれぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ及びＲＭＡＸＶＬＣを生成し、第２選択回路２１５へ、時刻Ｔ６４２まで出力し続ける。
制御回路２０６ｆは、時刻Ｔ６２０において、クロック信号４５２を検出し、第１モード信号及び第２モード信号に基づいた選択指示を第２選択回路２１５へ、時刻６４０まで、出力し続ける。第２選択回路２１５へ選択指示を出力すると、時刻Ｔ６２１から時刻Ｔ６３６までの間、データ取得部２０１へデータ出力指示を出力し続ける。
【０３１２】
第２選択回路２１５は、時刻Ｔ６２３に、制御回路２０６ｆから選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣのうち何れか１つを選択して、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして、時刻Ｔ６４３まで継続して出力する。
データ取得部２０１は、時刻Ｔ６３０において、クロック信号４５３を検出し、データ出力指示を受け取る。データ出力指示を受け取ると新たなＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値及びＳｉｇｎ値を、ＬＭＡＸ判定回路２０２ｆ、ＲＭＡＸ判定回路２１６ｆ及びＦＬＣ生成回路２１１へ出力する。ここで、出力されるＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値及びＳｉｇｎ値を総称してデータＬと呼ぶ。
【０３１３】
可変長符号化回路２００ｆを構成するデータ取得部２０１、ＬＭＡＸ判定回路２０２ｆ、ＲＭＡＸ判定回路２１６ｆ・・・第２選択回路２１５は、データＬについても同様の処理を繰り返し、２クロックサイクルでデータＬに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成し、出力する。
５．２  まとめ
以上、説明したように、本実施の形態の可変長符号化回路２００ｆは、ＬＭＡＸ判定回路２０２ｆとＲＭＡＸ判定回路２１６ｆとを並列に動作させる。制御回路２０６ｆは、ＬＭＡＸ判定回路２０２ｆ及びＲＭＡＸ判定回路２１６ｆから受け取った第１モード信号及び第２モード信号から、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判断し、第１選択回路２０５ｆ及び第２選択回路２１５へ選択指示を出力する。
【０３１４】
ＬＭＡＸ判定回路２０２ｆとＲＭＡＸ判定回路２１６ｆとを並列に配置したことにより、データ取得部２０１から第２選択回路２１５までの間のパスを短くすることができる。さらに、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードが、ＦＬＣであると判断される場合、第１選択回路２０５ｆへの選択指示を出力しない。従って、このときＶＬＣ検出部２０７ｆの無駄な動作を回避し、電力消費を削減することができる。
５．３  実施の形態５の変形例
上記の実施の形態５において、可変長符号化回路２００ｆは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＬＭＡＸＶＬＣでもＲＭＡＸＶＬＣでもかまわない場合、制御回路２０６ｆはＬＭＡＸＶＬＣを優先的に選択しているが、ＲＭＡＸＶＬＣを優先的に選択してもよい。
【０３１５】
具体的には、第１モード信号、第２モード信号が供に「０１」の場合、制御回路２０６ｆは、第１選択回路２０５ｆにＲＭＡＸ判定回路２１６ｆから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択することを示す選択指示を出力し、第２選択回路２１５に、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを示す選択指示を出力する。
【０３１６】
また、ＬＭＡＸＶＬＣとＲＭＡＸＶＬＣのうちどちらを優先するかを、使用者のキー操作などにより変更できるようにしてもよい。
６．実施の形態６
本発明の実施の形態６の撮像システムについて説明する。
本発明の撮像システムは、実施の形態１の撮像システム１００と同様に、光学系、センサー、変換回路、画像処理回路、記録転送系１０５、再生系、タイミング制御回路及びシステム制御回路から構成される。光学系、センサー、変換回路、画像処理回路、再生系、タイミング制御回路及びシステム制御回路については、実施の形態１と同様であるので、説明を省略する。
【０３１７】
記録転送系１０５は、図２８に示すように、信号生成部８１０、バッファ８２０、可変長符号化回路２００ｇ及びバッファ８２５から構成され、画像処理回路において生成されたＤＣＴ係数を受け取り、受け取ったＤＣＴ係数を可変長符号化し、記憶する。以下に、記録転送系１０５を構成する各部の詳細について、図面を用いて説明する。
６．１  バッファ８２０及びバッファ８２５
バッファ８２０は、ＲＡＭから構成され、信号生成部８１０から出力される信号を一時的に記憶する。
【０３１８】
バッファ８２５は、ＳＲＡＭから構成され、可変長符号化回路２００ｇにより生成されたコードを一時的に記憶し、記憶しているコードを再生系又はメモリカードなどの外部記憶メディアへ出力する。
６．２  信号生成部８１０
信号生成部８１０は、値が「０」であるＤＣＴ係数の個数を計数するカウンタを含む。
【０３１９】
信号生成部８１０は、タイミング制御回路から、一定時間間隔でクロック信号を受け取る。クロック信号のタイミングに合わせて、画像処理回路８１０により生成されたＤＣＴ係数を受け取る。ＤＣＴ係数を受け取ると、受け取ったＤＣＴ係数の値が「０」である否かを判定する。受け取ったＤＣＴ係数の値が「０」であれば、カウンタに１加算する。
受け取ったＤＣＴ係数の値が「０」でない場合、受け取ったＤＣＴ係数がブロックの最後のＤＣＴ係数であればＬａｓｔ値「１」を生成し、ブロックの最後のＤＣＴ係数でなければ、Ｌａｓｔ値「０」を生成する。ここで、ブロックとは、８画素×８ラインからなる画像処理の１単位であり、画像処理回路８１０において、ブロックごとに量子化、ＤＣＴ処理などを行う。
【０３２０】
次に、受け取ったＤＣＴ係数の値が正数であるか負数であるかを判断する。正数であればＳｉｇｎ値「０」を生成し、受け取ったＤＣＴ係数をＬｅｖｅｌ値とする。また、受け取ったＤＣＴ係数をＬｅｖｅｌ絶対値とする。受け取ったＤＣＴ係数が負数であれば、Ｓｉｇｎ値「１」を生成し、受け取ったＬｅｖｅｌ値をとする。また、受け取ったＤＣＴ係数の絶対値をＬｅｖｅｌ絶対値とする。
【０３２１】
次に、カウンタの値をＲｕｎ値として、生成したＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値をバッファ８２０へ書き込む。
６．３  可変長符号化回路２００ｇ
可変長符号化回路２００ｇは、閾値ｎ及び閾値ｍを記憶しており、Ｒｕｎ値が閾値を超えない場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判断し、判断結果に基づいてコードを生成する。
【０３２２】
Ｒｕｎ値が閾値を超える場合、従来技術において説明したように、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し、該当するＶＬＣが存在すれば読み出したＶＬＣを基にノーマルＶＬＣを生成し、存在しなければ第１〜第３のエスケープモードによるコード生成を、順次試みる。可変長符号化回路２００ｇによるコード生成の動作及びこの機能を実現する構成について説明する。
【０３２３】
（可変長符号化回路２００ｇの動作の概要）
可変長符号化回路２００ｇの動作について、図２９に示すフローチャートを用いて説明する。
可変長符号化回路２００ｇは、可変長符号化回路２００ｇを構成する各部へ（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を出力し、コードの生成を開始する（ステップＳ２４１）。次に、ＬＭＡＸ判定部２０２ｇ（後述する）において、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行い（ステップＳ２４２）、ステップＳ２４２と並行して、ＲＭＡＸ判定部２１６ｇ（後述する）においても、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行う（ステップＳ２４９）。
【０３２４】
ステップＳ２４２においては、先ず、Ｒｕｎ値と閾値ｎとを比較することにより、ＬＭＡＸ判定部２０２ｇによるコードの種類の判定を行うか否かを決定する（ステップＳ２４３）。Ｒｕｎ値＞ｎであれば（ステップＳ２４３のＮＯ）、以下のステップＳ２４４〜ステップＳ２４７の処理を行わない。Ｒｕｎ値≦ｎであれば（ステップＳ２４３のＹＥＳ）、ＬＭＡＸとＬｅｖｅｌ絶対値とを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定する（ステップＳ２４４）。ノーマルＶＬＣでないと判定すると（ステップＳ２４４のＮＯ）、さらに、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し（ステップＳ２４６）、算出したＮｅｗＬｅｖｅｌとＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＬＭＡＸＶＬＣを割り当てることが可能か否かを判定する（ステップＳ２４７）。
【０３２５】
ステップＳ２４９においては、まず、Ｒｕｎ値と閾値ｍとを比較し、ＲＭＡＸ判定部２１６ｇによるコードの種類の判定を行うか否かを決定する（ステップＳ２５１）。Ｒｕｎ＞ｍであれば、以下のステップＳ２５２〜ステップＳ２５４の処理を行わない。
Ｒｕｎ値≦ｍであれば、続いて、ＲｕｎとＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定する（ステップＳ２５１）。ノーマルＶＬＣでないと判定すると（ステップＳ２５１のＮＯ）、さらに、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ２５３）、算出したＮｅｗＲｕｎとＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＲＭＡＸＶＬＣを割り当てることが可能か否かを判定する（ステップＳ２５４）。
【０３２６】
次に、ステップＳ２４２及びステップＳ２４９による判定の結果に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を選択する（ステップＳ２５６）。
ノーマルＶＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ２５７）、読み出したＶＬＣを基にノーマルＶＬＣを生成し（ステップＳ２５８）、生成したノーマルＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ２６４）。
【０３２７】
ＬＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出し（ステップＳ２５９）、読み出したＶＬＣを基にＬＭＡＸＶＬＣを生成し（ステップＳ２６１）、生成したＬＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ２６４）。
ＲＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ２６２）、読み出したＶＬＣを基にＲＭＡＸＶＬＣを生成し（ステップＳ２６３）、生成したＲＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ２６４）。
【０３２８】
ＬＭＡＸ判定部２０２ｇ及びＲＭＡＸ判定部２１６ｇによる判定の結果からは選択不可であると判定した場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出す（ステップＳ２６６）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ２６７のＹＥＳ）、ステップＳ２５８へ処理を移す。
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ２６７のＮＯ）、次に、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出す（ステップＳ２６８）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ２６９のＹＥＳ）、ステップＳ２６１へ処理を移す。
【０３２９】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ２６９のＮＯ）、次に、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出す（ステップＳ２７１）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ２７２のＹＥＳ）、ステップＳ２６３へ処理を移す。
【０３３０】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ２７２のＮＯ）、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し（ステップＳ２７３）、生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ２６４）。
（可変長符号化回路２００ｇの構成）
可変長符号化回路２００ｇは、図３０に示すように、データ取得部２０１ｇ、ＬＭＡＸ判定部２０２ｇ、ＲＭＡＸ検出部２０３、第２減算出力回路２０４ｇ、第１選択回路２０５ｇ、制御回路２０６ｇ、ＶＬＣ検出部２０７、レジスタ２０８、第１減算出力回路２０９、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４、第２選択回路２１５、ＲＭＡＸ判定部２１６ｇ及びＬＭＡＸ検出部２１７から構成される。
【０３３１】
ＲＭＡＸ検出部２０３、ＶＬＣ検出部２０７、レジスタ２０８、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４及び第２選択回路２１５の構成及び動作は、実施の形態１と同一であるので、説明を省略する。また、ＬＭＡＸ検出部２１７は、実施の形態２において説明したＬＭＡＸ検出部２１７と同一である。また、第２減算出力回路２０４は、実施の携帯１の減算出力回路２０４と同一であり、第１の減算出力回路２０９は、実施の形態２の減算出力回路２０４ｂと同一であるので、ここでは改めて説明しない。
【０３３２】
（１）データ取得部２０１ｇ
データ取得部２０１ｇは、タイミング制御回路から、定期的にクロック信号を受け取る。また、制御回路２０６ｇからデータ出力指示を受け取る。
データ取得部２０１ｇは、クロック信号を検出し、データ出力指示を受け取ると、バッファ８２０から、Ｓｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値を読み出したＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値を、ＬＭＡＸ判定部２０２ｇ、ＲＭＡＸ判定部２１６ｇ、ＬＭＡＸ検出部２１７、第１減算出力回路２０９、ＲＭＡＸ検出部２０３、第２減算出力回路及びＦＬＣ生成回路２１１へ出力する。
（２）ＬＭＡＸ判定部２０２ｇ
ＬＭＡＸ判定部２０２ｇは、図３１（ａ）に示すように、ＬＭＡＸ判定回路２０２Ｇ、比較回路４０５及び固定値記憶回路４１０から構成される。  
【０３３３】
（ｉ）固定値記憶回路４１０
固定値記憶回路４１０は、閾値ｎを記憶している。閾値ｎは、０≦ｎ＜６３の所定の整数であり、撮像システムより処理される画像データの特性により決定されるものである。
閾値ｎは、可変長符号化回路２００ｇの生産時に、予め、固定値記憶回路４１０に記憶されていても良いし、出荷後に、利用者の操作により書き込まれるとしても良い。
【０３３４】
（ii）比較回路４０５
比較回路４０５は、データ取得部２０１ｇからＲｕｎ値を受け取る。Ｒｕｎ値を受け取ると、固定値記憶回路４１０から閾値ｎを読み出し、読み出した閾値ｎとＲｕｎとを比較し、比較結果をＬＭＡＸ判定回路２０２Ｇへ出力する。
（iii）ＬＭＡＸ判定回路２０２Ｇ
ＬＭＡＸ判定回路２０２Ｇは、実施の形態１のＬＭＡＸ判定回路２０２と同様にＬＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路、判定制御回路及び出力回路から構成される。ＬＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路及び出力回路は、ＬＭＡＸ判定回路２０２を構成するＬＭＡＸ検出部２３１、第１比較回路２３２、減算回路２３３、第２比較回路２３４、選択回路２３６及び出力回路２３８と同様の動作をする。
【０３３５】
判定制御回路は、比較回路４０５から閾値ｎとＲｕｎ値との比較結果を受け取る。
受け取った比較結果が、Ｒｕｎ値≦ｎであることを示していれば、実施の形態１の判定制御回路２３７と同様に、第１比較回路及び第２比較回路から受け取った比較結果を基にモード信号を生成し、生成したモード信号を選択回路及び制御回路２０６ｇへ出力する。
比較回路４０５から受け取った比較結果が、Ｒｕｎ＞ｎであることを示していれば、第１比較回路及び第２比較回路から受け取った比較結果に関わらず、モード信号「１０」を生成し、生成したモード信号「１０」を選択回路及び制御回路２０６ｇへ出力する。説明の便宜上、ＬＭＡＸ判定部２０２ｇから出力されるモード信号を第１モード信号と呼ぶ。
【０３３６】
ここで、第１モード信号「００」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであることを示しており、第１モード信号「０１」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるＬＭＡＸＶＬＣを生成することが可能なことを示しており、第１モード信号「１０」は、ＬＭＡＸ判定部２０２ｇでは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行わないため、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類は不明であることを示す。
（３）ＲＭＡＸ判定部２１６ｇ
ＲＭＡＸ判定部２１６ｇは、図３１（ｂ）に示すように、ＲＭＡＸ判定回路２１６Ｇ、比較回路４１５及び固定値記憶回路４２０から構成される。
【０３３７】
（ｉ）固定値記憶回路４２０
固定値記憶回路４１０は、閾値ｍを記憶している。閾値ｍは、０≦ｍ＜６３の所定の整数であり、撮像システムにより処理される画像データの特性により決定される値である。
閾値ｍは、可変長符号化回路２００ｇの生産時に、予め、固定値記憶回路４１０に記憶されていても良いし、出荷後に、利用者の操作により書き込まれるとしても良い。
【０３３８】
（ii）比較回路４１５
比較回路４１５は、データ取得部２０１ｇからＲｕｎ値を受け取る。Ｒｕｎ値を受け取ると、固定値記憶回路４１０から閾値ｍを読み出し、読み出した閾値ｍとＲｕｎ値とを比較し、比較結果をＲＭＡＸ判定回路２１６Ｇへ出力する。
（iii）ＲＭＡＸ判定回路２１６Ｇ
ＲＭＡＸ判定回路２１６Ｇは、実施の形態２において説明したＲＭＡＸ判定回路２１６と同様に、ＲＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路、判定制御回路及び出力回路から構成される。ＲＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路及び出力回路は、ＲＭＡＸ判定回路２１６を構成するＲＭＡＸ検出部２８１、第１比較回路２８２、減算回路２８３、第２比較回路２８４、選択回路２８６及び出力回路２８８と同様であるので説明を省略する。
【０３３９】
判定制御回路は、比較回路４１５から閾値ｍとＲｕｎ値との比較結果を受け取る。
受け取った比較結果が、Ｒｕｎ値≦ｍであることを示していれば、実施の形態２の判定制御回路２８７と同様に、第１比較回路及び第２比較回路から受け取った比較結果を基にモード信号を生成し、生成したモード信号を選択回路及び制御回路２０６ｇへ出力する。
比較回路４１５から受け取った比較結果が、Ｒｕｎ値＞ｍであることを示していれば、第１比較回路及び第２比較回路から受け取った比較結果に関わらず、モード信号「１０」を生成し、生成したモード信号「１０」を選択回路及び制御回路２０６ｇへ出力する。説明の便宜上、ＲＭＡＸ判定部２１６ｇから出力されるモード信号を第２モード信号と呼ぶ。
【０３４０】
ここで、第２モード信号「００」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであることを示しており、第２モード信号「０１」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるＲＭＡＸＶＬＣを生成することが可能であることを示しており、第１モード信号「１０」は、ＲＭＡＸ判定部２１６ｇでは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定しないため、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類は不明であることを示す。
（４）第１選択回路２０５ｇ
第１選択回路２０５ｇは、ＬＭＡＸ判定部２０２ｇから（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、ＲＭＡＸ判定部２１６ｇから（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、第１減算出力回路２０９から（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を受け取り、第２減算出力回路２０４から（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を受け取る。また、制御回路２０６ｇから、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）のうち何れを選択するかを示す選択指示を受け取る。
【０３４１】
選択指示を受け取ると、受け取った選択指示に従って、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）のうち１つを選択し、ＶＬＣ検出部２０７へ出力する。
（５）制御回路２０６ｇ
制御回路２０６ｇは、選択指示、データ出力指示を含む各種の命令を記憶している。
【０３４２】
制御回路２０６ｇは、タイミング制御回路から、定期的にクロック信号を受け取る。また、ＬＭＡＸ判定部２０２ｇから第１モード信号を受け取り、ＲＭＡＸ判定部２１６ｇから第２モード信号を受け取る。また、ＶＬＣ検出部２０７からＯＫ信号又はＶＬＣエラー信号を受け取る。
制御回路２０６ｇは、第１モード信号及び第２モード信号の組合せによって、図３２に示すような選択指示を出力する。
【０３４３】
図３２は、第１モード信号及び第２モード信号の組み合わせに対応して、制御回路２０６ｇが第１選択回路２０５ｇ及び第２選択回路２１５へ出力する選択指示内容を示している。図中の選択指示（第１選択回路）の欄の「ＬＭＡＸ」は、第１選択回路２０５ｇに出力する選択指示が、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを指示するものであることを示しており、「ＲＭＡＸ」は、第１選択回路２０５ｇに出力する選択指示が、ＲＭＡＸ判定部２１６ｇから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択することを指示するものであること示している。
【０３４４】
選択指示（第２選択回路）の欄の「Ｎ」は、第２選択回路２１５へ出力する選択指示が、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを指示するものであることを示しており、「Ｌ」は、第２選択回路２１５へ出力する選択指示が、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを指示するものであることを示しており、「Ｒ」は、第２選択回路２１５へ出力する選択指示が、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを指示するものであることを示している。
【０３４５】
以下に、制御回路２０６ｇの行う処理について、図３２に沿って説明する。
（ｉ）第１モード信号「００」、第２モード信号「００」又は「１０」の場合
第１モード信号と第２モード信号がともに「００」である場合及び第１モード信号が「００」であり第２モード信号が「１０」の場合、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を第１選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０３４６】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、第２選択回路２１５へ、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を出力する。
次に、新たなデータの出力を要求するデータ出力指示をデータ取得部２０１ｇへ出力する。
【０３４７】
（ii）第１モード信号が「０１」、第２モード信号が「０１」又は「１０」
第１モード信号が「０１」であり第２モード信号が「０１」の場合及び第１モード信号が「０１」であり第２モード信号が「１０」の場合、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を第１選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０３４８】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、第２選択回路２１５へ、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを示す選択指示を出力する。
次に、データ取得部２０１ｇへデータ出力指示を出力する。
（iii）第１モード信号が「１０」、第２モード信号が「００」
第１モード信号が「１０」であり第２モード信号が「００」の場合、制御回路２０６ｇは、ＲＭＡＸ判定部２１６ｇから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択すること示す選択指示を選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０３４９】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を第２選択回路２１５へ出力する。
次に、データ取得部２０１ｇへデータ出力指示を出力する。
（iv）第１モード信号が「１０」、第２モード信号が「０１」
第１モード信号が「１０」であり第２モード信号が「０１」の場合、制御回路２０６ｇは、ＲＭＡＸ判定部２１６ｇから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択すること示す選択指示を選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０３５０】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを示す選択指示を第１選択回路２０５ｇへ出力する。
次に、データ取得部２０１ｇへデータ出力指示を出力する。
（v）第１モード信号「１０」、第２モード信号が「１０」
第１モード信号及び第２モード信号が「１０」の場合、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を、第１選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号又は該当するＶＬＣが存在しないことを示すＶＬＣエラー信号を受け取る。
【０３５１】
ＯＫ信号を受け取った場合、制御回路２０６ｇは、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を選択回路２１５へ出力し、データ取得部２０１ｇへデータ出力指示を出力する。
ＶＬＣエラー信号を受け取った場合、以下の（v−１）において説明する第１のエスケープモードの処理を行う。
【０３５２】
（v−１）第１のエスケープモード
ＶＬＣエラー信号を受け取った場合、制御回路２０６ｇは、第１のエスケープモードによるコード生成を制御する。具体的には、制御回路２０６ｇは、第１減算出力回路２０９から出力される（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を選択することを示す選択指示を、第１選択回路２０５ｇへ出力する。
【０３５３】
次に、ＶＬＣ検出部２０７からＯＫ信号又はＶＬＣエラー信号を受け取る。ＯＫ信号を受け取り、新たなクロック信号を検出すると、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを示す選択指示を第２選択回路２１５へ出力する。次に、データ取得部２０１ｇへデータ出力指示を出力する。
ＶＬＣ検出部２０７からＶＬＣエラー信号を受け取った場合、以下の（v−２）において説明する、第２のエスケープモードによるコード生成の制御に移る。
【０３５４】
（v−２）第２のエスケープモード
上記の第１のエスケープモードにおいて、ＶＬＣエラー信号を受け取ると、制御回路２０６ｇは、第２のエスケープモードによるコード生成を制御する。具体的には、新たなクロック信号を検出すると、第２減算出力回路２０４ｇから出力される（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を選択することを示す選択指示を第１選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、ＯＫ信号又はＶＬＣエラー信号を受け取る。
【０３５５】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、制御回路２０６ｇは、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを示す選択指示を第２選択回路２１５へ出力し、データ取得部２０１ｇへデータ出力指示を出力する。
ＶＬＣエラー信号を受け取ると、以下の（v−３）において説明する第３のエスケープモードによるコード生成の制御に移る。
【０３５６】
（v−３）第３のエスケープモード
上記の第２のエスケープモードの制御において、ＶＬＣエラー信号を受け取ると、第３のエスケープモードによるコード生成を制御する。具体的には、新たなクロック信号を検出すると、第２選択回路２１５へ、ＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを示す選択指示を出力する。
【０３５７】
次に、データ取得部２０１ｇへ、データ出力指示を出力する。
（６）可変長符号化回路２００ｇの動作サイクル
可変長符号化回路２００ｇの動作サイクルについて、図３３に示すタイムチャートを用いて説明する。
この図に示すタイムチャートは、縦に可変長符号化回路２００を構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
【０３５８】
クロック信号４６１、４６２、４６３・・・４６７が、一定の時間間隔により、それぞれ、時刻Ｔ７１０、Ｔ７２０、Ｔ７３０・・・Ｔ７８０において、データ取得部２０１ｇ、制御回路２０６ｇ及びレジスタ２０８に供給される。ここで、クロック信号が供給される一定の時間間隔をクロックサイクルと呼ぶ。
図３３中の矢印は、矢印の元の指す回路でその時刻に行われる処理が、矢印の先の指す回路でその時刻に行われる処理のきっかけとなっていることを示す。
【０３５９】
データ取得部２０１ｇは、時刻Ｔ７１０において、クロック信号４６１を検出すると、バッファ８２０からＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を読み出し、読み出したＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＬＭＡＸ判定部２０２ｇ、ＲＭＡＸ判定部２１６ｇ、ＬＭＡＸ検出部２１７、第１減算出力回路２０９、ＲＭＡＸ検出部２０３、第２減算出力回路２０４ｇ及びＦＬＣ生成回路２１１へ時刻Ｔ７３０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＭと呼ぶ。また、データＭに含まれるＲｕｎ値は、Ｒｕｎ値≦ｎ、Ｒｕｎ値≦ｍであり、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードは、ＦＬＣ以外であると想定する。
【０３６０】
ＬＭＡＸ判定部２０２ｇは、時刻Ｔ７１１において、データＭに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、Ｒｕｎ値≦ｎであるので、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として第１モード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、生成した第１モード信号を制御回路２０６ｇへ、生成した（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５ｇへ、時刻Ｔ７３１まで継続して出力する。
【０３６１】
ＲＭＡＸ判定部２１６ｇは、時刻Ｔ７１１において、データＭに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、Ｒｕｎ値≦ｍであるので、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果として第２モード信号と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を生成し、生成した第２モード信号を制御回路２０６ｇへ、生成した（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５ｇへ、時刻Ｔ７３１まで継続して出力する。
【０３６２】
データＭに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードはＦＬＣ以外であることを想定しているので、ここで出力される第１モード信号、第２モード信号の少なくとも一方は「１０」以外である。
制御回路２０６ｇは、時刻Ｔ７１２において、第１モード信号及び第２モード信号を受け取り、受け取った第１モード信号及び第２モード信号に基づく選択指示を、選択回路２０５ｇへ、時刻Ｔ７３２まで出力し続ける。
【０３６３】
また、時刻Ｔ７１５において、ＬＭＡＸ検出部２１７は、データ取得部２０１ｇから、データＭのうちのＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ絶対値を受け取り、受け取ったＬａｓｔ値及びＲｕｎ値に対応するＬＭＡＸを読み出し、読み出したＬＭＡＸとＬａｓｔ値及びＲｕｎ値とを第１減算出力回路２０９へ、時刻Ｔ７３５まで出力し続ける。
第１減算出力回路２０９は、時刻Ｔ７１６に、ＬＭＡＸ検出部２１７からＬＭＡＸとＬａｓｔ値とＲｕｎ値とを受け取り、データ取得部２０１ｇからＬｅｖｅｌ絶対値を受け取り、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ−ＬＭＡＸを算出する。次に、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を、第１選択回路２０５ｇへ、時刻Ｔ７３６まで出力し続ける。
【０３６４】
また、時刻Ｔ７１７において、ＲＭＡＸ検出部２０３は、データ取得部２０１ｇから、データＭのうちのＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ絶対値を受け取り、受け取ったＬａｓｔ値及びＬｅｖｅｌ絶対値に対応するＲＭＡＸを読み出し、読み出したＲＭＡＸとＬａｓｔ値及びＬｅｖｅｌ絶対値とを第２減算出力回路２０４ｇへ、時刻Ｔ７３７まで出力し続ける。
【０３６５】
第２減算出力回路２０４ｇは、時刻Ｔ７１８に、ＲＭＡＸ検出部２０３からＲＭＡＸ、Ｌａｓｔ値及びＬｅｖｅｌ絶対値を受け取り、データ取得部２０１ｇからＲｕｎ値を受け取り、ＮｅｗＲｕｎ＝Ｒｕｎ−（ＲＭＡＸ＋１）を算出する。次に（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を、第１選択回路２０５ｇへ、時刻Ｔ７３８まで出力し続ける。
【０３６６】
第１選択回路２０５ｇは、時刻Ｔ７１３に、制御回路２０６ｇから選択指示を受け取り、受け取った選択指示に従って、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）のうちいずれかを選択して、ＶＬＣ検出部２０７へ、時刻Ｔ７３３まで出力し続ける。
【０３６７】
ＶＬＣ検出部２０７は、時刻Ｔ７１４に第１選択回路２０５ｇから（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）又は（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、対応するＶＬＣをＶＬＣテーブル２５１から読み出し、読み出したＶＬＣをレジスタ２０８へ、時刻Ｔ７３４まで出力し続ける。
【０３６８】
また、ＦＬＣ生成回路２１１は、時刻Ｔ７１９において、データ取得部２０１ｇから、データＭに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを第２選択回路２１５へ、時刻Ｔ７３９まで出力し続ける。
時刻Ｔ７２０において、レジスタ２０８は、クロック信号４６２を検出し、ＶＬＣ検出部２０７からＶＬＣを受け取り、受け取ったＶＬＣを一時的に記憶する。記憶したＶＬＣを、ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ７７０まで継続して出力する。
【０３６９】
時刻Ｔ７２２において、ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、レジスタ２０８からＶＬＣを受け取り、受け取ったＶＬＣを用いて、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを生成する。生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ及びＲＭＡＸＶＬＣを、選択回路２１５へ、時刻Ｔ７７２まで出力し続ける。
【０３７０】
第２選択回路２１５へ選択指示を出力すると、時刻Ｔ７２１から時刻Ｔ７４１までの間、データ取得部２０１ｇへ、データ出力指示を出力し続ける。
制御回路２０６ｇは、時刻Ｔ７２０において、クロック信号４６２を検出し、第１モード信号及び第２モード信号に基づく選択指示を第２選択回路２１５へ、時刻Ｔ７７０まで出力し続ける。
【０３７１】
第２選択回路２１５は、時刻Ｔ７２３において、制御回路２０６ｇから、選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ及びＦＬＣのうち何れか１つを選択し、時刻Ｔ７７３までバッファ８２５へ出力し続ける。
時刻Ｔ７３０において、データ取得部２０１ｇは、クロック信号４６３を検出し、制御回路２０６ｇからデータ出力指示を受け取る。データ出力指示を受け取ると、バッファ８２０から、次のＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値を読み出し、読み出したＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値を時刻Ｔ７８０まで出力し続ける。ここで、出力されるＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値を総称してデータＮと呼ぶ。データＮに含まれるＲｕｎ値は閾値ｎ及び閾値ｍより大きく、データＮに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードの種類はＲＭＡＸＶＬＣであると想定する。
【０３７２】
ＬＭＡＸ判定部２０２ｇは、時刻Ｔ７３１において、データＮに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、Ｒｕｎ値＞ｎであるので、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定は行わず、Ｌｅｖｅｌ絶対値を選択後Ｌｅｖｅｌとして、第１モード信号「１０」と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、生成した第１モード信号「１０」を制御回路２０６ｇへ、生成した（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５ｇへ、時刻Ｔ７８１まで継続して出力する。
【０３７３】
ＲＭＡＸ判定部２１６ｇは、時刻Ｔ７３１において、データＮに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、Ｒｕｎ値＞ｍであるので、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行わず、受け取ったＲｕｎ値を選択後Ｒｕｎとして、第２モード信号「１０」と（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を生成し、生成した第２モード信号を制御回路２０６ｇへ、生成した（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５ｇへ、時刻Ｔ７８１まで継続して出力する。
【０３７４】
制御回路２０６ｇは、時刻Ｔ７３２において、第１モード信号「１０」及び第２モード信号「１０」を受け取り、受け取った第１モード信号及び第２モード信号に基づいて、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を、選択回路２０５ｇへ、時刻Ｔ７５０まで出力し続ける。
また、時刻Ｔ７３５において、ＬＭＡＸ検出部２１７は、データ取得部２０１ｇから、データＮのうちのＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ絶対値を受け取り、受け取ったＬａｓｔ値及びＲｕｎ値に対応するＬＭＡＸを読み出し、読み出したＬＭＡＸとＬａｓｔ値及びＲｕｎ値を第１減算出力回路２０９へ、時刻Ｔ７８５まで出力し続ける。
【０３７５】
第１減算出力回路２０９は、時刻Ｔ７３６に、ＬＭＡＸ検出部２１７からＬＭＡＸとＬａｓｔ値及びＲｕｎ値を受け取り、データ取得部２０１ｇからＬｅｖｅｌ絶対値を受け取り、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ−ＬＭＡＸを算出する。次に（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を、第１選択回路２０５ｇへ、時刻Ｔ７８６まで出力し続ける。
時刻Ｔ７３７において、ＲＭＡＸ検出部２０３は、データ取得部２０１ｇから、データＮのうちのＬａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ絶対値を受け取り、受け取ったＬａｓｔ値及びＬｅｖｅｌ絶対値に対応するＲＭＡＸを読み出し、読み出したＲＭＡＸとＬａｓｔ値及びＬｅｖｅｌ絶対値とを第２減算出力回路２０４ｇへ、時刻Ｔ７８７まで出力し続ける。
【０３７６】
第２減算出力回路２０４ｇは、時刻Ｔ７３８に、ＲＭＡＸ検出部２０３からＲＭＡＸとＬａｓｔ値及びＬｅｖｅｌ絶対値を受け取り、データ取得部２０１ｇからＲｕｎ値を受け取り、ＮｅｗＲｕｎ＝Ｒｕｎ−（ＲＭＡＸ＋１）を算出する。次に（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を、第１選択回路２０５へ、時刻Ｔ７８８まで出力し続ける。
第１選択回路２０５ｇは、時刻Ｔ７３３に、制御回路２０６ｇから選択指示を受け取り、受け取った選択指示に従って、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）、（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）のうち（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択して、ＶＬＣ検出部２０７へ、時刻Ｔ７５１まで出力し続ける。
【０３７７】
ＶＬＣ検出部２０７は、時刻Ｔ７３４に第１選択回路２０５ｇから（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブル２５１から読み出す。上述したデータＮの条件により、ここでは該当するＶＬＣは、ＶＬＣテーブル２５１上に存在しない。従って、ＶＬＣ検出部２０７は、ＬＶＣエラー信号を、制御回路２０６ｇ及びレジスタ２０８へ、時刻Ｔ７５２まで出力し続ける。
【０３７８】
また、ＦＬＣ生成回路２１１は、時刻Ｔ７３９において、データ取得部２０１ｇから、データＮに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを第２選択回路２１５へ、時刻Ｔ７８９まで出力し続ける。
制御回路２０６ｇは、時刻Ｔ７５０において、クロック信号４６４を検出し、ＶＬＣ検出部２０７からＶＬＣエラー信号を受け取る。クロック信号４６４及びＶＬＣエラー信号を受け取ると、第１選択回路２０５ｇへ、第１減算出力回路２０９の出力する（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を示す選択指示を、第１選択回路２０５ｇへ、時刻Ｔ７６０まで出力し続ける。
【０３７９】
第１選択回路２０５は、時刻Ｔ７５１において、制御回路２０６ｇから、選択指示を受け取り、受け取った選択指示に従って第１減算出力回路２０９から出力される（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）をＶＬＣ検出部２０７へ、時刻Ｔ７６１まで継続して出力する。
ＶＬＣ検出部２０７は、時刻Ｔ７５２に、第１選択回路２０５ｇから（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣをＶＬＣテーブルから読み出す。上述したデータＮの条件により、このとき、該当するＶＬＣはＶＬＣテーブル２５１上に存在しないので、ＶＬＣエラー信号を制御回路２０６ｇとレジスタ２０８へ、時刻Ｔ７６２まで出力し続ける。
【０３８０】
制御回路２０６ｇは、時刻Ｔ７６０において、クロック信号４６５を検出し、ＶＬＣ検出部２０７からＶＬＣエラー信号を受け取る。クロック信号４６５及びＶＬＣエラー信号を検出すると、第１選択回路２０５ｇへ、第２減算出力回路２０４ｇの出力する（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を示す選択指示を、第１選択回路２０５ｇへ、時刻Ｔ７８２まで出力し続ける。
【０３８１】
時刻Ｔ７６１において、第１選択回路２０５ｇは、制御回路２０６ｇから、選択指示を受け取り、受け取った選択指示に従って、第２減算出力回路２０４ｇから出力される（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を、ＶＬＣ検出部２０７へ、時刻Ｔ７８３まで出力し続ける。
ＶＬＣ検出部２０７は、時刻Ｔ７６２に、第１選択回路２０５ｇから（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を受け取り，受け取った（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブル２５１から読み出し、読み出したＶＬＣをレジスタ２０８へ、正常にＶＬＣを読み出したことを示すＯＫ信号を制御回路２０６ｇへ、時刻Ｔ７８４まで出力し続ける。
【０３８２】
レジスタ２０８は、時刻Ｔ７７０において、クロック信号４６６を検出し、ＶＬＣ検出部２０７から、ＶＬＣを受け取り、一時的に記憶する。次に、記憶したＶＬＣを、ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、継続して出力する。
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ７７２にレジスタ２０８からＶＬＣを受け取り、受け取ったＶＬＣを基に、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ及びＲＭＡＸＶＬＣを生成し、新たにＶＬＣを受け取るまで、生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ及びＲＭＡＸＶＬＣを、第２選択回路２１５に、継続して出力する。
【０３８３】
制御回路２０６ｇは、時刻Ｔ７７０において、クロック信号４６６を検出し、ＶＬＣ検出部２０７からＯＫ信号を受け取る。次に、第２選択回路２１５へ、ＲＭＡＸＶＬＣ生成回路２１２を示す選択指示を、継続して出力する。第２選択回路２１５へ選択指示を出力すると、新たなデータの出力を要求するデータ出力指示を、時刻Ｔ７７１から時刻Ｔ７９１まで、データ取得部２０１ｇへ出力する。
【０３８４】
データ取得部２０１ｇは、時刻Ｔ７８０にクロック信号４６７を検出し、データ出力指示を受け取る。データ出力指示を受け取ると、バッファ８２０から、新たなＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を読み出し、出力を開始する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＰと呼ぶ。
【０３８５】
データＰに含まれるＲｕｎ値が、Ｒｕｎ値≦ｎ又はＲｕｎ値≦ｍを満たしており、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがＦＬＣ以外であれば、可変長符号化回路２００ｇは、データＰについても、データＮと同様の処理を行い、２クロックサイクルでコードを生成し、出力する。
また、データＰに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがＦＬＣの場合、又は、Ｒｕｎ値＞ｎかつＲｕｎ値＞ｍである場合は、データＮと同様に、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に該当するＶＬＣを順次検索し、２〜４クロックサイクルでコードを生成する。
６．４まとめ
以上、説明したように、本発明の撮像装置の記憶転送系において、信号生成部８１０は、１クロック信号につき、１個のＤＣＴ係数を受け取り続ける。受け取ったＤＣＴ係数の値が「０」であれば、値が「０」であるＤＣＴ係数の連続する個数を計数し、受け取ったＤＣＴ係数が「０」以外であれば、Ｓｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値を生成し、生成したＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値をバッファ８２０に書き込む。
【０３８６】
可変長符号化回路２００ｇのデータ取得部２０１ｇは、バッファ８２０からＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値を一組ずつ読み出し、可変長符号化回路２００ｇ内の各部へ出力する。
可変長符号化回路２００ｇは、閾値ｎ及び閾値ｍを記憶しており、Ｒｕｎ値がＲｕｎ値≦ｎ又はＲｕｎ値≦ｍであれば、データ取得部２０１ｇから出力された（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果を基に、２クロックサイクルでコードを生成し、出力する。
【０３８７】
Ｒｕｎ値＞ｎかつＲｕｎ値＞ｍの場合、コードの種類の判定は行わず、従来行われていたように、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し、該当するＶＬＣが存在すれば、読み出したＶＬＣを基にノーマルＶＬＣを生成して出力する。該当するＶＬＣが存在しなければ、第１〜３のエスケープモードによるコード生成を順次試みる。従って、この場合、コード生成には、最短で２クロックサイクル、最長で４クロックサイクルの時間を要する。
【０３８８】
Ｒｕｎ値は、値が「０」のＤＣＴ係数が連続する数であるため、一組のＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値の生成に要する時間は、Ｒｕｎ値の大きさが大きくなると、長くなる。
上記の構成にすることで、可変長符号化回路２００ｇが、コードの生成に要する時間は、Ｒｕｎ値が閾値ｎ及び閾値ｍよりも大きい場合には、平均すると長くなり、Ｒｕｎ値が小さい閾値ｎ又は閾値ｍ場合は短くなる。従って、閾値ｎ及びｍを適切に設定すれば、信号生成部８１０での、データ生成に要する時間と、可変長符号化回路２００ｇのコード生成に要する時間との整合を計ることができる。
【０３８９】
また、ＬＭＡＸ判定部２０２ｇは、Ｒｕｎ値が閾値ｎ以下の場合のみ、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てる符号の種類の判定を行う。よって、ＬＭＡＸ判定回路２０２Ｇ内のＬＭＡＸ検出部は、ＬＭＡＸテーブル２６１のうち、Ｒｕｎが閾値ｍ以下であるＬＭＡＸ情報のみを記憶していれば良い。従って、ＬＭＡＸ検出回路の回路規模を縮小することができる。
６．５  実施の形態６の変形例
上記において説明したように、可変長符号化回路２００ｇは、ＬＭＡＸ判定部２０２ｇ及びＲＭＡＸ判定部２１６ｇにおいて、Ｒｕｎ値と閾値ｎ及びｍとの比較を行う。
【０３９０】
Ｒｕｎ値＞ｎであれば、ＬＭＡＸ判定部２０２ｇは、無条件に第１モード信号「１０」を出力する。Ｒｕｎ値≦ｎであっても、ＬＭＡＸ判定回路２０２Ｇ内の第１比較回路により出力される比較結果がＬＭＡＸ＜Ｌｅｖｅｌ絶対値であり、第２比較回路から出力される比較結果がＬＭＡＸ＜ＮｅｗＬｅｖｅｌの場合にも第１モード信号「１０」を出力するとしているが、Ｒｕｎ値＞ｎの場合には、第１モード信号「１１」を出力するとしても良い。
【０３９１】
ここで、第１モード信号「１０」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣ及びＬＭＡＸＶＬＣではないことを示しており、第１モード信号「１１」は、ＬＭＡＸ判定部２０２ｇでは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行わないため、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類は不明であることを示す。
【０３９２】
また、ＲＭＡＸ判定部２１６ｇは、Ｒｕｎ値＞ｍであれば、無条件に第２モード信号「１０」を出力する。Ｒｕｎ値≦ｍであっても、ＲＭＡＸ判定回路２１６Ｇ内の第１比較回路により出力される比較結果がＲＭＡＸ＜Ｒｕｎ値であり、第２比較回路から出力される比較結果がＲＭＡＸ＜ＮｅｗＲｕｎの場合にも第１モード信号「１０」を出力するとしているが、Ｒｕｎ値＞ｍの場合、第２モード信号「１１」を出力するとしてもよい。
【０３９３】
ここで、第２モード信号「１０」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣ及びＲＭＡＸＶＬＣではないことを示しており、第２モード信号「１１」は、ＲＭＡＸ判定部２１６ｇでは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定しないため、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類は不明であることを示す。
（１）制御回路２０６ｇ
この構成の場合、第１モード信号及び第２モード信号を受け取った制御回路２０６ｇは、図３４に示すような選択指示を第１選択回路２０５ｇ及び第２選択回路２１５へ出力する。
【０３９４】
図３４は、第１モード信号と第２モード信号の組み合わせと、制御回路２０６ｇが、第１選択回路２０５ｇ及び第２選択回路２１５へ出力する選択指示の内容を対応付けて示している。選択指示（第１選択回路）の欄の「ＬＭＡＸ」は、第１選択回路２０５ｇに出力する選択指示が、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを指示するものであることを示しており、「ＲＭＡＸ」は、第１選択回路２０５ｇに出力する選択指示が、ＲＭＡＸ判定部２１６ｇから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択することを指示するものであること示している。
【０３９５】
選択指示（第２選択回路）の欄の「Ｎ」は、第２選択回路２１５へ出力する選択指示が、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを指示するものであることを示しており、「Ｌ」は、第２選択回路２１５へ出力する選択指示が、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを指示するものであることを示しており、「Ｒ」は、第２選択回路２１５へ出力する選択指示が、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを指示するものであり、「Ｆ」は、第２選択回路２１５へ出力する選択指示が、ＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを指示するものであることを示している。
【０３９６】
なお、ＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６の構成により、第１モード信号が「００」のとき、第２モード信号が「０１」及び「１０」になることはない。第１モード信号が「０１」のとき、第２モード信号が「００」になることはあり得ない。第１モード信号が「１０」のとき、第２モード信号が「００」になることはあり得ない。
【０３９７】
以下に、図３４を用いて、制御回路２０６ｇの動作について、説明する。
（i）第１モード信号が「００」であり、第２モード信号が「００」又は「１１」の場合、制御回路２０６ｇは、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を第１選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０３９８】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、第２選択回路２１５へ、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を出力する。
次に、新たなデータの出力を要求するデータ出力指示をデータ取得部２０１ｇへ出力する。
【０３９９】
（ii）第１モード信号が「０１」の場合、第２モード信号が「０１」、「１０」又は「１１」の場合、制御回路２０６ｇは、ＬＭＡＸ判定部２０２ｇから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を第１選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０４００】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、第２選択回路２１５へ、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを示す選択指示を出力する。
次に、データ取得部２０１ｇへデータ出力指示を出力する。
（iii）第１モード信号が「１０」又は「１１」であり、第２モード信号が「０１」の場合、制御回路２０６ｇは、ＲＭＡＸ判定部２１６ｇから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択すること示す選択指示を選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０４０１】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、ＲＭＡＸＶＬＣ生成回路２１２から出力されるＲＭＡＸＶＬＣを選択することを示す選択指示を第１選択回路２０５ｇへ出力する。
次に、データ取得部２０１ｇへデータ出力指示を出力する。
（iv）第１モード信号及び第２モード信号がともに「１０」である場合、制御回路２０６ｇは、第１選択回路２０５ｇへ選択指示を出力しない。次にタイミング制御回路から新たなクロック信号を受け取る。新たなクロック信号を受け取ると、第２選択回路２１５へ、ＦＬＣ生成回路２１１から出力されるＦＬＣを選択することを示す選択指示を出力する。次に、データ取得部２０１ｇへ、データ出力指示を出力する。
【０４０２】
（v）第１モード信号が「１０」であり、第２モード信号が「１１」の場合、第１モード信号が「１１」であり、第２モード信号が「１０」又は「１１」の場合、制御回路２０６ｇは、上記の６．３の（３）の（v）と同様の処理を行う。
（vi）第１モード信号が「１１」であり、第２モード信号が「００」の場合、
制御回路２０６ｇは、ＲＭＡＸ判定部２１６ｇから出力される（Ｌａｓｔ，選択後Ｒｕｎ，Ｌｅｖｅｌ絶対値）を選択すること示す選択指示を選択回路２０５ｇへ出力する。次に、ＶＬＣ検出部２０７から、正常にＶＬＣを読み出したことを示すＯＫ信号を受け取る。
【０４０３】
ＯＫ信号を受け取り、新たなクロック信号を検出すると、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を第２選択回路２１５へ出力する。
次に、データ取得部２０１ｇへデータ出力指示を出力する。
（２）まとめ
上記のような構成によると、Ｒｕｎ値≦ｎ又はＲｕｎ値≦ｍの場合は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードが、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣのうち何れであるかを判断し、２クロックサイクルでコードを生成する。つまり、実施の形態６の場合と異なり、この変形例では、Ｒｕｎ値≦ｎ又はＲｕｎ値≦ｍであれば（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＦＬＣの場合にも、２クロックサイクルでコードを生成する。
【０４０４】
従って、Ｒｕｎ値が閾値ｎ及びｍより大きい場合のみコード生成に要する時間を長くすることになり、信号生成部８１０によるデータ生成に要する時間と可変長符号化回路２００ｇによるコード生成に要する時間との整合をより正確に、計る事ができる。
また、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードがＦＬＣと判断できる場合には、第１選択回路２０５ｇへの選択指示を出力せず、第２選択回路２１５へ、ＦＬＣを選択することを指示する。従って、この場合に、コード生成に要する時間を短縮すると供に、電力消費を削減することもできる。
７．実施の形態７
本発明の実施の形態７の撮像システムについて説明する。
【０４０５】
本発明の撮像システムは、実施の形態１の撮像システム１００と同様に、光学系、センサー、変換回路、画像処理回路、記録転送系、再生系、タイミング制御回路及びシステム制御回路から構成される。記録転送系に含まれる可変長符号化回路以外は実施の形態６と同様であるので、ここでは、本実施の形態の特徴である可変長符号化回路についてのみ説明する。
７．１可変長符号化回路
可変長符号化回路は、実施の形態６において説明した閾値ｎ及び閾値ｍに加えて、Ｌｅｖｅｌ絶対値に関する閾値Ｋを記憶している。Ｌｅｖｅｌ絶対値が閾値Ｋを超える場合には、閾値ｎ及びｍとＲｕｎ値の比較、コードの種類の判定を省略し、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。このような可変長符号化回路のコード生成の動作及びこの機能を実現する構成について、以下に説明する。
（可変長符号化回路の動作）
本実施の形態における可変長符号化回路の動作について、図３５のフローチャートを用いて説明する。
【０４０６】
可変長符号化回路は、可変長符号化回路を構成する各部へ（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を出力し、コードの生成を開始する（ステップＳ２８１）。可変長符号化回路は、ＬＭＡＸ判定部（後述する）おいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行い（ステップＳ２８２）、ステップＳ２８２と並行して、ＲＭＡＸ判定部（後述する）において、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行う（ステップＳ２９１）。
【０４０７】
ステップＳ２８２において、先ず、Ｌｅｖｅｌ絶対値と閾値Ｋとを比較することにより、ステップＳ２８４以降の処理を省略し、ＦＬＣの生成に移るか否かを判定する（ステップＳ２８３）。Ｌｅｖｅｌ絶対値＞Ｋであれば（ステップＳ２８３のＮＯ）、ＬＭＡＸ判定部によるコードの種類の判定を中断し、ＲＭＡＸ判定部による判定の結果に関わらず、ステップＳ３１３へ処理を移す。Ｌｅｖｅｌ絶対値≦Ｋであれば（ステップＳ２８３のＹＥＳ）、続いて、Ｒｕｎ値と閾値ｎとを比較することによりＬＭＡＸ判定部によるコードの判定を行うか否かを判断し（ステップＳ２８４）、Ｒｕｎ値＞ｎであれば（ステップＳ２８４のＮＯ）、ＬＭＡＸ判定部によるコードの種類の判定を行わない。Ｒｕｎ値≦ｎであれば（ステップＳ２８４のＹＥＳ）、次に、ＬＭＡＸとＬｅｖｅｌ絶対値とを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定する（ステップＳ２８６）。ノーマルＶＬＣでないと判定すると（ステップＳ２８６のＮＯ）、さらに、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し（ステップＳ２８７）、算出したＮｅｗＬｅｖｅｌとＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＬＭＡＸＶＬＣを割り当てることが可能か否かを判定する（ステップＳ２８８）。
【０４０８】
ステップＳ２９１においては、まず、Ｒｕｎ値と閾値ｍとを比較し、ＲＭＡＸ判定部において、コードの種類の判定を行うか否かを決定する（ステップＳ２９２）。Ｒｕｎ値＞ｍであれば、判定を行わない。
Ｒｕｎ値≦ｍであれば、続いて、Ｒｕｎ値とＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定する（ステップＳ２９３）。ノーマルＶＬＣでないと判定すると（ステップＳ２９３のＮＯ）、さらに、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ２９４）、算出したＮｅｗＲｕｎとＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＲＭＡＸＶＬＣを割り当てることが可能か否かを判定する（ステップＳ２９６）。
【０４０９】
ステップＳ２８３において、Ｌｅｖｅｌ絶対値＞Ｋでなければ、次に、ステップＳ２８２及びステップＳ２９１による判定に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を選択する（ステップＳ２９８）。
ノーマルＶＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ２９９）、読み出したＶＬＣを基にノーマルＶＬＣを生成し（ステップＳ３００）、生成したノーマルＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ３１４）。
【０４１０】
ＬＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出し（ステップＳ３０１）、読み出したＶＬＣを基にＬＭＡＸＶＬＣを生成し（ステップＳ３０２）、生成したＬＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ３１４）。
ＲＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ３０３）、読み出したＶＬＣを基にＲＭＡＸＶＬＣを生成し（ステップＳ３０４）、生成したＲＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ３１４）。
【０４１１】
Ｒｕｎ値＞ｎ及びＲｕｎ値＞ｍであり、ＬＭＡＸ判定部及びＲＭＡＸ判定部による判定が行われず、選択不可である場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出す（ステップＳ３０６）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ３０７のＹＥＳ）、ステップＳ３００へ処理を移す。
【０４１２】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ３０７のＮＯ）、次に、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出す（ステップＳ３０８）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ３０９のＹＥＳ）、ステップＳ３０２へ処理を移す。
【０４１３】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ３０９のＮＯ）、次に、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出す（ステップＳ３１０）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ３１２のＹＥＳ）、ステップＳ３０４へ処理を移す。
【０４１４】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ３１２のＮＯ）、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し（ステップＳ３１３）、生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ３１４）。
（可変長符号化回路の構成）
可変長符号化回路は実施の形態６と同様に、データ取得部、ＬＭＡＸ判定部、ＲＭＡＸ検出部、第２減算出力回路、第１選択回路、制御回路、ＶＬＣ検出部、レジスタ、第１減算出力回路、ＦＬＣ生成回路、ＲＭＡＸＶＬＣ生成回路、ＬＭＡＸＶＬＣ生成回路、ノーマルＶＬＣ生成回路、第２選択回路、ＲＭＡＸ判定部及びＬＭＡＸ検出部から構成される。
【０４１５】
データ取得部、ＬＭＡＸ判定部、ＲＭＡＸ検出部、第２減算出力回路、第１選択回路、制御回路、ＶＬＣ検出部、レジスタ、第１減算出力回路、ＦＬＣ生成回路、ＲＭＡＸＶＬＣ生成回路、ＬＭＡＸＶＬＣ生成回路、ノーマルＶＬＣ生成回路、第２選択回路及びＲＭＡＸ判定部の構成及び動作については、実施の形態６のデータ取得部２０１ｇ、ＬＭＡＸ判定部２０２ｇ、ＲＭＡＸ検出部２０３、第２減算出力回路２０４ｇ、第１選択回路２０５ｇ、ＶＬＣ検出部２０７、レジスタ２０８、第１減算出力回路２０９、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３、ノーマルＶＬＣ生成回路２１４、第２選択回路２１５及びＲＭＡＸ判定部２１６ｇと同様であるので説明を省略し、本実施の形態の特徴である制御回路及びＬＭＡＸ検出部についてのみ説明する。
（１）ＬＭＡＸ判定部
ＬＭＡＸ判定部は、実施の形態６のＬＭＡＸ判定部２０２ｇと同様にＬＭＡＸ判定回路、固定値記憶回路及び比較回路から構成される。
【０４１６】
（i）固定値記憶回路
固定値記憶回路は、閾値ｎと閾値Ｋとを記憶している。閾値Ｋは、０＜Ｋ＜２５６の範囲の整数値である。
閾値ｎは、実施の形態６において説明した通りである。
（ii）比較回路
比較回路は、データ取得部からＬｅｖｅｌ絶対値と、Ｒｕｎ値とを受け取る。
【０４１７】
Ｌｅｖｅｌ絶対値と、Ｒｕｎ値とを受け取ると、固定値記憶回路から閾値ｎ及び閾値Ｋを読み出し、Ｒｕｎ値と閾値ｎとを比較し、Ｌｅｖｅｌ絶対値と閾値Ｋとを比較し、それぞれの比較結果をＬＭＡＸ判定回路へ出力する。
（iii）ＬＭＡＸ判定回路
ＬＭＡＸ判定回路は、実施の形態１において説明したＬＭＡＸ判定回路２０２と同様に、ＬＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路、判定制御回路及び出力回路から構成される。
【０４１８】
判定制御回路は、比較回路からＲｕｎ値と閾値ｎとの比較結果及びＬｅｖｅｌ絶対値と閾値Ｋとの比較結果を受け取る。また、第１比較回路からＬＭＡＸとＬｅｖｅｌ絶対値との比較結果、第２比較回路からＬＭＡＸとＮｅｗＬｅｖｅｌとの比較結果を受け取る。
受け取ったＬｅｖｅｌ絶対値と閾値Ｋとの比較結果が、Ｌｅｖｅｌ絶対値＞Ｋであることを示している場合、判定制御回路は、比較回路から受け取ったＲｕｎ値と閾値ｎとの比較結果、ＬＭＡＸ判定回路内の第１比較回路及び第２比較回路から受け取った比較結果に関わらず、モード信号「１１」を生成する。生成したモード信号「１１」を、制御回路及びＬＭＡＸ判定回路内の選択回路へ出力する。
【０４１９】
Ｌｅｖｅｌ絶対値と閾値Ｋとの比較結果がＬｅｖｅｌ絶対値≦Ｋであることを示している場合、実施の形態６と同様にして、Ｒｕｎ値と閾値ｎとの比較結果、ＬＭＡＸ判定回路内の第１比較回路及び第２比較回路から出力される比較結果を基に、モード信号「００」、「０１」又は「１０」を生成し、生成したモード信号を制御回路及びＬＭＡＸ判定回路内の選択回路へ出力する。
【０４２０】
選択回路は、データ取得部からＬｅｖｅｌ絶対値信号を受け取り、減算回路からＮｅｗＬｅｖｅｌを受け取る。また、判定制御回路からモード信号を受け取る。
受け取ったモード信号が「００」、「１０」又は「１１」であれば、データ取得部から受け取ったＬｅｖｅｌ絶対値信号を、選択後Ｌｅｖｅｌとして、出力回路へ、出力する。受け取ったモード信号が「０１」であれば、減算回路から受け取ったＮｅｗＬｅｖｅｌを選択後Ｌｅｖｅｌとして、出力回路へ出力する。
【０４２１】
説明の便宜上、ＬＭＡＸ判定部から出力されるモード信号を第１モード信号、ＲＭＡＸ判定部から出力されるモード信号を第２モード信号と呼ぶ。
ここで、第１モード信号「００」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであることを示しており、第１モード信号「０１」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＬＭＡＸＶＬＣを割り当てることが可能なことを示しており、第１モード信号「１０」は、ＬＭＡＸ判定部２０２ｇでは、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行わないため、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類は不明であることを示し、第１モード信号「１１」は、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＦＬＣを割り当てることを指示するものであ。
（２）制御回路
制御回路は、一定時間間隔でタイミング選択回路からクロック信号を受け取る。また、ＬＭＡＸ判定部から第１モード信号を受け取り、ＲＭＡＸ判定部から第２モード信号を受け取る。
【０４２２】
受け取った第１モード信号が「１１」であれば、制御回路は、第２モード信号にかかわらず、第２選択回路へ、ＦＬＣ生成回路から出力されるＦＬＣを選択することを示す選択指示を出力する。第２選択回路への選択指示を出力すると、次に、データ取得部へ、新たなデータを要求するデータ出力指示を出力する。
第１モード信号が「１１」でなければ、実施の形態６と同様にして、第１モード信号と第２モード信号の組合せによる選択指示を第１選択回路及び第２選択回路へ出力する。このときの、制御回路の具体的な動作は、実施の形態６の制御回路２０６ｇと同様であるので説明を省略する。
７．２  まとめ
以上、説明したように、本実施の形態の可変長符号化回路は、閾値Ｋを記憶しており、データ取得部から出力されたＬｅｖｅｌ絶対値が閾値Ｋより大きい場合、無条件に、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）から生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして選択し、出力する。
【０４２３】
図４に示すＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６より、ＶＬＣテーブルに定義されているＬｅｖｅｌ絶対値の最大値は「２７」であり、「２７」より大きいＬｅｖｅｌ絶対値に対応する、ＲＭＡＸはＲＭＡＸテーブル２６６に定義されていない。従って、Ｌｅｖｅｌ絶対値が「５４」より大きくなると必然的に、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードはＦＬＣになる。
【０４２４】
閾値Ｋを５４より大きい値に設定すると、必然的にＦＬＣを割り当てられる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）について、ＬＭＡＸ判定部及によるコードの種類の判定、ＶＬＣ検出部による（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）及び（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣの読み出しを行うことなく、迅速にコードを生成し、出力することができる。また、これにより、化変長符号化装置の消費電力を削減することができる。
８．  実施の形態８
本発明の実施の形態８の撮像システムについて以下に説明する。
【０４２５】
本発明の撮像システムにおいて、記録転送系に含まれる可変長符号化回路以外の構成及び動作は、実施の形態７と同様であるので、説明を省略し、ここでは本実施の形態の特徴である可変長符号化回路についてのみ説明する。
８．１可変長符号化回路
可変長符号化回路は、実施の形態７において説明した閾値ｎ、閾値ｍ及び閾値Ｋに加えて、Ｒｕｎ値に関する閾値Ｌを記憶している。Ｒｕｎ値が閾値Ｋを超える場合には、閾値ｎ及びｍとＲｕｎ値の比較、コードの種類の判定を省略し、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する。このような可変長符号化回路のコード生成の動作及びこの機能を実現する構成について、以下に説明する。
（可変長符号化回路の動作）
可変長符号化回路の動作について、図３６のフローチャートを用いて説明する。
【０４２６】
可変長符号化回路は、可変長符号化回路を構成する各部へ（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を出力し、コードの生成を開始する（ステップＳ３２１）。可変長符号化回路は、ＬＭＡＸ判定部おいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行い（ステップＳ３２２）、ステップＳ２８２と並行して、ＲＭＡＸ判定部において、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類の判定を行う（ステップＳ３３１）。
【０４２７】
ステップＳ３２２において、先ず、Ｌｅｖｅｌ絶対値と閾値Ｋとを比較することにより、ステップＳ３２６以降の処理を省略し、ＦＬＣの生成に移るか否かを判定する（ステップＳ３２４）。Ｌｅｖｅｌ絶対値＞Ｋであれば（ステップＳ３２４のＮＯ）、ＬＭＡＸ判定部によるコードの種類の判定を中断し、ＲＭＡＸ判定部による判定の結果に関わらず、ステップＳ３５６へ処理を移す。Ｌｅｖｅｌ絶対値≦Ｋであれば（ステップＳ３２４のＹＥＳ）、続いて、Ｒｕｎ値と閾値ｎとを比較することによりＬＭＡＸ判定部によるコードの判定を行うか否かを判断し（ステップＳ３２６）、Ｒｕｎ値＞ｎであれば（ステップＳ３２６のＮＯ）、ＬＭＡＸ判定部によるコードの種類の判定を行わない。Ｒｕｎ値≦ｎであれば（ステップＳ３２６のＹＥＳ）、次に、ＬＭＡＸとＬｅｖｅｌ絶対値とを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定する（ステップＳ３２７）。ノーマルＶＬＣでないと判定すると（ステップＳ３２７のＮＯ）、さらに、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し（ステップＳ３２８）、算出したＮｅｗＬｅｖｅｌとＬＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＬＭＡＸＶＬＣを割り当てることが可能か否かを判定する（ステップＳ３２９）。
【０４２８】
ステップＳ３３１においては、まず、Ｒｕｎ値と閾値Ｌとを比較することにより、ＲＭＡＸ判定部におけるコードの種類の判定を中断し、ＦＬＣの生成に移るか否かを決定する（ステップＳ３３３）。Ｒｕｎ値＞Ｌであれば（ステップＳ３３３のＮＯ）、ステップＳ３３４以下のコードの種類の判定を中断し、ＬＭＡＸ判定部による判定の結果に関わらず、ステップＳ３５６へ処理を移す。
【０４２９】
Ｒｕｎ値≦Ｌであれば（ステップＳ３３３のＹＥＳ）、Ｒｕｎ値と閾値ｍとを比較し、ＲＭＡＸ判定部において、コードの種類の判定を行うか否かを決定する（ステップＳ３３４）。Ｒｕｎ値＞ｍであれば、判定を行わない。
Ｒｕｎ値≦ｍであれば、続いて、Ｒｕｎ値とＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定する（ステップＳ３３６）。ノーマルＶＬＣでないと判定すると（ステップＳ３３６のＮＯ）、さらに、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し（ステップＳ３３７）、算出したＮｅｗＲｕｎとＲＭＡＸとを比較することにより、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）にＲＭＡＸＶＬＣを割り当てることが可能か否かを判定する（ステップＳ３３８）。
【０４３０】
ステップＳ３２４において、Ｌｅｖｅｌ絶対値≦Ｋあり、かつ、ステップＳ３３３において、Ｒｕｎ値≦Ｌであれば、次に、ステップＳ２８２及びステップＳ２９１による判定に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を選択する（ステップＳ３３９）。
ノーマルＶＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ３４１）、読み出したＶＬＣを基にノーマルＶＬＣを生成し（ステップＳ３４２）、生成したノーマルＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ３５７）。
【０４３１】
ＬＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出し（ステップＳ３４３）、読み出したＶＬＣを基にＬＭＡＸＶＬＣを生成し（ステップＳ３４４）、生成したＬＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ３５７）。
ＲＭＡＸＶＬＣを選択した場合、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出し（ステップＳ３４５）、読み出したＶＬＣを基にＲＭＡＸＶＬＣを生成し（ステップＳ３４６）、生成したＲＭＡＸＶＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対して割り当てるコードとして出力する（ステップＳ３５７）。
【０４３２】
Ｒｕｎ値＞ｎ及びＲｕｎ値＞ｍであり、ＬＭＡＸ判定部及びＲＭＡＸ判定部による判定が行われず、選択不可である場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣをＶＬＣテーブルから読み出す（ステップＳ３４８）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ３４９のＹＥＳ）、ステップＳ３４２へ処理を移す。
【０４３３】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ３４９のＮＯ）、次に、ＮｅｗＬｅｖｅｌ＝Ｌｅｖｅｌ絶対値−ＬＭＡＸを算出し、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）に対応するＶＬＣを読み出す（ステップＳ３５１）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ３５２のＹＥＳ）、ステップＳ３４４へ処理を移す。
【０４３４】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ３５２のＮＯ）、次に、ＮｅｗＲｕｎ＝Ｒｕｎ値−（ＲＭＡＸ＋１）を算出し、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣを読み出す（ステップＳ３５３）。ここで、該当するＶＬＣがＶＬＣテーブル上に存在すれば（ステップＳ３５４のＹＥＳ）、ステップＳ３４６へ処理を移す。
【０４３５】
該当するＶＬＣがＶＬＣテーブル上に存在しなければ（ステップＳ３５４のＮＯ）、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し（ステップＳ３５６）、生成したＦＬＣを（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとして出力する（ステップＳ３５７）。
（可変長符号化回路の構成）
可変長符号化回路について、ＲＭＡＸ判定部及び制御回路以外の各部の構成及び動作は実施の形態７と同様であるので、ここでは、ＲＭＡＸ判定部及び制御回路についてのみ説明する。
（１）ＲＭＡＸ判定部
ＲＭＡＸ判定部は、実施の形態６において説明したＲＭＡＸ判定部２１６ｇと同様に、固定値記憶回路、比較回路及びＲＭＡＸ判定回路から構成される。
【０４３６】
（i）固定値記憶回路
固定値記憶回路は、閾値ｍと閾値Ｌとを記憶している。閾値ｍに付いては、実施の形態６において説明した通りであるので、改めて説明しない。
閾値Ｌは、０≦Ｌ＜６４の整数値である。
（ii）比較回路
比較回路は、データ取得部からＲｕｎ値を受け取る。Ｒｕｎ値を受け取ると、固定値記憶回路から、閾値ｎ及び閾値Ｌを読み出す。閾値ｍとＲｕｎ値とを比較し、閾値ＬとＲｕｎ値とを比較し、それぞれの比較結果をＲＭＡＸ判定回路へ出力する。
【０４３７】
（iii）ＲＭＡＸ判定回路
ＲＭＡＸ判定回路は、実施の形態６のＲＭＡＸ判定回路Ｇと同様にＲＭＡＸ検出部、第１比較回路、減算回路、第２比較回路、選択回路、判定制御回路及び出力回路から構成される。ＲＭＡＸ検出部、第１比較回路、減算回路、第２比較回路及び出力回路の構成及び動作は、実施の形態６のＲＭＡＸ判定回路２１６Ｇと同様である。
【０４３８】
ＲＭＡＸ判定回路内の選択回路は、比較回路から閾値ｍとＲｕｎ値との比較結果及び閾値ＬとＲｕｎ値との比較結果を受け取る。また、ＲＭＡＸ判定回路内の第１比較回路からＲＭＡＸとＲｕｎ値との比較結果を受け取り、第２比較回路からＲＭＡＸとＮｅｗＲｕｎとの比較結果を受け取る。
比較回路から受け取った閾値ＬとＲｕｎ値との比較結果が、Ｒｕｎ値＞Ｌであることを示していれば、判定制御回路は、無条件で第２モード信号「１１」を生成し、制御回路及びＲＭＡＸ判定回路内の選択回路へ出力する。
【０４３９】
比較回路から受け取った閾値ＬとＲｕｎ値との比較結果が、Ｒｕｎ値≦Ｌであることを示していれば、実施の形態６のＲＭＡＸ判定回路２１６Ｇ内の判定制御回路と同様にＲｕｎ値と閾値ｍとの比較結果、ＲＭＡＸ判定回路内の第１比較回路及び第２比較回路から受け取った比較結果に応じた第２モード信号を生成し、生成した第２モード信号を、制御回路及びＲＭＡＸ判定回路内の選択回路へ出力する。
（２）制御回路
制御回路は、ＬＭＡＸ判定部から受け取った第１モード信号およびＲＭＡＸ判定部から受け取った第２モード信号のうち少なくともいずれか一方が「１１」であれば、無条件に、第２選択回路へ、ＦＬＣ生成回路から出力されるＦＬＣを選択することを示す選択指示を出力する。
【０４４０】
８．２まとめ
図４のＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６の示すように、ＶＬＣテーブル２５１に定義されているＲｕｎ値の最大値は「２０」であり、「２０」より大きいＲｕｎ値に対応するＬＭＡＸはＬＭＡＸテーブル２６１に定義されていない。したがって、Ｒｕｎ値が「４０」を越える場合、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てられるコードは必然的にＦＬＣである。
【０４４１】
閾値Ｌを４０以上に設定する場合、必然的にＦＬＣが割り当てられる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）について、ＲＭＡＸ判定部及によるコードの種類の判定、ＶＬＣ検出部による（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，ＮｅｗＬｅｖｅｌ）及び（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）に対応するＶＬＣの読み出しを行うことなく、迅速にコードを生成し、出力することができる。
９．その他の変形例
（１）上記に説明した実施の形態１〜７及び変形例において、データ取得部とＦＬＣ生成回路との間に（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を一時的に記憶するＦＬＣレジスタを設け、データ取得部とＲＭＡＸＶＬＣ生成回路、ＬＭＡＸＶＬＣ生成回路及びノーマルＶＬＣ生成回路との間に、Ｓｉｇｎ値を一時的に記憶するＳｉｇｎレジスタを配置することにより、更に、１クロックサイクル短い時間で、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成し、出力することができる。
【０４４２】
以下に、実施の形態１を例にして、具体的に説明する。
（１−ａ）可変長符号化装置２００の構成
この変形例の場合、可変長符号化装置２００は、図３８に示すようにＦＬＣレジスタ２９２及びＳｉｇｎレジスタ２９１を含んで構成される。
ＦＬＣレジスタ２９２は、一定時間間隔で、タイミング制御回路１０８からクロック信号を受け取る。また、データ取得部２０１から（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取る。
【０４４３】
（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取ると、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を一時的に記憶する。次に、新たなクロック信号を受け取ると、記憶した（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）をＦＬＣ生成回路２１１へ出力する。
Ｓｉｇｎレジスタ２９１は、一定時間間隔で、タイミング制御回路１０８からクロック信号を受け取る。また、データ取得部２０１から、Ｓｉｇｎ値を受け取る。
【０４４４】
Ｓｉｇｎ値を受け取ると、受け取ったＳｉｇｎ値を一時的に記憶する。次に、新たなクロック信号を受け取ると、記憶したＳｉｇｎ値をＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３及びノーマルＶＬＣ生成回路２１４へ出力する。
上記の実施の形態１では、制御回路２０６は、第２選択回路２１５へ選択指示を出力した後に、データ取得部２０１へデータ出力指示を出力するとしているが、この変形例においては、ＶＬＣ検出部２０７からＯＫ信号又はＶＬＣエラー信号を受け取ると、データ取得部２０１へデータ出力指示を出力する。
【０４４５】
その他の各回路については、実施の形態１と同一であるので、説明を省略する。
（１−ｂ）可変長符号化装置２００の動作サイクル
上記のように、ＦＬＣレジスタ２９２及びＳｉｇｎレジスタ２９１を含む構成の場合の可変長符号化装置２００の動作サイクルについて、図３９に示すタイムチャートを用いて説明する。
【０４４６】
この図に示すタイムチャートは、縦に可変長符号化回路２００を構成する各回路を識別する名称を配し、横軸に時間の経過を示して構成されており、時間の経過に伴って各回路により処理されるデータの変化の様子を示す。
クロック信号４７１、４７２、４７３及び４７４が、一定の時間間隔により、それぞれ、時刻Ｔ８１０、Ｔ８３０、Ｔ８５０及びＴ８７０において、データ取得部２０１、制御回路２０６、レジスタ２０８、Ｓｉｇｎレジスタ２９１及びＦＬＣレジスタ２９２に供給される。
【０４４７】
データ取得部２０１は、時刻Ｔ８１０において、クロック信号４７１を検出し、保持しているＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＬＭＡＸ判定回路２０２、ＲＭＡＸ検出部２０３、減算出力回路２０４、ＦＬＣレジスタ２９２及びＳｉｇｎレジスタ２９１へ、時刻Ｔ８３０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＰと呼ぶ。
【０４４８】
ＬＭＡＸ判定回路２０２は、時刻Ｔ８１１において、データＰに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を基に、データＰに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードの種類を判定し、判定結果としてモード信号と（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を生成し、生成したモード信号を制御回路２０６へ、生成した（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を第１選択回路２０５へ、時刻Ｔ８３１まで継続して出力する。
【０４４９】
制御回路２０６は、時刻Ｔ８１２において、モード信号を受け取り、受け取ったモード信号に従う選択指示を、第１選択回路２０５へ、時刻Ｔ８３２まで継続して出力する。
また、ＲＭＡＸ検出部２０３は、時刻Ｔ８１６に、データ取得部２０１から、データＰに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ絶対値）を受け取ると、ＲＭＡＸを読み出し、読み出したＲＭＡＸを減算出力回路２０４へ、時刻Ｔ８３６まで出力し続ける。
【０４５０】
減算出力回路２０４は、時刻Ｔ８１７に、ＲＭＡＸ検出部２０３からＲＭＡＸを受け取り、受け取ったＲＭＡＸを用いてＮｅｗＲｕｎを算出し、算出したＮｅｗＲｕｎを含む（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）を第１選択回路２０５へ時刻Ｔ８３７まで継続して出力する。
第１選択回路２０５は、時刻Ｔ８１３に、制御回路２０６から、選択指示を受け取り、受け取った選択指示に従って、（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）、（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）のうち何れか一方を、ＶＬＣ検出部２０７へ、時刻Ｔ８３３まで出力し続ける。
【０４５１】
ＶＬＣ検出部２０７は、時刻Ｔ８１４に第１選択回路２０５から（Ｌａｓｔ，ＮｅｗＲｕｎ，Ｌｅｖｅｌ絶対値）又は（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を受け取り、該当するＶＬＣをＶＬＣテーブル２５１から読み出す。該当するＶＬＣがＶＬＣテーブル２５１に存在すれば、ＶＬＣをレジスタ２０８へ、ＯＫ信号を制御回路２０６へ、時刻Ｔ８３４まで出力し続ける。該当するＶＬＣがＶＬＣテーブル２５１に存在しなければ、制御回路２０６及びレジスタ２０８へＶＬＣエラー信号を時刻Ｔ８３４まで出力し続ける。
【０４５２】
制御回路２０６は、時刻Ｔ８１５にＶＬＣ検出部２０７から、ＯＫ信号又はＶＬＣエラー信号を受け取る。ＯＫ信号又はＶＬＣエラー信号を受け取ると、データ取得部２０１へデータ出力指示を、時刻Ｔ８４２まで出力する。
レジスタ２０８は、ＶＬＣ検出部２０７からＶＬＣを受け取り、受け取ったＶＬＣを一時的に記憶する。時刻Ｔ８３０にクロック信号４７２を検出し、記憶しているＶＬＣをノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ８５０まで出力し続ける。
【０４５３】
Ｓｉｇｎレジスタ２９１は、データ取得部２０１から、データＰに含まれるＳｉｇｎ値を受け取り、受け取ったＳｉｇｎ値を一時的に記憶する。時刻Ｔ８３０にクロック信号４７２を検出し、記憶しているＳｉｇｎ値をノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２へ、時刻Ｔ８５０まで出力し続ける。
【０４５４】
ノーマルＶＬＣ生成回路２１４、ＬＭＡＸＶＬＣ生成回路２１３及びＲＭＡＸＶＬＣ生成回路２１２は、時刻Ｔ８３８にレジスタ２０８からＶＬＣを受け取り、Ｓｉｇｎレジスタ２９１からＳｉｇｎ値を受け取る。受け取ったＶＬＣとＳｉｇｎ値とを用いて、それぞれ、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを生成する。生成したノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣを、第２選択回路２１５へ、時刻Ｔ８５８まで出力し続ける。
【０４５５】
また、ＦＬＣレジスタ２９２は、データ取得部２０１から、データＰに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を一時的に記憶する。時刻Ｔ８３０にクロック信号４７２を検出し、記憶している（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）をＦＬＣ生成回路２１１へ、時刻Ｔ８５０まで出力し続ける。
【０４５６】
ＦＬＣ生成回路２１１は、時刻Ｔ８３９にＦＬＣレジスタ２９１からデータＰに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を受け取り、受け取った（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を基にＦＬＣを生成し、生成したＦＬＣを選択回路２１５へ、時刻Ｔ８５９まで出力し続ける。
制御回路２０６は、時刻Ｔ８３０に、クロック信号４７２を検出し、ＶＬＣ検出部２０７から受け取ったＯＫ信号又はＶＬＣエラー信号とＬＭＡＸ判定回路２０２から受け取ったモード信号に基づく選択指示を、第２選択回路２１５へ、時刻Ｔ８５０まで出力し続ける。
【０４５７】
第２選択回路２１５は、時刻Ｔ８４１に、制御回路２０６から選択指示を受け取り、受け取った選択指示に従って、ノーマルＶＬＣ、ＬＭＡＸＶＬＣ、ＲＭＡＸＶＬＣ又はＦＬＣの何れか１つを記録転送系に含まれるバッファへ、時刻Ｔ８４３まで出力し続ける。
データ取得部２０１は、時刻Ｔ８３０にクロック信号４７３を検出し、制御回路２０６からデータ出力指示を受け取り、新たなＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値をＬＭＡＸ判定回路２０２、ＲＭＡＸ検出部２０３、減算出力回路２０４、ＦＬＣ生成回路２１１、ＲＭＡＸＶＬＣ生成回路２１２、ＬＭＡＸＶＬＣ生成回路２１３及びノーマルＶＬＣ生成回路２１４へ、時刻Ｔ８５０まで継続して出力する。ここで出力されるＳｉｇｎ値、Ｌｅｖｅｌ値、Ｌｅｖｅｌ絶対値、Ｒｕｎ値及びＬａｓｔ値を総称してデータＱと呼ぶ。
【０４５８】
ＬＭＡＸ判定回路２０２、制御回路２０６・・・第２選択回路２１５は、データＱについても、データＰと同様の処理を繰り返し、２クロックサイクルで、データＱに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対応するコードを生成し、出力する。
（１−ｃ）効果
以上、説明してきたように、可変長符号化装置２００は、１クロックサイクル目に、レジスタ２０８、ＦＬＣレジスタ２９１及びＳｉｇｎレジスタ２９２に、それぞれ、ＶＬＣ、データＰに含まれる（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）、データＰに含まれるＳｉｇｎ値を記憶する。２クロックサイクル目には、ＦＬＣ生成部２１１、ＲＭＡＸＶＬＣ生成部２１２、ＬＭＡＸＶＬＣ生成部２１３及びノーマルＶＬＣ生成回路２１４は、レジスタ２０８、ＦＬＣレジスタ２９１及びＳｉｇｎレジスタ２９２の記憶しているデータを用いて、ＦＬＣ、ＲＭＡＸＶＬＣ、ＬＭＡＸＶＬＣ及びノーマルＶＬＣを生成し出力する。このため、可変長符号化変長符号化装置２００は、時刻Ｔ８３０〜Ｔ８５０において、新たなデータＱに対する１クロックサイクル目の処理を、データＰに対する２クロックサイクル目の処理と並行して実行することができる。
【０４５９】
データＰに関する２クロック目の処理と、データＰに続くデータＱの１クロック目の処理とを平並して実行することにより、ＦＬＣレジスタ２９１及びＳｉｇｎレジスタ２９２を備えていない場合と比較して、コードの生成及び出力に要する時間を約１クロックサイクル分短縮することができる。
実施の形態２〜７についても、レジスタ、ＦＬＣレジスタ及びＳｉｇｎレジスタの記憶しているデータを用いてＦＬＣ、ＲＭＡＸＶＬＣ、ＬＭＡＸＶＬＣ及びノーマルＶＬＣを生成することにより、データ取得部から連続して出力されるデータＰ、Ｑに対応するコードの生成の処理の一部を並行して実行することが可能となり、コードの生成及び出力に要する時間を約１クロックサイクル分短縮することができる。
【０４６０】
（２）なお、上記の変形例（１）を、実施の形態３〜５に適用する場合、ＶＬＣ検出部は、制御回路へＶＬＣエラー信号及びＯＫ信号を出力する。制御回路は、ＶＬＣ検出部から、ＶＬＣエラー信号又はＯＫ信号を受け取ると、データ取得部へデータ出力指示を出力する。
このようにすることで、データ取得部は、１クロックサイクル毎に（実施の形態３の変形例では２クロックサイクル毎）に新たなデータを出力し、何れの実施の形態においても、ＦＬＣレジスタ及びＳｉｇｎレジスタを持たない場合と比較して、コードの生成及び出力に要する時間を約１クロックサイクル短縮することができる。
【０４６１】
（３）上記の変形例１を実施の形態６に適用する場合、データ取得部から出力された（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）について、Ｒｕｎ値≦ｎ又はＲｕｎ値≦ｍであれば、制御回路２０６ｇは、ＶＬＣエラー信号及びＯＫ信号をきっかけとしてデータ出力指示を、データ取得部２０１ｇへ出力する。データ取得部２０１ｇは、次の（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）を出力する。従って、先の（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対する２クロックサイクル目の処理と、次の（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に対する１クロックサイクル目の処理を並行して行い、処理の高速化を計る。
【０４６２】
Ｒｕｎ値＞ｎかつＲｕｎ値＞ｍであれば、実施の形態６と同様に、第２選択回路２１５へ選択指示を出力した後にデータ出力指示を出力することにより、時間をかけてコードを出力する。
（４）また、上記の変形例１を実施の形態７に適用するにあたって、Ｌｅｖｅｌ絶対値＞Ｋの場合又はＲｕｎ値＞ｍかつＲｕｎ値＞ｎの場合には、実施の形態７の場合と同様に、第２選択回路２１５へ選択指示を出力した後にデータ出力指示を出力する。
【０４６３】
Ｌｅｖｅｌ絶対値≦Ｋ、Ｒｕｎ値≦ｍ及びＲｕｎ値≦ｎを全て満たす場合には、制御回路は、ＶＬＣエラー信号及びＯＫ信号をきっかけとしてデータ出力指示を、データ取得部へ出力する。このようにすることで、連続するデータの処理の一部を並行して実行し、処理の高速化を計る。
（５）上記の変形例１を実施の形態８に適用するにあたって、Ｌｅｖｅｌ絶対値＞Ｋの場合、Ｒｕｎ値＞Ｌ又はＲｕｎ値＞ｍかつＲｕｎ値＞ｎの場合には、実施の形態８の場合と同様に、第２選択回路２１５へ選択指示を出力した後にデータ出力指示を出力する。
【０４６４】
Ｌｅｖｅｌ絶対値≦Ｋ、Ｒｕｎ値≦Ｌ、Ｒｕｎ値≦ｍ及びＲｕｎ値≦ｎを全て満たす場合には、制御回路は、ＶＬＣエラー信号及びＯＫ信号をきっかけとしてデータ出力指示を、データ取得部へ出力する。このようにすることで、連続するデータの処理の一部を並行して実行し、高速化を計る。
（６）上記に説明した実施の形態１〜７及び変形例において、データ取得部は、タイミング制御回路から、一定時間間隔でクロック信号を受け取っているが、新たなデータの出力の際にのみ受け取るようにしてもよい。
【０４６５】
以下に、実施の形態６を例にして具体的に説明する。可変長符号化回路２００ｇは、図３７に示すように、データ取得部２０１ｇ及び制御回路２０６ｇに代わって、データ取得部２０１Ｇ及び制御回路２０６Ｇを備えており、さらに、クロック制御回路２１０を備えている。
実施の形態６の制御回路２０６ｇと同様の手順で、制御回路２０６Ｇは、第２選択回路２１５に選択指示を出力する。第２選択回路へ選択指示を出力すると、制御回路２０６Ｇは、クロック制御回路２１０へ、クロック信号の出力を指示する信号出力指示を出力する。
【０４６６】
クロック制御回路２１０は、タイミング制御回路から、一定間隔でクロック信号を受け取る。また、制御回路から信号出力指示を受け取る。信号出力指示を受け取ると、その直後に受け取る１のクロック信号をデータ取得部２０１Ｇへ出力する。
データ取得部２０１Ｇは、クロック制御回路２１０から、クロック信号を受け取る毎に、バッファ８２０から新たなＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値を読み出し、読み出したＳｉｇｎ値、Ｌａｓｔ値、Ｒｕｎ値、Ｌｅｖｅｌ値及びＬｅｖｅｌ絶対値を可変長符号化回路２００ｇ内の各回路へ出力する。
【０４６７】
データ取得部２０１Ｇは、フリップフロップ回路などを含んで構成される。これらの回路は、クロック信号を入力されると所定の動作をするため、電力を消費する。
実施の形態６において、可変長符号化回路２００ｇは、２〜４クロックサイクルで（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードを生成し、出力するが、データ出力２０１Ｇは１クロックサイクル目に、新たなデータをバッファ８２０から読み出し、可変長符号化回路２００ｇがコード生成を終えるまで、読み出したデータを可変長符号化回路２００ｇ内の各回路へ出力し続ければよい。したがって、クロック制御回路２１０により、データ取得部２０１Ｇへ入力するクロック信号を必要最低限にすることで、データ取得部２０１Ｇでの電力消費を削減することができる。
【０４６８】
（７）上記の説明において、実施の形態３のＬＭＡＸ判定回路２０２、実施の形態４のＬＭＡＸ判定回路２０２ｅ、実施の形態５のＬＭＡＸ判定回路２０２ｆ、実施の形態６のＬＭＡＸ判定回路２０２ｇは、実施の形態１のＬＭＡＸ判定回路２０２と同様の構成であるとしているが、図６（ｂ）に示すＬＭＡＸ判定回路２０２ｂのようにシフト部２３５を含む構成であっても良い。
【０４６９】
また、実施の形態３のＲＭＡＸ判定回路２１６ｃ、実施の形態４のＲＭＡＸ判定回路２１６ｅ、実施の形態５のＲＭＡＸ判定回路２１６ｆ、実施の形態６のＲＭＡＸ判定回路２１６Ｇは、実施の形態２のＲＭＡＸ判定回路２１６と同様の構成であるとしているが、図１０（ｂ）に示すＲＭＡＸ判定回路２１６ｂのように、シフト部２８５を含む構成であっても良い。
【０４７０】
（８）上記の実施の形態７において、ＬＭＡＸ判定部は、実施の形態６のＬＭＡＸ判定部２０２ｇと同様に、固定値記憶部、比較回路及びＬＭＡＸ判定回路から構成され、比較回路は、Ｒｕｎ値と閾値ｎとの比較及びＬｅｖｅｌ絶対値と閾値Ｋとの比較を行うとしているが、比較回路を、さらに、もう１つ備えるとしても良い。
この場合２つの比較回路を並列に配置し、一方は、データ取得部から、Ｒｕｎ値を受け取り、固定値記憶回路から閾値ｎを読み出し、読み出した閾値ｎとＲｕｎ値とを比較し、比較結果をＬＭＡＸ判定回路へ出力する。
【０４７１】
他方の比較回路は、データ取得部からＬｅｖｅｌ絶対値を受け取り、固定値比較回路から閾値Ｋを読み出し、読み出した閾値ＫとＬｅｖｅｌ絶対値とを比較する。
（９）また、実施の形態８のＲＭＡＸ判定部についても、判定回路を２個並列に備え、一方でＲｕｎ値と閾値ｍとを比較し、他方で、Ｒｕｎ値と閾値Ｌとの比較を行うとしても良い。
【０４７２】
このように、２つの比較回路を並列に配置し、比較の処理を分担することで、ＬＭＡＸ判定部及びＲＭＡＸ判定部による処理を高速にすることができる。
（１０）上記の実施の携帯において、ＬＭＡＸ判定回路では、第１比較回路による比較に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定し、第２比較回路による比較に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＬＭＡＸＶＬＣであるか否かを判定する。
【０４７３】
また、ＲＭＡＸＶＬＣ判定回路は、第１比較回路による比較に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かを判定し、第２比較回路による比較に基づいて、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＬＭＡＸＶＬＣであるか否かを判定する。
実施の形態３〜８の様に、可変長符号化回路が、ＬＭＡＸ判定回路とＲＭＡＸ判定回路の両方を備える場合、ＬＭＡＸ判定回路及びＲＭＡＸ判定回路の両方で、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがノーマルＶＬＣであるか否かの判断を行うことになる。従って、どちらか一方の回路の第１比較回路を省略してもよい。
【０４７４】
実施の形態５を例にして、ＲＭＡＸ判定回路２１６ｆに含まれる第１比較回路を省略する場合について説明する。
ＲＭＡＸ判定回路２１６ｆ内のＲＭＡＸ検出部、減算回路第２比較回路、選択回路、出力回路は、実施の形態５と同様に動作する。
ＲＭＡＸ判定回路２１６ｆ内の判定制御回路は、第２比較回路から、ＲＭＡＸとＮｅｗＲｕｎとの比較結果を受け取り、受け取った比較結果がＲＭＡＸ≧ＮｅｗＲｕｎであることを示していれば、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードとしてＲＭＡＸＶＬＣ生成可能であることを示す第２モード信号「０１」を選択回路及び制御回路２０６ｆへ出力する。
【０４７５】
受け取った比較結果がＲＭＡＸ＜ＮｅｗＲｕｎであることを示していると、（Ｌａｓｔ，Ｒｕｎ，Ｌｅｖｅｌ）に割り当てるコードがＲＭＡＸＶＬＣ以外であることを示す第２モード信号「１０」を選択回路及び制御回路出２０６ｆ力へする。
制御回路２０６ｆは、ＬＭＡＸ判定回路２０２ｆから受け取った第１モード信号が、「００」であれば、第２モード信号にかかわらず、第１選択回路２０５ｆへＬＭＡＸ判定回路２０２ｆから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を出力し、第２選択回路２１５へ、ノーマルＶＬＣ生成回路２１４から出力されるノーマルＶＬＣを選択することを示す選択指示を出力する。
【０４７６】
受け取った第１モード信号が「１０」であれば、第２モード信号にかかわらず、第１選択回路２０５ｆへＬＭＡＸ判定回路２０２ｆから出力される（Ｌａｓｔ，Ｒｕｎ，選択後Ｌｅｖｅｌ）を選択することを示す選択指示を出力し、第２選択回路２１５へ、ＬＭＡＸＶＬＣ生成回路２１３から出力されるＬＭＡＸＶＬＣを選択することを示す選択指示を出力する。
【０４７７】
受け取った第１モード信号が「１０」であり、第２モード信号が「０１」の場合、又は、第１モード信号が「１０」であり、第２モード信号が「１０」の場合は、実施の形態５と同様である。
（１１）実施の形態３〜８及び変形例において、可変長符号化回路内のＬＭＡＸ判定回路は、実施の形態１において説明したＬＭＡＸ判定回路２０２と同様の構成であるとして説明してきたが、これに代わって、実施の形態１の変形例において説明したＬＭＡＸ判定回路２０２ｂのような構成であっても良い。
【０４７８】
また、ＲＭＡＸ判定回路について、実施の形態２において説明したＲＭＡＸ判定回路２１６と同様の構成であるとして説明してきたが、これに代わって、実施の形態２の変形例において説明したＲＭＡＸ判定回路２１６ｂのような構成であってもよい。
（１２）本発明は、上記の実施の形態１〜８及び変形例を実行する方法であってもよい。
（１３）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０４７９】
本発明は、画像、音声をはじめとするデジタルデータを製造し、販売する産業、デジタルデータを圧縮・符号化する機能を備える各種電気機器を製造及び販売する産業、デジタルデータを利用する産業、例えば放送産業、ネットワークを介してコンテンツを提供する産業などにおいて、経営的、継続的また反復的に利用することができる。
【図面の簡単な説明】
【０４８０】
【図１】撮像装置１００の構成を示すブロック図である。
【図２】可変長符号化回路２００の動作を示すフローチャートである。
【図３】可変長符号化回路２００の構成を示すブロック図である。
【図４】ＶＬＣテーブル２５１、ＬＭＡＸテーブル２６１及びＲＭＡＸテーブル２６６の詳細を示す。
【図５】ＶＬＣテーブル２５１を同一のＬａｓｔ及びＲｕｎについて整理したＶＬＣテーブル３５１ａと同一のＬａｓｔ及びＬｅｖｅｌについて整理したＶＬＣテーブル３５１ｂの詳細を示す。
【図６】ＬＭＡＸ判定回路２０２の構成の一例を示すブロック図である。
【図７】可変長符号化回路２００を構成する各回路の動作のタイミングを示すタイムチャートである。
【図８】実施の形態２の鍵変長符号化装置２００ｂの構成を示すフローチャートである。
【図９】実施の形態２の可変長符号化回路２００ｂの構成を示すブロック図である。
【図１０】ＲＭＡＸ判定回路２１６の構成の一例を示すブロック図である。
【図１１】可変長符号化回路２００ｂを構成する各回路の動作のタイミングを時系列に示したタイムチャートである。
【図１２】実施の形態３の可変長符号化回路２００ｃの動作を示すフローチャートである。
【図１３】可変長符号化回路２００ｃの構成を示すブロック図である。
【図１４】可変長符号化回路２００ｃにおける、第１モード信号と第２モード信号と選択回路２１５ｃへ出力される選択指示との対応を示す。
【図１５】可変長符号化回路２００ｃを構成する各回路の動作のタイミングを示すタイムチャートである。
【図１６】可変長符号化回路２００ｄの構成を示すブロック図である。
【図１７】エスケープモード判定回路２１８ｄの構成を示すブロック図である。
【図１８】可変長符号化回路２００ｄにおける、第１モード信号と第２モード信号とレジスタ２０８ｄへ出力される選択指示と選択回路２１５ｃへ出力される選択指示との対応を示す。
【図１９】可変長符号化回路２００ｄを構成する各回路の動作のタイミングを時系列に示したタイムチャートである。
【図２０】実施の形態４の可変長符号化回路２００ｅの動作を示すフローチャートである。
【図２１】可変長符号化回路２００ｅの構成を示すブロック図である。
【図２２】可変長符号化回路２００ｅにおける、第１モード信号と第２モード信号と選択回路２１５ｅへ出力される選択指示との対応を示す。
【図２３】可変長符号化回路２００ｅを構成する各回路の動作のタイミングを時系列に示したタイムチャートである。
【図２４】実施の形態５の可変長符号化回路２００ｆの動作を示すフローチャートである。
【図２５】可変長符号化回路２００ｆの構成を示すブロック図である。
【図２６】可変長符号化回路２００ｆにおける、第１モード信号と第２モード信号と第１選択回路２０５ｆへ出力される選択指示と第２選択回路２１５へ出力される選択指示との対応を示す。
【図２７】可変長符号化回路２００ｆを構成する各回路の動作のタイミングを時系列に示したタイムチャートである。
【図２８】記録転送系１０５の構成を示すブロック図である。
【図２９】実施の形態６の可変長符号化回路２００ｇの動作を示すフローチャートである。
【図３０】可変長符号化回路２００ｇの構成を示すブロック図である。
【図３１】ＬＭＡＸ判定部２０２ｇ及びＲＭＡＸ判定部２１６ｇの構成を示すブロック図である。
【図３２】可変長符号化回路２００ｇにおける、第１モード信号と第２モード信号と第１選択回路２０５ｇへ出力される選択指示と第２選択回路２１５へ出力される選択指示との対応を示す。
【図３３】可変長符号化回路２００ｇを構成する各回路の動作のタイミングを時系列に示したタイムチャートである。
【図３４】実施の形態６の変形例における、第１モード信号と第２モード信号と第１選択回路２０５ｇへ出力される選択指示と第２選択回路２１５へ出力される選択指示との対応を示す。
【図３５】実施の形態７における、可変長符号化回路の動作を示すフローチャートである。
【図３６】実施の形態８における、可変長符号化回路の動作を示すフローチャートである。
【図３７】その他の変形例（６）における、可変長符号化回路の構成を示すブロック図である。
【図３８】その他の変形例（１）における、可変長符号化回路の構成を示すブロック図である。
【図３９】その他の変形例（１）における、可変長符号化回路２００を構成する各回路の動作のタイミングを時系列に示したタイムチャートである。
【符号の説明】
【０４８１】
１００    撮像システム
１０１    光学系
１０２    センサー
１０３    変換回路
１０４    画像処理回路
１０５    記録転送系
１０６    再生系
１０７    システム制御回路
１０８    タイミング制御回路
２００    可変長符号化回路
２０１    データ取得部
２０２    ＬＭＡＸ判定回路
２０３    ＲＭＡＸ検出部
２０４    減算出力回路
２０５    選択回路
２０６    制御回路
２０７    ＶＬＣ検出部
２０８    レジスタ
２１１    ＦＬＣ生成回路
２１２    ＲＭＡＸＶＬＣ生成回路
２１３    ＬＭＡＸＶＬＣ生成回路
２１４    ノーマルＶＬＣ生成回路
２１５    選択回路
２３１    ＬＭＡＸ検出部
２５１    ＶＬＣテーブル
２６１    ＬＭＡＸテーブル
２６６    ＲＭＡＸテーブル
８１０    画像処理回路
８１０    信号生成部
８２０    バッファ
８２５    バッファ
【図１】
2006067396.tif 000003
【図２】
2006067396.tif 000004
【図３】
2006067396.tif 000005
【図４】
2006067396.tif 000006
【図５】
2006067396.tif 000007
【図６】
2006067396.tif 000008
【図７】
2006067396.tif 000009
【図８】
2006067396.tif 000010
【図９】
2006067396.tif 000011
【図１０】
2006067396.tif 000012
【図１１】
2006067396.tif 000013
【図１２】
2006067396.tif 000014
【図１３】
2006067396.tif 000015
【図１４】
2006067396.tif 000016
【図１５】
2006067396.tif 000017
【図１６】
2006067396.tif 000018
【図１７】
2006067396.tif 000019
【図１８】
2006067396.tif 000020
【図１９】
2006067396.tif 000021
【図２０】
2006067396.tif 000022
【図２１】
2006067396.tif 000023
【図２２】
2006067396.tif 000024
【図２３】
2006067396.tif 000025
【図２４】
2006067396.tif 000026
【図２５】
2006067396.tif 000027
【図２６】
2006067396.tif 000028
【図２７】
2006067396.tif 000029
【図２８】
2006067396.tif 000030
【図２９】
2006067396.tif 000031
【図３０】
2006067396.tif 000032
【図３１】
2006067396.tif 000033
【図３２】
2006067396.tif 000034
【図３３】
2006067396.tif 000035
【図３４】
2006067396.tif 000036
【図３５】
2006067396.tif 000037
【図３６】
2006067396.tif 000038
【図３７】
2006067396.tif 000039
【図３８】
2006067396.tif 000040
【図３９】
2006067396.tif 000041