(57)【要約】【課題】より少ない処理量の符号化や復号化を行うことができる適応型可変長符号化装置、符号化データを復号化する適応型可変長復号化装置、これらを利用した適応型可変長符号化・復号化方法及び適応型可変長符号化・復号化プログラムを提供すること。【解決手段】信号処理部４から取得したデータＤｉｍｇの発生頻度をカウント部２２でカウントし、カウントした発生頻度が１位に関する順位情報Ｄ１ｓｔを順位検索部２３で求める。この順位検索部２３で求めた順位情報Ｄ１ｓｔに基づいて符号化テーブル更新部２４は、符号化テーブル記憶部２５に記憶されている符号化テーブルを更新する。この更新された符号化テーブルに基づいて符号化部はデータＤｉｍｇを符号化して符号化データＤｈｕｆを生成する。【選択図】図２
2006033508.tif 000002
【特許請求の範囲】
【請求項１】
データの発生頻度に基づいて作成された符号化テーブルを参照して符号化対象のデータを符号化する適応型可変長符号化装置であって、
Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント手段と、
前記カウント手段でカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索手段と、
前記順位検索手段で求められた前記順位情報に基づいて前記符号化テーブルを更新する符号化テーブル更新手段と、
前記符号化テーブル更新手段によって更新された前記符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する符号化手段と、
を具備することを特徴とする適応型可変長符号化装置。
【請求項２】
データの発生頻度に基づいて作成された符号化テーブルを参照して符号化対象のデータを符号化する適応型可変長符号化装置であって、
Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント手段と、
前記カウント手段でカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索手段と、
前記順位検索手段で求められた前記順位情報に基づいて前記符号化対象のデータを変換する演算手段と、
前記符号化テーブルを参照することで前記演算手段で変換された符号化対象のデータを符号化して符号化データを生成する符号化手段と、
を具備することを特徴とする適応型可変長符号化装置。
【請求項３】
前記符号化テーブル更新手段による前記符号化テーブルの更新は、前記順位情報が求められている前記発生頻度が上位Ｎ位までの符号化対象のデータには、その順位に従って短い符号を順次割り当てることで前記符号化テーブルを更新し、前記発生頻度がＮ位よりも下位の符号化対象のデータには、その符号化対象のデータの近傍の上位Ｎ位までの符号化対象のデータとの差分に基づいた規則に従って符号を割り当てることで前記符号化テーブルを更新することで行うことを特徴とする請求項１に記載の適応型可変長符号化装置。
【請求項４】
前記演算手段による前記符号化対象のデータの変換は、前記順位情報が求められている前記発生頻度が上位Ｎ位までの符号化対象のデータについては、その順位に従って短い符号長のデータに順次変換し、前記発生頻度がＮ位よりも下位の符号化対象のデータについては、その符号化対象のデータの近傍にある上位Ｎ位までの符号化対象のデータとの差分に基づいた規則に従って変換していくことで行うことを特徴とする請求項２に記載の適応型可変長符号化装置。
【請求項５】
前記順位検索手段で求められた前記順位情報を前記符号化手段によって生成された前記符号化データに埋め込む順位情報埋め込み手段を更に具備することを特徴とする請求項１又は２に記載の適応型可変長符号化装置。
【請求項６】
データの発生頻度に基づいて作成された復号化テーブルを参照して符号化データを復号する適応型可変長復号化装置であって、
前記復号化テーブルを参照して順位情報が埋め込まれた符号化データを復号する復号化手段と、
前記符号化データに埋め込まれた前記順位情報に基づいて前記復号化テーブルを更新する復号化テーブル更新手段と、
を具備することを特徴とする適応型可変長復号化装置。
【請求項７】
データの発生頻度に基づいて作成された復号化テーブルを参照して符号化データを復号する適応型可変長復号化装置であって、
前記復号化テーブルを参照して順位情報が埋め込まれた符号化データを復号化する復号化手段と、
前記符号化データに埋め込まれた順位情報に基づいて前記復号化手段によって復号化されたデータを変換する演算手段と、
を具備することを特徴とする適応型可変長復号化装置。
【請求項８】
Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント工程と、
前記カウント工程においてカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索工程と、
前記順位検索工程において求められた前記順位情報に基づいて符号化テーブルを更新する符号化テーブル更新工程と、
前記符号化テーブル更新工程において更新された前記符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する符号化工程と、
前記符号化データに前記順位情報を埋め込む順位情報埋め込み工程と、
復号化テーブルを参照して前記符号化データを復号化する復号化工程と、
前記符号化データに埋め込まれた順位情報に基づいて前記復号化テーブルを更新する復号化テーブル更新工程と、
を有することを特徴とする適応型可変長符号化・復号化方法。
【請求項９】
Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント工程と、
前記カウント工程においてカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索工程と、
前記順位検索工程において求められた前記順位情報に基づいて前記符号化対象のデータを変換する符号化データ演算工程と、
符号化テーブルを参照することで前記符号化データ演算工程において変換された符号化対象のデータを符号化して符号化データを生成する符号化工程と、
前記符号化データに前記順位情報を埋め込む順位情報埋め込み工程と、
前記復号化テーブルを参照して前記符号化データを復号化する復号化工程と、
前記符号化データに埋め込まれた前記順位情報に基づいて前記復号化工程において復号化されたデータを変換する復号化データ演算工程と、
を有することを特徴とする適応型可変長符号化・復号化方法。
【請求項１０】
コンピュータに、
Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントする処理と、
前記カウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める処理と、
前記求められた前記順位情報に基づいて符号化テーブルを更新する処理と、
前記更新された前記符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する処理と、
前記符号化データに前記順位情報を埋め込む処理と、
復号化テーブルを参照して前記符号化データを復号化する処理と、
前記符号化データに埋め込まれた前記順位情報に基づいて前記復号化テーブルを更新する処理と、
を実行させることを特徴とする適応型可変長符号化・復号化プログラム。
【請求項１１】
コンピュータに、
Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントする処理と、
前記カウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める処理と、
前記求められた前記順位情報に基づいて前記符号化対象のデータを変換する処理と、
符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する処理と、
前記符号化データに前記順位情報を埋め込む処理と、
復号化テーブルを参照して前記符号化データを復号化する処理と、
前記符号化データに埋め込まれた前記順位情報に基づいて前記復号化されたデータを変換する処理と、
を実行させることを特徴とする適応型可変長符号化・復号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データなどのデータの符号長を適応的に変えて符号化データを生成する適応型可変長符号化装置、符号化データを復号化する適応型可変長復号化装置、これらを利用した適応型可変長符号化・復号化方法及び適応型可変長符号化・復号化プログラムに関する。
【背景技術】
【０００２】
一般に、画像データなどを記録媒体に記録する場合には、データを圧縮してから記録することが多い。このような圧縮処理技術には種々の手法がある。例えば、特許文献１などでは、データの発生頻度に応じて符号化の際の符号長を可変させるハフマン符号化方式（可変長符号化方式）に関する技術が提案されている。
【０００３】
ハフマン符号化の際には、データの発生頻度に応じてリアルタイムに演算することも可能であるが、通常は予め用意した符号化テーブル（ハフマンテーブル）を参照して各データの符号長を決定するようにすることが多い。このようなテーブル参照の場合、１つのテーブルを使い続ける方式や複数のテーブルの中から選択する方式などの方式があるが、中でも優れた方式の１つに、符号化の対象となるデータの発生確率に基づいてテーブルを更新する適応型可変長符号化方式がある。特許文献１の提案では、適応型可変長符号化方式において、符号化の対象となるデータの発生確率を求めずに、符号化の対象となるデータの発生順位のみに基づいてテーブルを更新するようにすることで、１つのテーブルを使い続ける方式などに比べてより効率の良い符号化を行うことができ、また、通常の適応型可変長符号化方式に比べてテーブル更新の際の処理量を減らすことができる。
【特許文献１】特開平８−３１６８４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方式では、データが取り得るすべて値に対するデータの発生順位に応じてテーブルの更新を行うようにしているので、順位比較の際の処理量が多くなってしまう。
【０００５】
本発明は、上記の事情に鑑みてなされたもので、より少ない処理量の符号化や復号化を行うことができる適応型可変長符号化装置、符号化データを復号化する適応型可変長復号化装置、これらを利用した適応型可変長符号化・復号化方法及び適応型可変長符号化・復号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明の第１の態様による適応型可変長符号化装置は、データの発生頻度に基づいて作成された符号化テーブルを参照して符号化対象のデータを符号化する適応型可変長符号化装置であって、Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント手段と、前記カウント手段でカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索手段と、前記順位検索手段で求められた前記順位情報に基づいて前記符号化テーブルを更新する符号化テーブル更新手段と、前記符号化テーブル更新手段によって更新された前記符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する符号化手段とを具備することを特徴とする。
【０００７】
また、上記の目的を達成するために、本発明の第２の態様による適応型可変長符号化装置は、データの発生頻度に基づいて作成された符号化テーブルを参照して符号化対象のデータを符号化する適応型可変長符号化装置であって、Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント手段と、前記カウント手段でカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索手段と、前記順位検索手段で求められた前記順位情報に基づいて前記符号化対象のデータを変換する演算手段と、前記符号化テーブルを参照することで前記演算手段で変換された符号化対象のデータを符号化して符号化データを生成する符号化手段とを具備することを特徴とする。
【０００８】
これら第１及び第２の態様によれば、順位情報を求める際の処理量を低減することができるので、少ない処理量の符号化を行うことができる。
【０００９】
また、上記の目的を達成するために、本発明の第３の態様による適応型可変長復号化装置は、データの発生頻度に基づいて作成された復号化テーブルを参照して符号化データを復号する適応型可変長復号化装置であって、前記復号化テーブルを参照して順位情報が埋め込まれた符号化データを復号する復号化手段と、前記符号化データに埋め込まれた前記順位情報に基づいて前記復号化テーブルを更新する復号化テーブル更新手段とを具備することを特徴とする。
【００１０】
また、上記の目的を達成するために、本発明の第４の態様による適応型可変長復号化装置は、データの発生頻度に基づいて作成された復号化テーブルを参照して符号化データを復号する適応型可変長復号化装置であって、前記復号化テーブルを参照して順位情報が埋め込まれた符号化データを復号化する復号化手段と、前記符号化データに埋め込まれた順位情報に基づいて前記復号化手段によって復号化されたデータを変換する演算手段とを具備することを特徴とする。
【００１１】
これら第３及び第４の態様によれば、第１の態様及び第２の態様の手法で符号化された符号化データの復号化を行うことができる。
【００１２】
また、上記の目的を達成するために、本発明の第５の態様による適応型可変長符号化・復号化方法は、Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント工程と、前記カウント工程においてカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索工程と、前記順位検索工程において求められた前記順位情報に基づいて符号化テーブルを更新する符号化テーブル更新工程と、前記符号化テーブル更新工程において更新された前記符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する符号化工程と、前記符号化データに前記順位情報を埋め込む順位情報埋め込み工程と、復号化テーブルを参照して前記符号化データを復号化する復号化工程と、前記符号化データに埋め込まれた順位情報に基づいて前記復号化テーブルを更新する復号化テーブル更新工程とを有することを特徴とする。
【００１３】
また、上記の目的を達成するために、本発明の第６の態様による適応型可変長符号化・復号化方法は、Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントするカウント工程と、前記カウント工程においてカウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める順位検索工程と、前記順位検索工程において求められた前記順位情報に基づいて前記符号化対象のデータを変換する符号化データ演算工程と、符号化テーブルを参照することで前記符号化データ演算工程において変換された符号化対象のデータを符号化して符号化データを生成する符号化工程と、
前記符号化データに前記順位情報を埋め込む順位情報埋め込み工程と、前記復号化テーブルを参照して前記符号化データを復号化する復号化工程と、前記符号化データに埋め込まれた順位情報に基づいて前記復号化工程において復号化されたデータを変換する復号化データ演算工程とを有することを特徴とする。
【００１４】
また、上記の目的を達成するために、本発明の第７の態様による適応型可変長符号化・復号化プログラムは、コンピュータに、Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントする処理と、前記カウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める処理と、前記求められた前記順位情報に基づいて符号化テーブルを更新する処理と、前記更新された前記符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する処理と、前記符号化データに前記順位情報を埋め込む処理と、復号化テーブルを参照して前記符号化データを復号化する処理と、前記符号化データに埋め込まれた前記順位情報に基づいて前記復号化テーブルを更新する処理とを実行させることを特徴とする。
【００１５】
また、上記の目的を達成するために、本発明の第８の態様による適応型可変長符号化・復号化プログラムは、コンピュータに、Ｍ種類の符号化対象のデータのそれぞれの発生頻度をカウントする処理と、前記カウントされた前記発生頻度が上位Ｎ位まで（１≦Ｎ＜Ｍ）の符号化対象のデータに関する順位情報を求める処理と、前記求められた前記順位情報に基づいて前記符号化対象のデータを変換する処理と、符号化テーブルを参照することで前記符号化対象のデータを符号化して符号化データを生成する処理と、前記符号化データに前記順位情報を埋め込む処理と、復号化テーブルを参照して前記符号化データを復号化する処理と、前記符号化データに埋め込まれた前記順位情報に基づいて前記復号化されたデータを変換する処理とを実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、より少ない処理量の符号化や復号化を行うことができる適応型可変長符号化装置、符号化データを復号化する適応型可変長復号化装置、これらを利用した適応型可変長符号化・復号化方法及び適応型可変長符号化・復号化プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して本発明の実施形態を説明する。  
［第１の実施形態］
図１は、本発明の第１の実施形態に係る適応型可変長符号化装置及び適応型可変長復号化装置を搭載した電子カメラ（以下、カメラと称する）の構成について示す図である。即ち、図１に示すカメラ１は、光学系２と、撮像部３と、信号処理部４と、符号化／復号化部５と、記録媒体６と、表示制御部７と、ディスプレイ８と、制御部９と、レリーズスイッチ１０と、操作スイッチ１１とから構成されている。
【００１８】
光学系２は、図示しない被写体の像を撮像面上に結像させる光学系である。撮像部３は上記撮像面上に配置され光学系２を介して結像された被写体の像を光電変換するとともに、この光電変換された信号をデジタル信号に変換する。信号処理部４は、撮像部３の出力デジタル信号に対して各種の信号処理を施して、画像データを生成する。
【００１９】
また、第１の実施形態の要部である符号化／復号化部５は、信号処理部４からの出力画像データを圧縮するための符号化を行う符号化部と、符号化部で符号化されたデータを伸長するための復号化を行う復号化部とから構成されている。これら符号化部及び復号化部の詳細については後で述べる。
【００２０】
記録媒体６は、カメラ１に内蔵されている不揮発性の半導体メモリやカメラ１に対して着脱自在のカード型メモリなどからなる記録媒体であり、符号化／復号化部５で符号化された符号化データを記録する。
【００２１】
表示制御部７は、信号処理部４からの出力画像データに基づいて画像を表示するための信号を生成してディスプレイ８の画像表示制御を行う。ディスプレイ８は、例えばＬＣＤなどから構成されており、カメラ１の背面側に配設されている。このディスプレイ８上には、表示制御部７からの出力信号に基づいて画像や撮影駒番号などの表示が行われる。
【００２２】
制御部９は、ＣＰＵなどから構成されており、上述した各部を含むカメラ１の統括的な制御を行う。この制御部９には、レリーズスイッチ１０及び操作スイッチ１１が接続されている。レリーズスイッチ１０は撮影を開始させるための図示しない操作部材によって操作されるスイッチであり、操作スイッチ１１はその他のカメラ操作を開始させるための図示しない操作部材によって操作されるスイッチである。
【００２３】
次に、図１の符号化／復号化部５について更に詳しく説明する。図２は、符号化／復号化部５を構成する符号化部の構成について示すブロック図である。図２において、符号化部５ａは、メモリ２１と、カウント部２２と、順位検索部２３と、符号化テーブル更新部２４と、符号化テーブル記憶部２５と、符号化部２６と、順位情報埋め込み部２７とから構成されている。
【００２４】
メモリ２１は、信号処理部４から入力されてきた符号化対象のデータ（以下、単にデータと称する）Ｄｉｍｇを一時記憶しておくためのメモリである。このデータＤｉｍｇは、Ｍ種類の値を取り得るものである。例えば、８ビットデータの場合には、Ｍ＝２５６種類の値を取り得る。
【００２５】
カウント部２２は、入力されたすべてのデータに対する発生頻度をカウントするカウンタである。順位検索部２３は、カウント部２２でカウントされた発生頻度が上位Ｎ位までのデータに関する順位情報を求める。ここで、Ｎは、１≦Ｎ＜Ｍとする。
【００２６】
符号化テーブル更新部２４は、順位検索部２３で求められた順位情報に基づいて符号化テーブル記憶部２５に記憶されている符号化テーブルを更新する。
【００２７】
符号化テーブル記憶部２５は、符号化部２６における符号化の際に参照される符号化テーブルを記憶しておくためのメモリである。図３に符号化テーブルの例を示す。この図３において、入力Ｄｉｍｇは符号化前のデータを示す。また、出力Ｄｈｕｆは符号化後のデータを示す。また、ハフマンコード番号は出力Ｄｈｕｆの割り当て順を示す番号である。このハフマンコード番号に示される番号が小さいほど、符号長が短い符号が出力Ｄｈｕｆとして割り当てられる。
【００２８】
符号化部２６は、符号化テーブル記憶部２５に記憶されている符号化テーブルに基づいてメモリ２１からのデータＤｉｍｇを符号化して符号化データＤｈｕｆを生成する。符号化情報埋め込み部２７は、符号化部２６で符号化された符号化データＤｈｕｆに順位検索部２３において求められた順位情報を埋め込んで外部に出力する。ここで埋め込まれた順位情報は符号化データＤｈｕｆの復号化の際に用いられる。
【００２９】
以下、符号化部５ａにおける適応型可変長符号化方法について図４を参照して説明する。ここで、以下の説明においては、Ｎ＝１、Ｍ＝１６であるとして説明する。即ち、順位検索部２３において求められる順位情報は上位１位のもののみとなる。以下、この１位の順位情報をＤ１ｓｔと記す。また、符号化テーブル記憶部２５には、図３の参照符号１０１で示す符号化テーブルが予め記憶されているものとする。
【００３０】
図４の処理においては、まず、信号処理部４から符号化対象となるデータＤｉｍｇが取得される（ステップＳ１）。次に、ステップＳ１で取得されたデータＤｉｍｇがメモリ２１に記憶される（ステップＳ２）。次に、メモリ２１に一時的に記憶されたデータＤｉｍｇがカウント部２２と符号化部２６とに入力される。
【００３１】
ここで、カウント部２２と符号化部２６とにデータＤｉｍｇを入力する際には、必ずしも同時に入力する必要はなく、ずらして入力するようにしても良い。即ち、符号化テーブル更新部２４が符号化テーブルの更新を行うまでにはタイムラグがあるので、データＤｉｍｇを先にカウント部２２に入力し、符号化テーブルの更新が行われてから、データＤｉｍｇを符号化部２６に入力するようにしても良く、このようにすることで、より適切な符号化を行うことができるようになる。なお、符号化部２６へのデータＤｉｍｇの入力を遅らせるにはディレイバッファを用いればよい。
【００３２】
以後は、データＤｉｍｇが先にカウント部２２に入力される場合について説明する。メモリ２１に記憶されたデータＤｉｍｇがカウント部２２に入力されると、カウント部２２において、データＤｉｍｇの発生頻度（データＤｉｍｇの入力回数）がカウントされる（ステップＳ３）。ステップＳ３の処理の後、順位検索部２３において、カウント部２２でカウントされた発生頻度の中で発生頻度が１位に関する順位情報Ｄ１ｓｔが求められる（ステップＳ４）。ここでは、例として順位情報Ｄ１ｓｔ＝５、即ち、データＤｉｍｇ＝５の発生頻度が１位であるとする。
【００３３】
次に、符号化テーブル更新部２４において、符号化テーブル記憶部２５に記憶された符号化テーブル１０１の更新が行われる（ステップＳ５）。この符号化テーブル１０１の更新においては、まず求めた順位情報Ｄ１ｓｔに従ってハフマンコード番号を割り当て、その後、順位情報Ｄ１ｓｔに対応する入力Ｄｉｍｇとの差分が小さい入力Ｄｉｍｇほど小さい数値のハフマンコード番号を割り当てるようにする。また、差分が同じ入力Ｄｉｍｇに関しては、更新前の符号化テーブルにおいて、それぞれの入力Ｄｉｍｇに対応する出力Ｄｈｕｆの符号長が短いものほど小さい数値のハフマンコード番号を割り当てるようにする。
【００３４】
即ち、第１の実施形態では、順位情報Ｄ１ｓｔ＝５であるので、更新後の符号化テーブルにおいて、入力Ｄｉｍｇ＝５にハフマンコード番号の「１」を割り当てる。その後、入力Ｄｉｍｇ＝５に対する差分が最も小さい入力Ｄｉｍｇ＝４と入力Ｄｉｍｇ＝６とにハフマンコード番号を割り当てる。ここで、更新前の符号化テーブル１０１において、入力Ｄｉｍｇ＝４に対応する出力Ｄｈｕｆの符号長は５ビットであり、入力Ｄｉｍｇ＝６に対応する出力Ｄｈｕｆの符号長は６ビットである。そこで、更新後の符号化テーブルにおいて、入力Ｄｉｍｇ＝４にハフマンコード番号の「２」を割り当てて、入力Ｄｉｍｇ＝６にハフマンコード番号の「３」を割り当てる。次は、入力Ｄｉｍｇ＝３と入力Ｄｉｍｇ＝７とにハフマンコード番号を割り当てる。ここで、更新前の符号化テーブル１０１において、入力Ｄｉｍｇ＝３に対応する出力Ｄｈｕｆの符号長は５ビットであり、入力Ｄｉｍｇ＝７に対応する出力Ｄｈｕｆの符号長は６ビットである。そこで、更新後の符号化テーブルにおいて、入力Ｄｉｍｇ＝３にハフマンコード番号の「４」を割り当てて、入力Ｄｉｍｇ＝７にハフマンコード番号の「５」を割り当てる。
【００３５】
以後同様の規則に従ってハフマンコード番号を割り当てていくと、図３の参照符号１０２ａに示すようにしてハフマンコード番号が割り当てられ、このハフマンコード番号に基づいて符号化テーブル１０１における出力Ｄｈｕｆの割り当てが行われる。このように、順位情報Ｄ１ｓｔからの差分に基づいた規則によって符号化テーブルの更新を行うことにより、更新後の符号化テーブルは図３の符号化テーブル１０２で示すものとなる。
【００３６】
なお、順位情報を上位Ｎ位まで（１＜Ｎ＜Ｍ）求めた場合も同様の考え方でテーブル更新を行うことができる。例えば、順位情報を上位２位まで求めた場合には、まず、順位情報が１位に対応する入力Ｄｉｍｇにハフマンコード番号の「１」を割り当て、次に順位情報が２位に対応する入力Ｄｉｍｇにハフマンコード番号の「２」を割り当てる。その後は、１位の入力Ｄｉｍｇとの差分が小さい入力Ｄｉｍｇと２位の入力Ｄｉｍｇとの差分が小さい入力Ｄｉｍｇとにハフマンコード番号を交互に割り当てていくようにする。
【００３７】
ステップＳ５において、符号化テーブルが更新された後、メモリ２１に記憶されたデータＤｉｍｇが符号化部２６に入力される。符号化部２６においては、更新された符号化テーブル１０２が参照されてデータＤｉｍｇの符号化が行われ、符号化データＤｈｕｆが生成される（ステップＳ６）。
【００３８】
その後、符号化情報埋め込み部２７において、符号化データＤｈｕｆに順位検索部２３によって求められた順位情報が埋め込まれて外部に出力される（ステップＳ７）。ここで、順位情報を埋め込む際には、例えば図５（ａ）のようにライン単位のタイミングで順位情報を符号化データ列中に埋め込むようにすれば良い。または、図５（ｂ）に示すようにフレームヘッダに、そのフレーム内の符号化データの順位情報をまとめて記録しておき、符号化データ列中には符号化データの区切りであることを示す情報のみを挿入しておくようにしても良い。さらには、図５（ｃ）に示すように、フレームヘッダに、そのフレーム内の符号化データの順位情報と符号化データの区切りを示す座標データとを記録しておき、符号化データ列中には何も挿入しないようにしても良い。
【００３９】
次に、符号化／復号化部５における復号化部について説明する。図６は、符号化／復号化部５の中の復号化部の構成について示すブロック図である。図６において、復号化部５ｂは、符号化データ入力部３１と、復号化テーブル更新部３２と、復号化テーブル記憶部３３と、復号化部３４とから構成されている。
【００４０】
符号化データ入力部３１は、記録媒体６等に記録された符号化データＤｈｕｆを復号化テーブル更新部３２と復号化部３４とに入力する。ここでの符号化データＤｈｕｆの入力タイミングは、復号化テーブル更新部３２と復号化部３４とに同時に入力するようにしても良いし、入力タイミングをずらすようにしても良い。ただし、符号化部５ａと復号化部５ｂとでは入力タイミングを変えないようにする。
【００４１】
復号化テーブル更新部３２は、符号化データＤｈｕｆに埋め込まれた順位情報に基づいて復号化テーブル記憶部３３に記憶されている復号化テーブルを更新する。
【００４２】
復号化テーブル記憶部３３は、復号化部３４における復号化の際に参照される符号化テーブルを記憶しておくためのメモリである。図７に、図３の符号化テーブルに対応する復号化テーブルの例を示す。符号化テーブルにおいては、入力されるデータと出力されるデータとが符号化テーブルと逆になっている。
【００４３】
復号化部３４は、復号化テーブル記憶部３３に記憶されている復号化テーブルに基づいて符号化データ入力部３１からの符号化データＤｈｕｆを復号化してデータＤｉｍｇを生成する。
【００４４】
以下、復号化部５ｂにおける適応型可変長復号化方法について図８を参照して説明する。ここで、以下の説明においては、Ｎ＝１、Ｍ＝１６であるとする。即ち、符号化データに埋め込まれる順位情報は１位の順位情報Ｄ１ｓｔである。ここでは、Ｄ１ｓｔ＝５とする。また、復号化テーブル記憶部３３には、図７の参照符号２０１で示す復号化テーブルが予め記憶されているものとする。
【００４５】
図８の処理においては、まず、符号化データ入力部３１を介して記録媒体６から符号化データＤｈｕｆが取得される（ステップＳ１１）。ここで取得された符号化データＤｈｕｆが復号化テーブル更新部３２と復号化部３４とに入力される。なお、これに先立って符号化データＤｈｕｆをメモリに記憶させるようにしても良い。
【００４６】
次に、復号化テーブル更新部３２において、復号化テーブル記憶部３３に記憶された復号化テーブル２０１の更新が行われる（ステップＳ１２）。この復号化テーブル２０１の更新においては、まず求めた順位情報Ｄ１ｓｔに従ってハフマンコード番号を割り当て、その後、順位情報Ｄ１ｓｔに対応する出力Ｄｉｍｇとの差分が小さい出力Ｄｉｍｇほど小さなハフマンコード番号を割り当てるようにする。また、差分が同じ出力Ｄｉｍｇに関しては、更新前の復号化テーブルにおいて、それぞれの出力Ｄｉｍｇに対応する入力Ｄｈｕｆの符号長が短いものほど小さなハフマンコード番号を割り当てるようにする。
【００４７】
即ち、第１の実施形態では、順位情報Ｄ１ｓｔ＝５であるので、更新後の復号化テーブルにおいては、出力Ｄｉｍｇ＝５にハフマンコード番号の「１」を割り当てる。次に、出力Ｄｉｍｇ＝５に対して差分が最も小さい出力Ｄｉｍｇ＝４と出力Ｄｉｍｇ＝６とにハフマンコード番号を割り当てる。ここで、更新前の復号化テーブル２０１において、出力Ｄｉｍｇ＝４に対応する入力Ｄｈｕｆの符号長は５ビットであり、出力Ｄｉｍｇ＝６に対応する入力Ｄｈｕｆの符号長は６ビットである。そこで、更新後の復号化テーブルにおいて、出力Ｄｉｍｇ＝４にハフマンコード番号の「２」を割り当てて、出力Ｄｉｍｇ＝６にハフマンコード番号の「３」を割り当てる。次は、出力Ｄｉｍｇ＝３と出力Ｄｉｍｇ＝７とにハフマンコード番号を割り当てる。ここで、更新前の復号化テーブル２０１において、出力Ｄｉｍｇ＝３に対応する入力Ｄｈｕｆの符号長は５ビットであり、出力Ｄｉｍｇ＝７に対応する入力Ｄｈｕｆの符号長は６ビットである。そこで、更新後の復号化テーブルにおいて、出力Ｄｉｍｇ＝３にハフマンコード番号の「４」を割り当てて、出力Ｄｉｍｇ＝７にハフマンコード番号の「５」を割り当てる。
【００４８】
このような規則に従ってハフマンコード番号を割り当てていくと、図７の参照符号２０２ａに示すようにしてハフマンコード番号が割り当てられ、このハフマンコード番号に基づいて入力Ｄｈｕｆが割り当てわれる。このように、順位情報Ｄ１ｓｔからの差分に基づいた規則によって復号化テーブルの更新を行うことにより、更新後の復号化テーブルは図７の復号化テーブル２０２で示すものとなる。
【００４９】
ステップＳ１２において、復号化テーブルが更新された後、符号化データＤｈｕｆが復号化部３４に入力される。復号化部３４においては、更新された復号化テーブル２０２が参照されて符号化データＤｈｕｆの復号化が行われる（ステップＳ１３）。これにより、データＤｉｍｇが生成されて外部に出力される。
【００５０】
なお、第１の実施形態では符号化によって生成される符号化データに順位情報を埋め込むようにしているが、図９に示すように、復号化部５ｂにカウント部３５と順位検索部３６とを設けるようにすれば、符号化データに順位情報を埋め込む必要はない。この場合の適応型可変長復号化方法を図１０のフローチャートに示す。
【００５１】
図１０のステップＳ２１のデータ取得の処理は図８のステップＳ１１と同様であり、ステップＳ２２の復号化処理は図８のステップＳ１３と同様の処理であるので説明を省略する。
【００５２】
ステップＳ２２の復号化処理によってデータＤｉｍｇが生成されると、このデータＤｉｍｇが外部に出力されると共に、カウント部３５に入力される。カウント部３５においては、データＤｉｍｇの発生頻度がカウントされる（ステップＳ２３）。ステップＳ２３の処理の後、順位検索部３６において、カウント部３５でカウントされた発生頻度の中で発生頻度が１位のデータが順位情報Ｄ１ｓｔとして求められる（ステップＳ２４）。次に、復号化テーブル更新部３２において、復号化テーブル記憶部３３に記憶された復号化テーブル２０１の更新が行われる（ステップＳ２５）。その後、次の符号化データＤｈｕｆが取得されるまで待機する。
【００５３】
以上説明したように、第１の実施形態によれば、データの発生頻度の順位情報に基づいて符号化テーブル及び復号化テーブルの更新を行う際に、すべてのデータに対する順位情報を求める必要がないので、順位比較などの処理の際の処理量を減らすことができる。
【００５４】
［第２の実施形態］
次に本発明の第２の実施形態について説明する。本発明の第２の実施形態は、符号化テーブル及び復号化テーブルを固定テーブルとしながら、テーブル更新を行ったのと同様の効果が得られる例である。
【００５５】
図１１は、本発明の第２の実施形態における符号化部の構成について示すブロック図である。なお、図１１において図２と同じ構成については同じ参照符号を付している。図１１において、符号化部５ａは、メモリ２１と、カウント部２２と、順位検索部２３と、符号化テーブル記憶部２５と、符号化部２６と、順位情報埋め込み部２７と、演算部２８とから構成されている。
【００５６】
図１１の演算部２８は、順位検索部２３で求められた順位情報に基づいてメモリ２１から入力されたデータＤｉｍｇを別のデータＤｉｍｇ’に変換する。
【００５７】
以下、符号化部５ａにおける適応型可変長符号化方法について図１２を参照して説明する。ここで、以下の説明においては、第１の実施形態と同様にＮ＝１、Ｍ＝１６であるとして説明する。また、符号化テーブル記憶部２５には、図１３の参照符号３０１で示す符号化テーブルが予め記憶されているものとする。この符号化テーブル３０１は固定のテーブルである。
【００５８】
図１２の処理においては、まず、信号処理部４から符号化対象となるデータＤｉｍｇが取得される（ステップＳ３１）。次に、ステップＳ３１で取得されたデータＤｉｍｇがメモリ２１に記憶される（ステップＳ３２）。次に、メモリ２１に一時的に記憶されたデータＤｉｍｇがカウント部２２に入力される。ここで、カウント部２２と演算部２８とにデータＤｉｍｇを同時に入力するようにしても良い。
【００５９】
以後は、データＤｉｍｇが先にカウント部２２に入力される場合について説明する。メモリ２１に記憶されたデータＤｉｍｇがカウント部２２に入力されると、カウント部２２において、データＤｉｍｇの発生頻度がカウントされる（ステップＳ３３）。ステップＳ３３の処理の後、順位検索部２３において、カウント部２２でカウントされたデータの発生頻度が１位のデータに関する順位情報Ｄ１ｓｔが求められる（ステップＳ３４）。ここでは、例として順位情報Ｄ１ｓｔ＝５であるとする。
【００６０】
次に、メモリ２１に一時的に記憶されたデータＤｉｍｇが演算部２８に入力される。演算部２８においては、データＤｉｍｇの変換が行われる（ステップＳ３５）。
【００６１】
ステップＳ３５のデータＤｉｍｇの変換演算について説明する。この演算は、順位情報Ｄ１ｓｔに対応するデータに対する差分が小さいデータほど、短い符号長のデータに変換する演算であり、入力されたデータＤｉｍｇの値によって異なる演算が行われる。
【００６２】
まず、データＤｉｍｇが、Ｄｉｍｇ＜Ｄ１ｓｔの場合には、
Ｄｉｍｇ’＝（Ｄ１ｓｔ−Ｄｉｍｇ）×２−１
の演算を行う。例えば、入力されたデータＤｉｍｇ＝０の場合には、Ｄｉｍｇ’＝（５−０）×２−１＝９となる。
【００６３】
また、データＤｉｍｇが、Ｄ１ｓｔ≦Ｄｉｍｇ＜２×Ｄ１ｓｔの場合には、
Ｄｉｍｇ’＝（Ｄｉｍｇ−Ｄ１ｓｔ）×２
の演算を行う。例えば、入力されたデータＤｉｍｇ＝６の場合には、Ｄｉｍｇ’＝（６−５）×２＝２となる。
【００６４】
また、データＤｉｍｇが、２×Ｄ１ｓｔ≦Ｄｉｍｇの場合には、
Ｄｉｍｇ’＝Ｄｉｍｇ
とする。
【００６５】
以上のような演算によってＤｉｍｇを変換すると、図１３の参照符号３０２で示す入力Ｄｉｍｇがそれぞれ図１３の参照符号３０３で示すＤｉｍｇ’に変換される。
【００６６】
ステップＳ３５のデータ変換演算の後、演算部２８からデータＤｉｍｇ’が符号化部２６に入力される。符号化部２６においては、符号化テーブル３０１が参照されてデータＤｉｍｇ’の符号化が行われ、符号化データＤｈｕｆが生成される（ステップＳ３６）。その後、符号化情報埋め込み部２７において、符号化データＤｈｕｆに２３によって求められた順位情報が埋め込まれて外部に出力される（ステップＳ３７）。
【００６７】
次に、復号化部について説明する。図１４は、符号化／復号化部５の中の復号化部の構成について示すブロック図である。図１４において、復号化部５ｂは、符号化データ入力部３１と、復号化テーブル記憶部３３と、復号化部３４と、演算部３７とから構成されている。
【００６８】
図１４において図６と同じ構成については説明を省略する。復号化テーブル記憶部３３には、図１５の参照符号４０１で示す復号化テーブルが記憶されており、復号化部３４はこの復号化テーブル４０１に従って入力された符号化データＤｈｕｆをデータＤｉｍｇ’に復号化する。演算部３７は、復号化部３４において復号化されたデータＤｉｍｇ’をデータＤｉｍｇに変換する。
【００６９】
以下、復号化部５ｂにおける適応型可変長復号化方法について図１６を参照して説明する。ここで、以下の説明においては、第１の実施形態と同様にＮ＝１、Ｍ＝１６であるとして説明する。
【００７０】
まず、符号化データ入力部３１を介して記録媒体６から符号化データＤｈｕｆが取得される（ステップＳ４１）。ここで取得された符号化データＤｈｕｆが復号化部３４に入力される。復号化部３４においては、復号化テーブル４０１が参照されて符号化データＤｈｕｆの復号化が行われ、データＤｉｍｇ’が生成される（ステップＳ４２）。
【００７１】
次に、データＤｉｍｇとデータＤｉｍｇ’とが演算部３７に入力される。演算部３７においては、データＤｉｍｇ’の変換が行われる（ステップＳ４３）。
【００７２】
ステップＳ４３のデータＤｉｍｇ’の変換演算について説明する。この演算は、入力されたデータＤｉｍｇ’の値によって異なる演算が行われる。
【００７３】
まず、データＤｉｍｇ’が、Ｄｉｍｇ’＜２×Ｄ１ｓｔかつＤｉｍｇ’ｍｏｄ２＝０の場合には、
Ｄｉｍｇ＝Ｄ１ｓｔ＋Ｄｉｍｇ’／２
の演算を行う。例えば、入力されたデータＤｉｍｇ’＝０の場合には、Ｄｉｍｇ＝５＋（０／２）＝５となる。
【００７４】
また、データＤｉｍｇ’が、Ｄｉｍｇ’＜２×Ｄ１ｓｔかつＤｉｍｇ’ｍｏｄ２＝１の場合には、
Ｄｉｍｇ＝Ｄ１ｓｔ−（Ｄｉｍｇ’＋１）／２
の演算を行う。例えば、入力されたデータＤｉｍｇ’＝１の場合には、Ｄｉｍｇ＝５−（２／２）＝４となる。
【００７５】
また、データＤｉｍｇ’が、２×Ｄ１ｓｔ≦Ｄｉｍｇ’の場合には、
Ｄｉｍｇ＝Ｄｉｍｇ’
とする。
【００７６】
以上のような演算によってＤｉｍｇ’を変換すると、図１５の参照符号４０２で示すデータＤｉｍｇ’がそれぞれ図１５の参照符号４０３で示すデータＤｉｍｇに変換される。このようにして変換されたＤｉｍｇが外部に出力される。
【００７７】
なお、第２の実施形態では符号化によって生成される符号化データに順位情報を埋め込むようにしているが、図１７に示すように、復号化部５ｂにカウント部３５と順位検索部３６とを設けるようにすれば、符号化データに順位情報を埋め込む必要はない。この場合の復号化処理を図１８に示す。
【００７８】
図１８のステップＳ５１のデータ取得の処理は図１６のステップＳ４１と同様であり、ステップＳ５２の復号化処理は図１６のステップＳ４２と同様の処理であり、ステップＳ５３のデータ変換演算の処理は図１６のステップＳ４３と同様の処理であるので説明を省略する。
【００７９】
ステップＳ５３のデータ変換演算処理によってデータＤｉｍｇが生成されると、このデータＤｉｍｇが外部に出力されると共に、カウント部３５に入力される。カウント部３５においては、データＤｉｍｇの発生頻度がカウントされる（ステップＳ５４）。ステップＳ５４の処理の後、順位検索部３６において、カウント部３５でカウントされたデータの発生頻度が１位のデータに関する順位情報Ｄ１ｓｔが求められる（ステップＳ５５）。次に、ここで求められた順位情報Ｄ１ｓｔが、演算部３７に入力される（ステップＳ５６）。その後、次の符号化データＤｈｕｆが入力されるまで待機する。
【００８０】
以上説明したような第２の実施形態においても、符号化や復号化の際に、すべてのデータに対する順位情報を求める必要がないので、順位比較などの処理の際の処理量を減らすことができる。
【００８１】
以上実施形態に基づいて本発明を説明したが、本発明は上記した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。
【００８２】
例えば、上記した各実施形態における適応型可変長符号化方法及び適応型可変長復号化方法の処理は、図１の符号化／復号化部５におけるハードウェア的な処理で実行するものに限るものではなく、制御部９のＣＰＵにおけるソフトウェア的な処理で実行するようにしても良い。
【００８３】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【図面の簡単な説明】
【００８４】
【図１】本発明の第１の実施形態に係る適応型可変長符号化装置及び適応型可変長復号化装置を搭載した電子カメラの構成について示す図である。
【図２】第１の実施形態における符号化部の構成について示す図である。
【図３】第１の実施形態における符号化テーブルの例について示す図である。
【図４】第１の実施形態における適応型可変長符号化方法について示すフローチャートである。
【図５】順位情報埋め込みの例について示す図である。
【図６】第１の実施形態における復号化部の構成の第１の例について示す図である。
【図７】第１の実施形態における復号化テーブルの例について示す図である。
【図８】第１の実施形態における適応型可変長復号化方法の第１の例について示すフローチャートである。
【図９】第１の実施形態における復号化部の構成の第２の例について示す図である。
【図１０】第１の実施形態における適応型可変長復号化方法の第２の例について示すフローチャートである。
【図１１】第２の実施形態における符号化部の構成について示す図である。
【図１２】第２の実施形態における適応型可変長符号化方法について示すフローチャートである。
【図１３】第２の実施形態における符号化テーブルの例について示す図である。
【図１４】第２の実施形態における復号化部の構成の第１の例について示す図である。
【図１５】第２の実施形態における復号化テーブルの例について示す図である。
【図１６】第２の実施形態における適応型可変長復号化方法の第１の例について示すフローチャートである。
【図１７】第２の実施形態における復号化部の構成の第２の例について示す図である。
【図１８】第２の実施形態における適応型可変長復号化方法の第２の例について示すフローチャートである。
【符号の説明】
【００８５】
１…カメラ、２…光学系、３…撮像部、４…信号処理部、５…符号化／復号化部、６…記録媒体、７…表示制御部、８…ディスプレイ、９…制御部、１０…レリーズスイッチ、１１…操作スイッチ、２１…メモリ、２２，３５…カウント部、２３，３６…順位検索部、２４…符号化テーブル更新部、２５…符号化テーブル記憶部、２６…符号化部、２７…順位情報埋め込み部、２８，３７…演算部、３１…符号化データ入力部、３２…復号化テーブル更新部、３３…復号化テーブル記憶部、３４…復号化部
【図１】
2006033508.tif 000003
【図２】
2006033508.tif 000004
【図３】
2006033508.tif 000005
【図４】
2006033508.tif 000006
【図５】
2006033508.tif 000007
【図６】
2006033508.tif 000008
【図７】
2006033508.tif 000009
【図８】
2006033508.tif 000010
【図９】
2006033508.tif 000011
【図１０】
2006033508.tif 000012
【図１１】
2006033508.tif 000013
【図１２】
2006033508.tif 000014
【図１３】
2006033508.tif 000015
【図１４】
2006033508.tif 000016
【図１５】
2006033508.tif 000017
【図１６】
2006033508.tif 000018
【図１７】
2006033508.tif 000019
【図１８】
2006033508.tif 000020