JP4569056B2 - 情報処理装置および情報処理方法、記録媒体、並びにプログラム - Google Patents
情報処理装置および情報処理方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP4569056B2 JP4569056B2 JP2001240095A JP2001240095A JP4569056B2 JP 4569056 B2 JP4569056 B2 JP 4569056B2 JP 2001240095 A JP2001240095 A JP 2001240095A JP 2001240095 A JP2001240095 A JP 2001240095A JP 4569056 B2 JP4569056 B2 JP 4569056B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- transform
- data
- quantization
- transform coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法、記録媒体、並びにプログラムに関し、特に、可変長符号を生成する場合に、そのシンボルの値を所定の割り当て範囲以内としつつ、符号化のために生じる誤差が少ない符号化処理を実行することができるようにした情報処理装置および情報処理方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
例えば、JPEGなどによる画像圧縮処理において、DCT(Discrete Cosine Transform:離散コサイン変換)、量子化、および、VLC(Variable Length Cording:可変長符号化)が実行される。
【0003】
DCTとは、画像データを周波数成分に変換する直交変換(動画データの空間方向の冗長性を削除する圧縮方式の1つ)であり、画像データを小さなブロック単位(例えば8×8画素)に分割して、それぞれを直交変換し、周波数成分を示す係数を得る。これによって、画像データのうちの、例えば輝度データが、周波数領域に写像される。量子化とは、それぞれの周波数成分を、成分ごとに決められた間隔で量子化していく処理であり、この処理により、元のデータの細部が失われる。そして、量子化されたDCT係数が、例えば、ハフマン符号化方式などを用いて、可変長符号化される。
【0004】
図1は、符号化処理(上述したDCT、量子化、およびVLCの一連の処理)を実行するパーソナルコンピュータの構成を示す図である。
【0005】
パーソナルコンピュータ1−1およびパーソナルコンピュータ1−2は、例えば、インターネット、有線あるいは無線によるLAN(local area network)、あるいはWAN(wide area network)などの、ネットワーク2を介して、相互に接続されている。ネットワーク2には、パーソナルコンピュータ1−1および1−2以外にも、複数のパーソナルコンピュータが接続されていてもよいが、ここでは、図示を省略する。
【0006】
パーソナルコンピュータ1−1のCPU(Central Processing Unit)11−1は、ネットワークインターフェース(I/F)15−1を介して、他のパーソナルコンピュータが送信した制御信号や、入出力インターフェース12−1を介して入力される、ユーザが、キーボード22−1を用いて入力した各種指令に対応する信号の入力を受け、入力された信号に基づいた各種処理を実行する。
【0007】
入出力インターフェース(I/F)12−1はモニタ21−1およびキーボード22−1と接続されている。キーボード22−1は、ユーザがCPU11−1に各種の指令を入力するとき操作される。モニタ21−1は、例えば、CRT(Cathode Ray Tube)や液晶表示装置などからなり、各種情報をテキスト、あるいはイメージなどで表示する。
【0008】
RAM(Random Access Memory)13−1は、CPU11−1の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。ROM(Read Only Memory)14−1は、CPU11−1が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。
【0009】
ネットワークインターフェース15−1は、ネットワーク2を介して、他の機器と接続され、それらの機器との情報の授受を行う。
【0010】
HDD(hard disk drive)17−1は、ハードディスクを駆動し、それらにCPU11−1によって実行するプログラムや情報を記録または再生させる。ドライブ16−1には、必要に応じて磁気ディスク31、光ディスク32、光磁気ディスク33、および半導体メモリ34が装着され、データの授受を行う。
【0011】
パーソナルコンピュータ1−2のCPU11−2乃至キーボード22−2は、上述したパーソナルコンピュータ1−1乃至キーボード22−1と、基本的に同様であるので、その説明を省略する。
【0012】
以下、パーソナルコンピュータ1−1および1−2を個々に区別する必要がない場合、単にパーソナルコンピュータ1と総称し、CPU11−1および11−2を個々に区別する必要がない場合、単にCPU11と総称し、入出力インターフェース12−1および12−2を個々に区別する必要がない場合、単に入出力インターフェース12と総称し、RAM13−1および13−2を個々に区別する必要がない場合、単にRAM13と総称する。
【0013】
また、ROM14−1および14−2を個々に区別する必要がない場合、単にROM14と総称し、ネットワークインターフェース15−1および15−2を個々に区別する必要がない場合、単にネットワークインターフェース15と総称し、ドライブ16−1および16−2を個々に区別する必要がない場合、単にドライブ16と総称し、モニタ21−1および21−2を個々に区別する必要がない場合、単にモニタ21と総称し、キーボード22−1および22−2を個々に区別する必要がない場合、単にキーボード22と総称する。
【0014】
CPU11は、例えば、HDD17などに記録されているデータを、後述する所定の処理により符号化し、ネットワークインターフェース15を介して、他のパーソナルコンピュータに出力したり、ネットワークインターフェース15を介して入力された符号化データを復号し、モニタ21に出力して表示させる処理を実行する。
【0015】
このとき、CPU11は、HDD17などに記録されている符号化するべき対象のデータの一部を抽出して、見積もりのための符号化処理を実行して符号化されたデータの符号量を基に、予測符号量が目標範囲以内か否かを判断し、目標範囲に収まるまで、符号化パラメータを変更して見積もりのための符号化を繰り返し、符号量が目標範囲以内になった場合、対応するパラメータを用いて、データ全体を符号化する処理を実行する。
【0016】
図2のフローチャートを参照して、従来の符号化データ作成処理1について説明する。
【0017】
ステップS1において、CPU11は、例えば、HDD17などに記録されている符号化するべき対象のデータ全体のうちの、1/2、1/3、あるいは1/4などの所定の量のデータを、見積もりのためのデータとして抽出する。
【0018】
ステップS2において、ステップS1において抽出された見積もりのためのデータを用いて、図3を用いて後述する符号化処理1が実行される。
【0019】
ステップS3において、CPU11は、ステップS2において実行された見積もりのための符号化処理1の処理結果を基に、予測符号量が目標範囲にあるか否かを判断する。ステップS3において、予測符号量が目標範囲にないと判断された場合、処理は、ステップS1に戻り、それ以降の処理が繰り返される。
【0020】
ステップS3において、予測符号量が目標範囲にあると判断された場合、ステップS4において、CPU11は、例えば、HDD17などに記録されている符号化するべき対象の全データを読み出す。
【0021】
ステップS5において、ステップS4において抽出された全データを用いて、図3を用いて後述する符号化処理1が実行されて、処理が終了される。
【0022】
このような処理により、目標範囲内の符号量の符号化データが生成される。
【0023】
次に、図3のフローチャートを確認して、図2のステップS2及びステップS5において実行される符号化データ作成処理1について説明する。
【0024】
CPU11は、ステップS11において、抽出されたデータの入力を受け、ステップS12において、入力されたデータに対して、DCT(Discrete Cosine Transform:離散コサイン変換)を実行する。DCTとは、画像データを周波数成分に変換する直交変換の1つであり、直交変換とは、動画データの空間方向の冗長性を削除する圧縮方式である。
【0025】
図4に、DCTの結果を示す。図4のデータにおいては、左上ほど低周波成分、右下ほど高周波成分を表し、最も左上は直流成分を表す。DCT前のデータを0乃至255(もしくは-128乃至−127)の8ビットデータとすると、DCT後のデータは、各要素とも−1023乃至1023の11ビットのデータとなる。データの範囲を考えれば、DCT後のデータは、DCT前のデータより冗長になったように見えるが、高周波数成分にはあまり大きな信号が現れず、分散されていた信号の電力成分を低周波成分側に集める事ができるため、データを圧縮することが可能となる。
【0026】
ステップS13において、CPU11は、ステップS12においてDCTされたデータに対して、量子化を行う。DCT後の周波数成分値は実数値であるが、圧縮という観点から見ると、データを実数値で持つのは容量的に無駄となるので、量子化を実行する。量子化とは、音声などをデジタル化するときに、特定の周波数でサンプリングして得られた信号を、一定のビット数のデータに置き換える操作であり、具体的には、DCT後の周波数成分値に所定の値を積算し、図5に示されるような量子化テーブルを用いて、積算結果を除算する。図6に、図4のDCT結果に8を積算した後、図5に示される量子化テーブルによって除算した場合の演算結果のマトリクスを示す。
【0027】
ステップS14において、CPU11は、ステップS13の量子化結果において、符号で割り当てられている範囲を越えるシンボルがあるか否かを判断する。ここで、符号に割り当てられている範囲を−255乃至255であるものとする。
【0028】
ステップS14において、符号で割り当てられている範囲を越えるシンボルがあると判断された場合、ステップS15において、CPU11は、割り当てを越えているシンボルを、所定の値に制限する。すなわち、ステップS13の量子化結果が、図6に示されるシンボルであった場合、図中網掛けの部分において、符号に割り当てられている範囲を越えてしまっているので、CPU11は、対応する部分のシンボルを255に制限し、図7に示されるシンボルを生成する。
【0029】
ステップS14において、符号で割り当てられている範囲を越えるシンボルがないと判断された場合、もしくは、ステップS15の処理の終了後、ステップS16において、CPU11は、量子化されたシンボルに対して、VLC(Variable Length Cording:可変長符号化)を実行する。VLCとは、シンボルの出現頻度に応じて符号長を割り当てることによって情報量(データ量)を圧縮する符号化方式であり、発生頻度が高いシンボルに対して、短い符号長の符号が割り当てられる。
【0030】
ステップS17において、CPU11は、ステップS16において生成された符号化データを出力して、処理が終了する。
【0031】
図2および図3を用いて説明した処理による数値の範囲の変化について、図8を用いて説明する。
【0032】
図8(A)に示されるように、原画像データの値の範囲が0乃至255の256階調であった場合、DCTおよび量子化を実行することにより、図8(B)に示されるように、対応するシンボルが取る値の範囲は、−1023乃至1023となる。しかしながら、データ授受のための規格などによって、符号化データの出力値として、符号に割り当てられている範囲は、−255乃至255である。
【0033】
従って、図3を用いて説明した処理のステップS15において、図8(C)に示されるように、割り当てを越えているシンボルが、−255乃至255に制限される。そして、その後VLCが実行されて生成された可変調符号が取る値の範囲は、図8(D)に示されるように、−255乃至255である。
【0034】
【発明が解決しようとする課題】
図3のステップS15において、図6を用いて説明した演算結果のうち、255を超えるシンボルを、図7を用いて説明したように全て255に制限し、その量子化結果を用いて可変長符号化したシンボルが取る値の範囲は、確かに、図8(D)を用いて説明したように、規格内の−255乃至255となる。しかしながら、符号割り当ての範囲を越えたために数値が制限された量子化データに対応する部分の符号化データは、正しく復号することができない場合がある。
【0035】
図9は、図7の量子化されたシンボルの逆量子化結果である。図9に示されるように、逆量子化されたデータは、図4を用いて説明したDCTの結果と比較して、非常に誤差の大きいデータとなる。図10に、図4を用いて説明したDCTの結果と、逆量子化されたデータの誤差を示す。符号割り当ての範囲を越えたために数値が制限された3つのデータのうちの1つにおいて、50の誤差が発生している。
【0036】
このように、符号割り当ての範囲を越えたために数値が制限されてしまうことにより、復号されたデータが、符号化前のデータと大きく異なってしまう場合が生じてしまう。例えば、画像データを符号化した場合、復号されたデータが、符号化前のデータと大きく異なってしまうということは、復号の結果生成される画像の劣化につながる。
【0037】
本発明はこのような状況に鑑みてなされたものであり、可変長符号の範囲を所定の値以内としつつ、誤差の少ない符号化処理を実行することができるようにするものである。
【0038】
【課題を解決するための手段】
本発明の情報処理装置は、第2の変換符号化処理が行われるデータ全体から、第1の変換符号化処理を実行するための所定量のデータを抽出する抽出手段と、抽出手段により抽出されたデータを用いて、予測符号量が所定の値以内になるまで第1の変換符号化処理を実行する符号化手段と、符号化手段による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になった場合、符号化手段による第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出手段と、検出手段により、符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、符号化手段が実行する第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更手段とを備え、抽出手段は、符号化手段による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になるまで、それ以前の処理において第1の変換符号化処理が実行されていないデータを優先的に抽出し、符号化手段は、量子化処理変更手段により変更されたパラメータを用いて第2の変換符号化処理を実行することを特徴とする。
【0039】
量子化処理変更手段により変更されるパラメータは、量子化係数であるものとすることができる。
【0040】
第1の変換符号化処理、および第2の変換符号化処理は、ISO/IEC11172で規定されている処理であるものとすることができる。
【0042】
量子化処理変更手段には、符号化手段による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になるまでの間、第1の変換符号化処理が実行される毎に、検出手段の検出結果に従って量子化処理のパラメータを変更させるようにすることができ、符号化手段には、最新のパラメータを用いて第1の変換符号化および第2の変換符号化処理を実行させるようにすることができる。
【0043】
量子化処理変更手段には、符号化手段による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になり、全ての第1の変換符号化処理が終了した後に、検出手段の検出結果に従って、量子化処理のパラメータを変更させるようにすることができ、符号化手段には、符号の割り当て範囲内に収まっていないシンボルが存在したときに変更されたパラメータを用いて第2の変換符号化処理を実行させるようにすることができる。
【0044】
本発明の情報処理方法は、第2の変換符号化処理が行われるデータ全体から、第1の変換符号化処理を実行するための所定量のデータを抽出する抽出ステップと、抽出ステップの処理により抽出されたデータを用いて、予測符号量が所定の値以内になるまで第1の変換符号化処理を実行する第1の符号化ステップと、第1の符号化ステップの処理による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になった場合、第1の符号化ステップの処理による第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出ステップと、検出ステップの処理により、符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更ステップと、量子化処理変更ステップの処理により変更されたパラメータを用いて第2の変換符号化処理を実行する第2の符号化ステップとを含み、抽出ステップは、第1の符号化ステップの処理による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になるまで、それ以前の処理において第1の変換符号化処理が実行されていないデータを優先的に抽出し、第2の符号化ステップは、量子化処理変更ステップの処理により変更されたパラメータを用いて第2の変換符号化処理を実行することを特徴とする。
【0045】
本発明の記録媒体に記録されているプログラムは、第2の変換符号化処理が行われるデータ全体から、第1の変換符号化処理を実行するための所定量のデータを抽出する抽出ステップと、抽出ステップの処理により抽出されたデータを用いて、予測符号量が所定の値以内になるまで第1の変換符号化処理を実行する第1の符号化ステップと、第1の符号化ステップの処理による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になった場合、第1の符号化ステップの処理による第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出ステップと、検出ステップの処理により、符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更ステップと、量子化処理変更ステップの処理により変更されたパラメータを用いて第2の変換符号化処理を実行する第2の符号化ステップとを情報処理装置に実行させ、抽出ステップの処理においては、第1の符号化ステップの処理による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になるまで、それ以前の処理において第1の変換符号化処理が実行されていないデータが優先的に抽出され、第2の符号化ステップの処理においては、量子化処理変更ステップの処理により変更されたパラメータを用いて第2の変換符号化処理が実行される。
【0046】
本発明のプログラムは、第2の変換符号化処理が行われるデータ全体から、第1の変換符号化処理を実行するための所定量のデータを抽出する抽出ステップと、抽出ステップの処理により抽出されたデータを用いて、予測符号量が所定の値以内になるまで第1の変換符号化処理を実行する第1の符号化ステップと、第1の符号化ステップの処理による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になった場合、第1の符号化ステップの処理による第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出ステップと、検出ステップの処理により、符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更ステップと、量子化処理変更ステップの処理により変更されたパラメータを用いて第2の変換符号化処理を実行する第2の符号化ステップとを情報処理装置に実行させ、抽出ステップの処理においては、第1の符号化ステップの処理による第1の変換符号化処理の結果得られる予測符号量が所定の値以内になるまで、それ以前の処理において第1の変換符号化処理が実行されていないデータが優先的に抽出され、
第2の符号化ステップの処理においては、量子化処理変更ステップの処理により変更されたパラメータを用いて第2の変換符号化処理が実行される。
【0047】
本発明の情報処理装置および情報処理方法、並びにプログラムにおいては、第2の変換符号化処理が行われるデータ全体から、第1の変換符号化処理を実行するための所定量のデータが抽出され、符号量予測のための第1の変換符号化処理、および、最終的な符号化データ生成のための第2の変換符号化処理が実行され、第1の変換符号化処理の結果得られる予測符号量が所定の値以内になった場合、第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することが検出され、符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、第2の変換符号化処理に含まれる量子化処理のパラメータが変更される。なお、第1の変換符号化処理の結果得られる予測符号量が所定の値以内になるまで、それ以前の処理において第1の変換符号化処理が実行されていないデータが優先的に抽出され、変更された前記パラメータを用いて第2の変換符号化処理が実行される。
【0048】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。本発明による符号化処理を実行するパーソナルコンピュータの構成は、図1を用いて説明したパーソナルコンピュータ1と基本的に同様であるので、その説明は省略する。
【0049】
図11のフローチャートを参照して、本発明を適応した符号化データ生成処理2について説明する。
【0050】
ステップS31において、CPU11は、例えば、HDD17などに記録されている符号化するべき対象のデータ全体のうちの、1/2、1/3、あるいは1/4などの所定の量のデータを、見積もりのためのデータとして抽出する。
【0051】
ステップS32において、ステップS31において抽出された見積もりのためのデータを用いて、図14を用いて後述する符号化処理2が実行される。
【0052】
ステップS33において、CPU11は、ステップS32において実行された見積もりのための符号化処理2の処理結果を基に、予測符号量が目標範囲にあるか否かを判断する。ステップS33において、予測符号量が目標範囲にないと判断された場合、処理は、ステップS31に戻り、それ以降の処理が繰り返される。
【0053】
ここで、予測符号量が目標範囲にないと判断された場合、次に実行されるステップS31の処理においては、それ以前に実行されたステップS31の処理において抽出された見積もりのためのデータと異なる部分のデータを、次の見積もりのためのデータとして抽出する。多くの場合、符号化処理において、1度の見積もりで予測符号量が目標範囲に入ることはない。従って、ステップS31の処理が繰り返されるたびに見積もりのために抽出されたデータを変更することによって、符号化するべきデータのうちの殆どを、符号化予測のために一度は符号化することになる。
【0054】
ステップS34において、CPU11は、符号の割り当て範囲を越えていることを示すフラグが立っているか否かを判断する。ここで、符号の割り当て範囲は、図3のフローチャートを用いて説明した従来の符号化処理1における場合と同様に、−255乃至255であるものとする。符号の割り当て範囲を越えていることを示すフラグは、ステップS32において実行された符号量予測のための符号化処理2の後述するステップS55の処理によって立てられるので、それについての詳細は後述する。
【0055】
ステップS34において、割り当て範囲を越えていることを示すフラグが立っていると判断された場合、すなわち、DCTの結果が、例えば図4に示されるデータであり、それに対して図5の量子化テーブルを用いて量子化した結果が、図6を用いて説明したように、−255乃至255の範囲を越えるシンボルを含んでいる場合、CPU11は、割り当て範囲内に収まるように、量子化係数を変更し、図5の量子化テーブルとは異なる量子化テーブルであって、量子化した結果得られるシンボルが割り当て範囲を越えないような量子化テーブルを生成する。新たに生成される量子化テーブルの例を図12に示す。
【0056】
上述したように、見積もりのためのデータ抽出と符号化処理2は、複数回実行されていることが多いので、割り当て範囲を越えていることを示すフラグが立っているか否かを判断することによって、符号化するべきデータのうちの殆どのデータにおいて、割り当て範囲を越えているか否かを判断することが可能である。
符号化処理2において、複数のデータに対してフラグが立った場合、フラグが立っているそれぞれのデータに対して、符号化係数が変更される。
【0057】
ステップS34において、割り当て範囲を越えていることを示すフラグが立っていないと判断された場合、もしくはステップS35の処理の終了後、ステップS36において、CPU11は、例えば、HDD17などに記録されている符号化するべき対象の全データを読み出す。
【0058】
そして、ステップS37において、ステップS36において抽出された全データを用い、ステップS35において量子化係数が変更された場合は、その量子化係数による新たな量子化テーブルを用いて、図14を用いて後述する符号化処理2が実行されて、処理が終了される。
【0059】
図13に、後述する符号化処理2において、図4のDCT結果に8を積算した後、図12に示される量子化テーブルによって除算した場合の演算結果のマトリクスを示す。図13に示されるシンボルは、−255乃至255の範囲を越えるシンボルを含んでいない。
【0060】
次に、図14を参照して、図11のステップS32およびステップS37において実行される符号化処理2について説明する。符号化処理2は、国際標準規格(ISO/IEC11172)に準拠した処理である。
【0061】
CPU11は、ステップS51において、抽出されたデータの入力を受け、ステップS52において、入力されたデータに対して、DCTを実行する。DCTとは、画像データを周波数成分に変換する直交変換の1つであり、直交変換とは、動画データの空間方向の冗長性を削除する圧縮方式である。DCTを使ったデータ圧縮では、画像内の小さなブロック単位(例えば、8×8画素)を直交変換し、周波数成分を示す係数を得る。DCT方式は、直交変換の中で最も効率が高い方式として知られている。またDCT方式は、MPEG、JPEG、H.261などの国際標準規格にも採用されている。
【0062】
ステップS51におけるDCTの結果は、図4を用いて説明した場合と同様であり、左上ほど低周波成分、右下ほど高周波成分を表し、最も左上は直流成分を表す。DCT前のデータを0乃至255(もしくは-128乃至−127)の8ビットデータとすると、DCT後のデータは、各要素とも−1023乃至1023の11ビットのデータとなる。データの範囲を考えれば、DCT後のデータは、DCT前のデータより冗長になったように見えるが、高周波数成分にはあまり大きな信号が現れず、分散されていた信号の電力成分を低周波成分側に集める事ができるため、データを圧縮することが可能となる。
【0063】
ステップS53において、CPU11は、ステップS52においてDCTされたデータに対して、量子化を行う。DCT後の周波数成分値は実数値であるが、圧縮という観点から見ると、データを実数値で持つのは容量的に無駄となるので、量子化を実行する。量子化とは、音声などをデジタル化するときに、特定の周波数でサンプリングして得られた信号を、一定のビット数のデータに置き換える操作であり、具体的には、DCT後の周波数成分値に所定の値を積算し、図5、あるいは図12を用いて説明した量子化テーブルを用いて、積算結果を除算する。
【0064】
例えば、図4のDCT結果に8を積算した後、図5に示される量子化テーブルによって除算した場合の演算結果のマトリクスは、図6を用いて説明した場合と同様であり、図4のDCT結果に8を積算した後、図12に示される量子化テーブルによって除算した場合の演算結果のマトリクスは、図13を用いて説明した場合と同様である。
【0065】
ステップS54において、CPU11は、ステップS53の量子化結果において、符号で割り当てられている範囲を越えるシンボルがあるか否かを判断する。ここで、符号に割り当てられている範囲を−255乃至255であるとする。
【0066】
なお、図11のステップS37において実行される処理では、図12および図13を用いて説明したように、符号で割り当てられている範囲を越えるシンボルは存在しない。
【0067】
ステップS54において、符号で割り当てられている範囲を越えるシンボルがあると判断された場合、ステップS55において、CPU11は、シンボルが割り当て範囲を越えていることを示すフラグを立てる。例えば、ステップS53の量子化結果が、図6に示されるシンボルであった場合、図中網掛けの部分において、符号に割り当てられている範囲を越えているので、フラグを立てる。
【0068】
ステップS54において、符号で割り当てられている範囲を越えるシンボルがないと判断された場合、もしくは、ステップS55の処理の終了後、ステップS56において、CPU11は、量子化されたシンボルに対して、VLCを実行する。VLCとは、シンボルの出現頻度に応じて符号長を割り当てることによって情報量(データ量)を圧縮する符号化方式である。すなわち、VLCにおいては、発生頻度が高いデータに対して、短い符号長の符号が割り当てられる。
【0069】
ステップS57において、CPU11は、ステップS56において生成された符号化データを出力して、処理が終了する。
【0070】
このような処理により、量子化データの値を変更することなく、符号化が実行され、符号化データが出力される。すなわち、ステップS54において、符号で割り当てられている範囲を越えるシンボルがあると判断された場合、フラグが立つため、図11のステップS34において、フラグが立っていることが検出され、量子化係数が変更され、図12に示される新たな量子化テーブルが生成される。そして、ステップS37において、変更された量子化係数を用いて全シンボルに対する符号化処理が行われる。
【0071】
従って、図15に示されるように、量子化後の値の範囲は、−255乃至255の範囲を超えないので(図15の(B)に示される範囲)、可変長符号のある範囲も、−255乃至255の範囲内(図15の(D)に示される範囲)となる。
【0072】
DCTによって生成されたデータが図4に示されるデータである場合、そのDCT結果データを、本発明を適応した処理により量子化して生成された符号化データが、図13に示されるデータである。図13のデータを逆量子化したデータを図16に示す。そして、本発明の効果を示すために、図4のデータと、図13のデータとの誤差を図17に示す。
【0073】
図17に示されるように、符号化前のデータ(図4)と、本願を適応した処理により符号化されたデータを逆量子化したデータ(図16)は、殆ど誤差がない。すなわち、本発明を用いて符号化を実行することにより、復号側で、符号化前のデータと殆ど誤差のないデータを得ることができる。
【0074】
次に、図18のフローチャートを参照して、第2の実施の形態として、本発明を適応した符号化データ生成処理3について説明する。
【0075】
ステップS71およびステップS72において、図11を用いて説明した符号化データ生成処理2のステップS31およびステップS32と同様の処理が実行される。
【0076】
ステップS73およびステップS74において、図11を用いて説明した符号化データ生成処理2のステップS34およびステップS35と同様の処理が実行される。
【0077】
ステップS73において、割り当て範囲を越えていることを示すフラグが立っていないと判断された場合、もしくは、ステップS74の処理の終了後、ステップS75において、図11を用いて説明した符号化データ生成処理2のステップS33と同様の処理が実行される。ステップS75において、予測符号量が目標範囲内にないと判断された場合、処理は、ステップS71に戻り、それ以降の処理が繰り返される。
【0078】
ステップS75において、予測符号量が目標範囲内であると判断された場合、ステップS76およびステップS77において、図11を用いて説明した符号化データ生成処理2のステップS36およびステップS37と同様の処理が実行され、処理が終了される。
【0079】
すなわち、図11を用いて説明した符号化データ生成処理2と、図18の符号化データ生成処理3との違いは、量子化係数の変更のタイミングである。図11を用いて説明した符号化データ生成処理2においては、予測符号量が目標範囲内に収まったのちに、量子化係数を変更するようになされているが、図18の符号化データ生成処理3においては、見積もりのために符号化処理2(ステップS72)の処理が終了する毎に、量子化係数を変更するようになされている。
【0080】
以上説明した処理により、生成される符号化シンボルが、符号割り当て範囲(例えば、−255乃至255)から出てしまうことなく、複号されたデータと符号化前のデータとの誤差を小さくすることができる。すなわち、本発明を適応した符号化処理は、符号化によるデータの劣化を防ぐことができるようにしたものである。従って、本発明を画像データの符号化に適応した場合、復号されて得られる画像の画質の劣化を防ぐことが可能となる。
【0081】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0082】
この記録媒体は、図1に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク31(フレキシブルディスクを含む)、光ディスク32(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク33(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ34などよりなるパッケージメディアなどにより構成される。
【0083】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0084】
【発明の効果】
本発明の情報処理装置および情報処理方法、記録媒体、並びにプログラムによれば、可変長符号を生成する場合に、そのデータの値を所定の割り当て範囲以内としつつ、符号化のために生じる誤差が少ない符号化処理を実行することができる。
【図面の簡単な説明】
【図1】符号化処理を実行するパーソナルコンピュータの構成を説明するための図である。
【図2】従来の符号化データ生成処理1について説明するためのフローチャートである。
【図3】図2のステップS2およびステップS5において実行される符号化処理1について説明するためのフローチャートである。
【図4】 DCTの結果得られたデータを示す図である。
【図5】量子化テーブルを示す図である。
【図6】図5の量子化テーブルを用いた演算結果を示す図である。
【図7】図6の演算結果において符号割り当て範囲を越えたシンボルを制限した量子化結果を示す図である。
【図8】原画像から可変長符号までのデータまたはシンボルの範囲について説明するための図である。
【図9】図7の量子化結果を逆量子化したデータを示す図である。
【図10】図4のDCT結果と図9の逆量子化結果との誤差を示す図である。
【図11】本発明を適応した符号化データ生成処理2について説明するためのフローチャートである。
【図12】シンボルが割り当て範囲を越えた場合に、変更された量子化係数によって生成された量子化テーブルを示す図である。
【図13】図12の量子化テーブルを用いた場合の量子化結果を示す図である。
【図14】図11のステップS32およびステップS37において実行される符号化処理2について説明するためのフローチャートである。
【図15】本発明を適応した場合における、原画像から可変長符号までのデータまたはシンボルの範囲について説明するための図である。
【図16】図13の量子化結果を逆量子化したデータを示す図である。
【図17】図4のDCT結果と図16の逆量子化結果との誤差を示す図である。
【図18】本発明を適応した符号化データ生成処理3について説明するためのフローチャートである。
【符号の説明】
1 パーソナルコンピュータ, 2 ネットワーク, 11 CPU, 13 RAM, 17 HDD, 21 モニタ, 31 磁気ディスク, 32 光ディスク, 33 光磁気ディスク, 34 半導体メモリ
Claims (8)
- 符号量予測のための第1の変換符号化処理を実行し、予測符号量が所定の値以内になった後に、最終的な符号化データ生成のための第2の変換符号化処理を実行する情報処理装置において、
前記第2の変換符号化処理が行われるデータ全体から、前記第1の変換符号化処理を実行するための所定量の前記データを抽出する抽出手段と、
前記抽出手段により抽出された前記データを用いて、予測符号量が所定の値以内になるまで前記第1の変換符号化処理を実行する符号化手段と、
前記符号化手段による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になった場合、前記符号化手段による前記第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出手段と、
前記検出手段により、前記符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、前記符号化手段が実行する前記第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更手段と
を備え、
前記抽出手段は、前記符号化手段による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になるまで、それ以前の処理において前記第1の変換符号化処理が実行されていない前記データを優先的に抽出し、
前記符号化手段は、前記量子化処理変更手段により変更された前記パラメータを用いて前記第2の変換符号化処理を実行する
ことを特徴とする情報処理装置。 - 前記量子化処理変更手段により変更される前記パラメータは、量子化係数である
ことを特徴とする請求項1に記載の情報処理装置。 - 前記第1の変換符号化処理、および前記第2の変換符号化処理は、ISO/IEC11172で規定されている処理である
ことを特徴とする請求項1に記載の情報処理装置。 - 前記量子化処理変更手段は、前記符号化手段による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になるまでの間、前記第1の変換符号化処理が実行される毎に、前記検出手段の検出結果に従って前記量子化処理の前記パラメータを変更し、
前記符号化手段は、最新の前記パラメータを用いて前記第1の変換符号化および前記第2の変換符号化処理を実行する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記量子化処理変更手段は、前記符号化手段による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になり、全ての前記第1の変換符号化処理が終了した後に、前記検出手段の検出結果に従って、前記量子化処理の前記パラメータを変更し、
前記符号化手段は、前記符号の割り当て範囲内に収まっていないシンボルが存在したときに変更された前記パラメータを用いて前記第2の変換符号化処理を実行する
ことを特徴とする請求項4に記載の情報処理装置。 - 符号量予測のための第1の変換符号化処理を実行し、予測符号量が所定の値以内になった後に、最終的な符号化データ生成のための第2の変換符号化処理を実行する情報処理装置の情報処理方法において、
前記第2の変換符号化処理が行われるデータ全体から、前記第1の変換符号化処理を実行するための所定量の前記データを抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記データを用いて、予測符号量が所定の値以内になるまで前記第1の変換符号化処理を実行する第1の符号化ステップと、
前記第1の符号化ステップの処理による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になった場合、前記第1の符号化ステップの処理による前記第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出ステップと、
前記検出ステップの処理により、前記符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、前記第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更ステップと、
前記量子化処理変更ステップの処理により変更された前記パラメータを用いて前記第2の変換符号化処理を実行する第2の符号化ステップと
を含み、
前記抽出ステップは、前記第1の符号化ステップの処理による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になるまで、それ以前の処理において前記第1の変換符号化処理が実行されていない前記データを優先的に抽出し、
前記第2の符号化ステップは、前記量子化処理変更ステップの処理により変更された前記パラメータを用いて前記第2の変換符号化処理を実行する
ことを特徴とする情報処理方法。 - 符号量予測のための第1の変換符号化処理を実行し、予測符号量が所定の値以内になった後に、最終的な符号化データ生成のための第2の変換符号化処理を実行する情報処理装置であって、
前記第2の変換符号化処理が行われるデータ全体から、前記第1の変換符号化処理を実行するための所定量の前記データを抽出する抽出手段と、
前記第1の変換符号化処理および前記第2の変換符号化処理を実行する符号化手段と、
前記符号化手段による前記第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出手段と、
前記検出手段により、前記符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、前記符号化手段が実行する変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更手段とを備える情報処理装置に、
前記第2の変換符号化処理が行われるデータ全体から、前記第1の変換符号化処理を実行するための所定量の前記データを抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記データを用いて、予測符号量が所定の値以内になるまで前記第1の変換符号化処理を実行する第1の符号化ステップと、
前記第1の符号化ステップの処理による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になった場合、前記第1の符号化ステップの処理による前記第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出ステップと、
前記検出ステップの処理により、前記符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、前記第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更ステップと、
前記量子化処理変更ステップの処理により変更された前記パラメータを用いて前記第2の変換符号化処理を実行する第2の符号化ステップと
を実行させ、
前記抽出ステップの処理においては、前記第1の符号化ステップの処理による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になるまで、それ以前の処理において前記第1の変換符号化処理が実行されていない前記データが優先的に抽出され、
前記第2の符号化ステップの処理においては、前記量子化処理変更ステップの処理により変更された前記パラメータを用いて前記第2の変換符号化処理が実行される
プログラムが記録されている記録媒体。 - 符号量予測のための第1の変換符号化処理を実行し、予測符号量が所定の値以内になった後に、最終的な符号化データ生成のための第2の変換符号化処理を実行する情報処理装置であって、
前記第2の変換符号化処理が行われるデータ全体から、前記第1の変換符号化処理を実行するための所定量の前記データを抽出する抽出手段と、
前記第1の変換符号化処理および前記第2の変換符号化処理を実行する符号化手段と、
前記符号化手段による前記第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出手段と、
前記検出手段により、前記符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、前記符号化手段が実行する変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更手段とを備える情報処理装置に、
前記第2の変換符号化処理が行われるデータ全体から、前記第1の変換符号化処理を実行するための所定量の前記データを抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記データを用いて、予測符号量が所定の値以内になるまで前記第1の変換符号化処理を実行する第1の符号化ステップと、
前記第1の符号化ステップの処理による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になった場合、前記第1の符号化ステップの処理による前記第1の変換符号化処理結果に、予め定められた符号の割り当て範囲内に収まっていないシンボルが存在することを検出する検出ステップと、
前記検出ステップの処理により、前記符号の割り当て範囲内に収まっていないシンボルが存在することが検出された場合、前記第2の変換符号化処理に含まれる量子化処理のパラメータを変更する量子化処理変更ステップと、
前記量子化処理変更ステップの処理により変更された前記パラメータを用いて前記第2の変換符号化処理を実行する第2の符号化ステップと
を実行させ、
前記抽出ステップの処理においては、前記第1の符号化ステップの処理による前記第1の変換符号化処理の結果得られる前記予測符号量が所定の値以内になるまで、それ以前の処理において前記第1の変換符号化処理が実行されていない前記データが優先的に抽出され、
前記第2の符号化ステップの処理においては、前記量子化処理変更ステップの処理により変更された前記パラメータを用いて前記第2の変換符号化処理が実行される
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001240095A JP4569056B2 (ja) | 2001-08-08 | 2001-08-08 | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001240095A JP4569056B2 (ja) | 2001-08-08 | 2001-08-08 | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003051748A JP2003051748A (ja) | 2003-02-21 |
JP4569056B2 true JP4569056B2 (ja) | 2010-10-27 |
Family
ID=19070758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001240095A Expired - Fee Related JP4569056B2 (ja) | 2001-08-08 | 2001-08-08 | 情報処理装置および情報処理方法、記録媒体、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4569056B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012151593A (ja) | 2011-01-18 | 2012-08-09 | Sony Corp | 画像処理装置と画像処理方法および撮像装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05292326A (ja) * | 1992-04-15 | 1993-11-05 | Fujitsu Ltd | 画像データ符号化装置 |
JPH06141186A (ja) * | 1992-10-28 | 1994-05-20 | Fujitsu Ltd | 画像データ符号化方法及び装置 |
JPH06350985A (ja) * | 1993-06-10 | 1994-12-22 | Nec Corp | 画像符号化方法および装置 |
JPH07131789A (ja) * | 1993-10-29 | 1995-05-19 | Sanyo Electric Co Ltd | 画像符号化方式 |
JPH10304362A (ja) * | 1997-05-01 | 1998-11-13 | Canon Inc | 画像信号処理装置及び方法 |
-
2001
- 2001-08-08 JP JP2001240095A patent/JP4569056B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05292326A (ja) * | 1992-04-15 | 1993-11-05 | Fujitsu Ltd | 画像データ符号化装置 |
JPH06141186A (ja) * | 1992-10-28 | 1994-05-20 | Fujitsu Ltd | 画像データ符号化方法及び装置 |
JPH06350985A (ja) * | 1993-06-10 | 1994-12-22 | Nec Corp | 画像符号化方法および装置 |
JPH07131789A (ja) * | 1993-10-29 | 1995-05-19 | Sanyo Electric Co Ltd | 画像符号化方式 |
JPH10304362A (ja) * | 1997-05-01 | 1998-11-13 | Canon Inc | 画像信号処理装置及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2003051748A (ja) | 2003-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3135061B2 (ja) | 画像復号化方法 | |
JP2870515B2 (ja) | 可変長符号化装置 | |
US6735344B2 (en) | Data structure for image transmission, image coding method, and image decoding method | |
JP4682102B2 (ja) | 画像符号化装置及び画像符号化方法 | |
JP3097665B2 (ja) | 異常検出機能を備えたタイムラプスレコーダ | |
US20080317362A1 (en) | Image encoding apparatus and image decoding apparauts, and control method thereof | |
JP3446237B2 (ja) | 可変長符号テーブル生成方法及び装置 | |
JP4569056B2 (ja) | 情報処理装置および情報処理方法、記録媒体、並びにプログラム | |
JP2723867B2 (ja) | 画像信号復号化装置 | |
US6829300B1 (en) | Signal processing method and device | |
JP2626521B2 (ja) | 画像符号変換装置 | |
KR20160040930A (ko) | 이미지 재부호화 방법 및 그 장치 | |
JP2011521587A (ja) | 特有数値でデータを符号化および復号するための方法および装置 | |
CN111787326B (zh) | 一种熵编码及熵解码的方法和装置 | |
JP4241517B2 (ja) | 画像符号化装置及び画像復号装置 | |
US6970603B2 (en) | Data encoding apparatus and method of same and camera system | |
JPH10341345A (ja) | 画像データ処理システム | |
JP3896635B2 (ja) | 画像データ変換装置及び方法、予測係数生成装置及び方法 | |
JP3826123B2 (ja) | 画像符号化方法及び装置 | |
JP3542572B2 (ja) | 画像復号方法及び装置 | |
JP4649764B2 (ja) | 画像データ伸長方法および画像データ伸長装置 | |
JP2002077585A (ja) | データ処理装置およびデータ処理方法、並びに記録媒体 | |
JP2001128182A (ja) | 画像符号化方法および画像符号化プログラムを格納したコンピュータで読取可能な記録媒体 | |
JP2001285648A (ja) | 画像処理装置および画像処理方法、並びに記録媒体 | |
JP2003230138A (ja) | 符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080611 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100511 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100629 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100713 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100726 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |