JP5530198B2 - 画像符号化方法、復号化方法、装置 - Google Patents

画像符号化方法、復号化方法、装置 Download PDF

Info

Publication number
JP5530198B2
JP5530198B2 JP2010013659A JP2010013659A JP5530198B2 JP 5530198 B2 JP5530198 B2 JP 5530198B2 JP 2010013659 A JP2010013659 A JP 2010013659A JP 2010013659 A JP2010013659 A JP 2010013659A JP 5530198 B2 JP5530198 B2 JP 5530198B2
Authority
JP
Japan
Prior art keywords
quantization
bit
pixel
value
code
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
JP2010013659A
Other languages
English (en)
Other versions
JP2011130402A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010013659A priority Critical patent/JP5530198B2/ja
Priority to CN201080051980.8A priority patent/CN102754441B/zh
Priority to PCT/JP2010/005441 priority patent/WO2011061885A1/ja
Publication of JP2011130402A publication Critical patent/JP2011130402A/ja
Priority to US13/475,561 priority patent/US9106250B2/en
Application granted granted Critical
Publication of JP5530198B2 publication Critical patent/JP5530198B2/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/14Conversion to or from non-weighted codes
    • H03M7/16Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、デジタルスチルカメラやネットワークカメラ等のような、画像を扱う装置においての画像符号化・復号化方法に関する。より具体的には、本発明は、画像圧縮によるデータ転送の高速化やメモリの使用量削減を目的とした画像符号化・復号化方法とその装置に関するものである。
近年、デジタルスチルカメラやデジタルビデオカメラなどの撮像装置に用いられる撮像素子の高画素化に伴い、装置に搭載される集積回路が処理する画像データ量が増大している。多くの画像データ量の画像データを扱うには、集積回路内のデータ転送のバス幅を確保するために、動作周波数の高速化、メモリの大容量化等が考えられるが、これらはコストアップに直接繋がってしまう。
また、一般的にデジタルカメラやデジタルビデオカメラなどの撮像装置では、集積回路内での全ての画像処理を終えると、画像処理を終えた画像を、SDカード等の外部記録装置に記録する。そして、その記録の際には、その画像に圧縮処理を行い、非圧縮のときに比べてより大きな画像サイズ、多くの枚数の画像データを、同じ容量の外部記録装置に格納している。ここで、この圧縮処理には、JPEG、MPEGといった符号化方式が用いられている。
特許文献1では、画像データの圧縮処理を、撮像素子から入力される画素信号(RAWデータ)に対しても展開する(適用する)。特許文献1では、このことで、撮像素子の多画素化が進み、信号処理の負荷が増大する場合でも、メモリへの書き込みおよび読み出しの際に必要なバス帯域を削減し、高速操作を可能にすることを目的としている。また、バス帯域の保証と圧縮処理量の削減のため、固定長符号化方式を採用している。その実装方法については、任意の画像領域の画素データから、最大値と最小値を算出し、その画像領域内の局所的なダイナミックレンジを求める方法である。そして、その画像領域内の全ての画素のうちのそれぞれの画素から、算出された最小値を減算した値を、求められたダイナミックレンジに応じた量子化幅で各々量子化することで、その画像データの固定長符号化を行っている。
また、特許文献2では、一般的に、連写枚数は、バッファメモリに格納可能なRAWデータの枚数に依存するため、RAWデータを圧縮することによりメモリの使用量を抑え、連写枚数を増やすことを目的としている。特許文献2においても、連写枚数の保証のため固定長符号化を採用している。その実装方法については、圧縮対象となる画素値(対象画素)と、既知データから予測する予測値との予測差分を算出する方法である。そして、算出された予測差分の大きさが、予め定められた閾値を超えると、量子化ステップ(量子化幅)を粗く変更して、変更された量子化ステップで量子化する。このことによって、ビットレンジを所定幅内に抑え、1画素当たりのビット長を固定長に圧縮している。
また、特許文献3においても、同じメモリ容量で、同じ画像サイズの連写枚数を増やすことを目的としている。そして、実装方法についても、隣接画素との差分値から量子化幅を決定し、その量子化幅から一意に求まるオフセット値を、圧縮対象の画素値から減算することで、被量子化処理値を決定する方法である。このため、メモリを必要とせず、低い符号化演算処理負荷を確保した状態で、圧縮処理を実現するデジタル信号圧縮符号化および復号化装置を提供している。
特開2007−228515号公報 特開2005−191939号公報 特開2007−036566号公報
しかし、特許文献1に記載の撮像装置では、同一領域内における最小値との差分値を量子化しており、領域内のダイナミックレンジが大きいほど量子化幅も大きくなる。これは、領域内のダイナミックレンジが広い場合は、画像として大きく変化している可能性が高く、細かいレベル変化を視覚的に感知しにくいという視覚特性を利用している。しかし、領域内の最小値及び最大値を求める必要があるので、領域内の全画素が揃わなければ圧縮処理を開始できないという問題がある。そのため、バス帯域の削減は可能となるが、領域内の画素が揃うまでの処理遅延が発生することになる。実装面においても、領域内の画素を格納しておくメモリが必要となるため、回路規模が増大するという問題がある。
図1は、特許文献2の画像符号化方法における量子化幅を示す図である。
これに対して特許文献2では、領域ではなく画素単位で量子化ステップ(量子化幅)を決定しているが、圧縮対象画素と予測値(図1の丸印参照)との予測差分のレンジ(量子化ステップ1のレンジ、2のレンジ…)に応じて量子化ステップが決定される。
ここで、図1に示すとおり、次の点が明らかである。つまり、入力画素信号のダイナミックレンジ(図1左欄及び右欄の縦方向の数直線により示される、画像の明るさの値の範囲)に対する、予測値の信号レベル(図1の2つの数直線における、丸印の明るさの値の位置)と、圧縮対象画素の量子化の処理がとり得る量子化ステップ(量子化ステップ1、2、4…)を考えると、次の点が明らかである。
すなわち、予測値がちょうど入力レンジの半分のレベルを持っている場合(図1左欄の場合)では、予測値から、対象画素の値が離れるほど、所定の間隔で量子化ステップが増加している。
次に、予測値が“0”付近の値をとる場合(図1右欄の場合)では、同様に所定の間隔で量子化ステップが増加するが、取り得る予測差分のレンジが大きくなるため、最大量子化ステップ(量子化幅の最大値)においても、その値が、量子化ステップ“8”から“32”へと、増加している。また、同じ量子化ステップ“8”をとる圧縮対象画素のパターン数についても増加する。このように、予測値の信号レベル(丸印の位置)に応じて、とり得る予測差分のレンジが変動しているということは、隣接画素の相関性を考慮しない場合、予測値の信号レベルに依存して、任意の量子化幅が採用される圧縮対象画素のパターン数が変動することになる。
特許文献2においては、図1に示したとおり、予測値の信号レベルが低い(暗い画素)ほど(図1右欄の場合)、量子化幅が大きくなり、つまり、量子化精度が粗くなり、量子化誤差が発生しやすくなる確率が高くなるということになる。つまり、図2右欄の場合、量子化前の情報量から、量子化後の情報量への、情報量の減少幅が大きい。
また、画像の歪みレベルが同じでも、画像の明るさが暗いほど(図1右欄の場合)、目立ちやすく見えるという人間の視覚特性がある。しかし特許文献2では、暗い領域については(図1右欄の場合は)、量子化歪みが発生すると、発生した量子化歪みによる画質劣化が目立ちやすいにも関わらず、暗くなればなるほど、情報量の減少幅が大きくなる確率が高くなるという問題がある。
特許文献3においても、圧縮対象画素と直前の画素との差分値を量子化することにより符号データを生成しているため、同様の原理により問題が生じる。
その一方で、一般的にデジタルスチルカメラ等に搭載される集積回路内の画像処理においては、撮像素子から入力されたデジタル画素信号を、SDRAM(Synchronous Dynamic Random Access Memory)等のメモリに一時記憶させる。そして、一時記憶されたデータに対して所定の画像処理や、YC信号生成、拡大・縮小等のズーム処理等を行い、処理後のデータを再度SDRAMに一時記憶する。その際、画像の任意の領域を切り出す場合や、画素の上下間の参照・相関を必要とする画像処理を行う場合など、任意領域の画素データをメモリから読み出すよう要求されることが多い。この際、可変長符号データでは、符号データの途中から任意領域を読み出すことはできず、ランダムアクセス性を損なうことになる。
本発明は上記の問題を鑑みたものであり、固定長符号化を行うことでランダムアクセス性は維持したまま、予測値の信号レベルには依存せず、任意の量子化幅となる画素パターン数を一定にすることにより、画質劣化を抑圧しながら固定長符号化を実現することを目的とする。
なお、換言すれば、従来より、次の画像符号化方法(特許文献2参照)が知られる。
この画像符号化方法は、例えば、デジタルスチルカメラ(図28のデジタルスチルカメラ2800参照)において、画像処理部(画像処理部2820)により、画像がSDRAM(SDRAM2860)に書き込まれるのに際して実行される。具体的には、画像処理部(画像処理部2820)により、書き込まれる画像に実行される。また、この画像符号化方法は、例えば、デジタルスチルカメラ(図29のデジタルスチルカメラ2900参照)において、撮像部(撮像部2810A)により撮像された画像が、撮像部により、画像処理部(画像処理部2820A)へと送信されるのに際して、撮像部により実行される。具体的には、撮像部により、書き込まれる画像に実行される。この画像符号化方法により符号化される画像は、例えば、RAWデータの画像である。つまり、この画像符号化方法は、例えば、簡単な構成で、高速に符号化するのが必要な場合に利用される方法である。
そして、この画像符号化方法では、次の、第1工程と第2工程とが用いられる。
第1工程では、符号化の対象の対象画素が、当該差分と、前記対象画素の予測値とから算出される、前記対象画素と前記予測値との間の差分を算出する。
第2工程では、前記第1工程で算出された前記差分に量子化を行うことにより、当該差分の情報量(ビット数)よりも少ない情報量(ビット数)で前記差分を表す量子化値を生成する。
これにより、対象画素が量子化値へと、簡単な構成で、高速に符号化される。
なお、ここで、生成される量子化値のビット長は、具体的には、例えば、その量子化値が表現する数に関わらず、同じビット長である。つまり、生成される量子化値は、固定長の符号である。
上記課題を解決するために、本発明の画像符号化方法は、圧縮対象の画素の画素データを入力し、入力された前記画素データを圧縮する画像符号化方法であって、圧縮対象の前記画素の周辺に位置する少なくとも1つの周辺画素から、前記画素データの予測値を生成する予測画素生成ステップと、前記画素データをコード変換することにより、前記画素データがコード変換されたコードを生成するコード変換ステップと、前記コード変換ステップでコード変換された、前記画素データの前記コードと、前記予測画素生成ステップで生成された前記予測値のコードとの間のビット変化情報を、当該ビット変化情報のビット数よりも少ないビット数である量子化値へと量子化することにより、前記画素データを、前記量子化値へと圧縮する量子化ステップとを含む画像符号化方法である。
ここで、上記の課題を解決するため、例えば、本発明では、逐次処理によりメモリを増設せずに、また、予測値の信号レベルには依存しない方法により、符号化を行う。
例えば、本発明の一態様は、複数の画素データから構成される画像データを入力とし、画素データを圧縮する画像符号化方法であって、符号化対象画素の周辺に位置する少なくとも1画素から予測値を生成する予測画素生成ステップと、前記画素データをコード変換するコード変換ステップと、備え、コード変換された前記符号化対象画素と前記予測値とのビット変化情報を量子化し、量子化値を含む符号化データを得ることにより、圧縮することを特徴とする。
係る画像符号化方法では、例えば、コード変換ステップにより画素データをバイナリコードからグレイコードに変換する変換処理が、コード変換ステップにおいて施される。
本発明によれば、逐次処理であるため、処理遅延や新たなメモリの増設は、ほとんど必要とせず、圧縮が可能となる。また、従来からの差分符号化ではなくビット変化情報を量子化するため、予測値の信号レベルに依存せず、常に、任意の量子化幅となる画素パターン数を一定にすることが可能となる。さらに、ビット変化情報の情報量を抑制するためのコード変換及びビットパターン生成により、量子化誤差を抑えることが可能となる。
これらを固定長符号化により実現することで、生成された複数の固定長の符号化データを、例えばメモリ等に記憶させた場合、画像内の特定の箇所の画素に対応した符号化データを、容易に特定することができる。その結果、符号化データに対するランダムアクセス性を維持することができる。すなわち、本発明によれば、メモリへのランダムアクセス性は維持したまま、従来よりも画質の劣化を抑圧することができる。
図1は、特許文献2を説明するブロック図である。 図2は、画像符号化装置における画像符号化処理を示すフローチャートである。 図3は、実施形態本体における画像符号化装置と画像復号化装置の構成を示すブロック図である。 図4は、予測画素生成部における予測式を説明する図である。 図5は、画像符号化処理例と各演算結果を示す図である。 図6は、ビット変化情報の有効ビット桁数の例と量子化幅、量子化結果を示す図である。 図7Aは、画像符号化前のビットイメージの図である。 図7Bは、画像符号化後のビットイメージの図である。 図8は、画像復号化装置における復号化処理を示すフローチャートである。 図9は、復号化処理例と各演算結果を示す図である。 図10は、コード生成部の処理概要を示す図である。 図11は、変形例1における画像符号化処理を示すフローチャートである。 図12は、変形例1における画像符号化処理例と各演算結果を示す図である。 図13は、変形例1における画像符号化後のビットイメージの図である。 図14は、変形例1における量子化幅決定処理のフローチャートである。 図15は、変形例1における画像符号化時の量子化幅決定部の処理を示すブロック図である。 図16は、ビットパターン生成部にて生成するビットパターンの図である。 図17は、変形例2における量子化情報IDを示す図である。 図18Aは、変形例2におけるビットパターン生成による各演算結果を示す図である。 図18Bは、変形例2におけるビットパターン生成による各演算結果を示す図である。 図19は、変形例2における量子化幅決定処理のフローチャートである。 図20は、変形例2における画像復号化時の量子化幅決定部の処理を示すブロック図である。 図21は、変形例2における復号化処理例と各演算結果を示す図である。 図22は、変形例3における量子化幅決定処理のフローチャートである。 図23は、変形例3における画像符号化時の量子化幅決定部の処理を示すブロック図である。 図24は、パターン検出部にて一致検出する検出パターンの図である。 図25は、変形例3における量子化情報IDを示す図である。 図26は、ビットパターン生成部とパターン検出部を、備えた量子化幅決定部を示すブロック図である。 図27は、ビットパターン生成部とパターン検出部を、備えた際の量子化情報IDを示す図である。 図28は、変形例4におけるデジタルスチルカメラの構成を示すブロック図である。 図29は、変形例5におけるデジタルスチルカメラの構成を示すブロック図である。 図30Aは、変形例5における量子化情報IDの図である。 図30Bは、変形例5における出力ビットイメージの図である。 図31は、変形例6における監視カメラの構成を示すブロック図である。 図32は、変形例7における監視カメラの構成を示すブロック図である。 図33は、変形例8に係るフローチャートである。 図34は、図33に示すステップS13の詳細を示すフローチャートである。 図35は、図34に示すステップS203の詳細を示すフローチャートである。 図36は、図34に示すステップS204の詳細を示すフローチャートである。 図37は、図34に示すステップS206の詳細を示すフローチャートである。 図38は、図34に示すステップS207の詳細を示すフローチャートである。 図39は、変形例8における画像符号化装置の構成を示すブロック図である。 図40は、変形例1における結果を示す図である。 図41は、図34に示されるステップS203での、処理される結果を示す図である。 図42は、図34に示されるステップS204で処理される結果を示す図である。
以下、本発明の実施形態について図面を参照しながら説明する。
なお、以下の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
以下で説明される実施形態の画像符号化方法(画像符号化装置100、100b、100c、100cx等の方法)は、圧縮対象の画素の画素データを入力し、入力された前記画素データを(固定長符号に)圧縮する画像符号化方法であって、圧縮対象の前記画素の周辺に位置する少なくとも1つの周辺画素から、前記画素データの予測値を生成する予測画素生成ステップ(予測画素生成部102)と、前記画素データをコード変換することにより、前記画素データがコード変換されたコードを生成するコード変換ステップ(コード変換部103)と、前記コード変換ステップでコード変換された、前記画素データの前記コードと、前記予測画素生成ステップで生成された前記予測値のコードとの間のビット変化情報(変化抽出部104)を、当該ビット変化情報のビット数よりも少ないビット数である(であり、かつ固定長である)量子化値へと量子化することにより、前記画素データを、前記量子化値へと圧縮する量子化ステップ(量子化処理部106、量子化部106x)とを含む画像符号化方法である。
以下、詳しい説明が行われる。
<<実施の形態本体>>
以下で詳しく説明されるように、図2は、本発明の実施の形態本体における画像符号化方法を示すフローチャートである。また、図8は、画像復号化方法の手段を示すフローチャートである。
図3は、本発明の実施の形態本体における画像符号化装置100及び画像復号化装置110の構成を示すブロック図である。
なお、実施の形態本体における画像符号化装置100の符号化処理の全てまたは一部は、LSI(Large Scale Integration)などのハードウェアや、CPU(Central Processing Unit)等により実行されるプログラムによって構成され、これは以下の実施の形態本体の各変形例でも同様である。
<画像符号化処理>
まず、図2および図3を参照し、画像符号化装置100が行う、画像を符号化するための処理(以下、画像符号化処理という)について説明する。
図2は、画像符号化処理のフローチャートである。
符号化対象となる画素(対象画素)は、処理対象画素値入力部101に入力される。
なお、実施形態本体において、各画素データはNビット長のデジタルデータとし、各々の画素データに対応した、量子化後の画素データ(以下、量子化値という)を、Mビット長とする。
また、少なくとも一画素以上の、先頭の対象画素と、複数の画素データに対応した量子化値と、量子化値の量子化幅を表す符号(以下、量子化幅情報という)を、パッキング部107によりSビット長にパッキングする。そして、パッキングされたパッキングデータを画像符号化装置100が画像符号化装置100から出力する。
なお、ここで、自然数N、M、Sは、予め決められているものとする。
処理対象画素値入力部101に入力された画素データは、適切なタイミングで予測画素生成部102と、コード変換部103とへと、処理対象画素値入力部101により出力される。ただし、着目している符号化対象画素が、先頭の対象画素として入力された場合(図2:ステップS101でYES)には、量子化処理を省き、処理対象画素値入力部101は、直接、入力された画素データをパッキング部107に、入力する。
着目している符号化対象画素が、先頭の対象画素でない場合(図2:ステップS101でNO)には、予測画素生成処理に移行する。
ここで、予測画素生成部102に入力される画素データは、次の第1のデータ〜第3のデータのうちの何れかである。第1のデータは、着目している符号化対象画素よりも先に処理対象画素値入力部101に入力された、先頭の対象画素である。第2のデータは、処理対象画素値入力部101に先に入力された、以前の符号化対象画素である。第3のデータは、先に、画像符号化装置100により符号化され、符号化された符号化済みデータが画像復号化装置110に送られ、送られた符号化済みデータが画像復号化装置110により復号化された画素データである。
予測画素生成部102は、入力された画素データ(上記第1のデータ等)を用いて、着目している現在の対象画素の予測値を生成する(図2:ステップS102)。
なお、ここで、画素データに対する符号化方法として、予測符号化の方法がある。予測符号化とは、符号化対象画素に対する予測値を生成し、符号化対象画素と予測値との差分値を符号化する方式の符号化である。予測値については、画素データの場合、注目画素に近接する画素の値が、注目画素の値と同一である又は近い可能性が高い。このことに基づき、近傍の画素データから、着目している符号化対象画素の値を予測する。このことで、差分値をできるだけ小さくして、量子化幅を抑える。
図4は、予測値の算出に用いられる、近接する画素の配置を示す説明図である。
図4中の“x”は、注目画素(対象画素)の画素値を示す。又、“a”“b”“c”は、注目画素の予測値“y”を求めるための、3つの近接画素の画素値である。以下に、一般的に用いられる予測式(1)〜(7)を示す。
y=a…(1)
y=b…(2)
y=c…(3)
y=a+b−c…(4)
y=a+(b−c)/2…(5)
y=b+(a−c)/2…(6)
y=(a+b)/2…(7)
予測画素生成部102は、このように注目画素の近接画素の画素値“a”“b”“c”を用いて、注目画素の予測値“y”を求める。そして、予測画素生成部102は、この予測値“y”と符号化対象画素“x”との予測誤差Δ(=y−x)を求め、この予測誤差Δを符号化する。予測画素生成部102では、前記した予測符号化で用いられる予測式(1)〜(7)のいずれかの予測式を用いて予測値を算出し、算出された予測値を、コード変換部103に出力する。なお、圧縮処理で利用可能な、内部のメモリバッファが確保できる場合などには、前記した予測式に限らず、着目画素に隣接している画素以外の周辺画素もメモリバッファに保持しておき、予測に使用することで、予測精度を向上する予測式なども、用いることが可能である。本実施例においては、一例として、ステップS102において予測式(1)を使用する。
コード変換部103は、処理対象画素値入力部101から受信した符号化対象画素と、予測画素生成部102から受信した予測値とのそれぞれを、Nビットで表現されたコードにコード変換する。コード変換された、符号化対象画素に対応するコード(以下、対象画素のコードという)と予測値に対応するコード(以下、予測値のコードという)は、変化抽出部104へと、コード変換部103によって送られる(図2:ステップS103)。
変化抽出部104は、Nビットで表現された、符号化対象画素のコードと予測値のコードとの排他的論理和演算を行い、Nビット長のビット変化情報Eを算出する。ビット変化情報は、当該ビット変化情報と、前記予測値のコードとから、前記対象画素のコードが算出されるコードである。そして、変化抽出部104は、算出されたビット変化情報Eを、量子化幅決定部105と量子化処理部106に出力する(図2:ステップS104)。
量子化幅決定部105は、変化抽出部104から当該量子化幅決定部105に送られるビット変化情報Eに基づき、量子化幅Jを決定し、決定した量子化幅Jを、量子化処理部106とパッキング部107に出力する。この量子化幅Jとは、ビット変化情報Eの有効ビット桁数から、量子化値のビット長Mを引いた値を指す。ここで、Jは正の整数であり、ビット変化情報Eの有効ビット桁数がMよりも小さい値をとる場合は、Jは0とする(図2:ステップS105)。
量子化処理部106は、量子化幅決定部105で算出された量子化幅Jにより、変化抽出部104から受信したビット変化情報Eを量子化する量子化処理を行う。なお、量子化幅Jによる量子化処理とは、符号化対象画素と、符号化対象画素に対応する予測値との間のビット変化情報Eを、量子化幅Jの数だけ、下位にシフトするビットシフトする処理である。なお、量子化処理部106は、量子化幅Jが“0”である場合、量子化は行わないと理解されてもよい(図2:ステップS106)。量子化処理部106から出力された量子化結果(量子化値)は、パッキング部107へと量子化処理部106により送られる。
パッキング部107は、少なくとも一画素以上の先頭の対象画素と、複数の量子化値と、少なくとも一つ以上の、Qビット長(Qは自然数)の量子化幅情報とを結合させ、つまり、それらのデータを、Sビットのデータにパッキングする。そして、パッキング部107は、パッキングされたパッキングデータを、SDRAM等のメモリ、又はアンパッキング部111に出力する。設定する固定ビット長Sとしては、使用する集積回路のデータ転送のバス幅のビット数と同じビット数が考えられる。パッキングデータのビットの後部において、未使用ビットが残存する場合には、Sビットに達するよう、ダミーデータを記録する(図2:ステップS107)。
次に、実施の形態本体における画像符号化処理の詳細な説明を行う。
図5は、実施の形態本体における、画像符号化処理を説明するための図である。
ここで、処理対象画素値入力部101は、固定ビット長(Nビット)のデータの画素データを、順次、受信するとする。また、処理対象画素値入力部101が受信する画素データのデータ量は、12ビット(N=12)であるとする。すなわち、画素データのダイナミックレンジ(図1の2つの数直線参照)は12ビットであるとする。ここで、量子化値のビット長Mは8ビットであるとする。また、パッキング部107は、受信したデータを、Sビットにパッキングして、パッキングされたパッキングデータを、画像符号化装置100から外部に出力する。設定する固定ビット長Sは、64ビットとする。
実施の形態本体においてコード変換部103で行うコード変換は、グレイコード変換であるとする。画素データをグレイコード化する理由は、近似なものを表現する際のビット変化を抑え、圧縮率を高めることができるからである。
なお、一般に、10進数の値をグレイコードへ変換する方法として、10進数をバイナリコードで表したビット列に対して、下位ビットから順に、そのビットと、そのビットに対して上位ビット側において、そのビットに隣り合うビットとの排他的論理和をとっていく方法がとられている。なお、グレイコードではなくても、近似なものを表現する際に、元のデータと、元のデータに対して近似なものが表現されたデータとの間でのビット変化が、バイナリコードで表したビット変化数よりも小さくなるようなコード変換であれば、本発明に適用可能である。
ここで、図5には、一例として、処理対象画素値入力部101に入力される6個の画素データが示される。
処理対象画素値入力部101には、画素P1,P2,・・・,P6の順で、各画素に対応する12ビットの画素データが入力されるとする。画素P1〜P6内に示される数値(300等)は、その数値に対応する画素データが示す信号レベルである。なお、画素P1に対応する画素データは、先頭の対象画素であるとする。
実施の形態本体では、符号化対象画素の予測値は、一例として、予測式(1)により、予測画素生成部102によって算出されるものとする。この場合、算出される符号化対象画素の予測値は、符号化対象画素の左隣の画素の値(図4のa)となる。すなわち、符号化対象画素の画素値は、一つ前に入力された画素と同一の画素値(レベル)になる可能性が高いと予測画素生成部102が予測していることになる。
図2の画像符号化処理では、まず、ステップS101の処理が行われる。ステップS101では、処理対象画素値入力部101が、入力された画素データが、先頭の対象画素であるか否かを判定する。ステップS101において、判定結果がYESならば、処理対象画素値入力部101は、受信した画素データを、内部のバッファに記憶させ、処理対象画素値入力部101は、入力された画素データをパッキング部107へ送信する。そして、処理は後述するステップS108に移行する。一方、ステップS101において、NOならば、処理はステップS102に移行する。
ここで、処理対象画素値入力部101は、画素P1に対応する、先頭の対象画素としての画素データを受信したとする。この場合、処理対象画素値入力部101は、入力された画素データを内部のバッファに記憶させ、処理対象画素値入力部101は、受信した画素データをパッキング部107へ送信する。なお、バッファに画素データが記憶されている場合、処理対象画素値入力部101は、受信した画素データを、内部のバッファにおける、すでに記憶されている画素データに、上書き記憶させる。
ここで、画素P2が符号化対象画素(現在の対象画素)であると想定する。この場合において、処理対象画素値入力部101は、画素P2に対応する画素データ(符号化対象画素データ)を受信したとする。また、受信された符号化対象画素データが示す画素値は“220”(図5参照)であるとする。この場合、受信した画素データは、先頭の対象画素ではないので(S101でNO)、処理対象画素値入力部101は、受信した画素データを、コード変換部103へ送信する。
また、ステップS101でNOと判定された場合、処理対象画素値入力部101は、内部のバッファに記憶されている画素データを、予測画素生成部102へ送信する。ここで、送信される画素データは、画素P1の画素値“300”を示すとする。
また、処理対象画素値入力部101は、受信した画素データを、内部のバッファに上書き記憶させ、受信した符号化対象画素データを、コード変換部103へ送信する。そして、処理は、ステップS102に移行する。
ステップS102では、予測画素生成部102が、符号化対象画素の予測値を算出する。具体的には、予測画素生成部102は、先述の通り、例えば、予測式(1)を使用して、予測値を算出する。この場合、予測画素生成部102が処理対象画素値入力部101から受信した画素データが示す画素値(“300”)(P1の画素値)が、予測値として、予測画素生成部102により算出される。予測画素生成部102は、算出した予測値“300”を、コード変換部103へ送信する。
なお、予測画素生成部102は、h番目の符号化対象画素の予測値を算出する際に、(h−1)番目の画素データが先頭の対象画素である場合には、前述したように処理対象画素値入力部101から受信した(h−1)番目の画素データが示す値を、予測値として特定する。他方、予測画素生成部102は、(h−1)番目の画素データが先頭の対象画素でない場合には、画像符号化装置100により符号化された(h−1)番目のデータに対応した、画像復号化装置110により当該画像符号化装置100に入力される値を、予測値と特定してもよい。つまり、予測画素生成部102は、入力されたデータを画像復号化装置110が復号化することにより得られる画素データが示す画素値を、画像復号化装置110から取得し、取得された画素値を、h番目の符号化対象画素の予測値と特定してもよい。これにより、量子化処理部106における量子化処理により誤差が生じるような場合でも、画像符号化装置100と画像復号化装置110とにおいて利用される2つの予測値を、互いに一致させ、画質の劣化を抑圧することが可能となる。
ステップS103では、符号化対象画素と予測値とのそれぞれに、グレイコード変換処理がコード変換部103により施される。ここで、コード変換部103が受信した符号化対象画素データは、“220”(図5のP2の値)、予測値は“300”(P1の値)である。このため、コード変換後における、対象画素および予測値のコードは、それぞれ、N(“12”)ビット長のグレイコードである対象画素のコード“000010110010”と、予測値のコード“000110111010”となる(図5の上表の第2行第3列、第2列)。
ステップS104では、排他的論理和演算処理を変化抽出部104が行う。具体的には、変化抽出部104が、コード変換部103から受信した、対象画素のコードと、予測値のコードとの排他的論理和を演算することにより、ビット変化情報Eを算出する。ここで、受信した対象画素のコードが“000010110010”であり、予測値のコードが“000110111010”であるとする(図5の上表の第2行第3列、第2列)。これらの、対象画素のコード(“000010110010”)と、予測値のコード(“000110111010”)の排他的論理和を演算することにより、ビット変化情報E“000100001000”(“100001000”)(図5の下表の第1行第2列)を変化抽出部104が算出する。また、変化抽出部104は、算出したビット変化情報Eを、量子化幅決定部105及び量子化処理部106へ各々送信する。
ステップS105では、量子化幅決定部105が、量子化幅決定処理を行う。量子化幅決定処理では、量子化幅決定部105において、ビット変化情報(図5の下表の第1行第2列)Eの有効ビット桁数(図5の下表の第1行第2列の下線の範囲のビット長)、つまり、ビット変化情報を表現するために必要なビット長を求める。
ここで、ビット変化情報Eは、“000100001000”であるとする(図5の下表の第1行第2列)。この場合、有効ビット桁数は9ビットである。なお、このように、有効ビット桁数は、例えば、そのコードの全体の桁数(上述の例では12)から、そのコードにおける、最上位から続いた0個以上の「0」の個数(上述の例では3)が減算された数である。
そして、量子化幅決定部105は、予め決められた、量子化値のビット長Mと、ビット変化情報Eの有効ビット桁数とを使用して、量子化幅Jを設定する。
例えば、予め決められた、量子化値のビット長Mが“8”であるとすると、J=9−8で、量子化幅Jは“1”に、量子化幅決定部105により設定される。つまり、量子化幅決定部105は、有効ビット桁数(例えば9)から、量子化値のビット長(例えば8)を減算し、減算された値(1)を、量子化幅Jとして算出する。
また、量子化幅決定部105は、算出した量子化幅Jを、量子化処理部106へ送信する。さらに量子化幅決定部105は、量子化幅Jを符号化したQビット長の量子化幅情報を生成し、生成された量子化幅情報を、パッキング部107へ送信する。ここで、量子化幅情報のビット長Qが、“2”であるとする。
図6は、ビット変化情報Eの有効ビット桁数と、量子化幅J、Qビットの量子化幅情報を対応させた表の図である。
量子化幅決定部105において算出した量子化幅Jが“1”であるとする。この場合、図6より、パッキング部107へ送信する量子化幅情報は“01”となる。
なお、Jは正数であるため、ビット変化情報Eの有効ビット桁数がM(“8”)よりも小さい値をとる場合は、Jは“0”とする。
ステップS106では、量子化処理が量子化処理部106により行われる。量子化処理では、量子化処理部106が、量子化幅決定部105で算出された量子化幅Jを受信し、変化抽出部104から受信したビット変化情報Eを、受信された量子化幅Jのビット数だけ、下位にビットシフトすることにより、受信されたビット変化情報Eを量子化する。ここで、量子化処理部106が、量子化幅決定部105から受信した量子化幅Jが“1”であり、かつ、変化抽出部104から受信したビット変化情報Eが“000100001000”(図5の下表の第1行第2列)であるとする。この場合、量子化処理部106は、この“000100001000”を、量子化幅J(“1”)の数だけ下位にビットシフトし、“00010000100”(量子化値)を算出する。ここで、算出される量子化値のビット長Mは8ビットであるため、算出された量子化値“00010000100”のうちの、最下位ビットから8ビット目までのデータ、つまり、量子化されたビット変化情報“10000100”を、量子化処理部106はパッキング部107へ送信する。
ステップS107では、予め決められたSビットに、パッキング処理がパッキング部107により行われる。パッキング処理では、パッキング部107において、処理対象画素値入力部101から受信した先頭の対象画素P1を、Sビット長のバッファメモリに格納する。そして、パッキング部107は、その格納の後は、順次、量子化幅決定部105から受信した量子化幅Jを符号化したQビット長の量子化幅情報、および、量子化処理部106から受信した、符号化対象の画素P2の量子化値を、前記のバッファメモリに格納していく。ここで、固定ビット長S(パッキングデータのビット長)が“64”、量子化幅情報のビット長Qが“2”(図6第3列参照)であるとする。符号化対象画素の量子化値は8ビットであるため、64ビット長のバッファメモリの先頭から、12(=先頭の対象画素P1のビット長)+2(=量子化幅情報のビット長)+8(量子化値のビット長)=22ビット分符号化データが格納されたことになる(図7Bの左端からの22ビット参照)。符号化対象画素のパッキング処理が終了するとステップS108に移行する。
ステップS108では、Sビットにパッキングする画素数Pixについて画像符号化処理が終了したか否かを画像符号化装置100が判定する。ここで、Pixは、以下の式(8)にて予め算出されているものとする。
Pix = S/(Q+M) ・・・(8)
ここで、固定ビット長Sが“64”、量子化幅情報のビット長Qが“2”、量子化値は8ビットであるため、Pixは式(8)により6画素となる。
ステップS108において、判定の結果がNOならば、処理はステップS101に移行し、次に処理対象画素値入力部101が受信した画素データに対して、ステップS101からステップS107までの少なくとも一つの処理を画像符号化装置100が実行する。画像符号化装置100は、図5に示される画素P3から画素P6に対して、ステップS101からステップS107までの処理を、繰り返し行い、順次、その処理の結果のデータを、バッファメモリに格納していく。
一方、ステップS108において、判定の結果がYESならば、画像符号化装置100が、バッファメモリ内の符号化データをSビット単位で出力し、処理はステップS109に移行する。
ステップS109では、先のステップS108で出力した符号化画素データの出力で、1画像についての符号化処理が全て終了したかを画像符号化装置100が判別する。そして、判別の結果がYESであれば、符号化処理を終了し、NOであれば、ステップS101へ移行して、ステップS101からS108の少なくとも1つの処理を実行する。
以上の処理及び演算を実行した結果の各データが図5により示される。つまり、コード変換部103により算出される、符号化対象の画素P2〜P6のコード変換後の結果のデータ(図5の上表の第2行)と、排他的論理和(下表の第1行)と、有効ビット桁数(下表の第2行)と、量子化幅(下表の第3行)と、そしてパッキング部107にてパッキングされる8ビットの量子化値(下表の第4行)とを、それぞれ図5に示した。
図7Aは、画像符号化処理を適応しない場合の、Sビット内のビットイメージである。
図7Bは、画像符号化処理を適応し、実際に、パッキング部107によりバッファメモリに格納され、画像符号化装置100から出力される、ビットイメージである。
図7Bでは、最初に入力された画素P1は、先頭の対象画素としてパッキング部107にN(“12”)ビットで入力されることが、左端からの12ビットにより示される。また、図7Bでは、以後の画素データP2からP6のそれぞれについては、量子化幅情報と量子化値とを対にして、それぞれQ(“2”)ビットとM(“8”)ビットの符号化データとして表される。つまり、図7Bでは、最初の12ビットのデータの後ろに続く構成として、画素P2等の符号化データがパッキングデータに含まれている。画素P2からP6までを符号化することによって、パッキングデータのビット長が同じビット長でも、パッキングデータに格納可能になる画素の画素数が、より多い数に増えている。
また、パッキング部107によりパッキングするデータのビット長Sを、使用される集積回路のデータ転送のバス幅に、設定することにより、一回の転送で送信できる画素数が増え、バス幅を固定長にすることが保証できる。従って、ある、圧縮された画素データにデータアクセスすることが要求される場合、バス幅毎にパッキングされたパッキングデータにデータアクセスするだけでよい。このとき、バス幅とパッキングデータのビット長とが一致せず、未使用ビットが存在する場合は、図7A及び図7Bに示したように、未使用ビットをダミーデータに置き換えればよい。
以上により、実施の形態本体によれば、ビット変化情報の情報量を抑制するための量子化に際して行われる、コード変換部103によるコード変換により、量子化誤差を抑えることができる。そして、これができつつ、ビット変化情報を、固定長の符号に量子化するため、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
<画像復号化処理>
これより、図3および図8を参照し、画像復号化装置110が行う、符号化データを復号化するための処理(以下、画像復号化処理という)について説明する。
図8は、図3の画像復号化装置110が行う画像復号化処理のフローチャートである。
例えば、アンパッキング部111に入力される符号化データは、図5に示される画素P1〜P6を復元させるために必要な符号化データである。アンパッキング部111は、パッキング部107、又は、SDRAM等のメモリから送られた、Sビットの固定長符号化データを解析し、その固定長符号化データを、複数のデータへと分離する。つまり、アンパッキング部111は、送られた固定長符号化データを、Nビット長の先頭の対象画素、Qビット長の量子化幅情報、Mビット長の復号化の対象となる画素(以下、復号化対象画素という:量子化値)に分離する(図8:ステップS801)。
アンパッキング部111で解析された符号化データは、適切なタイミングで、量子化幅決定部113及び逆量子化処理部114、出力部117に送信される。着目している符号化データが、先頭の対象画素として入力された場合(図8:ステップS802でYES)には、Nビットの、符号化前のダイナミックレンジを保持した画素データとして受信する。このため、アンパッキング部111は、逆量子化処理を省き、着目している符号化データを、直接、出力部117に送信する。
着目している符号化データが、量子化幅情報である場合(図8:ステップS803でYES)には、アンパッキング部111は、符号化データを量子化幅決定部113に送信し、行われる処理が、逆量子化における量子化幅決定処理に移行する(図8:ステップS804)。量子化幅決定部113は、アンパッキング部111から受信した符号化データ(量子化幅情報)から、各復号化対象画素に対応する、逆量子化処理における量子化幅J´を決定し、決定された量子化幅J´を、逆量子化処理部114に出力する。
着目している符号化データが、量子化幅情報ではない場合(図8:ステップS803でNO)には、アンパッキング部111は、その符号化データを逆量子化処理部114に送信し、逆量子化処理に移行する。逆量子化処理では、逆量子化処理部114において、量子化幅決定部113から受信した、逆量子化処理における量子化幅J´により、逆量子化を行う。量子化幅J´による逆量子化処理とは、アンパッキング部111から受信した符号化データ(量子化値)を、J´の数だけ上位にビットシフトする処理である。逆量子化処理部114は、逆量子化処理により、Nビットで表現されたビット変化情報E´を算出する。なお、逆量子化処理部114は、量子化幅J´が“0”である場合、逆量子化は行わないと理解されてもよい(図8:ステップS805)。
予測画素生成部112に入力されるデータは、着目している復号化対象画素よりも先に入力され、出力部117から出力されたデータである。このデータは、先頭の対象画素、または、先に復号化され、出力部117から出力された画素データ(以下、復号化画素データという)のいずれかである。そして、予測画素生成部112は、このような、予測画素生成部112に入力された画素データを用いて、Nビットで表現された予測値を生成する。予測値の生成方法は、前述した予測式(1)〜(7)の方法のうちのいずれかであり、画像符号化装置100の予測画素生成部102で用いた式と同様の予測式を用いて、予測画素生成部112は予測値を算出する。算出した予測値は、コード生成部115に、予測画素生成部112により出力される(図8:ステップS806)。
コード生成部115は、予測画素生成部112から受信した予測値に対して、画像符号化装置100におけるコード変換部103におけるコード変換と同様のコード変換を施し、変換がされた後の、予測値のコードを生成する。つまり、受信される予測値は、グレイコード変換等のコード変換がされる前の値である。コード生成部115は、このような、受信された予測値に対して、コード変換部103により行われるコード変換と同じコード変換を行い、変換後のコードを算出する。これにより、コード生成部115は、受信された予測値に対応したコードを算出する。さらに、コード生成部115は、逆量子化処理部114から受信した、Nビット長のビット変化情報E´と、コード変換後の予測値のコードとの間での、排他的論理和演算を行い、Nビット長の対象画素のコードを生成し、生成された対象画素のコードを、逆コード変換部116に出力する(図8:ステップS807)。
逆コード変換部116は、コード生成部115から受信した対象画素のコードに対して、画像符号化装置100のコード変換部103にて施したコード変換の逆変換を行い、画素データを復元させる。逆コード変換を施された後の画素データは、出力部117へ逆コード変換部116により送信される(図8:ステップS808)。
次に、実施の形態本体における画像復号化処理の詳細な説明を行う。
図9は、実施の形態本体における、画像復号化処理を説明するための図である。
ここで、アンパッキング部111は64ビット単位で、パッキングデータを受信する(S=64)。アンパッキング部111は、12ビットの先頭の対象画素(N=12、図7Bの最も左端のデータ)、2ビットの量子化幅情報(Q=2、2番目のデータ)、及び、8ビットの復号化対象画素データ(M=8)の画素データ(3番目のデータ)を、順次、受信するとする。図9は、一例として、図5で示した6個の画素データ(画素P1〜P6)の画像符号化処理結果のデータを、画像復号化装置110への入力のデータとして示した図である。
アンパッキング部111には、外部のメモリに記憶されている複数の符号化データが、図7Bに示すように、連続して入力されるとする。画素P1に対応する画素データは、先頭の対象画素であるため、12ビットで表現され、画素P2〜P6のそれぞれに対応するデータ(量子化値)は、復号化対象画素データであるため、8ビットで表現されているとする。
画像復号化処理では、まず、ステップS801の処理が行われる。ステップS801では、アンパッキング部111が、符号化データに対して、図7Bに示すように、予め決められたビットに分離する処理をして、ステップS802に移行する。
ステップS802では、分離した符号化データが先頭の対象画素であるか否かを、例えばアンパッキング部111等が、判定する。ステップS802において、判定の結果が、YESならば、アンパッキング部111は、受信した画素データを、出力部117へ送信する。そして、処理は後述するステップS810に移行する。一方、ステップS802において、判定の結果がNOならば、処理はステップS803に移行する。
ここで、アンパッキング部111は、画素P1に対応する、先頭の対象画素としての画素データを受信したとする(S802:Yes)。先頭の対象画素が示す画素値は“300”(図9の上表第2行第2列)であるとする。この場合、アンパッキング部111は、入力された画素データ“300”を出力部117へ送信する。出力部117は、受信した先頭の対象画素を、予測画素生成部112へ送信する。
ステップS803では、分離した符号化データが量子化幅情報であるか否かを判定する。ステップS803において、判定結果がNOならば、処理は後述するステップS805に移行する。他方、YESならば、アンパッキング部111は、受信した量子化幅情報を量子化幅決定部113へ送信する。そして、処理はステップS804に移行する。
ここで、アンパッキング部111において、分離した符号化データが、画素P2に対応する量子化幅情報であるとする。量子化幅情報が示す値は“01”(図9上表第2行第3列)であるとする。この場合、アンパッキング部111は、量子化幅情報“01”を量子化幅決定部113へ送信する。
ステップS804では、量子化幅決定部113が、受信した量子化幅情報から、逆量子化処理における量子化幅J´を算出する。量子化幅J´は、画像符号化処理で使用した量子化幅Jと一致する必要があるため、図6の表の対応関係を基に算出する。ここで、量子化幅決定部113が受信した量子化幅情報が“01”であるとする(図9上表第2行第3列)。図6により量子化幅J´は“1”(第3行第3列)となる。
ここで、画素P2が復号化対象画素であり、アンパッキング部111において、分離した符号化データが、画素P2の復号化対象画素データであるとする。この場合、分離した符号化データは量子化幅情報でないので(S803でNO)、ステップS805に移行する。復号化対象画素データが示す画素値は、“10000100”(量子化値、図9上表第2行第4列)であるとする。この場合、アンパッキング部111は、分離した復号化対象画素データ“10000100”を、逆量子化処理部114へ送信する。
ステップS805では、逆量子化処理部114により逆量子化が行われる。逆量子化の処理では、逆量子化処理部114が、アンパッキング部111から受信した復号化対象画素データ(量子化値)を、量子化幅決定部113から受信した逆量子化における量子化幅J´の数だけ、上位にビットシフトすることにより、受信された量子化値を逆量子化する。逆量子化により算出されるデータは、N(“12”)ビットで表現されたビット変化情報E´であるとする。ここで、逆量子化処理部114が、量子化幅決定部113から受信した量子化幅J´が“1”(図9上表第3行第3列)であり、かつ、アンパッキング部111から受信した復号化対象画素データ(量子化値)が“10000100”(第2行第4列)であるとする。この場合、逆量子化処理部114は、“10000100”を“1”ビット上位にビットシフトすることにより逆量子化を行い、“000100001000”を算出し(第4行第3列)、算出されたコードを、コード生成部115へ送信する。
なお、逆量子化処理部114は、量子化幅決定部113から受信した量子化幅J´が“0”の場合、逆量子化を行わず、復号化対象画素データを、そのままコード生成部115へ送信すると理解されてもよい。
ステップS806では、予測画素生成部112が、復号化対象画素の予測値を算出する。具体的には、予測画素生成部112は、画像符号化装置100における画像符号化処理の予測画素生成処理ステップS102と同じ予測方式をとるため、予測式(1)を使用して予測値を算出する。ここで、予測画素生成部112が、画素P2の予測値を算出するとする。予測画素生成部112は、予測式(1)より、一つ前に受信した復号化対象画素データである画素P1の画素データを現在の予測値として特定する。このため、予測画素生成部112は、画素P1の画素値“300”(図9上表第2行第2列)を、出力部117から受信し、この受信により、受信された画素値“300”が、現在の予測値として算出される。
図10は、コード生成部115の構成を示す図である。
ステップS807では、コード生成部115が、予測画素生成部112から受信した予測値にコード変換を当該コード生成部115が行った、予測値のコードと、逆量子化処理部114から受信したビット変化情報E´とから、対象画素のコードを算出する。具体的には、図10に示すように、コード生成部115が、予測画素生成部112から受信した予測値に対して、画像符号化装置100におけるコード変換部103によるコード変換と同様のコード変換を施し、変換された後のコード(予測値のコード)を生成する。ここで、予測画素生成部112から受信した予測値が示す値が“300”(図9上表第2行第2列)であるとする。また、施すコード変換は、グレイコード変換であるとする。この場合、“300”を、グレイコード変換し、N(“12”)ビット長の予測値のコード“000110111010”(図9上表第4行第2列)をコード生成部115は算出する。
さらに、コード生成部115は、逆量子化処理部114から受信した、12ビット長のビット変化情報E´と、予測値のコードの排他的論理和演算を行う。そして、コード生成部115は、この排他的論理和演算の演算結果である、12ビット長の対象画素のコードを生成し、生成されたコードを、逆コード変換部116に送信する。ここで、逆量子化処理部114から受信したビット変化情報E´が“000100001000”(図9上表第4行第3列)であり、予測値のコードが“000110111010”(第4行第2列)であるとする。この場合、コード生成部115は、ビット変化情報E´(“000100001000”)と、予測値のコード(“000110111010”)の排他的論理和を演算し、対象画素のコード“000010110010”(下表第1行第3列)を得て、逆コード変換部116に送信する。
ステップS808では、逆コード変換部116が、コード生成部115から受信した対象画素のコードを、逆コード変換し、画素データを復元させる。逆コード変換とは、コード変換部103にて施したコード変換の逆変換を行う処理である。ここで、コード変換部103にて施したコード変換とは、グレイコード変換であるとする。逆コード変換部116で行う逆コード変換とは、グレイコードからバイナリコードへの変換となる。ここで、逆コード変換部116が、コード生成部115から受信した、対象画素のコードが“000010110010”(図9下表第1行第3列)であったとする。この場合、逆コード変換部116は、対象画素のコード(“000010110010”)をバイナリコードへ変換し、“000011011100”(10進数で“220”)を算出する(下表第2行第3列)。逆コード変換を施された画素データを、逆コード変換部116は、出力部117へ送信する。
なお、出力部117は、復号化画素データを、例えば、外部のメモリ、及び予測画素生成部112に記憶させる。また、画像符号化装置100において、h番目の符号化対象画素の予測値を算出する際に、一旦、符号化され、画像復号化装置110にて復号化された(h−1)番目の復号化画素データを、予測値として画像符号化装置100が使用する場合には、次の通りである。つまり、この場合には、画像符号化装置100における予測画素生成部102に、画像復号化装置110の出力部117が、復号化された(h−1)番目の復号化画素データを送信する。そして、出力部117が送信する復号化画素データを、画像符号化装置100における予測画素生成部102に記憶させてもよい。なお、出力部117は、外部のメモリに記憶させるのではなく、外部の画像を処理する回路等に出力してもよい。
ステップS809では、画像符号化装置100のパッキング部107によりSビットにパッキングされる画素数Pixについて、画像復号化処理が終了したか否かを、例えばアンパッキング部111等が判定する。ここで、Pixは、画像符号化処理と同様に、式(8)にて予め算出されているものとする。ここで、固定ビット長S(パッキングデータのビット長)が“64”、量子化幅情報のビット長Q(量子化幅の情報のビット数)が“2”、量子化値は8ビットであるため、Pixは、先述の通り、式(8)により6画素となる。
ステップS809において、Pixについての上記の判定の判定結果がNOならば、処理はステップS803に移行し、画像復号化装置110は、アンパッキング部111が受信した、次の符号化データに対して、ステップS803からステップS808までのうちの少なくとも一つの処理を実行する。画像復号化装置110は、画素P3から画素P6に対して、ステップS803からステップS808までの処理を繰り返し行い、順次、処理により得られた対象画素を出力する。
一方、ステップS809において、Pixについての上記の判定の判定結果がYESならば、処理はステップS810に移行する。
ステップS810では、出力部117が出力した復号化画素データで、1画像についての復号化処理が、全て終了したかをアンパッキング部111等が判別する。そして、この判別の判別結果がYESであれば、復号化処理を終了し、NOであれば、ステップS801へ移行して、ステップS801からS809の少なくとも1つの処理を実行する。
次に、画素P3が復号化対象画素であるとする。まず、アンパッキング部111は、画素P3に対応する量子化幅情報を解析する(S803でYES)。画素P3に対応する量子化幅情報の示す値が“01”(図9上表第2行第5列)であるとする。この場合、アンパッキング部111は、量子化幅情報“01”を量子化幅決定部113へ送信する。そして、処理は、ステップS804に移行する。
ステップS804において、量子化幅決定部113が受信した量子化幅情報から逆量子化処理における量子化幅J´を量子化幅決定部113が算出する。量子化幅J´は、図6の対応関係を基に量子化幅決定部113が算出する。ここで、量子化幅決定部113が受信した量子化幅情報が“01”であるとする。図6により量子化幅J´は“1”となる(図9上表3行第4列)。
そして、アンパッキング部111は、画素P3の復号化対象画素データ(量子化値)を解析する(S803でNO)。画素P3に対応する復号化対象画素データ(量子化値)の示す値が“10011010”(図9上表第2行第6列)であるとする。この場合、アンパッキング部111は、その復号化対象画素データ“10011010”を、逆量子化処理部114へ送信する。そして、処理は、ステップS805に移行する。
ステップS805では、逆量子化処理部114が、アンパッキング部111から受信した復号化対象画素データ(量子化値)を、量子化幅決定部113から受信した、逆量子化における量子化幅J´により逆量子化する。ここで、逆量子化処理部114が量子化幅決定部113から受信した量子化幅J´が“1”であり、かつ、アンパッキング部111から受信した復号化対象画素データが“10011010”であるとする(図9上表第3行第4列、第2行第6列)。この場合、逆量子化処理部114は、“10011010”を“1”ビット上位にビットシフトすることにより逆量子化を行い、“000100110100”を算出し(図9上表第4行第4列)、生成されたコードを、コード生成部115へ送信する。
ステップS806において、h番目の復号化対象画素の予測値を予測画素生成部112が算出する際には、予測画素生成部112は、予測画素生成部112が出力部117から受信した(h−1)番目の復号化画素データを予測値と特定する。この場合、(h−1)番目の復号化画素データ、即ち画素P2の復号化画素データ“220”(図9下表第2行第3列)が、h番目の予測値として算出され、コード生成部115へ予測画素生成部112が送信する。そして、処理はステップS203に移行する。
以降は、画素P3に対しても前述した画素P2と同様の処理が施され、復号化画素データ(図9下表第2行第4列等)が逆コード変換部116により生成される。
以上の処理及び演算を実行した結果、算出される、復号化対象の画素P2〜P6の符号化データ(量子化値)、量子化幅、逆量子化値(ビット変化情報)、排他的論理和(対象画素のコード)、そして、出力部117から出力される、12ビットで表された、各画素に対応する復号化画素データを、図9に示した。
ここで、先頭の対象画素である画素P1に対応する量子化幅及び逆量子化値、排他的論理和が存在しないのは、次の理由による。画像符号化処理において、符号化対象画素が先頭の対象画素として入力された場合(図2:ステップS101でYES)には、量子化処理を省き、直接、パッキング部107に入力する(図2:ステップS102)ため、画像復号化処理においても、アンパッキング部111で先頭の対象画素を受信した場合には、入力された画素データを直接、出力部117へ送信する、というのが理由である。
なお、図5に示した処理対象画素値入力部101に入力される6個の画素データと、図9に示した6個の復号化画素データを比較すると、画素P6において誤差が生じている。この誤差は、量子化処理部106において量子化幅Jの数だけ下位にビットシフトした際に、切り捨てられた誤差、つまり量子化誤差である。
この場合、画像符号化処理の予測画素生成処理(図2:ステップS102)において、予測式(1)を用いると、量子化誤差の他にも、画像復号化処理の予測画素生成処理(図8:ステップS806)で算出される予測値自体に誤差が生じる。この誤差が生じてしまうことで、画質の劣化に繋がる。そのため、前述したように、h番目の符号化対象画素の予測値を算出する際に、(h−1)番目の画素データが、先頭の対象画素である場合には、処理対象画素値入力部101から受信した(h−1)番目の画素データが示す値そのものを予測値とする。そして、(h−1)番目の画素データが、先頭の対象画素でない場合には、画像符号化装置100が符号化した(h−1)番目のデータを画像復号化装置110に入力させ、入力されたデータを画像復号化装置110が復号化することにより得られる画素データが示す画素値を、符号化対象画素の予測値とすればよい。これにより、量子化処理部106において量子化誤差が生じるような場合でも、画像符号化装置100と画像復号化装置110とにおいて、予測値を互いに一致させ、画質の劣化を抑圧することが可能となる。
<<変形例1>>
変形例1では、実施の形態本体で説明した、画像符号化装置100及び画像復号化装置110の改変例(変形例)を説明する。
図11は、変形例1に係る符号化処理のフローチャートである。
図11に示されるように、新たに追加したステップS1101により、予め決められた所定の画素数Pix_Gの画素データから構成されるグループ単位で、そのグループの何れの対象画素の量子化でも利用される、共通の量子化幅Jを量子化幅決定部105が決定する。このことにより、以下で説明される結果が得られて、1つの対象画素が圧縮される圧縮率をさらに上げることが可能になる。さらに、図11では、ステップS1102、ステップS1103が追加されている。
図12は、変形例1の処理におけるデータを示す図である。
この変形例1のときの、符号化対象画素のコード変換後の結果(対象画素のコード、予測値のコード)、排他的論理和(ビット変化情報)、有効ビット桁数、量子化幅、グループの最大量子化幅、量子化値、そしてグループNoを、図12に示す。ここで、1グループを構成する画素数Pix_Gは、例えば、“3”であるとする。
ステップS1101では、グループ内の画素数Pix_Gについて、量子化幅Jが全て決定されたか否かの判定を、例えば量子化幅決定部105等が行う。ステップS1101において、この判定の判定結果がNOならば、処理はステップS102に移行し、次に処理対象画素値入力部101が受信した画素データに対して、ステップS102からステップS105までの少なくとも一つの処理を実行する。一方、ステップS1101において、YESならば、ステップS1102に移行する。
ステップS1102では、グループ内のPix_G個の画素(対象画素)に対応する、Pix_G個の量子化幅Jの中から、最大の幅である量子化幅Jを、最大量子化幅J_MAXとして量子化幅決定部105が算出する。図12においてグループNo1の量子化幅Jは“1”、“1”、“0”であるため、最大量子化幅J_MAXは“1”となる。ここで算出した最大量子化幅J_MAXは、グループ内の全画素に対して共通の量子化幅となる。つまり、グループに属する何れの符号化対象画素の量子化での量子化幅も、その最大量子化幅J_MAXである。
ステップS1103では、グループ内の画素数Pix_Gについて、量子化処理が全て終了したか否かの判定を行う。ステップS1103において、NOならば、処理はステップS1102に移行し、同一グループ内における、次の符号化対象画素データに対して、ステップS1102の処理を量子化処理部106が実行する。一方、ステップS1103において、YESならば、ステップS107に移行する。以降の処理は、前述した処理と重複するため、同様なので、詳細な説明は繰り返さない。
図13は、変形例1における画像符号化処理を適応し、実際にパッキング部107によりバッファメモリに格納され、画像符号化装置100から出力される、ビットイメージを示す図である。
図13では、最初に入力された画素P1は、先頭の対象画素としてパッキング部107に12ビットで入力される。そして、以後の画素P2からP7(2番目以後の対象画素)のデータは、グループ毎に量子化幅情報が挿入され、挿入された量子化幅情報の次のデータ以降で、グループに属する量子化値が3画素分続く構成となっている。
変形例1により、図5では、画素P4及び画素P5は、量子化する必要がなかったにも関わらず、図12に示すように、画素P4の量子化幅が“1”、画素P5の量子化幅が“2”となっている。これにより、量子化誤差による画質劣化が発生し易くなるというデメリットもあるが、図7Bと図13を比較すると明確なように、画素P2からP7までを符号化することが可能となり、同じビット長で、送信可能になる画素数が増えるため、圧縮率が向上する。
<<変形例2>>
変形例2では、変形例1で説明した、画像符号化装置100及び画像復号化装置110の改変例(変形例)を説明する。変形例2における、変形例1に対する差異は、量子化幅決定部105(図15)における量子化幅決定方法にある。まず、図14は、変形例2の画像符号化処理における量子化幅決定方法のフローチャートであり、図15は、図14に示した量子化幅決定方法を実現するためのブロック図である。
<画像符号化処理>
変形例2で採用する量子化幅決定方法では、変化抽出部104から受信した、Nビット長の第1のビット変化情報Eに対して、周辺画素の画素データとの相関が高い上位側のビットに着目される。そして、ビットパターン生成部1501において、複数のビットパターンを生成することで、ビットの変化情報における有意なビットを、より下位ビット側に集約するようなビットパターンをみつけ、量子化精度を上げることを目的とする。
図16は、複数のビットパターンを示す図である。
変形例2では、一例として、所定のビット位置(図16中段の矢印の位置)で上位ビット側と下位ビット側に分け、上位ビット側を逆転させた第2のビット変化情報(ビットパターン)をビットパターン生成部1501が生成する例が示される。また、複数のビットデータのビット位置を入れ替えた第3のビット変化情報(ビットパターン)をビットパターン生成部1501が生成する例が示される(図16下段)。例えば、第3のビット変化情報は、上位6ビットを巡回シフトしたビット変化情報である。そして、画像符号化装置100bは、利用される量子化幅Jが小さくなるように、利用されるビットパターンを、これら複数のビットパターンから、ビットパターン生成部1501等により選択し、選択されたビットパターンを利用することにより、画像符号化処理を行う。
具体的には、量子化幅決定部105内のビットパターン生成部1501において、変化抽出部104から受信する第1のビット変化情報Eのビット長Nを、12ビットとする。そして、ビットパターン生成部1501は、図16に示すような、第2のビット変化情報(ビットパターン)、第3のビット変化情報(ビットパターン)を持つ、2つのビットパターンを生成する(図14:ステップS1403、ステップS1404)。図16の上段、中段、下段のそれぞれでは、一画素(1つの対象画素)あたりの画素データを、12ビットのビット列で表しており、最下位ビットのビットデータをb0とし、上位ビット側ほど番号が増え、最上位ビットのビットデータをb11と表している。また、変化抽出部104から出力された第1のビット変化情報Eをビットパターン1とし、第2のビット変化情報をビットパターン2、第3のビット変化情報をビットパターン3とする。
処理の詳細を、図14及び図15、図16を用いて説明する。
ステップS1401では、量子化幅決定部105が、変化抽出部104から受信した第1のビット変化情報(ビットパターン1)を、ビットパターン生成部1501及び、比較器1502に送信する。比較器1502で、ビットパターン1における有効ビット桁数D1を算出し、量子化値のビット長M以下の場合(S1401でNO)には、ステップS1402に移行する。ビットパターン1における有効ビット桁数D1が、Mよりも大きい場合(S1401でYES)には、後述するステップS1403へ移行する。
ステップS1402では、量子化幅Jを0に量子化幅決定部105が設定して、量子化幅と、採用されたビットパターン番号(1)を、量子化処理部106及びID生成部1503へ送信し、後述するステップS1407に移行する。
ステップS1403以降の処理では、ビットパターン生成部1501において、複数のビットパターンを生成する。変形例2においては、一例としてビットパターン2及びビットパターン3をビットパターン生成部1501が生成する。
ステップS1403では、ビットパターン2をビットパターン生成部1501が生成する。例えば、ビットパターン2は、図16に示すように、ビットパターン1におけるビットデータを、b6以上とb5以下とに分割し(図16中段の矢印参照)、上位ビット側を反転することにより生成される。ビットパターン生成部1501で生成されたビットパターン2は、比較器1502へビットパターン生成部1501により送信される。
ステップS1404では、ビットパターン3をビットパターン生成部1501が生成する。例えば、ビットパターン3は、ビットパターン2と同様に、ビットデータをb6以上とb5以下とに分割し(図16中段の矢印参照)、上位ビット側のビットデータのみに着目して生成される。具体的には、図16に示すように、ビットパターン1におけるビットデータb11、b10を、上位ビット側における最下位に移動し、残りのビットデータb6からb9を上位にビットシフトさせて生成される。ビットパターン生成部1501で生成されたビットパターン3は、比較器1502へビットパターン生成部1501により送信される。
ここで、ビットパターン生成部1501内では、ランダム性が高い下位ビット側は、予測値生成の精度が高くても、予測値と符号化対象画素との相関があまりなく、逆に、上位ビット側は予測値との相関が高いことを利用する。つまり、ビットパターン生成部1501内では、上位ビットのビットパターン数を増やすことで、量子化幅が小さくなるコードパターンを選択し、量子化精度が向上するようにしている。
ステップS1405では、比較器1502において、ビットパターン1の有効ビット桁数D1と、ビットパターン2の有効ビット桁数D2、ビットパターン3の有効ビット桁数D3を比較し、有効ビット桁数が最小値(D_MIN)となるビットパターンを検出し、処理は、ステップS1406へ移行する。
ステップS1406では、量子化幅決定部105が、比較器1502において、複数あるビットパターンから、有効ビット桁数が最小となると特定されたビットパターンの有効ビット桁数(D_MIN)で、量子化処理に利用される量子化幅Jを算出する。量子化幅Jは、ビット変化情報の有効ビット桁数から、Mを引いた値であるため、量子化幅J=D_MIN−Mにより算出される。算出された量子化幅と、採用されたビットパターン番号は、量子化処理部106及びID生成部1503へ量子化幅決定部105が送信し、ステップS1407へ移行する。
図17は、量子化情報IDの表を示す図である。
量子化情報IDは、その量子化情報IDに対応する量子化値が量子化された量子化幅を特定する(図17第2列)。また、量子化情報IDは、図16の複数のビットパターンのうちで、その量子化値に量子化がされた際における、ビット変化情報のビットパターンが、図16の複数のビットパターンのうちで何れであるかを特定する(図17第3列)。量子化情報IDは、当該量子化情報IDと、当該量子化情報IDに対応する量子化値とから、その量子化値へと量子化がされた、ビット変化情報が算出される情報である。なお、図17の表の第1列の有効ビット桁数は、量子化情報ID(「0001」等)により特定される量子化幅(図17の表の第2列)から間接的に特定される情報である。量子化情報IDは、有効ビット桁数を直接的には特定しなくてもよい。
ステップS1407では、ID生成部1503において、比較器1502から受信した量子化幅と、採用されたビットパターン番号とから、量子化情報IDを生成し、生成された量子化情報IDを、パッキング部107に送信する。変形例2では、画像復号化処理において、画像符号化処理で採用したビットパターン情報(ビットパターンの番号)、及び量子化幅情報が必要となる。このため、実施の形態本体で説明した、量子化幅Jを符号化した量子化幅情報の代わりに、図17に示される量子化情報ID(変形例2における量子化幅情報)を、ID生成部1503が生成する。具体的には、図17に示すように、画像復号化処理において、Qビット長の量子化情報IDにより、画像符号化処理で行った量子化処理における量子化幅Jと、画像符号化処理で採用したビットパターン(番号)とを画像復号化装置110が解析できるようにする。つまり、この解析ができるように、ID生成部1503が、Qビット長の符号化データを、量子化幅情報の代わりに、量子化情報IDに割り当てる。ここで、量子化情報IDのビット長Qが“4”であるとする。ID生成部1503が、図17のように、量子化情報IDを生成すると、生成された量子化情報IDをパッキング部107に送信し、処理を終了する。
図18Aは、ビットパターン2が適する場合におけるデータを示す図である。
変形例2では、ビットパターン2を生成することにより、画像符号化装置100における処理対象画素値入力部101に入力される画素データが、図18Aに示すような画素値をとる場合に有効である。この場合、入力された画素データ自体の変化量が大きくないにも関わらず、グレイコードによるコード変換を行うと、最大有効ビット桁数が12ビットとなる(図18Aの下表の第1行のハッチングの欄参照)。ここで、量子化値のビット長Mを8ビット、グループを構成する画素数Pix_Gを3画素とすると、画素P2から画素P4が一つのグループとなり、グループに対応する量子化幅は“4”(12−8)となる。これは、画像符号化処理の対象となっているグループの画像領域内に、エッジなどの急峻な画像の変化がないにも関わらず、量子化の精度が低くなることを意味する。このため、視覚的な劣化が顕著になるという問題となる。
そこで、ビットパターン生成部1501において、ビットパターン2を生成することにより(図18Aの下表の第2行)、最大有効ビット桁数が10ビットとなる。したがって、画素P2から画素P4に対応する量子化幅は“2”となり、量子化処理による誤差が低減される。ここで、ID生成部1503において生成される量子化情報IDは、例えば、図17により“0110”となる。
図18Bは、ビットパターン3が適する場合におけるデータを示す図である。
一方、変形例2では、ビットパターン3を生成することにより、入力される画素データが、図18Bに示すような画素値をとる場合に有効である。この場合においても、ビットパターン1では、最大有効ビット桁数が12ビットとなるが(図18B下表の第1行のハッチングの欄参照)、ビットパターン3を生成することにより(第3行)、最大有効ビット桁数が11ビットに収まる。したがって、画素P2から画素P4に対応する量子化幅は“3”(11−8)となり、量子化処理による誤差が低減される。ここで、ID生成部1503において生成される量子化情報IDは、例えば、図17により“1010”となる。
変形例2により、変化抽出部104から量子化幅決定部105が受信した第1のビット変化情報Eに対して、複数のビットパターンを生成することにより、ビットの変化情報を、データのなかの下位ビット側に集約し、量子化精度を上げることが可能となる。したがって、コード変換による量子化精度の低下を改善し、画質の向上を図ることが可能となる。
なお、変形例2では、ビットパターン生成部1501において生成するビットパターンを3パターンとしたが、パターン数は増やしてもよい。
<画像復号化処理>
これより、図19および図20を参照し、変形例2における画像復号化処理について説明する。図19は、復号化処理の量子化幅決定方法のフローチャートである。図20は、図19に示した量子化幅決定方法を実現するためのブロック図である。
変形例2における画像復号化処理では、量子化幅決定部113に、量子化情報ID参照部2001を追加する。そして、アンパッキング部111から量子化幅決定部113が受信した符号化データを、量子化情報IDとして量子化情報ID参照部2001が解析する。そして、この解析により、画像符号化処理における量子化幅、及び、量子化処理の際に採用されたビットパターンの情報(ビットパターンの番号)を、量子化情報IDから量子化情報ID参照部2001が抽出する(図19:ステップS1902、ステップS1903)。
処理の詳細を、図19及び図20、図21を用いて説明する。
例えば、アンパッキング部111に入力される複数の符号化データは、図21に示す複数の符号化データであり、図18Aに示される画素P1〜P4を復元させるために必要な複数の符号化データである。
まず、ステップS1901では、量子化幅決定部113がアンパッキング部111から、量子化情報IDに対応する符号化データを受信する。すると、量子化幅決定部113は、受信された量子化情報IDを、量子化情報ID参照部2001へ送信し、処理は、ステップS1902へ移行する。
ステップS1902では、量子化情報ID参照部2001で、受信した符号化データを量子化情報IDとして解析し、つまり、量子化情報IDに含まれる、画像符号化処理において使用した量子化幅Jを解析する。ここで、量子化情報ID参照部2001では、画像符号化処理における量子化幅Jを、正しく解析するために、画像符号化処理で使用した図17の割り当て表を基に、この解析を行う。量子化情報ID参照部2001は、量子化幅Jの情報を抽出すると、画像復号化処理の逆量子化処理における量子化幅J´に、抽出された量子化幅Jの値を設定し、設定する量子化幅J´を逆量子化処理部114に送信し、処理は、ステップS1903へ移行する。ここで、アンパッキング部111から量子化幅決定部113が受信した符号化データが“0110”であるとする(図21上表第2行第3列)。図17の表より、量子化情報IDが“0110”であるための量子化幅Jは、“2”となる。したがって、復号化対象画素であるP2〜P4(対象画素の量子化値P2〜P4)は、量子化幅“2”で逆量子化することになる。
ステップS1903では、量子化情報ID参照部2001において、量子化情報IDから、画像符号化処理において採用されたビットパターン(ビットパターンの番号)を解析する。ここで、量子化情報ID参照部2001では、画像符号化処理において採用されたビットパターンを、正しく解析するために、画像符号化処理で使用した図17の割り当て表を基に、この解析を行う。量子化情報ID参照部2001は、量子化処理の際に採用されたビットパターンの情報(ビットパターンの番号)を抽出すると、その情報を、逆量子化処理部114に送信し、処理を終了する。ここで、アンパッキング部111から受信した符号化データ(量子化情報ID)が“0110”であるとする(図21上表第2行第3列)。図17の表より、量子化情報IDが“0110”であるための採用ビットパターンは、ビットパターン2となる。図16より、復号化対象画素であるP2〜P4(対象画素の量子化値P2〜P4)は、逆量子化後に、ビットデータをb6以上とb5以下とに逆量子化処理部114等が分割し(図16中段の矢印参照)、上位ビット側を反転する処理を行い、ビット変化情報E´を算出する。
<<変形例3>>
変形例3では、変形例1で説明した、画像符号化装置100及び画像復号化装置110の改変例を説明する。変形例3における、変形例1に対する差異は、量子化幅決定部105における量子化幅決定方法にある。まず、図22は、変形例3における量子化幅決定方法のフローチャートであり、図23は、図22に示した量子化幅決定方法を実現するためのブロック図である。
変形例3で採用する量子化幅決定方法では、変化抽出部104から量子化幅決定部105が受信した、Nビット長の第1のビット変化情報Eに対して、次の処理が量子化幅決定部105により行われる。行われる処理は、コード変換部103によるコード変換処理により変化するビット数が少なくなっていることに着目して行われる処理である。すなわち、行われる処理は、受信した第1のビット変化情報Eと、複数のビット変化情報のうちで、発生する頻度が高い、特定パターンのビット変化情報との間での一致検出をパターン検出部2001aによって行う処理である。そして、受信した第1のビット変化情報Eが、前記特定パターンに一致する場合は、ビット変化情報における、変化ビットのみを抽出し、量子化の対象とするビット列を、抽出された変化ビットのみに制限する。このことによって、量子化精度を上げることを目的とする。
変形例3では、一例として、ビット変化情報において、周辺画素との相関の高い部分である、ビット変化情報における上位側のビットに着目し、図24に示すような、検出パターンを予め用意する。処理の詳細を、図22及び図23、図24を用いて説明する。
図24は、変形例3において判定がされるパターン(特定パターン)を示す図である。
図24のパターンにおいて、「*」なる記号は、このパターンに対して、その記号の位置の数が0および1のどちらのデータも、該当することを示す。また、「0」なる記号は、その位置の数が0のデータのみが該当することを示す。
ステップS2201では、量子化幅決定部105が、変化抽出部104から受信した第1のビット変化情報を、パターン検出部2001a及び、量子化幅算出部2002に送信する。
そして、パターン検出部2001aにおいて、予め決定されている検出パターンと、送信された、第1のビット変化情報Eとが一致するか否かを判定する。具体的には、予め決定されている検出パターンの“0”が設定されているビット位置のビットデータをサンプリングし、OR演算を行う。図24より、検出パターンの“0”が設定されているビット位置が、b7、b8、b9、b11であるとする。ここで、“*”が設定されている、b5以下のビットデータに関しては、ランダム性が高いため、一致検出を行わないものとする。前記4つのビット位置にあるビットデータに対してOR演算を行い、結果が“0”であるか否かを判定する。“0”でない場合(S2201でNO)は、実施の形態本体で説明した処理と同様の処理を、量子化幅算出部2002で行い、量子化幅Jを算出する(S2202)。一方、OR演算の結果が“0”である場合(S2201でYES)は、ステップS2203へ移行する。
つまり、パターン検出部2001aは、パターンのデータにより示される、複数の「0」の位置のうちのそれぞれの位置について、送信された、第1のビット変化情報Eにおけるその位置の値が0であるかを判定する。これにより、パターン検出部2001aは、第1のビット変化情報Eが、そのパターンに該当するか否かを判定する。
なお、図24のパターンにおける「1」なる記号は、例えば、「*」なる記号と同様に、その記号の位置の数が0および1のどちらのデータでも、そのパターンに該当することを示すと理解されてもよい。
ステップS2203では、量子化幅Jを、予め決められた量子化幅J_Fixに設定する。ここで、量子化幅J_Fixとは、検出パターンにおいて設定されている“0”の個数と、量子化値のビット長Mの加算結果を、処理対象画素値入力部101に入力される画素データのビット長Nから減算した値である。ここで、検出パターンにおいて設定されている“0”の個数を“4”、入力される画素データのビット長Nを12ビット、量子化値のビット長Mを8ビットとする。この場合、量子化幅J_Fixは、12−(4+8)により“0”となる。量子化幅Jを決定すると、算出された量子化幅と、パターン検出部2001aにおける検出結果を、量子化処理部106へ送信し、処理は、ステップS2204へ移行する。
図25は、変形例3における、量子化情報IDの表を示す図である。
量子化情報IDは、パターンへの該当の当否と、量子化幅とを特定する情報である。量子化情報IDは、例えば、図25の表の第4列の複数のデータのうちの何れかのデータである。それぞれのデータは、そのデータの行の量子化幅及び、該当の当否とを特定する。量子化情報IDは、当該量子化情報IDと、当該量子化情報IDに対応する量子化値とから、その量子化値へと量子化がされた、ビット変化情報が算出される情報である。
ステップS2204では、ID生成部2003において、パターン検出部2001aの検出結果と、量子化幅算出部2002で算出された量子化幅Jから量子化情報IDを生成し、生成された量子化情報IDを、パッキング部107に送信する。変形例3では、画像復号化処理において、画像符号化処理における量子化幅情報、及びパターン検出部2001aにおける検出結果が必要となる。このため、実施の形態本体で説明した、量子化幅Jを符号化した量子化幅情報の代わりに、量子化情報ID(変形例3における量子化幅情報)を生成する。具体的には、図25に示すように、画像復号化処理において、Qビット長の量子化情報IDにより、画像符号化処理で行った、量子化処理における量子化幅Jと、検出結果とを解析できるように、符号化データをID生成部2003が割り当てる。ここで、量子化情報IDのビット長Qが“3”であるとする。また、図25内の“*”は、任意の有効ビット桁数であることを示す。ID生成部2003において、図25のように量子化情報IDを生成すると、パッキング部107に送信し、処理を終了する。
変形例3により、変化抽出部104から受信した第1のビット変化情報Eと、特定パターンとの一致検出をパターン検出部2001aが行う。このことによって、一致した場合は、先述の変化ビットのみを量子化処理部106が抽出する。これにより、量子化対象とするビット列を制限することによって、量子化精度を上げることが可能となる。したがって、コード変換による量子化精度の低下を改善し、画質の向上を図ることが可能となる。
なお、変形例3では、パターン検出部2001aにおいて、一致を検出する特定パターンを1パターンとしたが、パターン数は増やしてもよい。
次に、変形例3が変形された変形例3xが説明される。
なお、変形例3の機能と、変形例1の機能を同時に実装した画像符号化装置100を構築することも可能である(変形例3x)。この場合のブロック図を図26、量子化情報IDの符号化データの割り当てを図27に示す。また、図27内の“*”は、任意の有効ビット桁数であることを示す。
この場合、ID生成部2601では、変形例2で説明したように、複数あるビットパターン(図16)から、ビット変化情報Eの有効ビット桁数が最小となるビットパターンにおける量子化幅Jを算出する。そして、ID生成部2601は、算出された量子化幅Jと、パターン検出部2001aにより一致が検出された場合の量子化幅J_Fixを比較し、小さい方の量子化幅を特定する。そして、ID生成部2601は、量子化幅が小さくなる方の方法を採用して、量子化幅を決定する。そして、パターン検出部2001aにおける検出結果と、採用されたビットパターン番号、量子化幅を量子化処理部106へ量子化幅決定部105が送信する。
ID生成部2601では、図27のように量子化情報IDを生成し、生成された量子化情報IDを、パッキング部107に送信する。図27に示すように、符号化データの割り当てをすることにより、画像復号化処理においても、変形例2で説明したビットパターンの情報、及び、変形例3における一致検出結果、量子化幅の情報を全て解析することが可能となる。
<<変形例4>>
変形例4では、実施の形態本体で説明した、画像符号化装置100及び画像復号化装置110を備えたデジタルスチルカメラの例(デジタルスチルカメラ2800)を説明する。
図28は、変形例4に係るデジタルスチルカメラ2800の構成を示すブロック図である。
図28に示されるように、デジタルスチルカメラ2800は、画像符号化装置100と、画像復号化装置110とを備える。画像符号化装置100および画像復号化装置110の構成および機能は、実施の形態本体で説明したので詳細な説明は繰り返さない。
デジタルスチルカメラ2800は、さらに、撮像部2810と、画像処理部2820と、表示部2830と、圧縮変換部2840と、記録保存部2850と、SDRAM2860とを備える。
撮像部2810は、被写体を撮像して、被写体の撮像された像に対応する、デジタルの画像データ(RAWデータ)を出力する。
この例では、撮像部2810は、光学系2811と、撮像素子2812と、アナログフロントエンド2813(図中ではAFEと略記)と、タイミングジェネレータ2814(図中ではTGと略記)とを含む。
光学系2811は、レンズ等からなり、被写体の像を、撮像素子2812上に結像させるようになっている。
撮像素子2812は、光学系2811から入射した光を電気信号に変換する。撮像素子2812としては、CCD(Charge Coupled Device)を用いた撮像素子や、CMOSを用いた撮像素子等、種々の撮像素子を採用できる。
アナログフロントエンド2813は、撮像素子2812が出力したアナログ信号に対してノイズ除去、信号増幅、A/D変換などの信号処理を行い、信号処理がされたデータを、画像データとして出力するようになっている。
タイミングジェネレータ2814は、撮像素子2812やアナログフロントエンド2813の動作タイミングの基準となるクロック信号をこれらに供給する。
画像処理部2820は、撮像部2810から入力された画素データ(RAWデータ)に所定の画像処理を施し、画像処理が施された後のデータを、画像符号化装置100へ出力する。
一般的には、画像処理部2820は、図28に示すように、ホワイトバランス回路2821(図中ではWBと略記)、輝度信号生成回路2822、色分離回路2823、アパーチャ補正処理回路2824(図中ではAPと略記)、マトリクス処理回路2825、及び画像の拡大・縮小を行うズーム回路2826(図中ではZOMと略記)等を備えている。
ホワイトバランス回路2821では、白い被写体がどのような光源下でも白く撮影されるように、撮像素子2812のカラーフィルタによる色成分を正しい割合で補正する。
輝度信号生成回路2822は、RAWデータから輝度信号(Y信号)を生成する。
色分離回路2823は、RAWデータから色差信号(Cr/Cb信号)を生成する。
アパーチャ補正処理回路2824は、輝度信号生成回路2822が生成した輝度信号に高周波数成分を足し合わせて、解像度を高く見せる処理を行う。
マトリクス処理回路2825は、撮像素子の分光特性や画像処理で崩れた色相バランスの調整を、色分離回路2823の出力に対して行う。
そして、一般的に、画像処理部2820は、処理対象の画素データをSDRAM等のメモリに一時記憶させ、一時記憶されたデータに対して、所定の画像処理や、YC信号生成、ズーム処理等を行い、処理後のデータを再度SDRAMに一時記憶することが多い。そのため、画像処理部2820では、画像符号化装置100への出力と、画像復号化装置110からの入力とが、どちらも発生することが考えられる。
表示部2830は、画像復号化装置110の出力(画像復号化後の画像データ)を表示する。
圧縮変換部2840は、画像復号化装置110の出力を、JPEG等の所定の規格で圧縮変換した画像データを、記録保存部2850に出力する、また、圧縮変換部2840は、記録保存部2850によって読み出された画像データを伸張変換して、伸張変換された画像データを画像符号化装置100へ入力する。即ち、圧縮変換部2840は、JPEG規格に基づくデータを処理可能である。このような圧縮変換部2840は、一般的にデジタルスチルカメラに搭載される。
記録保存部2850は、圧縮された画像データを受信して、記録媒体(例えば不揮発性メモリ等)に記録する。また、記録保存部2850は、記録媒体に記録されている、圧縮された画像データを読み出して、読み出した画像データを圧縮変換部2840に出力する。
変形例4における画像符号化装置100及び画像復号化装置110における入力信号としては、例えば、RAWデータである信号が挙げられる、ただし、画像符号化装置100の入力信号等は、RAWデータに限定されない。例えば、画像符号化装置100及び画像復号化装置110が処理対象とするデータは、画像処理部2820によってRAWデータから生成されたYC信号(輝度信号または色差信号)のデータでもよい。また、画像符号化装置100の処理対象のデータ等は、一旦JPEG等に圧縮変換されたJPEG画像のデータを伸張することにより得られるデータ(輝度信号または色差信号のデータ)等であってもよい。
ここで、画像符号化装置100及び画像復号化装置110の入力信号が、RAWデータである場合、予測画素生成部112において、色成分が、符号化対象画素の色成分と同色の色成分である近接画素(近傍画像)から、予測値を生成してもよい。具体的には、符号化対象画素の画素配列がベイヤー配列のRAWデータであるとする。この場合、RAWデータを、R(赤)成分と、G(緑)成分と、B(青)成分とに分けることができる。そして、予測式(1)を使用する場合は、符号化対象画素の隣接画素ではなく、同色の左隣の画素を利用してもよい。これにより、色成分が異なる隣接画素を使用するよりも、画素データとして相関が高いため、量子化精度を上げることができる。
なお、画像符号化装置100及び画像復号化装置110の入力信号が、RAWデータである場合は、RAWデータの色成分毎に、それぞれ、量子化値のダイナミックレンジMを変更して、ダイナミックレンジMが変更されたデータを符号化してもよい。具体的には、RAWデータを、RGB成分に分解し、この、分解された色成分毎に、量子化値のダイナミックレンジMを決定する。これにより、比較的振幅の少ないR成分またはB成分の量子化値のダイナミックレンジMを、狭くしておき、その分、人間の視覚感度の高いG成分の量子化値に割り振ることで、G成分の量子化精度を向上することが可能となる。また、G成分は、輝度信号を生成する上で主成分となるものであるため、輝度の画質向上にも繋がる。
なお、画像符号化装置100及び画像復号化装置110の入力信号が、RAWデータである場合は、RAWデータの色成分毎に、それぞれ、独立して量子化幅を決定してもよい。この場合、変形例1で説明したように、画素数Pix_Gの画素データから構成されるグループ単位で量子化幅Jを決定する場合、RAWデータの色成分毎にグループを構成することが可能である。これにより、例えば、Rの変化が大きい画像が入力された場合、同一グループ内にRGBが混同していると、GとBの変化が小さいにもかかわらず、大きな量子化幅で量子化処理が施されてしまう。そのため、色成分毎にグループを構成することにより、他の色成分の影響を受けることなく、各々の色の変化に応じた量子化幅により量子化処理を行うことが可能になる。このため、RGB成分間の相関が低い画像に有効である。
このように、変形例4におけるデジタルスチルカメラ2800は、一般的にデジタルスチルカメラに搭載される圧縮変換部2840以外にも、RAWデータやYC信号を処理対象とする画像符号化装置100及び画像復号化装置110を備える。これにより、変形例4におけるデジタルスチルカメラ2800においては、同じSDRAM等のメモリ容量で、同じ解像度の連写枚数を増やす高速撮像動作が可能となる。また、デジタルスチルカメラ2800においては、同じ容量の、SDRAM等のメモリに記憶させる動画像の解像度を高めることが可能になる。
また、変形例4に示したデジタルスチルカメラ2800の構成は、デジタルスチルカメラ2800と同様に撮像部、画像処理部、表示部、圧縮変換部、記録保存部、及びSDRAMを備えるデジタルビデオカメラの構成に適用することも可能である。
<<変形例5>>
変形例5では、デジタルスチルカメラに設けられる撮像素子が、画像符号化装置100を含む場合のデジタルスチルカメラの構成の例(デジタルスチルカメラ2900)を説明する。
図29は、変形例5における、デジタルスチルカメラ2900の構成を示すブロック図である。
図29に示されるように、デジタルスチルカメラ2900は、図28のデジタルスチルカメラ2800と比較して、撮像部2810の代わりに撮像部2810Aを備える点と、画像処理部2820の代わりに画像処理部2820Aを備える点とが異なる。それ以外の構成は、デジタルスチルカメラ2800と同様なので、詳細な説明は繰り返さない。
撮像部2810Aは、図28の撮像部2810と比較して、撮像素子2812の代わりに撮像素子2812Aを含み、アナログフロントエンド2813を省略した点が異なる。それ以外は、撮像部2810と同様なので詳細な説明は繰り返さない。これは、例えば、撮像素子2812AにCMOSセンサを用いた例であり、画素内に増幅器とA/D変換回路を有し、デジタル信号を出力する。このため、図3の画像符号化装置100を搭載することが可能となる。
また、画像処理部2820Aは、図28の画像処理部2820と比較して、さらに、図3の画像復号化装置110を含む点が異なる。それ以外の構成は、画像処理部2820と同様なので詳細な説明は繰り返さない。
撮像素子2812Aに含まれる画像符号化装置100は、撮像素子2812Aにより撮像された画素信号(RAWデータ)を符号化し、符号化により得られたデータを、画像処理部2820A内の画像復号化装置110へ送信する。
画像処理部2820A内の画像復号化装置110は、画像符号化装置100から受信したデータを復号化する。この処理により、撮像素子2812Aと集積回路内の画像処理部2820A間のデータ転送効率を向上させることが可能となる。
したがって、変形例5のデジタルスチルカメラ2900においては、変形例5のデジタルスチルカメラ2800による場合よりも、同じメモリ容量で、同じ解像度の連写枚数を増やしたり、動画像の解像度を高める等といった高速撮像動作を実現することが可能になる。
一方、近年では、超多画素の撮像素子2812Aを使用して、30枚/秒の画像を出力することが求められている。具体的には、300万画素や3000万画素の固体撮像装置から30枚/秒の画像を出力したり、また、超多画素でない場合でも、野球のボールインパクトの瞬間を撮像する高速撮像などのような、1秒当たり100枚以上の画像を出力する高速撮像が求められている。この実現方法として、画素データの読出速度の高速化を図ることが考えられるが、単純に読出速度を高速化したのでは、消費電力の増加や、ノイズ、不要輻射の問題が起こり得る。そのため、撮像部2810Aの出力信号を、高速のクロックを用いてシリアル形式のデータに変換してから、変換がされた後のデータを外部に出力する方法があるが、変形例5では、さらに、撮像素子2812A内部に画像符号化装置100を搭載する。このため、撮像部2810Aと画像処理部2820Aとの間のデータ転送効率の向上が可能となり、高速撮像の実現に有効である。
しかし、この場合、撮像部2810Aで、パラレル形式からシリアル形式のデータに変換するとともに、出力信号に同期信号を埋め込み、埋め込みがされた出力信号を送信する。画像処理部2820A内の画像復号化装置110では、受信信号に埋め込まれた同期信号を抽出し、画素データの取り込みタイミングを決定する。そのため、画像符号化装置100から出力される符号化データに、前記同期信号と一致する信号が含まれた場合、受信した画像処理部2820A内は、前記同期信号と誤認し、画像が正しく受信できないという問題がある。ここで、前記同期信号は、ビット長Y(Yは自然数)の全てのビットデータが“0”、または、“1”の信号を挿入し、認識するのが一般的である。
図30Aは、変形例5における、量子化情報IDの表の一例を示す図である。
図30Bは、変形例5における、画像符号化装置100の出力の一例を示す図である。
そこで、例えば、変形例2で説明したようなQビット長(Q=4)の量子化情報IDにより、画像符号化処理を行う場合、図17で示した量子化情報IDの符号化データの割り当てを、図30Aに示すように変更する。このとき、パッキング部107によりパッキングする固定ビット長Sを64ビットとする。すると、パッキング部107によりパッキングされ、画像符号化装置100から出力される、ビットイメージは、図30Bのようになる。したがって、量子化情報IDの符号化データが、全て“0”、または、全て“1”になることがないため、Y>Sの関係が成り立てば、同期信号と同一の信号を出力するのを防ぐことが可能となる。
<<変形例6>>
変形例6では、監視カメラが受信する画像データが、画像符号化装置100からの出力である場合の監視カメラの構成の例(監視カメラ3100)を説明する。
図31は、監視カメラ3100の構成を示す図である。
通常、監視カメラ装置においてそうであるように、監視カメラ3100は、監視カメラ3100から送信される画像データが第3者によって伝送経路上で盗まれないよう、伝送路上のセキュリティ性を確保するため、画像データを暗号化している。一般的には、監視カメラ用信号処理部3110内の画像処理部3101により所定の画像処理が施された画像データを、圧縮変換部3102によりJPEGやMPEG4、H.264等の所定の規格で圧縮変換し、さらに暗号化部3103により暗号化して、暗号化されたデータが、通信部3104からインターネット上に送信されることで、個人のプライバシー保護を行っている。
そこで、図31に示すように、前述した画像符号化装置100を含む撮像部2810Aからの出力を、監視カメラ用信号処理部3110に入力し、監視カメラ用信号処理部3110内に搭載する画像復号化装置110により符号化データを復号化する。このことにより、撮像部2810Aで撮影された画像データを擬似的に暗号化することができるため、撮像部2810Aと監視カメラ用信号処理部3110間の伝送路上のセキュリティ性が確保され、従来よりもさらにセキュリティ性の向上を図ることが可能になる。
<<変形例7>>
図32は、変形例7における監視カメラ3200を示す図である。
また、監視カメラ装置の実現方法として、図32に示すように、撮像部2810からの入力画像に対して所定のカメラ画像処理を行う画像処理部3201と、信号入力部3202を搭載する方法がある。この方法では、監視カメラ用信号処理部3210が、画像処理部3201が送信した画像データを受信して、受信された画像データに圧縮変換を行い、暗号化した上で、通信部3104からインターネット上に画像データを送信する。そして、例えば、この監視カメラ用信号処理部3210を、別個のLSIにより実現する。
この形態(変形例7)においては、画像処理部3201に画像符号化装置100を搭載し、画像復号化装置110を監視カメラ用信号処理部3210に搭載する。このことにより、画像処理部3201が送信する画像データを、擬似的に暗号化することができる。このため、画像処理部3201と監視カメラ用信号処理部3210間の伝送路上のセキュリティ性が確保され、従来よりもさらにセキュリティ性の向上を図ることが可能になる。
従って、変形例7により、監視カメラのデータ転送効率が向上し、動画像の解像度を高める等といった高速撮像動作を実現することが可能になる。さらに、擬似的に画像データを暗号化することにより、画像データの漏洩防止やプライバシー保護を行うなどといったセキュリティ性の向上を図ることが可能となる。
<<変形例8>>
変形例8では、変形例1で説明した、画像符号化装置100の改変例(100X)を説明する。
図33から図38は、変形例8に係るフローチャートである。また、図39は、本変形例8における画像符号装置100Xの構成を示すブロック図である。
図33に示されるように、新たに追加したステップS13により、予め決められた所定の画素数Pix_Gの画素データについて、画素値の置換を行うことで、構成されるグループ単位で、最大量子化幅J_MAXを、置換処理する前よりも抑えるというものである。これにより、量子化に伴う誤差を抑えることができるものである。さらに、図33では、前記置換処理を実施するために、ステップS11、ステップS12が追加されている。
図34は、図33に示すステップS13の詳細を示すフローチャートである。また、図35は、図34に示すステップS203の詳細を示すフローチャートであり、図36は、図34に示すステップS204の詳細を示すフローチャートである。さらに、図37は、図34に示すステップS206の詳細を示すフローチャートであり、図38は、図34に示すステップS207の詳細を示すフローチャートである。
図39に示されるように、変形例8では、変形例1の画像符号化装置100に新たに追加したブロックとして、置換処理判断部11および画素値置換部12が追加されている。
このときの、入力される画素データ、置換可能範囲、置換による累積誤差、符号化対象画素のコード変換後の結果、排他的論理和、有効ビット桁数、量子化幅、量子化値、復号後画素データ、および、入力される画素データと復号後画素データとの累積誤差を、図40から図42に示す。ここで、1グループを構成する画素数Pix_Gは、“6”とする。なお、入力される画素データを同じものとして、図40は、変形例1における結果を示し、図41は、図34に示されるステップS203での、処理される結果を示し、図42は、図34に示されるステップS204で処理される結果を示す。
<画像符号化処理>
変形例1の符号化処理では、コード変換を行うことにより、図40に示すように、画像の変化が少なくても、符号化対象画素値と予測値とが、2のべき乗を跨ぐような画素値が入力された場合には、量子化幅が大きくなるという課題があった。本変形例8では、符号化対象画素値を、2のべき乗を跨がないように置換することで、この課題を解決し、量子化精度上げることを目的とする。
ステップS11では、グループ内のPix_G画素に対応する量子化幅Jの中から、最大量子化幅J_MAXを算出する。
ステップS12では、最大量子化幅J_MAXが“0”でない、かつ、以降で説明する画素値置換処理を実行していないかを判定する。ステップS12において、YESならば、ステップS13に移行する。NOならば、処理はステップS1102に移行する。なお、ステップS1102以降については、変形例1で前述しているため、詳細な説明は繰り返さない。
ステップS13の詳細は、図34に示されるフローチャートを用いて説明する。
図34のステップS201およびステップS202では、以降の置換処理で発生する、入力画素データとの差の累積誤差を計る値の初期化を行う。
ステップS203では、入力画素データに対して、加算処理による、画素データの置換を行う。ステップS204では、入力画素データに対して、減算処理による、画素データの置換を行う。なお、ステップS203およびステップS204の詳細は後述する。
ステップS205では、ステップS203における加算置換における累積誤差ERR_ADD、およびステップS204における減算置換における累積誤差ERR_SUBの比較を行い、累積誤差の少ない方の置換方法を判断する。加算置換による累積誤差が、減算置換による累積誤差より大きい、もしくは、等しいか(図34の「ERR_ADD≧ERR_SUB」)を判定する。ステップS205において、YESならば、ステップS207へ移行する。NOならば、ステップS206へ移行する。
ステップS206では、入力画素データに対して加算置換処理を実行して、処理を終了する。ステップS207では、入力画素データに対して減算置換処理を実行して、処理を終了する。なお、ステップS206およびステップS207の詳細は後述する。
ステップS203の詳細について、図35を用いて説明する。
ステップS301では、加算置換する値が、符号化対象画素値から、符号化対象画素値に、任意に設定可能な変化割合閾値THにより決まる変化分を加算した値までの範囲内において、(2のべき乗)値が存在するかを判定する。また、前記範囲の上限値が、画素データが取り得る値を超えた場合には、画素データが取り得る最大値を、上限値にクリップする。また、範囲は、自然数で設定される。なお、変化割合閾値THは、符号化対象画素値に適応して変更してもよい。ここで、変化割合閾値THが“10%”として、着目している符号化対象画素値が“500”とすれば、置換範囲は、“500”から“550”となる。この範囲においては、“512”が(2のべき乗)値に該当する。ステップS301において、YESならば、ステップS302へ移行する。NOならば、ステップS303へ移行する。
ステップS302では、着目している符号化対象画素と、変化割合閾値TH以内に存在する(2のべき乗)値との差分の絶対値を、加算置換累積誤差ERR_ADDへ加算する。前記の場合、符号化対象画素値“500”と、(2のべき乗)値“512”との絶対誤差“12”が、加算置換累積誤差ERR_ADDに加算される。
ステップS303では、グループ内の画素数Pix_Gについて、ステップS301およびステップS302がなされたか否かの判定を行う。ステップS303において、YESならば、処理を終了する。NOならば、ステップS301に移行し、以降の処理は、前述した処理と重複するため同様なので、詳細な説明は繰り返さない。
ステップS204の詳細について、図36を用いて説明する。ステップS401では、減算置換する値が、符号化対象画素値から、符号化対象画素値に任意に設定可能な変化割合閾値THにより決まる変化分を減算した値までの範囲内において、(2のべき乗−1)値が存在するかを判定する。また、前記範囲の下限値が、“0”より小さくなる場合には、下限値を“0”にクリップする。また、範囲は自然数で設定される。なお、変化割合閾値は、符号化対象画素値に適応して変更してもよい。ここで、変化割合閾値THが“10%”、着目している符号化対象画素値が“512”とすれば、置換範囲内とは、“461”から“512”の範囲を示す。この範囲においては、“511”が(2のべき乗−1)値に該当する。ステップS401において、YESならば、ステップS402へ移行する。NOならば、ステップS403へ移行する。
ステップS402では、着目している符号化対象画素と、変化割合閾値TH以内に存在する(2のべき乗−1)値との差分の絶対値を、減算置換累積誤差ERR_SUBへ加算する。前記の場合、符号化対象画素値“512”と、(2のべき乗−1)値“511”との絶対誤差“1”が、減算置換累積誤差ERR_SUBに加算される。
ステップS403では、グループ内の画素数Pix_Gについて、ステップS401およびステップS402がなされたか否かの判定を行う。ステップS403において、YESならば、処理を終了する。NOならば、ステップS401に移行し、以降の処理は、前述した処理と重複するため同様なので、詳細な説明は繰り返さない。
ステップS206の詳細について、図37を用いて説明する。
ステップS501では、加算置換する値が、任意に設定可能な変化割合閾値THの範囲内において、(2のべき乗)値が存在するかを判定する。ステップS501において、YESならば、ステップS502へ移行する。NOならば、ステップS503へ移行する。
ステップS502では、着目している符号化対象画素を、変化割合閾値TH以内に存在する(2のべき乗)値と置換を行う。
ステップS503では、グループ内の画素数Pix_Gについて、ステップS501およびステップS502がなされたか否かの判定を行う。ステップS503において、YESならば、処理を終了する。NOならば、ステップS501に移行し、以降の処理は、前述した処理と重複するため同様なので、詳細な説明は繰り返さない。
ステップS207の詳細について、図38を用いて説明する。
ステップS601では、減算置換する値が、任意に設定可能な変化割合閾値THの範囲内において、(2のべき乗−1)値が存在するかを判定する。ステップS601において、YESならば、ステップS602へ移行する。NOならば、ステップS603へ移行する。
ステップS602では、着目している符号化対象画素を、変化割合閾値TH以内に存在する(2のべき乗−1)値と置換する。
ステップS603では、グループ内の画素数Pix_Gについて、ステップS601およびステップS602がなされたか否かの判定を行う。ステップS603において、YESならば、処理を終了する。NOならば、ステップS601に移行し、以降の処理は、前述した処理と重複するため同様なので、詳細な説明は繰り返さない。
変形例1においては、図40に示される量子化幅はそれぞれ“2”、“0”、“0”、“0”、“0”であるため、最大量子化幅J_MAXは、“2”となる。このために、符号化および復号がされることにより、画素データ“500”、“512”、“513”、“514”、“512”、“513”が、復号後画素データ“500”、“515”、“515”、“515”、“515”、“515”となる。グループ内のPix_G画素における、復号後の画素の累計誤差は、“11”となる。
本変形例8により、図41および図42に示すように、最大量子化幅J_MAXは“0”となり、量子化幅を抑えることができる。また、加算累積誤差ERR_ADDは“12”であり、減算累積誤差ERR_SUBは“9”であることから、累積誤差の少ない減算置換処理が行われることにより、図42に示すように、画素データ“500”、“512”、“513”、“514”、“512”、“513”が、復号後画素データ“500”、“511”、“511”、“511”、“511”、“511”となる。グループ内のPix_G画素における、復号後の画素の累計誤差は、“9”となる。このように、置換による誤差は発生するものの、変形例1より、復号後の画素データの誤差を抑えることができている。
なお、変形例1、変形例2、変形例3および本変形例8を併用して、各変形例の形態において発生する量子化誤差と、置換により発生する誤差とを比較することにより、復号後の画素データの誤差を最小限にする形態を、画素数Pix_G単位で適宜選択しても良い。
このように、実施の形態および各変形例において、次の課題が解決される。つまり、固定長符号化を行うことによりランダムアクセス性は維持したまま、任意の量子化幅となる画素パターン数を一定にする。このことにより、画質劣化を抑圧しながら固定長符号化を実現する課題が解決される。このために、複数の画素データから構成される画像データを入力とし、符号化対象画素の周辺に位置する少なくとも1画素から生成された予測値と、コード変換された前記符号化対象画素とのビット変化情報を量子化し、量子化値を含む符号化データを得ることにより、画素データを固定長符号に圧縮する。係る構成により固定長符号化を実現し、ランダムアクセス性は維持したまま、予測値の信号レベルに依存せず、常に、任意の量子化幅となる画素パターン数を一定にすることが可能となる。さらに、ビット変化情報の情報量を抑制するためのコード変換及びビットパターンの生成により、量子化誤差を抑えることが可能となる。
なお、上記の説明で示される実施の形態が、単なる一例であるのは当然である。すなわち、権利が請求される対象の概念は、上記に示される実施の形態が抽象化された上位概念である。そして、この上位概念は、一例である、上記に示された形態により実施(実装、実現)されてもよいし、上記に示された形態とは一部又は全部が異なる他の形態により実施(実装、実現)されてもよいのは当然である。
本発明に係る画像符号化・復号化装置は、集積回路のデータ転送のバス幅について、固定長のバス幅を保証しつつ、画像データを圧縮することが可能になる。また、ビット変化情報を量子化することで、予測値の信号レベルには依存せずに、常に、任意の量子化幅となる画素パターン数を一定に保つことが可能となる。さらに、ビット変化情報の情報量を抑制するためのコード変換及びビットパターン生成により、量子化誤差を抑える効果を有している。
従って、デジタルスチルカメラやネットワークカメラ等のように、画像を扱う装置において、ランダムアクセス性は維持したまま、画質の劣化を防止しつつ、画像データを符号化・復号化することが可能になる。そのため、近年の、画像データ処理量の増大へのキャッチアップに有用である。
100 画像符号化装置
101 処理対象画素値入力部
102,112 予測画素生成部
103 コード変換部
104 変化抽出部
105,113 量子化幅決定部
106 量子化処理部
107 パッキング部
110 画像復号化装置
111 アンパッキング部
114 逆量子化処理部
115 コード生成部
116 逆コード変換部
117 出力部
1501 ビットパターン生成部
1502 比較器
1503 ID生成部
2001 量子化情報ID参照部
2002 量子化幅算出部
2003 ID生成部
2800 デジタルスチルカメラ
2810,2810A 撮像部
2811 光学系
2812,2812A 撮像素子
2813 アナログフロントエンド
2814 タイミングジェネレータ
2820,2820A,3101,3201 画像処理部
2821 ホワイトバランス回路
2822 輝度信号生成回路
2823 色分離回路
2824 アパーチャ補正処理回路
2825 マトリクス処理回路
2826 ズーム回路
2830 表示部
2840,3102 圧縮変換部
2850 記録保存部
2860 SDRAM
2900 デジタルスチルカメラ
3100,3200 監視カメラ
3103 暗号化部
3104 通信部
3110,3210 監視カメラ用信号処理部
3202 信号入力部

Claims (38)

  1. 圧縮対象の画素の画素データを入力し、入力された前記画素データを圧縮する画像符号化方法であって、
    圧縮対象の前記画素の周辺に位置する少なくとも1つの周辺画素から、前記画素データの予測値を生成する予測画素生成ステップと、
    前記画素データをコード変換することにより、前記画素データがコード変換されたコードを生成するコード変換ステップと、
    前記コード変換ステップでコード変換された、前記画素データの前記コードと、前記予測画素生成ステップで生成された前記予測値のコードとの間のビット変化情報を、当該ビット変化情報のビット数よりも少ないビット数である量子化値へと量子化することにより、前記画素データを、前記量子化値へと圧縮する量子化ステップとを含む画像符号化方法。
  2. 請求項1記載の画像符号化方法であって、
    前記量子化ステップでは、前記ビット変化情報を所定の方法で並び替え、並び替えられた後の前記ビット変化情報を前記量子化値に量子化する画像符号化方法。
  3. 請求項1記載の画像符号化方法であって、
    前記コード変換ステップで生成される、前記画素データの前記コードと、前記予測画素生成ステップで生成された前記予測値のコードとの間での排他的論理和を演算することにより、その演算の演算結果である前記ビット変化情報を生成する変化抽出ステップを含み、
    前記量子化ステップは、
    前記変化抽出ステップで生成された前記ビット変化情報の有効桁数に応じて、前記有効桁数から、前記量子化値のビット長が減じられたビット数に、量子化幅を決定する量子化幅決定ステップと、
    前記量子化幅決定ステップで決定された前記量子化幅により、前記変化抽出ステップで生成された前記ビット変化情報を量子化する量子化処理ステップとを含む画像符号化方法。
  4. 請求項1記載の画像符号化方法であって、
    前記コード変換ステップでは、入力された前記画素データのコードを、変換の前におけるバイナリコードから、変換の後におけるグレイコードに変換する画像符号化方法。
  5. 請求項3記載の画像符号化方法であって、
    前記量子化幅決定ステップでは、前記変化抽出ステップで生成された、Nビットのビット長(Nは自然数)の前記ビット変化情報に対して、ビットデータの並び替えを行い、互いに異なる並び替えを前記ビット変化情報に行った複数のビットパターンを求め、求められた前記複数のビットパターンのうちで、有効桁数が最小となる前記ビットパターンを採用して、採用された前記ビットパターンの前記有効桁数から、前記量子化値のビット長が減じられたビット数を、量子化における前記量子化幅として決定する画像符号化方法。
  6. 請求項5記載の画像符号化方法であって、
    少なくとも1つの前記ビットパターンは、前記変化抽出ステップで生成された、Nビットの第1の前記ビット変化情報を、所定ビット位置で上位ビット側と下位ビット側とに分け、分けられた前記上位ビット側を逆転させた第2のビット変化情報である画像符号化方法。
  7. 請求項5記載の画像符号化方法であって、
    少なくとも1つの前記ビットパターンは、前記変化抽出ステップで生成された、Nビットの第1の前記ビット変化情報における複数のビットデータのビット位置を入れ替えた第3のビット変化情報である画像符号化方法。
  8. 請求項5記載の画像符号化方法であって、
    少なくとも1つの前記ビットパターンは、前記変化抽出ステップで生成された、Nビットの第1の前記ビット変化情報における、所定ビット位置から連続するKビット長(KはNより小さい自然数)の内の変化情報のみを抽出したLビット長(LはKより小さい)の第4のビット変化情報である画像符号化方法。
  9. 請求項3記載の画像符号化方法であって、
    前記量子化幅決定ステップでは、複数の前記画素データから構成されるグループ単位で、複数の前記画素データのうちの何れの前記画素データの量子化でも利用される、共通の量子化幅を決定する画像符号化方法。
  10. 請求項3記載の画像符号化方法であって、
    前記量子化幅決定ステップでは、決定された前記量子化幅を、Qビット長(Qは自然数)の符号に符号化し、前記量子化値が逆量子化される量子化幅を特定する符号化データを生成する画像符号化方法。
  11. 請求項3記載の画像符号化方法であって、
    さらに、符号化対象の前記画素データの値を置換する必要性の有無を判断する画素値置換判断ステップと、
    符号化対象の前記画素データの値を、任意の値に置換する画素値置換ステップとを備え、
    前記画素値置換判断ステップにより置換する必要があると判断された場合に、前記画素値置換ステップにより前記値が置換された前記画素データに対して、再度、コード変換を施し、前記予測値の前記コードとの前記ビット変化情報を量子化する画像符号化方法。
  12. 請求項11記載の画像符号化方法であって、
    前記画素値置換判断ステップは、前記量子化幅決定ステップで決められた前記量子化幅により画像データ情報の置換の必要性を判断する画像符号化方法。
  13. 請求項12記載の画像符号化方法であって、
    前記画素値置換判断ステップは、前記量子化幅決定ステップで決められた前記量子化幅が、非零であるW(Wは任意の自然数)であるときに、置換処理を必要と判断する画像符号化方法。
  14. 請求項12記載の画像符号化方法であって、
    前記画素値置換ステップは、符号化対象の前記画素データの前記値に対して、所定の範囲内に、2のべき乗が存在する場合に、符号化対象の前記画素データの前記値を置換する画像符号化方法。
  15. 請求項14記載の画像符号化方法であって、
    前記画素値置換ステップは、符号化対象の前記画素データの前記値を正方向に置換する場合には、(2のべき乗)の値に置換し、符号化対象の前記画素データの値を負方向に置換する場合には、(2のべき乗−1)の値に置換する画像符号化方法。
  16. 請求項3記載の画像符号化方法であって、
    前記量子化幅決定ステップは、量子化情報ID生成ステップを含み、
    前記量子化情報ID生成ステップでは、予め決められたQについての、2のQ乗個以下の量子化情報IDの中から、量子化がされた前記量子化幅を特定する量子化情報IDを1つ決定し、Qビット長の符号である、決定された1つの前記量子化情報IDに、当該量子化幅を符号化する画像符号化方法。
  17. 請求項5記載の画像符号化方法であって、
    前記量子化幅決定ステップは、量子化情報ID生成ステップを含み、
    前記量子化情報ID生成ステップで生成される量子化情報IDは、少なくとも、量子化がされた前記量子化幅を特定する量子化幅情報と、前記量子化幅決定ステップで採用された1つの前記ビットパターンを特定するビットパターン情報とを含む画像符号化方法。
  18. 請求項3記載の画像符号化方法であって、
    前記量子化処理ステップでは、量子化される前記量子化幅の数だけ下位に、前記ビット変化情報をシフトするビットシフトにより、前記ビット変化情報を量子化する画像符号化方法。
  19. 請求項1記載の画像符号化方法であって、
    量子化処理における前記量子化幅と、前記量子化値とのうちの少なくともいずれか一方を含む、Sビット長(Sは自然数)の符号化データを生成するパッキングステップを含む画像符号化方法。
  20. 請求項19記載の画像符号化方法であって、
    前記パッキングステップでは、先頭の前記画素データから所定の間隔が過ぎるまでの、先頭の前記画素データよりも後にあるそれぞれの前記画素データが前記量子化ステップで量子化された1個以上の前記量子化値と、先頭の前記画素データを量子化せずにそのままにしたデータとをパッキングしたデータを、前記符号化データとして生成する画像符号化方法。
  21. 請求項1記載の画像符号化方法であって、
    前記画素データは、当該画像符号化方法を実行する画像符号化装置に対して、撮像素子から入力されたRAWデータである画像符号化方法。
  22. 請求項21記載の画像符号化方法であって、
    色成分毎に、前記画素の符号データのダイナミックレンジMを変更する画像符号化方法。
  23. 請求項21記載の画像符号化方法であって、
    当該画像符号化方法は、量子化幅決定ステップを含み、色成分毎に互いに独立した処理を行う方法であり、
    前記量子化幅決定ステップでは、それぞれの前記色成分について、その色成分における前記量子化幅を決定する画像符号化方法。
  24. 請求項1記載の画像符号化方法であって、
    前記画素データは、撮像素子から画像処理装置に入力されたRAWデータから、当該画像処理装置により作られた輝度信号または色差信号のデータである画像符号化方法。
  25. 請求項1記載の画像符号化方法であって、
    前記画素データは、JPEG(Joint Photographic Experts Group)画像から、当該JPEG画像を伸張することにより伸張装置が得る輝度信号または色差信号のデータである画像符号化方法。
  26. 当該画像復号化方法の入力が、画素データの画素の周辺に位置する少なくとも1つの画素から生成される、前記画素データの予測値のコードと、前記画素データのコードとの間のビット変化情報が量子化された、量子化値であり、前記量子化値を前記画素データに復号化する画像復号化方法であって、
    既に復号化された過去の前記画素データから、現在の前記画素データの前記予測値を生成する予測画素生成ステップと、
    前記量子化値を逆量子化し、前記量子化値が逆量子化された前記ビット変化情報を生成する逆量子化ステップと、
    前記予測画素生成ステップで生成された前記予測値のコードと、前記逆量子化ステップで生成された前記ビット変化情報とから、前記画素データの前記コードを特定し、特定された前記コードに逆コード変換を施すことにより、前記画素データを得る逆コード変換ステップとを備える画像復号化方法。
  27. 請求項26記載の画像復号化方法であって、
    前記逆量子化ステップでは、前記ビット変化情報を所定の方法で並び替え、
    前記予測画素生成ステップで生成された前記予測値のコードと、前記逆量子化ステップで並び替えられた後の前記ビット変化情報とから、前記画素データの前記コードを生成する画像復号化方法。
  28. 請求項26記載の画像復号化方法であって、
    前記逆コード変換ステップでは、前記画素データの前記コードを、変換前におけるグレイコードから、変換後におけるバイナリコードに変換する画像復号化方法。
  29. 請求項26記載の画像復号化方法であって、
    前記逆量子化ステップは、
    前記逆量子化ステップにおける前記逆量子化における量子化幅を決定する量子化幅決定ステップと、
    前記量子化幅決定ステップで決定された前記量子化幅により前記量子化値を逆量子化して、前記ビット変化情報を生成する逆量子化処理ステップとを含み、
    前記逆量子化ステップで生成された前記ビット変化情報と、前記予測画素生成ステップで生成された前記予測値のコードとの間の排他的論理和を演算することにより、前記画素データに対応するコードとして、その演算の演算結果を生成するコード生成ステップを含む画像復号化方法。
  30. 請求項29記載の画像復号化方法であって、
    前記量子化幅決定ステップは、量子化情報ID参照ステップを含み、
    前記量子化情報ID参照ステップでは、量子化情報IDにより示される、前記量子化幅と、複数のビットパターンのうちから、採用されたビットパターンを特定するビットパターン情報とを特定する画像復号化方法。
  31. 請求項29記載の画像復号化方法であって、
    前記逆量子化処理ステップでは、前記量子化幅決定ステップで決定された前記量子化幅の数だけ上位にシフトするビットシフトを前記量子化値に行うことにより、前記ビット変化情報へと、前記量子化値を逆量子化する画像復号化方法。
  32. 請求項26記載の画像復号化方法であって、
    Sビット長のデータから、先頭の前記画素データ、前記逆量子化ステップにおける逆量子化での量子化幅、及び前記量子化値のうちの少なくともいずれか1つを抽出するアンパッキングステップを含む画像復号化方法。
  33. 圧縮対象の画素の画素データを入力し、入力された前記画素データを圧縮する画像符号化装置であって、
    圧縮対象の前記画素の周辺に位置する少なくとも1つの周辺画素から、前記画素データの予測値を生成する予測画素生成部と、
    前記画素データをコード変換することにより、前記画素データがコード変換されたコードを生成するコード変換部と、
    前記コード変換部によりコード変換された、前記画素データの前記コードと、前記予測画素生成部により生成された前記予測値のコードとの間のビット変化情報を、当該ビット変化情報のビット数よりも少ないビット数である量子化値へと量子化することにより、前記画素データを、前記量子化値へと圧縮する量子化部とを備える画像符号化装置。
  34. 当該画像復号化装置の入力が、画素データの画素の周辺に位置する少なくとも1つの画素から生成される、前記画素データの予測値のコードと、前記画素データのコードとの間のビット変化情報が量子化された、量子化値であり、前記量子化値を前記画素データに復号化する画像復号化装置であって、
    既に復号化された過去の前記画素データから、現在の前記画素データの前記予測値を生成する予測画素生成部と、
    前記量子化値を逆量子化し、前記量子化値が逆量子化された前記ビット変化情報を生成する逆量子化部と、
    前記予測画素生成部により生成された前記予測値のコードと、前記逆量子化部により生成された前記ビット変化情報とから、前記画素データの前記コードを特定し、特定された前記コードに逆コード変換を施すことにより、前記画素データを得る逆コード変換部とを備える画像復号化装置。
  35. 請求項33記載の画像符号化装置と、請求項34記載の画像復号化装置を備えたデジタルスチルカメラ。
  36. 請求項33記載の画像符号化装置と、請求項34記載の画像復号化装置を備えたデジタルビデオカメラ。
  37. 請求項33記載の画像符号化装置と、請求項34記載の画像復号化装置を備えた監視カメラ。
  38. 請求項33記載の画像符号化装置を備えた固体撮像素子。
JP2010013659A 2009-11-20 2010-01-25 画像符号化方法、復号化方法、装置 Active JP5530198B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010013659A JP5530198B2 (ja) 2009-11-20 2010-01-25 画像符号化方法、復号化方法、装置
CN201080051980.8A CN102754441B (zh) 2009-11-20 2010-09-03 图像编码方法、解码方法、装置、摄像机、元件
PCT/JP2010/005441 WO2011061885A1 (ja) 2009-11-20 2010-09-03 画像符号化方法、復号化方法、装置、カメラ、素子
US13/475,561 US9106250B2 (en) 2009-11-20 2012-05-18 Image coding method and decoding method, image coding apparatus and decoding apparatus, camera, and imaging device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009265670 2009-11-20
JP2009265670 2009-11-20
JP2010013659A JP5530198B2 (ja) 2009-11-20 2010-01-25 画像符号化方法、復号化方法、装置

Publications (2)

Publication Number Publication Date
JP2011130402A JP2011130402A (ja) 2011-06-30
JP5530198B2 true JP5530198B2 (ja) 2014-06-25

Family

ID=44059373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010013659A Active JP5530198B2 (ja) 2009-11-20 2010-01-25 画像符号化方法、復号化方法、装置

Country Status (4)

Country Link
US (1) US9106250B2 (ja)
JP (1) JP5530198B2 (ja)
CN (1) CN102754441B (ja)
WO (1) WO2011061885A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5822411B2 (ja) * 2013-08-12 2015-11-24 株式会社アポロジャパン 画像情報のコード変換装置、画像情報のコード変換方法、画像コードを用いた画像関連情報提供システム、画像情報のコード変換プログラム、及びそのプログラムを記録した記録媒体
CN105874718A (zh) * 2014-09-03 2016-08-17 奥林巴斯株式会社 解码装置、摄像***、解码方法、编解码方法以及解码程序
CN106303550B (zh) * 2015-06-11 2019-06-21 华为技术有限公司 去块效应滤波方法和去块效应滤波器
CN106559671B (zh) * 2015-09-30 2019-08-23 展讯通信(上海)有限公司 一种显示图像压缩方法及***
KR102412007B1 (ko) * 2017-07-20 2022-06-22 삼성전자주식회사 전자 장치 및 전자 장치에서 하이 다이나믹 레인지 이미지 데이터를 압축하는 방법
JP6672363B2 (ja) * 2018-03-23 2020-03-25 シャープ株式会社 符号化装置、表示装置、符号化装置の制御方法、および制御プログラム
CN109859700B (zh) * 2018-12-21 2021-07-16 惠科股份有限公司 一种数据处理方法以及数据处理装置
CN112235568B (zh) * 2019-07-15 2024-03-26 华为技术有限公司 图像编码方法、解码方法、装置和存储介质
US11443036B2 (en) * 2019-07-30 2022-09-13 Hewlett Packard Enterprise Development Lp Facial recognition based security by a management controller
CN111970463B (zh) * 2020-08-24 2022-05-03 浙江大华技术股份有限公司 光圈的校正方法及装置、存储介质和电子装置
CN112188200A (zh) * 2020-09-30 2021-01-05 深圳壹账通智能科技有限公司 一种图像处理方法、装置、设备及储存介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
AU6178294A (en) 1993-03-12 1994-09-26 Robert G Dickie Antenna fixture for hand-held cellular telephones
US5515388A (en) 1993-03-19 1996-05-07 Sony Corporation Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal
JP3546437B2 (ja) * 1993-03-31 2004-07-28 ソニー株式会社 適応形ビデオ信号演算処理装置
JP2002218250A (ja) * 2001-01-16 2002-08-02 Ricoh Co Ltd 画像符号化装置および画像符号化方法および記録媒体
US7221483B2 (en) * 2000-09-05 2007-05-22 Ricoh Company, Ltd. Image encoding method and apparatus, image decoding method and apparatus, image processing apparatus, image formation apparatus, and computer-executable programs
JP4470485B2 (ja) 2003-12-25 2010-06-02 株式会社ニコン 固定ビット長の予測差分圧縮データを生成する画像圧縮装置および画像圧縮プログラム、画像伸張装置および画像伸張プログラム、並びに電子カメラ
JP4769039B2 (ja) 2005-07-26 2011-09-07 パナソニック株式会社 デジタル信号符号化および復号化装置ならびにその方法
JP4508132B2 (ja) 2006-02-27 2010-07-21 ソニー株式会社 撮像装置、撮像回路、および撮像方法

Also Published As

Publication number Publication date
US20120229636A1 (en) 2012-09-13
CN102754441B (zh) 2015-04-15
US9106250B2 (en) 2015-08-11
CN102754441A (zh) 2012-10-24
WO2011061885A1 (ja) 2011-05-26
JP2011130402A (ja) 2011-06-30

Similar Documents

Publication Publication Date Title
JP5530198B2 (ja) 画像符号化方法、復号化方法、装置
JP5529685B2 (ja) 画像符号化方法、画像復号化方法、画像符号化装置及び画像復号化装置
KR100491333B1 (ko) Dwt-기반 기술에 의해 압축된 이미지를 코딩하기 위한실시간 알고리즘 및 구조
JP4769039B2 (ja) デジタル信号符号化および復号化装置ならびにその方法
US20110200263A1 (en) Image encoder and image decoder
JP2009017502A (ja) 画像符号化装置及び画像復号装置
US8224103B2 (en) Image encoding method and device, image decoding method and device, and imaging device
JP2017005456A (ja) 画像圧縮方法、画像圧縮装置及び撮像装置
KR20100079121A (ko) 이미지 인코더 및 이미지 인코딩 방법
CN110087082B (zh) 图像处理装置和用于操作图像处理装置的方法
US10477219B2 (en) Image-processing apparatus and lossless image compression method using intra-frame prediction
JP2016021731A (ja) 撮像装置およびその制御方法ならびにプログラム
US8233729B2 (en) Method and apparatus for generating coded block pattern for highpass coefficients
JP3231800B2 (ja) 画像符号化装置及び画像符号化方法
JP6352625B2 (ja) 画像データ圧縮回路、画像データ圧縮方法及び撮像装置
US9591332B2 (en) Image processing apparatus performing preprocessing to prevent boundary positions of divided rectangular regions of image data from being separated into dense and sparse portions
US20220201340A1 (en) Image processing device and method for operating image processing device
US20220201060A1 (en) Image processing device and method for operating image processing device
JP4139657B2 (ja) 映像信号の符号化装置および復号化装置
JP2009038740A (ja) 画像符号化装置
US8160377B2 (en) Image compression apparatus
JP2009260747A (ja) 画像符号化装置及びその制御方法
CN116074525A (zh) 一种系数解码方法、装置、图像解码器及电子设备
KR20070014898A (ko) 정지 영상 압축 방식에서의 비트율 제어 방법 및 이를 위한장치
JP2011171938A (ja) 画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置、固体撮像素子、ディジタル信号処理素子、ディジタルスチルカメラ及び監視カメラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140418

R151 Written notification of patent or utility model registration

Ref document number: 5530198

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250