(57)【要約】【課題】圧縮画像にノイズが発生するのを抑制する画像処理装置、画像処理方法及び画像処理プログラムを提供する。【解決手段】画像処理装置は、入力画像に基づいてＤＣＴ係数を取得する係数取得部と、そのＤＣＴ係数を量子化する量子化部と、予め学習されたニューラルネットワークを利用して、量子化部によって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率が所定の閾値以上であればＤＣＴ係数を「０」に設定して出力値とする出力値取得部と、出力値取得部で取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得部とを備える。出力値取得部は、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数の値が「０」になる確率と、予め作成された教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるように、ニューラルネットワークに用いる値を学習する。【選択図】図１
2020088740.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対してＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：離散コサイン変換）を行ってＤＣＴ係数を取得する係数取得部と、
前記係数取得部によって取得されたＤＣＴ係数を量子化して、量子化されたＤＣＴ係数を取得する量子化部と、
予め学習されたニューラルネットワークを利用して、前記量子化部によって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する出力値取得部と、
前記出力値取得部で取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得部と、を備え、
前記出力値取得部は、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数の値が「０」になる確率と、予め作成された教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるように、ニューラルネットワークに用いる値を学習する
る画像処理装置。
【請求項２】
前記入力画像は、イラスト画像である
請求項１に記載の画像処理装置。
【請求項３】
前記係数取得部は、入力画像のＲＧＢをＹＣｂＣｒに変換し、ＹＣｂＣｒに対して所定のピクセル数毎にＤＣＴを行う
請求項１又は２に記載の画像処理装置。
【請求項４】
前記画像取得部は、前記出力値取得部で取得された出力値の出現頻度が相対的により高い値に対して小さい符号を割り当て、出力値の出現頻度が相対的により低い値に対して大きい符号を割り当てる、ハフマン符号化を行うことにより、出力値を圧縮する
請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
コンピュータが
入力画像に対してＤＣＴを行ってＤＣＴ係数を取得する係数取得ステップと、
前記係数取得ステップによって取得されたＤＣＴ係数を量子化して、量子化されたＤＣＴ係数を取得する量子化ステップと、
予め学習されたニューラルネットワークを利用して、前記量子化ステップによって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する出力値取得ステップと、
前記出力値取得ステップで取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得ステップと、を実行し、
前記出力値取得ステップでは、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数の値が「０」になる確率と、予め作成された教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるように、ニューラルネットワークに用いる値を学習する学習ステップを実行する
画像処理方法。
【請求項６】
コンピュータに
入力画像に対してＤＣＴを行ってＤＣＴ係数を取得する係数取得機能と、
前記係数取得機能によって取得されたＤＣＴ係数を量子化して、量子化されたＤＣＴ係数を取得する量子化機能と、
予め学習されたニューラルネットワークを利用して、前記量子化機能によって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する出力値取得機能と、
前記出力値取得機能で取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得機能と、を実現させ、
前記出力値取得機能では、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数の値が「０」になる確率と、予め作成された教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるように、ニューラルネットワークに用いる値を学習する学習機能を実現させる
画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来から、画像を圧縮する方法が提案されている。例えば、特許文献１には、非可逆圧縮の場合、従来のＪＰＥＧ２０００の１０分の１程度のデータ圧縮を実現する技術が記載されている。すなわち、特許文献１には、ニューラルネットワークを用いてオリジナル画像から予測画像イメージを生成し、生成した予測画像イメージとオリジナル画像との相違を取得し、その取得の結果を量子化することに基づいて圧縮することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−４９８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の圧縮方法は、画像の種類の全てに適した圧縮方法ではなかった。ここで、画像の種類の一例としては、写真及びイラスト画像等である。すなわち、従来の画像の圧縮方法では、ある種の画像についてはオリジナルに近い圧縮画像を生成できる場合でも、他種の画像について同じ圧縮処理を実行すると圧縮画像にノイズが発生することがあった。
【０００５】
本発明は、圧縮画像にノイズが発生するのを抑制する画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
画像処理装置は、入力画像に対してＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：離散コサイン変換）を行ってＤＣＴ係数を取得する係数取得部と、係数取得部によって取得されたＤＣＴ係数を量子化して、量子化されたＤＣＴ係数を取得する量子化部と、予め学習されたニューラルネットワークを利用して、量子化部によって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する出力値取得部と、出力値取得部で取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得部と、を備える。この場合、出力値取得部は、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数の値が「０」になる確率と、予め作成された教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるように、ニューラルネットワークに用いる値を学習する。
【０００７】
画像処理装置では、入力画像は、イラスト画像であることが好ましい。
【０００８】
画像処理装置では、係数取得部は、入力画像のＲＧＢをＹＣｂＣｒに変換し、ＹＣｂＣｒに対して所定のピクセル数毎にＤＣＴを行うことが好ましい。
【０００９】
画像処理装置では、画像取得部は、出力値取得部で取得された出力値の出現頻度が相対的により高い値に対して小さい符号を割り当て、出力値の出現頻度が相対的により低い値に対して大きい符号を割り当てる、ハフマン符号化を行うことにより、出力値を圧縮することが好ましい。
【００１０】
画像処理方法では、コンピュータが入力画像に対してＤＣＴを行ってＤＣＴ係数を取得する係数取得ステップと、係数取得ステップによって取得されたＤＣＴ係数を量子化して、量子化されたＤＣＴ係数を取得する量子化ステップと、予め学習されたニューラルネットワークを利用して、量子化ステップによって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する出力値取得ステップと、出力値取得ステップで取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得ステップと、を実行する。この場合、出力値取得ステップでは、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数の値が「０」になる確率と、予め作成された教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるように、ニューラルネットワークに用いる値を学習する学習ステップを実行する。
【００１１】
画像処理プログラムは、コンピュータに、入力画像に対してＤＣＴを行ってＤＣＴ係数を取得する係数取得機能と、係数取得機能によって取得されたＤＣＴ係数を量子化して、量子化されたＤＣＴ係数を取得する量子化機能と、予め学習されたニューラルネットワークを利用して、量子化機能によって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する出力値取得機能と、出力値取得機能で取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得機能と、を実現させる。この場合、出力値取得機能では、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数の値が「０」になる確率と、予め作成された教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるように、ニューラルネットワークに用いる値を学習する学習機能を実現させる。
【発明の効果】
【００１２】
本発明は、圧縮画像にノイズが発生するのを抑制する画像処理装置、画像処理方法及び画像処理プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施形態の画像処理装置について説明するためのブロック図である。
【図２】一実施形態の画像処理方法について説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、本発明の一実施形態を説明する。
図１は、一実施形態の画像処理装置について説明するためのブロック図である。
【００１５】
画像処理装置１は、パーソナルコンピュータ又はサーバ等の情報処理装置である。画像処理装置１には、画像が入力される。画像処理装置１は、圧縮画像を生成し、その圧縮画像を記憶部（図示せず）又はインターネットで接続されるサーバ（図示せず）に記憶する。
具体的には、画像処理装置１は、係数取得部１１と、量子化部１２と、出力値取得部１３と、画像取得部１４と、を備える。
【００１６】
係数取得部１１は、入力画像に対してＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ：離散コサイン変換）を行ってＤＣＴ係数を取得する。
入力画像は、一例としては、イラスト画像又は写真画像等である。イラストは、輪郭が明確である、すなわち、色の変化が大きい。このため、イラスト画像は、周波数が高いと言える。本実施形態の画像処理装置１では、入力画像がイラスト画像であっても、好適に圧縮画像を生成することが可能である。
【００１７】
係数取得部１１は、入力画像のＲＧＢをＹＣｂＣｒに変換し、ＹＣｂＣｒに対して所定のピクセル数毎にＤＣＴを行う。Ｒは赤色、Ｇは緑色、Ｂは青色を表す。Ｙは輝度、Ｃｂは青色成分Ｂと輝度Ｙとの差（Ｂ−Ｙ）は、Ｃｒは赤色成分Ｒと輝度Ｙとの差（Ｒ−Ｙ）を表す。係数取得部１１は、例えば、公知の方法を利用して、ＲＧＢからＹＣｂＣｒに変換する。
係数取得部１１は、ＹＣｂＣｒの成分毎に、予め設定されたピクセル数（予め設定されたマス）毎、一例として、８×８マス毎に、ＤＣＴを行い、ＤＣＴ係数を取得する。ＤＣＴ係数は、上記の一例の８×８マスに、どれくらいの各周波数が含まれているかを表す。
【００１８】
量子化部１２は、係数取得部１１によって取得されたＤＣＴ係数を量子化（圧縮）して、量子化されたＤＣＴ係数を取得する。量子化部１２は、例えば、ＤＣＴ係数を予め取得された量子化テーブルで除算することにより、量子化されたＤＣＴ係数を取得する。
【００１９】
量子化部１２は、一例として、Ｇｕｅｔｚｌｉ等の公知技術内の量子化テーブルの調整方法を利用して、得られる画像の品質に関するスコア（値）がより高品質であることを示す予め設定された閾値よりも高い値を示す量子化テーブルを作成する。
【００２０】
出力値取得部１３は、ニューラルネットワークを利用して、予め学習された結果に基づいて、量子化部１２によって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する。出力値取得部１３は、ニューラルネットワークの一例として、Ｕｎｅｔ等を利用する。
【００２１】
Ｕｎｅｔは、「畳み込み層＋プーリング層」と、「畳み込み層＋ＵＰサンプリング層」と、「畳み込み層＋出力層」とを備える。「畳み込み層」は、入力値に対してフィルタを適用して畳み込み演算を行い、特徴マップを生成する。「プーリング層」は、特徴マップを縮小して、新たな特徴マップを生成する。出力値取得部１３（Ｕｎｅｔ）は、まず、入力されたＤＣＴ係数に対して「畳み込み」及び「プーリング」を繰り返し行う処理（繰返し処理１）により、入力画像の特徴を維持しながら画像を縮小（情報量を圧縮）する。すなわち、繰返し処理１により、入力画像の特徴を明確にすることができる一方、画像が小さくなる。
【００２２】
「ＵＰサンプリング層」は、画像を大きく復元する。出力値取得部１３（Ｕｎｅｔ）は、入力画像に対して「畳み込み」及び「ＵＰサンプリング」を繰り返し行う処理（繰返し処理２）により、画像の特徴を保持しながら画像を大きく復元する。繰返し処理２により、入力画像の特徴が明確のまま、画像を入力画像と同じサイズに戻すことができる。
【００２３】
「出力層」は、上記の繰返し処理１及び繰返し処理２によって得られた特徴に基づいて、確率を算出する。すなわち、出力値取得部１３（Ｕｎｅｔ）は、「畳み込み層＋出力層」の出力により、ＤＣＴ係数に関する特徴を示す確率値を得ることができる。
【００２４】
出力値取得部１３は、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数と、予め作成された教師用のＤＣＴ係数とを比較し、両ＤＣＴ係数の差が最小化されるように、ニューラルネットワークに用いる値を学習する。具体的な学習の処理は、以下の通りである。
【００２５】
すなわち、出力値取得部１３（Ｕｎｅｔ）は、上記の「畳み込み層」で適用するフィルタ（パラメータ）については予め学習を行う。学習は、Ｕｎｅｔの出力と、Ｇｕｅｔｚｌｉの出力（ＤＣＴ係数）とを比較し、両出力が同じになるように、フィルタの値（パラメータ）を調整することにより行う。
【００２６】
すなわち、出力値取得部１３は、予め用意した学習画像（ＤＣＴ係数）を上述したＵｎｅｔに通し、ＤＣＴ係数に関する特徴を示す確率値を予め取得する。一方、出力値取得部１３は、一例として、Ｇｕｅｔｚｌｉ等の公知技術を利用して教師用のＤＣＴ係数を取得する。
【００２７】
Ｇｕｅｔｚｌｉは、まず、入力画像のＲＧＢをＹＣｂＣｒに変換してＤＣＴを行い、ＤＣＴ係数を取得する。次に、Ｇｕｅｔｚｌｉは、量子化テーブルを変化させて、ｂｕｔｔｅｒａｕｇｌｉという人間の知覚特性を考慮した評価指標に対して、十分目標のｂｕｔｔｅｒａｕｇｌｉスコアに近くなるまで変化させる。Ｇｕｅｔｚｌｉは、これにより量子化テーブルを調整する。次に、Ｇｕｅｔｚｌｉは、量子化テーブルに基づいて、ＤＣＴ係数を量子化する。次に、Ｇｕｅｔｚｌｉは、量子化されたＤＣＴ係数を調整と、調整後のＤＣＴ係数に基づいてハフマン符号化を行うことにより画像を圧縮することを繰り返す。ここで、Ｇｕｅｔｚｌｉは、ＤＣＴ係数を調整する処理として、ｂｕｔｔｅｒａｕｇｌｉのスコアと、圧縮後の画像のファイルサイズとから、ｂｕｔｔｅｒａｕｇｌｉのスコアに影響のありそうなＤＣＴ係数を削り、最適なＤＣＴ係数を取得する。すなわち、Ｇｕｅｔｚｌｉは、良い結果が得られるまで圧縮画像の作成を繰り返す。
【００２８】
出力値取得部１３は、上記のＧｕｅｔｚｌｉで圧縮画像の良い結果が得られた時のＤＣＴ係数を取得する。出力値取得部１３は、Ｕｎｅｔを通すことにより得られたＤＣＴ係数の値が「０」になる確率と、Ｇｕｅｔｚｌｉで得られたＤＣＴ係数とを比較し、負の対数尤度が最小になるように、Ｕｎｅｔのフィルタ値（畳み込み層で利用されるフィルタの値）を調整する。すなわち、出力値取得部１３は、尤度関数を定義して、Ｕｎｅｔを通すことにより得られた結果と、教師データとを尤度関数に入力し、尤度関数の出力が最大になるように、換言すると、実装では負の対数尤度が最小になるようにＵｎｅｔを学習する。出力値取得部１３は、フィルタ値の調整によって、Ｕｎｅｔを学習させる。
【００２９】
Ｇｕｅｔｚｌｉは、繰返しの処理を行って、ノイズが少ない圧縮画像を生成している。出力値取得部１３は、Ｇｕｅｔｚｌｉが圧縮画像を生成する過程で調整されたＤＣＴ係数を教師用データとして用いることにより、画像処理装置１で得られる圧縮画像についても、ノイズの少ない画像を生成することが可能になる。
【００３０】
出力値取得部１３は、上記のようにＵｎｅｔ（ニューラルネットワーク）を利用して、予め学習された結果に基づいて、量子化部１２によって量子化されたＤＣＴ係数の値が「０」になる確率を求める。さらに、出力値取得部１３は、求められたＤＣＴ係数の確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する。
【００３１】
これにより、出力値取得部１３は、従来のＧｕｅｔｚｌｉのようにＤＣＴ係数の調整と圧縮画像の生成とを繰り返す必要がなくなり、且つ、Ｕｎｅｔを利用することにより、最適なＤＣＴ係数（より高圧縮な画像を得るためのＤＣＴ係数）を得ることが可能になる。
【００３２】
画像取得部１４は、出力値取得部１３で取得された出力値を圧縮することに基づいて、圧縮画像を得る。画像取得部１４は、出力値取得部１３で取得された出力値の出現頻度が相対的により高い値に対して小さい符号を割り当て、出力値の出現頻度が相対的により低い値に対して大きい符号を割り当てる、一例として、ハフマン符号化を行うことにより、出力値を圧縮する。
【００３３】
符号は、例えば、「０」及び「１」の２値であればよい。画像取得部１４は、ＤＣＴ係数の確率として出現頻度が相対的に高い値には、一例として、符号に「１」を割り当てる。画像取得部１４は、ＤＣＴ係数の確率として次に出現頻度の高い値には、一例として、符号に「０１」を割り当てる。その次に出現頻度の高い値には、一例として、符号に「００１」を割り当てる。さらに、その次に出現頻度の高い値には、一例として、符号に「０００１」を割り当てる。画像取得部１４は、このような処理を繰り返し行い、出現頻度の相対的により高い値により短い符号を割り当てることにより、データを圧縮する。出力画像のデジタルデータは、「０」及び「１」の符号で表すことが可能である。このため、相対的により短い符号が多くなれば、出力画像も相対的により圧縮されることになる。
【００３４】
なお、上述した処理（機能）は、画像処理装置１（コンピュータ）で実行されるプログラムで実現させることが可能である。プログラムは、例えば、光ディスク及びメモリ等の記録媒体に記録されることが可能である。
【００３５】
次に、一実施形態の画像処理方法について説明する。
図２は、一実施形態の画像処理方法について説明するためのフローチャートである。図２は、ニューラルネットワークの学習及び画像圧縮の処理を含めた全体の処理の流れを示す。ニューラルネットワークの学習と、画像圧縮とは、別の処理として実行されることが可能である。すなわち、ニューラルネットワークの学習を行う場合には、ステップＳＴ１の処理のみが実行される。画像を圧縮する場合には、ステップＳＴ２〜ステップＳＴ５の処理が実行される。画像圧縮の処理（ステップＳＴ２〜ステップＳＴ５）は、ニューラルネットワークの学習の処理（ステップＳＴ１）が実行された後に行われる。
【００３６】
上述したように、ニューラルネットワークの学習を行う場合、ステップＳＴ１の処理のみが行われる。
ステップＳＴ１において、出力値取得部１３は、ニューラルネットワーク（一例として、Ｕｎｅｔ）の学習を予め行う。具体的には、出力値取得部１３は、ニューラルネットワークの学習を行う前に、ＤＣＴ係数を取得するための重みの初期化を行う。次に、出力値取得部１３は、学習用画像についてＤＣＴ変換された後、量子化されたものをＵｎｅｔに通し、学習用のＤＣＴ係数の値が「０」になる確率を取得する。また、出力値取得部１３は一例としてＧｕｅｔｚｌｉを用いることにより、教師用画像から教師用のＤＣＴ係数を取得する。出力値取得部１３は、学習用のＤＣＴ係数と教師用のＤＣＴ係数とを比較し、負の対数尤度が最小になるようにＵｎｅｔで用いられるフィルタを調整する。学習の最後の処理として、ＤＣＴ係数の重みの初期化を行う。なお、「重み」は、記憶される。
【００３７】
画像圧縮の処理を実行する場合、ステップＳＴ２から処理は開始する。
ステップＳＴ２において、係数取得部１１には、入力画像が入力される。入力画像は、一例として、インターネット上で公開を希望するイラスト画像等である。なお、入力画像は、イラスト画像に限定されることはなく、例えば、写真画像等であってもよい。係数取得部１１は、ステップＳＴ１で記憶された重みを利用して、入力画像に対してＤＣＴを行って、最適なＤＣＴ係数を取得する。
【００３８】
ステップＳＴ３において、量子化部１２は、ステップＳＴ２で得られたＤＣＴ係数を量子化する。
【００３９】
ステップＳＴ４において、出力値取得部１３は、ステップＳＴ３で取得された量子化されたＤＣＴ係数をニューラルネットワーク（一例として、Ｕｎｅｔ）に通し、ＤＣＴ係数が「０」になる確率を求める。なお、ニューラルネットワーク（一例として、Ｕｎｅｔ）は、ステップＳＴ１において、教師用画像を既に学習している。出力値取得部１３は、求められたＤＣＴ係数が「０」になる確率と、予め設定された閾値とを比較し、確率が閾値以上であれば、ＤＣＴ係数を「０」に設定して出力値を取得する。出力値取得部１３は、確率が閾値未満であれば、ＤＣＴ係数のその確率を維持して、出力値に設定する。
【００４０】
ステップＳＴ５において、画像取得部１４は、ステップＳＴ４で得られた出力値を、一例として、ハフマン符号化に基づいて圧縮することにより、圧縮画像を取得する。圧縮画像の圧縮形式は、種々のものを用いることができ、一例としてＪＰＥＧである。画像取得部１４は、取得された圧縮画像を不図示の記憶部又はインターネットを介して不図示のサーバに記憶する。これにより、閲覧者は、端末を利用して記憶部又はサーバにアクセスすることにより、圧縮画像を閲覧することが可能になる。
【００４１】
次に、本実施形態の効果について説明する。
画像処理装置１は、入力画像に基づいてＤＣＴ係数を取得する係数取得部１１と、係数取得部１１によって取得されたＤＣＴ係数を量子化（圧縮）する量子化部１２と、ニューラルネットワークを利用して、予め学習された結果に基づいて、量子化部１２によって量子化されたＤＣＴ係数の値が「０」になる確率を求め、求められた確率の値が予め設定された閾値以上であればＤＣＴ係数を「０」に設定して、出力値を取得する出力値取得部１３と、出力値取得部１３で取得された出力値を圧縮することに基づいて、圧縮画像を得る画像取得部１４と、を備える。出力値取得部１３は、ニューラルネットワークを予め利用して、学習画像に基づいて取得された学習用の量子化されたＤＣＴ係数と、予め作成された教師用のＤＣＴ係数とを比較し、両ＤＣＴ係数の差が最小化されるように、ニューラルネットワークに用いる値を学習する。
従来のＧｕｅｔｚｌｉを用いた画像圧縮方法では、適切な圧縮画像を得るために処理を繰り返す必要があった。しかし、本実施形態の画像処理装置１は、ニューラルネットワークを利用して、圧縮に用いられるＤＣＴ係数の確率を取得するので、処理をループさせる必要がない。このため、本実施形態の画像処理装置１は、処理の負担及び処理にかかる時間を従来に比べて減少させることができる。
また、教師用のデータには、一例として、Ｇｕｅｔｚｌｉ等による繰返しの処理を行って、ノイズが相対的に少ない圧縮画像を生成するときに用いられるＤＣＴ係数が用いられる。このため、画像処理装置１は、ノイズが相対的に少ない圧縮画像を生成する過程で調整されたＤＣＴ係数を教師用データとして用いるため、画像取得部１４で取得される圧縮画像についても、相対的にノイズの少ない画像を得ることができる。
【００４２】
また、画像処理装置１では、入力画像の一例として、イラスト画像が入力される。
従来のＪＰＥＧでは、色の変化を利用して変化が激しい部分を切り捨てるため、イラストのようにくっきりした線が多い画像は、従来のエンコードではモスキートノイズ及びブロックノイズを発生させやすい。しかし、ＪＰＥＧは高圧縮であり、種々のブラウザにおいて表示させることができるため、イラスト画像の圧縮でもＪＰＥＧを利用したいという要望がある。そこで、上記のような画像処理を行うことにより、イラスト画像においてもノイズの発生を抑制したＪＰＥＧ画像（圧縮画像）を生成することができる。
【００４３】
画像処理装置１では、係数取得部１１は、入力画像のＲＧＢをＹＣｂＣｒに変換し、ＹＣｂＣｒに対して所定のピクセル数毎にＤＣＴを行う。
これにより、画像処理装置１は、ＹＣｂＣｒの成分毎にＤＣＴ変換を行うので、人間が見にくい色相を削減してカラーの圧縮画像を取得することができる。
【００４４】
画像処理装置１では、画像取得部１４は、出力値取得部１３で取得された出力値の出現頻度が相対的により高い値に対して小さい符号を割り当て、出力値の出現頻度が相対的により低い値に対して大きい符号を割り当てる、ハフマン符号化を行うことにより、出力値を圧縮する。
画像処理装置１は、一例としてハフマン符号化を行うことによって、ＪＰＥＧ等の圧縮画像を得ることができる。
【００４５】
なお、上記の本実施形態では、ニューラルネットワークの一例としてＵｎｅｔを利用する例について説明した。しかし、本発明は、この例に限定されることはなく、例えば、完全畳み込みネットワーク等を利用することもできる。
【符号の説明】
【００４６】
１  画像処理装置
１１  係数取得部
１２  量子化部
１３  出力値取得部
１４  画像取得部
【図１】
2020088740.tif 000003
【図２】
2020088740.tif 000004