(57)【特許請求の範囲】
【請求項１】
順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成装置であって、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、
上記入力データが所定の制御データの場合、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加手段と、
上記帰還データの上記末尾ビット側に上記入力データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算し、上記入力データが上記制御データの場合、当該積算データ長に上記調整データのデータ長を加算するデータ長処理手段と
を有し、
上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
データストリーム生成装置。
【請求項２】
上記データ付加手段は、
上記入力データが上記制御データの場合、上記データ長処理手段の積算データ長に応じた調整データ長を設定する調整データ長設定手段と、
上記設定された調整データ長に応じた上記調整データを生成する調整データ生成手段と、
上記生成された調整データを上記帰還データの上記末尾ビット側に付加する付加手段とを含み、
上記データ長処理部は、上記入力データが上記制御データの場合、上記設定された調整データ長を上記積算データ長に加算する、
請求項１に記載のデータストリーム生成装置。
【請求項３】
上記調整データ長設定手段は、上記データ長処理手段の積算データ長のバイナリ値における最下位ビットから所定ビット数の下位データの各ビット値を反転し、当該ビット反転された下位データに所定値を加算したデータに応じた上記調整データ長を設定する、
請求項２に記載のデータストリーム生成装置。
【請求項４】
上記調整データ生成手段は、上記設定された調整データ長に応じて複数の所定データから一のデータを選択し、当該選択されたデータに応じた調整データを生成する、
請求項２に記載のデータストリーム生成装置。
【請求項５】
上記調整データ生成手段は、上記設定された調整データ長のバイナリ値における各ビット値に応じたデータを各ビットごとに生成し、当該各ビットごとに生成されたデータを所定の順序で結合して生成される複数のデータから、当該各ビットのうちの少なくとも一つの所定ビットのビット値に応じて一のデータを選択し、当該選択されたデータに応じた調整データを生成する、
請求項２に記載のデータストリーム生成装置。
【請求項６】
供給される選択信号に応じて、順次入力される可変長データまたは上記制御データを選択し、当該選択された入力データを上記データ結合手段に供給するデータ選択手段と、
上記選択信号に応じて、上記可変長データまたは上記制御データに対応する入力データ長情報を選択し、当該選択された入力データ長情報を上記データ長処理手段に供給するデータ長選択手段とを有する、
請求項１に記載のデータストリーム生成装置。
【請求項７】
各々が可変長である複数の可変長データを結合し、上記データ選択手段に供給する、可変長データ結合手段と、
上記複数の可変長データのそれぞれに対応する入力データ長情報に基づいて、上記結合された可変長データの入力データ長情報を生成し、上記データ長選択手段に供給するデータ長生成手段とを有する、
請求項６に記載のデータストリーム生成装置。
【請求項８】
順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成装置であって、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、
上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成し、入力される所定の制御データの上記先頭ビット側に付加するデータ付加手段と、
供給される選択信号に応じて、上記調整データが付加された制御データまたは他の入力データを選択するデータ選択手段と
上記帰還データの上記末尾ビット側に、上記選択された入力データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算するデータ長処理手段と
を有し、
上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
データストリーム生成装置。
【請求項９】
上記データ付加手段は、
上記データ長処理手段の積算データ長と上記入力データ長の和に応じた調整データ長を設定する調整データ長設定手段と、
上記設定された調整データ長に応じた上記調整データを生成する調整データ生成手段と、
上記生成された調整データを上記制御データの上記先頭ビット側に付加する付加手段とを含む、
請求項８に記載のデータストリーム生成装置。
【請求項１０】
上記調整データ長設定手段は、上記データ長処理手段の積算データ長と上記入力データ長の和のバイナリ値における最下位ビットから所定ビット数の下位データの各ビット値を反転し、当該ビット反転された下位データに所定値を加算したデータに応じた上記調整データ長を設定する、
請求項９に記載のデータストリーム生成装置。
【請求項１１】
上記調整データ生成手段は、上記設定された調整データ長に応じて複数の所定データから一のデータを選択し、当該選択されたデータに応じた調整データを生成する、
請求項９に記載のデータストリーム生成装置。
【請求項１２】
上記調整データ生成手段は、上記設定された調整データ長のバイナリ値における各ビット値に応じたデータを各ビットごとに生成し、当該各ビットごとに生成されたデータを所定の順序で結合して生成される複数のデータから、当該各ビットのうちの少なくとも一つの所定ビットのビット値に応じて一のデータを選択し、当該選択されたデータに応じた調整データを生成する、
請求項９に記載のデータストリーム生成装置。
【請求項１３】
上記データ選択手段は、順次入力される可変長データまたは上記制御データを上記選択信号に応じて選択し、当該選択された入力データを上記データ結合手段に供給し、
上記選択信号に応じて、上記可変長データ、または上記調整データを付加された制御データに対応する入力データ長情報を選択し、当該選択された入力データ長情報を上記データ長処理手段に供給するデータ長選択手段を有する、
請求項９に記載のデータストリーム生成装置。
【請求項１４】
各々が可変長である複数の可変長データを結合し、上記データ選択手段に供給する可変長データ結合手段と、
上記複数の可変長データのそれぞれに対応する入力データ長情報に基づいて、上記結合された可変長データの入力データ長情報を生成し、上記データ長選択手段に供給する第１のデータ長生成手段と、
上記設定された調整データ長に基づいて、上記調整データを付加された制御データの入力データ長情報を生成し、上記データ長選択手段に供給する第２のデータ長生成手段とを有する、
請求項１３に記載のデータストリーム生成装置。
【請求項１５】
順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成方法であって、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データに応じた上記帰還データを生成するデータ出力ステップと、
上記入力データが所定の制御データの場合に、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加ステップと、
上記帰還データの上記末尾ビット側に上記入力データの上記先頭ビットを結合して、上記データ出力ステップの未出力データを生成するデータ結合ステップと、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算し、上記入力データが上記制御データの場合、当該積算データ長に上記調整データのデータ長を加算するデータ長処理ステップと
を反復し、
上記データ出力ステップは、上記データ長処理ステップの積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
データストリーム生成方法。
【請求項１６】
順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成方法であって、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データに応じた上記帰還データを生成するデータ出力ステップと、
上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、入力される所定の制御データの上記先頭ビット側に付加し、入力される選択信号に応じて、上記調整データが付加された制御データ、または順次入力される可変長データを選択し、当該選択されたデータの上記先頭ビットを上記帰還データの上記末尾ビット側に結合するデータ結合ステップと、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算するデータ長処理ステップと
を反復し、
上記データ出力ステップは、上記データ長処理ステップの積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
データストリーム生成方法。
【請求項１７】
可変長符号化データまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成装置であって、
所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成する可変長符号化手段と、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、
上記可変長符号化手段の生成データが上記制御データの場合、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加手段と、
上記帰還データの上記末尾ビット側に上記可変長符号化手段の生成データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算し、上記入力データが上記制御データの場合、当該積算データ長に上記調整データのデータ長を加算するデータ長処理手段と
を有し、
上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
可変長符号化データストリーム生成装置。
【請求項１８】
可変長符号化データまたは所定の制御データを順次を生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成装置であって、
所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成し、当該生成データに応じた選択信号を出力する可変長符号化手段と、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、
上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成し、上記制御データの上記先頭ビット側に付加するデータ付加手段と、
上記選択信号に応じて、上記調整データが付加された制御データまたは上記可変長符号データを選択するデータ選択手段と、
上記帰還データの上記末尾ビット側に上記データ選択手段の選択データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、
上記入力データに対応して順次入力される上記入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算するデータ長処理手段と
を有し、
上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
可変長符号化データストリーム生成装置。
【請求項１９】
可変長符号化データまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成方法であって、
所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成する可変長符号化ステップと、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データに応じた上記帰還データを生成するデータ出力ステップと、
上記可変長符号化ステップにおける生成データが上記制御データの場合に、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加ステップと、
上記帰還データの上記末尾ビット側に上記生成データの上記先頭ビットを結合して、上記データ出力ステップの未出力データを生成するデータ結合ステップと、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算し、上記入力データが上記制御データの場合、当該積算データ長に上記調整データのデータ長を加算するデータ長処理ステップと
を反復し、
上記データ出力ステップは、上記データ長処理ステップの積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
可変長符号化データストリーム生成方法。
【請求項２０】
可変長符号化データまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成方法であって、
所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成し、当該生成データに応じた選択信号を生成する可変長符号化ステップと、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データを生成するデータ出力ステップと、
上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、上記制御データの上記先頭ビット側に付加し、上記選択信号に応じて、上記調整データが付加された制御データ、または順次入力される可変長データを選択し、当該選択されたデータの上記先頭ビットを上記帰還データの上記末尾ビット側に結合するデータ結合ステップと、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算するデータ長処理ステップと
を反復し、
上記データ出力ステップは、上記データ長処理ステップの積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
可変長符号化データストリーム生成方法。
【請求項２１】
画像データを可変長符号化したデータまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するカメラシステムであって、
所望の画像を撮影し画像データを生成する撮影手段と、
上記生成画像データを可変長符号化した可変長符号化データ、または所望の上記制御データを順次生成する可変長符号化手段と、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力画像データとして出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、
上記可変長符号化手段の生成データが上記制御データの場合、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加手段と、
上記帰還データの上記末尾ビット側に上記可変長符号化手段の生成データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算し、上記入力データが上記制御データの場合、当該積算データ長に上記調整データのデータ長を加算するデータ長処理手段と、
上記出力画像データの列に対して所定の処理を行う処理手段と
を有し、
上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する
カメラシステム。
【請求項２２】
画像データを可変長符号化したデータまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するカメラシステムであって、
所望の画像を撮影し画像データを生成する撮影手段と、
上記生成画像データを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成し、当該生成データに応じた選択信号を出力する可変長符号化手段と、
上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力画像データとして出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、
上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成し、上記制御データの上記先頭ビット側に付加するデータ付加手段と、
上記選択信号に応じて、上記調整データが付加された制御データまたは上記可変長符号データを選択するデータ選択手段と、
上記帰還データの上記末尾ビット側に上記データ選択手段の選択データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、
上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算するデータ長処理手段と、
上記出力画像データの列に対して所定の処理を行う処理手段と
を有し、
上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する、
カメラシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力されるデータ列から所定データ長のデータ列を生成するデータストリーム生成装置とその方法、そのような装置および方法を例えばＪＰＥＧなどの可変長符号化に適用して所定のデータストリームを生成する可変長データストリーム生成装置とその方法、ならびに、撮影した画像の信号を可変符号化して処理するカメラシステムに関するものである。
【０００２】
【従来の技術】
画像データやオーディオデータなどの符号化には種々の方式があるが、その代表的な例であり、静止画像を符号化する際に広く使用されている方式として、ＪＰＥＧ（Joint Photographic Experts Group）がある。
このＪＰＥＧでは、圧縮符号化されたビットストリームの構造を規定するために、マーカと呼ばれる種々の制御コードが使用される。
【０００３】
例えば、ＪＰＥＧで採用されているＤＣＴ（Discrete Cosine Transform ）を用いた符号化方式においては、情報量の削減のために、ブロック間の相関性が高いＤＣＴ係数のＤＣ成分は隣接するブロック間における差分値で符号化されている。そのため、ＪＰＥＧ圧縮符号化データを転送する際に何らかの原因によりデータ中にエラーが発生すると、以降に続くブロックに大きな影響を及ぼしてしまう。これを防止するため、ＪＰＥＧ画像データには保持しているＤＣ成分値をクリアするためのリスタートマーカ（ＲＳＴｍ）と呼ばれるマーカが、例えば８×８画素のブロックの集合であるＭＣＵ（Minimum Coded Unit）と呼ばれる単位ごとに、ビットストリームの中に挿入される。
その他、例えば１つの画像の始まりを示すＳＯＩ（Start Of Image）や、画像の終わりを示すＥＯＩ（End Of Image）などのマーカもある。
【０００４】
これらのマーカには、ＦＦｈ（ｈは１６進数表示であることを示す）で表される１バイトのヘッダを有した２バイトのコードが割り当てられている。例えば、ＲＳＴｍにはＦＦＤ０ｈ〜ＦＦＤ７ｈというコードが、ＳＯＩにはＦＦＤ８ｈというコードが、ＥＯＩにはＦＦＤ９ｈというコードが各々割り当てられている。
【０００５】
ところでＪＰＥＧにおいては、これらのマーカは圧縮符号化ビットストリームにおけるバイト単位の境界に対して適切な位置に挿入されることが要求されている。しかしながら、ＪＰＥＧの圧縮符号化は可変長符号化であるため、そのままマーカを圧縮符号化ビットストリームに挿入させてしまうと、バイト境界に対するマーカの挿入位置は一定とならない。
そこで、マーカを圧縮符号化ビットストリームに挿入させる場合には、挿入位置を調整するための適切なデータ長を有するビットデータ（フィルビットと呼ばれている）を生成して、これをマーカの手前に挿入する必要がある。
【０００６】
【発明が解決しようとする課題】
このように、例えばＪＰＥＧにより圧縮符号化された画像データのストリームが生成される場合には、圧縮符号化されて生成されたビットストリームに対して、種々のマーカが挿入されるとともにと、マーカの挿入のたびに上述したフィルビットを生成してマーカの前に挿入しなければならない。このような処理は複雑な制御を必要とするので、従来こうした処理はソフトウェアによって行われていた。しかしながら、データをビットシフトさせて結合させる処理など、ソフトウェアでは多くの実行サイクルが必要となる処理が多い上に、画像データはデータ量が大量になる場合が多く、そのためソフトウェアでは実用的な処理速度が得られにくい問題がある。
また、こうした処理をハードウェアで実現させる場合においても、構成が複雑で回路規模が大きくなるという問題がある。これは、このような回路をＬＳＩ上に構成しようとした時などにおいて特に問題となり、改善が望まれている。
【０００７】
本発明はかかる事情に鑑みてなされたものであり、その目的は、フィルビットの挿入処理を効率よく行なうことにより、より小さい回路規模で、簡単な構成、制御により、順次入力されるデータ列から所定データ長のデータ列を生成するデータストリーム生成装置とその方法を提供することにある。
また本発明の他の目的は、フィルビットの挿入処理を効率よく行なうことにより、より小さい回路規模で、簡単な構成、制御により、所望のデータを可変長符号化し所定のデータストリームを生成する可変長符号化データストリーム生成装置とその方法を提供することにある。
さらに本発明の他の目的は、所望の画像を撮影し、撮影した画像データを可変長符号化するカメラシステムであって、特に、より小さい回路規模で、簡単な構成、制御により、撮影した画像データを可変長符号化した画像データストリームを生成するカメラシステムを提供することにある。
【０００８】
【課題を解決するための手段】
上記の目的を達成するため、本発明の第１の観点に係るデータストリーム生成装置は、順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成装置であって、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、上記入力データが所定のデータの場合、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加手段と、上記帰還データの上記末尾ビット側に上記入力データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算し、上記入力データが上記制御データの場合、当該積算データ長に上記調整データのデータ長を加算するデータ長処理手段とを有する。上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する。
【０００９】
本発明の第１の観点に係るデータストリーム生成装置によれば、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータが上記データ出力手段より出力され、当該出力後の残りのデータが帰還データとして出力される。また、上記未出力データのデータ長が上記所定データ長に達しない場合には、当該未出力データが上記帰還データとして上記データ出力手段より出力される。
上記データ付加手段においては、上記入力データが所定のデータの場合、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データが生成され、当該帰還データの上記末尾ビット側に付加される。
上記データ結合手段においては、上記帰還データの上記末尾ビット側に上記入力データの上記先頭ビットが結合され、当該結合されたデータが上記未出力データとして上記データ出力手段に供給される。
【００１１】
また、上記データ付加手段は、上記入力データが所定のデータの場合、上記データ長処理手段の積算データ長に応じた調整データ長を設定する調整データ長設定手段と、上記設定された調整データ長に応じた上記調整データを生成する調整データ生成手段と、上記生成された調整データを上記帰還データの上記末尾ビット側に付加する付加手段とを含み、上記データ長処理部は、上記入力データが所定のデータの場合、上記設定された調整データ長を上記積算データ長に加算する。
【００１２】
本発明の第２の観点に係るデータストリーム生成装置は、順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成装置であって、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成し、入力される所定のデータの上記先頭ビット側に付加するデータ付加手段と、供給される選択信号に応じて、上記調整データが付加された所定のデータまたは他の入力データを選択するデータ選択手段と上記帰還データの上記末尾ビット側に、上記選択された入力データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、上記入力データに対応して順次入力される入力データ長情報に基づいて、上記入力データのデータ長を積算し、当該積算データ長が上記所定データ長に達した場合、当該積算データ長から上記所定データ長を減算するデータ長処理手段とを有する。上記データ出力部は、上記データ長処理手段の積算データ長が上記所定データ長に達した場合に上記所定データ長のデータを出力し、上記所定データ長に達しない場合に上記未出力データを上記帰還データとして出力する。
【００１３】
本発明の第２の観点に係るデータストリーム生成装置によれば、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータが上記データ出力手段より出力され、当該出力後の残りのデータが帰還データとして出力される。上記未出力データのデータ長が上記所定データ長に達しない場合には、当該未出力データが上記帰還データとして上記データ出力手段より出力される。
上記データ付加手段においては、上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データが生成され、入力される所定のデータの上記先頭ビット側に付加される。
上記データ選択手段においては、供給される選択信号に応じて、上記調整データが付加された所定のデータまたは他の入力データが選択される。
上記データ結合手段においては、上記帰還データの上記末尾ビット側に、上記選択された入力データの上記先頭ビットが結合され、当該結合されたデータが上記未出力データとして上記データ出力手段に供給される。
【００１５】
また、上記データ付加手段は、上記データ長処理手段の積算データ長と上記入力データ長の和に応じた調整データ長を設定する調整データ長設定手段と、上記設定された調整データ長に応じた上記調整データを生成する調整データ生成手段と、上記生成された調整データを上記制御データの上記先頭ビット側に付加する付加手段とを含む。
【００１６】
本発明の第３の観点に係るデータストリーム生成方法は、順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成方法であって、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データに応じた上記帰還データを生成するデータ出力ステップと、上記入力データが所定のデータの場合に、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加ステップと、上記帰還データの上記末尾ビット側に上記入力データの上記先頭ビットを結合して、上記データ出力ステップの未出力データを生成するデータ結合ステップとを反復する。
【００１７】
本発明の第４の観点に係るデータストリーム生成方法は、順次入力されるデータの所定の先頭ビットを、前に入力されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するデータストリーム生成方法であって、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データに応じた上記帰還データを生成するデータ出力ステップと、上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、入力される所定のデータの上記先頭ビット側に付加し、入力される選択信号に応じて、上記調整データが付加された所定のデータ、または順次入力される可変長データを選択し、当該選択されたデータの上記先頭ビットを上記帰還データの上記末尾ビット側に結合するデータ結合ステップとを反復する。
【００１８】
本発明の第５の観点に係る可変長符号化データストリーム生成装置は、可変長符号化データまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成装置であって、所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成する可変長符号化手段と、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、上記可変長符号化手段の生成データが上記制御データの場合、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加手段と、上記帰還データの上記末尾ビット側に上記可変長符号化手段の生成データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段とを有する。
【００１９】
本発明の第６の観点に係る可変長符号化データストリーム生成装置は、可変長符号化データまたは所定の制御データを順次を生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成装置であって、所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成し、当該生成データに応じた選択信号を出力する可変長符号化手段と、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成し、上記制御データの上記先頭ビット側に付加するデータ付加手段と、上記選択信号に応じて、上記調整データが付加された制御データまたは上記可変長符号データを選択するデータ選択手段と、上記帰還データの上記末尾ビット側に上記データ選択手段の選択データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段とを有する。
【００２０】
本発明の第７の観点に係る可変長符号化データストリーム生成方法は、可変長符号化データまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成方法であって、所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成する可変長符号化ステップと、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データに応じた上記帰還データを生成するデータ出力ステップと、上記可変長符号化ステップにおける生成データが上記制御データの場合に、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加ステップと、上記帰還データの上記末尾ビット側に上記生成データの上記先頭ビットを結合して、上記データ出力ステップの未出力データを生成するデータ結合ステップとを反復する。
【００２１】
本発明の第８の観点に係る可変長符号化データストリーム生成方法は、可変長符号化データまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力する可変長符号化データストリーム生成方法であって、所望のデータを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成し、当該生成データに応じた選択信号を生成する可変長符号化ステップと、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力し、当該出力後の残りのデータに応じた帰還データを生成し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データを生成するデータ出力ステップと、上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、上記制御データの上記先頭ビット側に付加し、上記選択信号に応じて、上記調整データが付加された制御データ、または順次入力される可変長データを選択し、当該選択されたデータの上記先頭ビットを上記帰還データの上記末尾ビット側に結合するデータ結合ステップとを反復する。
【００２２】
本発明の第９の観点に係るカメラシステムは、画像データを可変長符号化したデータまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するカメラシステムであって、所望の画像を撮影し画像データを生成する撮影手段と、上記生成画像データを可変長符号化した可変長符号化データ、または所望の上記制御データを順次生成する可変長符号化手段と上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力画像データとして出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、上記可変長符号化手段の生成データが上記制御データの場合、上記帰還データのデータ長と所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成して、当該帰還データの上記末尾ビット側に付加するデータ付加手段と、上記帰還データの上記末尾ビット側に上記可変長符号化手段の生成データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、上記出力画像データの列に対して所定の処理を行う処理手段とを有する。
【００２３】
本発明の第１０の観点に係るカメラシステムは、画像データを可変長符号化したデータまたは所定の制御データを順次生成し、当該生成されたデータの所定の先頭ビットを、前に生成されたデータの末尾ビット側に順次結合し、上記結合されたデータの上記先頭ビット側から所定データ長のデータを順次出力するカメラシステムであって、所望の画像を撮影し画像データを生成する撮影手段と、上記生成画像データを可変長符号化した可変長符号化データまたは所望の上記制御データを順次生成し、当該生成データに応じた選択信号を出力する可変長符号化手段と、上記結合されたデータで未出力のデータのデータ長が上記所定データ長に達した場合、当該未出力データの上記先頭ビット側から上記所定データ長分のデータを出力画像データとして出力し、当該出力後の残りのデータを帰還データとして出力し、上記未出力データのデータ長が上記所定データ長に達しない場合、当該未出力データを上記帰還データとして出力するデータ出力手段と、上記入力データと上記帰還データのデータ長の和と、所定の単位データ長の整数倍のデータ長との差分のデータ長を有する調整データを生成し、上記制御データの上記先頭ビット側に付加するデータ付加手段と、上記選択信号に応じて、上記調整データが付加された制御データまたは上記可変長符号データを選択するデータ選択手段と、上記帰還データの上記末尾ビット側に上記データ選択手段の選択データの上記先頭ビットを結合し、当該結合されたデータを上記未出力データとして上記データ出力手段に供給するデータ結合手段と、上記出力画像データの列に対して所定の処理を行う処理手段とを有する。
【００２４】
【発明の実施の形態】
第１の実施の形態
本発明に係る第１の実施の形態について、図１〜図１３を参照して説明する。
本実施の形態においては、例えば電子スチルカメラのような、静止画像を撮影して圧縮符号化し記録するカメラシステムを例示して本発明を説明する。
【００２５】
〔カメラシステム１００〕
まず、そのカメラシステムの全体の構成および動作について図１を参照して説明する。
図１は、本発明に係る第１の実施の形態のカメラシステム１００を説明するための概略的な構成図である。カメラシステム１００は、光学系１０１、ＣＣＤ１０２、Ａ／Ｄ変換部１０３、画像圧縮部１０４、ＳＤＲＡＭ１１４およびＣＰＵ１１５を有する。
また、画像圧縮部１０４は、ＣＣＤ信号処理部１０５、バス１０６、バッファ１０７、ＳＤＲＡＭインターフェイス（ＳＤＲＡＭＩ／Ｆ）１０８、ＪＰＥＧ処理部１０９、クロック生成部１１０、システムコントローラ１１１、ＣＰＵインターフェイス（ＣＰＵＩ／Ｆ）１１２およびメモリコントローラ１１３を有する。
【００２６】
光学系１０１は、使用者の操作により所望の画像を撮像し、その光信号をＣＣＤ１０２の撮像面上に結像させる。
ＣＣＤ１０２は、光学系１０１により結像された撮像面上の光信号を電気信号に変換し、アナログ画像信号としてＡ／Ｄ変換部１０３に出力する。
Ａ／Ｄ変換部１０３は、ＣＣＤ１０２より入力されたアナログ画像信号を所定の階調のデジタル信号に変換し、画像圧縮部１０４のＣＣＤ信号処理部１０５に出力する。
【００２７】
画像圧縮部１０４のＣＣＤ信号処理部１０５は、システムコントローラ１１１の制御に基づいて、入力されるデジタル画像信号をＲ（赤）、Ｇ（緑）、Ｂ（青）の各色信号に分離し、各色信号に対して色再現性のためガンマ補正を行い、さらに輝度信号と色差信号を生成する。生成された輝度信号と色差信号からなる画像信号は、バス１０６を介してバッファ１０７に出力される。
【００２８】
バッファ１０７は、ＣＣＤ信号処理部１０５よりバス１０６を介して入力される画像信号を順次記憶し、一定量蓄えられたら、メモリコントローラ１１３の制御に基づいて、ＳＤＲＡＭＩ／Ｆ１０８に出力する。また、ＳＤＲＡＭＩ／Ｆ１０８から入力される、ＳＤＲＡＭ１１４より読み出された画像データを一時的に記憶し、バス１０６を介してＪＰＥＧ処理部１０９に出力する。
ＳＤＲＡＭＩ／Ｆ１０８は、画像圧縮部１０４の外部メモリであって、メモリコントローラ１１３の制御に基づいて、バッファ１０７より入力される所定の単位ごとの画像データをＳＤＲＡＭ１１４に記憶する。また、ＳＤＲＡＭ１１４に記憶されている画像データを、８×８のブロック単位で読み出し、バッファ１０７に出力する。
【００２９】
ＪＰＥＧ処理部１０９は、システムコントローラ１１１の制御に基づいて、ＳＤＲＡＭ１１４より読み出されバッファ１０７を介して入力される画像信号をＪＰＥＧ符号化し、符号化ビットストリームを生成し、バス１０６およびＣＰＵＩ／Ｆ１１２を介してＣＰＵ１１５に出力する。このＪＰＥＧ処理部１０９の構成および動作については後に詳細に説明する。
【００３０】
クロック生成部１１０は、システムコントローラ１１１の制御に基づいて、画像圧縮部１０４内の各部で使用するクロックを生成し、その各構成部に提供する。
バス１０６は、画像圧縮部１０４内のデータバスを模式的に示したものである。このバス１０６を介して、ＣＣＤ信号処理部１０５からバッファ１０７へおよびバッファ１０７からＪＰＥＧ処理部１０９への画像データの転送、および、ＪＰＥＧ処理部１０９からＣＰＵＩ／Ｆ１１２への符号化ビットストリームの転送などが行なわれる。
【００３１】
システムコントローラ１１１は、ＣＰＵ１１５の制御に基づいて動作し、画像圧縮部１０４の動作、すなわち、入力される画像データのＳＤＲＡＭ１１４への記憶、ＳＤＲＡＭ１１４に記憶された画像データのＪＰＥＧ処理部１０９への転送、ＪＰＥＧ処理部１０９におけるＪＰＥＧ符号化、および、符号化された画像データのＣＰＵ１１５への出力などの動作が適切に実行されるように、画像圧縮部１０４の各構成部を制御する。
ＣＰＵＩ／Ｆ１１２は、ＣＰＵ１１５とのインターフェイスであり、ＣＰＵ１１５からの制御信号、画像信号の入力、ＣＰＵ１１５への制御信号、符号化データの出力などを行なう。
メモリコントローラ１１３は、システムコントローラ１１１の制御に基づいて、バッファ１０７およびＳＤＲＡＭＩ／Ｆ１０８を制御し、画像データのＳＤＲＡＭ１１４への記憶およびＳＤＲＡＭ１１４に記憶された画像データの読み出しなどを制御する。
【００３２】
ＳＤＲＡＭ１１４は、撮影された輝度信号および色差信号からなる画像データを一時的に記憶するメモリである。光学系１０１〜Ａ／Ｄ変換部１０３で撮影された画像データは、一旦ＳＤＲＡＭ１１４に記憶された後、ＪＰＥＧ処理部１０９に順次供給され、符号化され、ＣＰＵ１１５に出力され、記憶、表示、伝送などに用いられる。
ＣＰＵ１１５は、光学系１０１〜画像圧縮部１０４およびＳＤＲＡＭ１１４による所望の画像の撮像、画像処理、画像データの記憶・再生、ＪＰＥＧ符号化、ＪＰＥＧ符号化データの記憶、表示、伝送などの各処理が適切に行なわれ、カメラシステム１００が全体として所望の動作をするように、カメラシステム１００の各構成部を制御する。
【００３３】
このような構成のカメラシステム１００においては、まず、使用者の操作により光学系１０１に所望の画像が撮像されると、ＣＣＤ１０２において光信号が電気信号に変換されて画像信号が生成される。その画像信号は、Ａ／Ｄ変換部１０３でアナログ信号からデジタル信号に変換され、さらに画像圧縮部１０４のＣＣＤ信号処理部１０５において各色信号に分解され、ガンマ補正が施された後、輝度信号と色差信号からなる画像信号に変換される。
この画像信号は、バッファ１０７、ＳＤＲＡＭＩ／Ｆ１０８を介して一旦ＳＤＲＡＭ１１４に記憶された後、８×８画素のブロックごとに順次読み出されてＪＰＥＧ処理部１０９に入力される。
ＪＰＥＧ処理部１０９においては、順次入力されるブロックごとの画像データがＪＰＥＧ符号化され、所定のフォーマットのＪＰＥＧ符号化データストリームが生成され、ＣＰＵＩ／Ｆ１１２を介してＣＰＵ１１５に出力され、記憶、表示、伝送などの処理が行なわれる。
【００３４】
〔ＪＰＥＧ処理部１０９〕
次に、カメラシステム１００のＪＰＥＧ処理部１０９の内部構成およびその動作について、図２および図３を参照して説明する。
図２は、ＪＰＥＧ処理部１０９の構成を示すブロック図である。
ＪＰＥＧ処理部１０９は、ＤＣＴ・量子化部１２１、マーカ発生部１２２、可変長符号化部１２３、ＪＰＥＧ制御レジスタ１２４およびＪＰＥＧコントローラ１２５を有する。
なお、ＪＰＥＧ処理部１０９には１画素８ビットの輝度信号または１画素８ビットの色差信号が、８×８画素単位で入力されるものとする。
【００３５】
ＤＣＴ・量子化部１２１は、入力される８×８画素の画像データＳｖにＤＣＴを実行して、６４個の周波数成分（ＤＣＴ係数）に変換し、各係数を、図示せぬ量子化テーブルの対応する値を用いて量子化する。量子化されたＤＣＴ係数Ｓｑ（１１ビット）は、可変長符号化部１２３に出力される。
【００３６】
マーカ発生部１２２は、ＪＰＥＧコントローラ１２５の制御に基づいて、ＪＰＥＧビットストリームに付加する、そのビットストリームの構造を明確に表現するためのマーカＳｍを生成し、可変長符号化部１２３に出力する。
【００３７】
可変長符号化部１２３は、ＤＣＴ・量子化部１２１より入力されるＤＣＴ係数Ｓｑを可変長符号化し、得られた可変長符号化データと付加ビットデータおよびマーカ発生部１２２より入力されるマーカＳｍを、８ビット単位の符号化ビットストリームＳｄに変換して、ＪＰＥＧ処理部１０９より出力する。
【００３８】
この可変長符号化部１２３の構成を図３に示す。
図３は、可変長符号化部１２３の構成を示すブロック図である。
可変長符号化部１２３は、可変長符号算出部１３１、可変長符号テーブル１３２、ビットストリーム生成部１３３を有する。
【００３９】
可変長符号算出部１３１は、ＤＣＴ・量子化部１２１より入力される量子化後のＤＣＴ係数Ｓｑに基づいて、可変長符号テーブル１３２を参照して、ＤＣＴ係数の大きさに対応する可変長符号化データと、その可変長符号化データの符号長データを検出する。また、そのＤＣＴ係数の大きさから付加ビットデータと、その付加ビットデータのデータ長データを検出する。これら検出された可変長符号化データＳｃ、付加ビットデータＳａ、可変長符号化データ長データＳｃＬ、付加ビットデータ長データＳａＬは、各々ビットストリーム生成部１３３に出力される。
なお、可変長符号化データＳｃは２〜１６ビットのデータであり、付加ビットデータＳａは０〜１１ビットのデータである。したがって、各データ長は、５ビットおよび４ビットのデータとなる。
【００４０】
可変長符号テーブル１３２は、可変長符号化を行なうための符号化テーブルである。
【００４１】
ビットストリーム生成部１３３は、可変長符号算出部１３１より入力される可変長データである可変長符号化データＳｃおよび付加ビットデータＳａを、同じく可変長符号算出部１３１より入力される可変長符号化データ長データＳｃＬおよび付加ビットデータ長データＳａＬを参照して、８ビット固定長の１つのデータの列に変換し、さらにマーカ発生部１２２より入力されたマーカＳｍを付加して、符号化ビットストリームＳｄとして出力する。
【００４２】
ＪＰＥＧ処理部１０９のＪＰＥＧ制御レジスタ１２４は、ＤＣＴ・量子化部１２１および可変長符号化部１２３の動作を制御するデータ、パラメータなどが設定されるレジスタであり、ＣＰＵ１１５により、ＣＰＵＩ／Ｆ１１２を介して設定される。
ＪＰＥＧコントローラ１２５は、ＪＰＥＧ制御レジスタ１２４に設定されているデータ、パラメータなどに基づいて、ＤＣＴ、量子化、マーカ発生、可変長符号化およびビットストリーム生成などの処理が適切に行なわれるように、ＤＣＴ・量子化部１２１、マーカ発生部１２２および可変長符号化部１２３の動作を制御する。
【００４３】
このような構成のＪＰＥＧ処理部１０９においては、ＣＰＵ１１５からＪＰＥＧ制御レジスタ１２４に動作条件などが設定され、これによりＪＰＥＧコントローラ１２５によってＤＣＴ・量子化部１２１および可変長符号化部１２３が制御され、処理が行なわれる。
すなわち、順次入力される８×８画素ごとの画像データＳｖを、ＤＣＴ・量子化部１２１においてＤＣＴし、量子化する。
量子化されたＤＣＴ係数Ｓｑは、可変長符号化部１２３の可変長符号算出部１３１において可変長符号化され、可変長符号化データＳｃおよび付加ビットデータＳａが生成される。
そして、各々可変長データであるこの可変長符号化データＳｃおよび付加ビットデータＳａが、ビットストリーム生成部１３３において８ビット固定長のデータの列に変換されて、ＪＰＥＧ符号化データストリームＳｄとして出力される。
【００４４】
〔ビットストリーム生成部１３３〕
次に、上述したＪＰＥＧ処理部１０９の、本発明に関わる、可変長符号化部１２３のビットストリーム生成部１３３について、図４〜図１３を参照して詳細に説明する。
【００４５】
まず、図４に示すビットストリーム生成部１３３の構成について説明する。
図４は、可変長符号化部１２３のビットストリーム生成部１３３の構成を説明するための概略的な構成図である。
ビットストリーム生成部１３３は、結合部１、データ選択部２、データ結合部３、出力部４、フィルビット付加部５、データ長加算部６、データ長選択部７およびデータ長処理部８を有する。
なお、結合部１は、本発明の可変長データ結合手段の一実施形態である。
データ選択部２は、本発明のデータ選択手段の一実施形態である。
データ結合部３は、本発明のデータ結合手段の一実施形態である。
出力部４は、本発明のデータ出力手段の一実施形態である。
フィルビット付加部５は、本発明のデータ付加部の一実施形態である。
データ長加算部６は、本発明のデータ長生成手段の一実施形態である。
データ長選択部７は、本発明のデータ長選択手段の一実施形態である。
データ長処理部８は、本発明のデータ長処理手段の一実施形態である。
【００４６】
結合部１は、可変長符号算出部１３１から入力した１６ビットの可変長符号化データＳｃと１１ビットの付加ビットデータＳａとを結合して２７ビットのデータを生成し、データ選択部２に出力する。
【００４７】
この２７ビットの結合データは、例えば、結合部１に含まれている図示しないシフト回路とＯＲ回路によって、可変長符号化データＳｃと付加ビットデータＳａとがＭＳＢ側に詰められた状態となるように生成される。この場合、シフト回路に設定されるビットシフト数は、データに同期して入力されるデータ長の情報（可変長符号化データ長データＳｃＬまたは付加ビットデータ長データＳａＬ）に基づいて設定される。
例えば、ともにＭＳＢ詰めのデータとして入力される可変長符号化データＳｃおよび付加ビットデータＳａが、可変長符号化データＳｃが上位となるようにＭＳＢ側へ詰められて結合される場合には、まずシフト回路によって、付加ビットデータＳａが可変長符号化データ長データＳｃＬだけＬＳＢ側にビットシフトされる。次に、このシフトされたデータとＭＳＢ詰めの可変長符号化データＳｃとがＯＲ回路によって合成される。これにより、ＭＳＢ詰めにされた２７ビットの結合データが生成される。
【００４８】
データ選択部２は、結合部１において可変長符号化データＳｃと付加ビットデータＳａとが結合された２７ビットの結合データＳ２１、または１６ビットのマーカＳｍを選択信号ＳＥＬに応じて選択し、データ結合部３に出力するブロックである。図４の例においてセレクタ２１およびレジスタ２２を有している。
セレクタ２１は、結合部１による２７ビットの結合データ、またはマーカＳｍを選択信号ＳＥＬに応じて選択しデータ結合部３に出力する。
またレジスタ２２は、セレクタ２１において選択されたデータＳ２１を図示しない所定のシステムクロックに同期して保持し、データ結合部３に出力する。ただし、イネーブル信号ＥＮが無効になった場合には、セレクタ２１からの新しいデータの入力を停止する。
【００４９】
データ結合部３は、データ選択部２において選択された２７ビットのデータＳ２と、フィルビット付加部５から帰還されるデータＳ５とを結合して５８ビットの結合データを生成し、これを出力部４に出力するブロックである。図４の例において結合部３１およびレジスタ３２を有している。
【００５０】
結合部３１は、データ選択部２において選択された２７ビットのデータＳ２２と、フィルビット付加部５から帰還されるデータＳ５とを結合して５８ビットの結合データを生成し、これをレジスタ３２に出力する。
この５８ビットの結合データは、例えば、結合部３１に含まれている図示しないシフト回路とＯＲ回路によって、データ選択部２からのデータＳ２２とフィルビット付加部５からの帰還データＳ５とがＭＳＢ側に詰められた状態となるように生成される。この場合、シフト回路に設定されるビットシフト数は、フィルビット付加部５から帰還されるデータＳ５のデータ長（後述する帰還データ長生成部８２の出力データＳ８２）に基づいて設定される。
【００５１】
レジスタ３２は、結合部３１において生成された５８ビットの結合データを上述したシステムクロックに同期して保持し、これを出力部４に出力する。
【００５２】
出力部４は、後述するデータ処理部８において計算された結合データＳ３のデータ長ＳｔＬが３２ビットに達している場合、ＭＳＢ側の３２ビット分のデータをビットストリームＳｏｕｔとして出力し、残りのＬＳＢ側のデータを帰還データＳ４としてフィルビット付加部５に出力する。なお、このときの帰還データＳ４のデータ長は、データ長ＳｔＬから３２ビット長分を減算したデータ長になる。
また、データ長ＳｔＬが３２ビットに達していない場合は、ＭＳＢ側の３１ビット分のデータを帰還データＳ４としてそのままフィルビット付加部５に出力する。
【００５３】
フィルビット付加部５は、イネーブル信号ＥＮが有効の場合、すなわち可変長符号化データＳｃおよび付加ビットデータＳａの結合データがレジスタ２２に入力されている場合には、出力部４からの帰還データＳ４をそのまま帰還データＳ５としてデータ結合部３に出力する。また、イネーブル信号ＥＮが無効の場合には、データ長処理部８において計算された結合データＳ３のデータ長ＳｔＬに基づいてフィルビットを生成し、これを出力部４からの帰還データＳ４のＬＳＢ側に付加する。このフィルビットを付加されたデータが、帰還データＳ５としてデータ結合部３に出力される。また、このとき生成したフィルビットのデータ長ＳｂＬをデータ長処理部８に出力する。
なお、このフィルビット付加部５のさらに詳細な構成については後で説明する。
【００５４】
データ長加算部６は、可変長符号化データＳｃおよび付加ビットデータＳａにそれぞれ対応したデータ長の情報である可変長符号化データ長データＳｃＬおよび付加ビットデータ長データＳａＬを加算し、この加算結果をデータ長選択部７に出力する。したがって、データ長加算部６による加算結果のデータ長は、結合部１による結合データのデータ長と等しい。
【００５５】
データ長選択部７は、データ長加算部６の加算結果のデータ長、または入力されるマーカＳｍのデータ長ＳｍＬを選択信号ＳＥＬに応じて選択し、選択したデータ長をデータ長処理部８に出力する。なお、ＪＰＥＧにおいてマーカＳｍのデータ長ＳｍＬは通常１６ビットの固定値である。このデータ長選択部７は、図４の例において、セレクタ７１およびレジスタ７２を有している。
【００５６】
セレクタ７１は、データ長加算部６の加算結果のデータ長、または入力されるマーカＳｍのデータ長ＳｍＬを選択信号ＳＥＬに応じて選択し、選択したデータ長をレジスタ７２に出力する。
レジスタ７２は、セレクタ７１において選択されたデータ長をシステムクロックに同期して保持し、データ長処理部８に出力する。ただし、イネーブル信号ＥＮが無効になった場合には、セレクタ７１からの新しいデータの入力を停止する。
【００５７】
データ長処理部８は、データ長選択部７において選択されたデータ長、およびフィルビット付加部５において生成されたフィルビットのデータ長に基づいて、データ結合部３から出力部４に供給される結合データＳ３のデータ長ＳｔＬを算出し、これをフィルビット付加部５および出力部４に出力するブロックである。図４の例においては、レジスタ８１、帰還データ長生成部８２、データ長加算部８３、データ長加算部８４およびセレクタ８５を有する。
【００５８】
レジスタ８１は、セレクタ８５において選択された結合データ長Ｓ８５をシステムクロックに同期して保持し、保持されたデータ長を結合データＳ３のデータ長ＳｔＬとして、出力部４、フィルビット付加部５および帰還データ長生成部８２に出力する。レジスタ８１には、レジスタ３２に保持されているデータのうちの、出力部４で未だ出力されていない出力待ちデータのデータ長が保持されている。
【００５９】
帰還データ長生成部８２は、フィルビット付加部５に入力される出力部４からの帰還データＳ４のデータ長を計算するブロックである。すなわち、データ長ＳｔＬが３２ビットに達して出力部４から３２ビットのデータＳｏｕｔが出力される場合、データ長ＳｔＬから３２ビット長分を減算したデータ長Ｓ８２を生成し、これをデータ長加算部８３およびデータ長加算部８４に出力する。また、データ長ＳｔＬが３２ビットに達しない場合には、データ長ＳｔＬをそのままデータ長Ｓ８２としてデータ長加算部８３およびデータ長加算部８４に出力する。
【００６０】
データ長加算部８３は、帰還データ長生成部８２からのデータ長Ｓ８２とデータ長選択部７において選択されたデータ長とを加算し、この加算結果をセレクタ８５に出力する。
データ長加算部８４は、帰還データ長生成部８２からのデータ長Ｓ８２とフィルビット付加部５において生成されたフィルビットのデータ長ＳｂＬとを加算し、この加算結果をセレクタ８５に出力する。
【００６１】
セレクタ８５は、イネーブル信号ＥＮが無効になった場合にデータ長加算部８４による加算結果のデータ長Ｓ８４を選択し、これをレジスタ８１に出力する。また、イネーブル信号ＥＮが有効の場合には、データ長加算部８３による加算結果のデータ長Ｓ８３を選択し、これをレジスタ８１に出力する。
【００６２】
次に、上述した構成を有するビットストリーム生成部１３３においてビットストリームが生成される動作を説明する。
【００６３】
まず、選択信号ＳＥＬによって可変長データが選択されている場合について説明する。この場合、データ選択部２のセレクタ２１には選択信号ＳＥＬによって結合部１の出力データが選択されており、レジスタ２２には可変長符号化データＳｃと付加ビットデータＳａとが結合された２７ビットの結合データが保持されている。またこれに対応して、データ長選択部７のセレクタ７１には選択信号ＳＥＬによってデータ加算部６の出力データ長が選択されており、レジスタ７２には可変長符号化データ長データＳｃＬと付加ビットデータ長データＳａＬとが加算されたデータ長が保持されている。すなわち、レジスタ７２には、レジスタ２２に保持された結合データのデータ長が保持されている。
【００６４】
また、入力データとして可変長データが選択されている場合、イネーブル信号ＥＮは常に有効であるため、フィルビット付加部５によるフィルビットの生成と付加動作は停止され、出力部４からの帰還データＳ４はそのまま帰還データＳ５としてデータ結合部３の結合部３１に供給されている。この帰還データＳ５と、データ選択部２において保持された入力の可変長データＳ２とが結合部３１において結合されて、レジスタ３２に保持されている。
【００６５】
また、イネーブル信号ＥＮが有効であるため、データ長処理部８のセレクタ８５においてデータ長加算部８３による加算データ長Ｓ８３が選択され、これがレジスタ８１に保持されている。この加算データ長Ｓ８３はデータ選択部２のレジスタ２２に保持された可変長データＳ２のデータ長と、帰還データ長生成部８２において生成された帰還データＳ４のデータ長Ｓ８２とが加算されたデータであり、レジスタ３２に保持される前の結合データＳ３１のデータ長に相当する。
【００６６】
この状態で可変長符号化データＳｃおよび付加ビットデータＳａが順次入力されると、データ結合部３のレジスタ３２に保持された未出力データのデータ長ＳｔＬが３２ビットに満たない場合、出力部４から帰還される未出力の帰還データＳ５のＬＳＢ側に、レジスタ２２の可変長データＳ２のＭＳＢ側が結合され、この結合データがレジスタ３２に順次保持される。また、データ長処理部８のレジスタ８１には、レジスタ７２に入力される可変長データＳ２のデータ長が順次積算されて保持される。したがって、未出力データのデータ長ＳｔＬは可変長データ（可変長符号化データＳｃ、付加ビットデータＳａ）の入力とともに長くなる。
【００６７】
そしてこの未出力データ長ＳｔＬが３２ビットに達すると、レジスタ３２に保持された未出力データのＭＳＢ側３２ビットは出力部４から出力データＳｏｕｔとして出力され、残りのＬＳＢ側２６ビットはフィルビット付加部５に帰還される。また、データ長処理部８の帰還データ長生成部８２においては、未出力データのデータ長ＳｔＬから出力データ長（３２ビット）が減算される。したがって、未出力データ長ＳｔＬが３２ビットに達して出力部４から３２ビットづつデータが出力される度に、未出力データのデータ長ＳｔＬは３２ビットづつ短くなる。
【００６８】
このように、順次入力される可変長符号化データＳｃおよび付加ビットデータＳａはデータ結合部３において順次結合されて保持され、この保持されたデータのＭＳＢ側３２ビットのデータが出力部４から順次出力される。
出力部４から出力される３２ビットのビットストリームＳｏｕｔは、さらにビットストリーム生成回路１３３の図示しない回路によって８ビットのビットストリームに変換されて、画像圧縮部１０４のバス１０６に順次出力される。例えば、システムクロックの４倍の周波数を有するクロックに同期して動作するセレクタ回路によりこの生成された３２ビットから８ビットづつのデータを順次選択し、選択されたデータを８ビットのレジスタに順次保持して出力することにより、８ビットのビットストリームが得られる。
【００６９】
次に、選択信号ＳＥＬが変化して入力データが可変長データからマーカＳｍに切り換えられる場合について説明する。この場合、データ選択部２のセレクタ２１においてはマーカＳｍが選択されてレジスタ２２に保持される。また、データ長選択部７のセレクタ７１においてはマーカＳｍのデータ長ＳｍＬが選択されてレジスタ７２に保持される。すなわち、レジスタ２２にはマーカＳｍが保持され、レジスタ７２にはマーカＳｍのデータ長ＳｍＬが保持される。
【００７０】
この選択信号ＳＥＬの変化に応じてイネーブル信号ＥＮが無効になると、フィルビット付加部５において未出力データ長ＳｔＬに応じたデータ長のフィルビットが生成されて帰還データＳ４のＬＳＢ側に付加されるとともに、このフィルビット長ＳｂＬがデータ長処理部８のデータ長加算部８４に出力される。また、データ長処理部８のセレクタ８５において、このフィルビット長ＳｂＬと帰還データ長Ｓ８２とが加算された加算データ長Ｓ８４が選択され、これがレジスタ８１に保持される。また、イネーブル信号ＥＮが無効なので、レジスタ２２およびレジスタ７２による新たなデータの保持が停止される。すなわち、レジスタ２２のマーカＳｍおよびレジスタ７２のデータ長ＳｍＬはそのまま保持され続ける。
【００７１】
こうして一旦フィルビットが帰還データＳ４に付加されると、レジスタ３２に保持される未出力データ長ＳｔＬは１バイトの整数倍のデータ長になり、この後のクロックサイクルで生成されるフィルビット長ＳｂＬはゼロになる。したがって、レジスタ８１に保持される未出力データ長ＳｔＬは一定となる。
また、レジスタ２２に保持されたマーカＳｍは、フィルビット付加部５において付加されたフィルビットの末尾に結合されてレジスタ３２に保持されるが、未出力データ長ＳｔＬにマーカＳｍのデータ長ＳｍＬが加算されていないためマーカＳｍの部分は未出力データの範囲に含まれない。したがって、この部分が出力部４から出力されることはない。
【００７２】
ここで、再び選択信号ＳＥＬによる入力データの選択がマーカＳｍから可変長データに切り換わり、これに応じてイネーブル信号ＥＮが有効状態に戻ると、停止されていたレジスタ２２およびレジスタ７２による新たなデータの保持が再開される。
また、レジスタ８１には未出力データ長ＳｔＬにマーカデータ長ＳｍＬが加算されたデータ長が保持されるので、フィルビットの末尾に結合されたマーカＳｍを含む結合データＳ３が出力部４による出力対象のデータとなる。
以降、可変長データの結合と３２ビットデータの出力によるビットストリームの上述した生成動作が反復される。
【００７３】
ここで、上述したビットストリームの生成動作の具体例について、図５および図６を参照しながら説明する。図５は、システムクロックに対する選択信号ＳＥＬおよびイネーブル信号ＥＮのタイミング例を示すタイミング図である。また図６は、図５に示すタイミング図の時刻Ｔ１〜時刻Ｔ４においてレジスタ２２およびレジスタ３２に保持されるデータの例を示す図である。
なお、図５の例においては選択信号ＳＥＬがハイレベルの場合にマーカＳｍが選択され、ローレベルの場合に可変長データが選択される。イネーブル信号ＥＮは、ハイレベルの場合に有効となり、ローレベルの場合に無効となる。また、図４の各レジスタには、システムクロックＣＬＫの立ち上がりに同期してデータが保持される。
【００７４】
時刻Ｔ１：
セレクタ２１において可変長データが選択されており、結合部１からの１１ビットの可変長データがレジスタ２２に保持される。またレジスタ３２には７ビットの未出力データが保持される。
【００７５】
時刻Ｔ２：
選択信号ＳＥＬがハイレベルとなり、セレクタ２１において１６ビットのマーカＳｍが選択されてレジスタ２２に保持される。また、時刻Ｔ１にレジスタ２２に保持されていた１１ビットの可変長データが７ビットの未出力データのＬＳＢ側に結合されて、レジスタ３２に保持される。
【００７６】
時刻Ｔ３：
選択信号ＳＥＬがハイレベルとなり、レジスタ２２には結合部１からの出力データが選択されているが、イネーブル信号ＥＮが無効となっているため、レジスタ２２に保持されたマーカＳｍはそのまま保持され続ける。
また、イネーブル信号ＥＮが無効であるためフィルビット付加部５におけるフィルビットの生成および付加動作が有効となり、レジスタ３２に保持された未出力データのデータ長１８ビット（７ビット＋１１ビット）に応じた６ビットのフィルビットが生成される。未出力データのデータ長は３２ビットに達していないので、この未出力データはそのまま帰還データＳ４としてフィルビット付加部５に帰還され、ＬＳＢ側に６ビットのフィルビットが付加される。これにより２４ビットの帰還データＳ５が生成されて、結合部３１に入力される。この２４ビットの帰還データＳ５はＭＳＢ側に詰められて結合部３１から出力され、そのままレジスタ３２に保持される。
【００７７】
時刻Ｔ４：
イネーブル信号ＥＮが有効となりレジスタ２２の保持動作が再開されることにより、結合部１からの２０ビットの可変データがクロックの立ち上がりに同期してレジスタ２２に保持される。
また、レジスタ２２に保持されていた１６ビットのマーカＳｍは、結合部３１において２４ビットの帰還データＳ５のＬＳＢ側に結合されてレジスタ３２に保持される。
【００７８】
このように、６ビットのフィルビットがフィルビット付加部５において未出力データの末尾側に付加されることにより、マーカＳｍのデータ境界はビットストリームのバイト境界と一致する。
【００７９】
［フィルビット付加部５］
次に、上述したビットストリーム生成部１３３のフィルビット付加部５について、図７〜図１３を参照して詳細に説明する。
【００８０】
図７は、図４に示したフィルビット付加部５を説明するための概略的な構成図であり、この図においてフィルビット付加部５は、フィルビット長生成部５１、フィルビット生成部および結合部５３を有する。
なお、フィルビット長生成部５１は、本発明の調整データ長設定手段の一実施形態である。
フィルビット生成部５２は、本発明の調整データ生成手段の一実施形態である。
結合部５３は、本発明の付加手段の一実施形態である。
【００８１】
結合部５３は、出力部４から入力した帰還データＳ４のＬＳＢ側にフィルビット生成部５２で生成されたフィルビットＳｂを付加し、全体をＭＳＢ側に詰めた３２ビットの帰還データＳ５を生成する。
帰還データＳ４はＭＳＢ側に詰められているので、例えば、結合部５３に含まれている図示しないシフト回路によりフィルビットＳｂをＭＳＢから帰還データＳ４のデータ長ＳｔＬだけＬＳＢ側にビットシフトさせ、このシフトされたフィルビットＳｂと帰還データＳ４とを図示しないＯＲ回路により合成することで、フィルビットＳｂが付加された帰還データＳ５を生成することができる。
【００８２】
フィルビット長生成部５１は、データ長処理部８において計算された未出力データ長ＳｔＬの下位３ビットに応じてフィルビットのデータ長ＳｂＬを生成し、これをフィルビット生成部５２およびデータ長処理部８のデータ長加算部８４に出力する。
【００８３】
図８は、図７に示したフィルビット長生成部５１の一例を説明するための概略的な構成図であり、この図においてフィルビット長生成部５１は、３ビット入力のＮＯＴ回路５１１および加算部５１２を有している。
このフィルビット長生成部５１においては、未出力データ長ＳｔＬの下位３ビットがＮＯＴ回路５１１において各ビットごとにビット値が反転されており、さらに反転後のデータの最下位ビットに値”１”のデータが加算されて、３ビットのフィルビット長ＳｂＬが生成されている。
ただし、イネーブル信号ＥＮが有効の場合には、図示しないゲート回路等によってフィルビット長は強制的にゼロに設定されるため、後述のフィルビット生成部５２においてフィルビットは生成されない。したがって、上述した結合部５３に入力される帰還データＳ４はそのまま帰還データＳ５としてデータ結合部３に出力される。
【００８４】
図９は、未出力データ長ＳｔＬとフィルビット長ＳｂＬとの対応例を示す図である。図９から分かるように、未出力データ長ＳｔＬの下位３ビットが値”０００”の場合はフィルビットの挿入が必要なく、またフィルビットが挿入必要な場合には、未出力データ長ＳｔＬの下位３ビットにフィルビット長ＳｂＬが加算された結果が値”１０００”となるように、フィルビット長ＳｂＬが設定されている。したがって、値”１０００”から未出力データ長ＳｔＬの下位３ビットが減算されることによってフィルビット長ＳｂＬが得られることになり、これは値”１１１”からの減算結果に値”１”が加算された結果と等しくなる。すなわち、未出力データ長ＳｔＬの下位３ビットがビット反転された結果に値”１”が加算される図８のフィルビット長生成部５１によって、フィルビット長ＳｂＬが生成される。
【００８５】
なお、図８に示すフィルビット長生成部は一例であり、他の構成も可能である。より一般的な例として、例えば未出力データ長ＳｔＬを境界の単位となるデータ長（バイト境界の場合には８ビット）で除した商を計算し、この計算結果と当該単位データ長との差分としてフィルビット長を求めることもできる。
以上がフィルビット長生成部５１の説明である。
【００８６】
次に図７のフィルビット生成部５２について説明する。
フィルビット生成部５２は、フィルビット長生成部５１において生成されたフィルビット長ＳｂＬに応じてＭＳＢ詰めにされたフィルビットを生成し、これを結合部５３に入力する。
【００８７】
図１０は、図７に示したフィルビット生成部の一例を説明するための概略的な構成図であり、この図においてフィルビット生成部５２はセレクタ５２１を有する。
図１１に示すように、フィルビット長（０ビット〜７ビット）とＭＳＢ詰めにされた８種類のフィルビットとは一対一に対応している。この８種類のフィルビットがセレクタ５２１に入力されており、フィルビット長ＳｂＬに応じてこれらのフィルビットから対応するフィルビットが選択され、結合部５３に出力される。
【００８８】
図１２は、図７に示したフィルビット生成部の他の例を説明するための概略的な構成図であり、この図においてフィルビット生成部５２’は、セレクタ５２１’、およびデータ生成部５２２’〜データ生成部５２５’を有する。
【００８９】
データ生成部５２２’〜データ生成部５２５’は、フィルビット長ＳｂＬの最下位ビットＦ０、第１ビットＦ１の値に応じた２ビットのデータＦ１ｖ、および第２ビットＦ２の値に応じた４ビットのデータＦ２ｖをそれぞれ所定の順序で結合して７ビットのデータを生成し、これをセレクタ５２１’に出力する。
セレクタ５２１’は、データ生成部５２２’〜データ生成部５２５’の生成データから、フィルビット長ＳｂＬの上位２ビットのデータに応じて一のデータを選択し、フィルビットＳｂとして出力する。
【００９０】
図１３は、図１２に示したフィルビット生成部５２’において生成されるフィルビットとフィルビット長との対応例を示す図である。フィルビット長ＳｂＬのビットＦ１に対応する２ビットのデータＦ１ｖは、ビットＦ１を２ビット分連ねたデータとして生成され、ビットＦ２に対応する４ビットのデータＦ２ｖは、ビットＦ２を４ビット分連ねたデータとして生成される。
【００９１】
このデータＦ１ｖ、データＦ２ｖおよびビットＦ０が｛Ｆ０，Ｆ１ｖ，Ｆ２ｖ｝、｛Ｆ１ｖ，Ｆ０，Ｆ２ｖ｝、｛Ｆ２ｖ，Ｆ０，Ｆ１ｖ｝および｛Ｆ２ｖ，Ｆ１ｖ，Ｆ０｝という４通りの組み合わせで結合されることにより、ＭＳＢ詰めにされた７ビットのフィルビットを図１１と同じ対応関係で生成することができる。また、これらの４通りの組み合わせは、それぞれフィルビット長ＳｂＬの上位２ビットのデータ（ビットＦ１およびビットＦ２）と一対一に対応しているので、この２ビットのデータを使って４通りの組み合わせのうちの１つを選択することにより、図１１と同じ対応関係で、フィルビット長ＳｂＬからフィルビットＳｂを生成することができる。
図１２に示したフィルビット生成部５２’は、図１０のフィルビット生成部５２に比べてセレクタ回路で選択されるデータの数が半分になるので、フィルビット生成部５２より回路規模を小さくすることができる。
【００９２】
以上説明したように、第１の実施の形態の図４に示すビットストリーム生成部１３３によれば、データ結合部３において結合されたデータで未出力のデータのデータ長ＳｔＬが３２ビットに達した場合、当該未出力データの上記ＭＳＢ側から３２ビット分のデータが出力部４において出力され、当該出力後の残りのデータが帰還データＳ４としてフィルビット付加部５に出力される。また、未出力データのデータ長が３２ビットに達しない場合は、この未出力データがそのまま帰還データＳ４としてフィルビット付加部５に出力される。選択信号ＳＥＬに応じて選択された入力データが可変長データの場合、フィルビット付加部５に入力された帰還データＳ４はそのまま帰還データＳ５としてデータ結合部３に出力され、選択信号ＳＥＬに応じて選択された入力データがマーカＳｍの場合には、帰還データＳ４のデータ長ＳｔＬと１バイトの整数倍のデータ長との差分のデータ長を有するフィルビットＳｂがフィルビット付加部５において生成され、帰還データＳ４のＬＳＢ側に付加された後、帰還データＳ５としてデータ結合部３に出力される。データ結合部３においては、帰還データＳ５のＬＳＢ側にデータ選択部２からの入力データのＭＳＢが結合されて、出力部４に供給される。したがって、システムクロックに同期して順次入力される可変長データは、同じシステムクロックに同期して順次３２ビットのデータに変換されるとともに、マーカＳｍが挿入される場合にも、フィルビットの生成および付加動作による１クロックの待ち時間が発生するだけなので、例えばソフトウェアにより同一の機能を実現させる場合に比べて、フィルビットの挿入処理を含むビットストリーム生成処理を大幅に効率化できる。
【００９３】
第２の実施の形態
次に、本発明に係る第２の実施の形態について、図１４〜図１７を参照して説明する。
上述した第１の実施の形態においては、フィルビットの生成および付加動作が行われる場合に、イネーブル信号ＥＮを受けたレジスタ２２およびレジスタ７２において新しいデータの入力が停止される。このため、データの入力に少なくとも１クロックの待ち時間が発生してしまう問題がある。本実施の形態は、この待ち時間を発生することなしにフィルビットの生成および付加動作を実行できるものである。
【００９４】
本実施の形態のカメラシステムの全体の構成および動作、そのＪＰＥＧ処理部の内部構成および動作、および、その可変長符号化部の構成については、図１〜図３を参照して上述した第１の実施の形態のカメラシステム１００と同じなので、その説明は省略する。
以後、本実施の形態の特徴である、可変長符号化部１２３のビットストリーム生成部１３３’について説明する。
【００９５】
〔ビットストリーム生成部１３３’〕
まず、ビットストリーム生成部１３３’の構成について図１４を参照して説明する。
図１４は、本発明に係る第２の実施の形態のビットストリーム生成部１３３’を説明するための概略的な構成図である。ビットストリーム生成部１３３’は、結合部１、データ選択部２’、データ結合部３、出力部４、フィルビット付加部５’、データ長加算部６、データ長選択部７’、データ長処理部８’およびデータ長加算部９を有する。ただし、図４と図１４の同一符号は同一の構成要素を示している。
また、フィルビット付加部５’は、本発明のデータ付加部の一実施形態である。
データ長加算部６は、本発明の第１のデータ長生成手段の一実施形態である。
データ長処理部８’は、本発明のデータ長処理手段の一実施形態である。
データ長加算部９は、本発明の第２のデータ長生成手段の一実施形態である。
【００９６】
結合部１は、可変長符号算出部１３１から入力した１６ビットの可変長符号化データＳｃと１１ビットの付加ビットデータＳａとを結合して２７ビットのデータを生成し、データ選択部２’に出力する。
【００９７】
データ選択部２’は、結合部１において可変長符号化データＳｃと付加ビットデータＳａとが結合された２７ビットの結合データＳ２１、または後述するフィルビット付加部５’においてフィルビットが付加されたマーカＳｍ’を選択信号ＳＥＬに応じて選択し、データ結合部３に出力する。
図４におけるデータ選択部２との違いは、レジスタ２２’がイネーブル信号ＥＮに応じてデータの入力を停止されないことにある。
【００９８】
データ結合部３は、データ選択部２において選択された２７ビットのデータＳ２と、出力部４から帰還されるデータＳ４とを結合して５８ビットの結合データを生成し、これを出力部４に出力する。
【００９９】
出力部４は、後述するデータ長処理部８’において計算された結合データＳ３のデータ長ＳｔＬが３２ビットに達している場合、ＭＳＢ側の３２ビット分のデータをビットストリームＳｏｕｔとして出力し、残りのＬＳＢ側のデータを帰還データＳ４としてデータ結合部３に帰還する。なお、このときの帰還データＳ４のデータ長は、データ長ＳｔＬから３２ビット長分を減算したデータ長になる。また、データ長ＳｔＬが３２ビットに達していない場合は、ＭＳＢ側の３１ビット分のデータを帰還データＳ４としてデータ結合部３に帰還する。
【０１００】
フィルビット付加部５’は、データ長処理部８’において計算された結合部３１の結合データＳ３１のデータ長ＳｋＬに基づいてフィルビットを生成し、入力される１６ビットのマーカＳｍのＭＳＢ側に付加する。このフィルビットを付加されたデータが、マーカＳｍ’としてデータ選択部２に出力される。また、このとき生成したフィルビットのデータ長ＳｂＬをデータ長加算部９に出力する。
【０１０１】
図１５は、このフィルビット付加部５’を説明するための概略的な構成図であり、この図においてフィルビット付加部５’は、フィルビット長生成部５１’、フィルビット生成部５２および結合部５３’を有している。ただし、図７と図１５の同一符号は同一の構成要素を示している。
図７に示すフィルビット付加部５では、結合部５３において、入力される帰還データＳ４のＬＳＢ側にフィルビットが付加されるのに対して、図１５に示すフィルビット付加部５’の結合部５３’では、入力されるマーカＳｍのＭＳＢ側にフィルビットが付加される。またフィルビット長生成部５１’はイネーブル信号ＥＮに応じて出力値が制御されなくなる。これら点においてフィルビット付加部５とフィルビット付加部５’とは異なっているが、その他の構成（フィルビット生成部５２）については同一である。
【０１０２】
データ長加算部６は、可変長符号化データＳｃおよび付加ビットデータＳａにそれぞれ対応したデータ長の情報である可変長符号化データ長データＳｃＬおよび付加ビットデータ長データＳａＬを加算し、この加算結果をデータ長選択部７’に出力する。したがって、データ長加算部６による加算結果のデータ長は、結合部１による結合データのデータ長と等しい。
【０１０３】
データ長加算部９は、マーカＳｍおよびフィルビットＳｂにそれぞれ対応したデータ長の情報であるマーカＳｍＬおよびフィルビット長ＳｂＬを加算し、この加算結果をデータ長選択部７’に出力する。したがって、データ長加算部９による加算結果のデータ長は、フィルビット付加部５’においてマーカＳｍにフィルビットＳｂが付加されたマーカＳｍ’のデータ長と等しい。
【０１０４】
データ長選択部７’は、データ長加算部６の加算結果のデータ長、またはデータ長加算部９の加算結果のデータ長を選択信号ＳＥＬに応じて選択してデータ長処理部８’に出力する。
図４におけるデータ長選択部７との違いは、レジスタ７２’がイネーブル信号ＥＮに応じてデータの入力を停止されないことにある。
【０１０５】
データ長処理部８’は、データ長選択部７’において選択されたデータ長に基づいて、データ結合部３から出力部４に供給される結合データＳ３のデータ長ＳｔＬを算出し、これを出力部４に出力する。またデータ結合部３の結合部３１におけるデータ長ＳｔＬをフィルビット付加部５’に出力する。
図１４に示すデータ長処理部８’は、データ長加算部８４およびセレクタ８５が削除され、データ長加算部８３の加算結果がそのままレジスタ８１に出力されている点において図４に示すデータ長処理部８と異なっているが、その他の各構成（レジスタ８１、帰還データ長生成部８２、データ長加算部８３）についてはデータ長処理部８と同一である。
【０１０６】
次に、上述した構成を有するビットストリーム生成部１３３’においてビットストリームが生成される動作を説明する。
【０１０７】
まず、選択信号ＳＥＬによって可変長データが選択されている場合について説明する。この場合、データ選択部２’のセレクタ２１には選択信号ＳＥＬによって結合部１の出力データが選択されており、レジスタ２２’には可変長符号化データＳｃと付加ビットデータＳａとが結合された２７ビットの結合データが保持されている。またこれに対応して、データ長選択部７’のセレクタ７１には選択信号ＳＥＬによってデータ加算部６の出力データ長が選択されており、レジスタ７２’には可変長符号化データ長データＳｃＬと付加ビットデータ長データＳａＬとが加算されたデータ長が保持されている。すなわち、レジスタ７２’には、レジスタ２２’に保持された結合データのデータ長が保持されている。
【０１０８】
この状態で可変長符号化データＳｃおよび付加ビットデータＳａが順次入力されると、データ結合部３のレジスタ３２に保持された未出力データのデータ長ＳｔＬが３２ビットに満たない場合、出力部４から帰還される未出力の帰還データＳ４のＬＳＢ側に、レジスタ２２’の可変長データＳ２のＭＳＢ側が結合され、この結合データがレジスタ３２に順次保持される。また、データ長処理部８’のレジスタ８１には、レジスタ７２’に入力される可変長データＳ２のデータ長が順次積算されて保持される。したがって、未出力データのデータ長ＳｔＬは可変長データ（可変長符号化データＳｃ、付加ビットデータＳａ）の入力とともに長くなる。
【０１０９】
そしてこの未出力データ長ＳｔＬが３２ビットに達すると、レジスタ３２に保持された未出力データのＭＳＢ側３２ビットは出力部４から出力データＳｏｕｔとして出力され、残りのＬＳＢ側２６ビットはデータ結合部３に帰還される。また、データ長処理部８’の帰還データ長生成部８２においては未出力データのデータ長ＳｔＬから出力データ長（３２ビット）が減算される。したがって、未出力データ長ＳｔＬが３２ビットに達して出力部４から３２ビットづつデータが出力される度に、未出力データのデータ長ＳｔＬは３２ビットづつ短くなる。
【０１１０】
このように、順次入力される可変長符号化データＳｃおよび付加ビットデータＳａはデータ結合部３において順次結合されて保持され、この保持されたデータのＭＳＢ側３２ビットのデータが出力部４から順次出力される。
出力部４から出力される３２ビットのビットストリームＳｏｕｔは、さらにビットストリーム生成回路１３３’の図示しない回路によって８ビットのビットストリームに変換されて、画像圧縮部１０４のバス１０６に順次出力される。例えば、システムクロックの４倍の周波数を有するクロックに同期して動作するセレクタ回路によりこの生成された３２ビットから８ビットづつのデータを順次選択し、選択されたデータを８ビットのレジスタに順次保持して出力することにより、８ビットのビットストリームが得られる。
【０１１１】
次に、選択信号ＳＥＬが変化して入力データが可変長データからマーカＳｍに切り換えられる場合であるが、この場合、入力されるデータが可変長データからマーカＳｍに切り換わっただけであるため、上述したデータの結合と出力の動作は入力データが可変長データの場合と同様に行われる。
【０１１２】
図４のビットストリーム生成部１３３と図１４のビットストリーム生成部１３３’との違いは、選択信号ＳＥＬの状態に係わらずマーカＳｍに付加すべきフィルビットが常に生成され、このフィルビットを付加されたマーカＳｍ’がレジスタ２２’に保持される前に確定していることにある。
【０１１３】
レジスタ２２’に保持される前のマーカＳｍに対して付加すべきフィルビット長の値は、帰還データＳ４のデータ長と、既にレジスタ２２’に保持された入力データのデータ長との和（すなわち次のクロックでレジスタ３２に保持される未出力データＳ３１のデータ長）が、８ビット長の整数倍のデータ長に対して有する差分に応じて決定される。したがって、この和のデータ長に相当するデータ加算部８３のデータ長ＳｋＬがフィルビット付加部５’に供給されると、選択信号ＳＥＬの状態とは無関係に、フィルビット長ＳｂＬおよびフィルビットＳｂが決定される。このため、マーカＳｍとして挿入すべきデータがシステムクロックに同期してセットされると、次のクロックでレジスタ２２’に入力データが保持されるより前に、フィルビット付加部５’においてフィルビットが付加されたマーカＳｍ’が生成され、選択信号ＳＥＬに応じててレジスタ２２’に供給される。
【０１１４】
ここで、上述したビットストリームの生成動作の具体例について、図１６および図１７を参照しながら説明する。図１６は、システムクロックに対する選択信号ＳＥＬのタイミング例を示すタイミング図である。また図１７は、図１６に示すタイミング図の時刻Ｔ１’〜時刻Ｔ３’においてレジスタ２２’およびレジスタ３２に保持されるデータの例を示す図である。
なお、図１６の例においては選択信号ＳＥＬがハイレベルの場合にマーカＳｍが選択され、ローレベルの場合に可変長データが選択される。また、図１４の各レジスタには、システムクロックＣＬＫの立ち上がりに同期してデータが保持される。
【０１１５】
時刻Ｔ１’：
セレクタ２１において可変長データが選択されており、結合部１からの７ビットの可変長データがレジスタ２２’に保持される。またレジスタ３２には１１ビットの未出力データが保持される。
また、この時刻Ｔ１’から時刻Ｔ２’の間において、レジスタ２２’に保持された可変長データのデータ長と、レジスタ３２に保持された未出力データのデータ長とが加算されたデータ長（７ビット＋１１ビット＝１８ビット）がデータ長ＳｋＬとしてフィルビット付加部５’に供給される。フィルビット付加部５’において、この供給されたデータ長ＳｋＬに基づいて６ビットのフィルビットが生成され、生成されたフィルビットがマーカＳｍのＭＳＢ側に付加されてデータ選択部２’に供給される。
【０１１６】
時刻Ｔ２’：
選択信号ＳＥＬがハイレベルとなり、セレクタ２１においてフィルビット付加部５’のマーカＳｍ’が選択されてレジスタ２２’に保持される。また、時刻Ｔ１’においてレジスタ２２’に保持されていた７ビットの可変長データが１１ビットの未出力データのＬＳＢ側に結合されて、レジスタ３２に保持される。これにより、未出力データのデータ長は１８ビットとなる。
【０１１７】
時刻Ｔ３’：
選択信号ＳＥＬがハイレベルとなり、レジスタ２２’には結合部１からの１４ビットの可変長データが保持される。また、時刻Ｔ２’にレジスタ２２’に保持されていたフィルビットとマーカＳｍの結合データは、１８ビットの未出力データのＬＳＢ側に結合されて、レジスタ３２に保持される。
【０１１８】
このように、６ビットのフィルビットがフィルビット付加部５’においてマーカＳｍのＭＳＢ側に付加されることにより、マーカＳｍのデータ境界はビットストリームのバイト境界と一致する。
【０１１９】
以上説明したように、第２の実施の形態の図１４に示すビットストリーム生成部１３３’によれば、データ結合部３において結合されたデータで未出力のデータのデータ長ＳｔＬが３２ビットに達した場合、当該未出力データのＭＳＢ側から３２ビット分のデータが出力部４において出力され、当該出力後の残りのデータが帰還データＳ４としてデータ結合部３に出力される。また、未出力データのデータ長が３２ビットに達しない場合は、この未出力データがそのまま帰還データＳ４としてデータ結合部３に出力される。またフィルビット付加部５’において、入力データＳ２と帰還データＳ４のデータ長がデータ長加算部８３において加算されたデータ長ＳｋＬと、１バイトの整数倍のデータ長との差分のデータ長を有するフィルビットＳｂが生成される。この生成されたフィルビットＳｂは、入力されるマーカＳｍのＭＳＢ側に付加されてデータ選択部２’に出力される。データ選択部２’において、上記フィルビットが付加されたマーカＳｍ’、または順次入力される可変長データが選択信号ＳＥＬに応じて選択される。データ結合部３において、この選択されたデータのＭＳＢ側が帰還データＳ４のＬＳＢ側に結合されて出力部４に供給される。したがって、システムクロックに同期して順次入力される可変長データは、同じシステムクロックに同期して順次３２ビットのデータに変換されるとともに、マーカＳｍが挿入される場合において、フィルビットの生成および付加動作による待ち時間が発生しないので、上記した第１の実施の形態に比べて、フィルビットの挿入処理を含むビットストリーム生成処理をさらに効率化できる。またビットストリーム生成部１３３’においては、データ長処理部８のセレクタ８５やデータ長加算部８４が削除されるので、第１の実施の形態に比べて回路規模を小さくすることができる。また、イネーブル信号ＥＮによる制御が不要になるので、制御方法を簡易化できる。
【０１２０】
なお、本発明は本実施の形態に限られるものではなく、種々の改変が可能である。
たとえば、図１に示したカメラシステム、図２に示したＪＰＥＧ処理部および図３に示した可変長符号化部の構成は、各々これに限られるものではなく、任意の構成でよい。
また、本発明に係る図４および図１４に示したビットストリーム生成部の構成や、図７、図８、図１０、図１２および図１５に示したフィルビット付加部の構成なども、任意に変更してよい。
【０１２１】
また、本発明は、ＪＰＥＧ符号化以外の任意の符号化データや、符号化の結果ではない任意の可変長データに対しても適用可能である。
また、本発明は、ＪＰＥＧ符号化、画像符号化に限定されるものではない。また、カメラシステムにのみ限定されるものではない。可変長符号化処理を含む任意の信号処理装置に対しても適用可能である。
【０１２２】
【発明の効果】
このように本発明によれば、フィルビットの挿入処理を効率よく行なうことにより、より小さい回路規模で、簡単な構成、制御により、可変長データの列から所定のビット幅の固定長データの列を生成するデータストリーム生成装置とその方法を提供することができる。
また、フィルビットの挿入処理を効率よく行なうことにより、より小さい回路規模で、簡単な構成、制御により、所望のデータを可変長符号化し効率よく所定のデータストリームを生成する可変長符号化データストリーム生成装置とその方法を提供することができる。
さらに、所望の画像を撮影し、撮影した画像データを可変長符号化するカメラシステムであって、特に、より小さい回路規模で、簡単な構成、制御により、撮影した画像データを可変長符号化し、効率よく画像データストリームを生成するカメラシステムを提供することができる。
【図面の簡単な説明】
【図１】本発明に係る第１の実施の形態のカメラシステムを説明するための概略的な構成図である。
【図２】図１に示したカメラシステムのＪＰＥＧ処理部を説明するための概略的な構成図である。
【図３】図２に示したＪＰＥＧ処理部の可変長符号化部を説明するための概略的な構成図である。
【図４】図３に示した可変長符号化部のビットストリーム生成部の構成を説明するための概略的な構成図である。
【図５】システムクロックに対する選択信号およびイネーブル信号のタイミング例を示すタイミング図である。
【図６】図５に示すタイミング図の各時刻において各レジスタに保持されるデータの例を示す図である。
【図７】図４に示したフィルビット付加部を説明するための概略的な構成図である。
【図８】図７に示したフィルビット長生成部を説明するための概略的な構成図である。
【図９】未出力データ長とフィルビット長との対応例を示す図である。
【図１０】図７に示したフィルビット生成部を説明するための概略的な構成図である。
【図１１】フィルビット長とフィルビットとの対応例を示す図である。
【図１２】図７に示したフィルビット生成部の他の例を説明するための概略的な構成図である。
【図１３】図１２に示したフィルビット生成部によって生成されるフィルビットとフィルビット長との対応例を示す図である。
【図１４】本発明に係る第２の実施の形態のビットストリーム生成部を説明するための概略的な構成図である。
【図１５】図１４に示すビットストリーム生成部のフィルビット付加部を説明するための概略的な構成図である。
【図１６】システムクロックに対する選択信号のタイミング例を示すタイミング図である。
【図１７】図１６に示すタイミング図の各時刻において各レジスタに保持されるデータの例を示す図である。
【符号の説明】
１…結合部、２…データ選択部、３…データ結合部、４…出力部、５，５’…フィルビット付加部、６…データ長加算部、７…データ長選択部、８，８’…データ長処理部、９…データ長加算部、２１…セレクタ、２２…レジスタ、３１…結合部、３２…レジスタ、５１…フィルビット長生成部、５２…フィルビット生成部、５３，５３’…結合部、８１…結合データ長生成部、８２…セレクタ、８３…レジスタ、８４…データ長加算部、１００…カメラシステム、１０１…光学系、１０２…ＣＣＤ、１０３…Ａ／Ｄ変換部、１０４…画像圧縮部、１０５…ＣＣＤ信号処理部、１０６…バス、１０７…バッファ、１０８…ＳＤＲＡＭＩ／Ｆ、１０９…ＪＰＥＧ処理部、１１０…クロック生成部、１１１…システムコントローラ、１１２…ＣＰＵＩ／Ｆ、１１３…メモリコントローラ、１１４…ＳＤＲＡＭ、１１５…ＣＰＵ、１２１…ＤＣＴ・量子化部、１２２…マーカ発生部、１２３…可変長符号化部、１２４…ＪＰＥＧ制御レジスタ、１２５…ＪＰＥＧコントローラ、１３１…可変長符号算出部、１３２…可変長符号テーブル、１３３…ビットストリーム生成部、５１１…ビット反転部、５１２…加算部、５２１，５２１’…セレクタ、５２２’〜５２５’…データ生成部
【図１】
0003661594.tif 000002
【図２】
0003661594.tif 000003
【図３】
0003661594.tif 000004
【図４】
0003661594.tif 000005
【図５】
0003661594.tif 000006
【図６】
0003661594.tif 000007
【図７】
0003661594.tif 000008
【図８】
0003661594.tif 000009
【図９】
0003661594.tif 000010
【図１０】
0003661594.tif 000011
【図１１】
0003661594.tif 000012
【図１２】
0003661594.tif 000013
【図１３】
0003661594.tif 000014
【図１４】
0003661594.tif 000015
【図１５】
0003661594.tif 000016
【図１６】
0003661594.tif 000017
【図１７】
0003661594.tif 000018