JP2008067361A - 符号化装置、復号化装置、符号化方法及びプログラム - Google Patents
符号化装置、復号化装置、符号化方法及びプログラム Download PDFInfo
- Publication number
- JP2008067361A JP2008067361A JP2007184219A JP2007184219A JP2008067361A JP 2008067361 A JP2008067361 A JP 2008067361A JP 2007184219 A JP2007184219 A JP 2007184219A JP 2007184219 A JP2007184219 A JP 2007184219A JP 2008067361 A JP2008067361 A JP 2008067361A
- Authority
- JP
- Japan
- Prior art keywords
- group
- code
- compressed information
- encoding
- symbol
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【解決手段】 画像処理装置2は、ソースコーダで生成されたシンボルを、既定数のシンボルからなるブロックにまとめ、ブロック毎に符号語を割り振る。すなわち、図1(B)に例示するように、ブロックに対しては1対1の符号であるが、シンボルから見ると多対1の符号を構成する。これにより、可変長符号の処理に起因する分岐処理又はフィードバックループは、シンボル単位で発生することがなくなり、処理速度の向上が期待できる。
【選択図】図1
Description
上記目的を達成するために、本発明にかかる符号化装置は、複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するグループ生成手段と、前記グループ生成手段により生成されたグループに対して、符号を割り当てる符号割当手段と、それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する被圧縮情報符号化手段とを有する。
好適には、グループに含まれうる複数の被圧縮情報をこれらの被圧縮情報の符号データに対応付ける符号テーブルを用いて、被圧縮情報のグループを符号化するテーブル利用符号化手段と、前記グループ生成手段により生成された被圧縮情報のグループを、前記符号割当手段と前記被圧縮情報符号化手段との組、又は、前記テーブル利用符号化手段に割り振る割振り手段とをさらに有し、前記符号割当手段は、前記割振り手段により割り振られたグループについて、符号を割り当て、前記被圧縮情報符号化手段は、前記割振り手段により割り振られたグループの被圧縮情報を符号化する。
また、本発明にかかる復号化装置は、複数の被圧縮情報からなるグループに割り当てられた符号に基づいて、このグループに属する被圧縮情報の符号長を特定する符号長特定手段と、前記符号長特定手段により特定された各被圧縮情報の符号長に基づいて、前記グループに属する被圧縮情報を復号化する被圧縮情報復号化手段とを有する。
また、本発明にかかる符号化方法は、複数の被圧縮情報をまとめて、被圧縮情報のグループを生成し、生成されたグループに対して、符号を割り当て、それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する。
また、本発明にかかるプログラムは、複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するステップと、生成されたグループに対して、符号を割り当てるステップと、それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化するステップとをコンピュータに実行させる。
まず、本発明の理解を助けるために、その背景及び概略を説明する。
例えば、ハフマン符号は、各シンボル値に対して1対1で付与される。すなわち、ハフマン符号化処理は、1入力(シンボル)に対して1出力(符号語)を与える。ここで、シンボルとは、エントロピー符号化処理の対象となる被圧縮情報である。換言すると、被圧縮情報には、エントロピー符号化処理の対象となるシンボルの他、モデリングがなされる前の被圧縮データ(例えば、JPEG符号化処理における画像データ又はDCT係数など)も含まれうる。
このような1対1の符号化処理は、構成及び設計が簡単であるが、図1(A)に例示するように、1シンボルごとに符号長が変わる。このため、ソフトウェア処理で出力のためにシリアライズする処理では、分岐が多発するため処理速度を低下させる要因となる。また、ハードウェア処理であっても、符号語長がフィードバックループを形成するため、処理速度に対する制約となる。
なお、説明の便宜上、ハフマン符号という用語を使ったが、上記の問題点は、国際標準JPEGの固定的なハフマン符号を含めて一般的な可変長符号化に存在する。
これにより、分岐又はフィードバックループは、シンボル単位からブロック単位に削減できるため、処理速度の向上が期待できる。
なお、本実施形態では、ブロックごとに符号語を割り振るエントロピーコーダと、ソースコーダとを組み合わせた形態を具体例として説明するが、この場合に、エントロピーコーダのブロックがソースコーダのブロックと一致する必要はなく、実装コストなどの理由でブロックサイズを変えてもよい。ただし、エントロピーコーダとソースコーダのブロックサイズについて、何らかの関係(例えば、いずれか一方が他方の約数となる関係)がある方が好ましいケースもある。
次に、本実施形態における画像処理装置2のハードウェア構成を説明する。
図2は、本発明にかかる符号化方法が適応される画像処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。
図2に例示するように、画像処理装置2は、CPU202及びメモリ204などを含む制御装置20、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置及びキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)26から構成される。
画像処理装置2は、例えば、プリンタ装置10に設けられた処理装置であり、通信装置22又は記録装置24などを介して画像データを取得し、取得された画像データを符号化して蓄積し、蓄積された符号データを復号化して印刷する。
図3は、制御装置20(図2)により実行され、本発明にかかる符号化方法を実現する符号化プログラム5の機能構成を例示する図である。
図3に例示するように、符号化プログラム5は、ソースコーダ500、グループ生成部510、ビット数算出部520、シンボル変換部530、グループ分類部540、符号割当部550、及び符号統合部560を有する。
符号化プログラム5は、例えば、図2に例示した記録媒体240に記録され、この記録媒体240を介して、制御装置20(図2)に供給される。
なお、本例では、画像データを符号化する場合を具体例として説明する。
本例のソースコーダ500は、既定の予測方法を用いて注目画素の画素値を予測し、この予測値と注目画素値との差分値(以下、予測誤差値)を算出し、算出された予測誤差値をシンボルとする。画像データでは近傍画素間で相関が高いため、シンボル値(予測誤差値)の出現頻度は0近傍で高くなることが期待できる。
本例のグループ生成部510は、ソースコーダ500から入力されたシンボルを、入力順に既定数ずつまとめて、既定数のシンボルが含まれたブロックを生成する。
本例のビット数算出部520は、グループ生成部510からシンボルのブロックが入力されると、ブロックに含まれる各シンボルについて、必要最小限のビット数(必要ビット数)を算出し、算出された必要ビット数をグループ分類部540及びシンボル変換部530に出力する。
本例のシンボル変換部530は、グループ生成部510から入力されたシンボルを、ビット数算出部520から入力された必要ビット数のビット列(すなわち、必要ビット数で表現されたシンボル)に変換する。
本例のグループ分類部540は、ブロックに含まれるシンボルの必要ビット数の組合せに基づいて、このブロックを分類すべき上位グループを決定する。
本例の符号割当部550は、上位グループ毎に、ブロックの出現頻度を計数し、上位グループ毎の出現頻度に応じて、各上位グループにハフマン符号(以下、グループ符号)を割り当てる。
なお、本例の符号割当部550は、グロックの出現頻度を上位グループ毎に計数し、計数値に基づいて符号表を設計するが、出現頻度を推定し、推定値に基づいて符号表を設計してもよいし、推定される出現頻度に応じて予め設計された符号表を用いてもよい。
本例の符号統合部560は、符号割当部550により割り当てられた符号(グループ符号)と、シンボル変換部530により変換されたシンボル値のビット列(必要ビット数で表現されたシンボル値)とを統合して、ブロック符号を生成する。
図4(A)に例示するように、グループ生成部510は、ソースコーダ500から入力されるシンボル(8ビット)を入力順に4つずつまとめて、4つのシンボルS0〜S3が含まれたブロックを生成する。本例では、各シンボルS0〜S3は、8ビットで表現された予測誤差値であり、1ブロックのビット数は32ビットである。
シンボル変換部530は、図4(B)に例示するように、ブロックに含まれる各シンボルを、必要ビット数で表現されたシンボルに変換する。シンボル表現に必要なビット数(必要ビット数)は、シンボル値に対して底2のlogをとり1を加算することで得られる。ただし、シンボル値0は0ビットと定義する。例えば、シンボル値1は1ビット、シンボル値2〜3は2ビット、シンボル値4〜7は3ビットである。本例では、シンボルが8ビットであるため、必要ビット数は、0〜8ビットの9種類となる。そして、例えば、あるブロックの必要ビット数が3、1、4、1だったとすると、本例のグループ分類部540は、これらの必要ビット数の組合せ「3、1、4、1」に基づいて、ブロックを上位グループに分類するため、このブロックは、上位グループ「3141」に縮退する。このような上位グループは6561(=9の4乗)種類存在するが、符号割当部550は、各上位グループ毎にブロックの出現確率を計測してハフマン符号を設計し、符号語とする。
なお、上位グループ「3141」には、512(=8×2×16×2)のブロックが縮退される。これらを個別に見分けるために、各シンボルを必要ビット数で表現したものを上述の符号語の後に付加する。すなわち、符号統合部560は、図4(C)に例示するように、上位グループに割り当てられた符号(上位グループ「3141」の符号語)と、ブロックに含まれるシンボル値(必要ビット数で表現されたシンボル値)とを統合する。
次に、画像処理装置2(符号化プログラム5)の全体動作を説明する。
図5は、符号化プログラム5(図3)による符号化処理(S10)のフローチャートである。
図5に示すように、ステップ100(S100)において、ソースコーダ500は、画像データが入力されると、走査順に予測誤差値を算出し、算出された予測誤差値をシンボルとしてグループ生成部510に出力する。
グループ生成部510は、ソースコーダ500から入力されるシンボル(予測誤差)を入力順に4つずつまとめて、4つのシンボルが含まれたブロックを生成し、生成されたブロック(下位グループ)をビット数算出部520及びシンボル変換部530に出力する。
また、本画像処理装置2は、複数のブロックを上位グループに分類し、上位グループに対して符号を割り当てることにより、符号表のサイズを抑えることができる。
また、本画像処理装置2は、ブロック内のシンボルに対する処理を独立に並列化することができるので、そのような処理が可能なアーキテクチャで高速化を図ることができる。
図6は、制御装置20(図2)により実行される復号化プログラム6の機能構成を例示する図である。
図6に例示するように、復号化プログラム6は、符号長特定部600、シンボル抽出部610、シンボル復号部620、及びデータ再生部630を有する。
復号化プログラム6は、例えば、図2に例示した記録媒体240に記録され、この記録媒体240を介して、制御装置20(図2)に供給される。
本例の符号長特定部600は、上位ブロックに割り当てられた符号(グループ符号)に基づいて、ブロックに含まれる各シンボルのビット数(すなわち必要ビット数)を特定し、特定されたビット数をシンボル抽出部610に出力する。
本例のシンボル抽出部610は、符号長特定部600により特定されたシンボルのビット数に基づいて、ブロックに含まれる各シンボルのビット列(必要ビット数で表現されたシンボル値)を切り出す。
本例のシンボル復号部620は、シンボル抽出部610により切り出されたシンボルのビット列(必要ビット数で表現されたシンボル値)の上位に0のビット列を付加して8ビット表現のシンボルを生成し、生成されたシンボルをデータ再生部630に出力する。
本例のデータ再生部630は、シンボル復号部620から入力されるシンボル(予測誤差値)に基づいて、元の画像データを生成する。
図7は、復号化プログラム6(図6)による復号化処理(S20)のフローチャートである。
図7に示すように、ステップ200(S200)において、符号長特定部600は、入力された符号データのグループ符号を復号化して、各ブロックの必要ビット数の組を特定する。
次に、上記実施形態の変形例1を説明する。
上記実施形態では、図4に例示するように、ブロックに含まれるシンボルの必要ビット数の組合せに基づいて、各ブロックを上位グループに分類していたが、第1の変形例では、ブロックに含まれるシンボルの必要ビット数のうちの最大値に基づいて、各ブロックを上位グループに分類する。
例えば、図8(A)に例示するように、4つのシンボルS0〜S3が含まれたブロックが存在する場合に、これらのシンボルの必要ビット数のうち、最大値を検出する。本例では、シンボルS0(予測誤差4)の必要ビット数が3ビットであり、シンボルS1(予測誤差1)の必要ビット数が1ビットであり、シンボルS2(予測誤差11)の必要ビット数が4ビットであり、シンボルS3(予測誤差1)の必要ビット数が1ビットである。そのため、本例の最大値は4である。
そして、本変形例では、最大値となったビット数でブロック内の各シンボルが表現される。すなわち、本例では、図8(B)に例示するように、シンボルS0〜S3が全て4ビットで表現される。
そして、図8(C)に例示するように、上位ブロックに割り当てられた符号(グループ符号)と、最大値のビット数で表現されたシンボル値(本例では、4ビット表現されたシンボルS0〜S3)とを統合して、ブロック符号が作成される。
図9に例示するように、第2の符号化プログラム52は、図3の符号化プログラム5に最大値検出部570を追加した構成をとる。
本例の最大値検出部570は、ブロックに含まれる複数のシンボルのうち、シンボル値が最大となるシンボルを検出する。
本変形例のシンボル変換部530は、ビット数算出部520により算出された必要ビット数で、ブロックに含まれる全シンボルを表現する。
本変形例のグループ分類部540は、ビット数算出部520により算出された必要ビット数(すなわち、最大値検出部570により検出されたシンボルの必要ビット数)に基づいて、各ブロックを上位グループに分類する。
なお、ブロックに含まれるシンボル数を8の倍数にすれば、最大値の必要ビット数で表現されるパートが、バイトバウンダリになる。さらにハフマン符号語をバイトバウンダリで設計すれば、符号全体がバイトバウンダリになり、さらなる高速化が期待できる。
また、ハフマン符号語は、いくつかのブロックをまとめて表現してもよい。例えば1バイトを4ビットずつに分けて、上位4ビットで第1のブロックを、また下位4ビットで第2のブロックの符号語を格納するようにしてもよい。
上記実施形態では、図10(A)に例示するように、各シンボルを必要ビット数で表現したが、第2の変形例では、図10(B)に例示するように、必要ビット数で表現されたシンボルのビット列から、さらに最上位ビット(すなわち、シンボルのMSB)を省略する。すなわち、Nビット表現すべきシンボルが、同一ビットを含む場合、そのビットは省略してもよい。例えば、シンボル2とシンボル3を2ビット表現する場合、いずれもMSB(Most Significant Bit)は、1となる。したがって、このビットを2ビット表現に含める必要はない。
また、第2の変形例では、Nビット表現されるシンボルが1種類である場合、Nビット表現を省略してもよい。例えば、図10(A)に例示するシンボル値「1」は、1ビット表現されるが、1ビット表現されるシンボルはシンボル値「1」の1種類だけであるから、図10(B)に例示するように、シンボル値「1」のビット列を省略できる。このシンボル値「1」は、グループ符号「3141」の「1」によって復号化できる。
上記実施形態及び変形例1では、暗黙にシンボル値が小さいシンボルほど高い頻度で出現するという仮定をおいていた。特に前段にソースコーダを設ける場合、そのような仮定はごく一般的であり、またそうなるようにソースコーダを設計することも比較的容易である。
しかしそうでないケースもありえる。そこで、第3の変形例では、シンボル値そのままではなく、変換する例について述べる。
本変形例は、必要ビット数を算出する前にシンボル値の変換を行う。この変換は、より多く出現するシンボル値に、より小さいインデクスが振られるように行う。これは予め計測したり他のデータから予測したりして出現頻度を求め、これをソートして得られる出現頻度順のシンボル値を表すルックアップテーブルなどで簡単に実現できる。
上記変形例3のさらなる変形例として、1パス目では上記変形例2(実施形態でもよい)で説明した符号化処理を行いつつ、同時に出現頻度を計測しておき、さらに圧縮率を高めたい場合に、上記変形例3で再処理する。このとき出現頻度から正確に再処理後の符号量が求められるので、これを元に再処理の是非を判定するような構成でもよい。
また、上記実施形態では、シンボル変換部530がシンボル単位でシンボルの変換を行っているが、複数シンボル単位で変換を行ってもよい。例えば、隣あう2シンボルのパターンについて、ルックアップテーブルを生成すればよい。こうすることで記憶を有する情報源の圧縮率を向上することができる。
また、上記実施形態では、ソースコーダ500がシンボルとして予測誤差値を算出しているが、他の方法でシンボルを生成してもよい。
次に、第2の実施形態を説明する。
上記第1の実施形態ではブロック内の必要ビット数Nを求め、グループを決定し、ブロック内の各要素をそれぞれNビット表現したものをマージするというステップを踏む。
もしこの結果生成されるパターンの種類が少なければ、この処理をロジックで行うよりも、最終データを保持しておいてルックアップテーブル(LUT)で選択した方が高速に処理できる。例えばハフマン符号表はそのようなLUTの一種と考えることもできる。
しかし、そのようなテーブルは、上記実施形態のような入力が複数シンボルの場合は、一般に非常に大きくなるので、不合理なことが多い。上記実施形態の場合、仮に1ブロック8シンボルとすると、N=1で(2^1)^8=256通りの出力が起こりえる。同様にN=2では(2^2)^8=6.6×10^4通り、N=8では(2^8)^8=1.8×10^19通りとなるので、現在の技術では実現が難しいサイズになる。
しかし、例えばN=1に限定することができれば256エントリのLUTで済むので、十分実現可能となる。そこで、第2の実施形態では、N=1となる入力シンボルだけを、LUTによる処理の対象として符号化する。ここでN=1となるのは0または1のシンボルである。
図11に例示するように、本実施形態の符号化プログラム7は、図3の符号化プログラム5に、振分け部700及びテーブル符号化部710を追加した構成をとる。
図12は、1ブロック8シンボルの場合におけるN=1または2の符号テーブルである。いま各シンボルが8ビットだとすると、図12の符号テーブルは、6.6×10^4エントリで構成できる。ただし、テーブル符号化部710がこの符号テーブルを引くために8ビット×8のデータからエントリを探す処理が必要となる。これは簡単なビット操作で実行できる。
本実施例において、テーブル符号化部710が符号テーブル(LUT)をひくときに固定的なビット処理を要するものの、本来必要だったハフマン符号表をひく処理(符号割当部550などの処理)や、得られた符号と符号長で分岐しつつ符号をマージして符号語を生成する処理(符号統合部560などの処理)を省くことができる。これにより上記第1の実施形態と比較して、符号化処理の高速化を図ることができる。
図13に示すように、S100において、ソースコーダ500は、画像データが入力されると、走査順に予測誤差値を算出し、算出された予測誤差値をシンボルとしてグループ生成部510に出力する。グループ生成部510は、ソースコーダ500から入力されるシンボル(予測誤差)を入力順に8つずつまとめて、8つのシンボルが含まれたブロックを生成し、生成されたブロック(下位グループ)を振分け部700に出力する。
S110において、符号化プログラム7は、ブロック生成部510により生成されたブロックの中から、順に注目ブロック(すなわち、符号化対象となるブロック)を設定する。
符号化プログラム7は、注目ブロックの必要ビット数が基準値以下である場合に、S310の処理に移行し、注目ブロックの必要ビット数が基準値よりも大きい場合に、S120の処理に移行する。
S130において、グループ分類部540は、ビット数算出部520により算出された注目ブロックの必要ビット数の組に基づいて、注目ブロックを上位グループに分類する。
S140において、符号割当部550は、グループ分類部540により注目ブロックが分類された上位グループが通知されると、この上位グループの出現頻度値を1増加させる。
S150において、シンボル変換部530は、注目ブロックに含まれる各シンボルを、ビット数算出部520により算出された必要ビット数で表現されたシンボルに変換し、必要ビット数で表現された8つのシンボルを符号統合部560に出力する。
S160において、符号化プログラム7は、全シンボルが処理されたか否かを判断し、全シンボルが処理された場合に、S170の処理に移行し、未処理のシンボルが存在する場合に、S110の処理に戻る。
S170において、符号割当部550は、上位グループの出現頻度値に基づいて、各上位グループに対してハフマン符号(グループ符号)を割り当てる。
S180において、符号統合部560は、各ブロックが分類された上位グループのハフマン符号と、このブロックのシンボル(必要ビット数で表現されたもの)とを統合して、ブロック符号を生成し、生成されたブロック符号を出力符号として外部に出力する。
次に、第2の実施形態の変形例を説明する。
本変形例では、上記第2の実施形態を画像圧縮に適用する。画像圧縮では、データの連続性による冗長度を削減するために、前値差分などの予測残差への変換が行われる。
図14は、本変形例における符号化プログラム72の機能構成を例示する図である。なお、本図に示された各構成のうち、図9又は図11に示された構成と実質的に同一のものには同一の符号が付されている。
図14に示すように、本変形例の符号化プログラム72は、図9の符号化プログラム52から、ソースコーダ500を除き、振分け部700、テーブル符号化部710及び予測残差算出部720を追加した構成をとる。
本変形例では、予測残差を符号化対象シンボルとするが、予測残差は正負ともにとりえるので、負値を2の補数で表現し、最大値の検出と必要ビット数算出では出現頻度を考慮して、[-1,0]に1bit、[-2,1]に2bitといったように配分するなどする。これは信号処理ではごく一般的な技術である。
本例の振分け部700は、外部からの指示によって白黒モードであるか否かを判断する。ここで、白黒モードとは、入力画像が白黒2値で作成されている場合や、白黒2値での出力が指定されている場合である。白黒モードモードでは、画像信号としては0か255の2値しかとり得ない。この場合、予測残差は−255、0、255のいずれかになるが、8bit限定で2の補数表現を考えれば、それぞれ1、0、−1と同値になる。このように変換しても一意性は失われない。例えば真値が0で予測値が255の場合、予測残差は−255なので、予測値と予測残差から真値を再現するには255+(−255)=0と求められる。この予測残差を1と表現して8bit限定の演算で置き換えてみると、255+1=256となるが、8bitに限定すれば、つまり下位8bitを取り出せば、256→0となって真値が再現できることがわかる。このような演算はラップアラウンドなどと称され、一般的な技術である。
このラップアラウンドの表現を用いれば、0または255の画像から発生する予測残差は1、0、−1で表現できるので、必要ビット数N=1ないし2となる。つまりそのような場合はLUT処理が可能となる。したがって、本変形例の振分け部700は、白黒モードが選択された際に、LUT(すなわち、テーブル符号化部710の処理)を選択するように動作する。
なお、振分け部700は、入力画像を分析して、白黒2値の場合を検出するように構成していてもよいし、実際に予測残差を計算し、N=1または2にできるときだけLUTを通すようにしてもよい。この場合、後段の予測残差と処理を逆にすれば処理を削減できる。
なお、上記変形例ではN=1または2のケースについて述べたが、実現性が許せばこれをN=1から3までや、その他のケースにしてもよい。
5,52・・・符号化プログラム
500・・・ソースコーダ
510・・・グループ生成部
520・・・ビット数算出部
530・・・シンボル変換部
540・・・グループ分類部
550・・・符号割当部
560・・・符号統合部
570・・・最大値検出部
6・・・復号化プログラム
600・・・符号長特定部
610・・・シンボル抽出部
620・・・シンボル復号部
630・・・データ再生部
Claims (9)
- 複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するグループ生成手段と、
前記グループ生成手段により生成されたグループに対して、符号を割り当てる符号割当手段と、
それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する被圧縮情報符号化手段と
を有する符号化装置。 - 前記グループ生成手段は、複数の被圧縮情報をまとめて、被圧縮情報の下位グループを生成し、
前記グループ生成手段により生成された下位グループを、上位グループに分類するグループ分類手段
をさらに有し、
前記符号割当手段は、前記上位グループに対して、符号を割り当て、
前記被圧縮情報符号化手段は、同一の前記上位グループに属する下位グループの被圧縮情報を、この上位グループに割り当てられた可変長符号を用いて符号化する
請求項1に記載の符号化装置。 - 前記グループ生成手段は、入力された複数の被圧縮情報を入力順に既定数ずつまとめて、既定数の被圧縮情報が含まれた下位グループを生成し、
前記グループ分類手段は、前記下位グループに属する被圧縮情報を表現するためのビット数に基づいて、下位グループを上位グループに分類する
請求項2に記載の符号化装置。 - 前記符号割当手段は、各グループの出現確率に応じて、それぞれのグループにエントロピー符号を割り当てる
請求項1に記載の符号化装置。 - 入力された被圧縮情報に基づいて、この被圧縮情報よりも少ないビット数で表現されたビット列に変換する被圧縮情報変換手段
をさらに有し、
前記被圧縮情報符号化手段は、それぞれのグループに属する被圧縮情報について前記被圧縮情報変換手段により変換されたビット列と、このグループに割り当てられた符号とを用いて、符号化する
請求項1に記載の符号化装置。 - グループに含まれうる複数の被圧縮情報をこれらの被圧縮情報の符号データに対応付ける符号テーブルを用いて、被圧縮情報のグループを符号化するテーブル利用符号化手段と、
前記グループ生成手段により生成された被圧縮情報のグループを、前記符号割当手段と前記被圧縮情報符号化手段との組、又は、前記テーブル利用符号化手段に割り振る割振り手段と
をさらに有し、
前記符号割当手段は、前記割振り手段により割り振られたグループについて、符号を割り当て、
前記被圧縮情報符号化手段は、前記割振り手段により割り振られたグループの被圧縮情報を符号化する
請求項1に記載の符号化装置。 - 複数の被圧縮情報からなるグループに割り当てられた符号に基づいて、このグループに属する被圧縮情報の符号長を特定する符号長特定手段と、
前記符号長特定手段により特定された各被圧縮情報の符号長に基づいて、前記グループに属する被圧縮情報を復号化する被圧縮情報復号化手段と
を有する復号化装置。 - 複数の被圧縮情報をまとめて、被圧縮情報のグループを生成し、
生成されたグループに対して、符号を割り当て、
それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する
符号化方法。 - 複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するステップと、
生成されたグループに対して、符号を割り当てるステップと、
それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化するステップと
をコンピュータに実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007184219A JP4893957B2 (ja) | 2006-08-07 | 2007-07-13 | 符号化装置、復号化装置、符号化方法及びプログラム |
US11/882,672 US7548175B2 (en) | 2006-08-07 | 2007-08-03 | Encoding apparatus, decoding apparatus, encoding method, computer readable medium storing program thereof, and computer data signal |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006214348 | 2006-08-07 | ||
JP2006214348 | 2006-08-07 | ||
JP2007184219A JP4893957B2 (ja) | 2006-08-07 | 2007-07-13 | 符号化装置、復号化装置、符号化方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008067361A true JP2008067361A (ja) | 2008-03-21 |
JP4893957B2 JP4893957B2 (ja) | 2012-03-07 |
Family
ID=39028606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007184219A Expired - Fee Related JP4893957B2 (ja) | 2006-08-07 | 2007-07-13 | 符号化装置、復号化装置、符号化方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7548175B2 (ja) |
JP (1) | JP4893957B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012033032A (ja) * | 2010-07-30 | 2012-02-16 | Sony Corp | 情報処理装置および情報処理方法 |
JP2014027658A (ja) * | 2012-07-30 | 2014-02-06 | Intel Corp | 圧縮エンコーディング及びデコーディング方法並びに装置 |
JP2014527735A (ja) * | 2011-07-18 | 2014-10-16 | トムソン ライセンシングThomson Licensing | ツリー構造の適応的エントロピー符号化方法 |
US9161047B2 (en) | 2013-01-25 | 2015-10-13 | Fuji Xerox Co., Ltd. | Image encoding apparatus and method, image decoding apparatus, and non-transitory computer readable medium |
JP2016513436A (ja) * | 2013-03-01 | 2016-05-12 | グルロジック マイクロシステムズ オーワイGurulogic Microsystems Oy | エンコーダ、デコーダ及び方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4831349B2 (ja) * | 2007-01-23 | 2011-12-07 | 富士ゼロックス株式会社 | 画像処理装置、画像形成装置、画像形成システム、及びプログラム |
JP5850214B2 (ja) * | 2011-01-11 | 2016-02-03 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
WO2012105882A1 (en) * | 2011-02-04 | 2012-08-09 | Telefonaktiebolaget L M Ericsson (Publ) | Pixel block compression and decompression |
US11677416B2 (en) * | 2021-05-17 | 2023-06-13 | Radu Mircea Secareanu | Hardware implementable data compression/decompression algorithm |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0322690A (ja) * | 1989-06-20 | 1991-01-31 | Fujitsu Ltd | 可変長符号化方式及び可変長復号化方式 |
JPH0484565A (ja) * | 1990-07-26 | 1992-03-17 | Matsushita Electric Ind Co Ltd | 画像信号圧縮伸張装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5905893A (en) * | 1996-06-10 | 1999-05-18 | Lsi Logic Corporation | Microprocessor adapted for executing both a non-compressed fixed length instruction set and a compressed variable length instruction set |
US5764994A (en) * | 1996-09-16 | 1998-06-09 | International Business Machines Corporation | Method and system for compressing compiled microcode to be executed within a data processing system |
JP3373132B2 (ja) | 1997-05-14 | 2003-02-04 | シャープ株式会社 | ディジタル符号化装置およびディジタル復号化装置 |
US6618506B1 (en) * | 1997-09-23 | 2003-09-09 | International Business Machines Corporation | Method and apparatus for improved compression and decompression |
US6907598B2 (en) * | 2002-06-05 | 2005-06-14 | Microsoft Corporation | Method and system for compressing program code and interpreting compressed program code |
-
2007
- 2007-07-13 JP JP2007184219A patent/JP4893957B2/ja not_active Expired - Fee Related
- 2007-08-03 US US11/882,672 patent/US7548175B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0322690A (ja) * | 1989-06-20 | 1991-01-31 | Fujitsu Ltd | 可変長符号化方式及び可変長復号化方式 |
JPH0484565A (ja) * | 1990-07-26 | 1992-03-17 | Matsushita Electric Ind Co Ltd | 画像信号圧縮伸張装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012033032A (ja) * | 2010-07-30 | 2012-02-16 | Sony Corp | 情報処理装置および情報処理方法 |
JP2014527735A (ja) * | 2011-07-18 | 2014-10-16 | トムソン ライセンシングThomson Licensing | ツリー構造の適応的エントロピー符号化方法 |
US9532056B2 (en) | 2011-07-18 | 2016-12-27 | Thomson Licensing | Method for adaptive entropy coding of tree structures |
JP2014027658A (ja) * | 2012-07-30 | 2014-02-06 | Intel Corp | 圧縮エンコーディング及びデコーディング方法並びに装置 |
US9161047B2 (en) | 2013-01-25 | 2015-10-13 | Fuji Xerox Co., Ltd. | Image encoding apparatus and method, image decoding apparatus, and non-transitory computer readable medium |
JP2016513436A (ja) * | 2013-03-01 | 2016-05-12 | グルロジック マイクロシステムズ オーワイGurulogic Microsystems Oy | エンコーダ、デコーダ及び方法 |
Also Published As
Publication number | Publication date |
---|---|
US20080030384A1 (en) | 2008-02-07 |
JP4893957B2 (ja) | 2012-03-07 |
US7548175B2 (en) | 2009-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4893957B2 (ja) | 符号化装置、復号化装置、符号化方法及びプログラム | |
KR100750165B1 (ko) | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 | |
CN102687404B (zh) | 用于数据压缩的数据值出现信息 | |
AU2012332327B2 (en) | Method and apparatus for image compression storing encoding parameters in 2D matrices | |
CA2181017C (en) | Method and apparatus for encoding and decoding an image | |
US8731066B2 (en) | Multimedia signature coding and decoding | |
US7522076B1 (en) | Parallel context adaptive binary arithmetic coding | |
JP4893956B2 (ja) | 符号化装置、復号化装置、符号化方法及びプログラム | |
JP2006270325A (ja) | 画像圧縮装置、画像伸長装置、画像データ、画像処理方法及びプログラム | |
CN115297218A (zh) | 基于哈夫曼编码规则和位置图压缩的可逆数据隐藏方法 | |
KR20180067956A (ko) | 데이터 압축 장치 및 방법 | |
JP4865509B2 (ja) | 復号装置及び復号方法 | |
JP2006311055A (ja) | 符号化装置、復号化装置、符号化方法、復号化方法及びプログラム | |
JP5842357B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2007336056A (ja) | 符号化装置、符号化方法及びプログラム | |
US8170113B2 (en) | Encoder, data file, encoding method, computer readable medium and computer data signal | |
JP4748805B2 (ja) | 画像符号化装置及びその制御方法 | |
JP4971881B2 (ja) | 画像符号化装置及び画像復号装置、並びにそれらの制御方法 | |
JP3862590B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム並びにコンピュータ可読記憶媒体 | |
JP3146092B2 (ja) | 符号化装置及び復号化装置 | |
JP4377352B2 (ja) | データ圧縮装置およびデータ圧縮プログラム | |
Cena et al. | A Q-Coder algorithm with carry free addition | |
JP2005176169A (ja) | 映像符号化方法および装置 | |
JPH08194823A (ja) | データ圧縮装置 | |
JP2006086676A (ja) | 画像処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100622 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110804 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111005 |
|
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: 20111124 |
|
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: 20111207 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4893957 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |