(57)【要約】【課題】サーバ装置にてＲＡＷ画像を現像処理してクライアント端末にその結果を提供する画像処理システムにおいて、クライアント端末に送信する画像データの容量を低減する。【解決手段】クライアント端末において、入力されたＲＡＷ画像に対して低負荷の現像処理を行ってその結果画像を保存・表示する。その一方で、サーバにおいて、低負荷及び高負荷の現像処理を行い、双方の結果画像の差分画像を生成し、クライアント端末に提供する。そして、クライアント端末において、差分画像に基づき、高負荷の現像処理の結果画像を再現する。【選択図】図３
2022002376.tif 000002
【特許請求の範囲】
【請求項１】
入力されたＲＡＷ画像に対して現像処理を行う現像手段と、
前記現像処理の結果を示す結果画像を保存する保存手段と、
前記ＲＡＷ画像に対し前記現像処理と同じ第一の現像処理を行って得られた結果を示す第一結果画像と、前記ＲＡＷ画像に対し前記現像処理とは異なる第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を取得する取得手段と、
前記保存手段に保存された前記結果画像に対し、取得した前記差分画像を加算することにより更新する更新手段と、
を備え、
前記第二の現像処理は、前記第一の現像処理よりも処理負荷が高い、
ことを特徴とする画像処理装置。
【請求項２】
前記結果画像を表示する表示手段をさらに備え、
前記表示手段にされる前記結果画像は、前記更新手段によって前記更新がなされると、更新後の結果画像に切り替えられる、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記保存手段が保存する前記結果画像及び前記取得手段が取得する前記差分画像は圧縮されており、
前記更新手段は、圧縮されている前記結果画像と前記差分画像を解凍して、前記更新を行う、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記圧縮の形式は、ｊｐｅｇ形式またはＹＵＶ形式の少なくともいずれか一方の形式であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第一の現像処理及び前記第二の現像処理を行う他の装置に対し、前記ＲＡＷ画像と共に現像リクエストを送信する送信手段をさらに備え、
前記取得手段は、前記他の装置から前記差分画像を受信することにより取得する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記送信手段は、ユーザ指示に従って前記差分画像の取得リクエストを前記他の装置に送信し、
前記取得手段は、前記他の装置が前記取得リクエストに応じて送信した前記差分画像を受信することにより取得する、
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記取得手段は、前記差分画像を複数の領域に分割して得られた複数の部分画像のうち、前記差分の大きさが所定の閾値以上である部分画像をその領域情報と共に取得し、
前記更新手段は、取得した前記部分画像とその領域情報に基づいて、前記保存手段に保存された前記結果画像における対応する領域を対象として前記更新を行う、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項８】
前記差分の大きさは、前記第一結果画像及び前記第二結果画像における画素の平均絶対誤差、平均二乗誤差、誤差の絶対値の最大値、誤差の絶対値の最頻値のいずれかを指標として決定されることを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記部分画像は矩形であり、より小さい面積で、前記差分の大きさが所定の閾値以上である画素がより多く包含されるように、そのサイズが調整されていることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記部分画像は、その領域を所定の色空間に従って色成分方向にさらに分割した場合における前記差分が所定の閾値以上である色成分の画像であることを特徴とする請求項７乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記差分画像の各画素は、前記ＲＡＷ画像において自画素に存在しない色成分の情報のみを有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項１２】
前記ＲＡＷ画像は複数のフレームで構成される動画であり、
前記現像手段は、フレーム単位で前記現像処理を行い、
前記保存手段は、フレーム単位で前記結果画像を保存し、
前記取得手段は、前記現像処理と同じ第一の現像処理をフレーム単位で行って得られた結果を示すフレーム単位の第一結果画像と、前記現像処理とは異なる第二の現像処理をフレーム単位で行って得られた結果を示すフレーム単位の第二結果画像との差分を示す、フレーム単位の前記差分画像を取得し、
前記更新手段は、フレーム単位の前記差分画像に基づいて、前記保存手段に保存されたフレーム単位の前記結果画像を更新する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項１３】
前記取得手段は、
フレーム単位の前記差分画像として、前記動画を構成する複数のフレームにおけるキーフレームに対応する差分画像を取得し、
ことを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記キーフレームに対応する差分画像は時系列に圧縮されており、
前記更新手段は、前記時系列に圧縮されている前記キーフレームに対応する差分画像を解凍して、前記保存手段に保存されたフレーム単位の前記結果画像を更新する、
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記現像処理には、少なくともデモザイク処理を含み、
前記第一の現像処理におけるデモザイク処理は、注目する画素に存在しない色成分の情報を補間手法によって推定する処理であり、
前記第二の現像処理におけるデモザイク処理は、学習済みのニューラルネットワークを用いた処理である、
ことを特徴とする請求項１乃至１３のいずれか１項に記載の画像処理装置。
【請求項１６】
入力されたＲＡＷ画像に対して、第一の現像処理及び当該第一の現像処理とは異なる第二の現像処理を行なう現像手段と、
前記第一の現像処理を行って得られた結果を示す第一結果画像と、前記第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を生成する生成手段と、
生成された前記差分画像を、他の装置に送信する送信手段と、
を備え、
前記他の装置では、前記第一の現像処理と同じ現像処理が行われ、
前記第二の現像処理は、前記第一の現像処理よりも処理負荷が高い、
ことを特徴とする画像処理装置。
【請求項１７】
前記差分画像を保存する保存手段をさらに備え、
前記送信手段は、前記他の装置からのリクエストに応じて、前記保存手段に保存されている前記差分画像を読み出して送信する、
ことを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
ＲＡＷ画像を現像する画像処理システムであって、
第一の装置と第二の装置を含み、
前記第一の装置は、
入力されたＲＡＷ画像に対して現像処理を行う現像手段と、
前記現像処理の結果を示す結果画像を保存する保存手段と、
前記ＲＡＷ画像に対し前記現像処理と同じ第一の現像処理を行って得られた結果を示す第一結果画像と、前記ＲＡＷ画像に対し前記現像処理とは異なる第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を取得する取得手段と、
前記差分画像に基づいて、前記保存手段に保存された前記結果画像を更新する更新手段と、
を備え、
前記第二の装置は、
前記第一の装置からＲＡＷ画像を取得する取得手段と、
取得した前記ＲＡＷ画像に対して、前記第一の現像処理及び前記第二の現像処理を行なう現像手段と、
前記第一の現像処理を行って得られた結果を示す第一結果画像と、前記第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を生成する生成手段と、
生成された前記差分画像を、前記第一の装置に送信する送信手段と、
を備え、
前記第二の現像処理は、前記第一の現像処理よりも処理負荷が高い、
ことを特徴とする画像処理システム。
【請求項１９】
入力されたＲＡＷ画像に対して現像処理を行う現像ステップと、
前記現像処理の結果を示す結果画像を保存する保存ステップと、
前記ＲＡＷ画像に対し前記現像処理と同じ第一の現像処理を行って得られた結果を示す第一結果画像と、前記ＲＡＷ画像に対し前記現像処理とは異なる第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を取得する取得ステップと、
前記保存するステップにて保存された前記結果画像に対し、取得した前記差分画像を加算することにより更新する更新ステップと、
を有し、
前記第二の現像処理は、前記第一の現像処理よりも処理負荷が高い、
ことを特徴とする画像処理方法。
【請求項２０】
入力されたＲＡＷ画像に対して、第一の現像処理及び当該第一の現像処理とは異なる第二の現像処理を行なう現像ステップと、
前記第一の現像処理を行って得られた結果を示す第一結果画像と、前記第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を生成する生成ステップと、
生成された前記差分画像を、他の装置に送信する送信ステップと、
を有し、
前記他の装置では、前記第一の現像処理と同じ現像処理が行われ、
前記第二の現像処理は、前記第一の現像処理よりも処理負荷が高い、
ことを特徴とする画像処理方法。
【請求項２１】
ＲＡＷ画像を現像する画像処理システムの制御方法であって、
前記画像処理システムは、第一の装置と第二の装置を含み、
前記第一の装置では、
入力されたＲＡＷ画像に対して現像処理を行う現像ステップと、
前記現像処理の結果を示す結果画像を保存する保存ステップと、
前記ＲＡＷ画像に対し前記現像処理と同じ第一の現像処理を行って得られた結果を示す第一結果画像と、前記ＲＡＷ画像に対し前記現像処理とは異なる第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を取得する取得ステップと、
前記差分画像に基づいて、前記保存ステップにて保存された前記結果画像を更新する更新ステップと、
を実行するように制御し、
前記第二の装置では、
前記第一の装置からＲＡＷ画像を取得する取得ステップと、
取得した前記ＲＡＷ画像に対して、前記第一の現像処理及び前記第二の現像処理を行なう現像ステップと、
前記第一の現像処理を行って得られた結果を示す第一結果画像と、前記第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を生成する生成ステップと、
生成された前記差分画像を、前記第一の装置に送信する送信ステップと、
を実行するように制御し、
前記第二の現像処理は、前記第一の現像処理よりも処理負荷が高い、
ことを特徴とする制御方法。
【請求項２２】
コンピュータを請求項１乃至１７のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＷ画像の現像処理に関する。
【背景技術】
【０００２】
デジタルカメラなどの撮像装置に利用される撮像素子（センサ）にはカラーフィルタが装着され、各画素に特定の波長光を入射する構成となっている。このような撮像装置で撮像して得られた画像（ＲＡＷ画像）を、人間が写真として鑑賞可能なカラー画像に変換する処理を「現像処理」と呼ぶ。一般的に、現像処理の結果に高品質を求めるほどその計算コストは大きくなる。そこで、潤沢な計算リソースを有するサーバを用意し、サーバ上で現像処理を行うことで処理の高速化と品質を両立する方法が知られている。このような処理系では、ユーザは、ＲＡＷ画像データをサーバに送信し、サーバから現像処理の結果を受信して、撮像を行ったデジタルカメラないしはＰＣ（以下、「クライアント端末」と呼ぶ）においてカラー画像を表示することになる。このようにサーバとクライアント端末間で現像結果の画像データをやり取りする場合、クライアント端末上の画面において現像結果をユーザが閲覧可能になるまでに少なからず待ち時間が発生することになる。この待ち時間への対処法として、サーバから現像結果を受信するまでの間、クライアント端末の画面上に縮小されたプレビュー画像を表示する方法が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−９５３５１号公報
【非特許文献】
【０００４】
【非特許文献１】Ｓｙｕ，  Ｎａｉ−Ｓｈｅｎｇ，  Ｙｕ−Ｓｈｅｎｇ  Ｃｈｅｎ，  ａｎｄ  Ｙｕｎｇ−Ｙｕ  Ｃｈｕａｎｇ．  “Ｌｅａｒｎｉｎｇ  ｄｅｅｐ  ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｔｗｏｒｋｓ  ｆｏｒ  ｄｅｍｏｓａｉｃｉｎｇ．”  ａｒＸｉｖ  ｐｒｅｐｒｉｎｔ  ａｒＸｉｖ：１８０２．０３７６９  （２０１８）．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１の技術では、現像結果のデータ量が大きくなるほど送受信に掛かる時間が長くなるところ、特に複数のＲＡＷ画像をサーバ上で一括処理する場合には、本来表示したい現像結果がなかなか表示されないことになる。また、サーバからクライアント端末への送信処理が完了するまでの間、現像結果をサーバにて保持しておく必要があるが、そのデータ量が大きくなるほどサーバの記憶容量を圧迫することになる。
【課題を解決するための手段】
【０００６】
本開示に係る画像処理装置は、入力されたＲＡＷ画像に対して現像処理を行う現像手段と、前記現像処理の結果を示す結果画像を保存する保存手段と、前記ＲＡＷ画像に対し前記現像処理と同じ第一の現像処理を行って得られた結果を示す第一結果画像と、前記ＲＡＷ画像に対し前記現像処理とは異なる第二の現像処理を行って得られた結果を示す第二結果画像との差分を示す差分画像を取得する取得手段と、前記保存手段に保存された前記結果画像に対し、取得した前記差分画像を加算することにより更新する更新手段と、を備え、前記第二の現像処理は、前記第一の現像処理よりも処理負荷が高い、ことを特徴とする。
【発明の効果】
【０００７】
本開示の技術によれば、サーバにてＲＡＷ画像を現像処理してクライアント端末にその結果を提供する画像処理システムにおいて、クライアント端末に送信する画像データの容量を低減することができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理システムの構成の一例を示す図。
【図２】画像処理システム全体の機能ブロック図。
【図３】画像処理システムにおける処理の流れを示すシーケンス図。
【図４】低負荷現像処理の流れを示すフローチャート。
【図５】ＲＡＷ画像における一部の画像領域を示す図。
【図６】クラウドサーバにて行う現像処理の流れを示すフローチャート。
【図７】（ａ）は第一結果画像の一部を拡大した図、（ｂ）は第二結果画像における対応する一部を拡大した図。
【図８】画像を格子状の複数の領域に分割する様子を説明する図。
【図９】（ａ）〜（ｃ）は、矩形領域のサイズ調整処理を説明する図。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１０】
［実施形態１］
本実施形態では、クライアント端末は、現像リクエストと共にＲＡＷ画像のデータをサーバに送信するだけでなく、画質は相対的に劣るが低負荷な現像処理を自装置にて行う。そして、サーバは、クライアント端末から受け取ったＲＡＷ画像に対し、上記低負荷な現像処理と画質は良いが高負荷な現像処理の２種類の現像処理を行い、双方の結果の差分を示す画像（以下、「差分画像」と表記）を生成し、クライアント端末に提供する。そして、クライアント端末は、サーバから受け取った差分画像と自装置で得た低負荷な現像処理の結果とに基づいて、上記高負荷な現像処理の結果を再現する。以下、本実施形態を実現するシステム構成を説明する。
【００１１】
図１は、本実施形態に係る画像処理システムの構成の一例を示す図である。図１に示す画像処理システムでは、クライアント端末としてのＰＣ（以下、「クライアントＰＣ」と表記）１００と、クラウドサーバ２００とがインターネットを介して接続されている。なお、元になるＲＡＷ画像は、撮像装置としてのデジタルカメラ１０で撮像して得るものとする。
【００１２】
＜クライアントＰＣのハードウェア構成＞
本実施形態のクライアントＰＣ１００は、ＲＡＷ画像を、現像・閲覧・編集するための専用アプリケーションがインストールされている情報処理装置である。ユーザは、この専用アプリケーションを利用して、クラウドサーバ２００にＲＡＷ画像（モザイク画像）を送信し、その現像結果（デモザイク画像）を受信して閲覧・編集する。クライアントＰＣ１００は、ＣＰＵ１０１ａ、ＲＡＭ１０２ａ、ＲＯＭ１０３ａ、大容量記憶装置１０４ａ、ネットワークＩ／Ｆ１０５ａ、汎用インタフェース（Ｉ／Ｆ）１０６を有し、各構成要素がシステムバス１０７ａによって相互に接続されている。また、クライアントＰＣ１００は、汎用Ｉ／Ｆ１０６を介して、デジタルカメラ１０、入力装置２０、外部記憶装置３０及び表示装置４０にも接続されている。
【００１３】
ＣＰＵ１０１ａは、ＲＡＭ１０２ａをワークメモリとして、ＲＯＭ１０３ａに格納されたプログラムを実行し、システムバス１０７ａを介してクライアントＰＣ１００の各構成要素を統括的に制御する。また、大容量記憶装置１０４ａは、例えばＨＤＤやＳＳＤであり、クライアントＰＣ１００で取り扱われる種々のデータを記憶する。ＣＰＵ１０１ａは、システムバス１０７ａを介して大容量記憶装置１０４ａへのデータの書き込み及び大容量記憶装置１０４ａに記憶されたデータの読出しを行う。汎用Ｉ／Ｆ１０６は、例えばＵＳＢ、ＩＥＥＥ１３９４、ＨＤＭＩ（登録商標）等のシリアルバスインターフェースである。クライアントＰＣ１００は、汎用Ｉ／Ｆ１０６を介して、外部記憶装置３０（例えば、メモリカード、ＣＦカード、ＳＤカード、ＵＳＢメモリなどの各種記憶媒体）からデータを取得する。また、クライアントＰＣ１００は、汎用Ｉ／Ｆ１０６を介して、マウスやキーボードなどの入力装置２０からのユーザ指示を受け付ける。また、クライアントＰＣ１００は、汎用Ｉ／Ｆ１０６を介して、表示装置４０（例えば液晶ディスプレイなどの各種画像表示デバイス）に、ＣＰＵ１０１ａによって処理された画像データ等を出力する。また、クライアントＰＣ１００は、汎用Ｉ／Ｆ１０６を介して、撮像装置であるデジタルカメラ１０から現像処理の対象となる撮像画像（ＲＡＷ画像）のデータを取得する。ネットワークＩ／Ｆ１０５ａは、インターネットに接続するためのインタフェースである。クライアントＰＣ１００は、インストールされたウェブブラウザによってクラウドサーバ２００にアクセスして、画像データの送受信を行う。
【００１４】
＜クラウドサーバのハードウェア構成＞
本実施形態のクラウドサーバ２００は、インターネット上でクラウドサービスを提供するサーバ装置である。より詳細には、クライアントＰＣ１００から受信したＲＡＷ画像に対して、低負荷と高負荷の２種類の現像処理を行ない、双方の現像処理結果の差分に相当する画像データをクライアントＰＣ１００に提供する。クラウドサーバ２００は、ＣＰＵ１０１ｂ、ＲＯＭ１０２ｂ、ＲＡＭ１０３ｂ、大容量記憶装置１０４ｂ及びネットワークＩ／Ｆ１０５ｂを有し、各構成要素がシステムバス１０７ｂによって相互に接続されている。ＣＰＵ１０１ｂは、ＲＯＭ１０２ｂに記憶された制御プログラムを読み出して各種処理を実行することで、全体の動作を制御する。ＲＡＭ１０３ｂは、ＣＰＵ１０１ｂの主メモリ、ワークエリア等の一時記憶領域として用いられる。大容量記憶装置１０４ｂは、画像データや各種プログラムを記憶するＨＤＤやＳＳＤ等の大容量の二次記憶装置である。ネットワークＩ／Ｆ１０５ｂは、インターネットに接続するためのインタフェースであり、クライアントＰＣ１００のウェブブラウザからのリクエストの受信や画像データの送受信を行う。
【００１５】
なお、クライアントＰＣ１００及びクラウドサーバ２００の構成要素は上記以外にも存在するが、本発明の主眼ではないため、説明を省略する。また、本実施形態では、専用アプリケーションがインストールされたクライアントＰＣ１００から、ＲＡＷ画像の現像処理をクラウドサーバ２００に依頼し、その現像結果（差分画像）をクラウドサーバ２００から受け取って、クライアントＰＣ１００にて現像結果を閲覧・編集することを想定している。しかしながら、上記システム構成は一例であって、これに限定されない。例えば、クライアントＰＣ１００の機能を備えたデジタルカメラ１０から直接にクラウドサーバ２００にアクセスし、ＲＡＷ画像の送信や現像結果の受信を行ってデジタルカメラ１０にて閲覧する構成であってもよい。
【００１６】
＜システム全体の処理の流れ＞
次に、本実施形態の画像処理システムで行われる各種処理について説明する。図２は画像処理システム全体の機能ブロック図、図３は画像処理システムにおける処理の流れを示すシーケンス図である。図２に示す各機能部は、それぞれの機能部に対応するコンピュータプログラムをＣＰＵ１０１／２０１が実行することで実現される。ただし、図２に示す機能部の全部あるいは一部をハードウェアで実装してもよい。以下、図３のシーケンス図に沿って説明する。なお、以下の説明において記号「Ｓ」はステップを意味する。
【００１７】
Ｓ３０１では、クライアントＰＣ１００の入力データ取得部２０１が、現像処理の対象となるＲＡＷ画像のデータをデジタルカメラ１０から取得する。この際、ＲＡＷ画像には、撮像時の様々な条件設定に関する情報（撮影情報）が付加されている。撮影情報に含まれる項目としては、ＩＳＯ感度、シャッター速度、ホワイトバランス、撮影時刻、撮影機種などがある。以下、撮影情報が付加されたＲＡＷ画像のデータを「ＲＡＷデータ」と呼ぶこととする。取得されたＲＡＷデータは、撮影情報抽出部２０２、現像部２０３、送信部２０６に出力される。なお、ＲＡＷデータの取得先は、デジタルカメラ１０でなくてもよく、事前に撮像して記憶しておいたものを外部記憶装置３０から読み出してもよい。続くＳ３０２では、送信部２０６が、入力データ取得部２０１から受け取ったＲＡＷデータを、その現像リクエストと共にクラウドサーバ２００に送信する。
【００１８】
次のＳ３０３〜Ｓ３０５の各処理はクライアントＰＣ１００で実行され、Ｓ３０６〜Ｓ３０８の各処理はそれと並行してクラウドサーバ２００にて実行される。
【００１９】
Ｓ３０３では、クライアントＰＣ１００の現像部２０３は、入力データ取得部２０１から受け取ったＲＡＷデータに対し、現像処理を適用する。現像部２０３における現像処理は、比較的に演算量が少なく処理負荷の低い現像処理（以下、「低負荷現像処理」と呼ぶ。）である。この低負荷現像処理に用いる所定のパラメータ（露出やホワイトバランスなど）は、ＲＡＷデータから抽出された撮影情報に基づいて自動で決定してもよいし、ユーザが別途設定してもよい。図４は、本ステップで行う低負荷現像処理の流れを示すフローチャートである。以下、図４のフローに沿って説明する。
【００２０】
まずＳ４０１では、撮影情報抽出部２０２が、ＲＡＷデータから撮影情報を抽出する。抽出した撮影情報は、結果データ生成部２０４に出力される。次のＳ４０２では、現像部２０３が、低負荷現像処理を実行する。本実施形態の低負荷現像処理には、ホワイトバランス調整、ノイズ除去（低減）、デモザイク、色変換、ガンマ付与の５つの処理で構成される。そして、これら各処理においては、後述するクラウドサーバ２００で行う演算コストの高い現像処理における各処理と比較して、その負荷が同等以下の処理が行われる。なお、現像処理を構成する処理は上記５つの処理に限定されるものではない。ここで、デモザイクについて説明する。デモザイク処理は、ＲＡＷデータに含まれる撮影画像のデータ形式がセンサ出力に準じたデータ形式の場合に、各画素がＲＧＢの成分を持つデータ形式となるように変換する処理である。センサ出力に準じたデータ形式とは、例えば、ベイヤ配列に従って各画素がＲＧＢのいずれか一つの成分を持つデータ形式である。低負荷現像処理におけるデモザイクにおいては、注目する画素について、当該画素に存在しない残り２つの色成分の情報を、例えばバイリニア補間によって推定する。バイリニア補間は、ある欠損画素の値を、周囲８近傍の非欠損画素の値の平均として求める手法である。図５は、ＲＡＷ画像における一部の画像領域を示す図である。例えば、図５に示すような３×３画素の画像領域においてＲ成分だけ保持している中央画素におけるＧ成分の値は、以下の式（１）に示すように、その周囲の４つの画素（ｘ2、ｘ4、ｘ5、ｘ7）が持つＧ成分の平均値として求めることができる。
【００２１】
【数１】
2022002376.tif 000003
【００２２】
同様にＢ成分についても、以下の式（２）に示すように、中央画素の周囲の４つの画素（ｘ1、ｘ3、ｘ6、ｘ8）が持つＢ成分の平均値として求めることができる。
【００２３】
【数２】
2022002376.tif 000004
【００２４】
なお、低負荷現像処理におけるデモザイクには、バイキュービック補間やニアレストネイバーなど、その他の補間手法を用いても構わない。また、画像解析によりエッジ成分を抽出し、平坦領域か否か或いはエッジ方向に応じてバイリニア補間とバイキュービック補間とを切り替えるような処理でもよい。低負荷現像処理の結果である各画素がＲＧＢ成分を持つ画像（結果画像）のデータは、結果データ生成部２０４に出力される。
【００２５】
Ｓ４０３では、結果データ生成部２０４が、現像部２０３から出力された結果画像に、撮影情報抽出部２０２にて抽出された撮影情報を付加して、現像結果データを生成する。この際、上述の結果画像を例えばｊｐｅｇ形式で圧縮した上で撮影情報の付加を行ってもよい。また、圧縮方式はｊｐｅｇ形式に限定されるものではなく、例えばＹＵＶ形式による圧縮でもよい。さらには、ｊｐｅｇ形式による圧縮後の画像に対してさらにＹＵＶ形式の圧縮を行ってもよい。こうして生成された現像結果データは、結果データ保存部２０５に出力される。以上が、Ｓ３０３における現像処理の内容である。図３のフローの説明に戻る。
【００２６】
Ｓ３０４では、結果データ保存部２０５が、結果データ生成部２０４から受け取った現像結果データをＲＡＭ１０２ａ或いは大容量記憶装置１０４ａに保存する。そして、Ｓ３０５では、画像表示部２１０が、結果データ保存部２０５にアクセスして保存中の現像結果データを読み出して、現像結果データ内の結果画像を表示装置４０にプレビュー画像として表示する。
【００２７】
続いて、Ｓ３０６以降のクラウドサーバ２００側での処理について説明する。まず、Ｓ３０６では、クラウドサーバ２００の受信部２１１が、クライアントＰＣ１００から送信されたＲＡＷデータを受信する。次のＳ３０７では、クラウドサーバ２００内の２つの現像部（第一現像部２１３及び第二現像部２１４）において、ＲＡＷデータに対してそれぞれ内容の異なる現像処理が実行される。図６は、本ステップにて行う現像処理の流れを示すフローチャートである。以下、図６のフローに沿って説明する。
【００２８】
まず、Ｓ６０１では、前述のＳ４０１と同様、クラウドサーバ２００の撮影情報抽出部２１２が、受信したＲＡＷデータから撮影情報を抽出する。抽出した撮影情報は、第一現像部２１３及び第二現像部２１４に出力される。
【００２９】
次にＳ６０２では第一現像部２１３が低負荷現像処理を、Ｓ６０３では第二現像部２１４が高負荷現像処理を、Ｓ３０６にて受信したＲＡＷデータに対してそれぞれ実行する。
【００３０】
まず、第一現像部２１３が行う低負荷現像処理（Ｓ６０２）について説明する。第一現像部２１３が行う低負荷現像処理は、上述のＳ３０３で説明した低負荷現像処理と同じである。すなわち、クライアントＰＣ１００の現像部２０３が行ったのと同じ現像処理を第一現像部２１３は実行する。ここで「同じ現像処理」としているが、少なくとも処理内容は一致している必要があるものの、その処理結果までは必ずしも一致している必要はない。例えば、クライアントＰＣ１００の現像部２０３がバイリニア補間によるデモザイク処理を行う場合には、第一現像部２１３におけるデモザイク処理もバイリニア補間によって行う必要がある。しかしながら、その結果までが完全に一致する必要はなく、例えば一部の画素について補間結果の丸め誤差の範囲で差異が生じることは許容される。なお、クラウドサーバ２００には事前に、クライアントＰＣ１００にインストールされている低負荷現像処理用プログラムと同じプログラムを用意しておくものとする。第一現像部２１３における低負荷現像処理の結果画像（以下、「第一結果画像」と呼ぶ）は、差分画像生成部２１５に出力される。
【００３１】
次に、第二現像部２１４が行う高負荷現像処理（Ｓ６０３）について説明する。第二現像部２１４が行う高負荷現像処理は、第一現像部２１３が行う現像処理よりも、処理負荷が高く、より高品質の現像結果が得られる現像処理である。本実施形態の高負荷現像処理は、前述の低負荷現像処理と同様、ホワイトバランス調整、ノイズ除去（低減）、デモザイク、色変換、ガンマ付与の５つの処理で構成される。そして、これら各処理において、前述した低負荷現像処理を構成する各処理と比較して処理負荷が同等以上の処理が行われる。なお、現像処理を構成する処理は上記５つの処理に限定されるものではない。ここで、高負荷現像処理における高計算コストなデモザイクについて説明する。本実施形態では、高負荷現像処理における高負荷なデモザイク処理として、事前に学習済みのニューラルネットワークを用いたデモザイク処理を行う。ニューラルネットワークを用いたデモザイクとしては、例えば畳み込みニューラルネットワーク（ＣＮＮ）ベースのデモザイクネットワークを学習する手法がある（非特許文献１を参照）。この他、例えば画像内の色が類似する領域の情報を参照する手法や、動画像を処理対象とする場合に過去フレームにおける対応する位置の画素ないしは領域の情報を参照する手法を、高計算コストなデモザイク処理として行ってもよい。また、この現像処理で用いるパラメータは、Ｓ６０１で抽出した撮影情報に基づいて決定すればよい。このような高計算コストなデモザイクを含む高負荷現像処理によって得られるＲＧＢ形式の画像は、上述の第一結果画像と同じ画像フォーマット（すなわち、画像サイズなどが同じ）である。なお、本実施形態では、デモザイク以外の残りの４つの処理（ホワイトバランス調整、ノイズ除去（低減）、色変換、ガンマ付与）については、低負荷現像処理（Ｓ４０２）と同じ内容の処理を行うものとする。こうして第二現像部２１４における高負荷現像処理の結果画像（以下、「第二結果画像」と呼ぶ。）は、差分画像生成部２１５に出力される。以上が、Ｓ３０７における現像処理の内容である。図３のフローの説明に戻る。
【００３２】
第一現像部２１３及び第二現像部２１４においてそれぞれの現像処理が完了すると、Ｓ３０８において、差分画像生成部２１５は、受け取った第一結果画像と第二結果画像との差分を抽出し、当該差分を示す画像（差分画像）を生成する。図７の（ａ）は第一結果画像の一部を拡大した図であり、同（ｂ）は第二結果画像における対応する一部を拡大した図である。第二結果画像の方がより高品質な画像であることが分かる。このように第一結果画像と第二結果画像とでは細部において違いがあり、この違い（差分）を画素単位で抽出して差分画像を生成する。得られた差分画像のデータは、画像保存部２１６にてＲＡＭ１０３ｂ等に保存される。なお、保存に先立ち、生成された差分画像に対して、クライアントＰＣ１００における現像処理（Ｓ３０３）で説明したように、さらに圧縮を行ってもよい。この際の圧縮方法は、前述のＳ４０３で適用された圧縮形式と同じものを適用する。第一結果画像と第二結果画像は、大域的な構造が同じで細部のみが異なる画像であることが通常であるところ、差分画像に対して圧縮を行なうことで、双方の結果画像を単体で圧縮するときのデータ量削減効果に比べて、よりデータ量の低減が期待できる。なお、差分画像のデータを一旦保持する理由は、クライアントＰＣ１００に対して好適なタイミングで差分画像のデータを送信可能にするためである。ここで好適なタイミングとは、例えば、クライアントＰＣ１００とクラウドサーバ２００の間の通信状況が良いタイミングや、ユーザが差分画像を必要としたタイミング（後述の取得リクエストを受けたタイミング）である。なお、保存処理をすることなく、生成された差分画像のデータを、クライアントＰＣ１００に対し直ちに送信するように構成してもよい。この場合、データ保存部２１６は不要となる。
【００３３】
Ｓ３０９では、クライアントＰＣ１００のユーザ操作取得部２０７が、差分画像のダウンロード指示を受け付ける。ユーザは、入力装置２０を用いて、ダウンロードしたい差分画像を特定してこの指示を行う。ユーザ操作取得部２０７は、ユーザ指示に係る差分画像の取得リクエストを、送信部２０６を介してクラウドサーバ２００に送信する。なお、取得リクエストは自動的に送信してもよい。例えば、クラウドサーバ２００との通信状態を監視し良好な状態になれば現像結果を未受信分の取得リクエストを送信したり、ユーザが操作画面上で上述のプレビュー画像を拡大する操作を行った場合に当該画像の取得リクエストを送信する、といった具合である。
【００３４】
Ｓ３１０では、クラウドサーバ２００の受信部２１１が、差分画像の取得リクエストを受信する。そして、Ｓ３１１では、クラウドサーバ２００の送信部２１７が、取得リクエストにて指定された差分画像のデータを読み出し、クライアントＰＣ１００に送信する。
【００３５】
Ｓ３１２では、クライアントＰＣの受信部２０８が、クラウドサーバ２００から送られた差分画像のデータを受信する。受信した差分画像のデータは、画像更新部２０９に出力される。そして、Ｓ３１３では、画像更新部２０９が、受け取った差分画像に基づき、結果データ保存部２０５にて保存中の結果画像を更新する。より詳細には、まず、保存中の現像結果データが大容量記憶装置１０４ａ等から結果データ保存部２０５を介して読み出される。そして、読み出された現像結果データ内の結果画像に、クラウドサーバ２００から受け取った差分画像が加算される。このとき、保存中の結果画像や受け取った差分画像が圧縮されている場合には、両画像を解凍した上で、加算が行われる。これにより、第二現像部２１４での高負荷現像処理による第二結果画像が、クライアントＰＣ１００において再現（復元）されることになる。そして、差分画像を加算した後の結果画像が新たな結果画像として現像結果データ内に格納される。すなわち、低負荷現像処理による結果画像が、高負荷現像処理による結果画像によって上書きされることになる。
【００３６】
Ｓ３１４では、画像表示部２１０が、結果データ保存部２０５にアクセスして保存中の現像結果データを読み出し、現在表示中のプレビュー画像に代えて更新後の結果画像を表示装置４０に表示する。すなわち、この段階で、相対的に画質の劣る現像結果から、より高画質な現像結果へと表示が切り替わることになる。
【００３７】
以上が、本実施形態に係る画像処理システムにおける処理の流れである。なお、本実施形態では、低負荷現像処理と高負荷現像処理とでデモザイク処理の内容のみが異なっている例を示したが、ノイズ低減処理や色変換処理など現像処理を構成する複数の処理において処理内容を異ならせてもよい。
【００３８】
＜変形例１＞
次に、現像処理の対象となるＲＡＷ画像が動画である場合の処理を変形例１として説明する。システムの基本的な構成や処理の流れは同じであるため、前述の図３のシーケンス図に沿って、差異点を中心に説明を行うものとする。
【００３９】
まず、複数のフレームが時系列的に並んだ動画形式のＲＡＷ画像（以下、「ＲＡＷ動画」と呼ぶ。）とその撮影情報を含んだＲＡＷデータが取得される（Ｓ３０１）。続いて、取得したＲＡＷデータがクラウドサーバ２００にその現像リクエストと共に送信される（Ｓ３０２）。そして、クライアントＰＣ１００とクラウドサーバ２００のそれぞれにおいて、前述の現像処理が実行される。
【００４０】
クライアントＰＣ１００では、ＲＡＷデータに対し低負荷現像処理が実行される（Ｓ３０３）。この際、ＲＡＷ動画を構成するフレームそれぞれに対して低負荷現像処理が施されることになる。そして、現像後のフレーム単位の結果画像にその撮影情報が付加されて現像結果データして保存され（Ｓ３０４）、当該結果画像が、表示装置４０にプレビュー動画として表示される（Ｓ３０５）。
【００４１】
一方、クラウドサーバ２００では、クライアントＰＣ１００から受信したＲＡＷデータに対し、低負荷現像処理と高負荷現像処理とが並行して実行される（Ｓ３０６、Ｓ３０７）。この際も、ＲＡＷ動画を構成するフレーム単位で、双方の現像処理が施されることになる。そして、両現像処理の結果に基づき、差分画像生成部２１５が、差分画像をフレーム単位で生成する（Ｓ３０８）。この際、本変形例では、第二現像部２１４から入力された第二結果画像に含まれる各フレームを時系列圧縮し、例えばＭＯＶ形式の動画データとする。なお、時系列圧縮には、ＭＰＥＧ形式やＡＶＩ形式といった他の形式を用いても構わない。そして、圧縮時にはキーフレームのみについて、差分画像への置き換えを行う。これにより、キーフレームのデータ量を削減し、時系列圧縮の結果全体としてもデータ量を削減できる。
【００４２】
続いて、差分画像の取得リクエストをクライアントＰＣ１００から受信すると（Ｓ３０９、Ｓ３１０）、クラウドサーバ２００は、差分画像を含む時系列圧縮された動画データをクライアントＰＣ１００に送信する（Ｓ３１１）。クラウドサーバ２００から上記動画データを受信したクライアントＰＣ１００では、画像更新部２０９において、結果画像の更新処理が行われる（Ｓ３１２、Ｓ３１３）。本変形例では、キーフレームの差分画像を含む動画データは上述のとおり時系列圧縮されているので、時系列解凍されたものが画像更新部２０９に入力されることになる。そして、画像更新部２０９では、結果データ保存部２０５から現像結果データを読み出し、そのフレーム群の内、キーフレームに対してのみ差分画像を加算する。残りのフレームは、時系列圧縮された動画データ中の対応するフレームで置き換える。そして、置き換え後のフレーム群を、ＭＯＶ形式の動画に変換し、当該変換後の動画が、新たな結果画像として現像結果データ内に格納される。そして、画像表示部２１０によって、更新後の現像結果データが読み出され、動画による新たな結果画像が表示装置４０に表示される。
【００４３】
以上が、本変形例に係る画像処理システムにおける処理の流れである。なお、本変形例では、キーフレームのみを差分画像に置き換えて保持する例を示したが、それ以外のフレームについても差分画像と置き換えて保持するように構成しても構わない。例えば、全フレームを差分画像に置き換えた動画（差分動画）を生成してもよい。この場合、画像更新部２０９では、更新前の結果画像における各フレームと差分動画における各フレームとを比較し、フレーム毎に両者の和を取ることで、高画質な現像結果を得ることができる。また、本変形例では処理対象となる動画単位で各ブロック間のデータの受け渡しを行う例を示したが、受け渡すデータの単位を小さくしても構わない。例えば、動画を短く分割したり、フレーム１枚単位に分離したりして、データの受け渡しと画像処理を順次行ってもよい。
【００４４】
＜変形例２＞
次に、差分画像を複数の領域に分割し、差分の大きい領域に対応する部分画像のみを保持・送受信することによってデータ量を削減する態様を変形例２として述べる。なお、変形例１と同様、システムの基本的な構成や処理の流れは同じであるため、前述の図３のシーケンス図に沿って、差異点を中心に説明を行うこととする。
【００４５】
Ｓ３０１〜Ｓ３０７の各処理は、特に異なるところはないので説明を省く。２種類の現像処理が完了した後、本変形例の差分画像生成部２１５は、第一結果画像と第二結果画像との差分を表す差分画像を生成すると、さらに当該差分画像を格子状に分割した上で、差分が大きい領域の部分画像のみを抽出する（Ｓ３０８）。図８は、画像を格子状の複数の領域に分割する様子を説明する図である。なお、図８では、説明の便宜上、差分画像の代わりに第二結果画像を用い、当該画像８００上に格子を重畳表示している。差分画像生成部２１５は、分割された矩形領域８０１毎にその差分の大きさを評価し、閾値以上の差分を持つ領域（図中、黒枠で示す矩形領域）８０２から成る矩形領域群８０３を抽出する。差分の大きさは、第一結果画像及び第二結果画像における画素の平均絶対誤差、平均二乗誤差、誤差の絶対値の最大値、誤差の絶対値の最頻値などを指標として評価すればよい。そして、本変形例では、抽出された矩形領域群８０３の各矩形領域に対し、さらにサイズ調整処理を加えている。図９の（ａ）〜（ｃ）は、矩形領域のサイズ調整処理を説明する図である。図９（ａ）はサイズを縮小する場合の説明図である。図９（ａ）において、矩形領域９０１は、差分の大きさが閾値以上と判定された画素群９０１ａを包含している。この矩形領域９０１に対して矩形領域サイズを縮小させる処理を行い、矩形領域９０２のようにより小さい面積で画素群９０１ａを包含できるようにする。一方、図９（ｂ）はサイズを拡大する場合の説明図である。図９（ｂ）において、矩形領域９１１は、差分の大きさが閾値以上と判定された３つの画素群９１０ａ〜９１０ｃのうち画素群９１０ａのみを包含している。矩形領域９１１のように、差分の大きさが閾値以上と判定された画素群が自身の周囲に存在する場合、そのサイズを拡大して。それら画素群が包含されるようにする。これを実現するために、図９（ｃ）に示すように、複数のサイズ・アスペクト比の矩形領域の候補を順に試し、より小さい面積で周辺の画素群を包含可能な矩形領域を選択する。その結果、図９（ｂ）に示すように、最も面積が小さい矩形領域９１２にそのサイズを変更する。なお、矩形領域サイズの決定方法は候補からの選択制でなくてもよく、探索によりサイズを伸縮させるなどの方法で決定してもよい。こうしてサイズ調整が施された矩形領域に対応する部分画像には、領域の位置と大きさを示す情報（領域情報）、ここでは、矩形領域の左上の座標と縦横の画素数（ｘ，ｙ，ｄｘ，ｄｙ）の情報が付与される。なお、領域情報の記述法はこの形式に限らない。例えば、各矩形領域の左上と右下の２点を示す位置座標（ｘ_UL，ｙ_UL，ｘ_DR，ｙ_DR）でもよい。或いは複数の矩形領域に対応するマスク画像の形式で特定しても構わない。また、矩形領域のサイズや配置が画一的である場合には、各矩形領域にその位置を表すＩＤを与え、そのＩＤを領域情報として利用しても構わない。こうして領域情報が付与された部分画像のデータが、データ保存部２１６によって保存される。
【００４６】
続いて、差分画像の取得リクエストをクライアントＰＣ１００から受信すると（Ｓ３０９、Ｓ３１０）、クラウドサーバ２００は、上記部分画像のデータをクライアントＰＣ１００に送信する（Ｓ３１１）。クラウドサーバ２００から上記部分画像のデータを受信したクライアントＰＣ１００では、画像更新部２０９において、結果画像の更新処理が行われる（Ｓ３１２、Ｓ３１３）。本変形例では、受け取った部分画像に付与されている領域情報を参照して、更新前の現像結果における対応する位置に、各部分画像の画素値を加算する。こうして部分画像が加算された更新後の結果画像が新たな結果画像として現像結果データ内に格納される。そして、画像表示部２１０によって、更新後の現像結果データが読み出され、新たな結果画像が表示装置４０に表示される。
【００４７】
以上が、本変形例に係る画像処理システムにおける処理の流れである。本実施例によれば、クラウドサーバとクライアントＰＣとの間で送受信するデータの容量をさらに削減することができる。なお、本変形例では、差分画像を格子状に領域分割する例を示したが、分割法はこれだけには限らない。例えば、矩形以外の形状で分割を行ったり、セグメンテーションにより領域分割を行ったりしてもよい。また、本変形例では空間方向に差分画像を分割する例を示したが、色成分方向に分割を行ってもよい。例えば、複数の矩形領域に分割した後に、各矩形領域をさらにＲＧＢ色空間に従った３つの色成分（ｒ，ｇ，ｂ）或いはＬ*ａ*ｂ*色空間に従った３つの色成分（Ｌ，ａ，ｂ）に分割してもよい。この際の分割は、差分画像を所与の色空間に変換してから行う。そして、差分の大きい色成分のみを出力するようにすればよい。
【００４８】
＜変形例３＞
さらに、差分画像の各画素において、自画素が元々有さない色成分の情報のみを持たせるようにしてもよい。例えば前述の図５において、画像中央のＲ画素については、Ｇ成分とＢ成分の情報のみを保持するようにする。この場合、画像更新部２０９では、受け取った差分画像に基づいて、入力ＲＡＷ画像には存在しなかった色成分の画素値を、各画素において加算することになる。これにより、クラウドサーバ２００で保持・送信するデータ量をさらに削減することができる。
【００４９】
以上のとおり本実施形態によれば、サーバにてＲＡＷ画像を現像処理してクライアント端末にその結果を提供する画像処理システムにおいて、サーバ上で保持する画像データや、サーバからクライアントへ送信する画像データの容量を低減することができる。
【００５０】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2022002376.tif 000005
【図２】
2022002376.tif 000006
【図３】
2022002376.tif 000007
【図４】
2022002376.tif 000008
【図５】
2022002376.tif 000009
【図６】
2022002376.tif 000010
【図７】
2022002376.tif 000011
【図８】
2022002376.tif 000012
【図９】
2022002376.tif 000013