JP2008067361A - 符号化装置、復号化装置、符号化方法及びプログラム - Google Patents

符号化装置、復号化装置、符号化方法及びプログラム Download PDF

Info

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
Application number
JP2007184219A
Other languages
English (en)
Other versions
JP4893957B2 (ja
Inventor
Taro Yokose
太郎 横瀬
Masanori Sekino
雅則 関野
Tomonori Taniguchi
友紀 谷口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2007184219A priority Critical patent/JP4893957B2/ja
Priority to US11/882,672 priority patent/US7548175B2/en
Publication of JP2008067361A publication Critical patent/JP2008067361A/ja
Application granted granted Critical
Publication of JP4893957B2 publication Critical patent/JP4893957B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; 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には、入力データを直交変換し、直交変換された入力データのゼロ長を抽出し、直交変換された入力データをグルーピングし、抽出されたゼロ長とグループ係数とに基づいて求められた符号長における当該符号の発生頻度と、符号長に基づいて求められた符号長の符号の中で最も発生頻度の高い符号とからハフマン符号化を行なう方法が開示されている。
特開平10−322221号公報
本発明は、上述した背景からなされたものであり、より効率的な符号化処理を実現する符号化装置を提供することを目的とする。
[符号化装置]
上記目的を達成するために、本発明にかかる符号化装置は、複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するグループ生成手段と、前記グループ生成手段により生成されたグループに対して、符号を割り当てる符号割当手段と、それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する被圧縮情報符号化手段とを有する。
好適には、前記グループ生成手段は、複数の被圧縮情報をまとめて、被圧縮情報の下位グループを生成し、前記グループ生成手段により生成された下位グループを、上位グループに分類するグループ分類手段をさらに有し、前記符号割当手段は、前記上位グループに対して、符号を割り当て、前記被圧縮情報符号化手段は、同一の前記上位グループに属する下位グループの被圧縮情報を、この上位グループに割り当てられた可変長符号を用いて符号化する。
好適には、前記グループ生成手段は、入力された複数の被圧縮情報を入力順に既定数ずつまとめて、既定数の被圧縮情報が含まれた下位グループを生成し、前記グループ分類手段は、前記下位グループに属する被圧縮情報を表現するためのビット数に基づいて、下位グループを上位グループに分類する。
好適には、前記符号割当手段は、各グループの出現確率に応じて、それぞれのグループにエントロピー符号を割り当てる。
好適には、入力された被圧縮情報に基づいて、この被圧縮情報よりも少ないビット数で表現されたビット列に変換する被圧縮情報変換手段をさらに有し、前記被圧縮情報符号化手段は、それぞれのグループに属する被圧縮情報について前記被圧縮情報変換手段により変換されたビット列と、このグループに割り当てられた符号とを用いて、符号化する。
好適には、グループに含まれうる複数の被圧縮情報をこれらの被圧縮情報の符号データに対応付ける符号テーブルを用いて、被圧縮情報のグループを符号化するテーブル利用符号化手段と、前記グループ生成手段により生成された被圧縮情報のグループを、前記符号割当手段と前記被圧縮情報符号化手段との組、又は、前記テーブル利用符号化手段に割り振る割振り手段とをさらに有し、前記符号割当手段は、前記割振り手段により割り振られたグループについて、符号を割り当て、前記被圧縮情報符号化手段は、前記割振り手段により割り振られたグループの被圧縮情報を符号化する。
[復号化装置]
また、本発明にかかる復号化装置は、複数の被圧縮情報からなるグループに割り当てられた符号に基づいて、このグループに属する被圧縮情報の符号長を特定する符号長特定手段と、前記符号長特定手段により特定された各被圧縮情報の符号長に基づいて、前記グループに属する被圧縮情報を復号化する被圧縮情報復号化手段とを有する。
[符号化方法]
また、本発明にかかる符号化方法は、複数の被圧縮情報をまとめて、被圧縮情報のグループを生成し、生成されたグループに対して、符号を割り当て、それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する。
[プログラム]
また、本発明にかかるプログラムは、複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するステップと、生成されたグループに対して、符号を割り当てるステップと、それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化するステップとをコンピュータに実行させる。
本発明の符号化装置によれば、より効率的な符号化処理を実現することができる。
[第1実施形態]
まず、本発明の理解を助けるために、その背景及び概略を説明する。
例えば、ハフマン符号は、各シンボル値に対して1対1で付与される。すなわち、ハフマン符号化処理は、1入力(シンボル)に対して1出力(符号語)を与える。ここで、シンボルとは、エントロピー符号化処理の対象となる被圧縮情報である。換言すると、被圧縮情報には、エントロピー符号化処理の対象となるシンボルの他、モデリングがなされる前の被圧縮データ(例えば、JPEG符号化処理における画像データ又はDCT係数など)も含まれうる。
このような1対1の符号化処理は、構成及び設計が簡単であるが、図1(A)に例示するように、1シンボルごとに符号長が変わる。このため、ソフトウェア処理で出力のためにシリアライズする処理では、分岐が多発するため処理速度を低下させる要因となる。また、ハードウェア処理であっても、符号語長がフィードバックループを形成するため、処理速度に対する制約となる。
なお、説明の便宜上、ハフマン符号という用語を使ったが、上記の問題点は、国際標準JPEGの固定的なハフマン符号を含めて一般的な可変長符号化に存在する。
そこで、第1の実施形態における画像処理装置2は、複数のシンボル(以下、ブロックと呼ぶ)毎に符号語を割り振る。すなわち、図1(B)に例示するように、ブロックに対しては1対1の符号であるが、シンボルから見ると多対1の符号を構成することになる。
これにより、分岐又はフィードバックループは、シンボル単位からブロック単位に削減できるため、処理速度の向上が期待できる。
なお、本実施形態では、ブロックごとに符号語を割り振るエントロピーコーダと、ソースコーダとを組み合わせた形態を具体例として説明するが、この場合に、エントロピーコーダのブロックがソースコーダのブロックと一致する必要はなく、実装コストなどの理由でブロックサイズを変えてもよい。ただし、エントロピーコーダとソースコーダのブロックサイズについて、何らかの関係(例えば、いずれか一方が他方の約数となる関係)がある方が好ましいケースもある。
[ハードウェア構成]
次に、本実施形態における画像処理装置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)に供給される。
なお、本例では、画像データを符号化する場合を具体例として説明する。
符号化プログラム5において、ソースコーダ500は、入力されたデータファイルに基づいて、可変長符号化処理の対象となるシンボルを生成し、生成されたシンボルをグループ生成部510に出力する。
本例のソースコーダ500は、既定の予測方法を用いて注目画素の画素値を予測し、この予測値と注目画素値との差分値(以下、予測誤差値)を算出し、算出された予測誤差値をシンボルとする。画像データでは近傍画素間で相関が高いため、シンボル値(予測誤差値)の出現頻度は0近傍で高くなることが期待できる。
グループ生成部510は、ソースコーダ500から入力された複数のシンボルをまとめて、シンボルのグループ(以下、ブロック)を生成し、生成されたシンボルのブロックをビット数算出部520及びシンボル変換部530に出力する。
本例のグループ生成部510は、ソースコーダ500から入力されたシンボルを、入力順に既定数ずつまとめて、既定数のシンボルが含まれたブロックを生成する。
ビット数算出部520は、シンボルを表現するために必要となるビット数を算出する。
本例のビット数算出部520は、グループ生成部510からシンボルのブロックが入力されると、ブロックに含まれる各シンボルについて、必要最小限のビット数(必要ビット数)を算出し、算出された必要ビット数をグループ分類部540及びシンボル変換部530に出力する。
シンボル変換部530は、グループ生成部510から入力されたシンボルを、入力されたシンボルよりも少ないビット数で表現されたビット列に変換し、変換されたシンボルのビット列を符号統合部560に出力する。
本例のシンボル変換部530は、グループ生成部510から入力されたシンボルを、ビット数算出部520から入力された必要ビット数のビット列(すなわち、必要ビット数で表現されたシンボル)に変換する。
グループ分類部540は、ビット数算出部520により算出されたシンボルの必要ビット数に基づいて、グループ生成部510により生成されたブロック(下位グループ)を上位グループに分類する。
本例のグループ分類部540は、ブロックに含まれるシンボルの必要ビット数の組合せに基づいて、このブロックを分類すべき上位グループを決定する。
符号割当部550は、複数のシンボルが含まれたグループ(ブロック又は上位グループ)に対して、符号を割り当てる。
本例の符号割当部550は、上位グループ毎に、ブロックの出現頻度を計数し、上位グループ毎の出現頻度に応じて、各上位グループにハフマン符号(以下、グループ符号)を割り当てる。
なお、本例の符号割当部550は、グロックの出現頻度を上位グループ毎に計数し、計数値に基づいて符号表を設計するが、出現頻度を推定し、推定値に基づいて符号表を設計してもよいし、推定される出現頻度に応じて予め設計された符号表を用いてもよい。
符号統合部560は、符号割当部550により割り当てられた符号と、シンボル変換部530により生成されたビット列とに基づいて、ブロックに含まれるシンボル群の符号(以下、ブロック符号)を生成する。
本例の符号統合部560は、符号割当部550により割り当てられた符号(グループ符号)と、シンボル変換部530により変換されたシンボル値のビット列(必要ビット数で表現されたシンボル値)とを統合して、ブロック符号を生成する。
図4は、符号化プログラム5(図3)による符号化処理を説明する図である。
図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に出力する。
ステップ110(S110)において、符号化プログラム5は、ブロック生成部510により生成されたブロックの中から、順に注目ブロック(すなわち、符号化対象となるブロック)を設定する。
ステップ120(S120)において、ビット数算出部520は、グループ生成部510から入力された注目ブロックの各シンボルについて、必要ビット数を算出し、算出された必要ビット数をグループ分類部540及びシンボル変換部530に出力する。本例では、各ブロックについて4つの必要ビット数が算出される。
ステップ130(S130)において、グループ分類部540は、ビット数算出部520により算出された注目ブロックの必要ビット数の組に基づいて、注目ブロックを上位グループに分類する。
ステップ140(S140)において、符号割当部550は、グループ分類部540により注目ブロックが分類された上位グループが通知されると、この上位グループの出現頻度値を1増加させる。
ステップ150(S150)において、シンボル変換部530は、注目ブロックに含まれる各シンボルを、ビット数算出部520により算出された必要ビット数で表現されたシンボルに変換し、必要ビット数で表現された4つのシンボルを符号統合部560に出力する。
ステップ160(S160)において、符号化プログラム5は、全シンボルが処理されたか否かを判断し、全シンボルが処理された場合に、S170の処理に移行し、未処理のシンボルが存在する場合に、S110の処理に戻る。
ステップ170(S170)において、符号割当部550は、上位グループの出現頻度値に基づいて、各上位グループに対してハフマン符号(グループ符号)を割り当てる。
ステップ180(S180)において、符号統合部560は、各ブロックが分類された上位グループのハフマン符号と、このブロックのシンボル(必要ビット数で表現されたもの)とを統合して、ブロック符号を生成し、生成されたブロック符号を出力符号として外部に出力する。
このように、本実施形態における画像処理装置2は、複数のシンボルが含まれたブロック単位で、可変長符号を生成することにより、符号化処理を高速化することができる。
また、本画像処理装置2は、複数のブロックを上位グループに分類し、上位グループに対して符号を割り当てることにより、符号表のサイズを抑えることができる。
また、本画像処理装置2は、ブロック内のシンボルに対する処理を独立に並列化することができるので、そのような処理が可能なアーキテクチャで高速化を図ることができる。
[復号化プログラム]
図6は、制御装置20(図2)により実行される復号化プログラム6の機能構成を例示する図である。
図6に例示するように、復号化プログラム6は、符号長特定部600、シンボル抽出部610、シンボル復号部620、及びデータ再生部630を有する。
復号化プログラム6は、例えば、図2に例示した記録媒体240に記録され、この記録媒体240を介して、制御装置20(図2)に供給される。
符号化プログラム6において、符号長特定部600は、入力された符号データに基づいて、ブロック単位で各シンボルの符号長を特定する。
本例の符号長特定部600は、上位ブロックに割り当てられた符号(グループ符号)に基づいて、ブロックに含まれる各シンボルのビット数(すなわち必要ビット数)を特定し、特定されたビット数をシンボル抽出部610に出力する。
シンボル抽出部610は、入力された符号データから、符号長特定部600により特定された符号長に基づいて、各シンボルの符号を抽出する。
本例のシンボル抽出部610は、符号長特定部600により特定されたシンボルのビット数に基づいて、ブロックに含まれる各シンボルのビット列(必要ビット数で表現されたシンボル値)を切り出す。
シンボル復号部620は、シンボル抽出部610により抽出された各シンボルの符号を復号化して、各シンボル値を生成する。
本例のシンボル復号部620は、シンボル抽出部610により切り出されたシンボルのビット列(必要ビット数で表現されたシンボル値)の上位に0のビット列を付加して8ビット表現のシンボルを生成し、生成されたシンボルをデータ再生部630に出力する。
データ再生部630は、シンボル復号部620により復号化されたシンボルに基づいて、データファイルを再生する。
本例のデータ再生部630は、シンボル復号部620から入力されるシンボル(予測誤差値)に基づいて、元の画像データを生成する。
[復号化動作]
図7は、復号化プログラム6(図6)による復号化処理(S20)のフローチャートである。
図7に示すように、ステップ200(S200)において、符号長特定部600は、入力された符号データのグループ符号を復号化して、各ブロックの必要ビット数の組を特定する。
ステップ210(S210)において、復号化プログラム6は、入力された符号データの中から、順に注目ブロックの符号を設定する。
ステップ220(S220)において、シンボル抽出部610は、符号長特定部600により特定された必要ビット数に基づいて、注目ブロックのビット列の中から、各シンボルのヒット列(すなわち、必要ビット数で表現されたシンボル)を切り出す。例えば、図4(C)に例示するように、グループ符号が上位グループ「3141」に相当する場合、先頭から、3ビット、1ビット、4ビット、1ビットがそれぞれシンボルのビット列(符号)として切り出される。
ステップ230(S230)において、シンボル復号部620は、シンボル抽出部610により切り出されたシンボルのビット列(必要ビット数で表現されたもの)に対して、0の上位ビットを付加して、8ビット表現のシンボルを生成する。例えば、図4(B)に例示するシンボル(3ビット、1ビット、4ビット、1ビット)は、上位に0ビットが付加されて、図4(A)に例示するシンボルS0〜S3が生成される。
ステップ240(S240)において、復号化プログラム6は、全ブロックについて復号化処理が終了したか否かを判断し、全ブロックが処理された場合に、S250の処理に移行し、未処理のシンボルが存在する場合に、S210の処理に戻る。
ステップ250(S250)において、データ再生部630は、シンボル復号部620により生成されたシンボル(予測誤差値)に基づいて、元の画像データを生成する。
このように、本実施形態における画像処理装置2は、ブロック単位で符号長を特定するため、復号化処理を高速化することができる。
[変形例1]
次に、上記実施形態の変形例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に示された構成と実質的に同一のものには同一の符号が付されている。
図9に例示するように、第2の符号化プログラム52は、図3の符号化プログラム5に最大値検出部570を追加した構成をとる。
符号化プログラム52において、最大値検出部570は、各ブロックについて、ブロック内に含まれるシンボルの中から、必要ビット数が最大となるシンボルを検出する。
本例の最大値検出部570は、ブロックに含まれる複数のシンボルのうち、シンボル値が最大となるシンボルを検出する。
本変形例のビット数算出部520は、最大値検出部570により検出されたシンボルについて、必要ビット数を算出する。
本変形例のシンボル変換部530は、ビット数算出部520により算出された必要ビット数で、ブロックに含まれる全シンボルを表現する。
本変形例のグループ分類部540は、ビット数算出部520により算出された必要ビット数(すなわち、最大値検出部570により検出されたシンボルの必要ビット数)に基づいて、各ブロックを上位グループに分類する。
このように、変形例1では、ブロック内の符号長を同一にすることにより、上記実施形態よりも処理を高速化できる。
なお、ブロックに含まれるシンボル数を8の倍数にすれば、最大値の必要ビット数で表現されるパートが、バイトバウンダリになる。さらにハフマン符号語をバイトバウンダリで設計すれば、符号全体がバイトバウンダリになり、さらなる高速化が期待できる。
また、ハフマン符号語は、いくつかのブロックをまとめて表現してもよい。例えば1バイトを4ビットずつに分けて、上位4ビットで第1のブロックを、また下位4ビットで第2のブロックの符号語を格納するようにしてもよい。
[変形例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」によって復号化できる。
[変形例3]
上記実施形態及び変形例1では、暗黙にシンボル値が小さいシンボルほど高い頻度で出現するという仮定をおいていた。特に前段にソースコーダを設ける場合、そのような仮定はごく一般的であり、またそうなるようにソースコーダを設計することも比較的容易である。
しかしそうでないケースもありえる。そこで、第3の変形例では、シンボル値そのままではなく、変換する例について述べる。
本変形例は、必要ビット数を算出する前にシンボル値の変換を行う。この変換は、より多く出現するシンボル値に、より小さいインデクスが振られるように行う。これは予め計測したり他のデータから予測したりして出現頻度を求め、これをソートして得られる出現頻度順のシンボル値を表すルックアップテーブルなどで簡単に実現できる。
[変形例4]
上記変形例3のさらなる変形例として、1パス目では上記変形例2(実施形態でもよい)で説明した符号化処理を行いつつ、同時に出現頻度を計測しておき、さらに圧縮率を高めたい場合に、上記変形例3で再処理する。このとき出現頻度から正確に再処理後の符号量が求められるので、これを元に再処理の是非を判定するような構成でもよい。
[その他の変形例]
また、上記実施形態では、シンボル変換部530がシンボル単位でシンボルの変換を行っているが、複数シンボル単位で変換を行ってもよい。例えば、隣あう2シンボルのパターンについて、ルックアップテーブルを生成すればよい。こうすることで記憶を有する情報源の圧縮率を向上することができる。
また、上記実施形態では、ソースコーダ500がシンボルとして予測誤差値を算出しているが、他の方法でシンボルを生成してもよい。
[第2実施形態]
次に、第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は、第2の実施形態における符号化プログラム7の機能構成を例示する図である。なお、本図に示された各構成のうち、図3に示された構成と実質的に同一のものには同一の符号が付されている。
図11に例示するように、本実施形態の符号化プログラム7は、図3の符号化プログラム5に、振分け部700及びテーブル符号化部710を追加した構成をとる。
符号化プログラム7において、振分け部700は、グループ生成部510により生成されたブロックを、ビット数算出部520及びシンボル変換部530の組、又は、テーブル符号化部710に出力する。すなわち、振分け部700は、本発明に係る割振り手段の一例である。より具体的には、振分け部700は、グループ生成部510から入力されるブロックの必要ビット数が所定値となる場合に、このブロックをテーブル符号化部710に出力し、これ以外の場合に、ビット数算出部520及びシンボル変換部530に出力する。この場合の所定値とは、例えば、基準値以下の値であり、1ブロックに8シンボルが含まれている場合には、所定値は1又は2である。すなわち、必要ビット数が1又は2である場合には、テーブル符号化部710によって符号化されることになる。
テーブル符号化部710は、符号テーブルを用いて、振分け部700から入力されたブロックを符号化する。符号テーブルは、ブロックに含まれうる複数のシンボルと、これらのシンボルの符号データとを互いに対応付けるルックアップテーブルである。すなわち、本例のテーブル符号化部710は、振分け部700から入力されたブロックのシンボルに基づいて、符号テーブルから符号データを読み出し、読み出された符号データを外部に出力する。
図12は、図11のテーブル符号化部710が利用する符号テーブルを例示する図である。
図12は、1ブロック8シンボルの場合におけるN=1または2の符号テーブルである。いま各シンボルが8ビットだとすると、図12の符号テーブルは、6.6×10^4エントリで構成できる。ただし、テーブル符号化部710がこの符号テーブルを引くために8ビット×8のデータからエントリを探す処理が必要となる。これは簡単なビット操作で実行できる。
本実施例において、テーブル符号化部710が符号テーブル(LUT)をひくときに固定的なビット処理を要するものの、本来必要だったハフマン符号表をひく処理(符号割当部550などの処理)や、得られた符号と符号長で分岐しつつ符号をマージして符号語を生成する処理(符号統合部560などの処理)を省くことができる。これにより上記第1の実施形態と比較して、符号化処理の高速化を図ることができる。
図13は、符号化プログラム7(図11)による符号化処理(S30)のフローチャートである。なお、本図に示された各処理のうち、図5に示された処理と実質的に同一のものには同一の符号が付されている。
図13に示すように、S100において、ソースコーダ500は、画像データが入力されると、走査順に予測誤差値を算出し、算出された予測誤差値をシンボルとしてグループ生成部510に出力する。グループ生成部510は、ソースコーダ500から入力されるシンボル(予測誤差)を入力順に8つずつまとめて、8つのシンボルが含まれたブロックを生成し、生成されたブロック(下位グループ)を振分け部700に出力する。
S110において、符号化プログラム7は、ブロック生成部510により生成されたブロックの中から、順に注目ブロック(すなわち、符号化対象となるブロック)を設定する。
ステップ300(S300)において、振分け部700は、注目ブロックの必要ビット数が基準値2以下であるか否かを判断し、必要ビット数が基準値以下である場合に、注目ブロックをテーブル符号化部710に出力し、必要ビット数が基準値より大きい場合に、注目ブロックをビット数算出部520及びシンボル変換部530に出力する。
符号化プログラム7は、注目ブロックの必要ビット数が基準値以下である場合に、S310の処理に移行し、注目ブロックの必要ビット数が基準値よりも大きい場合に、S120の処理に移行する。
ステップ310(S310)において、テーブル符号化部710は、図12に例示する符号テーブルから、注目ブロックのシンボルに対応する符号データを読み出し、読み出された符号データを外部に出力する。
S120において、ビット数算出部520は、グループ生成部510から入力された注目ブロックの各シンボルについて、必要ビット数を算出し、算出された必要ビット数をグループ分類部540及びシンボル変換部530に出力する。
S130において、グループ分類部540は、ビット数算出部520により算出された注目ブロックの必要ビット数の組に基づいて、注目ブロックを上位グループに分類する。
S140において、符号割当部550は、グループ分類部540により注目ブロックが分類された上位グループが通知されると、この上位グループの出現頻度値を1増加させる。
S150において、シンボル変換部530は、注目ブロックに含まれる各シンボルを、ビット数算出部520により算出された必要ビット数で表現されたシンボルに変換し、必要ビット数で表現された8つのシンボルを符号統合部560に出力する。
S160において、符号化プログラム7は、全シンボルが処理されたか否かを判断し、全シンボルが処理された場合に、S170の処理に移行し、未処理のシンボルが存在する場合に、S110の処理に戻る。
S170において、符号割当部550は、上位グループの出現頻度値に基づいて、各上位グループに対してハフマン符号(グループ符号)を割り当てる。
S180において、符号統合部560は、各ブロックが分類された上位グループのハフマン符号と、このブロックのシンボル(必要ビット数で表現されたもの)とを統合して、ブロック符号を生成し、生成されたブロック符号を出力符号として外部に出力する。
このように、本実施形態における画像処理装置2は、必要ビット数が基準値以下であるブロックについては、S120からS180までの処理をS310の処理で代替するため、符号化処理を高速化できる。
[変形例]
次に、第2の実施形態の変形例を説明する。
本変形例では、上記第2の実施形態を画像圧縮に適用する。画像圧縮では、データの連続性による冗長度を削減するために、前値差分などの予測残差への変換が行われる。
図14は、本変形例における符号化プログラム72の機能構成を例示する図である。なお、本図に示された各構成のうち、図9又は図11に示された構成と実質的に同一のものには同一の符号が付されている。
図14に示すように、本変形例の符号化プログラム72は、図9の符号化プログラム52から、ソースコーダ500を除き、振分け部700、テーブル符号化部710及び予測残差算出部720を追加した構成をとる。
符号化プログラム72において、グループ生成部510は、入力された画像データの中から、走査順に8画素分の画素値をまとめて、8つの画素値が含まれたブロックを振分け部700に出力する。
振分け部700は、グループ生成部510から入力されたブロックが白黒モードに相当するか否かを判断し、白黒モードに相当するブロックをテーブル符号化部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を通すようにしてもよい。この場合、後段の予測残差と処理を逆にすれば処理を削減できる。
予測残差算出部720は、注目画素の画素値と、その直前画素値との差分を算出し、算出された差分(すなわち、予測残差)をシンボル変換部530及び最大値検出部570に出力する。
上記構成によれば、符号テーブル(LUT)によって削減できる処理が増えるので、より一層の高速化が実現できる。
なお、上記変形例ではN=1または2のケースについて述べたが、実現性が許せばこれをN=1から3までや、その他のケースにしてもよい。
シンボル単位で符号長が変化する形態と、ブロック単位で符号長が変化する形態とを比較する図である。 本発明にかかる符号化方法が適応される画像処理装置2のハードウェア構成を、制御装置20を中心に例示する図である。 制御装置20(図2)により実行され、本発明にかかる符号化方法を実現する符号化プログラム5の機能構成を例示する図である。 符号化プログラム5(図3)による符号化処理を説明する図である。 符号化プログラム5(図3)による符号化処理(S10)のフローチャートである。 制御装置20(図2)により実行される復号化プログラム6の機能構成を例示する図である。 復号化プログラム6(図6)による復号化処理(S20)のフローチャートである。 ブロック内の最大値の必要ビット数でシンボルを表現する形態を説明する図である。 第2の符号化プログラム52の機能構成を例示する図である。 必要ビット数で表現されたシンボルのMSBを省略する形態を説明する図である。 第2の実施形態における符号化プログラム7の機能構成を例示する図である。 図11のテーブル符号化部710が利用する符号テーブルを例示する図である。 符号化プログラム7(図11)による符号化処理(S30)のフローチャートである。 本変形例における符号化プログラム72の機能構成を例示する図である。
符号の説明
2・・・画像処理装置
5,52・・・符号化プログラム
500・・・ソースコーダ
510・・・グループ生成部
520・・・ビット数算出部
530・・・シンボル変換部
540・・・グループ分類部
550・・・符号割当部
560・・・符号統合部
570・・・最大値検出部
6・・・復号化プログラム
600・・・符号長特定部
610・・・シンボル抽出部
620・・・シンボル復号部
630・・・データ再生部

Claims (9)

  1. 複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するグループ生成手段と、
    前記グループ生成手段により生成されたグループに対して、符号を割り当てる符号割当手段と、
    それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する被圧縮情報符号化手段と
    を有する符号化装置。
  2. 前記グループ生成手段は、複数の被圧縮情報をまとめて、被圧縮情報の下位グループを生成し、
    前記グループ生成手段により生成された下位グループを、上位グループに分類するグループ分類手段
    をさらに有し、
    前記符号割当手段は、前記上位グループに対して、符号を割り当て、
    前記被圧縮情報符号化手段は、同一の前記上位グループに属する下位グループの被圧縮情報を、この上位グループに割り当てられた可変長符号を用いて符号化する
    請求項1に記載の符号化装置。
  3. 前記グループ生成手段は、入力された複数の被圧縮情報を入力順に既定数ずつまとめて、既定数の被圧縮情報が含まれた下位グループを生成し、
    前記グループ分類手段は、前記下位グループに属する被圧縮情報を表現するためのビット数に基づいて、下位グループを上位グループに分類する
    請求項2に記載の符号化装置。
  4. 前記符号割当手段は、各グループの出現確率に応じて、それぞれのグループにエントロピー符号を割り当てる
    請求項1に記載の符号化装置。
  5. 入力された被圧縮情報に基づいて、この被圧縮情報よりも少ないビット数で表現されたビット列に変換する被圧縮情報変換手段
    をさらに有し、
    前記被圧縮情報符号化手段は、それぞれのグループに属する被圧縮情報について前記被圧縮情報変換手段により変換されたビット列と、このグループに割り当てられた符号とを用いて、符号化する
    請求項1に記載の符号化装置。
  6. グループに含まれうる複数の被圧縮情報をこれらの被圧縮情報の符号データに対応付ける符号テーブルを用いて、被圧縮情報のグループを符号化するテーブル利用符号化手段と、
    前記グループ生成手段により生成された被圧縮情報のグループを、前記符号割当手段と前記被圧縮情報符号化手段との組、又は、前記テーブル利用符号化手段に割り振る割振り手段と
    をさらに有し、
    前記符号割当手段は、前記割振り手段により割り振られたグループについて、符号を割り当て、
    前記被圧縮情報符号化手段は、前記割振り手段により割り振られたグループの被圧縮情報を符号化する
    請求項1に記載の符号化装置。
  7. 複数の被圧縮情報からなるグループに割り当てられた符号に基づいて、このグループに属する被圧縮情報の符号長を特定する符号長特定手段と、
    前記符号長特定手段により特定された各被圧縮情報の符号長に基づいて、前記グループに属する被圧縮情報を復号化する被圧縮情報復号化手段と
    を有する復号化装置。
  8. 複数の被圧縮情報をまとめて、被圧縮情報のグループを生成し、
    生成されたグループに対して、符号を割り当て、
    それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化する
    符号化方法。
  9. 複数の被圧縮情報をまとめて、被圧縮情報のグループを生成するステップと、
    生成されたグループに対して、符号を割り当てるステップと、
    それぞれのグループに属する被圧縮情報を、各グループに割り当てられた符号を用いて符号化するステップと
    をコンピュータに実行させるプログラム。
JP2007184219A 2006-08-07 2007-07-13 符号化装置、復号化装置、符号化方法及びプログラム Expired - Fee Related JP4893957B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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