特許第6821184号(P6821184)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社シキノハイテックの特許一覧

<>
  • 特許6821184-画像復号化装置 図000002
  • 特許6821184-画像復号化装置 図000003
  • 特許6821184-画像復号化装置 図000004
  • 特許6821184-画像復号化装置 図000005
  • 特許6821184-画像復号化装置 図000006
  • 特許6821184-画像復号化装置 図000007
  • 特許6821184-画像復号化装置 図000008
  • 特許6821184-画像復号化装置 図000009
  • 特許6821184-画像復号化装置 図000010
  • 特許6821184-画像復号化装置 図000011
  • 特許6821184-画像復号化装置 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6821184
(24)【登録日】2021年1月8日
(45)【発行日】2021年1月27日
(54)【発明の名称】画像復号化装置
(51)【国際特許分類】
   H04N 1/41 20060101AFI20210114BHJP
   H03M 7/40 20060101ALI20210114BHJP
   H03M 7/46 20060101ALI20210114BHJP
   H04N 19/91 20140101ALI20210114BHJP
【FI】
   H04N1/41
   H03M7/40
   H03M7/46
   H04N19/91
【請求項の数】2
【全頁数】19
(21)【出願番号】特願2017-35769(P2017-35769)
(22)【出願日】2017年2月28日
(65)【公開番号】特開2018-142843(P2018-142843A)
(43)【公開日】2018年9月13日
【審査請求日】2020年1月29日
(73)【特許権者】
【識別番号】392016432
【氏名又は名称】株式会社シキノハイテック
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】古谷 晃一
(72)【発明者】
【氏名】柴田 真吾
【審査官】 松永 隆志
(56)【参考文献】
【文献】 特開2011-114525(JP,A)
【文献】 特開2002-237754(JP,A)
【文献】 特開2004-179752(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00− 1/64
H04N 19/00−19/98
H03M 7/40
H03M 7/46
(57)【特許請求の範囲】
【請求項1】
ハフマン符号化処理により圧縮された圧縮画像データであって、ゼロラン情報及びグループ番号情報を符号化したハフマン符号、並びにこれに続く付加ビットを単位とする可変長符号データが連続的に繋がった構造の圧縮画像データを復号化するハフマン復号化部を備え、
前記ハフマン復号化部は、順次入力される前記可変長符号データを解析し、該可変長符号データに係るゼロラン情報及びグループ番号情報を順次認識して出力する符号解析部と、前記符号解析部から順次出力される前記ゼロラン情報及びグループ番号情報を基に、係数情報を順次生成して出力する周波数変換部とを備えて構成される画像復号化装置において、
前記符号解析部は、
複数の可変長符号データを一括して入力する入力制御部と、
入力された最初の可変長符号データについて制限を加えることなく処理して、そのゼロラン情報、グループ番号情報及び付加ビット情報を認識し、認識したゼロラン情報及び付加ビット情報を前記周波数変換部に出力する1次解析処理部と、
前記1次解析処理部によって処理された可変長符号データに続く1以上の可変長符号データを処理し、該可変長符号データが予め定めた処理対象の可変長符号データの場合には、当該可変長符号データに係るゼロラン情報、グループ番号情報及び付加ビット情報を認識し、認識したゼロラン情報及び付加ビット情報を前記周波数変換部に出力する処理を行う一方、該可変長符号データが処理対象の可変長符号データで無い場合には、該可変長符号データ以降のデータを破棄する処理を行い、ついで、認識処理を完了した可変長符号データ以降のデータを入力するための信号を前記入力制御部に送信する継続解析処理部とを備えて構成されることを特徴とする画像復号化装置。
【請求項2】
前記継続解析処理部は、複数の可変長符号データを順次処理するように構成されるとともに、後続の可変長符号データほど、前記処理対象の可変長符号データが制限されるように構成されていることを特徴とする請求項1記載の画像復号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ハフマン符号を用いて圧縮した画像データ(符号データ)を復号化する画像復号化装置に関する。
【背景技術】
【0002】
従来より、写真などの画像を取り扱う分野では、通信における負担等の軽減を目的として、原データである画像データをJPEG(Joint Photographic Experts Group)規格に従って圧縮し、符号化する画像符号化装置と、符号化した圧縮画像データを伸長して元の画像に復元する画像復号化装置が用いられている。
【0003】
一般的に、前記画像符号化装置は、DCT部、量子化部、ジグザグスキャン部及びハフマン符号化部を備えて構成される。前記DCT部は、RGBの色データからYUVの輝度色差データに変換された画像データを8×8画素のブロックに分割し、分割した各ブロックについて、各画素に対応する画像データをそれぞれ周波数成分(DCT(Discrete Cosine Transform)係数と呼ばれる)に変換して、1個のDC(Direct Current)係数と63個のAC(Alternating Current)係数からなる係数データを生成する処理を行う。
【0004】
また、前記量子化部は、前記DCT部によってブロック毎に生成された8×8の各係数データ(数値)を、予め用意された量子化テーブル(8×8の数値)の対応した各数値によりそれぞれ除算して量子化する処理を行う。また、前記ジグザグスキャン部は、前記量子化部において、ブロック毎に量子化された8×8個の係数データを、DC係数からAC係数に亘ってジグザグにスキャンすることにより直線状に並べた(即ち、1次元に配列した)64個の係数データを生成する処理を行い、前記ハフマン符号化部は、前記ジグザグスキャン部によって1次元に配列されたブロック毎の各係数データを、ハフマン符号を用いて符号化した符号データを生成して出力する処理を行う。
【0005】
この画像符号化装置によって生成される一般的な符号データ(JPEGストリーム)のデータ構造を図7に示す。図7に示すように、この符号データは、各種マーカから構成される前部マーカ群と、符号化された圧縮画像データと、符号データの末尾を定義するEOI(End Of Image)マーカとを順次配置した構造を有する。
【0006】
前記前部マーカ群には、符号データの先頭を定義するSOI(Start Of Image)マーカ、前記量子化テーブルを定義するDQT(Define Quantization Table)マーカ、フレームの開始を定義するとともに画像サイズを定義するSOF(Start Of Frame)マーカ、ハフマン符号テーブルを定義するDHT(Define Huffman Table)マーカ、及び以降に圧縮画像データが存在することを定義するSOS(Start Of Scan)マーカが含まれる。
【0007】
また、圧縮画像データは、前記ブロック毎の各係数データを、ゼロラン情報及びグループ番号情報を符号化したハフマン符号、並びにこれに続く係数値を表す付加ビットを一単位とする可変長符号によって表したものであり、この可変長符号データが連続的に繋がった構造を有する。
【0008】
一方、図8に示すように、画像復号化装置100は、ハフマン復号化部110、逆ジグザグスキャン部130、逆量子化部140及びIDCT部150から構成される(下記特許文献1参照)。そして、前記ハフマン復号化部110は、一般的には、図9に示すように、符号入力部111、内部バッファ112、前部マーカ解析部113、最終マーカ解析部114、符号解析部115及び周波数変換部125から構成される。
【0009】
前記符号入力部111は、外部から入力される前記符号データを受信して前記内部バッファ112に格納する処理を行い、内部バッファ112から前部マーカ解析部113、最終マーカ解析部114及び符号解析部115にそれぞれ符号データが送信される。そして、前部マーカ解析部113は、符号データに含まれる前部マーカ群を抽出し、抽出した前部マーカ群を前記逆ジグザグスキャン部130に送信し、前記最終マーカ解析部114は、前記内部バッファ112から送信される符号データ中のEOIマーカを検出して、その検出信号を前記逆ジグザグスキャン部130に送信する処理を行う。
【0010】
前記符号解析部115は、図10に示すように、入力制御部116、符号語検出部117、ゼロラン数/グループ番号認識部118及び付加ビット出力部119から構成される。
【0011】
前記入力制御部116は、前記内部バッファ112から入力する符号データの当該入力を制御する。具体的には、入力制御部116は、前記マーカに係るデータについては、順次これを入力し、SOSマーカ以降の可変長符号データについては、1単位である可変長符号データが採り得る最大のデータ量を少し超えるデータ量を入力し、また、前記符号語検出部117、ゼロラン数/グループ番号認識部118及び付加ビット出力部119で処理された可変長符号データのビット長に応じたシフト信号を前記内部バッファ112に送信する。
【0012】
これにより、前記内部バッファ112では、記憶したデータの内、その先頭から、受信したシフト信号に応じたビット長分のデータ(処理済みの可変長符号データ)を削除して、次の可変長符号データを先頭側にシフトすることでその頭出しを行う。尚、内部バッファ112は複数の可変長符号データを記憶することができる十分な記憶容量を有しており、処理済みの可変長符号データを削除して、次の可変長符号データの頭出しを行うと、内部バッファ112には、後続の符号データが前記符号入力部111の制御の下で、順次外部から入力される。
【0013】
前記符号語検出部117は、入力される前部マーカ群の内、DHTマーカから認識されるハフマン符号テーブルに基づき、各可変長符号データについて、符号語、即ちハフマン符号に係るデータを認識(検出)して、認識したハフマン符号データ及び当該可変長符号データを前記ゼロラン数/グループ番号認識部118に送信する処理を行う。
【0014】
前記ゼロラン数/グループ番号認識部118は、符号語検出部117によって検出されたハフマン符号データを基に、当該ハフマン符号によって定義されたゼロラン数及びグループ番号を認識し、認識したゼロラン数及びグループ番号、並びに当該可変長符号データを前記付加ビット出力部119に出力する。
【0015】
前記付加ビット出力部119は、前記ゼロラン数/グループ番号認識部118から受信したグループ番号に係るデータを基に、当該グループ番号に対応した付加ビット長を認識し、入力された可変長符号データからハフマン符号データ以降の、当該付加ビット長に対応したデータを付加ビットとして認識し、前記ゼロラン数に係るデータ、及び認識した付加ビットに係るデータを前記周波数変換部125に出力する処理を行う。
【0016】
また、付加ビット出力部119は、処理した可変長符号データのビット長、即ち、前記符号語検出部117によって検出されたハフマン符号のビット長に付加ビット長を加えたビット長に係る信号を前記入力制御部116に送信し、入力制御部116は、上述したように、可変長符号データのビット長に応じたシフト信号を前記内部バッファ112に送信する。
【0017】
また、前記周波数変換部125では、前記符号解析部115から送信されるゼロラン数に係るデータ及び付加ビットを基に、ブロック毎に、1次元配列の量子化された係数データ(DCT係数データ)を復元して、前記逆ジグザグスキャン部130に送信する。
【0018】
斯くして、このハフマン復号化部110では、符号データ中に含まれる前部マーカ群のマーカ情報が前記マーカ解析部113により解析されて前記逆ジグザグスキャン部130に送信され、ついで、符号解析部115及び周波数変換部125により、圧縮画像データから1次元配列の係数データがブロック毎に復元されて前記逆ジグザグスキャン部130に送信され、全ての符号データが処理されてEOIマーカが前記最終マーカ解析部114によって検出されると、EOIマーカのマーカ情報が最終マーカ解析部114から前記逆ジグザグスキャン部130に送信される。
【0019】
また、前記逆ジグザグスキャン部130は、前記ハフマン復号化部110により復号された係数データに対して上記ジグザグスキャンとは逆処理を行うことによって、1次元配列の係数データを8×8の2次元配列の係数データに変換する処理を行う。そして、前記逆量子化部140は、前記逆ジグザグスキャン部130から出力され、送信される8×8の各係数データを、同じく前記逆ジグザグスキャン部130から送信されるDQTマーカによって定義される量子化テーブルの対応した各数値でそれぞれ乗算することによって量子化前の係数データに変換する処理を行い、前記IDCT(Inverse Discrete Cosine Transform)部150は、前記逆量子化部140によって変換された係数データを8×8画素のYUV輝度色差データに変換する処理を行い、このYUV輝度色差データは最終的にRGB色データに変換される。
【先行技術文献】
【特許文献】
【0020】
【特許文献1】特開平7−99579号公報
【発明の概要】
【発明が解決しようとする課題】
【0021】
ところで、図11に示すように、ゼロラン数及びグループ番号を定義するためのハフマン符号は、DC係数については、グループ番号が0〜Bの12個、AC係数については、ゼロラン数が0〜Fの16個とグループ番号が1〜Aの10個との組み合わせに、ゼロラン数が0でグループ番号が0、及びゼロラン数がFでグループ番号が0の組み合わせを加えて162個、合計で174個が必要となる。
【0022】
したがって、上述した従来の画像復号化装置100の前記符号語検出部117では、可変長符号データからハフマン符号データを検出する際に、可変長符号データの先頭から順に位置するデータ群と174通りのハフマン符号データとを順次比較して、ハフマン符号データと一致したデータ群を検出する一致検出処理を174回繰り返して実行するようにしていた。
【0023】
ところが、本発明者等の知見によると、一般的な圧縮率で画像データを圧縮した場合に、8×8画素のブロック単位で係数データを符号化したハフマン符号の出現頻度は、全てのハフマン符号において均等ではなく、或る複数のハフマン符号の出現頻度が高いものとなっている。
【0024】
したがって、所定の出現頻度の高いハフマン符号について、前記一致検出処理を行えば、短い検出処理時間により、しかもかなりの高い確率で、可変長符号データ中のハフマン符号データを検出することができ、このような処理を採用することで、前記符号語検出部116における処理時間の短縮化を図ることができる。
【0025】
また、前記画像復号化装置100を電子回路によって実現する場合、前記ハフマン復号化部110の符号解析部115における処理は、1クロック内で実現される必要があるが、前記符号解析部115における処理は、十分余裕をもって1クロック内で実行可能であった。したがって、この意味においても、従来、前記符号解析部115における処理時間の短縮化が可能であった。
【0026】
本発明は、以上の実情に鑑みなされたものであって、ハフマン復号化部における処理時間の短縮化を図ることで、全体としての復号時間を短縮することができる画像復号化装置の提供を、その目的とする
【課題を解決するための手段】
【0027】
上記課題を解決するための本発明は、
ハフマン符号化処理により圧縮された圧縮画像データであって、ゼロラン情報及びグループ番号情報を符号化したハフマン符号、並びにこれに続く付加ビットを単位とする可変長符号データが連続的に繋がった構造の圧縮画像データを復号化するハフマン復号化部を備え、
前記ハフマン復号化部は、順次入力される前記可変長符号データを解析し、該可変長符号データに係るゼロラン情報及びグループ番号情報を順次認識して出力する符号解析部と、前記符号解析部から順次出力される前記ゼロラン情報及びグループ番号情報を基に、係数情報を順次生成して出力する周波数変換部とを備えて構成される画像復号化装置において、
前記符号解析部は、
複数の可変長符号データを一括して入力する入力制御部と、
入力された最初の可変長符号データについて制限を加えることなく処理して、そのゼロラン情報、グループ番号情報及び付加ビット情報を認識し、認識したゼロラン情報及び付加ビット情報を前記周波数変換部に出力する1次解析処理部と、
前記1次解析処理部によって処理された可変長符号データに続く1以上の可変長符号データを処理し、該可変長符号データが予め定めた処理対象の可変長符号データの場合には、当該可変長符号データに係るゼロラン情報、グループ番号情報及び付加ビット情報を認識し、認識したゼロラン情報及び付加ビット情報を前記周波数変換部に出力する処理を行う一方、該可変長符号データが処理対象の可変長符号データで無い場合には、該可変長符号データ以降のデータを破棄する処理を行い、ついで、認識処理を完了した可変長符号データ以降のデータを入力するための信号を前記入力制御部に送信する継続解析処理部とを備えた画像復号化装置に係る。
【0028】
この画像復号化装置によれば、前記入力制御部により、複数の可変長符号データが一括して入力され、まず、入力された最初の可変長符号データについて、前記1次解析処理部において、特に制限を加えることなく処理されて、そのゼロラン情報、グループ番号情報及び付加ビット情報が認識され、認識されたゼロラン情報及び付加ビット情報が前記周波数変換部に出力される。
【0029】
具体的には、前記1次解析処理部は、上述したDC係数データについて設定される12通りのハフマン符号、及びAC係数について設定される162通りのハフマン符号の合計174通りのハフマン符号について、入力された最初の可変長符号データ中に存在する符号データが、どのハフマン符号に一致するかを検出して、当該可変長符号データ中に存在するハフマン符号(符号語)を認識する。
【0030】
そして、1次解析処理部は、認識されたハフマン符号から、これに対応したゼロラン数及びグループ番号(DC係数の場合にはグループ番号のみ)を認識するとともに、認識されたクループ番号から付加ビット長を認識した後、この付加ビット長から当該可変長符号データ中の付加ビットを認識し、認識されたゼロラン数及び付加ビットに係る各情報を前記周波数変換部に出力する。
【0031】
次に、継続解析処理部により、前記1次解析処理部によって処理された可変長符号データに続く1以上の可変長符号データが処理され、可変長符号データが予め定められた処理対象の可変長符号データの場合には、当該可変長符号データに係るゼロラン情報、グループ番号情報及び付加ビット情報が順次認識され、認識されたゼロラン情報及び付加ビット情報が前記周波数変換部に出力され、一方、可変長符号データが処理対象の可変長符号データで無い場合には、当該可変長符号データ以降のデータが破棄される。
【0032】
そして、これらの処理を実行した後、継続解析処理部は、認識処理を完了した可変長符号データ以降のデータを入力するための信号を、前記入力制御部に送信する処理を行う。
【0033】
ここで、この継続解析処理部において処理対象となる可変長符号データは、予め経験的に設定される。上述したように、一般的な圧縮率で画像データを圧縮した場合に、8×8画素のブロック単位で係数データを符号化したハフマン符号の出現頻度は、全てのハフマン符号において均等ではなく、或る複数のハフマン符号の出現頻度が高いものとなっている。
【0034】
したがって、継続解析処理部において処理対象となる可能性が高い可変長符号データは、上記のような出現頻度の高いハフマン符号に係る可変長符号データである。そこで、この継続解析処理部では、このような出現頻度の高いものから選定されたハフマン符号、即ちゼロラン情報及びグループ番号情報に係る可変長符号データのみを処理するようにした。
【0035】
このようにすることで、可変長符号データ中に存在するハフマン符号の検出処理を短時間で行うことができる。即ち、上述したように全て可変長符号データを処理対象にすると、ハフマン符号を検出するために174通りの一致検出処理を行う必要があるが、処理対象を特定の出現頻度の高いハフマン符号に係る可変長符号データに絞ることで、ハフマン符号を検出するための一致検出処理に係る時間を短縮することができ、処理に無駄を生じさせることなく、当該処理のために必要な時間を短縮することができる。
【0036】
また、当該継続解析処理部における処理対象ではない可変長符号データについては、再度、1次解析処理部において確実に処理されるので、当該圧縮画像データを確実に復号化することを担保しつつ、その処理時間の短縮化を図ることができる。
【0037】
以後上記と同様にして、一纏まりの圧縮画像データの処理を終えるまで、前記入力制御部による入力処理、前記1次解析処理部及び継続解析処理部による処理が繰り返して実行される。
【0038】
そして、前記周波数変換部では、前記符号解析部から順次出力される前記ゼロラン情報及び付加ビット情報を基に係数情報が順次生成される。
【0039】
尚、本発明における前記継続解析処理部は、複数の可変長符号データを順次処理するように構成されるとともに、後続の可変長符号データほど、前記処理対象の可変長符号データが制限されるように、言い換えれば、処理対象の可変長符号データを徐々に段階的に絞るように構成されていても良い。
【0040】
前記画像復号化装置は一般的に電子回路から構成され、この場合には、前記符号解析部を構成する入力制御部、1次解析処理部及び継続解析処理部の一連の処理を1クロック内で完了する必要があるが、継続解析処理部における前記一致検出処理に要する時間を徐々に短くすれば、1クロック内で処理できる可変長符号データの数を増やすことができ、処理時間の短縮化を図ることができる。
【発明の効果】
【0041】
以上のように本発明によれば、継続解析処理部において、その処理対象を特定の出現頻度の高いハフマン符号に係る可変長符号データに絞ることができるので、ハフマン符号を検出するための一致検出時間を短縮することができ、処理の無駄を生じることなく、当該処理のために必要な時間を短縮することができる。
【0042】
また、継続解析処理部における処理対象ではない可変長符号データについては、再度、1次解析処理部において確実に処理されるので、当該圧縮画像データを確実に復号化することを担保しつつ、その処理時間の短縮化を図ることができる。
【図面の簡単な説明】
【0043】
図1】本発明の一実施形態に係る画像復号化装置の概略構成を示したブロック図である。
図2】本実施形態に係るハフマン復号化部の構成を示したブロック図である。
図3】本実施形態に係る符号解析部の構成を示したブロック図である。
図4】本実施形態に係る符号解析部における処理を説明するための説明図である。
図5】画像データを圧縮した場合に出現するゼロラン数及びグループ番号の出現頻度を示した説明図である。
図6】本実施形態に係る符号解析部における処理を説明するための説明図である。
図7】画像符号化装置によって生成される符号データの構造を示した説明図である。
図8】従来の画像復号化装置の概略構成を示したブロック図である。
図9】従来のハフマン復号化部の構成を示したブロック図である。
図10】従来の符号解析部の構成を示したブロック図である。
図11】従来の符号解析部における処理を説明するための説明図である。
【発明を実施するための形態】
【0044】
以下、本発明の具体的な実施の形態について、図面を参照しながら説明する。図1は、本実施形態に係る画像復号化装置の概略構成を示したブロック図である。同図1に示すように、本例の画像復号化装置1は、上述した、図8に示した従来の画像復号化装置100とハフマン復号化部10の構成が異なるのみであり、逆ジグザグスキャン部130、逆量子化部140及びIDCT部150については、従来の画像復号化装置100と同じ構成である。したがって、図1において、同じ構成部分については同じ符号を付すとともに、以下では、その詳しい説明を省略する。また、本例において取り扱われる符号データ(JPEGストリーム)は、図7に示した符号データと同様のデータ構造を備えている。
【0045】
また、図2に示すように、本例のハフマン復号化部10は、符号入力部111、内部バッファ112、前部マーカ解析部113、最終マーカ解析部114、符号解析部20及び周波数変換部125から構成されるが、符号入力部111、内部バッファ112、前部マーカ解析部113、最終マーカ解析部114及び周波数変換部125については、従来の画像復号化装置100におけるものと同じ構成であるので、同じ符号を付して、その詳しい説明を省略する。
【0046】
尚、本例の画像復号化装置1は、それぞれの処理を実行するための適宜電子回路を備えた電子ディバイスなどのハードウエアによって実現される。或いは、CPU、ROM、RAMなどを備えた汎用のコンピュータによって実現することができる。コンピュータによって実現する場合、前記符号入力部111、前部マーカ解析部113、最終マーカ解析部114、符号解析部20及び周波数変換部125や、ジグザグスキャン部130、逆量子化部140並びにIDCT部150は、それぞれコンピュータプログラムによってその機能が実現される。
【0047】
図3に示すように、前記符号解析部20は、入力制御部21、1次解析処理部31、2次解析処理部41、3次解析処理部51及び4次解析処理部61から構成され、これらの内、2次解析処理部41、3次解析処理部51及び4次解析処理部61が継続解析処理部を構成する。
【0048】
前記入力制御部21は、前記内部バッファ112から入力する符号データの当該入力を制御する。具体的には、入力制御部21は、前記マーカに係るデータについては、順次これを入力し、SOSマーカ以降の可変長符号データについては、1単位である可変長符号データが採り得る最大のデータ量を考慮し、少なくとも4つの可変長符号データが含まれる量のデータを入力する。また、前記1次解析処理部31、2次解析処理部41、3次解析処理部51及び4次解析処理部61で処理された可変長符号データのビット長に応じたシフト信号を前記内部バッファ112に送信する。
【0049】
また、前記1次解析処理部31は、符号語検出部32、ゼロラン数/グループ番号認識部33及び付加ビット出力部34から構成され、前記2次解析処理部41は、符号語検出部42、ゼロラン数/グループ番号認識部43及び付加ビット出力部44から構成される。また、前記3次解析処理部51は、符号語検出部52、ゼロラン数/グループ番号認識部53及び付加ビット出力部54から構成され、前記4次解析処理部61は、符号語検出部62、ゼロラン数/グループ番号認識部63及び付加ビット出力部64から構成される。以下各部について説明する。
【0050】
A.1次解析処理部31
前記符号語検出部32は、前記符号データ中の前記DHTマーカから認識されるハフマン符号テーブルに基づき、入力された1番目の可変長符号データについて、ハフマン符号(符号語)に係るデータ(以下、「ハフマン符号データ」という)を検出する処理を行う。
【0051】
その際、符号語検出部32は、図4に示すように、DC係数に関するグループ番号が0〜Bの12通り、並びにAC係数に関するゼロラン数が0〜Fの16個とグループ番号が1〜Aの10個との組み合わせに、ゼロラン数が0でグループ番号が0、及びゼロラン数がFでグループ番号が0の組み合わせを加えた162通りの、合計で174通りのハフマン符号についてその一致検出(認識)処理を実行して、1番目の可変長符号データに存在するハフマン符号データを認識する。
【0052】
そして、符号語検出部32は、検出されたハフマン符号データ、及び入力された複数の可変長符号データを前記ゼロラン数/グループ番号認識部33に送信する。
【0053】
前記ゼロラン数/グループ番号認識部33は、前記符号語検出部32から送信されたハフマン符号データからこれに対応したゼロラン数及びグループ番号を認識し、ついで認識されたグループ番号に対応した付加ビット長を認識し、認識したゼロラン数、グループ番号及び付加ビット長に係るデータ、並びに符号語検出部32から送信されたハフマン符号のビット長に係るデータ及び複数の可変長符号データを前記付加ビット出力部34に送信する処理を行う。
【0054】
前記付加ビット出力部34は、前記ゼロラン数/グループ番号認識部33から送信されたハフマン符号のビット長及び付加ビット長に係るデータに基づいて、1番目の可変長符号データから前記付加ビット長に応じた付加ビットに係るデータを抽出する。そして、付加ビット出力部34は、前記ゼロラン数/グループ番号認識部33から送信されたゼロラン数に係るデータ、及び抽出した付加ビットに係るデータを前記周波数変換部125に送信するとともに、1番目の可変長符号データのビット長に係るデータ、及び1番目の可変長符号データを削除した2番目以降の可変長符号データを前記符号語検出部42に送信する処理を行う。
【0055】
B.2次解析処理部41
前記符号語検出部42は、前記ハフマン符号テーブルに基づき、前記付加ビット出力部34から送信された2番目以降の可変長符号データの内、当該2番目の可変長符号データについて、ハフマン符号データの検出処理を行う。
【0056】
その際、符号語検出部42は、図4に示すように、AC係数に関するゼロラン数が0でグループ番号が0〜7、ゼロラン数が1でグループ番号が1〜3、ゼロラン数が2でグループ番号が1〜2、ゼロラン数が3でグループ番号が1〜2、ゼロラン数が4でグループ番号が1、ゼロラン数が5でグループ番号が1、ゼロラン数が6でグループ番号が1、ゼロラン数が7でグループ番号が1の合計で19通りのハフマン符号についてその一致検出処理を実行して、2番目の可変長符号データに存在するハフマン符号データを認識する。
【0057】
そして、符号語検出部42は、前記19通りの内のいずれかのハフマン符号データが検出された場合には、当該ハフマン符号データ及び入力された2番目以降の可変長符号データを前記ゼロラン数/グループ番号認識部43に送信する。一方、前記19通りの内のいずれのハフマン符号データも検出されなかった場合には、前記付加ビット出力部34から送信された1番目の可変長符号データのビット長に係るデータを前記入力制御部21に送信するとともに、入力された全てのデータを破棄する処理を行う。これにより、以降の処理が中止される。
【0058】
尚、入力制御部21は、1番目の可変長符号データのビット長に係るデータを受信すると、受信したビット長に係る信号をシフト信号として前記内部バッファ112に送信し、前記内部バッファ112では、記憶したデータの内、その先頭から、受信したシフト信号に応じたビット長分のデータ(処理済みの可変長符号データ)を削除することで、次の可変長符号データの頭出しを行う。
【0059】
前記ゼロラン数/グループ番号認識部43は、前記符号語検出部42から送信されたハフマン符号データからこれに対応したゼロラン数及びグループ番号を認識し、ついで認識されたグループ番号に対応した付加ビット長を認識し、認識したゼロラン数、グループ番号及び付加ビット長に係るデータ、並びに符号語検出42から送信されたハフマン符号のビット長に係るデータ及び2番目以降の可変長符号データを前記付加ビット出力部44に送信する。
【0060】
前記付加ビット出力部44は、前記ゼロラン数/グループ番号認識部43から送信されたハフマン符号のビット長及び付加ビット長に係るデータに基づいて、2番目の可変長符号データから前記付加ビット長に応じた付加ビットに係るデータを抽出する。そして、付加ビット出力部44は、前記ゼロラン数/グループ番号認識部43から送信されたゼロラン数に係るデータ、及び抽出した付加ビットに係るデータを前記周波数変換部125に送信するとともに、1番目及び2番目の可変長符号データの総ビット長に係るデータ、及び2番目の可変長符号データを削除した3番目以降の可変長符号データを前記符号語検出部52に送信する。
【0061】
C.3次解析処理部51
前記符号語検出部52は、前記ハフマン符号テーブルに基づき、前記付加ビット出力部44から送信された3番目以降の可変長符号データの内、当該3番目の可変長符号データについて、ハフマン符号データの検出処理を行う。
【0062】
その際、符号語検出部52は、図4に示すように、AC係数に関するゼロラン数が0でグループ番号が0〜7、ゼロラン数が1でグループ番号が1〜2、ゼロラン数が2でグループ番号が1、ゼロラン数が3でグループ番号が1、ゼロラン数が4でグループ番号が1の合計で13通りのハフマン符号についてその一致検出処理を実行し、3番目の可変長符号データに存在するハフマン符号データを認識する。
【0063】
そして、符号語検出部52は、前記13通りの内のいずれかのハフマン符号データが検出された場合には、当該ハフマン符号データ及び入力された3番目以降の可変長符号データを前記ゼロラン数/グループ番号認識部53に送信する。一方、前記13通りの内のいずれのハフマン符号データも検出されなかった場合には、前記付加ビット出力部44から送信された1番目及び2番目の可変長符号データの総ビット長に係るデータを前記入力制御部21に送信するとともに、入力された全てのデータを破棄する処理を行う。これにより、以降の処理が中止される。
【0064】
そして、入力制御部21は、1番目及び2番目の可変長符号データの総ビット長に係るデータを受信すると、受信したビット長に係る信号をシフト信号として前記内部バッファ112に送信し、前記内部バッファ112では、記憶したデータの内、その先頭から、受信したシフト信号に応じたビット長分のデータを削除することで、次の可変長符号データの頭出しを行う。
【0065】
また、前記ゼロラン数/グループ番号認識部53は、前記符号語検出部52から送信されたハフマン符号データからこれに対応したゼロラン数及びグループ番号を認識し、ついで認識されたグループ番号に対応した付加ビット長を認識し、認識したゼロラン数、グループ番号及び付加ビット長に係るデータ、並びに符号語検出52から送信されたハフマン符号のビット長に係るデータ及び3番目以降の可変長符号データを前記付加ビット出力部54に送信する。
【0066】
前記付加ビット出力部54は、前記ゼロラン数/グループ番号認識部53から送信されたハフマン符号のビット長に係るデータ及び付加ビット長に係るデータに基づいて、3番目の可変長符号データから前記付加ビット長に応じた付加ビットに係るデータを抽出する。そして、付加ビット出力部54は、前記ゼロラン数/グループ番号認識部53から送信されたゼロラン数に係るデータ、及び抽出した付加ビットに係るデータを前記周波数変換部125に送信するとともに、1番目〜3番目の各可変長符号データの総ビット長に係るデータ、及び3番目の可変長符号データを削除した4番目以降の可変長符号データを前記符号語検出部62に送信する。
【0067】
D.4次解析処理部61
前記符号語検出部62は、前記ハフマン符号テーブルに基づき、前記付加ビット出力部64から送信された4番目以降の可変長符号データの内、当該4番目の可変長符号データについて、ハフマン符号データの検出処理を行う。
【0068】
その際、符号語検出部62は、図4に示すように、AC係数に関するゼロラン数が0でグループ番号が0〜7、ゼロラン数が1でグループ番号が1〜2、ゼロラン数が2でグループ番号が1の合計で11通りのハフマン符号についてその一致検出処理を実行し、4番目の可変長符号データに存在するハフマン符号データを認識する。
【0069】
そして、符号語検出部62は、前記11通りの内のいずれかのハフマン符号データが検出された場合には、当該ハフマン符号データ及び入力された4番目以降の可変長符号データを前記ゼロラン数/グループ番号認識部63に送信する。一方、前記11通りの内のいずれのハフマン符号データも検出されなかった場合には、前記付加ビット出力部54から送信された1番目〜3番目の可変長符号データの総ビット長に係るデータを前記入力制御部21に送信するとともに、入力された全てのデータを破棄する処理を行う。これにより、以降の処理が中止される。
【0070】
そして、入力制御部21は、1番目〜3番目の可変長符号データの総ビット長に係るデータを受信すると、受信したビット長に係る信号をシフト信号として前記内部バッファ112に送信し、前記内部バッファ112では、記憶したデータの内、その先頭から、受信したシフト信号に応じたビット長分のデータを削除することで、次の可変長符号データの頭出しを行う。
【0071】
また、前記ゼロラン数/グループ番号認識部63は、前記符号語検出部62から送信されたハフマン符号データからこれに対応したゼロラン数及びグループ番号を認識し、ついで認識されたグループ番号に対応した付加ビット長を認識し、認識したゼロラン数、グループ番号及び付加ビット長に係るデータ、並びに符号語検出62から送信されたハフマン符号のビット長に係るデータ及び4番目以降の可変長符号データを前記付加ビット出力部64に送信する。
【0072】
前記付加ビット出力部64は、前記ゼロラン数/グループ番号認識部63から送信されたハフマン符号のビット長に係るデータ及び付加ビット長に係るデータに基づいて、4番目の可変長符号データから前記付加ビット長に応じた付加ビットに係るデータを抽出する。そして、付加ビット出力部64は、前記ゼロラン数/グループ番号認識部63から送信されたゼロラン数に係るデータ、及び抽出した付加ビットに係るデータを前記周波数変換部125に送信し、1番目〜4番目の可変長符号データの総ビット長に係るデータを前記入力制御部21に送信するとともに、入力された全てのデータを破棄する処理を行う。
【0073】
尚、上述した符号語検出部42,52,62のそれぞれにおける検出対象としてのハフマン符号は予め経験的に設定されるものである。図5は、画像データを一般的な圧縮率である20%で圧縮したときに、出現するAC係数に係るゼロラン数及びグループ番号、言い換えれば、ハフマン符号の出現頻度を示したものである。同図5に示すように、ゼロラン数及びグループ番号の出現頻度は、全ての組み合わせにおいて均等ではなく、或る複数の組み合わせに係るゼロラン数及びグループ番号の出現頻度が高いものとなっている。
【0074】
具体的には、図5において太い実線で囲んだように、ゼロラン数が0の場合には、グループ番号が0〜7について出現頻度が高く、ゼロラン数が1の場合には、グループ番号が1〜3について出現頻度が高く、ゼロラン数が2及び3の場合には、それぞれグループ番号が1〜2について出現頻度が高く、ゼロラン数が4、5、6、7の場合には、それぞれグループ番号1について出現頻度が高い。
【0075】
したがって、前記2次解析処理部41、3次解析処理部51及び4次解析処理部61において処理対象となる可能性が高い可変長符号データは、上記のような出現頻度の高いハフマン符号に係る可変長符号データである。そこで、2次解析処理部41、3次解析処理部51及び4次解析処理部61では、このような出現頻度の高いものから選定されたハフマン符号、即ちゼロラン情報及びグループ番号情報に係る可変長符号データのみを処理するようにした。
【0076】
このようにすることで、可変長符号データ中に存在するハフマン符号の検出処理を短時間で行うことができる。即ち、上述したように全て可変長符号データを処理対象にすると、ハフマン符号を検出するために174通りの一致検出処理を行う必要があるが、処理対象を特定の出現頻度の高いハフマン符号に係る可変長符号データに絞ることで、ハフマン符号を検出するための一致検出時間を短縮することができるので、処理に無駄を生じさせることなく、当該処理のために必要な時間を短縮することができる。
【0077】
また、2次解析処理部41では19通りのハフマン符号データに係る可変長符号データを処理対象とし、3次解析処理部51では13通りのハフマン符号データに係る可変長符号データを処理対象とし、4次解析処理部61では11通りのハフマン符号データに係る可変長符号データを処理対象としており、徐々に段階的に処理対象を絞っているので、2次解析処理部41から4次解析処理部61に掛けて徐々に処理時間が短くなっている。本例の画像復号化装置1は一般的に電子回路から構成されるため、この場合には、符号解析部20の入力制御部21から付加ビット出力部64までの処理を、1クロック内で完了する必要がある。したがって、徐々に処理時間を短くすれば、1クロック内で処理できる可変長符号データの数を増やすことができ、処理時間の短縮化を図ることができる。
【0078】
また、2次解析処理部41〜4次解析処理部61において処理対象となっていない可変長符号データについては、再度、1次解析処理部31において確実に処理されるので、当該圧縮画像データを確実に復号化することを担保しつつ、その処理時間の短縮化を図ることができる。
【0079】
以上の構成を備えた本例の画像復号化装置1によれば、まず、前記入力制御部21の制御の下で、前記内部バッファ112から符号データが入力され、SOSマーカ以降の可変長符号データについては、少なくとも4つの可変長符号データが含まれる量のデータが一度に入力され、入力された可変長符号データが、まず、前記1次解析処理部31に送信されて処理される。
【0080】
即ち、1次解析処理部31では、符号語検出部32により、1番目の可変長符号データに関し、174通りのハフマン符号についてその検出処理が実行されて、当該1番目の可変長符号データ中に存在するハフマン符号データが認識される。ついで、認識されたハフマン符号データに対応するゼロラン数及びグループ番号、並びにグループ番号に対応した付加ビット長がゼロラン数/グループ番号認識部33によって認識される。そして、付加ビット出力部34において、この付加ビット長に係るデータを基に、1番目の可変長符号データから当該付加ビット長に応じた付加ビットに係るデータが抽出され、前記ゼロラン数に係るデータ、及び抽出された付加ビットに係るデータが当該付加ビット出力部34から前記周波数変換部125に送信され、また、2番目以降の可変長符号データが2次解析処理部41の符号語検出部42に送信される。
【0081】
次に、符号語検出部42では、2番目の可変長符号データに関し、上述した19通りのハフマン符号についてその検出処理が実行され、19通りのハフマン符号データの内いずれかが検出された場合には、次に認識されたハフマン符号データに対応するゼロラン数及びグループ番号、並びにグループ番号に対応した付加ビット長がゼロラン数/グループ番号認識部43によって認識される。そして、付加ビット出力部44において、この付加ビット長に係るデータを基に、2番目の可変長符号データから当該付加ビット長に応じた付加ビットに係るデータが抽出され、前記ゼロラン数に係るデータ、及び抽出された付加ビットに係るデータが周波数変換部125に送信され、また、3番目以降の可変長符号データが3次解析処理部51の符号語検出部52に送信される。
【0082】
一方、符号語検出部42において、19通りのハフマン符号データのいずれも検出されなかった場合には、付加ビット出力部34から送信される1番目の可変長符号データのビット長に係るデータが入力制御部21に送信されるとともに、以降の処理が中止される。そして、入力制御部21は、受信したビット長に係る信号をシフト信号として内部バッファ112に送信し、内部バッファ112では、受信したシフト信号に応じたビット長分のデータを削除することで、次の可変長符号データの頭出しが行なわれる。
【0083】
次に、符号語検出部52では、3番目の可変長符号データに関し、上述した13通りのハフマン符号についてその検出処理が実行され、13通りのハフマン符号データの内いずれかが検出された場合には、次に認識されたハフマン符号データに対応するゼロラン数及びグループ番号、並びにグループ番号に対応した付加ビット長がゼロラン数/グループ番号認識部53によって認識される。そして、付加ビット出力部54において、この付加ビット長に係るデータを基に、3番目の可変長符号データから当該付加ビット長に応じた付加ビットに係るデータが抽出され、前記ゼロラン数に係るデータ、及び抽出された付加ビットに係るデータが周波数変換部125に送信され、また、4番目以降の可変長符号データが4次解析処理部61の符号語検出部62に送信される。
【0084】
一方、符号語検出部52において、13通りのハフマン符号データのいずれも検出されなかった場合には、付加ビット出力部44から送信される1番目及び2番目の可変長符号データの総ビット長に係るデータが入力制御部21に送信されるとともに、以降の処理が中止される。そして、入力制御部21は、受信したビット長に係る信号をシフト信号として内部バッファ112に送信し、内部バッファ112では、受信したシフト信号に応じたビット長分のデータを削除することで、次の可変長符号データの頭出しが行なわれる。
【0085】
次に、符号語検出部62では、4番目の可変長符号データに関し、上述した11通りのハフマン符号についてその検出処理が実行され、11通りのハフマン符号データの内いずれかが検出された場合には、次に認識されたハフマン符号データに対応するゼロラン数及びグループ番号、並びにグループ番号に対応した付加ビット長がゼロラン数/グループ番号認識部63によって認識される。そして、付加ビット出力部64において、この付加ビット長に係るデータを基に、4番目の可変長符号データから当該付加ビット長に応じた付加ビットに係るデータが抽出され、前記ゼロラン数に係るデータ、及び抽出された付加ビットに係るデータが周波数変換部125に送信され、また、1番目〜4番目の可変長符号データの総ビット長に係るデータが前記入力制御部21に送信される。
【0086】
一方、符号語検出部62において、11通りのハフマン符号データのいずれも検出されなかった場合には、付加ビット出力部64から送信される1番目〜3番目の可変長符号データの総ビット長に係るデータが入力制御部21に送信されるとともに、以降の処理が中止される。
【0087】
そして、入力制御部21は、受信したビット長に係る信号をシフト信号として内部バッファ112に送信し、内部バッファ112では、受信したシフト信号に応じたビット長分のデータを削除することで、次の可変長符号データの頭出しが行なわれる。
【0088】
以上のようにして、一度に入力された少なくとも4つの可変長符号データが含まれるデータが処理されると、以後同様にして、一纏まりの圧縮画像データの処理を終えるまで、前記入力制御部21による入力処理、前記1次解析処理部31〜4次解析処理部61による処理が繰り返して実行される。
【0089】
斯くして、この画像復号化装置1によれば、上述したように、2次解析処理部41、3次解析処理部51及び4次解析処理部61において、出現頻度の高いものから選定されたハフマン符号、即ちゼロラン情報及びグループ番号情報に係る可変長符号データのみを処理するようにしたので、2次解析処理部41、3次解析処理部51及び4次解析処理部61におけるハフマン符号の検出処理を短時間で行うことができる。
【0090】
従来の画像復号化装置100の符号解析部115における処理を図6(a)に示し、本例の画像復号化装置1の符号解析部20における処理を図6(b)に示す。
【0091】
図6(a)に示すように、従来の画像復号化装置100の符号解析部115では、そのハフマン符号データの検出処理において、174通りの一致検出処理を行う必要があることから、当該検出処理に長時間を要していた。したがって、同図6(a)に示すように、符号語検出部117における処理(A)、ゼロラン数/グループ番号認識部118における処理(B)、付加ビット出力部119における処理(C)及び入力制御部116における処理(D)の一連の処理を1クロック内で処理できたとしても、相当な時間の残り時間が生じるような場合には、当該残り時間内で再度一連の処理を実行できなければ、この残り時間が全くの無駄時間となる。
【0092】
一方、本例の画像復号化装置1の符号解析部20では、図6(b)に示すように、1クロック内において、従来と同じく174通りのハフマン符号データの一致検出処理を行う1次解析処理の後に、これより格段に処理時間が短い2次解析処理〜4次解析処理を行うことができるので、1クロック内で4つの可変長符号データを処理することができ、画像復号化に係るハフマン復号化部10における処理を従来に比べて格段に短縮することができる。
【0093】
尚、一致検出処理の回数における単純な比較によれば、2次解析処理部41の符号語検出部42における処理Aの時間は、1次解析処理部31の符号語検出部32における処理A(従来の処理Aに等しい)の時間の11/100程度であり、3次解析処理部51の符号語検出部52における処理Aの時間は、処理Aの時間の7/100程度であり、4次解析処理部61の符号語検出部62における処理Aの時間は、処理Aの時間の6/10程度である。
【0094】
また、本例の符号解析部20では、処理対象の可変長符号データを2次解析処理部41から4次解析処理部61に掛けて徐々に段階的に絞っており、このようにすることで、2次解析処理部41から4次解析処理部61に掛けて徐々に処理時間を短くすることができるため、1クロック内で処理できる可変長符号データの数をより効果的に増やすことができ、更に処理時間の短縮化を図ることができる。尚、各処理時間の関係は、A>A>A>Aとなっている。
【0095】
また、2次解析処理部41〜4次解析処理部61において処理対象となっていない可変長符号データについては、再度、1次解析処理部31において確実に処理されるので、当該圧縮画像データを確実に復号化することを担保しつつ、その処理時間の短縮化を図ることができる。
【0096】
以上、本発明の一実施の形態について説明したが、本発明が採り得る具体的な態様は、何らこれに限定されるものではない。
【0097】
例えば、上例では、継続解析処理部を2次解析処理部41、3次解析処理部51、4次解析処理部61の3の処理部から構成したが、継続解析処理部を構成する解析処理部の数はこれに限られるものではなく、1以上の解析処理部から構成されていれば良い。要は、目的とする時間短縮が図れるような構成であれば良い。
【0098】
また、前記継続解析処理部(上例では2次解析処理部41、3次解析処理部51、4次解析処理部61)における処理対象の絞り込みは上例のものに限られるものではなく、目的とする時間短縮が図れるように適宜設定することができる。
【符号の説明】
【0099】
1 画像復号化装置
10 ハフマン復号化部
20 符号解析部
21 入力制御部
31 1次解析処理部
32 符号語検出部
33 ゼロラン数/グループ番号認識部
34 付加ビット出力部
41 2次解析処理部
42 符号語検出部
43 ゼロラン数/グループ番号認識部
44 付加ビット出力部
51 3次解析処理部
52 符号語検出部
53 ゼロラン数/グループ番号認識部
54 付加ビット出力部
61 4次解析処理部
62 符号語検出部
63 ゼロラン数/グループ番号認識部
64 付加ビット出力部
111 符号入力部
112 内部バッファ
113 前部マーカ解析部
114 最終マーカ解析部
125 周波数変換部
130 逆ジグザグスキャン部
140 逆量子化部
150 IDCT部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11