(57)【要約】【課題】  より小さい入力バッファサイズでも、入力バッファサイズ以上の非圧縮データ（バイナリデータ）を圧縮すること。【解決手段】  １バイトのバイナリデータを読み出しデータレジスタ４０２に読み出し、読み出したバイナリデータの値が０である場合にこのバイナリデータのゼロランカウントをゼロランカウンタ４０３が行うと共に、ゼロランカウントによるカウント値を従前のゼロランカウントによるカウント値に加算して保持し、読み出しデータレジスタ４０２には順次１バイトのバイナリデータを読み出し、読み出しデータレジスタ４０２に読み出したバイナリデータの値が非０である場合、この時点で保持されているカウント値を用いた符号化処理の開始の要求を出力する。【選択図】  図３
2005130197.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータを符号化する符号化方法であって、
符号化対象のバイナリデータを所定単位毎にメモリに読み出す読み出し工程と、
前記読み出し工程で読み出したバイナリデータの値が０である場合に当該バイナリデータのゼロランカウントを行うと共に、ゼロランカウントによるカウント値を従前のゼロランカウントによるカウント値に加算して保持するゼロランカウント工程と、
前記ゼロランカウント工程によるゼロランカウント処理を、前記メモリに読み出されたバイナリデータ全てについて行った場合には、次の所定単位のバイナリデータを読み出すよう、前記読み出し工程における処理を制御する制御工程とを備え、
前記読み出し工程で読み出したバイナリデータの値が非０である場合、前記保持されているカウント値を用いた符号化処理を開始することを特徴とする符号化方法。
【請求項２】
更に、前記ゼロランカウント工程の処理対象のバイナリデータの値が非０である場合、前記保持されているカウント値を０にリセットすることを特徴とする請求項１に記載の符号化方法。
【請求項３】
入力されたデータを符号化する符号化装置であって、
符号化対象のバイナリデータを所定単位毎にメモリに読み出す読み出し手段と、
前記読み出し手段が読み出したバイナリデータの値が０である場合に当該バイナリデータのゼロランカウントを行うと共に、ゼロランカウントによるカウント値を従前のゼロランカウントによるカウント値に加算して保持するゼロランカウント手段と、
前記ゼロランカウント手段によるゼロランカウント処理を、前記メモリに読み出されたバイナリデータ全てについて行った場合には、次の所定単位のバイナリデータを読み出すよう、前記読み出し手段を制御する制御手段とを備え、
前記読み出し手段が読み出したバイナリデータの値が非０である場合、前記保持されているカウント値を用いた符号化処理を開始することを特徴とする符号化装置。
【請求項４】
コンピュータに請求項１又は２に記載の符号化方法を実行させることを特徴とするプログラム。
【請求項５】
請求項４に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化技術に関するものである。
【背景技術】
【０００２】
データの圧縮処理に関して、一般的に、非圧縮データのサイズが小さすぎると圧縮効果は望めない。一方、非圧縮データが大きい場合、圧縮処理の方法によっては、圧縮処理し終えるまで全データを保持しておかねばならない。そこで通常は、保持しておかねばならない非圧縮データのサイズを小さくしつつ、圧縮の効率を損なわないように、非圧縮データを適当な大きさに分割して圧縮処理を行う。
【０００３】
また従来から、圧縮後のデータを格納する圧縮メモリを削減する技術については開示されている（例えば特許文献１を参照）。
【特許文献１】特開平８−３０７６９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
圧縮処理単位を大きくした場合、圧縮装置内に圧縮処理単位分の入力バッファ（非圧縮データを保持するためのメモリ）が必要になる。圧縮装置は高速に圧縮処理を行うため、入力バッファは高速にアクセス可能なＳＲＡＭなどで構成される。ＳＲＡＭなどの高速なメモリは一般的に高価であるので、圧縮装置において、入力バッファサイズの増大は価格の増大につながる。
【０００５】
そこで、圧縮処理単位を小さくして圧縮処理装置内の入力バッファを小さくした場合、圧縮処理単位が小さいので、入力バッファが大きい場合と比べて圧縮率は低下する。
【０００６】
本発明は以上の問題に鑑みてなされたものであり、より小さい入力バッファサイズでも、入力バッファサイズ以上の非圧縮データ（バイナリデータ）を圧縮する為の技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば本発明の符号化方法は以下の構成を備える。
【０００８】
即ち、入力されたデータを符号化する符号化方法であって、
符号化対象のバイナリデータを所定単位毎にメモリに読み出す読み出し工程と、
前記読み出し工程で読み出したバイナリデータの値が０である場合に当該バイナリデータのゼロランカウントを行うと共に、ゼロランカウントによるカウント値を従前のゼロランカウントによるカウント値に加算して保持するゼロランカウント工程と、
前記ゼロランカウント工程によるゼロランカウント処理を、前記メモリに読み出されたバイナリデータ全てについて行った場合には、次の所定単位のバイナリデータを読み出すよう、前記読み出し工程における処理を制御する制御工程とを備え、
前記読み出し工程で読み出したバイナリデータの値が非０である場合、前記保持されているカウント値を用いた符号化処理を開始することを特徴とする。
【０００９】
本発明の目的を達成するために、例えば本発明の符号化装置は以下の構成を備える。
【００１０】
即ち、入力されたデータを符号化する符号化装置であって、
符号化対象のバイナリデータを所定単位毎にメモリに読み出す読み出し手段と、
前記読み出し手段が読み出したバイナリデータの値が０である場合に当該バイナリデータのゼロランカウントを行うと共に、ゼロランカウントによるカウント値を従前のゼロランカウントによるカウント値に加算して保持するゼロランカウント手段と、
前記ゼロランカウント手段によるゼロランカウント処理を、前記メモリに読み出されたバイナリデータ全てについて行った場合には、次の所定単位のバイナリデータを読み出すよう、前記読み出し手段を制御する制御手段とを備え、
前記読み出し手段が読み出したバイナリデータの値が非０である場合、前記保持されているカウント値を用いた符号化処理を開始することを特徴とする。
【発明の効果】
【００１１】
本発明の構成により、より小さい入力バッファサイズでも、入力バッファサイズ以上の非圧縮データ（バイナリデータ）を圧縮することができる。
【発明を実施するための最良の形態】
【００１２】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１３】
図１は、本実施形態に係る符号化装置のメインの構成を示すブロック図である。従って、本実施形態に係る符号化装置の構成は同図の構成に限定されるものではなく、同図に示した構成に他の機能部分を付加したものであっても良い。
【００１４】
２０１はＣＰＵで、記憶装置２０２に記憶されている符号化対象のバイナリデータを後段の入力バッファ２０３に出力するよう、記憶装置２０２を制御すると共に、後段の各部の動作を制御する。
【００１５】
２０２は記憶装置で、上述の通り、符号化対象のバイナリデータを保存しており、ＣＰＵ２０１より指示されたバイナリデータを後段の入力バッファ２０３に出力する。また、記憶装置２０２には、ＣＰＵ２０１に後述する符号化処理を実行させるためのプログラムが保存されており、ＣＰＵ２０１がこれを実行することで、本実施形態に係る符号化装置は、後述する符号化処理を行うことになる（当然、このプログラムは不図示のメモリにロードされており、ＣＰＵ２０１はこれを実行することになる）。
【００１６】
２０３は入力バッファで、記憶装置２０２から出力されたバイナリデータを一時的に記憶する為のメモリとして機能する。
【００１７】
２０４は圧縮装置で、入力バッファ２０３に一定量のバイナリデータが格納されると、ＣＰＵ２０１は圧縮装置２０４に対して後述するパラメータを設定し、圧縮装置２０４に対して圧縮要求を行う。要求を受けた圧縮装置２０４は入力バッファ２０３からバイナリデータを読出し、読み出したバイナリデータを符号化（圧縮）して、圧縮データを圧縮データバッファ２０５に格納する。
【００１８】
図２は、圧縮装置２０４の機能構成を示すブロック図である。ＣＰＵ２０１は、ＣＰＵ２０１が記憶装置２０２に指示して出力させるバイナリデータの全サイズ（単位はバイト）を、このデータの量をカウントする、もしくはこのバイナリデータのヘッダ情報を参照する等の処理を行うことで得、得たサイズを（パラメータとして）パラメータレジスタ３０１に設定する。
【００１９】
またＣＰＵ２０１は、入力バッファ２０３に一定量のバイナリデータが格納されると、格納されたバイナリデータのデータサイズ（当然、入力バッファ２０３のデータ容量を超えないサイズで、単位はバイト）を（パラメータとして）パラメータレジスタ３０１に設定し、圧縮装置２０４に対して圧縮要求を行う。
【００２０】
この圧縮要求を受けると、圧縮装置２０４はパラメータレジスタ３０１に設定された上記パラメータを用いて、入力バッファ２０３に格納されているバイナリデータの圧縮を開始する。
【００２１】
ゼロラン部３０２は、入力バッファ２０３からバイナリデータを処理単位分（本実施形態では１バイト分）読み出し、読み出した１バイト分のバイナリデータを参照して連続する０の数をカウントする（ゼロランカウント処理）。
【００２２】
符号化部３０３は、ゼロラン部３０２が上記ゼロランカウント処理により求めた連続するゼロの数をランレングス符号化する。そして符号化データをＦＩＦＯ３０４出力する。ゼロランカウント処理により求めた連続する０の数を用いたランレングス符号化処理については周知の技術であるので、ここでの説明は省略する。
【００２３】
ＦＩＦＯ３０４は、符号化部３０３から出力される符号化データを受けた順に格納し、受けた順に後段のＤＭＡＣ３０５に出力する。
【００２４】
ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）３０５は、ＦＩＦＯ３０４に一定量の符号化データが蓄積されると、この蓄積された符号化データをＦＩＦＯ３０４から出力される順に図１に示す後段の圧縮データバッファ２０５に転送する。
【００２５】
図３は、ゼロラン部３０２の機能構成を示すブロック図である。ゼロランシーケンサ４０１は、ＣＰＵ２０１から圧縮要求を受けると、以下の動作を開始する。先ず、ＣＰＵ２０１がパラメータレジスタ３０１に設定した「バイナリデータの全サイズを示すデータ」を読み出してデータサイズカウンタ４０１２に格納する。またゼロランシーケンサ４０１は、ＣＰＵ２０１がパラメータレジスタ３０１に設定した「入力バッファ２０３に格納されているバイナリデータのサイズを示すデータ」を読み出して、読み出しカウンタ４０１１に格納する。そして、バイナリデータを入力バッファ２０３から１バイト分読み出して、読出しデータレジスタ４０２に格納する。
【００２６】
そしてゼロランカウンタ４０３は、ゼロランシーケンサ４０１が読み出しデータレジスタ４０２に格納した１バイト分のバイナリデータを参照し、連続する０の数をカウントする（ゼロランカウント処理）。
【００２７】
このように、ゼロランカウンタ４０３は、ゼロランシーケンサ４０１が入力バッファ２０３から読み出して読み出しデータレジスタ４０２に格納した１バイトのバイナリデータに対してゼロランカウント処理を行うのであるが、この１バイトのバイナリデータが示す値が非０である場合、もしくは入力バッファ２０３に格納されているバイナリデータ全て（非０のバイナリデータを除く）についてゼロランカウンタ４０３がゼロランカウント処理を行った場合、もしくは、記憶装置２０２から出力された全てのバイナリデータ（非０のバイナリデータを除く）についてゼロランカウンタ４０３がゼロランカウント処理を行った場合、ゼロランシーケンサ４０１は、符号化部３０３に対して、符号化要求を行う。
【００２８】
図４は、ＣＰＵ２０１による制御によってゼロランシーケンサ４０１が行う処理のフローチャートである。
【００２９】
先ずステップＳ５０１で、ゼロランシーケンサ４０１は、ＣＰＵ２０２からの圧縮要求を待ち受け、この圧縮要求を受けた場合には、処理をステップＳ５０２に進める。
【００３０】
ステップＳ５０２では、ゼロランシーケンサ４０１は、パラメータレジスタ３０１に設定されたバイナリデータの全サイズ（単位はバイト）を内部レジスタのデータサイズカウンタ４０１２が保持するカウンタ値に、入力バッファ２０３に格納されたバイナリデータのサイズ（単位はバイト）を内部レジスタの読出しカウンタ４０１１が保持するカウンタ値に夫々設定し、ゼロランカウンタ４０３が保持するカウンタ値を０にクリアする。
【００３１】
次にステップＳ５０３では、ゼロランシーケンサ４０１は、入力バッファ２０３から、バイナリデータを処理単位分（本実施形態では１バイト分であって、これはＣＰＵ２０１によりパラメータレジスタ３０１にセットされた設定であるとする）読み出し、内部レジスタである読出しデータレジスタ４０２に格納する。
【００３２】
次にステップＳ５０４では、ゼロランシーケンサ４０１は、データサイズカウンタ４０１２が保持するカウンタ値（最初にステップＳ５０４の処理を行う場合には、上記全データサイズ）から１デクリメントする処理を行う。
【００３３】
次にステップＳ５０５では、ゼロランシーケンサ４０１は、読み出しカウンタ４０１１が保持するカウンタ値（最初にステップＳ５０５の処理を行う場合には入力バッファ２０３に格納されているバイナリデータのサイズ）から１デクリメントする処理を行う。
【００３４】
次にステップＳ５０７では、ゼロランシーケンサ４０１は、データサイズカウンタ４０１２が保持するカウンタ値が非０（換言すれば、記憶装置２０２から出力されたバイナリデータのうち、ゼロランカウンタ４０３がゼロランカウント処理を行っていないバイナリデータが存在する場合）、及びステップＳ５０３で読み出しデータレジスタ４０２に格納したバイナリデータの値が０である場合には、処理をステップＳ５１４に進め、ゼロランカウンタ４０３が保持するカウンタ値を１インクリメントし、処理をステップＳ５１５に進める。
【００３５】
ステップＳ５１５では、読み出しカウンタ４０１１が保持するカウンタ値が０であるか否かを判断する。
【００３６】
そして０である場合、即ち、入力バッファ２０３に格納されているバイナリデータ全て（非０のバイナリデータを除く）についてゼロランカウンタ４０３がゼロランカウント処理を行った場合、処理をステップＳ５１６に進める。
【００３７】
ステップＳ５１６では、ゼロランシーケンサ４０１は、ＣＰＵ２０１から再度圧縮要求を受けたか否かを判断し、受けていれば処理をステップＳ５１７に進める。
【００３８】
ステップＳ５１７では、ゼロランシーケンサ４０１は、ＣＰＵ２０１によりパラメータレジスタ３０１に新たにセットされた「入力バッファ２０３に格納されたバイナリデータのサイズを示すデータ」を読み出してカウンタ４０１１に設定する。ここで、ステップＳ５１７の処理を行う時点では、入力バッファ２０３に格納されているバイナリデータ全て（非０のバイナリデータを除く）についてはゼロランカウンタ４０３がゼロランカウント処理を行っており、次の一定量のバイナリデータが入力バッファ２０３に格納されるべきである。従ってＣＰＵ２０１は次の一定量のバイナリデータを入力バッファ２０３に読み出すと共に、読み出したバイナリデータのサイズをパラメータレジスタ３０１に格納する処理をステップＳ５１７の前段で行うので、ステップＳ５１７ではこのパラメータレジスタ３０１に格納されたバイナリデータのサイズを読み出して読み出しカウンタ４０１１に設定する処理を行う。
【００３９】
ここで、ゼロランカウンタ４０３が保持するカウンタ値については再設定処理を行っていないことに注意されたい。即ち、入力バッファ２０３に格納されたバイナリデータ全てについてゼロランカウント処理を行った後でも、ゼロランカウンタ４０３が保持するカウンタ値はリセットされていないので、入力バッファ２０３が格納しうるバイナリデータのサイズ以上のバイナリデータに対してもゼロランカウンタ４０３はカウントし続けることができる。
【００４０】
これは即ち、パラメータレジスタ３０１に指定された処理すべきバイナリデータのサイズが入力バッファ２０３が格納しうるバイナリデータのサイズより大きい場合であっても、入力バッファ２０３が格納しうるバイナリデータのサイズに影響されることなく、つまりゼロランカウント処理が途切れることなく圧縮処理を行うことができる。
【００４１】
従って、圧縮処理の単位であるバイナリデータのサイズ、およびバイナリデータを格納する入力バッファ２０３のサイズに起因することなく、バイナリデータを圧縮することができ、入力バッファ２０３のサイズを小さくしても、入力バッファ２０３が大きい場合と同等の効果を得ることができる。
【００４２】
なお、ステップＳ５１７の処理が完了すると、処理をステップＳ５０３に戻す。上述の通り、ステップＳ５１７の処理の前段で既にＣＰＵ２０１は次の一定量のバイナリデータを記憶装置２０２から入力バッファ２０３に格納する処理を行うので、ステップＳ５１７からステップＳ５０３に処理を進めると、ステップＳ５０３以降の処理は、この次の一定量のバイナリデータを処理対象として行われる。
【００４３】
一方、ステップＳ５１５において、読み出しカウンタ４０１１が保持するカウンタ値が０でない場合、即ち、入力バッファ２０３に格納されているバイナリデータのうち、ゼロランカウンタ４０３がゼロランカウント処理を行っていないバイナリデータが存在する場合、次の処理対象の１バイト分のバイナリデータを読み出しデータレジスタ４０２に読み出すべく処理をステップＳ５０３に戻し、ゼロランシーケンサ４０１は、入力バッファ２０３から、１バイト分のバイナリデータを読み出し、読出しデータレジスタ４０２に格納する処理を行い、以降の処理を行う。
【００４４】
一方、ステップＳ５０７で、ゼロランシーケンサ４０１は、データサイズカウンタ４０１２が保持するカウンタ値が０（換言すれば、記憶装置２０２から出力された全てのバイナリデータ（非０のバイナリデータを除く）についてゼロランカウンタ４０３がゼロランカウント処理を行った場合），もしくはステップＳ５０３で読み出しデータレジスタ４０２に格納した１バイトのバイナリデータの値が非０である場合には、処理をステップＳ５０８に進める。
【００４５】
ステップＳ５０８では、ゼロランシーケンサ４０１は、ステップＳ５０３で読み出しデータレジスタ４０２に格納したバイナリデータの値が０であるか否かを判断し、０である場合には処理をステップＳ５０９に進め、ゼロランカウンタ４０３が保持するカウンタ値を１インクリメントし、処理をステップＳ５１０に進める。なお、ステップＳ５０３で読み出しデータレジスタ４０２に格納したバイナリデータの値が０でない場合には、このカウンタ値のインクリメント処理は行わずに処理をステップＳ５１０に直接進める。
【００４６】
ステップＳ５１０では、ゼロランシーケンサ４０１は、符号化部３０３に対して符号化要求を行う。即ち、入力バッファ２０３に非０のデータが格納されるまでにゼロランカウンタ４０３によるカウント値を用いた符号化処理を符号化部３０３に要求する。
【００４７】
そしてステップＳ５１１で、この符号化要求に対する符号化部３０３からの応答があった場合（即ち、符号化部３０３が符号化処理を開始した場合）には、処理をステップＳ５１２に進め、ゼロランカウンタ４０３が保持するカウンタ値を０にクリアし、処理をステップＳ５１３に進める。
【００４８】
ステップＳ５１３では、データサイズカウンタ４０１２が保持するカウンタ値が０であるか否かを判断する。０である場合、即ち、記憶装置２０２から出力された全てのバイナリデータ（非０のバイナリデータを除く）についてゼロランカウンタ４０３がゼロランカウント処理を行った場合には、処理をステップＳ５０１に戻し、次に、ＣＰＵ２０１が記憶装置２０２に符号化対象のバイナリデータを指示するまで処理を待つ。
【００４９】
一方、ステップＳ５１３で、データサイズカウンタ４０１２が保持するカウンタ値が０でない場合、即ち、記憶装置２０２から出力された全てのバイナリデータ（非０のバイナリデータを除く）のうち、ゼロランカウンタ４０３がゼロランカウント処理を行っていないバイナリデータが存在する場合には、処理をステップＳ５０３に戻し、以降の処理を行う。
【００５０】
図５は、符号化部３０３の機能構成を示すブロック図である。符号化部３０３における符号化シーケンサ６０１は、上記ステップＳ５１０で、ゼロラン部３０２から出力された符号化要求を受けると、以下の動作の開始を各部に指示する。
【００５１】
ゼロラン符号化部６０２は、ゼロランカウンタ４０３が保持するカウンタ値を用いたランレングス符号化処理を行い、符号化データを後段のセレクタ６０４に出力する。一方、読み出しデータレジスタ６０３は、上記読み出しデータレジスタ４０２が保持するバイナリデータを受け、これを一時的に保持すると共に、後段のセレクタ６０４に出力する。
【００５２】
セレクタ６０４はゼロラン符号部６０２、読み出しデータレジスタ６０３の何れかの出力を選択的に受け付け、後段のＦＩＦＯ３０４に書き込む処理を行う。
【００５３】
図７は、ＣＰＵ２０１による制御によって符号化シーケンサ６０１が行う処理のフローチャートである。
【００５４】
先ず、符号化シーケンサ６０１は、ゼロラン部３０２からの符号化要求を待ち受け、符号化要求を受けると、処理をステップＳ７０２に進める。
【００５５】
ステップＳ７０２では、符号化シーケンサ６０１は、ゼロランカウンタ４０３が保持するカウンタ値をゼロラン符号化部６０２が有する内部レジスタに、読み出しデータレジスタ４０２が保持する１バイトのバイナリデータを読み出しデータレジスタ６０３が有する内部レジスタに夫々取り込む。
【００５６】
ステップＳ７０３では、符号化シーケンサ６０１は、ゼロラン部３０２に符号化要求に対する応答をゼロラン部３０２に出力する。
【００５７】
ステップＳ７０４では、符号化シーケンサ６０１は、ゼロラン符号化部６０２が有する内部レジスタに取り込まれたカウンタ値を参照し、このカウンタ値が０ではない場合、処理をステップＳ７０５に進め、このカウンタ値が示す値を用いたランレングス符号化処理を行い、ステップＳ７０６でセレクタ６０４はこの符号化処理による符号化データを受けて後段のＦＩＦＯ３０４に出力し、処理をステップＳ７０７に進める。
【００５８】
一方、ステップＳ７０４で符号化シーケンサ６０１は、ゼロラン符号化部６０２が有する内部レジスタに取り込まれたカウンタ値を参照し、このカウンタ値が０である場合、即ち、ゼロランが０である場合には処理をステップＳ７０７に進める（読み出しデータレジスタ６０３が有する内部レジスタに取り込まれた１バイトのバイナリデータの値が連続して非０の場合、ゼロランカウント値は２度目の符号化要求のときゼロとなる）。
【００５９】
ステップＳ７０７では、符号化シーケンサ６０１は、読み出しデータレジスタ６０３が有する内部レジスタに取り込まれた１バイトのバイナリデータを参照し、このバイナリデータの値が０であるか否かを判断する。この値が０である場合には処理をステップＳ７０１に戻し、０でない場合には処理をステップＳ７０９に進め、セレクタ６０４はこのバイナリデータを受け付け、後段のＦＩＦＯ３０４に出力する。
【００６０】
以上の説明により、本実施形態に係る符号化装置は、入力バッファ２０３のサイズに関係なくゼロランカウントを行うので、入力バッファ２０３よりもサイズの大きいバイナリデータを符号化する場合にも、入力バッファ２０３のサイズに関係なく、ゼロラン符号を行うことができる。また、これにより、入力バッファ２０３のデータ記憶容量が小さくても、データ記憶容量が大きい場合に比べてゼロラン符号化処理は変わらないので、従来のような入力バッファのサイズが小さい場合に生じる問題を解消することができる。
【００６１】
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００６２】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６３】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６４】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態に係る符号化装置のメインの構成を示すブロック図である。
【図２】圧縮装置２０４の機能構成を示すブロック図である。
【図３】ゼロラン部３０２の機能構成を示すブロック図である。
【図４】ＣＰＵ２０１による制御によってゼロランシーケンサ４０１が行う処理のフローチャートである。
【図５】符号化部３０３の機能構成を示すブロック図である。
【図６】ＣＰＵ２０１による制御によって符号化シーケンサ６０１が行う処理のフローチャートである。
【図１】
2005130197.tif 000003
【図２】
2005130197.tif 000004
【図３】
2005130197.tif 000005
【図４】
2005130197.tif 000006
【図５】
2005130197.tif 000007
【図６】
2005130197.tif 000008