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

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

▶ キヤノン株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6793499
(24)【登録日】2020年11月12日
(45)【発行日】2020年12月2日
(54)【発明の名称】画像符号化装置およびその制御方法
(51)【国際特許分類】
   H04N 19/63 20140101AFI20201119BHJP
【FI】
   H04N19/63
【請求項の数】14
【全頁数】24
(21)【出願番号】特願2016-165074(P2016-165074)
(22)【出願日】2016年8月25日
(65)【公開番号】特開2017-85548(P2017-85548A)
(43)【公開日】2017年5月18日
【審査請求日】2019年8月5日
(31)【優先権主張番号】特願2015-211107(P2015-211107)
(32)【優先日】2015年10月27日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(72)【発明者】
【氏名】坂本 大輔
【審査官】 坂東 大五郎
(56)【参考文献】
【文献】 特開2005−109776(JP,A)
【文献】 特開2003−324613(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00−19/98
H04N 1/41−1/419
(57)【特許請求の範囲】
【請求項1】
画像データを複数のタイルに分割し、タイルごとに符号化する画像符号化装置であって、
タイルごとにウェーブレット変換を行い、変換係数データを得る変換手段と、
タイルごとに、該変換手段で得られた変換係数データを符号化する符号化手段と、を備え、
符号化対象のタイルに対して、隣接する隣接タイルが存在する場合は、
前記変換手段は、前記符号化対象のタイルの画素データと、前記隣接タイルのうち前記符号化対象のタイルと隣接する複数の画素データと、を参照して、前記ウェーブレット変換を行うことにより、変換係数データを取得し、
前記符号化手段は、前記隣接タイルの前記複数の画素データを参照して得られた前記隣接タイルに対応する変換係数データのうち、逆ウェーブレット変換により変換係数データから画素データを取得する際に自タイルの画素データを取得するために必要となる変換係数データを符号化し、前記隣接タイルに対応する変換係数データの一部は符号化しない
ことを特徴とする画像符号化装置。
【請求項2】
前記符号化手段は、前記変換手段で得られた変換係数データを量子化し、量子化後の係数データを符号化することを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記変換手段は、複数回ウェーブレット変換を行って、複数のサブバンドの変換係数データを取得し、
前記符号化手段は、前記複数のサブバンドのうち、分解レベルが最上位の低周波成分のサブバンドと、高周波成分のサブバンドとを符号化することを特徴とする請求項1に記載の画像符号化装置。
【請求項4】
前記符号化手段は、前記隣接タイル内の変換係数データのうち、前記符号化対象のタイルとのタイル境界に隣接する変換係数データを、前記符号化対象のタイルの垂直または水平方向の画素数に応じた数、符号化することを特徴とする請求項1に記載の画像符号化装置。
【請求項5】
前記符号化手段は、前記隣接タイル内の変換係数データのうち、前記符号化対象のタイルとのタイル境界に隣接する変換係数データを、前記変換手段によるウェーブレット変換の回数に応じた数、符号化することを特徴とする請求項1に記載の画像符号化装置。
【請求項6】
前記符号化対象のタイルの水平または垂直方向の画素数に応じて、前記符号化対象のタイルと共に前記変換手段によりウェーブレット変換を行う前記隣接タイルの画素数が決定されることを特徴とする請求項1に記載の画像符号化装置。
【請求項7】
前記符号化対象のタイルの水平または垂直方向の画素数を所定の数で割ったときの余りに応じて、前記符号化対象のタイルと共に前記変換手段によりウェーブレット変換を行う前記隣接タイルの画素数が決定されることを特徴とする請求項に記載の画像符号化装置。
【請求項8】
前記符号化対象のタイルの水平または垂直方向の画素数に応じて、前記符号化手段により符号化する前記隣接タイル内の変換係数データが決定されることを特徴とする請求項1に記載の画像符号化装置。
【請求項9】
前記符号化対象のタイルの水平または垂直方向の画素数を所定の数で割ったときの余りに応じて、前記符号化手段により符号化する前記隣接タイル内の変換係数データが決定されることを特徴とする請求項に記載の画像符号化装置。
【請求項10】
さらに前記ウェーブレット変換で得る変換係数データの解像度レベル数、及び、圧縮率を設定する設定手段を有し、
前記変換手段は、前記設定手段で設定された圧縮率が予め設定された閾値より小さい場合、前記符号化対象のタイルに対してウェーブレット変換を行う際に、前記符号化対象のタイル外には当該符号化対象のタイル内の画素が折り返し存在するものとして、前記設定手段で設定した解像度レベルの変換係数データを得るためのウェーブレット変換を行い、前記符号化対象のタイル内から生成された変換係数データを量子化手段に供給し、
前記設定手段で設定された圧縮率が予め設定された閾値以上の場合、前記設定手段で設定した解像度レベルの変換係数データを得るため、前記符号化対象のタイルおよび前記符号化対象のタイルに隣接する隣接タイルの画素データを参照してウェーブレット変換を行い、
前記隣接タイルから得られた変換係数データのうち前記符号化対象のタイルと前記隣接タイルとの境界に最近接する各解像度レベルの変換係数データと、前記符号化対象のタイルから得られた変換係数データとを、前記符号化対象のタイルに対応する量子化対象の変換係数データとして前記量子化手段に供給する、
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項11】
前記設定手段で設定された圧縮率と前記閾値との比較の結果を示す情報を、符号化ストリームのヘッダに格納して出力することを特徴とする請求項10に記載の画像符号化装置。
【請求項12】
前記変換手段は、5/3タップフィルタを用いてウェーブレット変換を行い、
前記隣接タイルから得られた変換係数データのうち、各解像度レベルの高周波の変換係数データを前記量子化手段に供給することを特徴とする請求項10に記載の画像符号化装置。
【請求項13】
画像データを複数のタイルに分割し、タイルごとに符号化する画像符号化装置の制御方法であって、
変換手段が、タイルごとにウェーブレット変換を行い、変換係数データを得る変換工程と、
符号化手段が、タイルごとに、該変換手段で得られた変換係数データを符号化する符号化工程と、を備え、
符号化対象のタイルに対して、隣接する隣接タイルが存在する場合は、
前記変換工程では、前記符号化対象のタイルの画素データと、前記隣接タイルのうち前記符号化対象のタイルと隣接する複数の画素データと、を参照して、前記ウェーブレット変換を行うことにより、変換係数データを取得し、
前記符号化工程では、前記隣接タイルの前記複数の画素データを参照して得られた前記隣接タイルに対応する変換係数データのうち、逆ウェーブレット変換により変換係数データから画素データを取得する際に自タイルの画素データを取得するために必要となる変換係数データを符号化し、前記隣接タイルに対応する変換係数データの一部は符号化しない
ことを特徴とする画像符号化装置の制御方法。
【請求項14】
コンピュータが読み込み実行することで、前記コンピュータを、請求項1乃至12のいずれか1項に記載の画像符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像データの符号化技術に関するものである。
【背景技術】
【0002】
昨今、デジタルカメラやデジタルカムコーダー等のデジタル撮像装置の発展に伴い、様々な画像データの圧縮符号化方式が検討されている。
【0003】
代表的な圧縮符号化方式としてはJPEG(Joint Photograph Experts Group)2000が挙げられる。JPEG2000では、符号化対象の画像は少なくとも1以上のタイルに分割される。そしてタイルを単位に、ウェーブレット変換、量子化、エントロピー符号化が行われる。ウェーブレット変換は、例えば可逆5/3タップフィルタが用いられる。このフィルタでは、連続する3個の画素から1個のハイパス係数を生成し、連続する5個の画素から1個のローパス係数を生成する。従って、タイルの境界の画素をフィルタ処理する場合には、そのタイル外の画素を必要とする。タイル外の画素として、タイル内の画素を代用する提案が知られている(特許文献1)。この特許文献1は、着目タイルの境界の画素の位置を折り返し位置とし、タイル外の画素や係数データとして、タイル内の画素や係数データを利用するものである。
【0004】
しかし、着目タイル外の現実に存在する画素や係数データを参照してフィルタ処理するわけではない。それ故、タイル境界の量子化後の係数データは、実際にタイル外の画素を参照した場合の係数データとの間は差が生じる。この差は、復号して得られる画像におけるタイルの連続性が失われることを意味し、結果的に、タイル境界にノイズとなって現れる。
【0005】
かかる問題に対し、特許文献2は、着目タイルを符号化するとき、その着目タイルに隣接するタイル内の画素も含めて、符号化処理を行う技術を開示している。この特許文献2によれば、着目タイルの復号処理では、その着目タイルの画素と、その隣接タイルの境界近傍の画素が得られる。それ故、隣接タイルの画素を除去した結果を、着目タイルの復号結果の画像とする。この特許文献2によれば、隣り合うタイルの連続性が維持されるのでタイル境界でのノイズの発生を抑制できる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−142615号公報
【特許文献2】特開2004−56213号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記特許文献2は画質劣化を抑制できるものの、着目タイルを符号化する際には、その隣接タイルの画素を含めて符号化する必要がある。それ故、特許文献2で生成される符号化データ量は、特許文献1のそれよりも無視できないくらい多くなる。つまり、特許文献2の技術を用いて、特許文献1と同等の符号量とするためには、特許文献2における量子化ステップを、特許文献1のそれよりも大きくしなければならない。しかし、量子化ステップが大きいほど、画質劣化が大きい。
【0008】
本発明は、係る点に鑑みなされたものであり、タイル分割をした際のタイルの連続性が維持され、かつ、生成する符号量も特許文献2よりは遥かに少なくすることを可能にする技術を提供しようとするものである。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを複数のタイルに分割し、タイルごとに符号化する画像符号化装置であって、
タイルごとにウェーブレット変換を行い、変換係数データを得る変換手段と、
タイルごとに、該変換手段で得られた変換係数データを符号化する符号化手段と、を備え、
符号化対象のタイルに対して、隣接する隣接タイルが存在する場合は、
前記変換手段は、前記符号化対象のタイルの画素データと、前記隣接タイルのうち前記符号化対象のタイルと隣接する複数の画素データと、を参照して、前記ウェーブレット変換を行うことにより、変換係数データを取得し、
前記符号化手段は、前記隣接タイルの前記複数の画素データを参照して得られた前記隣接タイルに対応する変換係数データのうち、逆ウェーブレット変換により変換係数データから画素データを取得する際に自タイルの画素データを取得するために必要となる変換係数データを符号化し、前記隣接タイルに対応する変換係数データの一部は符号化しないことを特徴とする。
【発明の効果】
【0010】
本発明によれば、タイル分割による符号量の増加を抑えつつ、タイル境界の画質劣化を抑えることができる。
【図面の簡単な説明】
【0011】
図1】第1の実施形態における画像符号化部のブロック構成図。
図2】第1の実施形態におけるタイル入力法を説明するための図。
図3】第1の実施形態におけるウェーブレット変換処理を示す図。
図4】第1の実施形態におけるウェーブレット変換を3回行う場合の実行法を説明するための図。
図5】第1の実施形態における符号化処理の手順を示すフローチャート。
図6】第1の実施形態における復号部のブロック構成図。
図7】第1の実施形態における逆ウェーブレット変換法を説明するための図。
図8】第2の実施形態における画像符号化部のブロック構成図。
図9】第2の実施形態における符号化装置の処理手順を示すフローチャート。
図10】ウェーブレット変換を3回を行う場合の隣接タイルからオーバーラップして入力される画素数との関係を示す図。
図11A】、
図11B】、
図11C】、
図11D】、
図11E】、
図11F】、
図11G】、
図11H】ウェーブレット変換を3回を行う場合の実行法を説明するための図。
【発明を実施するための形態】
【0012】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の一つである。
【0013】
[第1の実施形態]
本第1の実施形態は、デジタルカメラ等の撮像装置に適用した例を説明する。図1は、撮像装置における画像符号化部100のブロック構成図である。
【0014】
画像符号化部100は、図示のように、フレームメモリ101、データ入力制御部102、ウェーブレット変換部103、量子化部104、エントロピー符号化部105、設定部106を有する。なお、第1実施形態では、符号化方式の一例としてJPEG2000を用いた例を説明するが、特に符号化方式については問わない。以下、図1の構成に基づき、符号化処理の処理手順を説明する。ここで、設定部106は、不図示の操作部からの指示に従い、符号化対象の画像データをいくつのタイルに分割するか、さらには、ウェーブレット変換を何回行うか(分解レベル数いくつにするか)を決定する。そして、設定部106は、1タイルのサイズや、詳細は後述するが、オーバーラップ画素数、量子化対象の変換係数データを決定する。
【0015】
本実施形態では、タイルの分割数や、分解レベル数を、操作部からの指示に従って決定するものとするが、撮像装置のシステム制御部(不図示)が、所定の条件に基づいて自動的に決定するようにしてもよい。
【0016】
また、本実施形態において、タイルとは、1つのフレーム画像を複数に分割した際の、分割画像を示している。
【0017】
不図示の操作部から記録の開始指示があると、フレームメモリ101には、不図示の撮像部で撮像した画像データが撮像順に入力され、格納される。データ入力制御部102は、フレームメモリ101に格納された1フレームの画像データを複数のタイルに分割する。このタイルの分割数並びに各タイルのサイズは、設定部106からの設定に依存する。以降、分割されたタイルが表す部分画像データをタイル画像データという。データ入力制御部102は、各タイル画像データを、予め定められた順序に従いウェーブレット変換部103に供給する。詳細は後述するが、入力データ制御部102は、或る着目タイル画像データをウェーブレット変換部103に供給する際には、その着目タイル画像データだけでなく、タイル境界から予め設定された距離内に位置する隣接タイル画像データ内の画素データも供給する。以降、隣接タイル画像データ内の、タイル境界から予め設定された距離内に位置する画素データを、タイル周辺画素データという。上記の通りなので、入力データ制御部102からウェーブレット変換部103に供給される各画像データは、互いオーバーラップしている。
【0018】
ウェーブレット変換部103は、フレームメモリ101から入力されたタイル画像データとタイル周辺画素データに対して、ウェーブレット変換を実行して得た変換係数データを量子化部104に送る。ただし、このウェーブレット変換の具体的な実行方法については後述する。
【0019】
量子化部104は、ウェーブレット変換部103から送られた変換係数データを、量子化パラメータを用いて量子化し、エントロピー符号化部105に送る。この際、タイル画像の間で、同一サブバンドに与える量子化パラメータを同一あるいは近い値にしておく。こうすることでタイル画像間における画質劣化を均一化し、タイル境界における画質劣化を目立たなくすることができる。
【0020】
エントロピー符号化部105は、量子化部104による量子化後の変換係数データを、サブバンドごとに、エントロピー符号化を行い、その符号化データを出力する。エントロピー符号化としては、EBCOT(Embedded Block Coding with Optimized Truncation)などのエントロピー符号化を施して、符号化データとして出力する。
【0021】
次に、ウェーブレット変換部103に供給される、タイル画像データとタイル周辺画素データの関係を図2を用いて説明する。
【0022】
図2(a)は1フレームの画像データを水平方向3分割、垂直方向3分割することで、1フレームから9つのタイル画像データA〜Iを生成する例を示している。データ入力制御部102は、タイル画像データA→B→C→D→…→Iと、タイルを単位とするラスタースキャン順にウェーブレット変換部103に供給する。また、既に説明したように、ウェーブレット変換部102は、1つのタイル画像データをウェーブレット変換部103に供給する際、そのタイル周辺画素データもウェーブレット変換部103に供給する。
【0023】
ここで図2(b)のタイル画像データAを例に挙げ、タイル周辺画素データとの関係を説明する。タイル画像データAは、フレーム画像中の左上に位置している。それ故、タイル画像データAの隣接するタイル画像データは、タイル画像データB,D,Eとなる。そこでデータ入力制御部102はタイル画像データAをウェーブレット変換部103に供給する際、図2(b)の斜線Pで示した部分の画素データをタイル周辺画素データとしてウェーブレット変換部102に入力する。同様の考えをタイル画像データA〜I全てのタイルで当てはめると、各タイル画像データに対するタイル周辺画素データは図2(c)の斜線Qで示される。なお、タイル周辺画素データPの水平、垂直方向の距離(画素数)は、ウェーブレット変換の回数、着目タイル画像データのサイズと、隣接するタイル画像の位置によって異なる。また、タイル周辺画素データPの水平、垂直方向の画素数を、オーバーラップ画素数と呼ぶ。
【0024】
ウェーブレット変換を3回までの行う場合の、オーバーラップ画素数と、着目タイルの端の画素を復号するのに必要な隣接タイルの変換係数データの数の関係を図10(a)、(b)に示す。
【0025】
図10(a),(b)には、隣接タイルの画素を加えてウェーブレット変換した際に取得した隣接タイルの変換係数データのうち、符号化対象の着目タイルの画素を復号する際に必要となる変換係数データの数を、サブサブバンド毎に記載している。本実施形態では、ウェーブレット変換が1回の場合は、サブバンド1H,1Lの変換係数データが生成され、サブバンド1H、1Lの変換係数データが符号化される。ウェーブレット変換が2回の場合は、サブバンド1H、1L、2H、2Lの変換係数データが生成され、サブバンド1H、2H、2Lの変換係数データが符号化される。ウェーブレット変換が3回の場合は、サブバンド1H、1L、2H、2L、3H、3Lの変換係数データが生成され、サブバンド1H、2H、3H、3Lの変換係数データが符号化される。そのため、生成されないサブバンドや、符号化を行わないサブバンドについては、データ数を記載せずに、グレーにしている。
【0026】
図10(a)は、着目タイルの上、または、左に隣接タイルが位置する場合の、ウェーブレット変換回数と、オーバーラップ画素数と、着目タイルの上端、または、左端の画素を復号するのに必要な隣接タイルの変換係数データの数との関係を示している。
【0027】
本実施形態では、ウェーブレット変換は、整数型5/3タップフィルタを用いる。1つのタイル画像データをウェーブレット変換する場合、そのタイル画像データの左上隅を開始位置として変換を開始する。それ故、着目タイル画像データがいかなるサイズであっても、上、左に隣接するタイル画像データからは、ウェブレート変換の回数に応じた固定のオーバーラップ画素数の画素が参照される。図示のように、ウェーブレット変換を1回のみ行う場合、上、または、左に隣接するタイル画像データのオーバーラップ画素数は“2”となる。また、ウェーブレット変換を2回行う場合の隣接タイルとのオーバーラップ画素数は“8”となる。そして、ウェーブレット変換を3回行う場合の隣接タイルとのオーバーラップ画素数は“16”となる。
【0028】
図10(b)は、着目タイル画像の下、または、右に隣接タイルが位置する場合の、ウェーブレット変換回数と、オーバーラップ画素数と、着目タイルの画素を復号するのに必要な隣接タイルの変換係数データの数との関係を示している。隣接タイル画像データが、着目タイル画像データの下または右に位置する場合、オーバーラップ画素数は、着目タイル画像データのサイズに依存したものとなる。正確には、着目タイル画像データの水平、垂直方向の画素数を“8”で除算した余りに依存する。例えば、着目タイル画像データの水平または垂直方向の画素数を“8”で除算した余りが0であるとする。この場合、ウェーブレット変換を1回のみ行う場合、下、または、右に隣接するタイル画像データのオーバーラップ画素数は“3”となる。また、ウェーブレット変換を3回行う場合には、オーバーラップ画素数は“15”となる。
【0029】
ウェーブレット変換部103による前述の可逆5/3タップフィルタを用いたウェーブレット変換を1回実行するためのリフティング構造を図3に示す。ウェーブレット変換を1回実行するわけであるから、得られる変換係数データのレベルは1となる。
【0030】
図3の符号a〜iは、画像データのタイル境界付近の1ラインの画素データを示している。図示は、画素dとeの間にタイル境界がある例を示し、画素e〜iがウェーブレット変換対象となる着目タイル画像データに属し、画素a〜dが左に位置する隣接タイル画像データに属する例である。5/3タップフィルタを用いてウェーブレット変換を行う場合、連続する3画素を参照して高周波成分を示す変換係数データが算出される。図示の、b’、d’、f’、h’が、分解レベル1の高周波成分の変換係数(1H)を示している。また、連続する5画素を参照して低周波成分を示す変換係数データが算出される。図示のc”、e”、g”が、分解レベル1の低周波成分を示す変換係数データ(1L)を示している。
【0031】
ここで、着目タイル画像データにおけるタイル境界に最近接する画素eを復号する場合を考察する。画素eを復号するためには、図示のように、高周波変換係数データd’,f’と、低周波変換係数データe”の3つがあればよい。このうち、着目タイル画像データに隣接するタイルに属するのは、高周波変換係数データd’である。そして、この高周波変換係数d’は、着目タイル内の画素eと、隣接タイルの画素c、dの2つの計3つから算出される。そのため、ウェーブレット変換を1回行う場合に、左に隣接するタイル画像のオーバーラップ画素数は“2”となる。
【0032】
このように、ウェーブレット変換部103は、隣接タイルの位置が左の場合にウェーブレット変換を1回のみ行う場合には、着目タイル画像データに加えて、隣接タイル画像データからオーバーラップ画素数“2”に対応する画素c、dを入力し、ウェーブレット変換を行う。そして、ウェーブレット変換部103は、着目タイル画像データから得られた変換係数データに加えて、隣接タイル画像データから得られた変換係数データd’を量子化部104に供給する。
【0033】
先に示した特許文献2の技術によれば、着目タイル画像データの符号化データを生成するために、隣接タイル画像のc、dを復元するのに必要な符号化データを生成する。つまり、特許文献2に開示された技術では、着目タイル画像の符号化する際には、隣接タイルの変換係数b’、c”、d’を含めて量子化し、符号化が行われる。これに対し、本実施形態では、隣接タイルで必要な変換係数データはd’だけでよくなり、符号化効率を更に高くできる。
【0034】
なお、図2(a)のタイル画像データAのように、その上や左に隣接タイルがない場合には、従来のJPEG2000などと同様にミラー処理を行ってタイル外の画素を生成し、ウェーブレット変換を行う。
【0035】
また、ウェーブレット変換の回数が増えるほど(分解レベルが増えるほど)特許文献2の場合に比べ、削減できる符号量は増加するため、本第1の実施形態による発生符号量削減効果が大きく表れる。図4は、可逆5/3タップフィルタを用いて分解レベル3までの変換係数を得るためのリフティング構造を示している。
【0036】
ウェーブレット変換を1回実行する図3の場合には、着目タイル内の左端の画素を復号するのに必要な変換係数を生成するために、隣接タイルからオーバーラップして入力する画素は既に図3を用いて説明したように2画素であった。一方、ウェーブレット変換を3回行う場合は、図4のように隣接タイル画像データから16画素を入力する必要がある。
特許文献2の場合、16画素分の変換係数データである、変換係数データ(1H)の8係数、変換係数データ(2H)の4係数、変換係数データ(3H)の2係数、変換係数データ(3L)の2係数)を量子化、符号化する必要がある。それ故、符号量は無視できないほど大きなものとなる。
【0037】
一方、本第1の実施形態の場合、着目タイル画像データの端に位置する画素を復号するのに必要な、隣接タイル画像データから生成された変換係数データは、図示の丸で囲った変換係数となる。つまり、分解レベル1の変換係数データ(1H)の1係数、分解レベル2の変換係数データ(2H)の1係数、分解レベル3の変換係数データ(3H)の1係数の計3係数だけである。よって、隣接タイル画像データから得られた変換係数データのうち、これら3係数を量子化、符号化すれば良い。つまり、特許文献2と比較し、符号化対象の変換係数の個数は大幅に削減できる。
【0038】
図4からもわかるように、隣接タイルの位置が上または左の場合、第1の実施形態における、ウェーブレット変換の回数と、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データとの関係は次のようになる。
ウェーブレット変換回数が1回: 変換係数データ(1H)の1係数
ウェーブレット変換回数が2回: 変換係数データ(1H)、(2H)の2係数
ウェーブレット変換回数が3回: 変換係数データ(1H)、(2H)、(3H)の3係数

ここで、ウェーブレット変換の実行回数をNとする。この場合、ウェーブレット変換部103は、隣接タイルから生成された各分解レベルの高周波の変換係数データのうち、タイル境界に最も近い変換係数データ1H,2H,…、NHのN個を量子化部104に供給すればよい、と言うことができる。
【0039】
次に、隣接タイルの位置が下または右であって、ウェーブレット変換を3回行う場合に、隣接タイルから生成された変換係数データのうち、着目タイルの端の画素を復元するために必要となる変換係数データについて、図11A〜11Hを参照して説明する。
【0040】
なお、ウェーブレット変換を3回行った場合、変換係数データ1H、変換係数データ2H、変換係数データ3H、変換係数データ3Lが、量子化及び符号化される。つまり、変換係数データ1L、変換係数データ2Lは符号化されない。変換係数データ1Lは、変換係数データ2Hと変換係数データ2Lとから生成可能であり、また、変換係数データ2Lは、変換係数データ3Hと変換係数データ3Lとから生成可能であるためである。つまり、ウェーブレット変換をN回行った場合、変換係数データ1H,2H,…、NHと、変換係数データNLとが符号化され、変換係数データ1L,2L,…、(N−1)Lは符号化されず記録されないことになる。
【0041】
上記は、着目タイル、隣接タイルに対して共通のものである。以下、かかる点を踏まえ、隣接タイル内で生成される変換係数データにおける符号化対象となる変換係数データについて説明する。図11Aは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“0”の場合に、ウェーブレット変換を3回行った場合を示している。つまり、着目タイルの水平方向又は垂直方向の画素数が8の整数倍である。
【0042】
符号化対象の着目タイルの端の画素dを復号するには、画素c、変換係数データ1Hd、画素eのデータが必要となる。しかし、画素eは、変換係数データ1Hd、変換係数データ1Le、変換係数データ1Hfとから、生成することができる。ここで、変換係数データ1Leは、1Lの変換係数データであり、記録しないデータであり、変換係数データ2Hc、変換係数データ2Le、変換係数データ2Hgとから生成できる。さらに、変換係数データ2Leは記録されないデータであり、変換係数データ3Ha、変換係数データ3Le、変換係数データ3Hiとから生成できる。つまり、符号化対象の着目タイルの端の画素dを復号するには、隣接タイルにおける境界に近い、図示の実線で囲った変換係数データ1Hf、変換係数データ2Hg、変換係数データ3Hi、変換係数データ3Leがあれば十分である。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。そのため、符号化対象の着目タイル内の1H、2H、3H、3Lの変換係数データに加えて、隣接タイルの変換係数データ{1Hf、2Hg、3Hi、3Le}を符号化する。
【0043】
また、これらの変換係数データを算出するためには、隣接タイルの15画素を必要とする。そのため、着目タイルに加えて少なくとも隣接タイルの15画素を入力してウェーブレット変換を3回行う。そして、符号化する際には、ウェーブレット変換により得られた隣接タイルの変換係数データ全てを符号化せずに、符号化対象の着目タイルの端部のデータを復号するのに必要となる変換係数データを符号化する。もちろん、符号化対象の着目タイル内については、1H、2H、3H、3Lの変換係数データを全て符号化する。
【0044】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:1係数、サブバンド3H:1係数、サブバンド3L:1係数、の合計4係数となる。
【0045】
図11Bは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“1”の場合に、ウェーブレット変換を3回行った場合を示している。
【0046】
符号化対象の着目タイルの端の画素eを復号するためには、着目タイルの端部の1Lの変換係数データ1Leおよび着目タイル内の1Hの変換係数データ1Hd,及び、隣接タイルの1Hの変換係数データ1Hfが必要となる。変換係数1Leは、着目タイル内の変換係数2Hc,2Le,及び隣接タイル内の変換係数データ2Hgから算出できる。また、変換係数2Leは、着目タイル内の変換係数3Ha,3Le.及び、隣接タイルの変換係数データ3Hiから算出できる。従って、結局のところ、図11Bに示すように、着目タイル内のデータに加えて、隣接タイル内の変換係数データ1Hf、変換係数データ2Hg、変換係数データ3Hiがあれば十分となる。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。また、これらの変換係数データを算出するためには、隣接タイルの14画素を必要とする。そのため、“着目タイル幅/8”の余りが1となる場合は、着目タイルに加えて少なくとも隣接タイルの14画素を入力してウェーブレット変換を3回行う。そして、符号化する際には、隣接タイルの変換係数データについては、ウェーブレット変換で得られた全ての変換係数でなく、着目タイルの端部の画素eおよび端部の変換係数データを復号するのに必要となる変換係数データ{1Hf、2Hg、3Hi}を符号化する。
【0047】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:1係数、サブバンド3H:1係数、サブバンド3L:0係数、の合計3係数となる。
【0048】
図11Cは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“2”の場合に、ウェーブレット変換を3回行った場合を示している。
【0049】
着目タイルの端の画素fを復号するためには、着目タイルの画素e、着目タイルの1Hの変換係数データ1Hf,および、画素gが必要となる。画素gを復号するには、着目タイル内の1Hの変換係数データ1Hf、隣接タイル内の1Lの変換係数データ1Lg、および、隣接タイル内の1Hの変換係数データ1Hfが必要となる。このうち、1Lの変換係数データ1Lgは記録されないので、生成する必要がある。変換係数データ1Lgは、着目タイル内の変換係数1Le,及び隣接タイル内の変換係数データ2Hg,1Liから算出できる。1Lの変換係数データ1Le,1Liは記録されないので算出する必要がある。変換係数データ1Leは、着目タイル内の変換係数データ2Hc、2Le、隣接タイル内の2Hg~算出できる。記録されない2Lの変換係数データである2Leは、着目タイル内の2Ha、3Le、および、隣接タイル内の3Hiから算出できる。また、変換係数データ1Liは、隣接タイル内の変換係数データ2Hg,2Li、2Hkから算出できる。記録されない2Lの変換係数データである2Liは、着目タイル内の変換係数データ2Le、および、隣接タイル内の3Hi、2Lmから算出できる。また、記録されない2Lの変換係数データである2Lmは、隣接タイル内の変換係数データ3Hi,3Lm,3Hqから算出できる。従って、結局のところ、図11Cに示すように、符号化対象の着目タイル内のデータに加えて、隣接タイルの変換係数データ1Hh、変換係数データ2Hg、変換係数データ2Hk、変換係数データ3Hi、変換係数データ3Hq、変換係数データ3Lmがあれば十分となる。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。また、これらの変換係数データを算出するためには、隣接タイルの21画素を必要とする。そのため、“着目タイル幅/8”の余りが2となる場合は、着目タイルに加えて少なくとも隣接タイルの21画素を入力してウェーブレット変換を行う。そして、符号化する際には、隣接タイルの変換係数データについては、ウェーブレット変換で得られた全ての変換係数でなく、変換係数データ{1Hh、2Hg、2Hk、3Hi、3Hq、3Lm}を符号化する。
【0050】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:2係数、サブバンド3H:2係数、サブバンド3L:1係数、の合計6係数となる。
【0051】
図11Dは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“3”の場合に、ウェーブレット変換を3回行った場合を示している。
【0052】
着目タイルの端の画素gを復号するためには、着目タイルの端部の1Hの変換係数データ1Hf,1Lの変換係数データ1Lg、および隣接タイル内の1Hの変換係数データ1Hhが必要となる。このうち、1Lの変換係数データ1Lgは記録されないので、他の変換係数データから算出する必要がある。変換係数データ1Lgは、着目タイル内の1Le、2Hg、及び、隣接タイル内の1Liから算出できる。1Lの変換係数データである1Le、1Liは記録されないので、他の変換係数データから算出する必要がある。変換係数データ1Leは、着目タイル内の変換係数データ2Hc、2Le、2Hgから算出できる。記録されない2Lの変換係数データである2Leは、着目タイル内の変換係数データ3Ha、3Le、及び、隣接タイル内の変換係数データ3Hiから算出できる。また、変換係数データ1Liは、着目タイル内の変換係数データ2Hg、及び、隣接タイル内の変換係数データ2Li,2Hkから算出できる。記録されない2Lの変換係数データである2Liは、着目タイル内の変換係数データ2Le及び。隣接タイル内の3Hi、2Lmから算出できる。記録されない2Lの変換係数データである2Lmは、隣接タイル内の変換係数データ3Hi,3Lm,3Hqから算出できる。したがって、結局のところ、図11Dに示すように、符号化対象の着目タイル内のデータに加えて、隣接タイルの変換係数データ1Hh、変換係数データ2Hk、変換係数データ3Hi、変換係数データ3Hq、変換係数データ3Lmがあれば十分となる。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。また、これらの変換係数データを算出するためには、隣接タイルの20画素を必要とする。そのため、“着目タイル幅/8”の余りが3となる場合は、着目タイルに加えて少なくとも隣接タイルの20画素を入力してウェーブレット変換を行う。そして、符号化する際には、隣接タイルの変換係数データについては、ウェーブレット変換で得られた全ての変換係数でなく、着目タイルの端部の画素gおよび端部の変換係数データを復号するのに必要となる変換係数データ{1Hh、2Hk、3Hi、3Hq、3Lm}を符号化する。
【0053】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:1係数、サブバンド3H:2係数、サブバンド3L:1係数、の合計5係数となる。
【0054】
図11Eは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“4”の場合に、ウェーブレット変換を3回行った場合を示している。
【0055】
着目タイルの端の画素hを復号するためには、着目タイル内の画素g、着目タイル内の変換係数データ1Hh、隣接タイル内の画素iが必要となる。画素iを復号するには、着目タイル内の変換係数データ1Hh、隣接タイル内の変換係数データ1Li,1Hjが必要となる。記録されない1Lの変換係数データである1Liは、着目タイル内の変換係数データ2Hg、隣接タイル内の変換係数データ2Li、2Hkから算出できる。記録されない2Lの変換係数データである2Liは、着目タイル内の変換係数データ2Le、及び、隣接タイル内の変換係数データ3Hi、2Lmから算出できる。変換係数データ2Leは、変換係数データ3Ha、3Le、3Hiから算出できる。記録されない2Lの変換係数データである2Lmは、隣接タイル内の変換係数データ3Hi,3Lm、3Hqから算出できる。したがって、結局のところ、図11Eに示すように、符号化対象の着目タイル内のデータに加えて、隣接タイルの変換係数データ1Hj、変換係数データ2Hk、変換係数データ3Hi、変換係数データ3Hq、変換係数データ3Lmがあれば十分となる。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。また、これらの変換係数データを算出するためには、隣接タイルの19画素を必要とする。そのため、“着目タイル幅/8”の余りが4となる場合は、着目タイルに加えて少なくとも隣接タイルの19画素を入力してウェーブレット変換を行う。そして、符号化する際には、隣接タイルの変換係数データについては、ウェーブレット変換で得られた全ての変換係数でなく、着目タイルの端部の画素hおよび端部の変換係数データを復号するのに必要となる変換係数データ{1Hj、2Hk、3Hi、3Hq、3Lm}を符号化する。
【0056】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:1係数、サブバンド3H:2係数、サブバンド3L:1係数、の合計5係数となる。
【0057】
図11Fは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“5”の場合に、ウェーブレット変換を3回行った場合を示している。
【0058】
着目タイルの端の画素iを復号するためには、着目タイルの変換係数データ1Hh,1Li、隣接タイルの変換係数データ1Hjが必要となる。変換係数データ1Liは、着目タイルの変換係数データ2Hg、2Li、隣接タイルの変換係数データ2Hkから算出できる。変換係数データ2Liは、着目タイルの変換係数データ2Le、3Hi、及び、隣接タイルの変換係数データ2Lmから算出できる。変換係数データ2Lmは、着目タイルの変換係数データ3Hiおよび隣接タイルの変換係数データ3Lm,3Hqが必要となる。したがって、結局のところ、図11Fに示すように、符号化対象の着目タイル内のデータに加えて、隣接タイルの変換係数データ1Hj、変換係数データ2Hk、変換係数データ3Hq、変換係数データ3Lmがあれば十分となる。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。また、これらの変換係数データを算出するためには、隣接タイルの18画素を必要とする。そのため、“着目タイル幅/8”の余りが5となる場合は、着目タイルに加えて少なくとも隣接タイルの18画素を入力してウェーブレット変換を行う。そして、符号化する際には、隣接タイルの変換係数データについては、ウェーブレット変換で得られた全ての変換係数でなく、着目タイルの端部の画素iおよび端部の変換係数データを復号するのに必要となる変換係数データ{1Hj、2Hk、3Hq、3Lm}を符号化する。
【0059】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:1係数、サブバンド3H:1係数、サブバンド3L:1係数、の1係数、の合計4係数となる
図11Gは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“6”の場合に、ウェーブレット変換を3回行った場合を示している。
【0060】
着目タイルの端の画素jを復号するためには、着目タイル内の画素i、変換係数データ1Hj、隣接タイルの画素kが必要となる。隣接タイルの画素kを復号するためには、着目タイル内の変換係数データ1Hj、隣接タイル内の変換係数データ1Lk、1Hlが必要となる。変換係数データ1Lkは、着目タイル内の変換係数データ1Li、及び、隣接タイル内の変換係数データ2Hk,1Lmから算出できる。変換係数データ1Lmは、隣接タイル内の変換係数データ2Hk,2Lm、2Hoから算出できる。変換係数データ2Lmは、着目タイル内の変換係数データ3Hi、及び、隣接タイル内の変換係数データ3Lm,3Hqから算出できる。なお、着目タイル内の記録されない変換係数データ1Li、2Liについては、着目タイル内の記録される変換係数と、隣接タイル内の変換係数2Hk、2Lmにより算出できる。従って、結局のところ、図11Gに示すように、符号化対象の着目タイル内のデータに加えて、隣接タイルの変換係数データ1Hl、変換係数データ2Hk、変換係数データ2Ho、変換係数データ3Hq、変換係数データ3Lmがあれば十分となる。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。また、これらの変換係数データを算出するためには、隣接タイルの17画素を必要とする。そのため、“着目タイル幅/8”の余りが6となる場合は、着目タイルに加えて少なくとも隣接タイルの17画素を入力してウェーブレット変換を行う。そして、符号化する際には、隣接タイルの変換係数データについては、ウェーブレット変換で得られた全ての変換係数でなく、着目タイルの端部の画素jおよび端部の変換係数データを復号するのに必要となる変換係数データ{1Hl、2Hk、2Ho、3Hq、3Lm}を符号化する。
【0061】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:2係数、サブバンド3H:1係数、サブバンド3L:1係数、の合計5係数となる
図11Hは、符号化対象の着目タイルの水平または垂直方向の画素数(着目タイル幅)を“8”で除算した余りが“7”の場合に、ウェーブレット変換を3回行った場合を示している。
【0062】
着目タイルの端の画素kを復号するためには、着目タイル内の変換係数データ1Hj,1Lk、及び、隣接タイル内の変換係数データ1Hlが必要となる。変換係数データ1Lkは、着目タイル内の変換係数データ1Li,2Hk、及び、隣接タイル内の変換係数データ1Lmから算出できる。変換係数データ1Lmは、着目タイル内の変換係数データ2Hk、および、隣接タイル内の変換係数データ2Lm、2Hoから算出できる。変換係数データ2Lmは、着目タイル内の変換係数データ3Hi、及び、隣接タイル内の変換係数データ3Lm、3Hqから算出できる。また、詳しい説明は省略するが、着目タイル内の記録されない1L、2Lの端部の変換係数データについても、着目タイル内の記録される変換係数データと、隣接タイル内の変換係数データ1Lm、2Lmとから算出できる。従って、結局のところ、図11Hに示すように、符号化対象の着目タイル内のデータに加えて、隣接タイルの変換係数データ1Hl、変換係数データ2Ho、変換係数データ3Hi、変換係数データ3Hq、変換係数データ3Lmがあれば十分となる。この変換係数データがあれば、着目タイル内の隣接タイル側の端の画素まで復号できる。また、これらの変換係数データを算出するためには、隣接タイルの16画素を必要とする。そのため、“着目タイル幅/8”の余りが7となる場合は、着目タイルに加えて少なくとも隣接タイルの16画素を入力してウェーブレット変換を行う。そして、符号化する際には、隣接タイルの変換係数データについては、ウェーブレット変換で得られた全ての変換係数でなく、着目タイルの端部の画素kおよび端部の変換係数データを復号するのに必要となる変換係数データ{1Hl、2Ho、3Hq、3Lm}を符号化する。
【0063】
つまり、着目タイル内の端の画素を復元するために隣接タイルから生成された変換係数データのうちの利用する変換係数データは、サブバンド1H:1係数、サブバンド2H:1係数、サブバンド3H:1係数、サブバンド3L:1係数、の合計4係数となる
このように、隣接タイルから生成された変換係数データのうち、着目タイル内の端の画素を復元するために必要となる変換係数データを求めていくと、図10(a),(b)の図のようになる。なお、隣接タイル内の変換係数データのうち、着目タイル側から図10に示す数分の変換係数データが、着目タイル内の端の画素を復元するために必要となることを示している。
【0064】
高周波成分のサブバンドの変換係数データについては、必ず1つ以上必要となり、変換係数データ1Hについては、ウェーブレット変換の回数にかかわらず、必ず1となる。1H以外の変換係数データの数は、着目タイル幅によって異なる。また、ウェーブレット変換回数がN回の場合に符号化される低周波成分のサブバンドの変換係数データ、つまり、変換係数データ(NL)については、着目タイルの端の画素を復元するのに必要となる変換係数データ(NL)の数は、0または1となり、着目タイル幅によって決まる。
【0065】
後述のフローのように、図10(a),(b)に示す数値で、オーバーラップ画素数でウェーブレット変換を行い、さらに、隣接タイル内の着目タイル側から、着目タイルの復号に必要な変換係数データの数分の変換係数データのみを符号化することにより、処理の高速化および符号量の削減を行うことができる。
【0066】
また、上述の説明で、隣接タイル内の変換係数データとは、隣接タイルの画素を参照して得られた変換係数データであって、着目タイルの画素と隣接タイルの画素との間をタイル境界として、このタイル境界により変換係数を着目タイル側と隣接タイル側とに分けた場合に、隣接タイル側に含まれる変換係数データのことを示している。
【0067】
上記は可逆5/3タップのフィルタを用いた例であるが、例えば非可逆9/7タップフィルタを用いてウェーブレット変換した場合には、特許文献2との差はさらに大きなものとすることができる。
【0068】
ここで、上記の本第1の実施形態の画像符号化部100の処理を図5のフローチャートに従って説明する。
【0069】
設定部106は、ステップS1、S2にて、1フレーム画像の分割タイル数M、ウェーブレット変換回数N(or分解レベル数N)を設定する。そして、設定部106は、ステップS3にて、各タイルをウェーブレット変換する際のタイル周辺画素数を表すオーバーラップ画素数を決定する。設定部106は図10(a),(b)のようなテーブルを保持しており、オーバーラップ画素数は、ステップS2で設定されたウェーブレット変換回数N、および、タイル幅に応じて、図10(a),(b)Bのように決定され、隣接タイルが上または左の場合と、下または右の場合とでそれぞれオーバーラップ画素数が決定される。また、符号化対象の着目タイル幅によって隣接タイルが下または右の場合のオーバーラップ画素数は異なるため、図5のように全タイルでまとめてオーバーラップ画素数を決定せずに、着目タイル毎にオーバーラップ画素数を決定してもよい。また、タイル幅が全て同じ場合は一括で決定し、タイル毎にタイル幅が異なる場合は着目タイル毎に決定するように、処理を切り換えるようにしてもよい。
【0070】
この後、ステップS4にて、入力データ制御部102は、ステップS1、S3で決定した情報に基づき、フレームメモリ101から、着目タイル画像データとそのタイル周辺画素データ(隣接タイルの着目タイル側の端の画素データ)を読み出し、ウェーブレット変換部103に供給する。ウェーブレット変換部103は、ステップS5にて、設定された回数だけウェーブレット変換を実行し、変換係数データを生成する。そして、ウェーブレット変換部103は、ステップS6にて、着目タイル画像データから得られた、符号化対象のサブバンドの全変換係数データを量子化部104に供給する。また、ウェーブレット変換部103は、タイル周辺画素データから得られた変換係数データについて、タイル境界側の端部から、図10A,10Bに示す着目タイルの端の画素の復号に必要となる数の変換係数データを、分解量子化部104に供給する。量子化部104は、これを受けて量子化処理を実行する。図10A,10Bに示されているように、着目タイルのタイル幅や、ウェーブレット変換の回数によって、量子化部104に供給される変換係数データの数は異なっており、サブバンド毎に、量子化部104に供給される変換係数データの数が定義されている。
【0071】
この後、ステップS7にて、エントロピー符号化部105は、量子化後の変換係数データをエントロピー符号化し、符号化データを生成する。そして、ステップS8にて、全タイルの符号化を終えるまで、データ入力制御部102ウェーブレット変換部103、量子化部104、エントロピー符号化部105による処理が繰り返される。
【0072】
なお、動画像を符号化する場合には、ステップS4以降の処理を2つ目のフレーム以降で繰り返せばよい。
【0073】
本実施形態では、図10(a),(b)のような関係を用いて、着目タイルの符号化を行った。
【0074】
つまり、隣接タイルの位置が下または右の場合、着目タイル幅とウェーブレット変換の回数に応じて、オーバーラップ画素数と、隣接タイルの変換係数データうち符号化する変換係数データを決定した。
【0075】
しかし、以下のような変形例で着目タイル幅にかかわらず、オーバーラップ画素数と、隣接タイルの変換係数データうち符号化する変換係数データを決定するようにしてもよい。
【0076】
図10(a),(b)によると、ウェーブレット回数が1回の場合は、符号化するサブバンド(1H,1L)のうち、着目タイル内の端の画素を復元するために必要となる変換係数データの数は0〜1で、オーバーラップ画素数は2〜3となっている。そのため、ウェーブレット回数が1回の場合は、オーバーラップ画素数:3、符号化する隣接タイルの変換係数データの数:1とする。
【0077】
ウェーブレット回数が2回の場合は、符号化するサブバンド(1H、2H、2L)のうち、着目タイル内の端の画素を復元するために必要となる変換係数データの数は、1Hは1、2Hは1〜2、2Lは0〜1で、オーバーラップ画素数は6〜9となっている。そのため、ウェーブレット回数が2回の場合は、オーバーラップ画素数:9、符号化する隣接タイルの変換係数データの数は、1H:1、2H:2、2L:1とする。または、符号化する隣接タイルの変換係数データの数については、符号化する全サブバンド(1H、2H、2L)について2としてもよい。
【0078】
ウェーブレット回数が3回の場合は、符号化するサブバンド(1H、2H、3H、3L)のうち、着目タイル内の端の画素を復元するために必要となる変換係数データの数は、1Hは1、2Hは1〜2、3Hは1〜2、3Lは0〜1で、オーバーラップ画素数は14〜21となっている。そのため、ウェーブレット回数が3回の場合は、オーバーラップ画素数:21、符号化する隣接タイルの変換係数データの数は、1H:1、2H:2、3H:2、3L:1とする。または、符号化する隣接タイルの変換係数データの数については、符号化する全サブバンド(1H、2H、3H、3L)について2としてもよい。
【0079】
本変形例では、第1の実施形態の図10(a),(b)よりも、符号化量は増加してしまうが、ウェーブレット変換により得られた隣接タイルの変換係数データであっても、符号化しない係数データがある。そのため、ウェーブレット変換により得られた隣接タイルの全ての変換係数データを符号化するよりも、データ量を削減することができる。
【0080】
次に、第1の実施形態を用いて得られた符号化データの復号について図6を用いながら説明する。図6は、第1の実施形態における復号部600のブロック構成図である。この復号部600は、撮像装置内に設けられることになる。
【0081】
復号部600は、エントロピー復号部601、逆量子化部602、逆ウェーブレット変換部603を有する。
【0082】
エントロピー復号部601は、EBCOT(Embedded Block Coding with Optimized Truncation)などでエントロピー符号化されたデータをタイル単位に入力し、復号する。そして、エントロピー復号部601は復号して得られた、量子化後の変換係数データ、量子化パラメータを逆量子化部602に供給する。
【0083】
逆量子化部602は、エントロピー復号部601から送られた変換係数データを、復号して得られた量子化パラメータを乗算して、量子化前の変換係数データを算出する。そして、逆量子化部602は、算出した変換係数データを逆ウェーブレット変換部603に供給する。
【0084】
逆ウェーブレット変換部603は、逆量子化部602から送られた変換係数データを逆ウェーブレット変換を実行し、タイル画像データを復元する。
【0085】
ここで、前述の可逆5/3タップフィルタを用いてウェーブレット変換をリフティング構造を用いて符号化した場合の復号部600の復号処理を図7を用いて説明する。
【0086】
図7は、図3を用いて説明したウェーブレット変換で生成した係数をリフティング構造を用いて逆ウェーブレット変換する様を示す図である。図7のd’、e”、f’、g”は、図3のd’、e”、f’、g”に対応する。つまり、d’,f’は分解レベル1の高周波の変換係数データ(1H)であり、e”、g”は分解レベル1の低周波の変換係数データ(1L)を示している。このうち、変換係数データd’は、隣接タイル画像に属するものである。係数データd’、e”、f’から、着目タイルの端の画素eを生成することができる。
【0087】
このように、第1の実施形態では、タイル境界の画素データeを生成する際に、図7のように予め符号化されている復号タイル対象外の隣接タイルに属するウェーブレット係数d’を用いて復号する。このため、隣接するタイル間の連続性が保たれタイル境界での画質劣化の発生を防止することが可能になる。
【0088】
[第2の実施形態]
図8は、第2の実施形態における画像符号化部800のブロック構成図である。本第2の実施形態における画像符号化部800は、第1の実施形態における図1の設定部106に変えて設定部801を設けた点、並びに、符号量調整部802を有する点が異なる。また、データ入力制御部102及びウェーブレット変換部103の動作が図1とも異なる。なお、第2の実施形態における設定部801は、図1の設定部106の機能に加えて、不図示の操作部からの指示に従った圧縮率を入力し、それに従い、データ入力制御部102、符号量調整部802を制御する。図9は、本第2の実施形態における処理手順を示すフローチャートである。以下、図8の各構成要素の処理を、図9のフローチャートに従って説明する。
【0089】
設定部801は、入力した圧縮率が予め設定された閾値より小さい場合、タイル境界のウェーブレット変換をミラー処理で実施するようデータ入力制御部102に指示する(S1001、S1002)。一方、圧縮率が閾値以上の場合には、タイル境界のウェーブレット変換を隣接タイルの画素までオーバーラップして実施するようデータ入力制御部102に指示する(S1001、S1003)。また、いずれの方式で符号化されたのか示すフラグ(圧縮率と閾値との大小判定結果を示すフラグ)を符号化ストリームのヘッダに格納する。圧縮率によって処理を切り換えるのは以下の理由による。
【0090】
圧縮率が閾値より小さい場合には、符号量は多くなるものの、量子化ステップが小さいので、量子化誤差も小さくなり、タイル境界における画質劣化が発生しにくい。従って、ミラー処理を選択したとしても、オーバーラップによる余分な符号化対象係数の増加を防ぐように制御する。
【0091】
一方、圧縮率が大きい場合には、量子化誤差は無視できなくなり、タイル境界における画質劣化が目立つ。それ故、第1の実施形態と同様に、タイル周辺画素データを参照した符号化処理を実行する。なお、実際の符号量の調整は、符号量調整部802が行うが、その詳細は後述する。
【0092】
データ入力制御部102は設定部801から指定されたウェーブレット変換処理方法に従い、画像データを所定のサイズのタイルに分割し、予め定められた順序でタイルをフレームメモリ101から読み出し、ウェーブレット変換部103に供給する。
【0093】
例えば、タイル境界のウェーブレット変換をミラー処理で実施する方法が選択されていた場合には、隣接タイルの画素は入力せずに符号化対象タイルの画素のみを入力する(S1004)。一方、ウェーブレット変換を隣接タイルの画素までオーバーラップして実施する方式が選択されていれば、先に説明した第1実施形態に示したタイル入力方法を実施する(S1005)。なお、その際、設定部801で指定されたウェーブレット変換処理方法もウェーブレット変換部103に送信する。
【0094】
ウェーブレット変換部103はデータ制御入力部102から送信されるウェーブレット変換方式に従ってウェーブレット変換を実行する。例えば、タイル境界のウェーブレット変換をミラー処理で実施する方法が選択されていた場合には、タイル境界の画素をミラー処理で生成し、ウェーブレット変換を行う(S1006)。
【0095】
一方、ウェーブレット変換を隣接タイルの画素までオーバーラップして実施する方式が選択されている場合、ウェーブレット変換部103は、着目タイル画像データとそのタイル周辺画素データを用いてウェーブレット変換を実行する(S1007)。この際、量子化部104に供給する変換係数データの取捨選択は、第1の実施形態と同じである。
【0096】
次に、本第2の実施形態における符号量調整部802の処理を説明する。
【0097】
1フレーム画像あたりの目標符号量は、圧縮率で決定される。そこで、この目標符号量をA_Targetとする。エントロピー符号化部105は、量子化後の各変換係数データの同一ビット位置で構成されるビットプレーンをエントロピー符号化するものとする。ビットiのプレーンの符号化データをCiと表し、その符号量をA(Ci)と表す。このとき、エントロピー符号化部105で生成された符号化データの1フレームの総符号量C_Totalは、次式の通りである。
C_Total=ΣA(Ci)(i=0,1、…、MSB)
従って、着目フレームの符号量を目標符号量A_Target以下とするために、次式を満たすkの最小値を求める。
C_total−ΣA(Ck)≦A_Target
kが求まれば、ビット0からビットkまでのビットプレーンの符号化データを破棄すれば良い。
【0098】
なお、本第2の実施形態で符号化されたストリームを復号する際には、ストリームヘッダに記録されているいずれの方式が選択されたのかを示すフラグを参照すればよい。フラグを参照することで、符号化データが、タイル境界を隣接タイルの係数までオーバーラップして実施して得られたものか、あるいは、タイル境界で折り返すミラー処理を経て生成されたものか判断できる。
【0099】
以上説明したように、本第2の実施形態によれば、圧縮率に応じて、タイル画像データの符号化処理時に、ミラー処理を行うか、タイル周辺画素データを参照するかを選択する。この結果、特に高い圧縮率が設定された場合に、タイル境界でのノイズの発生をこれまで以上に抑制できるようになる。
【0100】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0101】
100…画像符号化部、101…フレームメモリ、102…データ入力制御部、103…ウェーブレット変換部、104…量子化部、105…エントロピー符号化部、106…設定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11A
図11B
図11C
図11D
図11E
図11F
図11G
図11H