JP6849359B2 - 符号化装置、符号化装置の制御方法、及びプログラム - Google Patents

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

Info

Publication number
JP6849359B2
JP6849359B2 JP2016186124A JP2016186124A JP6849359B2 JP 6849359 B2 JP6849359 B2 JP 6849359B2 JP 2016186124 A JP2016186124 A JP 2016186124A JP 2016186124 A JP2016186124 A JP 2016186124A JP 6849359 B2 JP6849359 B2 JP 6849359B2
Authority
JP
Japan
Prior art keywords
coded data
subband
subbands
coding
components
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
JP2016186124A
Other languages
English (en)
Other versions
JP2018050263A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016186124A priority Critical patent/JP6849359B2/ja
Publication of JP2018050263A publication Critical patent/JP2018050263A/ja
Application granted granted Critical
Publication of JP6849359B2 publication Critical patent/JP6849359B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、入力画像を符号化する符号化装置、符号化装置の制御方法、及びプログラムに関する。
従来の撮像装置は、撮像センサーにより撮像された生の画像情報(RAW画像)をデベイヤー処理(デモザイク処理)し、輝度と色差から成る信号に変換し、各信号についてノイズ除去、光学的な歪の補正処理、画像の適正化などのいわゆる現像処理を行う。そして、撮像装置は、現像処理した輝度及び色差の信号を圧縮符号化して記録媒体に記録する。
一方で、RAW画像を記録できる撮像装置も存在する。RAW画像は、記録に必要なデータ量が膨大になるが、オリジナル画像に対する補正や劣化を最低限に抑えられ、撮影後に編集できる利点があるので、上級者によって好んで使われている。また、近年、RAW画像の記録は、静止画のみならず、動画にも適用されている。
RAW画像の圧縮方式は、従来の圧縮方式であるJPEG2000のように、符号化によるブロック歪が発生しない方式が適していると考えられる。具体的には、ブロック単位でDCT(離散コサイン変換)をかけて圧縮せずに、ウェーブレット変換等の周波数変換を用いて、周波数帯であるサブバンドに分解し、各サブバンドを圧縮する方式が適していると考えられる。この場合、ウェーブレット変換により生成された各サブバンドの係数は、一旦DRAMに出力されて保持され、そのDRAMに保持された各サブバンドの係数が、一つずつ順番に圧縮符号化される。
また、近年の撮像装置は、画素数が増加し、扱う情報量が膨大になったため、DRAMのバス帯域が設計上のボトルネックの一つになっている。これに対し、例えば特許文献1には、JPEG2000の圧縮符号化方式において、DRAM上に符号化データをまとめて配置することで、DRAM上に確保する領域の数を削減可能とし、DRAMのバス帯域の消費低減を実現している。
特許第4665898号公報
ここで、特許文献1に記載の符号化装置は、ウェーブレット変換を用いた圧縮符号化において、同一階層のウェーブレット分解レベルで且つ空間的に同一位置に属する交流サブバンドの係数を組として符号化する。そして、特許文献1に記載の符号化装置は、同一階層のウェーブレット分解レベル内で係数組が抽出された順序で連結し、高周波サブバンドの符号化データを形成することにより、DRAMに確保する領域の数を削減可能となされている。しかしながら、特許文献1に記載の技術の場合、同一階層のウェーブレット分解レベルの各サブバンドの符号化データが一つの領域内に混在してしまい、符号化データの管理が煩雑になるといった問題がある。
そこで、本発明は、符号化データの管理が容易で、符号化においてDRAM等のメモリの容量消費を抑えることを可能にすることを目的とする。
本発明の符号化装置は、入力画像から符号化データを生成する符号化手段であって、前記入力画像の複数のコンポーネント毎にウェーブレット変換により複数のサブバンドの係数データを生成して、前記複数のコンポーネント毎に前記複数のサブバンドの係数データを符号化して符号化データを生成する符号化手段と、前記符号化データを一時的に記憶するためのメモリと、前記メモリのうち複数の記憶領域として使用可能な容量の記憶領域を、前記複数のコンポーネント毎の前記複数のサブバンドに割り当てることにより、前記複数のコンポーネント毎の前記複数のサブバンドにそれぞれ対応した複数の記憶領域を前記メモリに確保し、前記複数のコンポーネント毎の複数のサブバンドの符号化データを、各コンポーネント及び各サブバンドに対応する前記記憶領域に記憶させる制御手段と、を有し、前記制御手段は、前記メモリのうち前記複数の記憶領域として使用可能な容量が第1の閾値より大きい場合には、前記複数のコンポーネント毎の前記複数のサブバンドに対して均一な大きさとなるように記憶領域を割り当てる第1の方法を選択し、前記メモリのうち前記複数の記憶領域として使用可能な容量が前記第1の閾値以下の場合には、前記複数のコンポーネント毎の前記複数のサブバンドに対して均一でない大きさの記憶領域を割り当てる第2の方法を選択することを特徴とする。
本発明によれば、符号化データの管理が容易で、符号化においてDRAM等のメモリの容量消費を抑えることが可能となる。
本実施形態に係る撮像装置の概略構成例を示す図である。 画素配列、画像データ入力、画素プレーンの説明図である。 画素配列とプレーン、サブバンドの関係を示す図である。 符号化ストリームの概略構造を示す図である。 第1の実施形態のDRAM内の符号化データ領域の説明図である。 DRAM内の符号化データ領域とその指定先の説明図である。 入力画像とプレーン内の各サブバンドの発生符号量を示す図である。 第2の実施形態のDRAM内の符号化データ領域の説明図である。 符号化データの領域指定方法を示すフローチャートである。 第3の実施形態のDRAM内の符号化データ領域の説明図である。 符号化領域の確保の方法を選択する処理のフローチャートである。
以下、添付図面を参照しながら、本発明の一実施形態を詳細に説明する。
<第1の実施形態>
図1は、本発明の符号化装置、符号化装置の制御方法、及びプログラムの一適用例である本実施形態に係る撮像装置の概略構成例を示すブロック図である。
本実施形態の撮像装置100は、撮像により取得した画像データを圧縮符号化し、その圧縮符号化による符号化データを、記録媒体111に記憶するものである。詳細は後述するが、撮像装置100は、撮像された画像データを離散ウェーブレット変換(DWT)により複数のサブバンドの係数データに変換し、それら各サブバンドの係数データを内部SRAMに保持する。そして、撮像装置100は、内部SRAMに保持した各サブバンドの係数データを所定の単位ごとに順番に圧縮符号化し、その圧縮符号化による符号化データを、後述するようにDRAM108内に確保した記憶領域を指定して保持させる。その後、撮像装置100は、DRAM108から読み出した符号化データから符号化ストリームを生成して記録媒体111に記憶させる。
また、本実施形態では、ウェーブレット変換を水平方向と垂直方向にそれぞれ二回行った場合を例に挙げている。ウェーブレット変換を水平方向と垂直方向にそれぞれ二回行った場合、ウェーブレット分解レベル"2"までのサブバンドが存在することになる。なお、ウェーブレット分解レベルとは、ウェーブレット変換の階層(解像度レベル)である。以下、ウェーブレット分解レベルを分解Lvと表記し、ウェーブレット分解レベル"2"を分解Lv2、ウェーブレット分解レベル"1"を分解Lv1と表記する。
図1に示した本実施形態の撮像装置100において、制御部109は、CPUと当該CPUが実行する制御プログラムを格納するメモリとを有し、撮像装置100の全体及び各処理を制御する。制御部109は、後述するアドレス管理部112をも有している。
撮像光学部101は、レンズ等の光学系の他、絞り、シャッター等を有し、撮像対象である被写体等の光学像を、撮像センサー部102の撮像面上に結像させる。撮像センサー部102は、撮影動作の開始が指示されると、画素ごとに配置された赤(R)、緑(G)、青(B)のカラーフィルタを透過した光を受光してアナログ電気信号に変換する。そして、撮像センサー部102は、そのアナログ電気信号をアナログ/デジタル変換したデジタルデータを、撮像データとして出力する。本実施形態では、撮像センサー部102からは、動画の連続した各フレームの撮像データや、静止画撮影によるフレームの撮像データが、いわゆるラスタースキャンの順に出力されるとする。以下の説明では、特に区別が必要な場合を除き、動画のフレームと静止画のフレームを区別せず、単にフレームとのみ表記する。
図2(A)は、撮像センサー部102に配置される各画素200の一部と、各画素200に対応したカラーフィルタの一部とを示している。図2(A)に示すように、カラーフィルタは、R,G(G1,G2),Bのフィルタが画素200ごとにモザイク状に配置されている。具体的には、カラーフィルタは、水平方向2画素と垂直方向2画素の4画素につき、Rが1画素、Gが2画素(G1,G2)、Bが1画素で1セットとなされ、それらが規則的に並べられた構造となされている。このような画素ごとのカラーフィルタの配置は、一般にベイヤー配列と呼ばれており、R,G(G1,G2),Bの1セットで一つの色が決定される。撮像センサー部102からは、図2(B)に示すようなベイヤー配列の1セット210の撮像データが、ラスタースキャンの順211に出力されて、センサー信号処理部103に送られる。
センサー信号処理部103は、撮像センサー部102から供給された撮像データに対し、画素の修復処理を行う。修復処理の対象となされる画素は、撮像センサー部102における欠落画素や信頼性の低い画素である。センサー信号処理部103は、修復処理として、修復対象の画素の値に対し、その周辺画素の画素値を用いた補間処理や、所定のオフセット値を減算する処理等を行う。本実施形態では、センサー信号処理部103から出力される画像情報を生(未現像)の画像を意味するRAW画像と称し、1フレーム分のRAW画像のデータが本実施形態における入力画像のデータである。その後、センサー信号処理部103は、それら処理を行った後のRAW画像を、図2(C)のように、R,G(G1,G2),Bの各色別のコンポーネントに分離して、そのコンポーネントのデータを入力画像バッファ104に出力する。本実施形態では、1フレーム分のRAW画像からR,G(G1,G2),Bの各色別に分離されたコンポーネントを、プレーン(220)と表記する。そして、センサー信号処理部103は、R,G(G1,G2),Bの所定数のプレーン220のデータを、ラスタースキャンのライン順に入力画像バッファ104に出力する。本実施形態では、センサー信号処理部103からは、一例として、G1,G2,R,Bのプレーン順で、且つ各プレーンではそれぞれラスタースキャンのライン順にデータが出力される例を挙げて説明する。なお、センサー信号処理部103からは、各色のプレーンで並列するようにして、ラスタースキャンのライン順にデータが出力されてもよい。
入力画像バッファ104は、前述したラスタースキャン順の少なくとも複数ライン分のデータを、保持することが可能なバッファメモリとなされている。本実施形態では、入力画像バッファ104は、後述する画像符号化部113の周波数変換部105で行われるプレーンごとのウェーブレット変換処理に必要な最低限のライン数分だけのデータを保持可能なメモリとなされている。一例として、周波数変換部105において、5タップの低域通過フィルタと3タップの高域通過フィルタとで構成される5−3フィルタを用いたウェーブレット変換が行われる場合、5ライン分のデータがあればウェーブレット変換処理の実行が可能となる。したがってこの例の場合、入力画像バッファ104は、少なくとも5ライン分のデータを保持可能なメモリとなされる。なお、センサー信号処理部103から各色のプレーンで並列してライン順のデータが出力されるような場合には、入力画像バッファ104は、各色のプレーンごとの複数ライン分のデータを、保持可能なメモリとなされる。その他にも、入力画像バッファ104は、後段のウェーブレット変換に必要なデータ量以上のデータ(例えば1フレーム分に相当するデータ)を保持するメモリであってもよい。
そして、ウェーブレット変換処理に必要なデータが入力画像バッファ104に保持されると、制御部109は、画像符号化部113に対し、入力画像バッファ104からのデータ読み出しと符号化処理の開始を指示する。画像符号化部113は、制御部109からの指示に従い、入力画像バッファ104に保持されているデータを読み出して、符号化処理を開始する。なお、以下の説明では、例えばG1,G2,R,Bのプレーンの順番で符号化処理が行われる例を挙げて説明するが、各色のプレーンで並列して符号化処理が行われてもよい。
画像符号化部113は、周波数変換部105、量子化部106、符号化部107を有して構成されている。
周波数変換部105は、入力画像バッファ104から読み出された複数ライン分のデータに対し、所定の周波数変換の一例である離散ウェーブレット変換を行うことにより、複数の周波数帯であるサブバンドごとの係数データを生成する。ウェーブレット変換により生成されるサブバンドの詳細については後述する。また、周波数変換部105は、ウェーブレット変換により得られた複数ラインごとの各サブバンドの係数データを、不図示の内部SRAMに保持可能となされている。周波数変換部105は、その内部SRAMに保持した各サブバンドの係数データをライン単位でサブバンドの順に読み出して、量子化部106に出力する。具体的には、内部SRAMからは、ライン単位でサブバンド順に係数データが読み出されて、量子化部106に出力される。なお、内部SRAMは、周波数変換部105の内部ではなく、周波数変換部105に併設、つまり画像符号化部113内の一つの構成要素として配設されていてもよい。
量子化部106は、周波数変換部105からライン単位で各サブバンドの順番に供給された係数データ、つまり内部SRAMから読み出された係数データを、制御部109により設定された量子化ステップの値に基づいて量子化して、符号化部107に出力する。符号化部107は、量子化部106にて量子化された係数データを圧縮符号化して符号化データを生成する。なお、本実施形態において、圧縮符号化は、例えばゴロム符号化のようなエントロピー符号化により行われるとする。
また、このときの画像符号化部113の符号化部107には、制御部109のアドレス管理部112からアドレス情報が通知される。詳細は後述するが、符号化部107は、アドレス管理部112から通知されたアドレス情報に基づいて、サブバンドごとの符号化データをDRAM108に記憶させる。DRAM108は、記憶保持動作が必要なダイナミックランダムアクセスメモリである。
ここで、一般に、ウェーブレット変換による各サブバンドの係数データを符号化する場合には、各サブバンドの係数データ、つまり符号化前の係数データを一旦DRAMに保持させ、そのDRAMに保持した係数データを順番に圧縮符号化するようになされている。このように、符号化前の係数データを一旦DRAMに保持させた後、そのDRAMに保持した係数データを順番に読み出して圧縮符号化する場合、DRAMのバス帯域を消費してしまう。これに対し、本実施形態では、前述したように、画像符号化部113は、ウェーブレット変換による各サブバンドの係数データを内部SRAMに保持し、その内部SRAMに保持した各サブバンドの係数データをライン単位ごとに符号化している。すなわち、本実施形態では、符号化される前の係数データをDRAMに保持させず、係数データを符号化した後の符号化データをDRAMに記憶されるようにしている。このため、本実施形態の場合、符号化前の係数データをDRAMに保持させる場合のように、DRAMのバス帯域を消費してしまうことはない。ただしこの場合、内部SRAMに保持した各サブバンドの係数データをライン単位でサブバンドの順に読み出して符号化しなければならない。このため、その符号化データをDRAMに保持させる際には、予めサブバンドの数だけの記憶領域をDRAM内に確保しておく必要がある。また、DRAM内に予めサブバンドの数だけ確保した記憶領域に符号化データを記憶させる際には、DRAM内で符号化データが重複しないようにする必要がある。これらDRAMに対する記憶領域の確保や符号化データの重複を避けるためのアドレス管理が適切に行われない場合には、DRAMの容量を大量に消費してしまう虞がある。
このようなことから、本実施形態では、制御部109のアドレス管理部112において、適切なアドレス情報の管理と生成を行うことにより、DRAMの消費を抑えることを可能にしている。すなわち、アドレス管理部112は、ウェーブレット変換によるサブバンドの数に応じた各記憶領域を後段のDRAM108に確保するための領域指定のアドレス情報と、サブバンドごとの符号化データを格納する記憶領域の開始アドレスとを生成する。そして、アドレス管理部112は、それらアドレス情報を、符号化部107に通知する。符号化部107は、サブバンドごとの符号化データを、それらアドレス情報により指定されたDRAM108内の記憶領域に出力する。これにより、DRAM108には、それらアドレス情報に基づく記憶領域に、サブバンドごとの符号化データが記憶されることになる。なお、アドレス情報によりDRAM108内に確保される記憶領域についての詳細な説明は後述する。
画像符号化部113により、少なくとも1フレーム分の符号化が完了すると、記録部110は、DRAM108からサブバンドごとに符号化データを読み出して記録媒体111に記録する。具体的には、記録部110は、1フレーム分の各色のプレーンごとの各サブバンドの符号化データから、符号化ストリームを生成して、その符号化ストリームを記録媒体111に記録する。記録部110により生成される1フレーム分の符号化ストリームの詳細については後述する。
<各プレーン別のサブバンドと符号化ストリームの構造>
図3は、ベイヤー配列301と各色別のプレーン302〜305、各色別のプレーン302〜305にそれぞれ対応したサブバンド306〜309の関係を示す概念図である。なお、プレーン302はG1の色に対応したG1プレーン、プレーン303はG2の色に対応したG2プレーン、プレーン304はRの色に対応したRプレーン、プレーン305はBの色に対応したBプレーンである。サブバンド306は、G1プレーン302に対してウェーブレット変換を行ったことで生成されたサブバンドである。以下同様に、サブバンド307はG2プレーン303に対応したサブバンド、サブバンド308はRプレーン304に対応したサブバンド、サブバンド309はBプレーン305に対応したサブバンドである。
図3のサブバンド306〜309の例は、各プレーン302〜305に対し、離散ウェーブレット変換を水平方向と垂直方向でそれぞれ二回行った場合を示しており、ウェーブレット分解レベル"2"(分解Lv2)までのサブバンドが存在している。図3の各サブバンド306〜309の中で、サブバンド2LL,2LH,2HL,2HHは分解Lv2のサブバンドであり、サブバンド1LH,1HL,1HHは分解Lv1のサブバンドである。また各サブバンド306〜309の中で、左上のサブバンド2LLが最も低域のサブバンドであり、右下方向のサブバンドになるにしたがって高域のサブバンドとなる。
図3に示すように、ウェーブレット変換では、プレーン302〜305の四つのプレーンから、それぞれサブバンド2LL,2LH,2HL,2HH,1LH,1HL,1HHの七つのサブバンドが生成される。このため、1フレーム分に相当するサブバンド数は、全部で28個(4×7=28)となる。
図4は、1フレーム分に相当する符号化ストリーム401の構造を示す概念図である。ここでは、図3の例と同様に、各プレーン302〜305に対し、離散ウェーブレット変換を水平方向と垂直方向でそれぞれ二回行った場合の分解Lv2までのサブバンドから生成される符号化ストリームの例を挙げている。
図4に示すように、符号化ストリーム401は、ヘッダ410と、G1,G2,R,Bの各プレーンのサブバンドから各々生成された符号化データ411〜414とで構成されている。すなわち、記録部110は、デコードに必要な情報であるヘッダ410を先頭に付加した後、G1,G2,R,Bの各プレーンの各サブバンドの符号化データ411〜414を順番に配置して結合した、符号化ストリーム401を生成する。各プレーンの各符号化データ411〜414の中には、サブバンド2LL,2HL,2LH,2HH,1HL,1LH,1HHの順、つまり分解Lv2の低域から分解Lv1の高域までの順に、各サブバンドの符号化データが配置される。なお、図4では、Rプレーンの符号化データ413についてのみ七つのサブバンド2LL,・・・,1HHの配置例を挙げているが、他の各プレーンの符号化データについても同様にそれぞれ七つのサブバンドが配置される。記録部110は、この図4に示したような符号化ストリーム401を、記録媒体111に記録する。
<DRAMに対する領域確保とアドレス管理>
図5(A)と図5(B)は、アドレス管理部112が、アドレス情報を介して、DRAM108内に各サブバンドの符号化データを保持するために確保する複数の記憶領域(以下、符号化データ領域と表記する。)を示す概念図である。なお、以下に説明する各符号化データ領域は、アドレス管理部112がアドレス情報を介してDRAM108内に確保する領域であるが、DRAM108への各符号化データの記録は、符号化部107がアドレス情報に基づいて行う。
図5(A)は、G1,G2,R,Bの各色のプレーンにおける全てのサブバンドに対して、DRAM108内にそれぞれ均等な符号化データ領域501〜504が確保された場合を表す概念図である。すなわち、図5(A)の例では、G1,G2,R,Bの各色のプレーンにおいて、分解Lv2から分解Lv1までの各サブバンド2LL,・・・,1HHに対して、それぞれ均等な符号化データ領域501,502,503,504が確保されている。
一方、図5(B)は、G1,G2,R,Bの各色のプレーンごとに重みを付けた大きさの符号化データ領域511〜514を、DRAM108に確保した例を表す概念図である。図5(B)の例は、G1とG2のプレーンについて、RとBのプレーンよりも大きい重みが付けられた例を表している。この例の場合、アドレス管理部112は、G1とG2のプレーンの符号化データ領域511と512については、RとBのプレーンの符号化データ領域513と514よりも大きい領域を割り当てる。また、図5(B)の例の場合、アドレス管理部112は、G1,G2,R,Bの各色のプレーンにおいて、分解Lv2から分解Lv1までの各サブバンド2LL,・・・,1HHに対しては、それぞれ均等な大きさの符号化データ領域を確保している。
この図5(B)の例のように、各色のプレーンごとに重みを付けて符号化データ領域の大きさを変更した場合、以下に説明するような理由から、DRAM108の領域の使用効率を高めることが可能となる。
量子化部106では、符号化効率がよくなるように、輝度成分を多く含むG1とG2のプレーンのサブバンドに対しては符号量を多く割り当て、それ以外のRとBのプレーンのサブバンドに対しては符号量を削減するように量子化を行うのが一般的である。この場合、例えば図5(A)のように各プレーンに対して重み付けを行わずに符号化データ領域を確保したとすると、G1とG2のプレーンの符号化データ領域では、RとBのプレーンに対する符号化データ領域よりも空き領域の割合が少なくなる。一方、R,Bのプレーンの符号化データ領域では、G1とG2のプレーンの領域よりも空き領域の割合が多くなる。
したがって、図5(B)に示したように、G1とG2のプレーンに対し、より大きい符号化データ領域を割り当てるようにすれば、G1,G2,R,Bの各符号化データ領域の空き領域の割合を近づけることができるようになる。これにより、DRAM108の領域の使用効率を高めることができるようになり、その結果、より小さいサイズのDRAM108を使用することも可能となる。
例えば図5(B)のような各符号化データ領域511〜514を確保する場合、アドレス管理部112は、それら確保する領域と各サブバンドに対応した符号化データの出力先とを表すアドレス情報を、符号化部107へ通知する。これにより、符号化部107は、そのアドレス情報に基づいて、G1,G2,R,Bのプレーンのサブバンドの符号化データを、DRAM108に効率よく保持させることができる。
図5(A)や図5(B)は、入力されるフレームの各サブバンドに割り当てられる符号化データ領域が固定された例であるが、アドレス管理部112は、入力されるフレームごとに、各サブバンドに割り当てる符号化データ領域を変更することも可能である。図6(A)、図6(B)、図6(C)は、例えば動画のフレームのように時間軸上で連続したフレームごとに、各サブバンドに割り当てられる符号化データ領域を順次変更する場合の説明に用いる図である。以下、図6(A)、図6(B)、図6(C)を用いて、アドレス管理部112が、時間軸上で連続したフレームごとに、各サブバンドに対して割り当てる符号化データ領域を順次変更する場合の領域指定方法について説明する。
図6(A)は、一つのフレームに対応した各色のプレーンのうち、一つのプレーンの各サブバンドに対して、DRAM108内に割り当てられる符号化データ領域を表した概念図である。なお、他のプレーンの各サブバンドに対して割り当てられる符号化データ領域についても同様であるとする。すなわち、図6(A)中の"0","1",・・・の各数字は、一つのプレーンの各サブバンド2LL,・・・,1HHに対して割り当てられる、符号化データ領域を概念的に表す番号である。なお、図6(A)に示すように、各サブバンドに割り当てられる符号化データ領域は、それぞれ大きさが全て均等になされているとする。
図6(B)は、例えば動画のように時間軸上で連続した各フレームについて、一つのプレーンの各サブバンドに対してそれぞれ割り当てられる符号化データ領域が固定化されている場合を表している。図6(B)では、時間順に入力された各フレームをそれぞれP1,P2,P3,・・・で表している。また、図6(B)では、一つのフレームの中の一つのプレーンの各サブバンド2LL,・・・,1HHに対して割り当てられた符号化データ領域を、それぞれ"0","1",・・・の各数字で表している。図6(B)では、例えばフレームP1の符号化がなされた場合、そのフレームP1の一つのプレーンの各サブバンド2LL,2HL,・・・,1HHに対し、"6","5",・・・,"0"の順に符号化データ領域が割り当てられている。次のフレームP2についても同様に、そのフレームP2の同プレーンの各サブバンド2LL,2HL,・・・,1HHに対しては、"6","5",・・・,"0"の順に符号化データ領域が割り当てられている。以下、フレームP3以降も同様の割り当てがなされる。
図6(C)は、時間順に入力されたフレームごとに、同プレーンの各サブバンドに対してそれぞれ割り当てられる符号化データ領域が変更される場合を表している。図6(C)でも図6(B)と同様に、時間順に入力された各フレームがそれぞれP1,P2,P3,・・・で表され、各サブバンドに割り当てられた符号化データ領域がそれぞれ"0","1",・・・で表されている。図6(C)では、フレームP1の符号化がなされた場合、そのフレームP1の一つのプレーンの各サブバンド2LL,2HL,・・・,1HHに対し、"6","5",・・・,"0"の順に符号化データ領域が割り当てられている。これに対し、次のフレームP2では、そのフレームP2の同プレーンの各サブバンド2LL,2HL,・・・,1HHに対しては、"5","4",・・・,"6"の順に符号化データ領域が割り当てられる。さらに次のフレームP3では、そのフレームP3の同プレーンの各サブバンド2LL,2HL,・・・,1HHに対しては、"4","3",・・・,"5"の順に符号化データ領域が割り当てられる。すなわち、図6(C)に示した例の場合、アドレス管理部112は、時間順に入力された各フレームP1,P2,P3,・・・の同プレーンの各サブバンドに割り当てる符号化データ領域が、例えば一つずつずらされるように変更されている。
この図6(C)のように、時間順に入力されたフレームごとに、同プレーンの各サブバンドに割り当てる符号化データ領域を変更した場合、以下に説明するような理由から、DRAM108の領域の使用効率を高めることが可能となる。
図7(A)は、本実施形態の撮像装置100の画像符号化部113へ入力される、一つのフレームの入力画像701の例を示す図であり、図7(B)は、その入力画像701を画像符号化部113で符号化した際に発生する符号量を示す図である。なお、図7(B)は、図7(A)の入力画像701のフレームの一つのプレーンにおける、各サブバンド2LL,2HL,2LH,2HH,1HL,1LH,1HH別の発生符号量を示している。
図7(A)に示すように、入力画像701は例えば縦縞の多く含まれる画像であるとする。この入力画像701をウェーブレット変換すると、水平方向の係数が多く発生することになる。その結果、図7(B)のように、例えば分解Lv2のサブバンド2HLと分解Lv2のサブバンド1HLの発生符号量が、分解Lv2の他のサブバンド2LL,2LH,2HHや分解Lv1の他のサブバンド1LH,1HHの発生符号量と比較して多くなる。このように、サブバンド2HLと1HLの発生符号量が多くなる場合、例えば図6(B)のようにフレームごとの各サブバンドに割り当てられる符号化データ領域を固定化すると、サブバンド2HLと1HLの符号化データ領域の空き領域が少なくなってしまう。一方、他のサブバンドに対する空き領域は大きくなる。
一方、図6(C)のように、各サブバンドに対して割り当てられる符号化データ領域を、時間順に入力されたフレームごとに一つずつずらすように変更した場合、各符号化データ領域の空き領域が平滑化されることになる。すなわち、図6(C)の例のような"0"〜"6"で符号化データ領域の割り当て先が一巡する例の場合、7フレーム分で符号化データ領域の空き領域が平滑化されることになる。このように、DRAM108内で各サブバンドの符号化データの割り当て先を変更する制御を行うことで、DRAM108の領域の使用効率を高めることができるようになり、その結果、従来よりも、より小さいサイズのDRAM108を使用することも可能となる。
以上説明したように、第1の実施形態の撮像装置100においては、各サブバンドに対して割り当てる符号化データ領域と、DRAM108の出力先(アドレス)とを適切に制御している。これにより、第1の実施形態によれば、効率よくDRAM108を使うことができ、より少ない容量のDRAM108を用いて、符号化処理を行うことが可能な撮像装置100を実現できる。また、第1の実施形態によれば、従来の技術のように同一階層の分解Lvの各サブバンドの符号化データが一つの符号化データ領域内に混在することがないため、符号化データの管理が容易である。
第1の実施形態の撮像装置100では、1フレーム毎に、各サブバンドに対して割り当てる符号化データ領域と、DRAM108の出力先(アドレス)とを制御するものとした。しかし、必ず1フレーム毎で変更する必要はない。1フレーム毎ではなく、複数フレーム(例えば、4フレーム)毎に各サブバンドに対して割り当てる符号化データ領域と、DRAM108の出力先(アドレス)とを変更するようにしてもよい。ただし、より少ない枚数のフレーム毎に更新したほうが、効率よくDRAM108を使うことができる。
<第2の実施形態>
次に、第2の実施形態について説明する。第2の実施形態の撮像装置100の構成は前述の図1と同様であるため、その図示と説明は省略する。第2の実施形態の場合、アドレス管理部112が、DRAM108に対して符号化データ領域を確保する際の、各サブバンドに対する割り当て方法が第1の実施形態とは異なり、それ以外には前述した第1の実施形態と同様である。以下、第1の実施形態とは異なる処理を中心に、第2の実施形態について説明する。
第2の実施形態の場合、アドレス管理部112は、各色プレーン単位の重み付けと、各プレーン内の分解Lvごとの重み付けとにより、プレーンごとに異なる大きさで、且つ分解Lvごとに異なる大きさの符号化データ領域を確保する。なお、第2の実施形態では、色プレーンごとの重み付けと、各プレーン内の分解Lvごとの重み付けとを行って符号化データ領域を確保する場合だけでなく、分解Lvごとの重み付けのみで符号化データ領域を確保してもよい。以下の説明では、色プレーンごとの重み付けと、各プレーン内の分解Lvごとの重み付けの両方を行って符号化データ領域を確保する例を挙げて説明する。
図8(A)、図8(B)を用い、第2の実施形態のアドレス管理部112が、DRAM108に確保する符号化データ領域について説明する。
図8(A)は、各色のプレーンごとに、全てのサブバンドに対する符号化データ領域が均等に確保された場合の各符号化データ領域801〜804を示す概念図である。図8(A)の各符号化データ領域801〜804は、図5(A)の各符号化データ領域501〜504と同様のものであり、その詳細な説明は省略する。なお、本実施形態において、図8(A)は、図5(A)と同様の図であるが、図8(B)に示す本実施形態の符号化データ領域の割り当て方法を、より判り易く説明するために用いている。
図8(B)は、各色のプレーンごとに重み付けがなされ、更に、各色プレーン内の分解Lvごとに重みが付けられた割り当てにより確保した各サブバンドの符号化データ領域811〜814の例を示す図である。図8(B)の例では、アドレス管理部112は、G1とG2のプレーンの符号化データ領域811と812について、RとBのプレーンの符号化データ領域813と814よりも大きい領域を割り当てる。このようなプレーンごとの重み付けは、前述の図5(B)で説明したのと同様の理由により行われる。
更に、第2の実施形態の場合、アドレス管理部112は、分解Lvごとに重み付けを行った符号化データ領域を、各色プレーン内の各サブバンドに対して割り当てるようにする。図8(B)の例の場合、アドレス管理部112は、分解Lv2の各サブバンド2LL,2HL,2LH,2HHよりも、分解Lv1の各サブバンド1HL,1LH,2HHに対して、より大きい符号化データ領域を割り当てている。なお、同じ分解Lv内の各サブバンドに対する符号化データ領域の大きさは均等な大きさとして確保されている。
第2の実施形態において、図8(B)のように、分解Lv2の各サブバンドよりも、分解Lv1の各サブバンドに対して大きい符号化データ領域を割り当てるのは、以下のような理由による。
前述の図3に示された各サブバンド306〜309の例からも判るように、ウェーブレット変換により生成された各サブバンドのうち、分解Lv1に含まれる各サブバンドの係数の数は、分解Lv2に含まれる各サブバンドの係数の数に対して約4倍となる。したがって、各サブバンドに対する符号化がなされた場合、分解Lv1に含まれるサブバンドの方が、分解Lv2よりも、符号化で発生する符号量が多くなる。ここで、図8(A)の例のように、各サブバンドの符号化データ領域の大きさを固定化したとすると、分解Lv1に含まれるサブバンドに対する符号化データ領域の空き領域が少なくなってしまう。一方で、分解Lv2に含まれるサブバンドに対する符号化データ領域の空き領域は大きくなる。
したがって、図8(B)に示したように、分解Lv2の各サブバンドよりも、分解Lv1の各サブバンドに大きい符号化データ領域を割り当てれば、分解Lv1と分解Lv2とで各符号化データ領域の空き領域の割合を近づけることができるようになる。これにより、DRAM108の領域の使用効率を高めることができるようになり、その結果、より小さいサイズのDRAM108を使用することも可能となる。
また、第2の実施形態では、時間順に入力されるフレームの各プレーンの各サブバンドに対して割り当てられる符号化データ領域は、一つ前のフレームの符号化の際に各サブバンドで発生した符号量と、DRAM108の空き容量とに基づいて決定される。具体的には、入力されたフレームの各プレーンの各サブバンドのうち、符号化の発生符号量が最も多くなると考えられるサブバンドには、一つ前のフレームの符号化の際に最も空きが大きい領域を割り当てるようにする。これにより、時間順に入力された各フレームが符号化される場合、各フレームの各プレーン内における各サブバンドの符号化データ領域の空き領域が平滑化されることになる。
なお、各サブバンドのうち何れのサブバンドの発生符号量が多くなるかは、例えば一つ前のフレームの符号化でサブバンドごとに発生した符号量を基に判定することができる。すなわち、一つ前のフレームの符号化時のサブバンドのうち、発生符号量が多かったサブバンドは、次のフレームの符号化においても発生符号量が多くなると考えられる。したがって、一つ前のフレームの符号化の際に各サブバンドで発生した発生符号量をみれば、何れのサブバンドの発生符号量が多くなるかを判定することができる。
図9は、第2の実施形態において、アドレス管理部112が、一つ前のフレームにおけるサブバンドごとの発生符号量を基に、入力されたフレームの各サブバンドに対する符号化データ領域を確保する処理の流れを示すフローチャートである。図9のフローチャートに示した各処理は、図1に示したハードウェア構成により実現される場合だけでなく、本実施形態に係るプログラムをCPU等で実行することにより実現されてもよい。以下の説明では、フローチャートの各処理のステップS901〜ステップS903をS901〜S03と略記する。図9のフローチャートの処理は、画像符号化部113による符号化処理が開始されることでスタートする。
アドレス管理部112は、画像符号化部113が一つ前のフレームの符号化処理を行った際のサブバンドごとの発生符号量の情報を取得している。そして、S901では、アドレス管理部112は、未だ符号化データ領域を設定していないサブバンドのうち、一つ前のフレームの符号化の際の発生符号量が最も多かったサブバンドを選択する。なお、符号化処理の開始時点のように一つ前のフレームの符号化結果が存在しない場合には、予め決められているサブバンドを選択してもよい。S910の後、アドレス管理部112は、S902に処理を進める。
S902では、アドレス管理部112は、S901で選択したサブバンドの符号化データに対して確保する符号化データ領域を、DRAM108内で未だ符号化データ領域として設定されていない領域のうち、空き領域が最も大きい領域を指定する。S903の後、アドレス管理部112は、S903に処理を進める。
S903では、アドレス管理部112は、全てのサブバンドについて符号化データ領域を設定したかどうか判断し、全てのサブバンドに対する符号化データ領域の設定が完了したと判断した場合(Yes)には図9のフローチャートの処理を終了する。一方、アドレス管理部112は、S903において、未だ符号化データ領域が設定されていないサブバンドが残っている場合には、S901に処理を戻し、そのサブバンドに対するS901以降の処理を行う。
この図9のフローチャートの処理を時間順に入力される各フレームの符号化の際に繰り返すことにより、最も発生符号量が大きいと思われるサブバンドの符号化データには、空きが大きい符号化データ領域を割り当てることができる。一方、発生符号量が少ないと思われるサブバンドの符号化データには、空きが少ない符号化データ領域を割り当てることができる。これにより、時間順に入力される各フレームの符号化の際に使用されるDRAM108内の各空き領域の平滑化が可能となる。
以上説明したように、第2の実施形態においては、時間順に入力されたフレームの各プレーンの各サブバンドに対して符号化データ領域を確保する際には、一つ前のフレームのサブバンドごとの発生符号量に基づく領域を割り当てている。これにより、第2の実施形態によれば、DRAM108内の空き領域を平滑化でき、効率よくDRAM108を使うことが出来るため、より少ないDRAM108による符号化処理が可能な撮像装置100を実現できる。また、第2の実施形態によれば、従来の技術のように同一階層の分解Lvの各サブバンドの符号化データが一つの符号化データ領域内に混在することがないため、符号化データの管理が容易である。
<第3の実施形態>
次に、第3の実施形態について説明する。第3の実施形態の撮像装置100の構成は前述の図1と同様であるため、その図示と説明は省略する。第3の実施形態の場合、アドレス管理部112が、DRAM108に対して符号化データ領域を確保する際の、各サブバンドに対する割り当て方法が第1、第2の実施形態とは異なり、それ以外には前述した第1、第2の実施形態と同様である。以下、第1、第2の実施形態とは異なる処理を中心に、第3の実施形態について説明する。
第3の実施形態の場合、アドレス管理部112は、第2の実施形態と同様に、各色プレーン単位で重みを付け、また、各プレーン内の分解Lvごとに重みを付ける。これらに加え、第3の実施形態では、アドレス管理部112は、量子化パラメータに基づいて分解Lv内のサブバンドごとに重みを付けるようにして符号化データ領域の割り当てを制御する。なお、第3の実施形態では、色プレーンごとの重み付けと、量子化パラメータに基づく分解Lv内のサブバンドごとの重み付けの二つを行って符号化データ領域を確保してもよい。また、第3の実施形態では、各プレーン内の分解Lvごとの重み付けと、量子化パラメータに基づく分解Lv内のサブバンドごとの重み付けの二つを行って符号化データ領域を確保してもよい。以下の説明では、色プレーンごとの重み付けと、各プレーン内の分解Lvごとの重み付けと、量子化パラメータに基づく分解Lv内のサブバンドごとの重み付けとを行って符号化データ領域を確保する例を挙げて説明する。
図10(A)、図10(B)を用い、第3の実施形態のアドレス管理部112が、DRAM108に確保する符号化データ領域について説明する。
図10(A)は、各色のプレーンごとに、全てのサブバンドに対する符号化データ領域が均等に確保された場合の各符号化データ領域1001〜1004を示す概念図である。図10(A)の各符号化データ領域1001〜1004は、図5(A)の各符号化データ領域501〜504と同様のものであり、その詳細な説明は省略する。なお、本実施形態において、図10(A)は、図5(A)と同様の図であるが、図10(B)に示す第3の実施形態の符号化データ領域の割り当て方法を、より判り易く説明するために用いている。
図10(B)は、各色のプレーンごとの重み付け、各色プレーン内の分解Lvごとの重み付け、更に量子化パラメータに基づく分解Lv内のサブバンドごとの重み付けに基づいて確保した各サブバンドの符号化データ領域1011〜1014の例を示す図である。図10(B)の例では、アドレス管理部112は、G1とG2のプレーンの符号化データ領域1011と1012について、RとBのプレーンの符号化データ領域1013と1014よりも大きい領域を割り当てる。このようなプレーンごとの重み付けは、前述の図5(B)で説明したのと同様の理由により行われる。
また、第3の実施形態の場合、アドレス管理部112は、各色プレーン内の各サブバンドに対して符号化データ領域を確保する際には、分解Lvごとに重みを付けて決定した領域を割り当てるようにする。図10(B)の例の場合、アドレス管理部112は、分解Lv2の各サブバンド2LL,2HL,2LH,2HHよりも、分解Lv1の各サブバンド1HL,1LH,2HHに対して、より大きい符号化データ領域を割り当てている。このような分解Lvごとの各サブバンドに対する重み付けは、前述した第2の実施形態で説明したのと同様の理由により行われる。
更に、第3の実施形態では、各色のプレーンごとの重み付け、各色プレーン内の分解Lvごと重み付けに加え、更に量子化パラメータに基づく分解Lv内のサブバンドごとの重み付けに基づき各サブバンドの符号化データ領域1011〜1014が確保される。図10(B)の例では、アドレス管理部112は、分解Lv2のサブバンド2LL,2HL,2LHにはそれぞれ同じ大きさの符号化データ領域を確保する一方で、サブバンド2HHには小さい符号化データ領域を割り当てる。また、アドレス管理部112は、分解Lv1のサブバンド1HL,1LHにはそれぞれ同じ大きさの符号化データ領域を確保する一方で、サブバンド1HHには小さい符号化データ領域を割り当てる。
第3の実施形態において、図10(B)に示すように、分解Lv2のサブバンド2HHと分解Lv1のサブバンド1HHに対して割り当てられる符号化データ領域が、他のサブバンドより小さくなされるのは、以下のような理由による。
一般的に、同一分解Lv内では、サブバンドLHの係数とサブバンドHLの係数に対して、サブバンドHHの係数の方が高周波成分を多く含んでいる。したがって、サブバンドLH,HLとサブバンドHHとの係数を比較した場合、サブバンドHHの係数データに対してより量子化ステップ幅が大きい量子化処理を行うことで、符号化効率を上げることができる。すなわち、量子化によって、各サブバンドの発生符号量には傾斜がつくことになる。
このため、第3の実施形態では、量子化の際により符号化効率を高めるような量子化処理がなされるサブバンド、つまり、分解Lv2のサブバンド2HHと分解Lv1のサブバンド1HHに対しては、他のサブバンドより少ない符号化データを割り当てる。すなわち、第3の実施形態においては、量子化により各サブバンドの発生符号量に傾斜がつくことを予め予測して、DRAM108内に符号化データ領域が確保されるため、より少ない容量のDRAM108で符号化が可能となる。
このように、第3の実施形態においては、各色のプレーンごとの重み付け、各色プレーン内の分解Lvごとの重み付け、更に量子化パラメータに基づく分解Lv内のサブバンドごとの重み付けに基づいて各サブバンドの符号化データ領域を確保している。これにより、第3の実施形態によれば、効率よくDRAM108を使うことが出来るため、より少ないDRAM108による符号化処理が可能な撮像装置100を実現できる。また、第3の実施形態によれば、従来の技術のように同一階層の分解Lvの各サブバンドの符号化データが一つの符号化データ領域内に混在することがないため、符号化データの管理が容易である。
<第4の実施形態>
次に、第4の実施形態について説明する。第4の実施形態の撮像装置100の構成は前述の図1と同様であるため、その図示と説明は省略する。第4の実施形態の場合、アドレス管理部112が、DRAM108に対して符号化データ領域を確保する際の、各サブバンドに対する割り当て方法が第1〜第3の実施形態とは異なり、それ以外には前述した第1〜第3の実施形態と同様である。以下、第1〜第3の実施形態とは異なる処理を中心に、第4の実施形態について説明する。
第4の実施形態の場合、アドレス管理部112は、DRAM108内で使用可能な容量に応じて、DRAM108内の各サブバンドの符号化データ領域の確保の方法を選択する(切り替える)。
図11は、第4の実施形態のアドレス管理部112が、DRAM108内で使用可能な容量に応じてサブバンドごとに符号化データ領域の確保の方法を選択する処理の流れを示すフローチャートである。図11のフローチャートに示した各処理は、図1に示したハードウェア構成により実現される場合だけでなく、本実施形態に係るプログラムをCPU等で実行することにより実現されてもよい。以下の説明では、フローチャートの各処理のステップS1101〜ステップS1107をS1101〜S1107と略記する。図11のフローチャートの処理は、画像符号化部113において、動画や静止画の各フレームの符号化処理が行われるごとに実行される。図11のフローチャートの処理は、一つのフレームの符号化処理の開始によりスタートする。
アドレス管理部112は、S1101において、DRAM108内で使用可能な容量が閾値TH1より大きいかどうか判定する。アドレス管理部112は、S1101において、使用可能な容量が閾値以下(閾値TH1以下)であると判定した場合(No)にはS1102の処理に進む。一方、アドレス管理部112は、S1101において、使用可能な容量が閾値TH1より大きいと判定した場合(Yes)にはS1104の処理に進む。S1104では、アドレス管理部112は、第1の方法として、図5(A)で説明したように、全ての符号化データ領域を均等な大きさにしてDRAM108内に確保する。S1104の後、アドレス管理部112は、図11のフローチャートの処理を一旦終了し、次のフレームの符号化が行われる際に図11のフローチャートの処理を開始する。
S1102では、アドレス管理部112は、DRAM108内で使用可能な容量が閾値TH2より大きいかどうか判定する。なお、閾値TH2は閾値TH1より小さい値として設定されている。アドレス管理部112は、S1102において、使用可能な容量が閾値以下(閾値TH2以下)であると判定した場合(No)にはS1103の処理に進む。一方、アドレス管理部112は、S1102において、使用可能な容量が閾値TH2より大きいと判定した場合(Yes)にはS1105の処理に進む。S1105では、アドレス管理部112は、第2の方法として、図5(B)で説明したように、各色のプレーン単位で重みを付け、各プレーン内の各サブバンドについては均一な大きさの符号化データ領域を確保する。S1105の後、アドレス管理部112は、図11のフローチャートの処理を一旦終了し、次のフレームの符号化が行われる際に図11のフローチャートの処理を開始する。
S1103では、アドレス管理部112は、DRAM108内で使用可能な容量が閾値TH3より大きいかどうか判定する。なお、閾値TH3は閾値TH2より小さい値として設定されている。アドレス管理部112は、S1103において、使用可能な容量が閾値以下(閾値TH3以下)であると判定した場合(No)にはS1107の処理に進む。一方、アドレス管理部112は、S1103において、使用可能な容量が閾値TH3より大きいと判定した場合(Yes)にはS1106の処理に進む。S1106では、アドレス管理部112は、第3の方法として、図8(B)で説明したように、プレーン単位の重み付けと、分解Lvごとの重み付けとを行い、分解Lv内の各サブバンドでは均一となる符号化データ領域を確保する。S1106の後、アドレス管理部112は、図11のフローチャートの処理を一旦終了し、次のフレームの符号化が行われる際に図11のフローチャートの処理を開始する。
S1107では、アドレス管理部112は、第4の方法として、図10(B)で説明したように、プレーン単位の重み付け、分解Lvごとの重み付け、量子化パラメータに基づく分解Lv内での各サブバンドに対する重み付けを行って符号化データ領域を確保する。S1107の後、アドレス管理部112は、図11のフローチャートの処理を一旦終了し、次のフレームの符号化が行われる際に図11のフローチャートの処理を開始する。
このように、第4の実施形態では、DRAM108の使用可能な容量が多い場合は、第1の方法のような簡易な制御を行って制御性をよくする。一方、DRAM108の使用可能な容量が少なくなるにしたがい、DRAM108の使用可能な容量を重視して、第2,第3、第4の方法の順で領域確保の細かな制御が行われる。これにより、第4の実施形態によれば、DRAM108の使用可能な容量に応じて、制御性とDRAMの容量のバランスをとった符号化が可能な撮像装置100を実現できる。
<その他の実施形態>
前述した第1〜第4の実施形態では、RAW画像のコンポーネントの一例としてR,G(G1,G2),Bの各色別のプレーンを挙げたが、コンポーネントはこれらプレーンには限定されない。コンポーネントは、一例として、Rの色成分からなる画像、Bの色成分からなる画像、G1とG2の差分色成分(G1−G2)からなる画像、G1とG2の加算色成分(G1+G2)からなる画像であってもよい。なお、G1とG2の差分色成分(G1−G2)の画像(コンポーネント)は、Gの差分の色成分であるため、人が視認し難い成分の画像となる。このため、それら差分色成分(G1−G2)のコンポーネントについては、例えば量子化処理で情報量を大きく減らしたとしても、それによる画質劣化が視認され難い。したがって、差分色成分(G1−G2)のコンポーネントの量子化処理による情報量を削減することで、符号化効率を上げることも可能となる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 撮像装置、101 撮像光学部、102 撮像センサー部、103 センサー信号処理部、104 バッファ、105 周波数変換部、106 量子化部、107 符号化部、108 DRAM、109 制御部、110 記録部、111 記録媒体、112 アドレス管理部、113 画像符号化部

Claims (8)

  1. 入力画像から符号化データを生成する符号化手段であって、前記入力画像の複数のコンポーネント毎にウェーブレット変換により複数のサブバンドの係数データを生成して、前記複数のコンポーネント毎に前記複数のサブバンドの係数データを符号化して符号化データを生成する符号化手段と、
    前記符号化データを一時的に記憶するためのメモリと、
    前記メモリのうち複数の記憶領域として使用可能な容量の記憶領域を、前記複数のコンポーネント毎の前記複数のサブバンドに割り当てることにより、前記複数のコンポーネント毎の前記複数のサブバンドにそれぞれ対応した複数の記憶領域を前記メモリに確保し、前記複数のコンポーネント毎の複数のサブバンドの符号化データを、各コンポーネント及び各サブバンドに対応する前記記憶領域に記憶させる制御手段と、を有し、
    前記制御手段は、
    前記メモリのうち前記複数の記憶領域として使用可能な容量が第1の閾値より大きい場合には、前記複数のコンポーネント毎の前記複数のサブバンドに対して均一な大きさとなるように記憶領域を割り当てる第1の方法を選択し、
    前記メモリのうち前記複数の記憶領域として使用可能な容量が前記第1の閾値以下の場合には、前記複数のコンポーネント毎の前記複数のサブバンドに対して均一でない大きさの記憶領域を割り当てる第2の方法を選択する
    ことを特徴とする符号化装置。
  2. 前記制御手段は、前記第2の方法では、前記メモリのうち前記複数の記憶領域として使用可能な容量を、前記複数のコンポーネントに重み付けをして割り当て、各コンポーネントに割り当てられた容量を、それぞれ、コンポーネント内に含まれる複数のサブバンドに割り当てることを特徴とする請求項1に記載の符号化装置。
  3. 前記制御手段は、前記第2の方法では、前記メモリのうち前記複数の記憶領域として使用可能な容量を、前記複数のコンポーネントに重み付けをして割り当て、各コンポーネントに割り当てられた容量を、それぞれ、コンポーネント内に含まれる複数のサブバンドに均一な大きさとなるように割り当てることを特徴とする請求項2に記載の符号化装置。
  4. 前記制御手段は、前記メモリのうち前記複数の記憶領域として使用可能な容量が前記第1の閾値より小さい第2の閾値以下で且つ第3の閾値より大きい場合には、前記ウェーブレット変換のレベルごとに重みを付けた大きさとなるように前記複数の記憶領域を割り当てる第3の方法を選択することを特徴とする請求項1乃至3の何れか1項に記載の符号化装置。
  5. 前記符号化手段は、前記ウェーブレット変換のレベルごとに設定された量子化パラメータに基づいて、前記サブバンドごとの係数データに対してそれぞれ量子化を行い、前記サブバンドごとに前記量子化された係数データを前記符号化して前記符号化データを生成し、
    前記制御手段は、前記メモリのうち前記複数の記憶領域として使用可能な容量が前記第3の閾値以下である場合には、前記ウェーブレット変換のレベルごとに、前記量子化パラメータに基づく重みを付けた大きさの記憶領域を、前記ウェーブレット変換のレベルに含まれる各サブバンドに対して割り当てる第4の方法を選択することを特徴とする請求項4に記載の符号化装置。
  6. 前記制御手段は、前記第2の方法では、前記入力画像ごとに、一つ前の入力画像の符号化で発生した符号量に応じて、前記複数のサブバンドに割り当てる前記記憶領域の大きさを変更することを特徴とする請求項1乃至5の何れか1項に記載の符号化装置。
  7. 入力画像から符号化データを生成する符号化工程であって、前記入力画像の複数のコンポーネント毎にウェーブレット変換により複数のサブバンドの係数データを生成して、前記複数のコンポーネント毎に前記複数のサブバンドの係数データを符号化して符号化データを生成する符号化工程と、
    前記符号化データを一時的に記憶するためのメモリのうち複数の記憶領域として使用可能な容量の記憶領域を、前記複数のコンポーネント毎の前記複数のサブバンドに割り当てることにより、前記複数のコンポーネント毎の前記複数のサブバンドにそれぞれ対応した複数の記憶領域を前記メモリに確保し、前記複数のコンポーネント毎の複数のサブバンドの符号化データを、各コンポーネント及び各サブバンドに対応する前記記憶領域に記憶させる制御工程と、を有し、
    前記制御工程では、
    前記メモリのうち前記複数の記憶領域として使用可能な容量が第1の閾値より大きい場合には、前記複数のコンポーネント毎の前記複数のサブバンドに対して均一な大きさとなるように記憶領域を割り当てる第1の方法を選択し、
    前記メモリのうち前記複数の記憶領域として使用可能な容量が前記第1の閾値以下の場合には、前記複数のコンポーネント毎の前記複数のサブバンドに対して均一でない大きさの記憶領域を割り当てる第2の方法を選択する
    ことを特徴とする符号化装置の制御方法。
  8. コンピュータを、請求項1乃至6の何れか1項に記載の符号化装置の各手段として機能させるためのプログラム。
JP2016186124A 2016-09-23 2016-09-23 符号化装置、符号化装置の制御方法、及びプログラム Active JP6849359B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016186124A JP6849359B2 (ja) 2016-09-23 2016-09-23 符号化装置、符号化装置の制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016186124A JP6849359B2 (ja) 2016-09-23 2016-09-23 符号化装置、符号化装置の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018050263A JP2018050263A (ja) 2018-03-29
JP6849359B2 true JP6849359B2 (ja) 2021-03-24

Family

ID=61767829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016186124A Active JP6849359B2 (ja) 2016-09-23 2016-09-23 符号化装置、符号化装置の制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6849359B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7242246B2 (ja) * 2018-10-31 2023-03-20 キヤノン株式会社 画像符号化装置、及びこれらの制御方法、並びにプログラム
JP7204441B2 (ja) * 2018-11-21 2023-01-16 キヤノン株式会社 撮像装置及びその制御方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09139944A (ja) * 1995-09-12 1997-05-27 Matsushita Electric Ind Co Ltd 符号化方法,符号化装置,ウエーブレット変換装置およびウエーブレット逆変換装置
JP4721262B2 (ja) * 2005-03-31 2011-07-13 株式会社リコー 画像処理装置、画像処理方法、プログラム及び情報記録媒体

Also Published As

Publication number Publication date
JP2018050263A (ja) 2018-03-29

Similar Documents

Publication Publication Date Title
CN106612432B (zh) 编码方法和解码处理方法
JP5152598B2 (ja) 符号化装置および符号化方法、並びに復号装置および復号方法
TWI436287B (zh) 畫像編碼方法及裝置
US8098947B2 (en) Method and apparatus for processing image data by rearranging wavelet transform data
JP6986868B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、プログラム
JP6857973B2 (ja) 画像符号化装置及びその制御方法
JP6849359B2 (ja) 符号化装置、符号化装置の制御方法、及びプログラム
JP2017216630A (ja) 画像符号化装置及びその制御方法
JP2020096326A (ja) 撮像装置及びその制御方法及びプログラム
JP7033013B2 (ja) 画像符号化装置、画像復号装置、及び、それらの制御方法、並びに、プログラム
JP6946671B2 (ja) 画像処理装置及び画像処理方法
JP2001231009A (ja) 画像データ格納装置および方法
JP6775339B2 (ja) 画像符号化装置及びその制御方法
JP6813991B2 (ja) 画像符号化装置及びその制御方法及びプログラム
JP7321237B2 (ja) 画像符号化装置、画像符号化方法、プログラム
US20220256127A1 (en) Image encoding apparatus, method for controlling the same, and non-transitory computer-readable storage medium
JP7204441B2 (ja) 撮像装置及びその制御方法及びプログラム
JP2019201288A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP7242246B2 (ja) 画像符号化装置、及びこれらの制御方法、並びにプログラム
JP6792359B2 (ja) 画像符号化装置
JP2019110405A (ja) 画像符号化装置及びその制御方法及びプログラム
JP2017098898A (ja) 画像符号化装置及びその制御方法及びプログラム並びに記憶媒体
JP2018081461A (ja) 超解像装置及びプログラム
JP5267140B2 (ja) 画像圧縮装置及び画像圧縮方法
JP7451131B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210304

R151 Written notification of patent or utility model registration

Ref document number: 6849359

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151