JP4468858B2 - データ符号化装置、データ符号化方法、プログラム - Google Patents

データ符号化装置、データ符号化方法、プログラム Download PDF

Info

Publication number
JP4468858B2
JP4468858B2 JP2005161729A JP2005161729A JP4468858B2 JP 4468858 B2 JP4468858 B2 JP 4468858B2 JP 2005161729 A JP2005161729 A JP 2005161729A JP 2005161729 A JP2005161729 A JP 2005161729A JP 4468858 B2 JP4468858 B2 JP 4468858B2
Authority
JP
Japan
Prior art keywords
bit
prefix
data
length
encoding
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.)
Active
Application number
JP2005161729A
Other languages
English (en)
Other versions
JP2006339990A (ja
Inventor
隆志 石川
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.)
Olympus Imaging Corp
Original Assignee
Olympus Imaging Corp
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 Olympus Imaging Corp filed Critical Olympus Imaging Corp
Priority to JP2005161729A priority Critical patent/JP4468858B2/ja
Priority to US11/443,427 priority patent/US7259698B2/en
Priority to CNB2006100885208A priority patent/CN100563111C/zh
Publication of JP2006339990A publication Critical patent/JP2006339990A/ja
Application granted granted Critical
Publication of JP4468858B2 publication Critical patent/JP4468858B2/ja
Active 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
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、固定長の符号化対象データを符号化するためのデータ符号化装置、データ符号化方法、プログラムに関する。
一般的に、符号化されたデータは、固定長で格納されているデータに対して、伝送時等にエラーが混入した場合には、それ以降のデータ伸張が不可能となる場合があることが知られている。
そのために、JPEG等の国際標準符号化方式には、符号化データ内に適宜間隔でリスタートマーカを付加し、一部にエラーが混入したとしても、それ以降のリスタートマーカ位置から符号化データの伸張を再開することが可能となるようにする技術が規定されている。このような技術としては、特開平9−247423号公報に記載されたものが一例として挙げられる。
リスタートマーカを設けると、エラー耐性が高まるという利点が生じる以外にも、データの所望の一部分のみを高速に伸張することが可能になるという利点や、符号化データをリスタートマーカで区分される部分毎に並列して伸張することが可能となり、処理時間の短縮を図り得るという利点などが生じる。
ところで、従来より、JPEG−LS等においては、ゴロムライス符号化が採用されている。このゴロムライス符号化したデータにリスタートマーカを埋め込む場合には、順次読み込みだけではリスタートマーカであるか否かを判断することができないために、リスタートマーカの位置を示すオフセット情報を別途設ける必要があった。そして、オフセット情報としては、あるリスタートマーカから次のリスタートマーカまでのバイト数等で示されるような、いわゆるチェーン構造をなすものが考えられる。このような技術を用いれば、符号化データ中のあるビット位置のデータが書き換えられてしまったとしても、その後のリスタートマーカの位置から再び復号化することが可能となる。
特開平9−247423号公報
しかしながら、上述したような、オフセット情報を用いてゴロムライス符号化データにリスタートマーカを制御コードとして埋め込む技術では、途中でデータ抜けやエラー情報の付加等が発生すると、リスタートマーカの位置がオフセット情報で示される位置とずれることがあるために、リスタートマーカが存在しても該リスタートマーカの位置を特定することができなくなって、情報の復号化が不可能となる可能性があった。さらに、オフセット情報がチェーン構造をとっている場合には、あるリスタートマーカの位置情報が損なわれると、それ以降のリスタートマーカの位置情報も同様に損なわれることになってしまっていた。
こうして、ゴロムライス符号化等に適用し得る従来のリスタートマーカは、エラーに対する耐性が十分に高いとはいえなかった。このような理由から、オフセット情報に依存することのない、エラー耐性のより高いリスタートマーカの付加技術が望まれていた。
本発明は上記事情に鑑みてなされたものであり、エラー耐性の高い制御コードを付加することができるデータ符号化装置、データ符号化方法、プログラムを提供することを目的としている。
上記の目的を達成するために、第1の発明によるデータ符号化装置は、固定長D(Dは1以上の整数)ビットの符号化対象データを符号化するためのデータ符号化装置であって、上記符号化対象データからビット「0」とビット「1」との何れか一方を少なくとも1ビット以上含む符号化データを生成する符号化手段と、連続する2つの任意の符号化データにおけるビット「0」とビット「1」との何れか他方の最大連続数よりも長くビット「0」とビット「1」との何れか他方が連続する制御コードを上記符号化データに付加する制御コード付加手段と、を具備し、上記符号化手段は、上記符号化対象データを上位ビットと下位ビットとに2分割し、上記上位ビットの値が所定のプレフィックス最大長max_prefix(max_prefixは1以上の整数)未満であるときは、上位ビットを該上位ビットの値の長さだけビット「0」とビット「1」との何れか他方を連続したプレフィックスに符号化するとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に1ビット分のビット「0」とビット「1」との何れか一方を識別符号として付加することにより、上記符号化データを生成し、上記上位ビットの値が上記プレフィックス最大長max_prefix以上であるときは、上記プレフィックス最大長max_prefixの長さだけビット「0」とビット「1」との何れか他方を連続したものをプレフィックスとするとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に上記上位ビットを識別符号として付加することにより、上記符号化データを生成するものであり、上記制御コード付加手段は、ビット「0」とビット「1」との何れか他方を、(max_prefix+2×D)の長さ以上連続させることにより、上記制御コードを生成するものである。
の発明によるデータ符号化装置は、上記第の発明によるデータ符号化装置において、上記制御コードが、リスタートマーカである。
の発明によるデータ符号化装置は、上記第の発明によるデータ符号化装置において、上記制御コード付加手段が、上記制御コードの最下位の下に、ビット「0」とビット「1」との何れか一方により全てのビットの値が構成される1ビット以上のコードを、該制御コード終端を示すコードとしてさらに付加するものである。
の発明によるデータ符号化装置は、上記第の発明によるデータ符号化装置において、上記制御コードおよび上記制御コード終端を示すコードが、リスタートマーカである。
の発明によるデータ符号化方法は、固定長D(Dは1以上の整数)ビットの符号化対象データを符号化するためのデータ符号化方法であって、上記符号化対象データからビット「0」とビット「1」との何れか一方を少なくとも1ビット以上含む符号化データを生成する符号化ステップと、連続する2つの任意の符号化データにおけるビット「0」とビット「1」との何れか他方の最大連続数よりも長くビット「0」とビット「1」との何れか他方が連続する制御コードを上記符号化データに付加する制御コード付加ステップと、を有し、上記符号化ステップは、上記符号化対象データを上位ビットと下位ビットとに2分割し、上記上位ビットの値が所定のプレフィックス最大長max_prefix(max_prefixは1以上の整数)未満であるときは、上位ビットを該上位ビットの値の長さだけビット「0」とビット「1」との何れか他方を連続したプレフィックスに符号化するとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に1ビット分のビット「0」とビット「1」との何れか一方を識別符号として付加することにより、上記符号化データを生成し、上記上位ビットの値が上記プレフィックス最大長max_prefix以上であるときは、上記プレフィックス最大長max_prefixの長さだけビット「0」とビット「1」との何れか他方を連続したものをプレフィックスとするとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に上記上位ビットを識別符号として付加することにより、上記符号化データを生成するステップであり、上記制御コード付加ステップは、ビット「0」とビット「1」との何れか他方を、(max_prefix+2×D)の長さ以上連続させることにより、上記制御コードを生成するステップである方法である。
の発明によるプログラムは、固定長D(Dは1以上の整数)ビットの符号化対象データをコンピュータに符号化させるためのプログラムであって、上記符号化対象データからビット「0」とビット「1」との何れか一方を少なくとも1ビット以上含む符号化データを生成する符号化ステップと、連続する2つの任意の符号化データにおけるビット「0」とビット「1」との何れか他方の最大連続数よりも長くビット「0」とビット「1」との何れか他方が連続する制御コードを上記符号化データに付加する制御コード付加ステップと、を有し、上記符号化ステップは、上記符号化対象データを上位ビットと下位ビットとに2分割し、上記上位ビットの値が所定のプレフィックス最大長max_prefix(max_prefixは1以上の整数)未満であるときは、上位ビットを該上位ビットの値の長さだけビット「0」とビット「1」との何れか他方を連続したプレフィックスに符号化するとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に1ビット分のビット「0」とビット「1」との何れか一方を識別符号として付加することにより、上記符号化データを生成し、上記上位ビットの値が上記プレフィックス最大長max_prefix以上であるときは、上記プレフィックス最大長max_prefixの長さだけビット「0」とビット「1」との何れか他方を連続したものをプレフィックスとするとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に上記上位ビットを識別符号として付加することにより、上記符号化データを生成するステップであり、上記制御コード付加ステップは、ビット「0」とビット「1」との何れか他方を、(max_prefix+2×D)の長さ以上連続させることにより、上記制御コードを生成するステップであることを特徴とする各ステップをコンピュータに実行させるためのプログラムである。
本発明のデータ符号化装置、データ符号化方法、プログラムによれば、ゴロムライス符号化におけるプレフィックス長を制限するようにしたために、上位ビットの値が大きいときに符号化データが巨大化するのを規制することができ、データ量の増大を抑制することが可能となる。そして、符号化データ中には存在しないデータを制御コードとして用いるようにしたために、オフセットアドレス等を用いることなく、順次読み込みにおいて制御コードを識別することが可能となり、エラー耐性の高い制御コードを付加することが可能となる。さらに、制御コードとして、サフィックスの符号長やプレフィックス最大長を種々の値に変更したときにも、符号化データ中には存在しないデータを用いるようにしたために、適応的なサフィックスの符号長の変更や、適応的なプレフィックス最大長の変更にも対応することが可能となる。
以下、図面を参照して本発明の実施の形態を説明する。
[実施形態1]
図1から図12は本発明の実施形態1を示したものであり、図1はデータ符号化装置の構成を示すブロック図、図2は符号化の処理を示すフローチャート、図3はプレフィックス長算出の処理を示すフローチャート、図4はプレフィックス長判定の処理を示すフローチャート、図5はマーカ生成の処理を示すフローチャート、図6はプレフィックス生成の処理を示すフローチャート、図7は識別符号生成の処理を示すフローチャート、図8はサフィックス生成の処理を示すフローチャート、図9は符号生成の処理を示すフローチャート、図10はリスタートマーカの構成を示す図、図11は符号化対象データの上位ビットの値がプレフィックス最大長未満であるときの符号化例を示す図、図12は符号化対象データの上位ビットの値がプレフィックス最大長以上であるときの符号化例を示す図、図13はゴロムライス符号化および第2の符号化における上位側および下位側のビット「0」の最大連続数を示す図表である。
まず、符号化しようとするデータは、固定長(D(Dは1以上の整数)ビットであるとする)の符号化対象データを1以上含むものであるとする。具体例としては、符号化しようとするデータが画像データであるとすると、符号化対象データは例えば画像データを構成する画素データであり、この画素データの固定長Dは、該画素データのダイナミックレンジ、つまり、例えば256階調の画素データである場合には8ビットとなる。
そして、このデータ符号化装置は、改良ゴロムライス符号化により符号化を行うものとなっていて、オフセット情報を用いることなく、順次に読み込んだ符号化データからリスタートマーカ等の制御コードを判別することができるような符号化データを生成するものとなっている。ここに、改良ゴロムライス符号化は、符号化対象データを、基本的にゴロムライス符号化(第1の符号化)により符号化するが、該ゴロムライス符号化による符号長が所定の符号長以上になる場合には、後述するような第2の符号化を適用するようにしたものである。また、ゴロムライス符号化における固定長符号部分の符号長(ビット数)は、kパラメータk_param (k_param は整数であって、0≦k_param ≦Dを満たす)により与えられるものとし、符号化対象データの固定長符号部分を下位ビット、該符号化対象データの固定長符号以外の部分を上位ビットと呼ぶことにする。
このデータ符号化装置は、図1に示すように、符号化手段たるプレフィックス長算出部1と、符号化手段たるプレフィックス長判定部2と、制御コード付加手段たるマーカ生成部3と、符号化手段たるプレフィックス生成部4と、符号化手段たる識別符号生成部5と、符号化手段たるサフィックス生成部6と、符号化手段であり制御コード付加手段たる符号生成部7と、を含んで構成されている。
プレフィックス長算出部1は、符号化対象データdataの上位ビットの値に基づき、該上位ビットを可変長符号化したときのプレフィックス(図11参照)のビット長であるプレフィックス長を算出するものである。
プレフィックス長判定部2は、プレフィックス長算出部1により算出されたプレフィックス長が、所定のプレフィックス最大長以上であるか否かを判定するものである。
マーカ生成部3は、符号化対象データdataがリスタートマーカを付加する符号化対象データであるときに、マーカデータを生成するものである。
プレフィックス生成部4は、プレフィックス長判定部2の判定結果に基づいて、ゴロムライス符号化によるプレフィックス、または第2の符号化によるプレフィックスを生成するものである。
識別符号生成部5は、プレフィックス長判定部2の判定結果に基づいて、ゴロムライス符号化による識別符号、または第2の符号化による識別符号を生成するものである。
サフィックス生成部6は、ゴロムライス符号化によるサフィックス、または第2の符号化によるサフィックスを生成するものである。このサフィックスは、後述するように、ゴロムライス符号化と第2の符号化との何れにおいても、上述した下位ビット部分をそのまま用いるものとなっている。
符号生成部7は、マーカ生成部3により必要に応じて生成されたマーカデータと、プレフィックス生成部4により生成されたプレフィックスと、識別符号生成部5により生成された識別符号と、サフィックス生成部6により生成されたサフィックスと、をこの順に連結して、符号化データを生成し、出力するものである。
なお、図1において、各ブロック間の相互の動作タイミングの調整は、図示しないタイミング調整回路により行うようになっている。
この図1に示したようなデータ符号化装置の詳細について、作用に沿ってさらに説明する。
まず、図2を参照して、符号化処理の流れについて説明する。
この処理を開始すると、まず、プレフィックス長算出部1がプレフィックス長を算出する(ステップS1)。
次に、プレフィックス長判定部2が、プレフィックス長算出部1により算出されたプレフィックス長が所定のプレフィックス最大長以上であるか否かを判定する(ステップS2)。
続いて、マーカ生成部3が、マーカ生成信号を受けたときに、マーカデータを生成する(ステップS3)。
そして、プレフィックス生成部4が、プレフィックス長判定部2の判定結果に応じて、ゴロムライス符号化に対応するプレフィックス、または第2の符号化に対応するプレフィックスを生成する(ステップS4)。
さらに、識別符号生成部5が、プレフィックス長判定部2の判定結果に応じて、ゴロムライス符号化に対応する識別符号、または第2の符号化に対応する識別符号を生成する(ステップS5)。
その後、サフィックス生成部6が、サフィックスを生成する(ステップS6)。
こうして、符号生成部7が、プレフィックス、識別符号、およびサフィックスと、必要に応じてマーカデータと、を連結して、符号化データを生成し(ステップS7)、終了する。
次に、図3を参照して、ステップS1のプレフィックス長算出の処理の詳細について説明する。
プレフィックス長算出部1には、符号化対象データdataと、kパラメータk_param とが入力される。そして、プレフィックス長算出部1は、符号化対象データdataを、kパラメータk_param に示される値だけ右へビットシフトし(図3においては、これを記号「data>>k_param 」として示している。)、その結果をプレフィックス長prefix_length に格納し(ステップS11)、図2に示した処理にリターンする。なお、ここでは、符号化対象データdataのビット長(固定長D)が「15」である場合を例に取って説明する。
続いて、図4を参照して、ステップS2のプレフィックス長判定の処理の詳細について説明する。
プレフィックス長判定部2には、プレフィックス長算出部1により算出されたプレフィックス長prefix_length と、予め定められたプレフィックス最大長max_prefix(max_prefixは1以上の整数)と、が入力される。プレフィックス長判定部2は、プレフィックス長prefix_length がプレフィックス最大長max_prefix未満であるか否かを判定し(ステップS21)、プレフィックス最大長max_prefix未満である場合にはプレフィックスフラグprefix_flag に「0」を設定する(ステップS22)。一方、プレフィックス最大長max_prefix以上である場合にはプレフィックスフラグprefix_flag に「1」を設定する(ステップS23)。こうして、ステップS22またはステップS23の処理が終了したら、図2に示した処理にリターンする。
次に、図5を参照して、ステップS3のマーカ生成の処理の詳細について説明する。
マーカ生成部3には、予め定められたリスタートマーカ長が入力される。ここでは、リスタートマーカ長は、後述するような理由から、「48」であるものとする。マーカ生成部3は、48ビット分のビット「0」(図5および後述する図9において、記号「0x000000000000」(「0x」は16進数であることを意味する)により示し、図10において、6つ分の記号「0x00」により示している)をリスタートマーカとして出力し(ステップS31)、さらに、リスタートマーカ長である「48」を出力して(ステップS32)、図2に示した処理にリターンする。
続いて、図6を参照して、ステップS4のプレフィックス生成の処理の詳細について説明する。
プレフィックス生成部4には、プレフィックス長算出部1により算出されたプレフィックス長prefix_length と、プレフィックス長判定部2から出力されたプレフィックスフラグprefix_flag と、予め定められたプレフィックス最大長max_prefixと、が入力される。プレフィックス生成部4は、まず、プレフィックスフラグprefix_flag の判定を行い(ステップS41)、プレフィックスフラグprefix_flag が「0」である場合には、プレフィックス長prefix_length 分だけビット「0」を出力し(ステップS42)、プレフィックス長prefix_length を出力する(ステップS43)。一方、プレフィックス生成部4は、プレフィックスフラグprefix_flag が「1」である場合には、プレフィックス最大長max_prefix分だけビット「0」を出力し(ステップS44)、プレフィックス最大長max_prefixを出力する(ステップS45)。こうして、ステップS43またはステップS45の処理が終了したら、図2に示した処理にリターンする。
次に、図7を参照して、ステップS5の識別符号生成の処理の詳細について説明する。
識別符号生成部5には、プレフィックス長算出部1により算出されたプレフィックス長prefix_length と、プレフィックス長判定部2から出力されたプレフィックスフラグprefix_flag と、kパラメータk_param と、が入力される。識別符号生成部5は、まず、プレフィックスフラグprefix_flag の判定を行い(ステップS51)、プレフィックスフラグprefix_flag が「0」である場合には、識別符号として1ビット分だけビット「1」を出力し(ステップS52)、識別符号の符号長を示す「1」を出力する(ステップS53)。一方、識別符号生成部5は、プレフィックスフラグprefix_flag が「1」である場合には、識別符号としてプレフィックス長prefix_length を出力し(ステップS54)、識別符号の符号長を示す「15−k_param 」を出力する(ステップS55)。こうして、ステップS53またはステップS55の処理が終了したら、図2に示した処理にリターンする。
続いて、図8を参照して、ステップS6のサフィックス生成の処理の詳細について説明する。
サフィックス生成部6には、符号化対象データdataと、kパラメータk_param と、が入力される。サフィックス生成部6は、符号化対象データdataの下位k_param ビット分をサフィックスデータsuffixとして(ステップS61)、このサフィックスデータsuffixを出力するとともに(ステップS62)、サフィックスの符号長を示すkパラメータk_param を出力して(ステップS63)、図2に示した処理にリターンする。
次に、図9を参照して、ステップS7の符号生成の処理の詳細について説明する。
符号生成部7には、マーカ生成部3からマーカデータおよびマーカの符号長が、プレフィックス生成部4からプレフィックスデータおよびプレフィックスの符号長が、識別符号生成部5から識別符号データおよび識別符号の符号長が、サフィックス生成部6からサフィックスデータおよびサフィックスの符号長が、それぞれ入力されるとともに、必要に応じて、マーカ生成信号が入力されるようになっている。符号生成部7は、まず、マーカ生成信号の判定を行い(ステップS71)、ビットが立っている(「1」になっている)場合には、前画素までのデータをバイト単位で終了させるパッキングを行うために、バイト単位位置までビット「1」を出力する(ステップS72)。なお、ここでビット「1」を出力したのは、次のマーカデータの先頭位置を明確にするため(マーカデータの先頭位置が明確になれば、マーカデータの符号長が分かっているためにマーカデータの終端位置も明確になり、続く符号化データの先端位置が明確になるため)である。次に、マーカの符号長分だけマーカデータ(上述したように、48ビット分のビット「0」)を出力する(ステップS73)。このステップS73が終了するか、またはステップS71においてマーカ生成信号が「0」になっている場合には、次に、プレフィックスの符号長分だけプレフィックスデータを出力する(ステップS74)。そして、識別符号の符号長分だけ識別符号データを出力し(ステップS75)、サフィックスの符号長分だけサフィックスデータを出力して(ステップS76)、図2に示した処理にリターンする。
次に、図11を参照して、符号化対象データの上位ビットの値がプレフィックス最大長max_prefix未満であるときの符号化例について説明する。
符号化対象データdataの固定長Dは上述したように15ビットであって、ここでは十進数で示して「374」であるときの例について説明する。また、kパラメータk_param は「5」、プレフィックス最大長max_prefixは「12」、にそれぞれ設定されているものとする。この符号化対象データを2進数で表すと「000000101110110」となるために、上位ビットは「0000001011」、下位ビットは「10110」となる。ここで、上位ビットを十進数で表すと「11」であるために、プレフィックス最大長max_prefix未満となり、プレフィックスフラグprefix_flag は「0」となる。従って、ステップS42において、プレフィックスとして、上位ビットの値である「11」(十進数)個分だけビット「0」を出力することになり、プレフィックスとしては「00000000000」が出力される。さらに、このときには、識別符号として1ビット分のビット「1」が出力される。また、サフィックスは下位ビットがそのまま充てられる。従って、符号生成部7により生成される符号は、「00000000000110110」となり、符号長が17ビットとなる符号が得られる。このように、符号化対象データdataの上位ビットの値がプレフィックス最大長max_prefix未満であるときには、ゴロムライス符号化が行われる。なお、プレフィックスの符号長の最大値は(max_prefix−1)、識別符号の符号長は1、サフィックスの符号長はk_param であるために、このゴロムライス符号化が適用される場合の最大符号長は(max_prefix+k_param )となる。
続いて、図12を参照して、符号化対象データdataの上位ビットの値がプレフィックス最大長max_prefix以上であるときの符号化例について説明する。
ここでは、符号化対象データdataが、十進数で示して「1142」であるときの例について説明する。なお、符号化対象データdataの固定長D、kパラメータk_param の値、プレフィックス最大長max_prefixの値は、上述と同様である。この符号化対象データdataを2進数で表すと「000010001110110」となるために、上位ビットは「0000100011」、下位ビットは「10110」となる。ここで、上位ビットを十進数で表すと「35」であるために、プレフィックス最大長max_prefix以上となり、プレフィックスフラグprefix_flag は「1」となる。従って、ステップS44において、プレフィックスとして、プレフィックス最大長max_prefixである「12」(十進数)個分だけビット「0」を出力することになり、プレフィックスとしては「000000000000」が出力される。さらに、このときには、識別符号としてプレフィックス長prefix_length である「0000100011」(これは、上位ビットと同一となる。)が出力される。また、サフィックスは下位ビットがそのまま充てられる。従って、符号生成部7により生成される符号は、「000000000000000010001110110」となり、符号長が27ビットとなる符号が得られる。これは、符号化対象データdataそのものの上位に、プレフィックス「000000000000」を加えたものと同一である。なお、プレフィックスの符号長はmax_prefix、識別符号とサフィックスとを足し合わせた符号長はkパラメータk_param の値に依存することなく符号化対象データdataの固定長D、となるために、この第2の符号化が適用される場合の符号長は(max_prefix+D)の固定となる。
ここで、図17を参照して、図12と同一の符号化対象データ「1142」(十進数)を、従来と同様にゴロムライス符号化したときの状態について、比較するために説明する。ここに、図17は、上位ビットの値がプレフィックス最大長以上となる符号化対象データを従来のゴロムライス符号化により符号化する例を示す図である。
上述したように、上位ビットは「35」(十進数)であるために、可変長符号化を行うと、「00000000000000000000000000000000000」となる。従って、識別符号、およびサフィックスを加えて合成すると、符号化されたデータは、「00000000000000000000000000000000000110110」となり、41ビットの符号長となる。従って、本実施形態のように、プレフィックス最大長max_prefixによって可変長符号の符号長を制限することにより、上位ビットの値が大きいときに符号長が長くなるのを規制することが可能となっている。
さらに、このような可変長符号の符号長の制限により、ビット「0」の連続数に図13に示すような上限が生じることになる。
まず、図11に示したようなゴロムライス符号化の場合には、識別符号がビット「1」となるために、上位側におけるビット「0」の最大連続数はプレフィックスの符号長である(max_prefix−1)となる。
また、ゴロムライス符号化の場合の下位側におけるビット「0」の最大連続数は符号化対象データdataの固定長Dと同一である。この具体的な例は、kパラメータk_param が符号化対象データdataの固定長Dに等しく、符号化対象データdataが0(つまり、全ビットが0)となるときである。このときには1ビットの識別符号「1」の後に、ビット「0」がD個連続することになる。
次に、図12に示したような第2の符号化の場合には、上位側におけるビット「0」の最大連続数は(max_prefix+D−1)となる。この具体的な例は、kパラメータk_param が0となっていて、プレフィックス最大長max_prefixが1であり、符号化対象データdataが1(つまり、上位の(D−1)ビットが全て0で、最下位の1ビットのみが1)であるときである。このときには、kパラメータk_param が0であるために全てが上位ビットとなり、この上位ビットの値はプレフィックス最大長max_prefixである1以上であるために、図12に示したような第2の符号化が適用され、符号化対象データdataの前にmax_prefixビット分のビット「0」がプレフィックスとして付加されることになる。従って、符号化されたデータは、上述したように、上位側において、ビット「0」が(max_prefix+D−1)だけ連続することになる。
また、第2の符号化の場合の下位側におけるビット「0」の最大連続数は(D−1)である。この具体的な例は、符号化対象データdataが、最上位の1ビットのみが1で、それ以外の(D−1)ビットが全て0となるときである。
そして、ゴロムライス符号化と第2の符号化との何れにおいても、符号化データ中には必ずビット「1」が含まれている(より詳しくは、符号化データの識別符号中に、必ずビット「1」が含まれている)ために、3つ以上の符号化データに渡ってビット「0」が連続することはなく、最大でも2つの符号化データに渡るのみである。各符号化対象データに関して、適用可能な符号化はゴロムライス符号化と第2の符号化との2つであるために、連続する2つの符号化対象データにおける符号化の組み合わせとしては4通りある。これらの内の、前の符号化データにおける下位側のビット「0」の最大連続数と、後の符号化データにおける上位側のビット「0」の最大連続数と、の組み合わせの内の最大となるものを、まず求める。図13を見ると、下位側におけるビット「0」の最大連続数としては(D−1)よりもDの方が大きい。同様に、上位側におけるビット「0」の最大連続数としては(max_prefix−1)よりも(max_prefix+D−1)の方が大きい。従って、大きいもの同士を組み合わせると、(max_prefix+2×D−1)となる。上述したように、k_param ≦Dであって、かつDは1以上の整数であるために、この(max_prefix+2×D−1)は、ゴロムライス符号化の最大符号長(max_prefix+k_param )以上であり、かつ第2の符号化の符号長(max_prefix+D)以上であることが分かる。従って、(max_prefix+2×D−1)は、1つの符号化対象データをゴロムライス符号化して得られる符号化データ中に含まれるビット「0」の最大連続数よりも大きく、かつ、1つの符号化対象データを第2の符号化して得られる符号化データ中に含まれるビット「0」の最大連続数よりも大きい。こうして、この改良ゴロムライス符号化におけるビット「0」の最大連続数は、(max_prefix+2×D−1)であることが保証される。なお、上述したような、符号化対象データdataの固定長Dが15であって、かつプレフィックス最大長max_prefixが12であるケースでは、12+2×15−1=41がビット「0」の最大連続数となる。
上述したような理由から、符号化データと完全に識別可能なリスタートマーカ等の制御コードとしては、次の数式1に示すようなビット数以上、ビット「0」が連続するようなものを用いれば良い。
[数1]
max_prefix+2×D
従って、上記例では、42ビット以上、ビット「0」が連続するようなものを制御コードとして用いれば良い。
ただし、実用上は、制御コードとしてバイト単位のものを用いることが望ましいために、例えば次の数式2で示されるようなバイト分だけビット「0」が連続するようなものを制御コードとして用いることが考えられる。
[数2]
[(max_prefix+2×D)/8]+1
ここに、記号[]は、ここでは床関数([]内の数を超えない最大の整数を与える関数)を表すものとする。
従って、上述した例では、[42/8]+1=5+1=6となって、6バイト(つまり、48ビット)だけビット「0」が連続するものを、リスタートマーカとして用いていたのである。
このような実施形態1によれば、ゴロムライス符号化におけるプレフィックス長を制限するようにしたために、上位ビットの値が大きいときに符号化データが巨大化するのを規制することができ、データ量の増大を抑制することが可能となる。そして、符号化データ中には存在しないデータを制御コードとして用いるようにしたために、オフセットアドレス等を用いることなく、順次読み込みにおいて制御コードを識別することが可能となり、エラー耐性も高まる。さらに、制御コードとして、kパラメータやプレフィックス最大長を種々の値に変更したときにも、符号化データ中には存在しないデータを用いるようにしたために、適応的なkパラメータの変更や、適応的なプレフィックス最大長の変更にも対応することが可能となる。
[実施形態2]
図14から図16は本発明の実施形態2を示したものであり、図14はリスタートマーカの構成を示す図、図15はマーカ生成の処理を示すフローチャート、図16は符号生成の処理を示すフローチャートである。
この実施形態2において、上述の実施形態1と同様である部分については同一の符号を付して説明を省略し、主として異なる点についてのみ説明する。
この実施形態2は、リスタートマーカの終端位置が明確になるように、リスタートマーカの構成をやや異ならせたものとなっている。
すなわち、本実施形態で用いるリスタートマーカは、図14に示すように、48ビットで構成されるリスタートマーカの内の、上位47ビットが0(制御コード)、最下位の1ビットが1(制御コード終端を示すコード)となるように構成されたものとなっている。なお、本実施形態においても、符号化対象データdataの固定長Dが15、kパラメータk_param が5、プレフィックス最大長max_prefixが12であるものとする。なお、より一般的には、リスタートマーカを、上位([(max_prefix+2×D)/8]×8+7)ビットが0(制御コード)、最下位の1ビットが1(制御コード終端を示すコード)となるように構成することになる。ここに、記号[]は、上述と同様に床関数を表している。
この実施形態のデータ符号化装置の構成は、図1に示したものと同様であり、符号化処理の流れも図2に示したものと同様である。
図15を参照して、図2のステップS3におけるマーカ生成の、本実施形態における処理の詳細について説明する。
この処理を開始すると、マーカ生成部3は、47ビット分のビット「0」と1ビット分のビット「1」とをリスタートマーカとして出力し(ステップS31a)、その後は上述したステップS32の処理を行って、図2に示した処理にリターンする。
次に、図16を参照して、図2のステップS7における符号生成の、本実施形態における処理の詳細について説明する。
上述したステップS71において、マーカ生成信号が「1」になっていると判定された場合には、まず、前画素までのデータをバイト単位で終了させるパッキングを行うために、バイト単位位置までビット「0」を出力する(ステップS72a)。なお、上述した実施形態1の図9に示した処理においては、マーカデータの先頭位置を明確にするために、バッキングのためのビットを「1」にする必要があったが、本実施形態のリスタートマーカでは上述したようにリスタートマーカの終端位置が明確であるために、ビット「0」を用いることが可能となっている。なお、本実施形態のリスタートマーカを用いれば、バッキングのためのビットを「1」とすることも勿論可能である。
次に、マーカの符号長分だけマーカデータ(ここでは、47ビット分のビット「0」および1ビット分のビット「1」を出力する(ステップS73a)。
このステップS73aが終了するか、またはステップS71においてマーカ生成信号が「0」になっている場合には、上述したステップS74〜S76の処理を行って、図2に示した処理にリターンする。
なお、制御コード終端を示すコードは、制御コードと異なるビット値をもった1ビットデータで十分であるために、上述した例では1ビットとしているが、制御コードと異なるビット値を複数ビット分並べるようにしても構わない。
このような実施形態2によれば、上述した実施形態1とほぼ同様の効果を奏するとともに、リスタートマーカ等の制御コードの終端位置を明確にして、続く符号化データの先頭位置を明瞭にすることができる。
なお、上述では、符号化対象データが画像データを構成する画素データである場合を例に挙げたが、データ符号化装置により処理し得るデータは、これに限るものではないことは勿論である。
また、上述では、プレフィックスや制御コードとしてビット「0」を用いるようにしているが、これに代えて、ビット「1」を用いるようにすることも可能である。このときには、制御コード終端を示すコードや1ビットで構成される識別符号のビット値も、上述とは異なるビット値を用いることになる。
さらに、上述では、制御コードとしてリスタートマーカを例に挙げているが、その他の用途に用いる制御コードを、上述したような技術を用いて符号化データ中に埋め込むようにしても構わない。
そして、上述では、データ符号化装置により処理を行う例について説明しているが、既存の演算器等にデータ符号化方法を適用することにより処理するようにしても構わないし、データ符号化装置と同等の処理を行うためのプログラムにより、コンピュータで処理させるようにしても良い。
なお、本発明は上述した実施形態に限定されるものではなく、発明の主旨を逸脱しない範囲内において種々の変形や応用が可能であることは勿論である。
本発明は、固定長の符号化対象データを符号化するためのデータ符号化装置、データ符号化方法、プログラムに好適に利用することができる。
本発明の実施形態1におけるデータ符号化装置の構成を示すブロック図。 上記実施形態1における符号化の処理を示すフローチャート。 上記実施形態1におけるプレフィックス長算出の処理を示すフローチャート。 上記実施形態1におけるプレフィックス長判定の処理を示すフローチャート。 上記実施形態1におけるマーカ生成の処理を示すフローチャート。 上記実施形態1におけるプレフィックス生成の処理を示すフローチャート。 上記実施形態1における識別符号生成の処理を示すフローチャート。 上記実施形態1におけるサフィックス生成の処理を示すフローチャート。 上記実施形態1における符号生成の処理を示すフローチャート。 上記実施形態1におけるリスタートマーカの構成を示す図。 上記実施形態1における、符号化対象データの上位ビットの値がプレフィックス最大長未満であるときの符号化例を示す図。 上記実施形態1における、符号化対象データの上位ビットの値がプレフィックス最大長以上であるときの符号化例を示す図。 上記実施形態1において、ゴロムライス符号化および第2の符号化における上位側および下位側のビット「0」の最大連続数を示す図表。 本発明の実施形態2におけるリスタートマーカの構成を示す図。 上記実施形態2におけるマーカ生成の処理を示すフローチャート。 上記実施形態2における符号生成の処理を示すフローチャート。 上位ビットの値がプレフィックス最大長以上となる符号化対象データを従来のゴロムライス符号化により符号化する例を示す図。
符号の説明
1…プレフィックス長算出部(符号化手段)
2…プレフィックス長判定部(符号化手段)
3…マーカ生成部(制御コード付加手段)
4…プレフィックス生成部(符号化手段)
5…識別符号生成部(符号化手段)
6…サフィックス生成部(符号化手段)
7…符号生成部(符号化手段、制御コード付加手段)

Claims (6)

  1. 固定長D(Dは1以上の整数)ビットの符号化対象データを符号化するためのデータ符号化装置であって、
    上記符号化対象データから、ビット「0」とビット「1」との何れか一方を少なくとも1ビット以上含む符号化データを生成する符号化手段と、
    連続する2つの任意の符号化データにおけるビット「0」とビット「1」との何れか他方の最大連続数よりも長く、ビット「0」とビット「1」との何れか他方が連続する制御コードを、上記符号化データに付加する制御コード付加手段と、
    を具備し
    上記符号化手段は、上記符号化対象データを上位ビットと下位ビットとに2分割し、上記上位ビットの値が所定のプレフィックス最大長max_prefix(max_prefixは1以上の整数)未満であるときは、上位ビットを該上位ビットの値の長さだけビット「0」とビット「1」との何れか他方を連続したプレフィックスに符号化するとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に1ビット分のビット「0」とビット「1」との何れか一方を識別符号として付加することにより、上記符号化データを生成し、上記上位ビットの値が上記プレフィックス最大長max_prefix以上であるときは、上記プレフィックス最大長max_prefixの長さだけビット「0」とビット「1」との何れか他方を連続したものをプレフィックスとするとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に上記上位ビットを識別符号として付加することにより、上記符号化データを生成するものであり、
    上記制御コード付加手段は、ビット「0」とビット「1」との何れか他方を、(max_prefix+2×D)の長さ以上連続させることにより、上記制御コードを生成するものであることを特徴とするデータ符号化装置。
  2. 上記制御コードは、リスタートマーカであることを特徴とする請求項に記載のデータ符号化装置。
  3. 上記制御コード付加手段は、上記制御コードの最下位の下に、ビット「0」とビット「1」との何れか一方により全てのビットの値が構成される1ビット以上のコードを、該制御コード終端を示すコードとしてさらに付加するものであることを特徴とする請求項に記載のデータ符号化装置。
  4. 上記制御コードおよび上記制御コード終端を示すコードは、リスタートマーカであることを特徴とする請求項に記載のデータ符号化装置。
  5. 固定長D(Dは1以上の整数)ビットの符号化対象データを符号化するためのデータ符号化方法であって、
    上記符号化対象データから、ビット「0」とビット「1」との何れか一方を少なくとも1ビット以上含む符号化データを生成する符号化ステップと、
    連続する2つの任意の符号化データにおけるビット「0」とビット「1」との何れか他方の最大連続数よりも長く、ビット「0」とビット「1」との何れか他方が連続する制御コードを、上記符号化データに付加する制御コード付加ステップと、
    を有し、
    上記符号化ステップは、上記符号化対象データを上位ビットと下位ビットとに2分割し、上記上位ビットの値が所定のプレフィックス最大長max_prefix(max_prefixは1以上の整数)未満であるときは、上位ビットを該上位ビットの値の長さだけビット「0」とビット「1」との何れか他方を連続したプレフィックスに符号化するとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に1ビット分のビット「0」とビット「1」との何れか一方を識別符号として付加することにより、上記符号化データを生成し、上記上位ビットの値が上記プレフィックス最大長max_prefix以上であるときは、上記プレフィックス最大長max_prefixの長さだけビット「0」とビット「1」との何れか他方を連続したものをプレフィックスとするとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に上記上位ビットを識別符号として付加することにより、上記符号化データを生成するステップであり、
    上記制御コード付加ステップは、ビット「0」とビット「1」との何れか他方を、(max_prefix+2×D)の長さ以上連続させることにより、上記制御コードを生成するステップであることを特徴とするデータ符号化方法。
  6. 固定長D(Dは1以上の整数)ビットの符号化対象データをコンピュータに符号化させるためのプログラムであって、
    上記符号化対象データから、ビット「0」とビット「1」との何れか一方を少なくとも1ビット以上含む符号化データを生成する符号化ステップと、
    連続する2つの任意の符号化データにおけるビット「0」とビット「1」との何れか他方の最大連続数よりも長く、ビット「0」とビット「1」との何れか他方が連続する制御コードを、上記符号化データに付加する制御コード付加ステップと、
    を有し、
    上記符号化ステップは、上記符号化対象データを上位ビットと下位ビットとに2分割し、上記上位ビットの値が所定のプレフィックス最大長max_prefix(max_prefixは1以上の整数)未満であるときは、上位ビットを該上位ビットの値の長さだけビット「0」とビット「1」との何れか他方を連続したプレフィックスに符号化するとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に1ビット分のビット「0」とビット「1」との何れか一方を識別符号として付加することにより、上記符号化データを生成し、上記上位ビットの値が上記プレフィックス最大長max_prefix以上であるときは、上記プレフィックス最大長max_prefixの長さだけビット「0」とビット「1」との何れか他方を連続したものをプレフィックスとするとともに、上記下位ビットをサフィックスとし、上位側のプレフィックスと下位側のサフィックスとの間に上記上位ビットを識別符号として付加することにより、上記符号化データを生成するステップであり、
    上記制御コード付加ステップは、ビット「0」とビット「1」との何れか他方を、(max_prefix+2×D)の長さ以上連続させることにより、上記制御コードを生成するステップであることを特徴とする各ステップをコンピュータに実行させるためのプログラム。
JP2005161729A 2005-06-01 2005-06-01 データ符号化装置、データ符号化方法、プログラム Active JP4468858B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005161729A JP4468858B2 (ja) 2005-06-01 2005-06-01 データ符号化装置、データ符号化方法、プログラム
US11/443,427 US7259698B2 (en) 2005-06-01 2006-05-30 Data encoding apparatus, data encoding method, and recording medium recorded with program
CNB2006100885208A CN100563111C (zh) 2005-06-01 2006-06-01 数据编码装置、数据编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005161729A JP4468858B2 (ja) 2005-06-01 2005-06-01 データ符号化装置、データ符号化方法、プログラム

Publications (2)

Publication Number Publication Date
JP2006339990A JP2006339990A (ja) 2006-12-14
JP4468858B2 true JP4468858B2 (ja) 2010-05-26

Family

ID=37484470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005161729A Active JP4468858B2 (ja) 2005-06-01 2005-06-01 データ符号化装置、データ符号化方法、プログラム

Country Status (3)

Country Link
US (1) US7259698B2 (ja)
JP (1) JP4468858B2 (ja)
CN (1) CN100563111C (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2381492T3 (es) 2005-04-29 2012-05-28 Glaxosmithkline Biologicals Sa Procedimiento de prevención o tratamiento de infección por M. tuberculosis
JP4500213B2 (ja) * 2005-05-20 2010-07-14 オリンパスイメージング株式会社 データ符号化装置、データ復号化装置、データ符号化方法、データ復号化方法、プログラム
WO2008059752A1 (fr) * 2006-11-14 2008-05-22 Nippon Telegraph And Telephone Corporation Procédé d'encodage et procédé de décodage de signal d'image, procédé d'encodage et procédé de décodage de source d'information, dispositifs pour ceux-ci, leurs programmes, et support de mémoire avec programme enregistré
EP2112764A1 (en) * 2008-04-25 2009-10-28 Thomson Licensing Method for encoding a sequence of integers, storage device and signal carrying an encoded integer sequence and method for decoding a sequence of integers
EP2141815A1 (en) * 2008-07-01 2010-01-06 Deutsche Thomson OHG Method for a hybrid Golomb-Elias gamma coding
JP5369973B2 (ja) * 2009-08-03 2013-12-18 日本電気株式会社 データ符号化/復号方法および装置
DK2528621T3 (da) 2010-01-27 2017-01-02 Glaxosmithkline Biologicals Sa Modificerede tuberkuloseantigener
WO2013069246A1 (ja) * 2011-11-07 2013-05-16 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置
GB2513111A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US9930348B2 (en) * 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
US10142629B2 (en) * 2015-12-28 2018-11-27 Mediatek Inc. Method and apparatus for entropy coding in image compression
CN108282662B (zh) * 2018-02-02 2021-02-02 武汉精测电子集团股份有限公司 一种连续色调静态图像压缩的优化方法及装置
EP3734973B1 (en) 2019-05-02 2023-07-05 Sick IVP AB Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image
CN113143284B (zh) * 2021-04-13 2022-10-21 浙江大学 基于小波变换和双模预测的心电信号压缩方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09247423A (ja) 1996-03-04 1997-09-19 Canon Inc 画像処理装置およびその方法
US8121428B2 (en) * 2005-05-31 2012-02-21 Microsoft Corporation Accelerated image rendering

Also Published As

Publication number Publication date
CN1874162A (zh) 2006-12-06
CN100563111C (zh) 2009-11-25
US20060273937A1 (en) 2006-12-07
JP2006339990A (ja) 2006-12-14
US7259698B2 (en) 2007-08-21

Similar Documents

Publication Publication Date Title
JP4468858B2 (ja) データ符号化装置、データ符号化方法、プログラム
EP1832000B1 (en) Device and data method for selective compression and decompression and data format for compressed data
US5272478A (en) Method and apparatus for entropy coding
JP4801776B2 (ja) データ圧縮
JP6045123B2 (ja) エンコーダ、デコーダ及び方法
JPH0916373A (ja) 可変長コードの符号化及び分割装置
JP2006197610A (ja) 内容適応可変長符号化装置及び方法
JP4098187B2 (ja) 可変長コード復号化装置及び方法
US7098818B1 (en) Encoder and decoder using run-length-limited code
CA2398955C (en) Method for compressing data
WO2020186535A1 (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
US7683809B2 (en) Advanced lossless bit coding
JP2008099134A (ja) データ復号装置及びプログラム
CN107105249B (zh) 图像量化参数解码方法
US8600766B2 (en) Method and apparatus for encoding and decoding data with altered bit sequence
US10931303B1 (en) Data processing system
JP2008199100A (ja) 可変長符号復号装置
KR100686354B1 (ko) 가변 트리를 이용한 허프만 복호화 방법 및 장치
JP4059253B2 (ja) 変調方法、変調装置および情報記録媒体
KR100462060B1 (ko) 유니버셜 가변 길이 코드 부호어 다중 추출 방법 및 그를위한 룩-업 테이블 구성 방법
JP4059252B2 (ja) 変復調方法、及び変復調装置
JP3351732B2 (ja) 算術符号化装置および方法、算術復号装置および方法、並びに記録媒体
JP5075135B2 (ja) 復号装置及びその制御方法
JP2006166388A (ja) 空白となるビット列の前方配置による境界相殺方法
JPH06268526A (ja) 信号処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091211

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: 20100202

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: 20100225

R151 Written notification of patent or utility model registration

Ref document number: 4468858

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130305

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140305

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250