JP2019009605A - 画像処理装置、画像処理方法およびプログラム - Google Patents
画像処理装置、画像処理方法およびプログラム Download PDFInfo
- Publication number
- JP2019009605A JP2019009605A JP2017123253A JP2017123253A JP2019009605A JP 2019009605 A JP2019009605 A JP 2019009605A JP 2017123253 A JP2017123253 A JP 2017123253A JP 2017123253 A JP2017123253 A JP 2017123253A JP 2019009605 A JP2019009605 A JP 2019009605A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- intra
- image data
- image
- smoothing process
- 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.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
【課題】階調が適切に表現された良好な符号化画像を生成できるようにする。【解決手段】画像処理装置は、符号化対象となる画像データに所定の条件を満たす部分である所定部分が存在するか否かを判定する判定手段と、所定部分が存在する場合は、フレーム内予測に用いられる参照画素に対して平滑化処理を行うと共に、平滑化処理が行われた参照画素を用いて符号化対象ブロックの符号化処理を行う処理手段とを有する。【選択図】図1
Description
本発明は、画像処理装置、画像処理方法およびプログラムに関する。
動画像データを符号化して記録する画像処理装置として、デジタルカメラまたはデジタルビデオカメラが知られている。動画像データ用の符号化方法としては、MPEG−2(H.222/H.262)、MPEG−4(H.264)等が広く普及している。これらの符号化方法によれば、フレーム間予測(インター予測)およびフレーム内予測(イントラ予測)を行うことにより、高い圧縮率で動画像データを符号化することができる。
特許文献1には、イントラ予測における予測値として、隣接する符号化済みマクロブロックの周波数特性を考慮した値を生成する方法が記載されている。特許文献2には、イントラ予測のブロックサイズを最小のブロックサイズに設定する方法が記載されている。
しかしながら、上述の符号化方法では、階調が徐々に変化する部分(グラデーション部分)において、良好な符号化画像が得られない場合があった。図15(a)および図15(b)は、良好な符号化画像が得られない場合の例を説明するための図である。図15(a)は、フレーム内予測において参照される参照画素の画素値の例を示す。図15(a)の横軸は、参照画素の位置を示し、図15(a)の縦軸は、参照画素の輝度値の例を示す。符号化処理はブロック単位で行われるため、図15(a)に示すように、ブロックの境界において参照画素の画素値が不連続となり得る。図15(b)は、各ブロックの画像を概念的に示したものである。ブロック1502a〜1502dは、符号化済みのブロックを示す。ブロック1502eは、符号化対象ブロックを示す。符号化済みのブロック1502b、1502cの境界において参照画素の画素値が図15(a)のように不連続になっていると、斜め方向に位置する参照画素を用いたフレーム内予測においては、以下のような現象が生じる。即ち、符号化対象ブロック1502eにおいて、図15(b)に示すように、擬似輪郭1501が生じ得る。
このような擬似輪郭1501の発生を防止すべく、動画像データ用の符号化方法であるHEVC(High Efficiency Video Coding)では、イントラスムージング処理が規定されている。イントラスムージング処理は、フレーム内予測に用いられる参照画素に対して線形補間処理を行い、このような線形補間処理が行われた参照画素を用いてフレーム内予測を行うことにより、滑らかな画像を生成する平滑化処理である。イントラスムージング処理を行えば、線形補間処理が行われた参照画素を用いて符号化対象ブロックが符号化されるため、擬似輪郭1501が生ずるのを防止することが可能である。なお、HEVC(High Efficiency Video Coding)の詳細は、ISO/IEC23008(MPEG−HまたはH.265とも呼ばれる)に規定されている。
しかしながら、上述のイントラスムージング処理を用いるだけでは、必ずしも良好な符号化画像が得られない場合がある。
そこで、本発明は、階調が適切に表現された良好な符号化画像を生成できるようにすることを目的とする。
そこで、本発明は、階調が適切に表現された良好な符号化画像を生成できるようにすることを目的とする。
実施形態の一観点によれば、画像処理装置は、符号化対象となる画像データに所定の条件を満たす部分である所定部分が存在するか否かを判定する判定手段と、前記所定部分が存在する場合は、フレーム内予測に用いられる参照画素に対して平滑化処理を行うと共に、前記平滑化処理が行われた前記参照画素を用いて符号化対象ブロックの符号化処理を行う処理手段とを有する。
実施形態の他の観点によれば、画像処理方法は、符号化対象となる画像データに所定の条件を満たす部分である所定部分が存在するか否かを判定するステップと、前記所定部分が存在する場合は、フレーム内予測に用いられる参照画素に対して平滑化処理を行うと共に、前記平滑化処理が行われた前記参照画素を用いて符号化対象ブロックの符号化処理を行うステップとを有する。
実施形態の他の観点によれば、プログラムは、コンピュータを、符号化対象となる画像データに所定の条件を満たす部分である所定部分が存在するか否かを判定する判定手段と、前記所定部分が存在する場合には、フレーム内予測に用いられる参照画素に対して平滑化処理を行うと共に、前記平滑化処理が行われた前記参照画素を用いて符号化対象ブロックの符号化処理を行う処理手段として機能させるためのプログラムである。
本発明によれば、階調が適切に表現された良好な符号化画像を生成することができる。
以下、本発明の実施形態について図面を用いて説明する。但し、本発明は以下の実施形態に限定されるものではない。
[実施形態1]
まず、図1および図2を参照して、実施形態1における画像処理装置100の構成要素を説明する。実施形態1では、画像処理装置100が、撮像装置(例:デジタルビデオカメラまたはデジタルカメラ)として動作可能な例を説明するが、画像処理装置100はこのような装置に限定されるものではない。動画像データに対して後述するような符号化処理を行う装置であれば、画像処理装置100は、携帯端末(例:スマートフォン)として動作可能な装置であってもよい。
まず、図1および図2を参照して、実施形態1における画像処理装置100の構成要素を説明する。実施形態1では、画像処理装置100が、撮像装置(例:デジタルビデオカメラまたはデジタルカメラ)として動作可能な例を説明するが、画像処理装置100はこのような装置に限定されるものではない。動画像データに対して後述するような符号化処理を行う装置であれば、画像処理装置100は、携帯端末(例:スマートフォン)として動作可能な装置であってもよい。
図1に示すように、画像処理装置100は、撮像部101と、顔画像検出部102と、イントラスムージング処理決定部103と、符号化部104とを有する。また、図2に示すように、画像処理装置100は、CPU(Central Processing Unit)201と、メモリ202と、不揮発性メモリ203と、操作部204とを有する。また、画像処理装置100は、表示制御部207と、表示部208と、記録媒体制御部209と、内部バス210と、レンズユニット211とを有する。CPU201は、顔画像検出部102およびイントラスムージング処理決定部103として動作し得る。実施形態1では、CPU201が顔画像検出部102およびイントラスムージング処理決定部103として動作する場合を例に説明するが、これに限定されるものではない。例えば、CPU201とは別のプロセッサが顔画像検出部102およびイントラスムージング処理決定部103として動作するように構成してもよい。或いは、CPU201とは別のプロセッサが顔画像検出部102、イントラスムージング処理決定部103および符号化部104として動作するように構成してもよい。
CPU201は、不揮発性メモリ203に記憶されているプログラムを実行することにより、画像処理装置100の各構成要素を制御する。CPU201は、例えばハードウェアプロセッサである。上述したように、CPU201は、顔画像検出部102およびイントラスムージング処理決定部103としても機能し得る。
メモリ202は、例えば、書き換え可能な揮発性メモリである。メモリ202には、撮像部101から順次出力される画像データが一時的に格納される。メモリ202は、CPU201の作業領域としても用いられる。メモリ202は、これらを一時的に記録するために十分な記憶容量を有する。メモリ202は、後述するフレームメモリ401(図4参照)として機能し得る。
不揮発性メモリ203は、電気的に消去が可能なメモリであり、例えばEEPROMを有する。不揮発性メモリ203は、画像処理装置100の各構成要素を制御するためのプログラムと、画像処理装置100の各構成要素の制御を用いられる情報(制御パラメータ等)とを記憶する。
操作部204は、画像処理装置100を操作するためのユーザインターフェースとして動作する。操作部204は、電源ボタン、メニューボタン、シャッターボタン等のボタンを含んでおり、これらのボタンはスイッチまたはタッチパネルでユーザに提供される。CPU201は、操作部204を介して入力されたユーザの指示に従って画像処理装置100の各構成要素を制御する。
レンズユニット211は、ズームレンズ、フォーカスレンズ、レンズ制御部、絞り等を有する。レンズユニット211のレンズ制御部は、CPU201から送信される制御信号に基づき、ズームレンズ、フォーカスレンズ、絞り等を制御する。これにより、焦点の調整および絞り値(F値)の制御が行われる。レンズユニット211は、画像処理装置100から取り外し可能であってもよい。
撮像部101は、動画像データを構成する複数の画像データを順次生成し、生成した複数の画像データを順次出力する。撮像部101としては、例えば、CCDイメージセンサまたはCMOSイメージセンサが用いられる。撮像部101は、画素アレイを有する。レンズユニット211によって形成される被写体の光学像が画素アレイに結像される。画素アレイには、被写体の光学像を電気信号に変換するための複数の光電変換素子が2次元的に配列されている。なお、撮像部101は、静止画像データを生成することも可能である。撮像部101は、画像処理部をさらに有する。画像処理部は、撮像部101で生成された画像データに対して所定の画像処理を行う。このような画像処理としては、例えば、補間処理、縮小処理(リサイズ処理)、色変換処理等が挙げられる。また、画像処理部は、撮像部101で生成された画像データを用いて、露光制御または測距制御のための所定の演算処理をも行い得る。撮像部101からは、画像処理部によって所定の画像処理が行われた所定のフォーマットの画像データが出力される。撮像部101で生成された画像データは、図1に示すように、入力画像データ(符号化対象となる画像データに相当)として顔画像検出部102と符号化部104とに入力される。
符号化部104は、撮像部101から符号化部104に入力された入力画像データに対して後述するような符号化処理を行うことにより、画像データを符号化する。なお、符号化部104の詳細については、図4を用いて後述することとする。
表示制御部207は、表示部208を制御する。表示部208は、表示パネル(例:液晶表示パネル、有機ELパネル)を有する。表示制御部207は、撮像部101で生成された画像データに対してリサイズ処理等を行うことにより、表示部208に表示可能な画像データを生成し、生成した画像データを表示部208に出力する。表示部208は、表示制御部207から供給される画像データに対応する画像を表示する。表示部208は、例えばタッチパネルセンサを有するものであってもよい。表示部208がタッチパネルセンサを有する場合、表示部208は操作部204としても機能し得る。
記録媒体制御部209は、CPU201からの要求に基づき、記録媒体212への符号化データの書き込みまたは記録媒体212からの符号化データの読み出しを行う。記録媒体212は、例えばメモリカードとして動作する。記録媒体212に格納される符号化データは、撮像部101で生成され、符号化部104で符号化された画像データである。記録媒体212に格納される符号化データは、記録媒体212のファイルシステムに適合した形式でファイルとして記録媒体212に格納される。記録媒体212は、画像処理装置100から取り外し可能であってもよいし、画像処理装置100に内蔵されたものであってもよい。画像処理装置100の各構成要素は、内部バス210を介して互いにアクセス可能となっている。
顔画像検出部102は、撮像部101から顔画像検出部102に入力された入力画像データ(符号化対象となる画像データに相当)に顔画像が存在するか否かを検出する。実施形態1および他の実施形態では、入力画像データの一部であって人の顔に相当すると判定された部分を顔画像と呼ぶ。実施形態1において、入力画像データに顔画像が含まれているか否かを検出するのは、次のような理由によるものである。顔画像においては、階調が徐々に変化するため、顔画像に擬似輪郭が発生すると、擬似輪郭が目立ってしまう。このため、入力画像データに顔画像が含まれている場合には、擬似輪郭が生ずるのを防止するために、イントラスムージング処理を行うことが好ましい。このような理由により、実施形態1では、入力画像データに顔画像が含まれているか否かを検出するようにしている。入力画像データに顔画像が含まれているか否かを検出する手法としては、例えば以下のような手法が挙げられる。例えば、顔画像を予め不揮発性メモリ203等に格納しておき、入力画像データと顔画像とを例えばパターンマッチングによって比較することにより、入力画像データに顔画像が含まれているか否かを検出し得る。また、肌色に対応する画素値の画素が入力画像データに含まれているか否かに基づいて、入力画像データに顔画像が含まれているか否かを検出することも可能である。顔画像検出部102は、入力画像データに顔画像が含まれているか否かを示す検出結果をイントラスムージング処理決定部103に出力する。このように、顔画像検出部102は、符号化対象となる画像データに顔画像(所定の条件を満たす部分である所定部分に相当)が含まれているか否かを検出する検出手段として機能し得る。
イントラスムージング処理決定部103は、顔画像検出部102による検出結果に基づき、イントラスムージング処理を有効とするか否かを判定する。イントラスムージング処理は、フレーム内予測に用いられる参照画素に対して線形補間処理を行い、このような線形補間処理が行われた参照画素を用いてフレーム内予測を行うことにより、滑らかな画像を生成する平滑化処理である。顔画像が顔画像検出部102によって検出された場合には、イントラスムージング処理決定部103は、イントラスムージング処理を有効とするための信号を符号化部104に出力する。具体的には、イントラスムージング処理決定部103は、符号化部104に供給するイントラスムージング処理有効信号をイネーブルとする。一方、顔画像が顔画像検出部102によって検出されない場合には、イントラスムージング処理決定部103は、イントラスムージング処理を無効とするための信号を符号化部104に出力する。具体的には、イントラスムージング処理決定部103は、符号化部104に供給するイントラスムージング処理有効信号をディセーブルとする。このように、イントラスムージング処理決定部103は、フレーム内予測に用いられる参照画素に対して平滑化処理(スムージング処理)を行うか否かを、顔画像検出部102の検出結果に基づいて決定する決定手段として機能し得る。
符号化部104は、イントラスムージング処理決定部103から供給されるイントラスムージング処理有効信号に基づき、入力画像データ(符号化対象となる画像データに相当)に対して符号化処理を行う。イントラスムージング処理有効信号がイネーブルの際には、符号化部104は、イントラスムージング処理を有効として符号化を行う。一方、イントラスムージング処理有効信号がディセーブルの際には、符号化部104は、イントラスムージング処理を無効として符号化を行う。符号化処理としては、例えば、ISO/IEC23008において規定された符号化処理が挙げられる。符号化部104は、符号化処理が行われた入力画像データをビットストリームとして出力する。図3(a)および図3(b)は、イントラスムージング処理の例を概念的に説明するための図である。図3(a)は、線形補間処理が行われた参照画素を概念的に示すグラフである。図3(a)の横軸は、参照画素の位置を示し、図3(a)の縦軸は、参照画素の輝度値の例を示す。図15(a)を参照して説明したように、参照画素に対して線形補間処理を行っていない状態においては、ブロックの境界において参照画素の画素値が不連続となっている場合がある。これに対し、参照画素に対して線形補間処理を行うと、図3(a)に示すように、参照画素の画素値がブロックの境界においても連続的となる。図3(b)は、各ブロックの画像データを概念的に示したものである。ブロック301a〜301dは、符号化済みのブロックを示す。ブロック301eは、符号化対象ブロックを示す。符号化済みのブロック301bおよび301cの境界において参照画素の画素値が図3(a)のように連続的になっているため、斜め方向に位置する参照画素を用いたフレーム内予測においても、符号化対象ブロック301eに擬似輪郭が生じるのを防止し得る。
次に、図4を参照して、画像処理装置100が有する符号化部104の構成要素を説明する。
図4に示すように、符号化部104は、イントラ予測部(フレーム内予測部)402と、インター予測部(フレーム間予測部)403と、イントラ/インター選択部404と、予測画像生成部405と、整数変換部406と、量子化部407とを有する。符号化部104は、エントロピー符号化部408と、符号量制御部409と、逆量子化部410と、逆整数変換部411と、ループフィルタ412と、ビットストリーム生成部413と、減算器414と、加算器415とをさらに有する。
撮像部101から符号化部104に入力された入力画像データは、フレームメモリ401に格納される。フレームメモリ401には、複数フレーム分の画像を格納することが可能である。フレームメモリ401には、入力画像データと、後述する動き予測処理において用いられる参照画像データとが格納される。
イントラ予測部402は、フレームメモリ401に格納された1フレーム分の入力画像データから符号化対象ブロックの画像データを読み出す。そして、イントラ予測部402は、符号化対象ブロックの画像データと、符号化対象ブロックの周辺に位置する参照画素のデータから生成された複数のイントラ予測画像データとの相関を計算する。イントラ予測部402には、イントラスムージング処理決定部103からイントラスムージング処理有効信号が供給されるようになっている。イントラスムージング処理有効信号がイネーブルの場合、イントラ予測部402は、符号化対象ブロックの周辺に位置する参照画素に対して線形補間処理を行い、このような線形補間処理が行われた参照画素を用いてイントラ予測画像データを生成する。そして、イントラ予測部402は、符号化対象ブロックの画像データと最も相関が高いイントラ予測画像データのイントラ予測モードを、複数のイントラ予測モードの候補から選択する。さらに、イントラ予測部402は、符号化対象ブロックの画像データと最も相関が高いイントラ予測画像データと符号化対象ブロックの画像データとの予測誤差である第1の予測誤差を計算する。そして、イントラ予測部402は、計算した第1の予測誤差を示す情報と、符号化対象ブロックの画像データと最も相関が高いイントラ予測画像データとを、イントラ/インター選択部404に通知する。
インター予測部403は、入力画像データと参照画像データとの間で動きベクトルを計算する。さらに、インター予測部403は、計算した動きベクトルに基づいて生成されたインター予測画像データと符号化対象ブロックの画像データとの予測誤差である第2の予測誤差を計算する。そして、インター予測部403は、計算した第2の予測誤差を示す情報と、生成したインター予測画像データとを、イントラ/インター選択部404に通知する。
イントラ/インター選択部404は、イントラ予測部402からの第1の予測誤差とインター予測部403からの第2の予測誤差とに基づき、イントラ予測またはインター予測を選択する。具体的には、イントラ/インター選択部404は、第1の予測誤差と第2の予測誤差とを比較し、第1の予測誤差が第2の予測誤差よりも小さければ、インター予測を選択し、第2の予測誤差が第1の予測誤差以下であればイントラ予測を選択する。イントラ予測が選択された場合、イントラ/インター選択部404は、以下のような処理を行う。即ち、イントラ/インター選択部404は、イントラ/インター選択部404がイントラ予測を選択したことを示す情報と、符号化対象ブロックの画像データと最も相関が高いイントラ予測画像データとを、予測画像生成部405に供給する。インター予測が選択された場合、イントラ/インター選択部404は、イントラ/インター選択部404がインター予測を選択したことを示す情報と、インター予測部403が生成したインター予測画像データとを予測画像生成部405に供給する。
予測画像生成部405は、イントラ/インター選択部404から供給された各符号化対象ブロックのイントラ/インター予測画像データに基づき、1フレーム分の予測画像データを生成する。予測画像生成部405には、イントラスムージング処理決定部103からイントラスムージング処理有効信号が供給されるようになっている。イントラスムージング処理有効信号がイネーブルの場合には、予測画像生成部405は、イントラスムージング処理を適用して予測画像データを生成する。
なお、ISO/IEC23008においては、以下のような条件を全て満たす場合にイントラスムージング処理が行われる。第1の条件は、符号化対象ブロックの境界に位置する参照画素の画素値と、参照画素の平均値との差の絶対値が、輝度のビット深度に応じて決定される閾値未満であることである。第2の条件は、TU(Transform Unit)サイズが32画素×32画素であることである。第3の条件は、どのようなイントラ予測モードであるのかを示す変数であるpredModeIntraが、1(DC予測)、10(水平方向予測)および26(垂直方向予測)のいずれでもないことである。第4の条件は、シーケンスパラメータセット(SPS:Sequence Parameter Set)に含まれるstrong_intra_smoothing_enabled_flagの値が1であることである。
減算器414は、予測画像生成部405によって生成された予測画像データと入力画像データとの差分画像データを生成し、生成した差分画像データを整数変換部406に供給する。
整数変換部406は、整数変換処理を行うことにより、減算器414から供給された差分画像データを1フレーム分の係数データに変換する。整数変換部406で生成された係数データは、量子化部407に供給される。
量子化部407は、符号量制御部409から供給される目標符号量に基づく量子化係数を決定し、整数変換部406から供給される係数データを決定した量子化係数に従って量子化する。量子化部407で量子化された係数データは、エントロピー符号化部408と逆量子化部410とに供給される。
エントロピー符号化部408は、エントロピー符号化処理を行うことにより、量子化部407で量子化された係数データから1フレーム分の符号化データを生成する。CABAC(コンテキスト適応算術符号化)は、エントロピー符号化部408で行われるエントロピー符号化処理の例である。エントロピー符号化部408は、符号化データの発生符号量を示す情報を符号量制御部409に供給する。エントロピー符号化部408は、1フレーム分の符号化データをビットストリーム生成部413に供給する。
ビットストリーム生成部413は、エントロピー符号化部408から供給される1フレーム分の符号化データにヘッダ情報等を付加し、ヘッダ情報等が付加された符号化データを出力する。SPSおよびピクチャパラメータセット(PPS:Picture Parameter Set)は、符号化データに付加されるヘッダ情報の例である。SPSは、シーケンスにおいて共通なパラメータが定義されたパラメータセットである。PPSは、ピクチャにおいて共通なパラメータが定義されたパラメータセットである。ビットストリーム生成部413から出力される符号化データは、記録媒体212に記録される。ビットストリーム生成部413には、イントラスムージング処理決定部103からイントラスムージング処理有効信号が供給されるようになっている。イントラスムージング処理有効信号がイネーブルの場合、ビットストリーム生成部413は、イントラスムージング処理が適用された符号化データに、以下のようなヘッダ情報を付加する。即ち、SPSに含まれるstrong_intra_smoothing_enabled_flagの値を1としたヘッダ情報を符号化データに付加する。
符号量制御部409は、エントロピー符号化部408から供給される発生符号量を示す情報と、目標ビットレート、バッファモデル等を示す情報とに基づいて、1フレーム当たりの目標符号量を計算し、計算した目標符号量を量子化部407に供給する。
逆量子化部410は、量子化部407で行われた量子化処理に対応する逆量子化処理を行うことにより、量子化部407で量子化された係数データを逆量子化する。量子化部407で逆量子化された係数データは、逆整数変換部411に供給される。逆整数変換部411は、整数変換部406で行われた整数変換処理に対応する逆整数変換処理を行うことにより、逆量子化部410から供給された係数データを差分画像データに変換する。逆量子化部410で生成された差分画像データは、加算器415に供給される。加算器415は、逆整数変換部411から供給される差分画像データと、予測画像生成部405から出力される予測画像データとを加算し、参照画像データを生成する。加算器415で生成された参照画像データは、ループフィルタ412と予測画像生成部405とに供給される。
ループフィルタ412は、加算器415で生成された参照画像データに対して、ブロック境界で発生する符号化歪みを軽減するためのフィルタ処理を行う。ループフィルタ412でフィルタ処理が行われた参照画像データは、フレームメモリ401に格納される。
次に、図5のフローチャートを参照して、画像処理装置100の動作例を説明する。なお、図5のフローチャートは、動画像データを構成する複数の入力画像データのそれぞれに対して行われる。
ステップS501において、CPU201は、記録開始の指示がユーザによってなされたか否かを判定する。記録開始の指示は、例えばユーザが操作部204を操作することによって行われる。記録開始の指示がなされていない場合には(ステップS501でNO)、図5に示す処理を終了する。一方、記録開始の指示がなされた場合には(ステップS501でYES)、ステップS502に移行する。
ステップS502において、顔画像検出部102は、入力画像データに顔画像が含まれているか否かを検出する。入力画像データに顔画像が含まれている場合には(ステップS503でYES)、ステップS504に移行する。入力画像データに顔画像が含まれていない場合には(ステップS503でNO)、ステップS506に移行する。
ステップS504において、イントラスムージング処理決定部103は、イントラスムージング処理有効信号をイネーブルにする。符号化部104は、イントラスムージング処理を有効にして符号化処理を行う。この後、ステップS505に移行する。
ステップS505において、符号化部104は、strong_intra_smoothing_enabled_flagの値が1に設定されたSPSを含むヘッダ情報を、符号化された入力画像データである符号化データに付加する。そして、符号化部104は、このようなヘッダ情報が付加された符号化データをビットストリームとして出力する。strong_intra_smoothing_enabled_flagが1に設定されたSPSを含むヘッダ情報を、符号化データに付加するのは、復号の際に当該情報が必要となるためである。この後、ステップS508に移行する。
ステップS506において、イントラスムージング処理決定部103は、イントラスムージング処理有効信号をディセーブルにする。符号化部104は、イントラスムージング処理を無効にして符号化処理を行う。この後、ステップS507に移行する。
ステップS507において、符号化部104は、strong_intra_smoothing_enabled_flagの値が0に設定されたSPSを含むヘッダ情報を、符号化データに付加する。そして、符号化部104は、このようなヘッダ情報が付加された符号化データをビットストリームとして出力する。この後、ステップS508に移行する。
ステップS508において、CPU201は、記録終了の指示がユーザによってなされたか否かを判定する。記録終了の指示は、例えばユーザが操作部204を操作することによって行われる。記録終了の指示がなされた場合には(ステップS508でYES)、図5に示す処理を終了する。一方、記録終了の指示がなされていない場合には(ステップS508でNO)、ステップS502以降の動作が繰り返される。
次に、図6および図7を参照して、ビットストリーム生成部413から出力される符号化データのデータ構造例を示す。
図6に示すように、ISO/IEC23008に基づいて生成されるビットストリームシーケンス601は、MPEG−4の場合と同様に、複数のアクセスユニット(AU:Access Unit)が復号順に配列された構造となっている。図6において、AU #N(Nは整数)は、第N番目のアクセスユニットであることを示す。
各アクセスユニットは、ヘッダ情報と、ヘッダ情報に続いて配された符号化データとを含んでいる。ヘッダ情報には、アクセスユニットの開始位置を示すアクセスユニットデリミタ(AUD:Access Unit Delimiter)が含まれている。また、ヘッダ情報には、各レイヤの共通情報および関係情報を示すビデオパラメータセット(VPS:Video Parameter Set)が含まれている。また、ヘッダ情報には、SPSおよびPPSが含まれている。図6において、VPSN(Nは整数)は、第N番目のアクセスユニットのVPSであることを示し、SPSN(Nは整数)は、第N番目のアクセスユニットのSPSであることを示す。また、図6において、PPSN(Nは整数)は、第N番目のアクセスユニットのPPSであることを示す。符号化データは、マクロブロック単位で符号化された複数のスライスデータを含む。図6において、スライスN(Nは整数)は、第N番目のアクセスユニットに含まれるスライスデータであることを示す。1つのアクセスユニットには、複数のスライスデータが含まれている。SPSおよびPPSは、ストリームシーケンスの途中で変更することが規格上可能である。
図7は、VPSとSPSとPPSとスライスデータとの関連付けの例を示す図である。図7に示すように、VPSには、VPSを識別するためのvps_video_parameter_set_idが含まれる。SPSには、SPSが参照するVPSのIDを示すsps_video_parameter_set_idと、SPSを識別するためのsps_seq_parameter_set_idとが含まれる。PPSには、PPSが参照するSPSのIDを示すpps_seq_parameter_set_idと、PPSを識別するためのpps_pic_parameter_set_idとが含まれる。スライスデータのヘッダには、スライスデータが参照するPPSのIDを示すslice_pic_parameter_set_idが含まれる。
図7における矢印は、ヘッダ情報の参照関係を示す。図7に示すように、同じIDに基づいて、スライスとPPSとの関連付け、PPSとSPSとの関連付け、SPSとVPSとの関連付けが行われている。図7から分かるように、異なるアクセスユニットのヘッダ情報が参照される。図7に示す例においては、SPS0において、strong_intra_smoothing_enabled_flagの値が0となっている。strong_intra_smoothing_enabled_flagの値が0であるということは、イントラスムージング処理を無効にして符号化処理が行われたことを示す。また、図7に示す例においては、SPS2において、strong_intra_smoothing_enabled_flagの値が1となっている。strong_intra_smoothing_enabled_flagの値が1であるということは、イントラスムージング処理を有効にして符号化処理が行われたことを示す。
図7に示す例においては、第0番目のアクセスユニットに含まれるスライスデータを取得する際にも、第1番目のアクセスユニットに含まれるスライスデータを取得する際にも、イントラスムージング処理を無効として符号化処理が行われている。そして、第0番目のアクセスユニットに含まれるスライスデータを復号化する際にも、第1番目のアクセスユニットに含まれるスライスデータを復号する際にも、第1番目のアクセスユニットのヘッダ情報に含まれているSPS0が参照される。SPS0においては、上述したように、strong_intra_smoothing_enabled_flagの値が0となっている。このため、第0番目のアクセスユニットを復号する際にも、第1番目のアクセスユニットを復号する際にも、イントラスムージング処理は無効とされる。従って、第0番目のアクセスユニットに含まれているスライスデータと第1番目のアクセスユニットに含まれているスライスデータとを良好に復号することができる。
また、図7に示す例においては、第2番目のアクセスユニットに含まれるスライスデータを取得する際には、イントラスムージング処理を有効として符号化処理が行われている。そして、第2番目のアクセスユニットに含まれるスライスデータを復号化する際には、第2番目のアクセスユニットのヘッダ情報に含まれているSPS2が参照される。SPS2においては、上述したように、strong_intra_smoothing_enabled_flagの値が1となっている。このため、第2番目のアクセスユニットを復号する際には、イントラスムージング処理は有効とされる。従って、第2番目のアクセスユニットに含まれているスライスデータを良好に復号することができる。
次に、図8(a)および図8(b)を参照して、実施形態1の具体例を説明する。図8(a)は、入力画像データに顔画像が含まれている例を示す。図8(b)は、入力画像データに顔画像が含まれていない例を示す。
図8(a)に示すように、入力画像データに顔画像801が含まれている場合には、入力画像データを符号化する際にイントラスムージング処理が適用される。人物の顔の画像においては、階調が徐々に変化する。このため、イントラスムージング処理を適用することによって、階調が適切に表現された良好な符号化画像を得ることができる。
一方、図8(b)のような風景の画像に対してイントラスムージング処理が行われると、ディテールが失われるおそれがある。実施形態1では、顔画像が含まれていないこのような入力画像データに対してはイントラスムージング処理が適用されないため、画質が損なわれることはない。
このように、実施形態1によれば、入力画像データ(符号化対象となる画像データに相当)に顔画像が含まれているか否かに基づいて、イントラスムージング処理を行うか否かが判定される。従って、実施形態1によれば、イントラスムージング処理を適切に行うことができ、階調が適切に表現された良好な符号化画像を得ることが可能となる。
[実施形態2]
次に、実施形態2を説明する。実施形態2では、画像処理装置100が、入力画像データに含まれている顔画像のサイズに基づき、イントラスムージング処理を行うか否かを判定することができる例を説明する。
次に、実施形態2を説明する。実施形態2では、画像処理装置100が、入力画像データに含まれている顔画像のサイズに基づき、イントラスムージング処理を行うか否かを判定することができる例を説明する。
図9は、実施形態2における画像処理装置100の構成要素を説明するためのブロック図である。実施形態2における画像処理装置100の構成要素のうち、実施形態1における画像処理装置100の構成要素と同一の構成要素については、同一の符号を付してそれらの説明を省略または簡潔にする。
実施形態2における画像処理装置100は、実施形態1における画像処理装置100と異なり、顔画像サイズ検出部901をさらに有する。顔画像サイズ検出部901は、例えばCPU201によって実現され得る。顔画像検出部102による顔画像の検出の結果を示す信号が、顔画像サイズ検出部901に供給されるようになっている。顔画像サイズ検出部901は、入力画像データに含まれている顔画像のサイズ(顔画像サイズ)に関する情報である顔画像サイズ情報を、例えば以下のようにして取得する。即ち、顔画像サイズ検出部901は、顔画像が含まれる領域である顔画像領域1101のサイズに関する情報(顔画像サイズ情報)を取得する(図11(a)および図11(b)参照)。顔画像サイズ情報は、例えば、顔画像領域1101の座標を示す情報であってもよいし、顔画像領域1101の座標とライン数とを組み合わせた情報であってもよい。また、顔画像サイズ情報は、顔画像領域1101の面積を示す情報であってもよい。顔画像サイズ検出部901は、取得した顔画像サイズ情報を、イントラスムージング処理決定部103に通知する。
イントラスムージング処理決定部103は、顔画像サイズ検出部901から出力される顔画像サイズ情報に基づき、イントラスムージング処理を行うか否かを判定する。
次に、図10のフローチャートを参照して、実施形態2における画像処理装置100の動作例を説明する。
ステップS501からステップS503までは、実施形態1と同様であるため、それらのステップで行われる動作の説明を省略する。入力画像データに顔画像が含まれている場合には(ステップS503でYES)、ステップS1001に移行する。入力画像データに顔画像が含まれていない場合には(ステップS503でNO)、ステップS506に移行する。
ステップS501からステップS503までは、実施形態1と同様であるため、それらのステップで行われる動作の説明を省略する。入力画像データに顔画像が含まれている場合には(ステップS503でYES)、ステップS1001に移行する。入力画像データに顔画像が含まれていない場合には(ステップS503でNO)、ステップS506に移行する。
ステップS1001において、顔画像サイズ検出部901は、顔画像サイズ情報を取得する。この後、ステップS1002に移行する。
ステップS1002において、イントラスムージング処理決定部103は、顔画像領域1101のサイズが、予め定めた所定値以上であるか否かに基づいて、イントラスムージング処理を行うか否かを判定する。イントラスムージング処理決定部103は、顔画像領域1101のサイズが所定値以上である場合には、イントラスムージング処理有効信号をイネーブルにする。一方、イントラスムージング処理決定部103は、顔画像領域1101のサイズが所定値未満である場合には、イントラスムージング処理有効信号をディセーブルにする。所定値は、例えば入力画像データのサイズの50%とすることができるが、これに限定されるものではない。比較的小さい顔画像の場合には、階調はあまり重要視されない。一方、比較的大きい顔画像の場合には、階調が重要視され得る。従って、階調が重要視され得るか否かに基づいて、所定値を決定することができる。入力画像データに含まれている顔画像のサイズが所定値以上である場合には(ステップS1002でYES)、ステップS504に移行する。入力画像データに含まれている顔画像のサイズが所定値未満である場合には(ステップS1002でNO)、ステップS506に移行する。
ステップS504からステップS508までは、実施形態1と同様であるため、それらのステップで行われる動作の説明を省略する。
次に、図11(a)および図11(b)を参照して、実施形態2の具体例を説明する。図11(a)は、顔画像領域1101のサイズが大きい例を示す。図11(b)は、2つの顔画像領域1101のサイズが小さい例を示す。
図11(a)のように、入力画像データに含まれている顔画像領域1101のサイズが所定値以上である場合には、入力画像データを符号化する際にイントラスムージング処理が行われる。イントラスムージング処理を適用することによって、階調が適切に表現された良好な符号化画像が得られる。
一方、図11(b)のように、入力画像データに含まれている2つの顔画像領域1101のサイズが所定値未満である場合には、入力画像データを符号化する際にイントラスムージング処理が行われない。イントラスムージング処理が行われないため、風景のディテールが失われず、良好な符号化画像が得られる。
このように、実施形態2によれば、入力画像データ(符号化対象となる画像データに相当)に含まれている顔画像のサイズに基づいて、イントラスムージング処理を行うか否かを判定する。従って、実施形態2によれば、階調が適切に表現されたより良好な符号化画像を得ることができる。
[実施形態3]
次に、実施形態3を説明する。実施形態3では、画像処理装置100が、入力画像データに含まれている顔画像の数に基づき、イントラスムージング処理を行うか否かを判定することができる例を説明する。
次に、実施形態3を説明する。実施形態3では、画像処理装置100が、入力画像データに含まれている顔画像の数に基づき、イントラスムージング処理を行うか否かを判定することができる例を説明する。
図12は、実施形態3における画像処理装置100の構成要素を説明するためのブロック図である。実施形態3における画像処理装置100の構成要素のうち、実施形態1における画像処理装置100の構成要素と同一の構成要素については、同一の符号を付してそれらの説明を省略または簡潔にする。実施形態3における画像処理装置100の構成要素のうち、実施形態2における画像処理装置100の構成要素と同一の構成要素については、同一の符号を付してそれらの説明を省略または簡潔にする。
実施形態3における画像処理装置100は、実施形態1における画像処理装置100と異なり、顔画像計数部1201をさらに有する。顔画像計数部1201は、例えばCPU201によって実現され得る。顔画像計数部1201は、入力画像データに含まれている顔画像の数に関する情報である顔画像数情報を、データ例えば以下のようにして取得する。即ち、顔画像計数部1201は、顔画像が含まれる領域である顔画像領域1401の数に関する情報(顔画像数情報)を取得する(図14(a)および図14(b)参照)。顔画像計数部1201は、取得した顔画像数情報を、イントラスムージング処理決定部103に通知する。
イントラスムージング処理決定部103は、顔画像計数部1201から出力される顔画像数情報に基づき、イントラスムージング処理を行うか否かを判定する。
次に、図13のフローチャートを参照して、実施形態3における画像処理装置100の動作例を説明する。
ステップS501からステップS503までは、実施形態1と同様であるため、それらのステップで行われる動作の説明を省略する。入力画像データに顔画像が含まれている場合には(ステップS503でYES)、ステップS1301に移行する。入力画像データに顔画像が含まれていない場合には(ステップS503でNO)、ステップS506に移行する。
ステップS1301において、顔画像計数部1201は、顔画像数情報を取得する。この後、ステップS1302に移行する。
ステップS1302において、イントラスムージング処理決定部103は、顔画像数が、予め定めた所定値以上であるか否かを判定する。イントラスムージング処理決定部103は、顔画像数が所定値以上である場合には、イントラスムージング処理有効信号をディセーブルにする。イントラスムージング処理決定部103は、顔画像数が所定値未満である場合には、イントラスムージング処理有効信号をイネーブルにする。顔画像数が所定値以上の場合に、イントラスムージング処理をディセーブルとするのは、顔画像数が多い場合には、顔画像のサイズが小さく、顔画像の階調があまり重要視されないためである。一方、顔画像数が所定値未満の場合に、イントラスムージング処理を有効とするのは、顔画像数が少ない場合には、顔画像が大きい場合があり、大きい顔画像は、階調が重要視され得るためである。所定値は、例えば4としてもよいし、5としてもよいが、これらに限定されるものではない。なお、撮像モードまたは画角によって、所定値を変更するようにしてもよい。顔画像数が所定値以上である場合には(ステップS1302でYES)、ステップS506に移行する。顔画像数が所定値未満である場合には(ステップS1302でNO)、ステップS504に移行する。
ステップS504からステップS508までは、実施形態1と同様であるため、それらのステップで行われる動作の説明を省略する。
次に、図14(a)および図14(b)を参照して、実施形態3の具体例を説明する。図14(a)は、顔画像数が所定値未満である場合の例を示す。図14(b)は、顔画像数が所定値以上である場合の例を示す。
図14(a)のように、顔画像数が所定値未満である場合には、入力画像データを符号化する際にイントラスムージング処理が行われる。イントラスムージング処理を適用することによって、階調が適切に表現された良好な符号化画像が得られる。
一方、図14(b)のように、顔画像数が所定値以上である場合には、入力画像データを符号化する際にイントラスムージング処理が行われない。イントラスムージング処理が行われないため、ユニフォーム等のディテールが失われていない良好な符号化画像が得られる。
このように、実施形態3によれば、入力画像データ(符号化対象となる画像データに相当)に含まれている顔画像の数に基づいて、イントラスムージング処理を行うか否かを判定する。従って、実施形態3によっても、階調が適切に表現されたより良好な符号化画像を得ることができる。
なお、実施形態3は、実施形態2と組み合わせることが可能である。
なお、実施形態3は、実施形態2と組み合わせることが可能である。
[実施形態4]
実施形態1、2および3では、所定の条件を満たす部分が顔画像である場合を例に説明したが、所定の条件を満たす部分は顔画像に限定されるものではない。所定の条件を満たす部分の別の例としては、例えば、階調が徐々に変化する部分(グラデーション部分)が挙げられる。階調が徐々に変化する部分か否かは、例えば、画素値の空間的な変化率が閾値未満である部分か否かに基づいて判定し得る。そして、階調が徐々に変化する部分が入力画像データに含まれているか否かに基づき、イントラスムージング処理を行うか否かを判定するようにしてもよい。
実施形態1、2および3では、所定の条件を満たす部分が顔画像である場合を例に説明したが、所定の条件を満たす部分は顔画像に限定されるものではない。所定の条件を満たす部分の別の例としては、例えば、階調が徐々に変化する部分(グラデーション部分)が挙げられる。階調が徐々に変化する部分か否かは、例えば、画素値の空間的な変化率が閾値未満である部分か否かに基づいて判定し得る。そして、階調が徐々に変化する部分が入力画像データに含まれているか否かに基づき、イントラスムージング処理を行うか否かを判定するようにしてもよい。
[実施形態5]
実施形態1〜4で説明した様々な機能、処理または方法は、パーソナルコンピュータ、マイクロコンピュータ、CPU(Central Processing Unit)、プロセッサなどがプログラムを用いて実現することもできる。以下、実施形態5では、パーソナルコンピュータ、マイクロコンピュータ、CPU(Central Processing Unit)、プロセッサなどを「コンピュータX」と呼ぶ。また、実施形態5では、コンピュータXを制御するためのプログラムであって、実施形態1〜4で説明した様々な機能、処理または方法を実現するためのプログラムを「プログラムY」と呼ぶ。
実施形態1〜4で説明した様々な機能、処理または方法は、パーソナルコンピュータ、マイクロコンピュータ、CPU(Central Processing Unit)、プロセッサなどがプログラムを用いて実現することもできる。以下、実施形態5では、パーソナルコンピュータ、マイクロコンピュータ、CPU(Central Processing Unit)、プロセッサなどを「コンピュータX」と呼ぶ。また、実施形態5では、コンピュータXを制御するためのプログラムであって、実施形態1〜4で説明した様々な機能、処理または方法を実現するためのプログラムを「プログラムY」と呼ぶ。
実施形態1〜4で説明した様々な機能、処理または方法は、コンピュータXがプログラムYを実行することによって実現される。この場合において、プログラムYは、コンピュータ読み取り可能な記憶媒体を介してコンピュータXに供給される。実施形態5におけるコンピュータ読み取り可能な記憶媒体は、ハードディスク装置、磁気記憶装置、光記憶装置、光磁気記憶装置、メモリカード、揮発性メモリ、不揮発性メモリなどの少なくとも1つを含む。実施形態5におけるコンピュータ読み取り可能な記憶媒体は、non−transitoryな記憶媒体である。
なお、本発明の実施形態は上述の実施形態1、2、3、4または5に限定されるものではない。発明の要旨を逸脱しない範囲で変更または修正された実施形態1、2、3、4または5も本発明の実施形態に含まれる。
100…画像処理装置
101…撮像部
102…顔画像検出部
103…イントラスムージング処理決定部
104…符号化部
101…撮像部
102…顔画像検出部
103…イントラスムージング処理決定部
104…符号化部
Claims (7)
- 符号化対象となる画像データに所定の条件を満たす部分である所定部分が存在するか否かを判定する判定手段と、
前記所定部分が存在する場合は、フレーム内予測に用いられる参照画素に対して平滑化処理を行うと共に、前記平滑化処理が行われた前記参照画素を用いて符号化対象ブロックの符号化処理を行う処理手段と
を有することを特徴とする画像処理装置。 - 前記平滑化処理は、線形補間処理を含むことを特徴とする請求項1に記載の画像処理装置。
- 前記所定部分は、顔に相当する部分であることを特徴とする請求項1または2に記載の画像処理装置。
- 前記処理手段は、前記所定部分のサイズに基づき、前記平滑化処理を行うか否かを決定することを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
- 前記処理手段は、前記所定部分の数に基づき、前記平滑化処理を行うか否かを決定することを特徴とする請求項1から3のいずれか1項に記載の画像処理装置。
- 符号化対象となる画像データに所定の条件を満たす部分である所定部分が存在するか否かを判定するステップと、
前記所定部分が存在する場合は、フレーム内予測に用いられる参照画素に対して平滑化処理を行うと共に、前記平滑化処理が行われた前記参照画素を用いて符号化対象ブロックの符号化処理を行うステップと
を有することを特徴とする画像処理方法。 - コンピュータを、
符号化対象となる画像データに所定の条件を満たす部分である所定部分が存在するか否かを判定する判定手段と、
前記所定部分が存在する場合には、フレーム内予測に用いられる参照画素に対して平滑化処理を行うと共に、前記平滑化処理が行われた前記参照画素を用いて符号化対象ブロックの符号化処理を行う処理手段
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017123253A JP2019009605A (ja) | 2017-06-23 | 2017-06-23 | 画像処理装置、画像処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017123253A JP2019009605A (ja) | 2017-06-23 | 2017-06-23 | 画像処理装置、画像処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019009605A true JP2019009605A (ja) | 2019-01-17 |
Family
ID=65029866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017123253A Pending JP2019009605A (ja) | 2017-06-23 | 2017-06-23 | 画像処理装置、画像処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019009605A (ja) |
-
2017
- 2017-06-23 JP JP2017123253A patent/JP2019009605A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4724061B2 (ja) | 動画像符号化装置 | |
EP1607909A1 (en) | Moving image coding apparatus | |
JP4799438B2 (ja) | 画像記録装置、画像記録方法、画像符号化装置、及びプログラム | |
TWI477154B (zh) | 用於編碼數位視訊資料之方法及數位視訊編碼器系統 | |
JP6149707B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置 | |
JPWO2009084340A1 (ja) | 動画像符号化装置、および、動画像復号装置 | |
KR102162856B1 (ko) | 비디오 모션 보상을 위한 장치 및 방법 | |
US10674110B2 (en) | Image encoding apparatus, and control method thereof | |
KR102513756B1 (ko) | 이미지 인코딩 방법, 디코딩 방법, 인코더, 디코더 및 저장매체 | |
JP6077811B2 (ja) | 画像符号化装置、画像符号化方法およびプログラム | |
JP5943733B2 (ja) | 画像符号化装置およびその制御方法ならびにプログラム | |
JP2011199411A (ja) | 画像符号化装置及びカメラシステム | |
JP2009027493A (ja) | 画像符号化装置および画像符号化方法 | |
JP2011091772A (ja) | 画像符号化装置 | |
JP2019009605A (ja) | 画像処理装置、画像処理方法およびプログラム | |
US8953055B2 (en) | Image pickup apparatus | |
JP5165084B2 (ja) | 画像符号化装置 | |
JP4564856B2 (ja) | 画像符号化装置及び撮像装置 | |
JP2008199521A (ja) | 画像処理装置およびその方法 | |
JP7148236B2 (ja) | 符号化装置及びその制御方法及びプログラム | |
JP2010166275A (ja) | 画像符号化装置 | |
JP2022189535A (ja) | 符号化装置及び方法 | |
JP2008066911A (ja) | 映像符号化方法、映像符号化装置、映像符号化プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2015050688A (ja) | 撮像装置、撮像装置の制御方法、プログラム | |
Son et al. | Enhanced Prediction Algorithm for Near-lossless Image Compression with Low Complexity and Low Latency |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20171214 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180126 |