(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】画像処理システム
(51)【国際特許分類】
H04N 21/2343 20110101AFI20240508BHJP
H04L 67/00 20220101ALI20240508BHJP
H04N 21/238 20110101ALI20240508BHJP
H04N 21/24 20110101ALI20240508BHJP
【FI】
H04N21/2343
H04L67/00
H04N21/238
H04N21/24
(21)【出願番号】P 2020007824
(22)【出願日】2020-01-21
【審査請求日】2023-01-18
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】三河 拓馬
【審査官】大西 宏
(56)【参考文献】
【文献】特開2010-098465(JP,A)
【文献】特開2012-231488(JP,A)
【文献】特開2013-219589(JP,A)
【文献】特開2015-179910(JP,A)
【文献】特開2016-082309(JP,A)
【文献】特開2019-029819(JP,A)
【文献】国際公開第2015/125405(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/00 -21/858
H04L 67/00 -67/75
(57)【特許請求の範囲】
【請求項1】
クライアントと通信可能なサーバであって、
前記クライアントから現像パラメータを受信する受信手段と、
前記クライアントから動画の再生に関する情報を取得する取得手段と、
前記現像パラメータに従ってRAW動画の現像処理を行う現像処理手段と、
前記現像処理によって前記RAW動画が現像されたデータを前記クライアントに送信する送信手段と、を有し、
前記取得手段により取得された情報が、動画の再生に関する情報である場合、前記現像処理手段は現像速度を優先した第一の現像処理を実行して前記RAW動画を現像するとともに、前記送信手段は、前記第一の現像処理によって前記RAW動画が現像されたデータを第一の送信方法で送信し、
前記取得手段により取得された情報が、動画の一時停止に関する情報である場合、前記現像処理手段は画質を優先した第二の現像処理を実行して前記RAW動画を現像するとともに、前記送信手段は、前記第二の現像処理によって前記RAW動画が現像されたデータを第二の送信方法で送信する
ことを特徴とするサーバ。
【請求項2】
前記取得手段により取得された情報が、動画の一時停止に関する情報であっても、前記クライアントとの通信速度が所定の速度に満たない場合、前記現像処理手段は現像速度を優先した第一の現像処理を実行して前記RAW動画を現像するとともに、前記送信手段は、前記第一の現像処理によって前記RAW動画が現像されたデータを第一の送信方法で送信することを特徴とする請求項1に記載のサーバ。
【請求項3】
前記クライアントに対してファイルリストを送信する手段をさらに有し、
前記クライアントから受信する現像パラメータは前記ファイルリストのうちの一つのファイルに対する現像パラメータであることを特徴とする請求項1に記載のサーバ。
【請求項4】
前記第一の送信方法はストリーミング送信であり、前記第二の送信方法はデータを1つの画像データとして送信する方法であることを特徴とする請求項1に記載のサーバ。
【請求項5】
クライアントと通信可能であるサーバの制御方法であって、
前記クライアントから現像パラメータを受信する受信ステップと、
前記クライアントから動画の再生に関する情報を取得する取得ステップと、
前記現像パラメータに従ってRAW動画の現像処理を行う現像処理ステップと、
前記現像処理によって前記RAW動画が現像されたデータを前記クライアントに送信する送信ステップと、を有し、
前記取得ステップで取得された情報が、動画の再生に関する情報である場合、前記現像処理ステップでは現像速度を優先した第一の現像処理を実行して前記RAW動画を現像するとともに、前記送信ステップでは、前記第一の現像処理によって前記RAW動画が現像されたデータを第一の形式に圧縮してストリーミング送信し、
前記取得ステップで取得された情報が、動画の一時停止に関する情報である場合、前記現像処理ステップでは画質を優先した第二の現像処理を実行して前記RAW動画を現像するとともに、前記送信ステップでは、前記第二の現像処理によって前記RAW動画が現像されたデータの一部を第二の形式に圧縮してファイル送信する
ことを特徴とするサーバの制御方法。
【請求項6】
コンピュータを請求項1乃至4のいずれか1項に記載のサーバの各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアントから受信した再生情報に応じてRAW動画に現像処理を施してクライアントに送信する技術に関する。
【背景技術】
【0002】
サーバに記録された動画を再生するための方法として、サーバからクライアントに動画をストリーミング配信する方法が一般的に利用されている。このようなストリーミング配信では、様々な伝送環境において適切な画質で動画を配信できるように、複数の伝送速度用に符号化されたストリームデータをサーバが予め蓄積することで対応している。
【0003】
特許文献1に記載されたサーバは、伝送速度を計算して、伝送速度に応じたストリームデータを選択してクライアントに伝送する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の構成は、H.264やHEVCなどでエンコードされた、一般的な動画像データを扱う場合に効果を発揮する。しかしながら、サーバ装置がRAW動画を扱う場合には、RAW動画の特徴を生かすことが難しいという問題があった。
【0006】
RAW動画は、動画の各フレームデータとしてRAW画像を記録した動画であり、RAW画像はベイヤ配列の撮像素子から得られるRAWデータを記録したデータある。RAW画像から再生可能な画像データを得るためにはRAW画像を現像処理する必要があり、RAW画像の現像処理に用いるパラメータ(現像パラメータ)の値によって、画像データの色相、明度、ホワイトバランス等が決まる。
【0007】
ユーザは現像パラメータの値の設定を調整して、自分の求める色相や明度を合わせこむ作業を行う。
【0008】
従って、サーバがRAW動画を扱う場合、RAW動画の現像パラメータの設定値によって表示する画像データ自体が変わるため、あらかじめエンコードした動画を用意しておく構成だとユーザのRAW現像設定を反映した動画を確認できないという問題があった。また、RAW現像設定を高画質な表示で確認したい場合に、伝送速度によっては画質が満足できないという問題もあった。
【課題を解決するための手段】
【0009】
上記課題を解決するために、本発明のサーバは、クライアントと通信可能なサーバであって、前記クライアントから現像パラメータを受信する受信手段と、前記クライアントから動画の再生に関する情報を取得する取得手段と、前記現像パラメータに従ってRAW動画の現像処理を行う現像処理手段と、前記現像処理によって前記RAW動画が現像されたデータを前記クライアントに送信する送信手段と、を有し、前記取得手段により取得された情報が、動画の再生に関する情報である場合、前記現像処理手段は現像速度を優先した第一の現像処理を実行して前記RAW動画を現像するとともに、前記送信手段は、前記第一の現像処理によって前記RAW動画が現像されたデータを第一の送信方法で送信し、前記取得手段により取得された情報が、動画の一時停止に関する情報である場合、前記現像処理手段は画質を優先した第二の現像処理を実行して前記RAW動画を現像するとともに、前記送信手段は、前記第二の現像処理によって前記RAW動画が現像されたデータを第二の送信方法で送信することを特徴とする。
【発明の効果】
【0010】
本発明により、サーバにあるRAW動画を適切に現像して送信することが可能となる。
【図面の簡単な説明】
【0011】
【
図1】本実施形態にかかるRAW動画現像システムのクライアントの構成を示すブロック図である。
【
図2】本実施形態にかかるRAW動画現像システムの全体の概要を示した図である。
【
図3】本実施形態にかかるRAW動画処理手順を示すフロー図である。
【
図4】本実施形態にかかるRAW現像処理手順を示すフロー図である。
【
図5】本実施形態にかかる再生方法、現像処理の決定処理手順を示すフロー図である。
【発明を実施するための形態】
【0012】
以下に、本発明の実施形態について、添付の図面を用いて詳細に説明する。
【0013】
なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。
【0014】
本実施形態は、RAW動画の現像処理を行うサーバと、RAW動画のパラメータ設定や再生操作を行うクライアントが、通信ネットワークで接続したRAW動画現像システム(画像処理システム)である。
【0015】
クライアントは、ユーザがRAW動画に関する操作を行うアプリケーションプログラムに従って動作する。サーバは、クライアントからの指示に応じてRAW現像処理を行い、RAW現像結果をクライントに送信するプログラムに従って動作する。
【0016】
本実施形態で扱うRAW動画は、色深度が12bitであり、動画の各フレームデータとしてRAW画像を非圧縮で記録したRAW動画である。なお、圧縮したRAW動画などの他の形態のRAW動画であっても、本発明は適用可能である。
【0017】
(システム全体の説明)
図2は、本実施形態のRAW動画現像システム全体の概要を示す図である。
図2に示すように、RAW動画現像システムは、クライアント210、通信ネットワークとしてのインターネット220、サーバ230、ストレージ240で構成される。クライアント210とサーバ230は、インターネット220を介して接続される。また、サーバ230は、ストレージ240と接続される。なお、ストレージ240は、
図2に示すようにサーバ230の外部に設けられるストレージでもサーバ230の内部に設けられるストレージであってもよい。
【0018】
クライアント210には、現像パラメータ設定とRAW動画再生を行うRAW動画処理プログラムが保存されている。
【0019】
サーバ230には、RAW動画の現像処理を行うRAW現像処理プログラムが保存されている。
【0020】
RAW現像処理プログラムが可能な現像処理は、少なくとも高画質現像処理と高速現像処理の2種類があり、高画質現像処理は12bitでの現像処理を行う。高速現像処理は8bitでの現像処理を行う。また、高速現像処理ではノイズリダクション処理を簡易版で実行することで、高画質現像処理と比較して高速に現像できるものとなっている。つまり、逆に言うと、高画質現像処理は高速現像処理と比較して低速の現像処理であり、高速現像処理は高画質現像処理と比較して低画質の現像処理である。
【0021】
ストレージ240には、RAW動画ファイルが保存されている。
【0022】
各プログラムの詳細については、後述する。
【0023】
(クライアントの説明)
図1は、クライアント210の構成を示すブロック図である。クライアント210は、PCとPC上で動作するプログラムで実現する。
【0024】
図1において、190がクライアント210となる。101はクライアント210全体を制御する制御部であり、例えばCentral Processing Unit(CPU)である。102は変更を必要としないプログラムやパラメータを格納するRead Only Memory(ROM)である。103は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory(RAM)である。
【0025】
104はクライアント210に固定して設置されたハードディスクやメモリカード、あるいはコンピュータ装置100から着脱可能なフロッピーディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカードなどを含む外部記憶装置である。外部記憶装置104は、プログラムや画像ファイルなどのデジタルデータを記録することが出来る。外部記憶装置104には、後述するRAW動画処理プログラムが制御部101に読み取り可能なプログラムコードとして記録されており、このプログラムコードを制御部101が実行する構成となっている。
【0026】
105はユーザの操作を受け、データを入力するポインティングデバイス(マウス)やキーボード109などの入力デバイスとのインターフェースである。106はコンピュータ装置100の保持するデータや供給されたデータを表示するためのディスプレイ110とのインターフェースである。
【0027】
107はインターネットなどのネットワーク回線113に接続するためのネットワークインターフェースである。ネットワーク回線を通して、サーバ230と接続される。
【0028】
108は101~107の各ユニットを通信可能に接続するシステムバスである。
【0029】
本実施形態では、外部記憶装置104にRAW動画処理プログラムが記録されている例を示すが、プログラムがROM102やネットワーク上にある場合であっても、本発明は適用可能である。
【0030】
次に、本実施形態に係るクライアントの動作について説明する。
【0031】
図3は、
図1における制御部101によって実行されるRAW動画処理プログラムの手順を示すフローチャートである。
【0032】
制御部101はステップS300で、RAW動画処理プログラムの初期画面表示を行う。一般的なアプリと同様に、ウィンドウ表示(図示省略)をする処理である。
【0033】
UIとしては、終了ボタン、ファイル指定ボタン、再生コントロール、表示サイズ設定コントロール、現像パラメータ設定コントロールがある。ファイルが何も選択されていない状態の場合には、終了ボタンとファイル指定ボタン以外は操作不可となる。なお、プログラム起動直後はファイルが選択されていない状態となる。
【0034】
制御部101はステップS302で、サーバ230との通信速度の計測を行う。計測方法は一般的な方法で良い。
【0035】
制御部101はステップS305で、サーバ230に対してファイルリスト要求を行い、読み込み可能なRAW動画ファイルリストをサーバ230から取得する(サーバにファイルリスト要求)。この時、クライアント210とサーバ230はインターネットで接続される。
【0036】
制御部101はステップS310で、現像するRAW動画ファイルの指定を行う。制御部101は、ディスプレイ110上にファイル指定コントロール(図示省略)を表示する。ファイル指定コントローラには、ステップS305で取得したRAW動画ファイルリストを表示する。これによってユーザは、ストレージ240内にあるRAW動画ファイルの選択が可能となる。ファイル設定コントロールは例えばOS(Operating System)に標準で用意されているファイルオープンダイアログを使用する構成であり、1つの画像ファイルを選択できる構成になっている。
【0037】
また制御部101はステップS310で、ユーザが選択したファイルのファイル名を、サーバで対象とするRAW動画ファイルのファイル名として送信する(サーバにファイル名設定)。
【0038】
また制御部101はステップS310で、ファイル名を指定処理後に、すべてのボタンを選択可能状態に設定する。
【0039】
制御部101はステップS315で、現像パラメータ設定コントロール(図示省略)のユーザ操作に応じて、現像パラメータ値を設定する処理である。本実施形態で設定可能な現像パラメータは、ホワイトバランス、明るさ、コントラスト、ノイズリダクションの設定とする。もちろんそれ以外が設定できるのでもよい。なお、ユーザが何も操作しなかった場合は、このステップは何も処理せずに次のステップに移動する。
【0040】
制御部101はステップS320で、再生コントロール(図示省略)のユーザ操作に応じて、再生状態を設定する処理である。ユーザが操作可能な再生操作としては、動画のプレイ(再生)とポーズ(停止)がある。なお再生コントロールとして、再生スライダーなどのインターフェースを適用することができる。
【0041】
ユーザが再生コントロールを操作してプレイ操作をした場合には、再生状態情報をプレイ状態に設定する。ユーザが再生コントロールを操作してポーズ操作をした場合には、再生状態情報をポーズ状態に設定する。
【0042】
なお、ユーザが何も操作しなかった場合は、このステップは何も処理せずに再生状態情報を維持して次のステップへ移動する。
【0043】
制御部101はステップS325で、表示サイズ設定コントロール(図示省略)のユーザ操作に応じて、表示サイズ情報を設定する処理である。ユーザが選択可能な表示サイズは、100%表示、50%表示、25%表示、の3種類とする。もちろんそれ以外の表示サイズが選択できても良い。
【0044】
なお、ユーザが何も操作しなかった場合は、このステップは何も処理せずに、表示サイズ情報を維持して次のステップへ移動する。
【0045】
制御部101はステップS330で、再生情報を作成する処理を行う。再生情報は、再生状態情報、送信動画情報、通信速度情報から構成される。ここで、再生状態情報はクライアントにおける動画の再生状態を示す情報、送信動画情報はクライアントへの動画の送信形態を示す情報、通信速度情報は通信ネットワークにおける通信速度を示す情報である。なお、再生情報は、それ以外の情報を含んでもよい。
【0046】
制御部101はステップS330で、再生情報として、ステップ320で設定された再生状態情報を設定する。また制御部101はステップS330で、送信動画情報として、ステップS325で設定された表示サイズ情報を設定する。通信速度情報は、ステップS302で計測した通信速度の情報を設定する。
【0047】
本実施形態では、送信動画情報として表示サイズ情報を設定する例を示したが、それ以外の構成でも良い。例えば、画像サイズではなく、動画のビットレートや動画の画質(品質)を設定するような構成でも良い。
【0048】
制御部101はステップS335で、現像パラメータと再生情報を、それぞれサーバに送信する処理を行う。
【0049】
制御部101はステップS340で、サーバに画像データを要求し、現像済みの画像データをサーバから受信する処理を行う。
【0050】
この時サーバからの画像データの送信が、ストリーミング形式としての送信か、又は1フレームの画像データとして送信か、を示す情報(送信方法情報)も併せて取得する。
【0051】
制御部101はステップS345で、ステップS340で取得した画像データを表示する処理を行う。
【0052】
ストリーミングで受信した場合には、ストリーミングに関する処理を行い表示する。1フレームの画像データで取得した場合には、その画像データを表示する処理を行う。
【0053】
制御部101はステップS350で、ユーザによってファイル指定ボタンが押されたかどうかの判断を行う。もしボタンが押された場合は、処理をステップS355に移す。ボタンが押されなかった場合は、処理をステップS360に移す。
【0054】
ステップS355は、ファイル指定ボタンが押された場合に処理が移ってくる。制御部101はステップS355で、動画再生をポーズ状態にするために、再生情報の再生状態情報をポーズ状態に設定して、再生情報をサーバに送信する。そのあとで処理をステップS302に移し、改めてファイル指定の処理から開始できるようにする。
【0055】
制御部101はステップS360で、ユーザによって終了ボタンが押されたかどうかの判断を行う。もしボタンが押された場合は、プログラムを終了する。ボタンが押されなかった場合には、処理をステップS315に移し、再生処理を繰り返す。
【0056】
ステップS315からステップS360を繰り返すことで、現像パラメータの設定が反映された画像データをクライアント側で再生表示できるようになる。なお、ステップS315からステップS345の1回の処理が1フレームの画像表示の更新であり、この処理を何度も繰り返すことで、動画として画像を更新表示する処理となる。
【0057】
(サーバの説明)
本実施形態のRAW現像サーバはワークステーションを用いる。サーバの構成はクライアントと同様のため、
図1を用いて説明する。本実施形態のサーバ230は、ワークステーションとワークステーション上で動作するプログラムで実現する。
【0058】
図1において、190がサーバ230となる。101はサーバ230全体を制御する制御部であり、例えばCentral Processing Unit(CPU)である。102は変更を必要としないプログラムやパラメータを格納するRead Only Memory(ROM)である。103は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory(RAM)である。
【0059】
104はサーバ230に固定して設置されたハードディスクやメモリカード、あるいはコンピュータ装置100から着脱可能なフロッピーディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカードなどを含む外部記憶装置である。外部記憶装置104は、プログラムや画像ファイルなどのデジタルデータを記録することが出来る。特に本実施形態の外部記憶装置104には、後述するRAW現像処理プログラムが制御部101に読み取り可能なプログラムコードとして記録されており、このプログラムコードを制御部101が実行する構成となっている。
【0060】
105はユーザ(サーバ管理者)の操作を受け、データを入力するポインティングデバイス(マウス)やキーボード109などの入力デバイスとのインターフェースである。106はコンピュータ装置100の保持するデータや供給されたデータを表示するためのディスプレイ110とのインターフェースである。
【0061】
107はインターネットなどのネットワーク回線113に接続するためのネットワークインターフェースである。ネットワーク回線を通して、クライアント210と接続される。また本実施形態のサーバ230は、ネットワーク回線を通して、ストレージ240と接続される。なお本実施形態では、サーバとストレージの接続をネットワーク回線とするが、それ以外の方法で接続されるのでも良い。もちろん、RAW動画ファイルが、外部記憶装置104に記録されているのでも良い。
【0062】
108は101~107の各ユニットを通信可能に接続するシステムバスである。
【0063】
本実施形態では外部記憶装置104にRAW現像処理プログラムが記録されている例を示すが、プログラムがROM102やネットワーク上にある場合であっても、本発明は適用可能である。
【0064】
次に、本実施形態に係るサーバの動作について説明する。
【0065】
図4は、
図1における制御部101によって実行されるRAW現像処理プログラムの手順を示すフローチャートである。
【0066】
制御部101はステップS400で、RAW現像処理プログラムがクライアントから何か要求があったかどうかの判断を行う。
【0067】
クライアントからの要求があった場合には、処理をステップS405に移す。要求がなかった場合には、処理をステップS485に移す。
【0068】
ステップS405は、クライアントから何らかの要求があった場合に処理が移ってくる。
【0069】
制御部101はステップS405で、クライアントからの要求が、ファイルリスト要求かどうかを判断する。もしファイルリスト要求だった場合には、処理をステップS410に移す。別の要求だった場合には、処理をステップS420に移す。
【0070】
制御部101はステップS410で、ストレージ240に記録されているRAW動画ファイルのファイルリストを取得する。
【0071】
制御部101はステップS415で、ストレージ240に記録されているRAW動画ファイルのファイルリストを、クライアント210に送信する。
【0072】
制御部101はステップS420で、クライアントからの要求が、ファイル名設定かどうかを判断する。もしファイル名設定だった場合には、処理をステップS425に移す。別の要求だった場合には、処理をステップS430に移す。
【0073】
制御部101はステップS425で、現像対象となるRAW動画ファイルのファイル名を受信し、内部的に保持する処理を行う。対象とするRAW動画ファイルが更新された場合には、RAW動画の現像対象フレームは先頭に設定する。
【0074】
制御部101はステップS430で、クライアントからの要求が、再生情報設定かどうかを判断する。もし再生情報設定だった場合には、処理をステップS435に移す。別の要求だった場合には、処理をステップS445に移す。
【0075】
制御部101はステップS435で、クライアントから再生情報を受信し、内部的に保持する処理を行う。
【0076】
制御部101はステップS445で、クライアントからの要求が、現像パラメータ設定かどうかを判断する。もし現像パラメータ設定だった場合には、処理をステップS450に移す。別の要求だった場合には、処理をステップS455に移す。
【0077】
制御部101はステップS450で、クライアントから現像パラメータ情報を受信し、内部的に保持する処理を行う。
【0078】
制御部101はステップS455で、クライアントからの要求が、画像データかどうかを判断する。もし画像データだった場合には、処理をステップS460に移す。別の要求だった場合には、処理をステップS485に移す。
【0079】
制御部101はステップS460で、内部的に保持している再生情報から、クライアントに送信するための画像データの現像処理と送信方法を決定する処理を行う。ここで、ステップS460の詳細について、
図5を用いて詳細に説明する。
【0080】
制御部101はステップS600で、現像処理を高画質現像に設定する。制御部101はステップS605で、送信方法を画像データ送信に設定する。
【0081】
ステップS610、ステップS625、ステップS640が、再生情報による判断となる。
【0082】
制御部101はステップS610で、再生情報の再生状態情報の判断を行う。もし再生状態情報がプレイ状態なら、処理をステップS615に移す。それ以外だったら、処理をステップS625に移す。
【0083】
制御部101はステップS615で、現像処理を高速現像に設定する。制御部101はステップS620で、送信方法をストリーミング送信に設定する。
【0084】
制御部101はステップS625で、再生情報の画像サイズ情報による判断を行う。もし画像サイズ情報が50%未満なら、処理をステップS630に移す。それ以外だったら、処理をステップS640に移す。
【0085】
制御部101はステップS630で、現像処理を高速現像に設定する。制御部101はステップS635で、送信方法をストリーミング送信に設定する。
【0086】
制御部101はステップS640で、再生情報の通信速度情報による判断を行う。もし通信速度情報が100Mbps未満なら、処理をステップS645に移す。それ以外だったら、処理を抜けてステップS465に戻る。
【0087】
制御部101はステップS645で、現像処理を高速現像に設定する。制御部101はステップS650で、送信方法をストリーミング送信に設定する。
【0088】
上記で示したように、ステップS600からステップS650の処理により、現像処理と送信方法が決定する。動画のポーズ状態であったり、大きい画像サイズであったり、通信状態が良い場合に、データ量が多くても高画質な状態でクライアントに画像データを送信するようになる。この構成により、RAW現像設定を高画質な表示で確認したい場合には、少なくとも再生状態をポーズ状態にすることで高画質な表示が可能となる。もちろん、本実施形態の以外の判断、閾値で現像処理と送信処理の方法を決定するのでも良い。
【0089】
また、本実施形態で使用した再生情報はあくまで一例であり、例えば送信動画の画像サイズ、ビットレート、圧縮率の情報をクライアント側から受信し、それらの値が閾値以上であるか閾値未満であるかによって、現像処理や送信処理の方法を決定するような構成でも良い。
【0090】
図4の説明に戻る。
制御部101はステップS465で、ステップS450で受信した現像パラメータに従って、RAW動画の現像対象フレーム(1フレーム)の現像処理を行う。この時の現像処理方法は、ステップS460で決定した現像処理方法となる。また、この時の現像処理対象となるRAW動画ファイルは、ステップS425で受信したRAW動画ファイル名のRAW動画ファイルとなる。現像対象フレームは、最初の現像では先頭フレームとなる。
【0091】
制御部101はステップS467で、現像対象となるフレームの更新処理を行う。もし再生状態情報がポーズ状態の場合は、現像対象フレームは変更しない。再生状態情報がプレイ状態の場合は、現像対象フレームを次のフレームに進める。ただし、プレイ状態だった場合でも、対象フレームが最終フレームだった場合には、対象フレームは最終フレームのままとする。
【0092】
制御部101はステップS470で、クライアントへの画像データの送信方法が、ストリーミング送信かどうかを判断する。ステップS460で決定した送信方法が、もしストリーミング送信だった場合には、処理をステップS480に移す。ストリーミング送信ではなく、1枚の画像データとして送信する場合には、処理をステップS475に移す。
【0093】
制御部101はステップS475で、現像結果を一般的な画像形式に変換した画像データと、送信方法情報を、クライアントに送信する。本実施形態では、現像結果を12bit画像データとして送信する。もちろん、それ以外の画像形式で送信するのでも良い。例えば、JPEGのように圧縮した画像データとして送信するのでも良い。なお、本実施形態のステップS475は、1フレーム分の処理となる。複数フレーム分の画像データを送信する場合には、ステップS400からステップS480をフレーム分繰り返す処理となる。
【0094】
制御部101はステップS480で、現像結果を一般的なストリーミング形式に変換したストリーミングデータと、送信方法情報を、クライアントに送信する。本実施形態でストリーミング化する場合には、画像データのまま送信するよりも、より高圧縮になるように処理する。なお、本実施形態のステップS480は、1フレーム分の処理となる。複数フレーム分のストリーミングを送信する場合には、ステップS400からステップS480をフレーム分繰り返す処理となる。もちろん、複数フレーム分のデータをためてから動画圧縮してストリーミング送信する方法でも良い。
【0095】
制御部101はステップS485で、RAW現像処理プログラムを終了するかどうか判断する。終了のきっかけは、サーバ管理者がRAW現像処理プログラムをとめる(クライアントに対してサービス提供を止める)場合や、サーバをシャットダウンする場合など、一般的な場合を想定している。
【0096】
もし終了する場合には、RAW現像処理プログラムを終了する。終了しない場合には、処理をステップS400に戻し、クライアントからの要求処理を繰り返す。
【0097】
ステップS400からステップS485を繰り返すことで、クライアントからの要求を処理することが可能となる。
【0098】
以上の構成とすることで、RAW動画の現像パラメータの設定値に応じた画像を、クライアント側で表示して確認できるようになる。
【0099】
また、RAW現像設定を高画質な表示で確認したい場合に、伝送速度によらず確認できるようになる。例えば、動画をポーズ状態に設定した際に、高画質な表示が可能となる。よって、本発明により、サーバにあるRAW動画を扱う場合に、RAW動画の特徴を生かすことが可能となる。
【0100】
以上、本発明の実施形態を詳述したが、本発明は上述した特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【0101】
また、本発明は、以下の処理を実行することによっても実現される、即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。