(57)【要約】【課題】  同一ブロックの連続が途切れるブロックを待つことなく符号化を行え、且つ、符号化側から復号側への伝送では、１ブロック毎に必ずデータが存在するために安定した伝送が約束され、且つ、データの同期も容易になる。【解決手段】  画像符号化装置と画像を形成する画像処理装置は伝送路を介して互いに接続されている。画像符号化装置における固定長符号化部は、符号化対象の画像データからｍ×ｎ画素のブロックを入力し、固定長符号化データを生成する。画像符号化装置における可変長符号化部は、着目ブロックの固定長符号化データと、直前のブロックの固定長符号化データが一致しているか否かを判定し、一致している場合は一致していることを示すフラグを画像処理装置に伝送し、不一致の場合には不一致であることを示すフラグと着目ブロックの符号化データを画像処理装置に伝送する。【選択図】  図１
2013098864.tif 000002
【特許請求の範囲】
【請求項１】
符号化された画像データを復号し画像形成する画像処理装置と伝送路を介して接続され、前記画像処理装置に前記伝送路を介して符号化データを出力する画像符号化装置であって、
符号化対象の画像データから、予め設定されたｍ×ｎ画素で構成されるブロックを単位に順に入力し、ブロック毎に固定長の符号化データを生成する固定長符号化手段と、
該固定長符号化手段からの着目ブロックの固定長符号化データが、直前のブロックの固定長符号化データと同一であるか否かを判定し、同一であれば同一であることを示すフラグのみを生成して出力し、非同一であれば非同一であることを示すフラグを生成して出力すると共に当該フラグに後続して前記着目ブロックの固定長符号化データを出力する可変長符号化手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記可変長符号化手段は、
前記フラグを記憶するメモリを有し、
前記着目ブロックの固定長符号化データが直前のブロックの固定長符号化データと同一である場合には、前記メモリに格納されたフラグを読み込んで出力した後、前記メモリに格納されているフラグの値を反転して更新し、
前記着目ブロックの固定長符号化データが直前のブロックの固定長符号化データと非同一である場合には、前記メモリに格納されたフラグを読み込んで反転してから出力した後、前記着目ブロックの固定長符号化データを出力し、その次に、前記メモリに格納されているフラグの値を反転して更新する
ことを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
伝送路はシリアル伝送路であることを特徴とする請求項１又は２に記載の画像符号化装置。
【請求項４】
請求項１に記載の画像符号化装置と伝送路を介して接続され、該伝送路を介して伝送されてきた符号化データを復号し、画像を形成する画像処理装置であって、
前記伝送路を介して入力したフラグが、着目ブロックが直前のブロックと同一、非同一のいずれを示しているのか判定し、前記フラグが非同一であることを示している場合には前記フラグに後続して入力する固定長符号化データを出力すると共に、前記フラグに後続して入力する固定長符号化データを所定の記憶手段に格納し、前記フラグが同一であることを示している場合には、前記記憶手段に記憶された固定長符号化データを出力する可変長復号手段と、
該可変長復号手段から出力された固定長符号化データを復号し、ブロックの画像を生成する固定長復号手段とを有する
ことを特徴とする画像処理装置。
【請求項５】
前記可変長復号手段は、
参照フラグを記憶するメモリを有し、
前記伝送路を介して入力したフラグが前記メモリに記憶された参照フラグと一致した場合、前記記憶手段に記憶された固定長符号化データを出力すると共に、前記メモリに記憶されている参照フラグを反転して更新し、
前記伝送路を介して入力したフラグが前記メモリに記憶された参照フラグと不一致の場合、前記伝送路を介して入力したフラグに後続して入力される固定長符号化データを出力すると共に、前記記憶手段を当該固定長符号化データで更新する
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
符号化された画像データを復号し画像形成する画像処理装置と伝送路を介して接続され、前記画像処理装置に前記伝送路を介して符号化データを出力する画像符号化装置の制御方法であって、
固定長符号化手段が、
符号化対象の画像データから、予め設定されたｍ×ｎ画素で構成されるブロックを単位に順に入力し、ブロック毎に固定長の符号化データを生成する固定長符号化工程と、
可変長符号化手段が、
該固定長符号化工程からの着目ブロックの固定長符号化データが、直前のブロックの固定長符号化データと同一であるか否かを判定し、同一であれば同一であることを示すフラグのみを生成して出力し、非同一であれば非同一であることを示すフラグを生成して出力すると共に当該フラグに後続して前記着目ブロックの固定長符号化データを出力する可変長符号化工程と
を有することを特徴とする画像符号化装置の制御方法。
【請求項７】
符号化された画像データを復号し画像形成する画像処理装置と伝送路を介して接続されたコンピュータに読み込ませ実行させることで、前記コンピュータを、前記画像処理装置に前記伝送路を介して符号化データを出力する画像符号化装置として機能させるプログラムであって、
前記コンピュータを、
符号化対象の画像データから、予め設定されたｍ×ｎ画素で構成されるブロックを単位に順に入力し、ブロック毎に固定長の符号化データを生成する固定長符号化手段、
該固定長符号化手段からの着目ブロックの固定長符号化データが、直前のブロックの固定長符号化データと同一であるか否かを判定し、同一であれば同一であることを示すフラグのみを生成して出力し、非同一であれば非同一であることを示すフラグを生成して出力すると共に当該フラグに後続して前記着目ブロックの固定長符号化データを出力する可変長符号化手段
として機能させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。
【請求項９】
請求項１に記載の画像符号化装置と伝送路を介して接続され、該伝送路を介して伝送されてきた符号化データを復号し、画像を形成する画像処理装置の制御方法であって、
可変長復号手段が、
前記伝送路を介して入力したフラグが、着目ブロックが直前のブロックと同一、非同一のいずれを示しているのか判定し、前記フラグが非同一であることを示している場合には前記フラグに後続して入力する固定長符号化データを出力すると共に、前記フラグに後続して入力する固定長符号化データを所定の記憶手段に格納し、前記フラグが同一であることを示している場合には、前記記憶手段に記憶された固定長符号化データを出力する可変長復号工程と、
固定長復号手段が、
該可変長復号工程から出力された固定長符号化データを復号し、ブロックの画像を生成する固定長復号工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項１０】
画像データを符号化する画像符号化装置と、当該画像符号化装置と伝送路を介して接続され、符号化された画像データを処理する画像処理装置とで構成される画像処理システムであって、
前記画像符号化装置は、
符号化対象の画像データから、予め設定されたｍ×ｎ画素で構成されるブロックを単位に順に入力し、ブロック毎に固定長の符号化データを生成する固定長符号化手段と、
該固定長符号化データからの着目ブロックの固定長符号化データが、直前のブロックの固定長符号化データと同一であるか否かを判定し、同一であれば同一であることを示すフラグのみを生成して出力し、非同一であれば非同一であることを示すフラグを生成して出力すると共に当該フラグに後続して前記着目ブロックの固定長符号化データを出力する可変長符号化手段とを有し、
前記画像処理装置は、
前記伝送路を介して入力したフラグが同一であるか否かを判定し、前記フラグが非同一であることを示している場合には前記フラグに後続して入力する固定長符号化データを出力すると共に、前記フラグに後続して入力する固定長符号化データを所定の記憶手段に格納し、前記フラグが同一であることを示している場合には、前記記憶手段に記憶された固定長符号化データを出力する可変長復号手段と、
該可変長復号手段から出力された固定長符号化データを復号し、ブロックの画像を生成する固定長復号手段とを有する
ことを特徴とする画像処理システム。
【請求項１１】
前記可変長符号化手段は、
前記フラグを記憶するメモリを有し、
前記着目ブロックの固定長符号化データが直前のブロックの固定長符号化データと同一である場合には、前記メモリに格納されたフラグを読み込んで出力した後、前記メモリに格納されているフラグの値を反転して更新し、
前記着目ブロックの固定長符号化データが直前のブロックの固定長符号化データと非同一である場合には、前記メモリに格納されたフラグを読み込んで反転してから出力した後、前記着目ブロックの固定長符号化データを出力し、その次に、前記メモリに格納されているフラグの値を反転して更新する
ことを特徴とする請求項１０に記載の画像処理システム。
【請求項１２】
前記可変長復号手段は、
参照フラグを記憶するメモリを有し、
前記伝送路を介して入力したフラグが前記メモリに記憶された参照フラグと一致した場合、前記記憶手段に記憶された固定長符号化データを出力すると共に、前記メモリに記憶されている参照フラグを反転して更新し、
前記伝送路を介して入力したフラグが前記メモリに記憶された参照フラグと不一致の場合、前記伝送路を介して入力したフラグに後続して入力される固定長符号化データを出力すると共に、前記記憶手段を当該固定長符号化データで更新する
ことを特徴とする請求項１１に記載の画像処理システム。
【請求項１３】
伝送路はシリアル伝送路であることを特徴とする請求項１０乃至１２のいずれか１項に記載の画像処理システム。
【請求項１４】
前記画像処理装置は、前記固定長復号手段で復号して得られた画像に従って印刷する印刷手段を有することを特徴とする請求項１０乃至１３のいずれか１項に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の符号化、復号技術に関するものである。
【背景技術】
【０００２】
従来、画像データをブロック単位で符号化して固定長の１次圧縮データを生成し、さらに２次圧縮を行ってから記憶装置に格納するという技術として、特許文献１が開示されている。特許文献１によれば、画像をブロック化した後、ブロック毎に１次圧縮としてＧＢＴＣ（Generalized Block Truncation Coding）を用いて固定長符号化を行う。そして、圧縮データのままで回転等の画像編集をした後、２次圧縮として同一ブロックの繰り返し回数の情報を符号化して情報量を減らしてからハードディスク等の記憶装置に格納するという例が示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０９４８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の符号化方式の場合、符号化時においては同じブロックが連続している最中は符号を出力せず、異なるブロックを検出して初めて符号化を完了する。それ故、伝送時のデータ量を安定させるのが難しかった。また、ブロック毎に対応するデータが必ずしも存在するというわけではないため、伝送時にデータの同期をとることが難しいという問題も残る。
【０００５】
本発明は係る課題に鑑みなされたものである。そして、同一ブロックの連続が途切れるのを待つことなく符号化を行え、且つ、符号化側から復号側への伝送では、１ブロック毎に必ずデータが存在するようにして安定した伝送が約束し、且つ、データの同期も容易にする技術を提供しようとするものである。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
符号化された画像データを復号し画像形成する画像処理装置と伝送路を介して接続され、前記画像処理装置に前記伝送路を介して符号化データを出力する画像符号化装置であって、
符号化対象の画像データから、予め設定されたｍ×ｎ画素で構成されるブロックを単位に順に入力し、ブロック毎に固定長の符号化データを生成する固定長符号化手段と、
該固定長符号化手段からの着目ブロックの固定長符号化データが、直前のブロックの固定長符号化データと同一であるか否かを判定し、同一であれば同一であることを示すフラグのみを生成して出力し、非同一であれば非同一であることを示すフラグを生成して出力すると共に当該フラグに後続して前記着目ブロックの固定長符号化データを出力する可変長符号化手段とを有する。
【発明の効果】
【０００７】
本発明によれば、同一ブロックの連続が途切れるブロックを待つことなく符号化を行え、且つ、符号化側から復号側への伝送では、１ブロック毎に必ずデータが存在するために安定した伝送が約束され、且つ、データの同期も容易になる。
【図面の簡単な説明】
【０００８】
【図１】画像符号化システムのブロック構成図。
【図２】第１の実施形態に係る可変長符号化部の動作を表すフローチャート。
【図３】第１の実施形態に係る可変長復号部の動作を表すフローチャート。
【図４】第２の実施形態に係る可変長符号化部の動作を表すフローチャート。
【図５】第２の実施形態に係る可変長復号部の動作を表すフローチャート。
【図６】第１、第２の実施形態に係る固定長符号化データと符号データの例を示す図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施の形態を説明する。以降の実施形態において使用される画像データとしては、濃度成分のみを持つモノクロスケール画像データを想定している。ただし、必ずしもこれに限る必要はなく、輝度成分を持つ画像データであっても問題は無い。さらに、モノクロスケールに限る必要はなく、複数の成分を持つカラー画像データであっても問題は無い。
【００１０】
［第１の実施形態］
本第１の実施形態における画像処理システムは、画像を形成する画像処理装置（又は画像形成装置）と、その画像処理装置と伝送路を介して接続され、画像形成しようする画像を符号化し、伝送路を介して伝送する画像符号化装置で構成される。
【００１１】
図１に第１の実施形態に係る画像処理システムのブロック図を示す。図示のＰＣ１０１は画像符号化装置として機能し、プリンタ１０５は画像処理装置として機能することになる。
【００１２】
ＰＣ１０１内に存在する固定長符号化部１０２は、入力された符号化対象の画像データ中の予め設定されたｍ×ｎ画素で構成されるブロックを単位に符号量が固定長となるような符号化（固定長符号化）を行う。可変長符号化１０３は、固定長符号化部１０２からの固定長符号化データが直前ブロックの固定長符号化データと同一であるか、非同一であるかを判定し、結果のフラグを生成し、固定長符号化データと合わせて符号データとして出力する。
【００１３】
出力された符号データは、ＰＣ１０１を出て伝送路１０４を通り、プリンタ１０５へ入力される。プリンタ１０５へ供給された符号データは、まず可変長復号部１０６で固定長符号化データへ伸長される。固定長符号化データは固定長復号部１０７で復号処理されてｍ×ｎ画素の画像ブロックとしてプリント処理部１０８に出力される。このプリント処理部１０８は内部に所定の記憶手段としてのバッファメモリを有し、不図示のプリンタエンジンを制御して印刷出力する。以上がこの印刷システムの大まかな流れである。
【００１４】
次に、本発明の各構成要素の動作について詳細に説明していく。ＰＣ１０１内の固定長符号化部１０２は入力画像データに対して予め定められた複数画素（ｍ×ｎ個の画素）で構成されるブロックを切り出し、ブロック毎に固定長符号化を行って固定長符号化データを出力する。ブロックのサイズは特に規定しないが、８×８ピクセルや１６×１６ピクセルなどが一般的であろう。ここでは正方形の形状を例示したが、長方形であっても問題ない。また、固定長符号化の方式は特に規定せず、公知の方式で符号化を行えば良い。一例を示すと、文字・線画を表す文字線画情報と背景を表す階調情報に分離し、文字線画情報は可逆符号化（ランレングス符号化等）、階調情報は非可逆符号化（ＪＰＥＧ符号化等）を行って、『可逆符号化データ＋非可逆符号化データ』の順番にパッキングする。そして、そのデータ量が予め設定された目標固定長に満たない場合にはダミーデータを付加し、目標固定長を超える場合にはその超える部分の可変長符号化データを切り捨てるものとする。階調情報の符号化データはＤＣ成分の符号化データに後続してＡＣ成分の符号化データが配置されるものとする。そして、目標固定長は、少なくとも、可逆符号化データの最悪時の符号長＋非可逆符号化データ中のＤＣ成分の最悪時の符号長を有するものとする。
【００１５】
可変長符号化部１０３は、入力された固定長符号化データに対してブロック単位での可変長符号化を行い、符号データとして出力する。先に処理を簡単に説明すると、入力された着目ブロックの固定長符号化データが直前に入力された固定長符号化データと同一のデータであれば、１ビットのフラグだけを出力し、その固定長符号化データは出力しない。一方、着目ブロックの固定長符号化データが直前に入力された固定長符号化データと同一ではない場合、１ビットのフラグと固定長符号化データを出力する。
【００１６】
可変長符号化部１０３は、内部に符号記憶領域（不図示）として機能するバッファメモリを持ち、この符号記憶領域には固定長符号化データが格納されている。可変長符号化部１０３の動作を表すフローチャートを図２に示し、以下、実施形態における可変長符号化部１０３の詳細な動作を説明する。
【００１７】
まず、最初に符号記憶領域の格納値を“０００・・・００（ビット幅は固定長符号化データの符号長）”をセットすることで初期化する（ステップＳ２０１）。次に、固定長符号化データが入力される（ステップＳ２０２）と、符号記憶領域の格納値と比較して、それらのデータが一致しているかどうかを判定する（ステップＳ２０３）。もし、データが一致している場合、一致していることを示す１ｂｉｔのフラグ“０”を出力する（ステップＳ２０４）。この時、入力された固定長符号化データは出力しない。一方、格納値と入力固定長符号化データが異なっていた場合、一致していないことを示す１ｂｉｔのフラグ“１”を出力し（ステップＳ２０５）、それに後続して、入力された固定長符号化データを出力する（ステップＳ２０６）。次に、入力された固定長符号化データを符号記憶領域に格納し、格納値を更新する（ステップＳ２０７）。ステップＳ２０７においては、データが一致しない時にだけ更新するように記載したが、必ずしもその必要はなく、データの一致の如何に関わらず更新しても良い。即ち、ステップＳ２０４の後にもステップＳ２０７の処理を行うというものである。そのようにした場合、格納値と入力固定長符号化データが一致した時は格納値が同じ値で更新されるだけである。上記のステップＳ２０２からステップＳ２０４或いはステップＳ２０７までの処理を、入力画像データの最後のブロックが終了するまで繰り返す（ステップＳ２０８）。
【００１８】
ＰＣ１０１から出力された符号データは伝送路１０４を通り、プリンタ１０５へ入力される。ここで用いる伝送路１０４としてはシリアル通信の伝送路を想定している。伝送路の仕様としては規格化された伝送路であっても、システムに適した独自の伝送路を用いても良い。
【００１９】
プリンタ１０５へ入力された符号データは、まず可変長復号部１０６に入力される。可変長復号部１０６は、符号データを固定長符号化データへ復号する。可変長復号部１０６の動作を表すフローチャートを図３に示す。以降、図３のフローチャートに従って、可変長復号部１０６の動作を説明する。この可変長復号部１０６にも内部に符号記憶領域として機能するバッファメモリを搭載されているものとする。
【００２０】
まず、最初に符号記憶領域の格納データを“０００・・・００（ビット幅は固定長符号の符号長）”にセットし初期化する（ステップＳ３０１）。次に、伝送路１０４を通って入力された符号データが入力される（ステップＳ３０２）。そして、先頭の１ビットのフラグを読み込み（ステップＳ３０３）、その値を判定する（ステップＳ３０４）。フラグが“０”の場合、符号記憶領域に格納されているデータを取り出し、固定長符号化データとして出力する（ステップＳ３０５）。この時、符号記憶領域に格納されている値の更新は行わない。一方、フラグが“１”である場合、そのフラグに続いて固定長符号化データが格納されているので、フラグに後続する符号データから固定長符号の符号長に等しい長さのデータを取り出し、固定長符号化データとして出力する（ステップＳ３０６）。取り出された固定長符号化データは出力されると同時に、出力した固定長符号化データで符号記憶領域を更新する（ステップＳ３０７）。ステップＳ３０３からステップＳ３０５或いはステップＳ３０７までの処理を、符号データが終了するまで繰り返す（ステップＳ３０８）。
【００２１】
ここで、可変長符号化部１０３と可変長復号部１０６の別の実現方法を考えてみる。可変長符号化部１０３に固定長符号化データが入力されると、一般的には最初の固定長符号化データの入力に対し、まずフラグ“１”を出力してから入力固定長符号化データがシリアル伝送路へ順次出力される。しかし、最初の入力固定長符号化データが“０００・・・００”だった場合は、まずフラグ“０”を出力し、入力された固定長符号化データ“０００・・・００”は出力されないこととなる。上述したように可変長復号部１０６の記憶領域の格納値の初期値も同様に“０００・・・００”にすることでシステムとしての整合性はとれて問題は起こらない。しかしその一方で、最初に入力された固定長符号化データに関しては必ずフラグを“１”にして固定長符号化データを出力するという方法にすることも可能である。このようにした場合、符号化側の符号記憶領域と復号側の符号記憶領域の両方とも初期値を特に設定しなくても正しい動作が可能である。
【００２２】
固定長復号部１０７は、入力された固定長符号化データに対して、前述した固定長符号化部１０２にて施した固定長符号化処理に対応する固定長復号処理を行い、画像データを出力する。
【００２３】
ここで、入力固定長符号化データと出力符号データの関係を表す例を図６に示す。図６（ａ）のＡからＤまでは入力固定長符号化データの種類を表し、複数のＡや複数のＢは同じ固定長符号化データを表している。この入力が与えられたときに出力データは図６（ｂ）のようになり、固定長符号化データＡの連続区間と固定長符号化データＢの連続区間にてフラグ“０”が連続して出力されていることが分かる。
【００２４】
以上が本発明の主要な部分である。これに付随する構成として、可変長復号部１０６の後に画像編集部を用意し縦横変換などの画像編集を行う構成にしても良い。この構成においては画像編集部で扱うデータは固定長符号化データの形式であり、画素単位のデータのようにランダムアクセスが可能である。従って、データの扱いが非常に容易である。
【００２５】
以上で説明したように、ブロック画像の固定長符号化データが直前ブロックのデータと同一か否かを１ビットのフラグで表すことにより固定長符号化データの可変長化が可能であることを示した。これによれば、符号化時に同一の固定長符号化データが連続する場合であっても、１ブロックにつき最低でも１ビットのデータが出力される。すなわち、同じ固定長符号化データが連続している場合において、異なる固定長符号化データを持つブロックの検出を待たずに可変長符号化することができ、伝送時のデータ量を安定させやすい。また、１ブロック毎に１ビット以上の対応する信号が存在するので、伝送前後でのデータの同期が取りやすく、伝送に適したデータの形式であると言える。
【００２６】
［第２の実施形態］
上記第１の実施形態では、直前の固定長符号化データと現在の固定長符号化データが同一か否かを１ビットのフラグで表して伝送するという例を示した。第１の実施形態では、余白部分の多い文書画像データなど同一のブロックが多数連続する画像データが入力された場合に、符号データとして同一ブロックであることを示す“０”が連続して伝送される可能性がある。これによってシリアル伝送路の信号のＤＣバランスが平均せず、さらにＤＣバランスの偏りはクロックの同期を困難にする可能性が起こる。そこで、第２の実施形態では、伝送路のＤＣバランスに配慮した符号化方式を提供する。
【００２７】
本第２の実施形態におけるシステム構成は第１の実施形態と同じである。図１に示す構成要素のうち、可変長符号化部１０３と可変長復号部１０６だけが、第１の実施形態と異なる動作をし、他の構成要素は第１の実施形態と同じ動作をする。従って、以降では可変長符号化部１０３と可変長復号部１０６についてのみ詳細な説明を行う。
【００２８】
可変長符号化部１０３は、内部に固定長符号化データを記憶する符号記憶領域と、フラグ（１ビット）を記憶するフラグ記憶領域とを有する。先に処理を簡単に説明すると、フラグ記憶領域で記憶されているフラグを１ブロック毎にトグル出力させることで、同一データが連続する場合であっても、同じ値のフラグが出力させないようする。即ち、最初のブロックのフラグが“０”の時、直前ブロックと同一データであればフラグ“０”を、異なるデータであればフラグ“１”を出力する。そして次のブロックではフラグを“１”にして、直前ブロックと同一データであればフラグ“１”を、異なるデータであればフラグ“０”を出力する。そして、この動作を繰り返す。従って、最初のフラグが決定すれば、後の生成フラグは位置（順番）によって自動的に決定する。
【００２９】
本第２の実施形態における可変長符号化部１０３の動作を表すフローチャートを図４に示す。図４において、第１の実施形態と同じ動作を表すステップには同じ符号を付し、これらのステップについては簡易な説明にとどめる。まず、符号記憶領域を初期化（ステップＳ２０１）した後に、フラグ記憶領域のフラグを“０”にセットする（ステップＳ４０１）。次に、Ｓ２０２で入力した固定長符号化データと、符号記憶領域に記憶された固定長符号化データの一致の判定を行う（ステップＳ２０３）。もし、両者が一致している場合、一致していることを示すためにフラグの値を出力する（ステップＳ４０２）。この時、第１の実施形態と同様に入力された固定長符号化データは出力しない。もし符号記憶領域に記憶された固定長符号化データと、入力固定長符号化データが異なっていた場合、一致していないことを示すためにフラグの値を反転させた値を出力する（ステップＳ４０３）。ここで反転出力とは、フラグの値が“０”の時は“１”を、“１”の時は“０”を出力することをいう。ただし、この時点ではフラグ記憶領域に保持された値自体は反転させず、出力だけを反転させることに注意する。続けて、第１の実施形態と同様に入力された固定長符号化データを出力し（ステップＳ２０６）、符号記憶領域の格納値を更新する（ステップＳ２０７）。次に、フラグ記憶領域の値を反転させ、更新する（ステップＳ４０２）。次に、ステップＳ２０２からステップＳ４０２までの処理を、最後のブロックが終了するまで繰り返す（ステップＳ２０８）。
【００３０】
次に、プリンタ１０５における可変長復号部１０６の説明を行う。可変長復号部１０６は、内部に符号記憶領域とフラグ記憶領域を有する。この符号記憶漁期は可変長符号化部１０３の内部にあるものとは当然別の物である。フラグ記憶領域は１ビットのフラグを格納保持するものである。本第２の実施形態における可変長復号部１０６の動作を表すフローチャートを図５に示し、以下説明する。なお、第１の実施形態と同じ動作を表すステップには同じ符号を付し、これらのステップについては簡易な説明にとどめる。また、第２の実施形態における可変長復号部１０６は、先に説明したようにフラグを記憶するためのフラグ記憶領域を有するが、ＰＣから受信する情報にもフラグがある。両者を混同しないようにするため、可変長復号部１０６のフラグ記憶領域に記憶されているそれを「参照フラグ」と呼び、ＰＣから伝送されてくる「フラグ」と区別して説明する。
【００３１】
まず、符号記憶領域を初期化（ステップＳ３０１）した後に、フラグ記憶領域の参照フラグの値を“０”にセットする（ステップＳ５０１）。次に、符号データを入力し（ステップＳ３０２）、フラグ（参照フラグではない点に注意）を読み込む（ステップＳ３０３）。次に、フラグ記憶領域から参照フラグを読み込み、参照フラグとフラグが一致しているかを判定する（ステップＳ５０２）。もし、一致している場合は、符号記憶領域に格納された固定長符号化データを出力する（ステップＳ３０５）。一方、参照フラグとフラグが不一致であった場合には、フラグに後続する符号データから固定長符号化データを出力し（ステップＳ３０６）、符号記憶領域をその固定長符号化データで更新する（ステップＳ３０７）。次に、フラグ記憶領域内の参照フラグの値を反転させる（ステップＳ５０３）。次に、ステップＳ３０３からステップＳ５０３までの処理を、符号データが終了するまで繰り返す（ステップＳ３０８）。
【００３２】
上記の処理により、同一ブロックが連続する区間では、１ビットのフラグがトグルしながら連続で出力されることとなり、ＤＣバランスの安定化を図ることが可能となる。入力固定長符号化データと出力符号データの関係を表す例を図６に示す。図６（ａ）の説明は第１の実施形態と同じである。この入力が与えられたときに、本第２の実施形態における出力データは図６（ｃ）のようになり、固定長符号化データＡの連続区間と固定長符号化データＢの連続区間にてフラグがトグルしていることが分かる。
【００３３】
さらに、上述の処理で加えたフラグに関してはそのままにし、固定長符号化データの部分のみに公知の８ｂ／１０ｂ変換などのような、同じくＤＣバランスを平均化させる変換を行うことでさらに安定したデータの転送が可能となる。この場合は、図４のステップＳ２０６において固定長符号化データに対して８ｂ／１０ｂ変換の処理を加えてから出力する処理を行うことで実現できる。
【００３４】
以上のように本第２の実施形態によれば、１ブロック毎にフラグを変化させることで、直前のブロックと同一のブロックの時に出力するフラグをトグルしながら出力させることができ、シリアル伝送時のＤＣバランスを平均化することが可能となる。
【００３５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013098864.tif 000003
【図２】
2013098864.tif 000004
【図３】
2013098864.tif 000005
【図４】
2013098864.tif 000006
【図５】
2013098864.tif 000007
【図６】
2013098864.tif 000008