(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023100261
(43)【公開日】2023-07-18
(54)【発明の名称】符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、及び復号プログラム
(51)【国際特許分類】
H04N 19/86 20140101AFI20230710BHJP
【FI】
H04N19/86
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022209738
(22)【出願日】2022-12-27
(31)【優先権主張番号】P 2022000662
(32)【優先日】2022-01-05
(33)【優先権主張国・地域又は機関】JP
(31)【優先権主張番号】P 2022078399
(32)【優先日】2022-05-11
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 令和4年1月6日開催 筑波大学 理工情報生命学術院 システム情報工学研究群情報理工学位プログラム 2021年度CSセミナー(WEB会議)
(71)【出願人】
【識別番号】398034168
【氏名又は名称】株式会社アクセル
(74)【代理人】
【識別番号】100085660
【弁理士】
【氏名又は名称】鈴木 均
(74)【代理人】
【識別番号】100149892
【弁理士】
【氏名又は名称】小川 弥生
(74)【代理人】
【識別番号】100185672
【弁理士】
【氏名又は名称】池田 雅人
(72)【発明者】
【氏名】林 慶悟
(72)【発明者】
【氏名】小島 悠貴
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MC11
5C159ME01
5C159PP04
5C159UA02
5C159UA05
5C159UA11
(57)【要約】
【課題】動画像の符号化に生じる符号化効率の劣化を低減する。
【解決手段】動画像の符号化を行う符号化装置において、対象画像に対してプリフィルタリングを行う第1プリフィルタ部と、参照画像に対してプリフィルタリングを行う第2プリフィルタ部と、前記第2プリフィルタ部の出力を用いて前記第1プリフィルタ部の出力に対する予測値を生成する予測部と、前記第1プリフィルタ部の出力と前記予測部により生成された予測値の差分を符号化する符号化部とを備えた。
【選択図】
図2
【特許請求の範囲】
【請求項1】
動画像の符号化を行う符号化装置において、
対象画像に対してプリフィルタリングを行う第1プリフィルタ部と、
参照画像に対してプリフィルタリングを行う第2プリフィルタ部と、
前記第2プリフィルタ部の出力を用いて前記第1プリフィルタ部の出力に対する予測値を生成する予測部と、
前記第1プリフィルタ部の出力と前記予測部により生成された予測値の差分を符号化する符号化部と、
を備えたことを特徴とする符号化装置。
【請求項2】
動画像の符号化を行う符号化装置において、
符号化の対象画像をブロックに分割する分割部と、
予測モードおよびプリフィルタリングの有無を判定する第1モード判定部と、
対象画像に対してプリフィルタリングを行い、プリフィルタリング済み対象画像のブロックを生成する第1プリフィルタ部と、
参照画像に対してプリフィルタリングを行い、プリフィルタリング済み参照画像のブロックを生成する第2プリフィルタ部と、
プリフィルタリングされていない対象画像のブロックの画素値を予測する第1予測部と、
プリフィルタリングされた対象画像の画素値を予測する第2予測部と、
対象画像を符号化し、符号化データを生成する符号化部と、
を備え、
前記第2予測部は前記第1プリフィルタ部の出力、または前記第1プリフィルタ部及び前記第2プリフィルタ部の出力を用いてイントラ予測、インター予測、階層的インター予測のいずれかを行うことを特徴とする符号化装置。
【請求項3】
請求項2に記載の符号化装置において、
前記第1プリフィルタ部及び第2プリフィルタ部は、
前記対象画像のブロックおよび参照画像のブロックの偶数画素を基点としたプリフィルタリングと、
前記対象画像のブロックおよび参照画像のブロックの奇数画素を基点としたプリフィルタリングと、
の2回のプリフィルタリングを行うことを特徴とする符号化装置。
【請求項4】
符号化データの予測モードおよびプリフィルタリングの有無を判定する第2モード判定部と、
符号化の際にプリフィルタリングされていない対象画像のブロックの画素値を予測する第3予測部と、
符号化の際にプリフィルタリングされている対象画像のブロックの画素値を予測する第4予測部と、
参照画像に対してプリフィルタリングを行い、プリフィルタリング済み参照画像のブロックを生成する第3プリフィルタ部と、
予測モードに基づく所定の予測値と前記符号化データに符号化された残差を加算することでブロックを復元する復号部と、
復号したブロックに対して所定のポストフィルタリングを行うことで、ポストフィルタリング済みブロックを生成するポストフィルタ部と、
ポストフィルタリング済みブロックを結合することで復元画像を得る結合部と、を備え、
前記第4予測部がインター予測を行う場合には、前記第3プリフィルタ部の出力を用いて予測を行うことを特徴とする復号装置。
【請求項5】
請求項4の記載の復号装置において、
前記ポストフィルタ部は、プリフィルタリングの有無が混在する境界部分で異なるポストフィルタを用いる、
ことを特徴とする復号装置。
【請求項6】
プロセッサによって実行される、画像の符号化を行う符号化方法において、
符号化の対象画像をブロックに分割し、
予測モードを判定し、
対象画像のブロックに対してプリフィルタリングを行い、プリフィルタリング済み対象画像のブロックを生成し、
参照画像のブロックに対してプリフィルタリングを行い、プリフィルタリング済み参照画像のブロックを生成し、
前記プリフィルタリング済み参照画像のブロックを参照してプリフィルタリング済み対象画像のブロックの画素値をインター予測し、
予測モードに基づく所定の予測値とブロックの画素値又はプリフィルタリング済み対象画像のブロックの画素値の残差および予測モードを符号化して符号化データを生成する、
ことを特徴とする符号化方法。
【請求項7】
画像を符号化する符号化方法をプロセッサに実行させる画像処理プログラムであって、
符号化の対象画像をブロックに分割し、
予測モードを判定し、
対象画像のブロックに対してプリフィルタリングを行い、プリフィルタリング済み対象画像のブロックを生成し、
参照画像のブロックに対してプリフィルタリングを行い、プリフィルタリング済み参照画像のブロックを生成し、
前記プリフィルタリング済み参照画像のブロックを参照してプリフィルタリング済み対象画像のブロックの画素値をインター予測し、
予測モードに基づく所定の予測値とブロックの画素値又はプリフィルタリング済み対象画像のブロックの画素値の残差および予測モードを符号化して符号化データを生成する、
ことを特徴とする符号化プログラム。
【請求項8】
プロセッサによって実行される、符号化された画像を復号する復号方法において、
符号化データの予測モードを判定し、
参照画像に対してプリフィルタリングを行い、プリフィルタリング済み参照画像のブロックを生成し、
前記プリフィルタリング済み参照画像のブロックを参照してプリフィルタリング済み対象画像のブロックの画素値をインター予測し、
予測モードに基づく所定の予測値と前記符号化データに符号化された残差を加算することでブロックを復元し、
前記復元したブロックに対して所定のポストフィルタリングを行うことでポストフィルタリング済みブロックを生成し、
前記ポストフィルタリング済みブロックを結合することで画像を復元する、
ことを特徴とする復号方法。
【請求項9】
符号化された画像を復号する復号方法をプロセッサに実行させる画像処理プログラムであって、
符号化データの予測モードを判定し、
参照画像に対してプリフィルタリングを行い、プリフィルタリング済み参照画像のブロックを生成し、
前記フィルタリング済み参照画像のブロックを参照してプリフィルタリング済み対象画像のブロックの画素値をインター予測し、
予測モードに基づく所定の予測値と前記符号化データに符号化された残差を加算することでブロックを復元し、
前記復元したブロックに対して所定のポストフィルタリングを行うことでポストフィルタリング済みブロックを生成し、
前記ポストフィルタリング済みブロックを結合することで画像を復元する、
ことを特徴とする復号プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、符号化装置、復号装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【0002】
JPEG(非特許文献1)等の静止画像歪み圧縮では、ブロック単位で画素値を変換後、各成分を量子化し割り当てビット数を削減する処理が適用される。その結果、量子化(ブロック)ノイズが発生する問題がある。
この問題の一つの解決法として、JPEG2000(非特許文献2)およびJPEG-XR(非特許文献3)を応用例とする重複(双)直交変換が精力的に研究されている。
特にJPEG-XRは4×4画素の単位ブロックを基本とする2階層変換符号化であり、エンコーダのプリフィルタにより画像平面上のブロック境界を含む領域の高周波成分を強調し、デコーダのポストフィルタにより高周波成分とともに量子化ノイズを減弱させる機構(非特許文献4)を利用している。既存の静止画像コーデックをプリ・ポストフィルタで挟み込み、符号化効率を向上させる手法も報告されている(非特許文献5)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】William B. Pennebaker and Joan L. Mitchell. JPEG Still Image Data Compression Standard. Kluwer Academic Publishers, USA, 1st edition, 1992.
【非特許文献2】C. Christopoulos, A. Skodras, and T. Ebrahimi. The jpeg2000 still image coding system: an overview. IEEE Transactions on Consumer Electronics, Vol. 46, No. 4, pp. 1103-1127, 2000.
【非特許文献3】Frederic Dufaux, Gary J. Sullivan, and Touradj Ebrahimi. The jpeg xr image coding standard [standards in a nutshell]. IEEE Signal Processing Magazine, Vol.26, No.6, pp.195-204,2009.
【非特許文献4】T.D. Tran, Jie Liang, and Chengjie Tu. Lapped transform via time-domain pre- and postfiltering. IEEE Transactions on Signal Processing, Vol. 51, No. 6, pp. 1557-1571, 2003.
【非特許文献5】小林和則,山口博久.プレフィルタ・ポストフィルタを用いた画像圧縮.電子情報通信学会総合大会講演論文集,1997年.情報システム,No.2, p.28, Mar 1997.
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようにコーデックをプリフィルタ、ポストフィルタで挟みこむことで、静止画像の符号化効率を向上させる手法が知られており、インター符号化等による動画像の符号化においても、プリ・ポストフィルタ処理を導入することによる符号化効率の向上が期待できる。
インター予測は、符号化対象のフレーム(対象画像)の前後のフレーム(参照画像)から予測画像を生成し、対象画像との差分(予測残差)を検出して符号化することによって動画データの圧縮率を高める手法である。インター予測では、圧縮効率をさらに高めるために動き補償が用いられる。動き補償は、動画像内で移動している被写体(前後のフレームに存在する同一の被写体)が写っている範囲や移動方向、速度(動きベクトル)を符号化し、予測画像の作成に反映させる。
一般的に、動き補償を用いるコーデックでは領域参照の不連続性が高圧縮時にブロックノイズとして現れるという問題がある。
本発明は、一側面として、動画像の符号化に生じる符号化効率の劣化を低減することを目的とする。
【課題を解決するための手段】
【0005】
本発明は、動画像の符号化を行う符号化装置において、対象画像に対してプリフィルタリングを行う第1プリフィルタ部と、参照画像に対してプリフィルタリングを行う第2プリフィルタ部と、前記第2プリフィルタ部の出力を用いて前記第1プリフィルタ部の出力に対する予測値を生成する予測部と、前記第1プリフィルタ部の出力と前記予測部により生成された予測値の差分を符号化する符号化部とを備えたことを特徴とする。
【発明の効果】
【0006】
本発明によれば、動画像の符号化に生じる符号化効率の劣化を低減することができる。
【図面の簡単な説明】
【0007】
【
図1】本実施形態の画像処理システムの概略構成を示す図である。
【
図2】本発明に係る実施形態1におけるエンコーダとしての画像処理装置の機能構成を説明する図である。
【
図3】本発明に係る実施形態1におけるデコーダとしての画像処理装置の機能構成を説明する図である。
【
図4】エンコーダ10における処理フローを説明する図である。
【
図5】デコーダ30における処理フローを説明する図である。
【
図6】本発明に係る実施形態2におけるエンコーダとしての画像処理装置の機能構成を説明する図である。
【
図7】本発明に係る実施形態2におけるデコーダとしての画像処理装置の機能構成を説明する図である。
【
図8】実施形態2の画像処理システムにおける画像データ(ブロック)の操作を説明する図である。
【
図9】偶数画素を起点としたフィルタブロックを示す図である。
【
図10】奇数画素を起点としたフィルタブロックを示す図である。
【
図12】奇数画素を起点としたフィルタブロックに対するプリフィルタリングを示す図である。
【
図13】ポストフィルタリングの境界パターンを説明する図である。
【
図20】エンコーダが実行する符号化処理を説明するフローチャートである。
【
図21】デコーダが実行する復号処理を説明するフローチャートである。
【
図22】コンピュータ装置の一実施例を示すブロック図である。
【発明を実施するための形態】
【0008】
以下に、図面を参照して本発明の実施の形態を詳細に説明する。
図1は、本実施形態の画像処理システムの概略構成を示す図である。
図1に示す画像処理システム1は、画像の圧縮(符号化)を行うエンコーダとして機能する画像処理装置10と、画像の復元(復号)を行うデコーダとして機能する画像処理装置30と、を備える。
エンコーダは符号化装置ともいい、デコーダは復号装置ともいう。
エンコーダ10は対象画像を圧縮符号化して符号化データを作成する。
デコーダ30は、エンコーダ10が作成した符号化データを復号することによって対象画像を復元して表示する。
エンコーダ10、デコーダ30は、後述するようにコンピュータ装置100として構成することが出来るが、コンピュータ装置やその他アプライアンス製品に組み込む画像処理デバイス(モジュール)として構成してもよい。
エンコーダ10は、画像を制作するコンピュータ装置等に組み込まれて、制作した画像をデコーダ30でデコード可能な符号化データに変換する。
デコーダ30は、画像を表示する機器、例えば遊技機やサイネージなどに組み込まれるVDP(Video Display Processor)として構成され、エンコーダ10で作成した符号化データをデコードして液晶表示装置などに表示する。
本明細書において、画像は複数のフレームからなる動画像を含む。
本実施形態の画像処理システム1は、動画像をインター(フレーム間)予測を用いて符号化するときの符号化効率の劣化を防ぐことを目的としている。
下記の説明において、動画像のうち、符号化対象フレームを対象画像、この対象画像に対するインター(フレーム間)予測で参照するフレームを参照画像と記載する。なお、参照画像は対象画像に隣接する直前又は直後のフレームや直前、直後ではない前又は後ろのフレームを選択することができる。
【0009】
<実施形態1>
図2は、本発明に係る実施形態1におけるエンコーダとしての画像処理装置の機能構成を説明する図である。
エンコーダ10は、制御部11と、記憶部12と、通信部13と、入力部14と、を備える。
制御部11は、受付部20と、予測部60と、第1プリフィルタ部24Aと、第2プリフィルタ部24Bと、符号化部25と、出力部26と、を備える。
制御部11に含まれる各処理部の少なくとも一つがハードウェアで実現されてもよい。
受付部20は、通信部13や入力部14を介したエンコード(符号化)の対象となる画像(動画像)を受け付ける。
第1プリフィルタ部24Aは対象画像の全体に対して所定のフィルタリングを行い、第2プリフィルタ部24Bは参照画像の全体に対して所定のフィルタリングを行う。ここで所定のフィルタリングとは、対象画像の周波数スペクトルの平坦性を高めるものである。自然な画像の画像信号に含まれる周波数成分は周波数帯によって一定ではなく、低域周波数帯に比べて高域周波帯の信号の持つエネルギー(パワーや振幅)が小さくなる傾向がある。そのため、このような場合には対象画像および参照画像の画素の高周波成分を強調するような処理が含まれる。
予測部60は第1プリフィルタ部24Aでフィルタリングした画像データに対してインター予測で予測を行う。インター予測は、対象画像の画素値の予測値(予測画像)を、参照画像を参照して計算する。
【0010】
インター予測は、符号化対象フレーム(対象画像)の前後のフレーム(参照画像)から、対象画像の予測画像を生成する手法であり、本実施形態においては対象フレーム全体で予測画像と対象画像との差分(予測残差)を符号化する。これにより符号化効率(圧縮効率)を大いに高めることが出来る。インター予測では、圧縮効率をさらに高めるために動き補償が用いられる。動き補償は、動画像内で移動している被写体(前後のフレームに存在する同一の被写体)が写っている範囲や移動方向、速度(動きベクトル)を符号化し、予測画像の作成に反映させるものである。撮影時のカメラのブレによって、動画像内に写っているものはほぼ同一であっても予測残差を求めると膨大な差分が生成される可能性があるが、これを避けるために、前後のフレーム全体での移動方向・速度(動きベクトル)を符号化してフレームのデータに含めることができる。
【0011】
図3は、本発明に係る実施形態1におけるデコーダとしての画像処理装置の機能構成を説明する図である。
デコーダ30は、制御部31と、記憶部32と、通信部33と、入力部34と、を備える。
制御部31は、受付部40と、予測部62と、第3プリフィルタ部44と、ポストフィルタ部45と、復号部46と、出力部47と、を備える。
制御部31に含まれる各処理部の少なくとも一つがハードウェアで実現されてもよい。
受付部40は、通信部33や入力部34を介したデコードの対象となる符号化データを受け付ける。
第3プリフィルタ部44は復号の際の参照画像となる前又は後のフレームにプリフィルタ処理を行う。
復号部46は、受付部40で受け付けた予測残差(符号化データ)を復号する。予測部62はプリフィルタ処理が施された参照画像と復号部46から出力される予測残差分とを加算し、インター予測する。
ポストフィルタ部45は、予測部62の出力に対してポストフィルタリングを行う。
出力部47は、画像処理結果をデコーダ30の外部に出力する。デコーダ30がVDPなどの画像処理デバイスである場合、出力部47による出力は、デコードした画像の表示装置に対する表示であってもよい。
【0012】
第3プリフィルタ部44におけるプリフィルタ処理は前述したエンコーダ10の第1プリフィルタ部24A、第2プリフィルタ部24Bと同様に参照画像の周波数スペクトルの平坦性を高めるものであり、第1および第2プリフィルタ部24A、24Bが高周波成分を強調するような処理であれば、第3プリフィルタ部44も高周波成分を強調するようなフィルタ処理とする。またポストフィルタ部45におけるフィルタ処理は予測部62の出力に対してフィルタリング処理を行い、ポストフィルタ部45におけるフィルタ処理は前記第1~第3プリフィルタ部で行った処理の逆傾向の処理、即ち、第1~第3プリフィルタ部で高周波成分を強調する処理が行われたのであれば、ポストフィルタ部45では高周波成分を弱める処理となる。
記憶部32は、画像処理の演算で用いられる一時ファイルや一時データ、画像処理済みの出力データを格納することが出来る。記憶部32はまた、エンコーダ10が作成したデコードの対象となる符号化データ(直流成分や予測残差)を格納することが出来る。
通信部33は、デコーダ30をネットワークに接続し、外部装置との通信を可能にする。
【0013】
図4は、エンコーダ10における処理フローを説明する図、
図5はデコーダ30における処理フローを説明する図である。
エンコーダ10においては符号化対象となる動画像の1フレーム分の画素が第1プリフィルタ部24Aに供給され、第1プリフィルタ部24Aにて入力データの周波数スペクトルの平坦性を高める処理、例えば、高周波成分が強調されるようなフィルタリング処理が行われ、高周波成分が強調された画素値が予測部60に供給される。
また対象画像の前または後ろのフレームである参照画像の1フレーム分の画素が第2プリフィルタ部24Bに供給され、第2プリフィルタ部24Bでもデータの周波数スペクトルの平坦性を高める処理、例えば、高周波成分が強調されるようなフィルタリング処理が行われ、高周波成分が強調された画素値が予測部60に供給される。
予測部60では入力したフィルタリング処理済みの対象画素群と参照画素群とに基づきインター予測で予測値(予測画像)を算出し、予測差分(残差)を符号化部25に供給する。符号化部25では残差を符号化し、出力部26に供給する。予測差分(残差)は対象画像と予測画像との差分であり、減算によって求める。また、予測残差は量子化することもでき、あるいは量子化パラメータを調整することで品質や符号量を増減させることもできる。さらに、予測残差に対しては周波数変換を行うことで周波数成分表現を行ったり、隣接画素を用いた予測による予測差分表現を行ったりすることもできる。符号化部25では予測残差を符号化する。符号化にはエントロピー符号を用いることも可能である。
なお、本実施形態では予測部60において、前述した動きベクトルによる予測処理や予測画素のレベル調整等を含む予測処理に加えて対象画像と予測画像の減算処理も行う例を挙げて説明しているが、予測部60では予測処理のみ実施し、対象画像と予測画像との減算処理は別途設けた処理部で行い、当該処理部の出力を次段の符号化部25に供給したり、或いは符号化部25にて対象画像と予測画像との減算処理を行うようにしたりしても良い。
このようにインター予測においては対象画像と予測画像の予測差分のデータのみ符号化するため、データ量が少なく、高圧縮率を実現することができる。
【0014】
一方、デコーダ30においては入力した符号を復号部46で復号し、予測差分(残差)を求めると共に、該予測差分を予測部62に供給する。インター予測の対象である対象画像の前または後ろのフレームである参照画像の1フレーム分の画素群が第3プリフィルタ部44に供給され、第3プリフィルタ部44にて周波数スペクトルの平坦性を高めるフィルタリング処理が行われる。例えば、前述したように第1プリフィルタ部および第2プリフィルタ部で高周波成分が強調されるようなフィルタ処理が行われた場合には、第3プリフィルタ部44も同様に高周波成分が強調されるようなフィルタ処理が行われ、予測部62で第3プリフィルタ部44から出力される高周波成分が強調された画素値(群)と復号部46から供給された予測差分とを加算して高周波成分が強調された画素値がポストフィルタ45に出力される。ポストフィルタ45では入力した高周波成分が強調された画素値群に対して高周波成分を弱めるフィルタ処理が行われ、復号された画素値が出力部47に出力される。予測残差の復号は、符号化の逆を行い、例えば逆量子化や逆周波数変換、隣接画素を用いた予測を行ったり、エントロピー符号に対するシンボルの復号を行ったりすることで実施する。
なお、前述したエンコーダと同様、本実施形態では予測部62において、前述した動きベクトルによる予測処理や予測画素のレベル調整等を含む予測処理に加えて対象画像と予測画像の加算処理も行う例を挙げて説明しているが、予測部62では予測処理のみ実施し、対象画像と予測画像との加算処理は別途設けた処理部で行い、当該処理部の出力を次段のポストフィルタ45に供給したり、或いはポストフィルタ45にて対象画像と予測画像との加算処理を行い、加算処理後のデータに対してフィルタリング処理を行うようにしたりしても良い。このように予測残差をどの構成要素で求めるか、また予測残差に対する予測画素値の加算をどの構成要素で求めるかは適宜定めれば良く、後述する実施形態2においても同様である。
【0015】
図15乃至
図19はプリフィルタリングを行った場合と行わなかった場合の符号化効率の測定結果を示しており、
図15は後述するデータ(1)を用いた測定結果、
図16は、後述するデータ(2)を用いた測定結果、
図17は、後述するデータ(3)を用いた測定結果、
図18は、後述するデータ(4)を用いた測定結果、
図19は、後述するデータ(5)を用いた測定結果を示している。
図15乃至
図19の縦軸はPSNR([dB])であり値が大きいほど歪みが少なく性能が優れていることを示す。横軸は圧縮率であり、値が小さいほど元データに対して少ない符号量でデータを記述できており性能が優れていることを示す。総じてグラフの左上にデータがプロットされているほど優れたコーデックであることを示している。
データ(1)~データ(3)における被写体に移動や変形があり相関性が低いシーンでは、画像全体にフィルタリングを施した場合であっても符号化効率が向上していることがわかる。なお、フィルタリング処理に関する詳細については、後述する実施形態2にて説明する。
【0016】
本実施形態のようにインター予測を用いる動画像の符号化、復号において、対象画像および参照画像のいずれに対しても、例えば高周波成分を強調するようなフィルタリング処理を行うことで、高品質な画像信号を得ることができる。これは自然な画像の画像信号に含まれる周波数成分が周波数帯によって一定ではなく、低域周波数帯に比べて高域周波帯の信号の持つエネルギーが小さくなる傾向があり、このような画像信号に対して全周波数帯域にわたって一様に歪みが生ずるような処理、例えば、歪みデータ圧縮のような符号化を行う場合、信号成分のエネルギー量の少ない高域周波数帯の画像信号の方が、信号の歪みに起因するノイズの影響を受けやすくなるためと推測される。そして、このような周波数帯のS/N比が低下して、画質劣化の一因となっている。
そこで符号化の前に、プリフィルタを用いて、画像信号の周波数スペクトルを平坦化し、エネルギーが低い周波数帯域の信号のレベルを上げた後に符号化や伝送や復号等の処理を行い、復号後に、ポストフィルタを用いて、画像信号の増幅された周波数帯を減衰させて元の状態に戻すことで、ノイズの影響を減少させることが考えられる。
なお、プリフィルタリング処理によりエネルギーが低い周波数帯域の信号に対し増幅が行われるので全体の信号エネルギーは大きくなり、残差も増加し、符号量が大きくなる傾向がある。しかし、符号量の増加以上に画像品質が向上するので効率よく符号化ができる。
【0017】
また、本実施形態において参照画像は対象画像の前または後ろのフレームとして説明したが、対象画像の直前、直後のフレームに限定するものではない。またプリフィルタとして高周波成分を強調するものを例に挙げて説明したが、対象となる動画像が持つ周波数帯域特性に応じ、信号のエネルギー量が少ない周波数帯域のエネルギー量を増加させるフィルタ処理を対象画像および参照画像に対して施し、符号化、復号を行うことで、高品質な動画像が得られる。
更に、第1~第3プリフィルタ部24A、24B、44のフィルタ特性は固定でも良いし、あるいは入力する画像信号の周波数スペクトルを平坦化するよう特性を可変できるようにし、エンコーダで符号化して伝送されるデータにフィルタ特性に関する情報も付加し、デコーダでフィルタ特性に関する情報に基づき第3プリフィルタ部44およびポストフィルタ部45のフィルタ特性を制御するように構成しても良い。
【0018】
<実施形態2>
次に本発明に係る実施形態2について説明する。上述した実施形態1においては、
図15及び
図16の実験結果からも明らかなように、対象画像と参照画像との相関性が高い動画像を符号化した場合に画像全体に一律に高周波成分を強調するフィルタリングを施すと、フィルタリングを行わない場合に比べて符号化効率が低下する傾向が生じる。そこで実施形態2では動画像の画像全体にプリフィルタ処理を行うのではなく、対象画像と参照画像との相関性を判定し、相関性が高い領域についてはプリフィルタ処理を行わず、相関性の低い領域についてプリフィルタ処理を行うものである。
【0019】
図6は、本発明に係る実施形態2におけるエンコーダとしての画像処理装置の機能構成を説明する図である。なお、実施形態1と共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。
エンコーダ10は、制御部11と、記憶部12と、通信部13と、入力部14と、を備える。
制御部11は、受付部20と、分割部21と、第1予測部22Aと、第2予測部22Bと、第1モード判定部23と、第1プリフィルタ部24Aと、第2プリフィルタ部24Bと、符号化部25と、出力部26と、を備える。
制御部11に含まれる各処理部の少なくとも一つがハードウェアで実現されてもよい。
受付部20は、通信部13や入力部14を介したエンコード(符号化)の対象となる画像(動画像)を受け付ける。
分割部21は、動画像のフレーム(対象画像)を8×8画素や16×16画素などのブロックに分割する。また、インター予測を行う場合には参照画像もブロックに分割する。
エンコーダ10は、ブロック単位で対象画像を符号化する。
第1予測部22Aは、分割部21が分割した対象画像のブロックに対して予測を行う。
第2予測部22Bは、分割部21が分割した対象画像のブロックを第1プリフィルタ部24Aでフィルタリングした画像データ(フィルタリング済みブロック)に対して予測を行う。第1予測部22A及び第2予測部22Bにおける予測モードはイントラ予測、インター予測、階層的インター予測等を用いることができる。
【0020】
第1モード判定部23は、符号化対象ブロックに対して用いる予測モードやプリフィルタリングを行うか否かの符号化モードを判定する。予測モードはイントラ予測、インター予測、階層的インター予測など複数の予測を実施し、一番予測残差が小さくなる予測モードを選択できる。プリフィルタリングを行うか否かは予測残差が所定値以上であるか否かで判定できる。予測モードの判定はこれに限ることなく、周波数解析や自己相関関数、相互相関関数などの特徴量の大小関係やしきい値判定を用いることもできる。
第1プリフィルタ部24Aは、対象画像のブロックに対するプリフィルタリングを行う。第2プリフィルタ部24Bは、第2予測部22Bでインター予測を行う際に用いる参照画像のブロックに対するプリフィルタリングを行う。
符号化部25は、第1モード判定部23によって選択された予測モードによる予測残差を符号化して、対象画像の符号化データを生成する。予測残差は量子化することもできる。量子化パラメータを調整することで品質や符号量を増減させることができる。符号化は、予測残差に対して周波数変換や隣接画素を用いた予測を行ったり、符号化対象のシンボルをエントロピー符号化したりして実施することも可能である。
出力部26は、画像処理結果(符号化データ)をエンコーダ10の外部に出力する。
記憶部12は、画像処理の演算で用いられる一時ファイルや一時データ、画像処理済みの出力データを格納することが出来る。
通信部13は、エンコーダ10をネットワークに接続し、外部装置との通信を可能にする。
【0021】
図7は、本発明に係る実施形態2におけるデコーダとしての画像処理装置の機能構成を説明する図である。
デコーダ30は、制御部31と、記憶部32と、通信部33と、入力部34と、を備える。
制御部31は、受付部40と、結合部41と、第3予測部42Aと、第4予測部42Bと、第2モード判定部43と、第3プリフィルタ部44と、ポストフィルタ部45と、復号部46と、出力部47と、を備える。
制御部31に含まれる各処理部の少なくとも一つがハードウェアで実現されてもよい。
受付部40は、通信部33や入力部34を介したデコードの対象となる符号化データを受け付ける。
第2モード判定部43は、符号化データ内のブロックに用いられた予測モードおよびプリフィルタリングされているかを判定する。
第3予測部42Aは、第2モード判定部43によりプリフィルタリング無しと判定されたブロックに対する予測を行う。
第4予測部42Bは、第2モード判定部43によりプリフィルタリング有りと判定されたブロックに対する予測を行う。
第3プリフィルタ部44は第2モード判定部43が復号対象ブロックの符号化モードとして、プリフィルタリング有り、かつ、インター予測の場合、復号の際の参照画像となる前又は後のフレームのブロックにプリフィルタ処理を行う。
【0022】
復号部46は、予測残差を復号し、第3予測部42Aまたは第4予測部42Bで予測した予測値と足し合わせ、復号画像を得る。予測残差の復号は、符号化の逆を行い、例えば逆量子化や逆周波数変換、隣接画素を用いた予測を行ったり、エントロピー符号に対するシンボルの復号を行ったりすることで実施する。
ポストフィルタ部45は、第2モード判定部43によりプリフィルタリング有りと判定されたブロックに対してポストフィルタリングを行う。
結合部41は、復号後のブロックを結合して、対象画像(元画像)を復元する。
出力部47は、画像処理結果をデコーダ30の外部に出力する。
デコーダ30がVDPなどの画像処理デバイスである場合、出力部47による出力は、デコードした画像の表示装置に対する表示であってもよい。
記憶部32は、画像処理の演算で用いられる一時ファイルや一時データ、画像処理済みの出力データを格納することが出来る。記憶部32はまた、エンコーダ10が作成したデコードの対象となる符号化データ(後述するブロック毎の直流成分、予測残差)を格納することが出来る。
通信部33は、デコーダ30をネットワークに接続し、外部装置との通信を可能にする。
【0023】
図8は、本実施形態2の画像処理システムにおける画像データ(ブロック)の操作を説明する図である。
図6乃至
図8を用いて、本実施形態2の画像処理システムが備えるエンコーダ、デコーダが実行する処理を説明する。
以下に、本実施形態の画像処理装置が行う画像圧縮(符号化)・復元(復号)を説明する。
実施形態1で説明したように、全体として被写体の動きが少なく相関性が高い動画像では、対象画像および参照画像の全領域に対して高周波帯域を強調するプリフィルタリングを行うと符号化効率が劣化する。その理由は、画像の領域には、相関性が高い領域と相関性が低い領域とがあり、高周波帯域を強調するプリフィルタリングは、相関性が低い領域には有効であるが、相関性が高い領域にはそうではないからである。
相関性が高い領域にはプリフィルタリングを適用せず、相関性が低い領域にだけにプリフィルタリングを適用して符号化を行う方が、下記の実験結果に示すように符号化効率が向上する。
【0024】
本実施形態2のエンコーダ10は、対象画像を事前にブロック50(例えば16×16画素、あるいは8×8画素)に分割する。
エンコーダ10は、第1予測部22Aにより、各ブロックに対してイントラ予測、インター予測、階層的インター予測等のいくつかの方式で予測を行って予測残差を評価する。また第2予測部22Bは各ブロックに対して第1プリフィルタ部24Aでプリフィルタリングしたデータに対してイントラ予測、インター予測、階層的インター予測等のいくつかの方式で予測を行って残差を評価する。第2予測部22Bでプリフィルタリングした対象画像のブロックをインター予測、階層的インター予測で予測する場合には参照画像を第2プリフィルタ部24Bでプリフィルタリングしたものを用いる。そして、エンコーダ10の第1モード判定部23は、予測残差が最も少ない予測モード及び当該予測モードにおけるプリフィルタリングの有無を判定し、判定した符号化モードでブロック50の画素を符号化する。なお、プリフィルタリングを行わないブロック及びプリフィルタリングを行ったブロックに対してイントラ予測、インター予測、階層的インター予測を全て実施し、予測残差が最も少ない予測モードを判定するというアルゴリズムではなく、後述する実施形態のように、まずはプリフィルタリングを行わないブロックに対する予測を実施し、いずれの予測モードでも予測残差が所定値以上の場合に対象画像のブロックにプリフィルタリングを行ってイントラ予測したり、あるいは対象画像のブロック及び参照画像のブロックにプリフィルタリングを行いインター予測または階層的インター予測したりするアルゴリズムを採用しても良い。
例えば、イントラ予測またはインター予測による予測残差が所定値以上であることはイントラ予測またはインター予測での予測精度が悪かった(同一画面内の他ブロックとの相関性が低かったり、他フレームのブロックとの相関性が低い)ということである。エンコーダ10は、このようなブロック50については、第1プリフィルタ部24Aを用いて対象画像のブロックに対してプリフィルタを適用する。その上で、エンコーダ10は、プリフィルタリング済みの各ブロックに対してインター予測を含むいくつかの方法で予測を行って予測残差を評価する。プリフィルタリング済みのブロックにおけるインター予測では、参照画像のブロックに対しても第2プリフィルタ部24Bでプリフィルタを適用し、フィルタリング済みの参照画像に対して動き補償を再計算する。エンコーダ10は、対象画像のプリフィルタリング済みブロック50の画素値を一番予測残差の小さくなる方式で符号化する。したがって、インター予測で予測残差が大きく、プリフィルタを適用した画像を、プリフィルタを適用した参照画像を用いてインター予測で符号化したり、或いはイントラ予測で符号化したりすることもできる。
【0025】
本実施形態のエンコーダ10は、インター予測を含む何れかの予測モードによる予測残差が条件を満たす(所定値未満である)ブロック50をブロック単位で符号化する一方で、条件を満たさないブロック50は、ブロックにプリフィルタを適用したうえで、ブロック単位で符号化する。
本実施形態は、
(1)プリフィルタリングを伴わないブロックでの予測(イントラ予測、インター予測等)
(2)予測精度が悪かったブロックに対する、プリフィルタリングを伴う小ブロック単位での予測(イントラ予測、インター予測等)
という2段階の予測を行って動画像を符号化する。
このような方法で符号化をした動画像の符号化データには、相関性が低くプリフィルタリングを行った領域(ブロック)と、相関性が高くプリフィルタリングを行わなかった領域とが混在している。
また符号化時にはプリフィルタリングを行い、それに対応して復号時にポストフィルタリングを行うが、プリフィルタリングを行った領域と行わなかった領域が混在する場合、その境界上のポストフィルタは混合パターンによってそれぞれ異なる逆変換となる。
【0026】
図8を用いてより詳細に説明する。
図8(A)に示すように、エンコーダ10の分割部21は、符号化の対象画像をブロック50に分割する。
エンコーダ10の第1予測部22Aは、選択したブロック50に対してインター予測を含むいくつかの方法で予測を行う。本実施形態ではインター予測以外の予測としてイントラ予測を用いる。
イントラ予測の一例として、ブロック50の上と左に位置するデコード済みブロックの平均値を予測値とする方法がある。
予測値はブロック50の平均値に近い値となるようにオフセットδにより補正された予測値を用いることもできる。オフセットδは別途符号化を行う。
一方、インター予測の一例として、参照画像から対象ブロック50に対応する参照領域ブロックを探索し、対象ブロック50を構成する各画素に対応する参照領域ブロックの画素値をそれぞれ予測値とする、動き補償を行う予測方法がある。さらに、プリフィルタを用いたインター予測を行う場合には、対象ブロック50と参照領域に対してプリフィルタリングを行い、通常のインター予測と同じ手順で動き補償を行う。インター・イントラ予測は対象ブロック50に対して一様に行う他、ブロック50を再分割して階層的に予測することも可能である。階層的に予測する場合、分割後のブロックそれぞれで異なる予測方法を適用することも可能である。
エンコーダ10の第1モード判定部23は、当該ブロック50の符号化効率が高くなることが見込まれる符号化モードの判定を行う。符号化モードには予測モードの選択やプリフィルタの有無が含まれる。予測モードは前述のイントラ予測、インター予測、階層的に予測する方法等が選択可能である。予測モードの判定には予測残差の大きさや画像の歪みの大きさを手がかりとすることができる。予測残差が小さいほど符号量は小さくなりやすいため、予測残差を評価することで符号量を直接評価せずに予測モードを選択しても良い。
【0027】
本実施形態2は、次のような階層型インター符号化を行うことにより、効率的な符号化と予測方法の判定を行う。
図8の例ではブロック50を16×16画素としているが、例えば8×8画素をブロックとして動き補償を適用しても良い。階層型インター符号化を用いる場合、まず、ブロック50に対してインター予測およびイントラ予測を行う。画質を定める量子化係数Qに依存して、ブロック上のインター・イントラ予測いずれかの予測残差が所定条件を満たす場合、ブロック50に対する分割を行わずに処理を終了する。このとき、インター予測による予測残差が小さい場合には、予測モードをインター符号化と判定し、予測残差を符号化しない。イントラ予測による予測残差が小さい場合には予測モードをイントラ予測と判定し、オフセットδを符号化した上で、予測残差は符号化しない。条件を満たさないブロックに関しては動き補償を再計算する。
また、ブロックで予測をした際、4分割された領域(
図8(B)の例では8×8画素のブロック)のうち条件を満たす領域が2つ以上存在しない、あるいは条件を満たす領域がブロック内に斜めに2つ配置された場合は4分割されたそれぞれの領域で再計算を行う。これ以降、4×4画素および2×2画素単位で予測残差を評価し、階層的に領域に対する予測モードを決定する。4×4画素や2×2画素単位のブロックの予測モードは16×16画素や8×8画素ブロックと同様にインター予測やイントラ予測の予測残差を評価すれば良い。予測残差が所定条件を満たす場合には予測残差を符号化せずにインター予測もしくはイントラ予測で符号化する。所定条件を満たさない場合には領域を再分割し、再帰的に符号化を行う。最終的に条件を満たさない2×2画素単位に対して、インター予測、イントラ予測のいずれかを適用し、残差のアダマール変換係数に対してエントロピー符号化を行う。
具体的には、
図8(C)に示す2×2ブロックの上左2画素の処理済みの画素値{x,y,z,w}を用いた各画素値{a,b,c,d}の予測値p(・)を夫々
p(a)={x+z+2f(a)}/4
p(b)={y+f(b)}/2
p(c)={w+f(c)}/2
p(d)=f(d)
とする。なお、f(・)は、インター予測では予測ブロックの対応する画素値、イントラ予測では対象ブロックの対応する2×2ブロックの平均画素値とする。
このように大きなブロックから、少しずつ画素が小さなブロックに分割してインター予測、イントラ予測を行って予測残差を評価してもよいが、ブロック50から直接2×2の小ブロックに分割してもよい。
【0028】
図8(B-3)に示すように、イントラ予測の予測残差が所定値未満であるブロック50に対して、エンコーダ10の第1モード判定部23は、そのブロック50の符号化方式をイントラ符号化に確定し、イントラ予測を用いた符号化を行う。
図8(B-2)に示すように、イントラ予測の予測残差が所定値以上であるがインター予測の予測残差が所定値未満であるブロック50に対しては、エンコーダ10の第1モード判定部23は、そのブロック50の符号化方式をインター符号化に確定し、インター予測を用いた符号化を行う。
図8(B-1)に示すように、イントラ予測の予測残差及びインター予測の予測残差が何れも所定値以上であるブロック50に対しては、エンコーダ10の第1プリフィルタ部24Aは、そのようなブロック50に対してプリフィルタリングを実行する。
プリフィルタリングが実行されたブロックは縦横半分のサイズの領域に4分割し、分割されたそれぞれの領域で予測モードの判定が行われ、予測モードが決定しない場合、すなわち、分割された領域の予測残差が所定条件を満たさない場合には領域サイズが2×2になるまで分割を繰り返して予測モードの判定が再帰的に行われる。インター予測を行う場合には参照画像にもプリフィルタリングを行い、エンコーダ10の符号化部25は最終的に各ブロックの情報を符号化する。
ここで、
図8で説明した16×16画素のブロック50を4分割した領域(8×8画素のブロック)について、
図9及び
図10を用いて、プリフィルタリングについて説明する。
【0029】
図9は、ブロックの偶数画素を起点としたフィルタブロックを示す図である。TBは階層型インター符号化によって生じうる最小サイズである2×2画素のブロックである。偶数画素を起点とした場合、ブロックTB自体がフィルタブロックFBとなる。
図10は、小ブロックの奇数画素を起点としたフィルタブロックを示す図である。
エンコーダ10は、ブロックTBの境界をまたぐフィルタブロックFBを定めることが出来る。本実施形態では2×2画素単位のフィルタブロックを説明しているが、ブロックTBの画素数を大きくして4×4画素単位のフィルタブロックFBを定めてもよい。
エンコーダ10は、フィルタブロックFBに後述のプリフィルタを追加する。なお、プリフィルタは、ブロックの境界における高周波成分を強調するためのフィルタである。
具体的には、エンコーダ10は、ブロックTB1、TB2、TB3・・・の境界に2×2画素のフィルタブロックFB1、FB2、FB3・・・を適用する。ブロックTBと同様にフィルタブロックFBも4つの画素を含むので、ブロックTBに含まれる各画素は異なるフィルタブロックFBによりフィルタリングされる。すなわち、ブロックTBに含まれる画素を単一のフィルタブロックFBでフィルタリングするのではなく、異なるフィルタブロックFBでフィルタリングすることにより、ブロックTBの境界におけるノイズを軽減できる。なお、フィルタブロックFB1、FB2、FB3・・・がブロック50をはみだす場合がある。その場合は、ブロック50からはみ出した位置のフィルタブロックの画素を、その位置に隣接する画素の輝度値などの適当な画素値で補う。
図9のように偶数頂点のみを起点としてフィルタリングを行うと、動き補償予測における動きベクトルが偶数単位のときにブロック境界とフィルタリング境界が一致する。その場合、デコーダ側のブロック境界に発生するノイズをポストフィルタで軽減することができない。それに対して、
図10のように奇数画素を起点としたプリフィルタリングをさらに行うことで、動きベクトルが奇数の場合にもブロック境界にポストフィルタリングによる平滑化が適用され、ノイズを軽減できるようになる。なお、偶数頂点を起点としたフィルタリングと奇数頂点を起点としたフィルタリングはいずれを先に行っても良い。
【0030】
図11は、プリフィルタリングを説明する図である。
図9、
図10に示すフィルタブロックFBは2×2画素よりなるが、例として1次元上に並ぶ2つの画素p
-1、p
1を例としてプリフィルタリングを説明する。
図11に示すように、画素p
-1、p
1に対して以下に示す演算によってフィルタリングを適用して画素p
-1、p
1に重み付けをし、フィルタ後の画素p’
-1、p’
1を計算する。
ここで、λ∈[1,2]である。
プリフィルタは、ブロックの境界における高周波成分を強調するためのフィルタである。λは、プリフィルタにおいて高周波を強調する強度を定める係数である。
【0031】
図12は、奇数画素を起点としたフィルタブロックに対するプリフィルタリングを示す図である。
エンコーダ10は、フィルタブロックFB内の4画素に対してブロック単位でプリフィルタリングを適用する。このときエンコーダ10は、
図11で説明したプリフィルタリングを2次元的に(縦横方向に)行う。
エンコーダ10は、ブロック単位での2次元的なプリフィルタリングを、プリフィルタとしての変換行列(プリフィルタ)Fを用いて行う。エンコーダ10は、
図12のフィルタブロックの4画素(p
-1,-1、p
-1,-1、p
1,-1、p
1,1)に、プリフィルタFを適用し、
を計算する。
プリフィルタFは、
である。
このようなプリフィルタFは、2×2の4画素に対して、
図11で示した1次元用のフィルタ
を縦方向に適用したあと、横方向に適用することと同じ結果をもたらす二次元用のフィルタである。
1次元用のフィルタを横方向に適用したあと、縦方向に適用しても同じプリフィルタFが得られる。
上記プリフィルタFは、左右の行列を乗算することにより、
と表すことも出来る。
プリフィルタFを変形してアダマール変換を利用する等価な計算を行っても良い。
プリフィルタFは、アダマール行列
と、逆アダマール行列
を使って、
と変形することができる。
従って、小ブロックあるいはフィルタブロックFBに含まれる4画素に対するプリフィルタリングを、
(1)アダマール変換
(2)高周波成分α、βをλ倍、高周波成分γをλ
2倍
(3)逆アダマール変換
というアダマール変換を利用した等価な計算によって行うことが出来る。
従って、プリフィルタリングのための論理回路やプログラムモジュールを別途用意しなくても、アダマール変換、逆アダマール変換を実行可能な論理回路やプログラムモジュールを用いてプリフィルタリングを実行出来る。後述のポストフィルタについても同じである。
アダマール変換について説明する。
2×2画素に対するアダマール変換では、下記に示すアダマール行列
を適用したアダマール変換
により、μ、α、β、γを得る。
μは、小ブロックにおける直流成分(低周波成分)である。画素ブロックの直流成分は、画素ブロックに含まれる全画素の画素値(輝度値)の平均値である。α、β、γは、夫々小ブロックにおける、横方向交流成分、縦方向交流成分、斜め方向交流成分である。
以上がエンコーダ10による対象画像の符号化処理の説明である。
【0032】
符号化処理の結果、
図8(D)に示すような符号化データが生成される。対象画像は、ブロック50毎に、イントラ符号化される領域と、インター符号化される領域と、領域分割により再帰的に符号化される領域を備える。例えば、
図8(A)に示した対象画像の左上のブロック50は4つの領域に分割され、領域毎にイントラ予測、インター予測および階層的な予測のいずれを利用するかが確定するので、ブロック50には異なる予測方法が選択される部分が混在する(階層毎の予測モードの表記は省略し、ブロック50全体として階層型インター符号化と記載している)。
符号化データは、領域毎に適切な符号化方法が適用されるので、ブロック50やそれよりも大きい領域単位でインター符号化を行う場合と比べて著しく符号化効率を高められる。
【0033】
次に、デコーダ30による符号化データの復号処理を説明する。復号処理は、単純にエンコーダ10による処理の逆の手順で行われるのではない。
まず、デコーダ30の第2モード判定部43は、
図8(D)に示す符号化データにおけるブロック50毎に、符号化モードの予測モードが、イントラ予測に基づくものか、インター予測に基づくものであるか、あるいは領域を分割する再帰的予測に基づくものであるかを判定する。
選択したブロックの予測モードがイントラ予測に基づく場合、デコーダ30は選択したブロック50についてイントラ予測による復号を行い、選択したブロックの予測モードがインター予測に基づく場合、デコーダ30は選択したブロック50についてインター予測による復号を行い、選択したブロック50の予測モードが領域を分割する再帰的予測に基づく場合には、デコーダ30は、ブロック50を縦横サイズが半分の4つの領域に分割し、再帰的に復号を行う。
【0034】
デコーダ30の第2モード判定部43は、選択したブロック50にプリフィルタが適用されているか否かを判定する。
プリフィルタ適用判定として、プリフィルタ適用有無についての情報をデータに含める方法や、ブロック50が4つに分割されている場合はプリフィルタが適用されていると判定し、ブロック50が一様にイントラ予測もしくはインター予測によって符号化されている場合にはプリフィルタが適用されていないと判定する方法等がある。後者を利用することによりプリフィルタの適用条件と予測方法でモードを表現する符号を共通化でき、符号量を削減できる。
そして、デコーダ30は予測モードに応じて復号し、プリフィルタが適用されていないブロックの復号画像はそのまま出力し、プリフィルタが適用されたブロックに対しては参照ブロックについてプリフィルタリングした後に復号処理を行い、その後、ポストフィルタリングを実行する。
復号画像には、符号化時に高周波強調(プリフィルタリング)を行ったブロックの画素値(以降、像という)と、高周波強調を行わなかったブロックの画素値(以降、真値という)が混合された境界領域が存在するため、境界部分にはパターンに応じたポストフィルタを適用する必要がある。
【0035】
図13は、ポストフィルタリングの境界パターンを説明する図である。
ポストフィルタは、
である。
図13(a)は、1つの画素が像となっている2×2画素ブロックを示しており、ここではdの画素が像となっている。
このときポストフィルタは{a,b,c,d’}(d’はdの像を表す)から真値dを求める。
上記のプリフィルタFをuおよび計算には用いない部分行列*を用いて
と置くと、
が得られる。d’、a、b、cからdを得る逆フィルタが(1+λ)≠0の時に存在することが分かる。dではなく、{a,b,c}のいずれかが像となる場合も同様である。
【0036】
図13(b)は2つの画素が像となっている2×2画素ブロックを示しており、ここではcとdの画素が像となっている。
このときポストフィルタは{a,b,c’,d’}から真値{c,d}を求める。
上記のプリフィルタFを
と置き、
について解くと、
が得られる。
c’、d’、a、bからc、dを得る逆フィルタがdetA=λ(1+λ)
2≠0のときに存在することが分かる。
cとdではない{a,b,c,d}のうちの別の2つが像となっている場合も同様である。
【0037】
図13(c)は、3つの画素が像となっている場合であり、ここではb、c、dの画素が像となっている。
このときポストフィルタは{a,b’,c’,d’}から真値{b,c,d}を求める。
上記のプリフィルタFを変形して
と置き、
について解くと、
が得られる。
b’、c’、d’、aからb、c、dを得る逆フィルタがdetC=16λ
2+32λ
3+16λ
4≠0の場合に存在することが分かる。
bとcとdではない{a,b,c,d}のうちの別の3つが像となっている場合も同様である。
よって、像と真値が混合された任意の境界領域に対するポストフィルタ(逆フィルタ)が存在することがわかる。境界領域の像と真値のパターンに応じて適切な逆フィルタを適用することが出来る。
【0038】
また
図13(d)に示したように2×2画素のブロック全てにプリフィルタが適用され、全ての画素が像となっている場合には、上記のポストフィルタ(F
-1)を適用し、各画素の真値を求める。
上記の説明において、エンコーダ10によるプリフィルタリングやアダマール変換は、夫々別のステップとして説明した。しかし、これに限らず、エンコーダ10において、これらを合成した同等の計算ができる係数列やウェーブレットを用いて実装しても良い。
デコーダ30による逆アダマール変換、ポストフィルタリングについても同様であり、デコーダ30において、これらを合成した同等の計算ができる係数列やウェーブレットを用いて実装しても良い。
【0039】
<実験結果>
本発明者は、プリフィルタリングを行わない場合、対象画像全体にプリフィルタリングを行う場合、本実施形態のように分割した領域にのみプリフィルタリングを行う手法を用いた場合、の3つの場合で同じ画像データの符号化を行い、符号化効率を検証する実験を行った。
実験において、本実施形態の方法に関しては、インター符号化において対象画像の全画像平面で奇数画素を頂点とするプリフィルタと偶数画素を頂点とするプリフィルタを全部で2回適用し、復号の後にプリフィルタが適用されたブロックに対してポストフィルタを適用した。参照画像についても、同様に、全画像平面で奇数画素を頂点とするプリフィルタと偶数画素を頂点とするプリフィルタを全部で2回適用し、復号の後にプリフィルタが適用されたブロックに対してポストフィルタを適用した。
静止画像の場合と異なりインター符号化では動き補償が介在するために参照画像から得られた予測ブロックは偶数画素を頂点とするとは限らないためである。他方、対象画像上のブロックでは、奇数画素を頂点とするプリフィルタが必ずブロック境界上の画素値を強調し、偶数画素を頂点とするプリフィルタはブロック内部を強調するため、偶数画素を頂点とするプリフィルタは、2×2画素のアダマール変換係数値の調整によって完全にキャンセルされ、量子化ノイズの軽減効果には寄与しない。予測ブロックにおいて、奇数画素を頂点とするプリフィルタと偶数画素を頂点とするプリフィルタの効果に差異はない。
なお、
図15乃至
図19に示した実験結果のうち、全体にフィルタリングを行う場合は、エンコード時は対象画像をブロックに分割する前に対象画像全体にプリフィルタリングを行い、デコード時には復号後の復元画像全体にポストフィルタリングを行っている。
【0040】
図14は、実験に用いた画像データ(1)~(5)を示す図であり、各画像データにおいて、左が対象画像、右が参照画像である。
データ(1)(CG、1024×768画素)は、速い速度で変形する被写体がズームアウトするシーンの画像データである。
データ(2)(自然画像、720×480画素)は、背景は右へ移動し、複数の被写体が独立した方向に移動するシーンの画像データである。
データ(3)(自然画像、320×224画素)は,固定された背景に被写体が右へ移動し、噴水が速い速度で変化するシーンである。
データ(4)(CG、688×464画素,(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org)は,遅い速度で被写体がズームインするシーンの画像データである。
データ(5)(自然画像、320×240画素)は、被写体および背景がそれぞれ遅い速度で変化するシーンの画像データである。
実験において、予測残差はアダマール変換を行った後に量子化され、ハフマン符号化される。数値の符号については固定長1ビットで符号化され、その他のパラメータはハフマン符号化される。動き補償は1/4画素精度で行っており、分数画素はバイリニアフィルタにより補間されている。変換行列Fのλの値は1.25である。
【0041】
図15乃至
図19は、測定結果を示すグラフ図である。
図15は、データ(1)を用いた測定結果、
図16は、データ(2)を用いた測定結果、
図17は、データ(3)を用いた測定結果、
図18は、データ(4)を用いた測定結果、
図19は、データ(5)を用いた測定結果を示している。
図15乃至
図19の縦軸はPSNR([dB])であり値が大きいほど歪みが少なく性能が優れていることを示す。横軸は圧縮率であり、値が小さいほど元データに対して少ない符号量でデータを記述できており性能が優れていることを示す。総じてグラフの左上にデータがプロットされているほど優れたコーデックであることを示している。
データ(1)~データ(3)における被写体に移動や変形があり相関性が低いシーンでは、フィルタリングの効果によって符号化効率が向上していることが分かる。特に本実施形態の手法によれば、データ(1)の高画質領域では0.8[dB]程度、データ(2)の高画質領域では0.5[dB]程度、PSNRが向上している。
それと同時に、被写体に移動や変形がなく相関性が高いデータ(4)とデータ(5)では、画像全体にプリフィルタリング処理を行って符号化し、復号の際に画像全体にポストフィルタリングを行う手法に比較し、劣化は効果的に抑制されている。すなわち、対象画像と参照画像との相関性が低い場合の予測においては、画像全体に対してフィルタリングを行った方がフィルタリングを行わない場合に比較し、画質向上や符号化効率が高まるが、相関性が高い場合においてはフィルタリングを行わない方が画質向上や符号化効率が高まる。したがって、処理する画像の状況によってはフィルタリングが良い結果をもたらす場合と、悪い結果をもたらす場合が発生するが、本願発明のようにブロック毎にフィルタリングを行うことで、処理する画像の状況に左右されず、高品質かつ符号化効率の高い画像処理を行うことができる。
【0042】
図20は、エンコーダが実行する符号化処理を説明するフローチャートである。なお、上述したように、本実施の形態では、プリフィルタリングを行わないブロックに対する予測を実施し、いずれの予測モードでも予測残差が所定値以上の場合に対象画像のブロックにプリフィルタリングを行って予測するアルゴリズムを採用している。
エンコーダ10は、ステップS101において、対象画像を分割したブロックを選択する。
エンコーダ10は、ステップS102において、選択したブロックに対するイントラ予測を行う。
エンコーダ10は、ステップS103において、イントラ予測において所定値以上の予測残差があるか否かを判定する。
所定値以上のイントラ予測の予測残差があると判定した場合(ステップS103でYes)、エンコーダ10は、ステップS104において、選択したブロックに対する動き補償予測(インター予測)を行う。
そして、エンコーダ10は、ステップS105において、インター予測において所定値以上の予測残差があるか否かを判定する。
インター予測において所定値以上の予測残差があると判定した場合(ステップS105でYes)、エンコーダ10は、ステップS106においてブロックを更に分割する。
イントラ予測において所定値以上の残差がないと判定した場合(ステップS103でNo)、エンコーダ10は、ステップS107において、このブロックの符号化方式をイントラ予測に確定してイントラ予測を用いて符号化し、ステップS112に処理を進める。
また、インター予測において所定値以上の残差がないと判定した場合(ステップS105でNo)、エンコーダ10は、ステップS108において、このブロックの符号化方式をインター予測に確定してインター予測を用いて符号化し、ステップS112に処理を進める。
【0043】
エンコーダ10は、ステップS109において、ステップS106で分割したブロックおよび参照ブロック)に対して、プリフィルタリングを実行する。
エンコーダ10は、ステップS110において、ステップS106で分割したブロックに対して階層的インター予測を行う。エンコーダ10は、ステップS111において、ステップS111の予測残差の符号化を行い、ステップS112に処理を進める。
エンコーダ10は、ステップS112において、未選択のブロックがないか否かを判定する。
未選択のブロックがあると判定した場合(ステップS112でNo)、エンコーダ10は、ステップS101に戻り、未選択のブロックに対してステップS101~S111の処理を繰り返す。
未選択のブロックがなくすべてのブロックに対して処理を完了したと判定した場合(ステップS112でYes)、エンコーダ10は、符号化処理を終了する。なお、
図16はステップS107及びS108において、イントラ予測やインター予測で符号化した際には残差が発生しないことを前提としたフローとなっているが、残差が生じる場合にはステップS107及びS108のそれぞれの後に残差を符号化する処理ステップを含めれば良い。
【0044】
図21は、デコーダが実行する復号処理を説明するフローチャートである。
デコーダ30は、ステップS201において、符号化データにおけるブロックを選択する。
デコーダ30は、ステップS202において、選択したブロックがブロック全体で(同じ符号化方式で)符号化されているか否かを判定する。
ブロック全体で符号化されていると判定した場合(ステップS202でYes)、デコーダ30は、ステップS203において、符号化方式がイントラ予測であるか否かを判定する。
符号化方式がイントラ予測であると判定した場合(ステップS203でYes)、デコーダ30は、ステップS204において、イントラ予測を用いてブロックを復号する。
符号化方式がイントラ予測ではないと判定した場合(ステップS203でNo)、デコーダ30は、ステップS205において、インター予測でブロックを復号する。ステップS204及びS205の復号処理では、残差情報があればそれも含めて復号を実施する。
【0045】
ステップ201で選択したブロックがブロック全体で符号化されていないと判定した場合(ステップS202でNo)、デコーダ30は、そのブロックを更に分割する(ステップS206)。
デコーダ30は、ステップS207において、ブロックにプリフィルタが適用されているか否かを判断し、プリフィルタが適用されている場合(ステップS207でYes)には参照ブロックにプリフィルタリングを実行する(ステップS208)。
その後、階層的インター予測でブロックを復号し(ステップS209)、残差があれば残差を復号し(ステップS210)、復号ブロックをポストフィルタリングする(ステップS211)。
一方、分割されたブロックにプリフィルタが適用されていない場合(ステップS207でNo)、階層的インター予測でブロックを復号し(ステップS212)、残差があれば残差を復号する(ステップS213)。
ステップS204、S205、S211、S213のいずれかの処理の後、デコーダ30は、ステップS214において、未選択のブロックがないか否かを判定する。
未選択のブロックがあると判定した場合(ステップS214でNo)、デコーダ30は、ステップS201に処理を戻し、次のブロックに対してステップS201~S213の処理を行う。
未選択のブロックがないと判定した場合(ステップS214でYes)、デコーダ30は、復号したブロックを統合して対象画像を復元し(ステップS215)、デコード処理を完了する。
なお、ブロックが分割されている場合はプリフィルタが適用されていると判定するアルゴリズムを採用した場合には、ステップS207の処理を省略する(ステップS212及びS213も省略)フローとすれば良い。
【0046】
図22は、コンピュータ装置の一実施例を示すブロック図である。
図22を参照して、コンピュータ装置100の構成について説明する。
コンピュータ装置100は、例えば、各種情報を処理する画像処理装置である。そして、コンピュータ装置100は、制御回路101と、記憶装置102と、読書装置103と、記録媒体104と、通信インターフェイス105と、入出力インターフェイス106と、入力装置107と、表示装置108とを含む。また、通信インターフェイス105は、ネットワーク200と接続される。そして、各構成要素は、バス110により接続される。
画像処理装置10、画像処理装置30は、コンピュータ装置100に記載の構成要素の一部又は全てを適宜選択して構成することができる。
制御回路101は、コンピュータ装置100全体の制御をする。制御回路101は、例えば、Central Processing Unit(CPU)、Field Programmable Gate Array(FPGA)、Application Specific Integrated Circuit(ASIC)及びProgrammable Logic Device(PLD)などのプロセッサである。制御回路101は、例えば、
図2における制御部11、
図3における制御部31として機能する。
記憶装置102は、各種データを記憶する。そして、記憶装置102は、例えば、Read Only Memory(ROM)及びRandom Access Memory(RAM)などのメモリや、Hard Disk(HD)、Solid State Drive(SSD)などである。記憶装置102は、制御回路101を、
図2または
図6における制御部11、
図3または
図7における制御部31として機能させる画像処理プログラムを記憶してもよい。記憶装置102は、例えば、
図2または
図6における記憶部12、
図3または
図7における記憶部32として機能する。
画像処理装置10、画像処理装置30は、画像処理を行うとき、記憶装置102に記憶されたプログラムをRAMに読み出す。
【0047】
実施形態1において、画像処理装置10は、RAMに読み出されたプログラムを制御回路101で実行することにより、受付処理、予測処理、第1・第2プリフィルタ処理、符号化処理、出力処理の何れか1以上を含む処理を実行する。
画像処理装置30は、RAMに読み出されたプログラムを制御回路101で実行することにより、受付処理、予測処理、第3プリフィルタ処理、ポストフィルタ処理、復号処理、出力処理の何れか1以上を含む処理を実行する。
実施形態2において、画像処理装置10は、RAMに読み出されたプログラムを制御回路101で実行することにより、受付処理、分割処理、第1・第2予測処理、第1モード判定処理、第1・第2プリフィルタ処理、符号化処理、出力処理の何れか1以上を含む処理を実行する。
画像処理装置30は、RAMに読み出されたプログラムを制御回路101で実行することにより、受付処理、結合処理、第3・第4予測処理、第2モード判定処理、第3プリフィルタ処理、ポストフィルタ処理、復号処理、出力処理の何れか1以上を含む処理を実行する。
なお、プログラムは、制御回路101が通信インターフェイス105を介してアクセス可能であれば、ネットワーク200上のサーバが有する記憶装置に記憶されていても良い。
読書装置103は、制御回路101に制御され、着脱可能な記録媒体104のデータのリード/ライトを行なう。
記録媒体104は、各種データを保存する。記録媒体104は、例えば、画像処理プログラムを記憶する。記録媒体104は、例えば、Secure Digital(SD)メモリーカード、Floppy Disk(FD)、Compact Disc(CD)、Digital Versatile Disk(DVD)、Blu-ray(登録商標) Disk(BD)、及びフラッシュメモリなどの不揮発性メモリ(非一時的記録媒体)である。
通信インターフェイス105は、ネットワーク200を介してコンピュータ装置100と他の装置とを通信可能に接続する。通信インターフェイス105は、例えば、
図2における通信部13、
図3における通信部33として機能する。
【0048】
入出力インターフェイス106は、例えば、各種入力装置と着脱可能に接続するインターフェイスである。入出力インターフェイス106と接続される入力装置107には、例えば、キーボード、及びマウスなどがある。入出力インターフェイス106は、接続された各種入力装置とコンピュータ装置100とを通信可能に接続する。そして、入出力インターフェイス106は、接続された各種入力装置から入力された信号を、バス110を介して制御回路101に出力する。また、入出力インターフェイス106は、制御回路101から出力された信号を、バス110を介して入出力装置に出力する。入出力インターフェイス106は、例えば、
図2における入力部14、
図3における入力部34として機能する。
表示装置108は、各種情報を表示する。表示装置108は、例えば、例えばCRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、およびOELD(Organic Electroluminescence Display)などである。ネットワーク200は、例えば、LAN、無線通信、P2Pネットワーク、又はインターネットなどであり、コンピュータ装置100と他の装置を通信接続する。
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成又は実施形態を取ることができる。
【符号の説明】
【0049】
1 画像処理システム、10 画像処理装置(エンコーダ)、30 画像処理装置(デコーダ)、100 コンピュータ装置、101 制御回路、102 記憶装置、103 読書装置、104 記録媒体、105 通信インターフェイス、106 入出力インターフェイス、107 入力装置、108 表示装置、110 バス、200 ネットワーク