JP7614726B2 - Information processing device and method for controlling information processing device - Google Patents
Information processing device and method for controlling information processing device Download PDFInfo
- Publication number
- JP7614726B2 JP7614726B2 JP2020054187A JP2020054187A JP7614726B2 JP 7614726 B2 JP7614726 B2 JP 7614726B2 JP 2020054187 A JP2020054187 A JP 2020054187A JP 2020054187 A JP2020054187 A JP 2020054187A JP 7614726 B2 JP7614726 B2 JP 7614726B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- image data
- information processing
- server
- video data
- 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.)
- Active
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Television Signal Processing For Recording (AREA)
Description
本発明は、RAW動画データを有するサーバに対して通信ネットワークを介して画像処理を要求し、サーバから画像処理結果を取得する情報処理装置に関する。 The present invention relates to an information processing device that requests image processing from a server having RAW video data via a communication network and obtains the image processing results from the server.
近年、動画の解像度、フレームレートは増大する傾向にある。特にデータ量の大きいRAW動画データを扱う画像処理アプリケーションを実行する場合、動画の各フレームについてデコード、デモザイクなどの画像処理を施しながら再生するため、大容量のストレージと高い処理能力を持つ装置が必要となる。そのような装置を導入するには高いコストがかかるという問題があり、この問題に対して、通信ネットワークを介してクラウド上のサーバを利用することが考えられる。 In recent years, there has been a trend toward increasing video resolution and frame rates. In particular, when executing image processing applications that handle large amounts of RAW video data, each frame of the video is played back while undergoing image processing such as decoding and demosaicing, requiring equipment with large storage capacity and high processing power. The problem with introducing such equipment is that it is expensive, and one possible solution to this problem is to use a cloud server via a communications network.
この場合、大容量のストレージと高い処理能力を持つサーバがRAW動画データを保持し、クライアントであるユーザ端末から受けた要求に応じて画像処理を行って、その画像処理結果を返すことになる。そしてユーザ端末は、サーバから受信した画像処理結果に基づいて画像を表示する。こうすることで、ユーザ端末は大容量のストレージと高い処理能力を持つ必要がなくなる。 In this case, a server with large-capacity storage and high processing power will hold the RAW video data, perform image processing in response to requests received from the client user terminal, and return the image processing results. The user terminal will then display images based on the image processing results received from the server. This eliminates the need for the user terminal to have large-capacity storage and high processing power.
特許文献1は、サーバがクライアント端末にオリジナルの動画データを縮小したデータを送信することで通信にかかるデータ量を削減する画像配信システムを開示している。この画像配信システムでは、クライアント端末が所望のシーンを指定してサーバに送信し、サーバはオリジナルの動画データから指定されたシーンを切り出してクライアント端末に送信する。 Patent Document 1 discloses an image distribution system in which a server transmits reduced versions of original video data to a client terminal, thereby reducing the amount of data required for communication. In this image distribution system, a client terminal specifies a desired scene and transmits it to the server, and the server extracts the specified scene from the original video data and transmits it to the client terminal.
しかしながら、特許文献1の画像配信システムでは、サーバとクライアント端末の通信に問題が発生した場合、クライアント端末は画像を受信することができず、ユーザは受信した画像に対して編集作業を行うことができない。 However, in the image distribution system of Patent Document 1, if a problem occurs in the communication between the server and the client terminal, the client terminal cannot receive the images, and the user cannot edit the received images.
本発明は、ユーザ端末における編集作業の内容に応じて、サーバに保存されているRAW動画データに基づく画像データを予め取得しておき、通信エラーが発生した場合に、取得していた画像データを利用してユーザ端末上で編集作業を行うことを可能とする。 The present invention acquires image data based on RAW video data stored on a server in advance according to the content of the editing work on the user terminal, and in the event of a communication error, makes it possible to perform editing work on the user terminal using the acquired image data.
本発明の1実施態様によれば、RAW動画データを有するサーバと通信する通信手段と、前記通信手段により前記サーバと通信して、前記サーバにて前記RAW動画データの画像処理を行うためのアプリケーションを実行する実行手段と、制御手段と、を備え、前記制御手段は、前記アプリケーションで画像処理の操作を受け付けると、前記操作に応じて前記RAW動画データを構成する全フレームのうち、一部のフレームの各々に基づく各画像データを前記サーバから取得し、サーバとの通信にエラーが生じた場合に、取得した前記各画像データを用いて自機にて画像処理を行うことを可能としたことを特徴とする情報処理装置である。 According to one embodiment of the present invention, an information processing device comprises a communication means for communicating with a server having RAW video data, an execution means for communicating with the server via the communication means and executing an application for performing image processing of the RAW video data on the server, and a control means, wherein when the control means receives an image processing operation in the application, it obtains from the server each image data based on each of a portion of all frames that constitute the RAW video data in accordance with the operation, and in the event of an error in communication with the server, it is capable of performing image processing on the device itself using each of the obtained image data.
本発明によれば、ユーザ端末における編集作業の内容に応じて、サーバに保存されているRAW動画データに基づく画像データを予め取得しておき、通信エラーが発生した場合に、取得していた画像データを利用してユーザ端末上で編集作業を行うことを可能とする。 According to the present invention, image data based on RAW video data stored on a server is acquired in advance according to the content of the editing work on the user terminal, and if a communication error occurs, it is possible to perform editing work on the user terminal using the acquired image data.
本発明の実施形態について、図面を用いて詳細に説明する。 The embodiment of the present invention will be described in detail with reference to the drawings.
以下に示す実施形態は、本発明の一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。 The embodiment described below is an example of the present invention and may be modified or changed as appropriate depending on the configuration of the device to which the present invention is applied and various conditions.
(第1の実施形態)
本実施形態では、クライアント装置が、クライアント装置でのユーザの操作に応じて、サーバ装置に表示用の画像データと予備データを要求するシステムを例に示す。サーバ装置はクラウド上のサーバであり、クライアント装置はサーバにあるオリジナルのRAW動画データに対してリモートで編集作業を行うための端末である。クライアント装置は、例えば、パーソナルコンピューター(PC)、スマートフォン、タブレットデバイスなどの情報処理装置である。
(First embodiment)
In this embodiment, a system is exemplified in which a client device requests image data and spare data for display from a server device in response to a user's operation on the client device. The server device is a server on a cloud, and the client device is a terminal for remotely editing original RAW video data stored on the server. The client device is, for example, an information processing device such as a personal computer (PC), a smartphone, or a tablet device.
図1は、本実施形態におけるシステム全体の構成図である。 Figure 1 is a diagram showing the overall system configuration in this embodiment.
101はクライアント装置であり、動画編集アプリケーションを実行する。動画編集アプリケーションについては後述する。 101 is a client device that executes a video editing application. The video editing application will be described later.
103はサーバ装置であり、オリジナルのRAW動画データを記憶している。また、サーバ装置103は、オリジナルRAW動画データ対して、クライアント装置から指示された画像処理を行うことができる。
103 is a server device that stores original RAW video data. In addition, the
クライアント装置101とサーバ装置103は、インターネット102を介して、動画編集に関するデータを送受信する。クライアント装置101は、動画編集アプリケーションでのユーザ操作に応じて、サーバ装置103に画像データを要求する。そして、サーバ装置103は要求に応じたデータをクライアント装置101に送信する。
The
図2は、クライアント装置101とサーバ装置103を構成するPC200の構成を示すブロック図である。クライアント装置101とサーバ装置103は、単一のPCで実現してもよいし、必要に応じた複数のPCに各機能を分散して実現するようにしてもよい。複数のPCで構成される場合は、互いに通信可能なように、Local Area Network(LAN)などで接続されていることが好ましい。
Figure 2 is a block diagram showing the configuration of a
図2において、210はCPUである。CPU210はPC200全体を制御すると共に、画像処理コマンドを実行して画像処理を行うことができる。
In FIG. 2, 210 is a CPU. The
220はGPUであり、CPU210によって生成された画像処理コマンドを実行し、画像処理を行うことができる。GPU220は、内部にVideo Random Access Memory(VRAM)を持ち、データ転送コマンドを受けて、CPU210との間でデータの送受信を行う。
220 is a GPU, which can execute image processing commands generated by the
230は、外部から供給されるプログラムやデータを一時記憶するRandom Access Memory(RAM)である。RAM230は、プログラムの実行に従って出力されるデータを一時的に記憶する記憶領域としても用いられる。
230 is a Random Access Memory (RAM) that temporarily stores programs and data supplied from the outside.
240は、プログラムやパラメータを格納するRead Only Memory(ROM)である。ROM240は、CPU210によって実行されるソフトウェアのプログラムコードや、ソフトウェアの動作において必要なパラメータ等を格納する。このプログラムコードをCPU210が実行する構成となっている。なお、本実施形態のROM240は、フラッシュROMであり、制御プログラムを書き換え可能である。
240 is a read only memory (ROM) that stores programs and parameters.
250は、PC200が読み書き可能な記録媒体である。記録媒体は、例えば、コンピュータが備える内蔵メモリや、コンピュータに着脱可能に接続されるメモリカード、HDD、CD-ROM、MOディスク、光ディスク、光磁気ディスクなどの電子データを記録することができる媒体を意味する。記録媒体250には、動画データなどのデジタルデータがファイルとして格納されている。
250 is a recording medium that can be read and written by PC 200. The recording medium refers to a medium capable of recording electronic data, such as an internal memory of a computer, a memory card that can be detachably connected to a computer, a HDD, a CD-ROM, an MO disk, an optical disk, or a magneto-optical disk. Digital data such as video data is stored as a file on recording
260は、操作部であり、キーボード、マウス等で構成される。操作部260を介して入力される指示に基づいて、入出力データの指定、プログラムの変更、画像処理の実行や中止等が実行される。
260 is an operation unit, which is composed of a keyboard, mouse, etc. Based on instructions input via the
270は、PC200に組み込まれた液晶ディスプレイ等の表示部である。表示部270は、例えば、アプリケーションのGraphical User Interface(GUI)画面や、画像処理の結果などを表示する。
270 is a display unit such as a liquid crystal display incorporated in the PC 200. The
280は、PC200において、各要素間の制御信号やデータ信号の伝送路となる内部バスである。 280 is an internal bus that serves as a transmission path for control signals and data signals between each element in PC 200.
次に、本実施形態のクライアント装置101の動作について、図3から図5を用いて説明を行う。なお、本実施形態では、フローチャートの処理を実現するプログラム(動画編集アプリケーション)がクライアント装置101のROM240に記録されている例を示すが、メモリカードなどの記録媒体250に記録されている形態でも良い。また同様に、ネットワーク上にプログラムがある場合でも、本発明を適用することができる。
Next, the operation of the
図3は、クライアント装置101上で動作する動画編集アプリケーション300のユーザインターフェース(UI)の構成の例である。動画編集アプリケーション300は、素材となるRAW動画データから編集動画を作成するアプリケーションである。動画編集アプリケーションは、少なくともカット編集モードとRAW編集モードを備える。
Figure 3 shows an example of the configuration of a user interface (UI) of a video editing application 300 that runs on the
カット編集モードでは、RAW動画データをタイムライン上に配置して編集動画の構成を編集することができる。RAW編集モードでは、RAW画像処理によって色や明るさなどを調整することができる。ユーザは、メニュー等を操作することで、カット編集モードとRAW編集モードを切り替えることできる。 In cut edit mode, RAW video data can be placed on a timeline to edit the composition of the edited video. In RAW edit mode, color, brightness, etc. can be adjusted using RAW image processing. Users can switch between cut edit mode and RAW edit mode by operating the menu, etc.
図3(a)は、カット編集モードで動作している動画編集アプリケーション300のUI構成図である。 Figure 3(a) is a diagram showing the UI configuration of a video editing application 300 operating in cut edit mode.
310は、動画データ一覧表示エリアであり、記録媒体250から読み込まれた動画データの一覧を表示する。311は、単一の動画データをアイコンで表したものである。
310 is a video data list display area, which displays a list of video data loaded from the
320は、ユーザによって選択された動画データに画像処理を行った結果を再生表示するプレビューエリアである。 320 is a preview area that plays and displays the results of image processing performed on the video data selected by the user.
330は、ユーザが再生制御を行うための再生コントロール部である。ユーザは再生コントロール部330の再生/停止ボタンをクリックすることで、動画再生機能による画像処理の開始や中止を指示することができる。なお、再生/停止ボタンは、動画を再生している状態では再生の一時停止、再生していない状態では再生開始を指示する。また、再生コントロール部330は再生/停止ボタンの他に、再生位置を1コマ前または後ろへ移動するコマ送りボタンや、動画再生の開始・終了位置へ移動するジャンプボタンなどを有する。
330 is a playback control section that allows the user to control playback. By clicking the play/stop button on
340は、動画・音声データが、編集動画の各トラックにどのように配置されているかを時系列で表示するタイムライン部である。カット編集モードにおいて、ユーザはアイコン311をタイムライン部340へドラッグアンドドロップすることによって、任意の位置に動画データを配置することができる。タイムライン部340では、動画データは矩形で表示されており、矩形の左右端をドラッグすることによって各動画データの開始・終了位置を指定することができる。341は、編集動画における現在の再生位置を示すアイコンである。再生位置アイコン341が示すフレームに対して画像処理が施された結果がプレビューエリア320に表示されている。再生位置アイコン341の位置は、ユーザが再生位置341をドラッグアンドドロップするか、再生コントロール部330のコマ送りボタンやジャンプボタンをクリックすることで変更することができる。ユーザが再生コントロール部330の再生ボタンをクリックすると、再生位置アイコン341が示すフレームを開始点として入力動画データの再生が行われる。
340 is a timeline section that displays in chronological order how video and audio data are arranged on each track of the edited video. In the cut edit mode, the user can arrange video data at any position by dragging and dropping the
図3(b)は、RAW編集モードで動作している動画編集アプリケーション300のUI構成図である。図3(b)の310~341は、図3(a)と共通である。 Figure 3(b) is a diagram showing the UI configuration of a video editing application 300 operating in RAW editing mode. 310 to 341 in Figure 3(b) are the same as those in Figure 3(a).
350は、動画再生中に画像処理を実施するための一般的なパラメータコントロール部である。パラメータコントロール部350は、スライダバーとプルダウンリストで構成される。ユーザはパラメータコントロール部350を操作することによって、RAW動画データに適用する画像処理の各種パラメータ(現像パラメータを含む)を変更することができる。
350 is a general parameter control section for performing image processing during video playback.
なお、動画編集アプリケーション300は、動画編集や再生に関する一般的な各機能を実行するための操作部を有するが、ここでは図示しない。また、動画編集アプリケーション300は、RAW動画データとは異なる形式の動画データに対する動画編集機能を有してもよい。本実施形態では、RAW動画データを対象とした処理についてのみ説明する。 Note that the video editing application 300 has an operation unit for executing various general functions related to video editing and playback, but this is not shown here. The video editing application 300 may also have a video editing function for video data in a format other than RAW video data. In this embodiment, only processing for RAW video data will be described.
次に、図4を用いて、クライアント装置101上で動作する動画編集アプリケーション300によるプレビュー処理について説明する。
Next, using FIG. 4, we will explain the preview process by the video editing application 300 running on the
ステップS401で、CPU210は、プレビューエリア320に表示すべきフレームが変更された場合は処理をステップS402へ移行し、そうでない場合には処理をステップS403へ移行する。フレームが変更されるのは、例えば、ユーザが動画データ一覧表示エリア310を操作することによって編集対象の動画データが変更された場合、ユーザが再生コントロール部330を操作することによって再生位置アイコン341の位置が変更された場合、動画が再生中の状態であって次のフレームを表示するべき時間に達した場合である。CPU210は、動画編集アプリケーションでのユーザの操作を継続的に検出しておき、検出結果に基づいてサーバ装置103に情報を送信する。
In step S401, if the frame to be displayed in the
ステップS402で、CPU210は、サーバ装置103に対して、変更後の新しいフレームの表示用画像を要求する。表示用画像とは、RAW動画データの指定されたフレームに対して現像処理を含む画像処理が施された画像データであり、例えば、RGBやYUV等で表現される一般的な画像データである。表示用画像は圧縮されていてもよい。また、表示用画像を要求する際は、RAW動画データのファイル名、フレーム番号、パラメータコントロール部350で設定されたパラメータのリスト等の情報を、サーバ装置103に送信する。
In step S402, the
ステップS403で、CPU210は、動画編集アプリケーション300にて画像処理パラメータが変更された場合は処理をステップS404へ移行し、そうでない場合は処理をステップS407へ移行する。画像処理パラメータが変更されるのは、例えば、ユーザがパラメータコントロール部350を操作した場合である。
In step S403, if the image processing parameters have been changed in the video editing application 300, the
ステップS404で、CPU210は、サーバ装置103に対して、プレビューエリア320に表示されているフレームについて、変更後の新しい画像処理パラメータを適用して画像処理した表示用画像を要求する。このとき送信する情報は、ステップS402と同様である。
In step S404, the
ステップS405で、CPU210は、ステップS402またはS404で要求した表示用画像をサーバ装置103から受信完了したか否かを判断する。表示用画像を受信完了した場合は処理をステップS406へ移行し、そうでない場合には処理をステップS407へ移行する。
In step S405, the
ステップS406で、CPU210は、クライアント装置101とサーバ装置103の間で通信エラーが発生した場合は処理をステップS407へ移行し、そうでない場合には処理をステップS405へ移行する。CPU210は、例えば、サーバ装置103からエラー通知を受信した場合や、サーバ装置103に画像要求を送信してから一定時間応答がなくタイムアウトとなった場合などに、通信エラーが発生したと判断する。
In step S406, if a communication error occurs between the
ステップS407で、CPU210は、記録媒体250に保存された予備データのうち表示すべきフレームに最も近いフレームのデータを取得して、表示用画像を生成する。このとき、予備データがRAW画像データであった場合は、パラメータコントロール部350で設定されたパラメータに基づいて現像処理を含む画像処理を行う。予備データがRAW画像データ以外の一般的な画像データであった場合は、パラメータコントロール部350で設定されたパラメータのうち適用可能なもののみを用いて画像処理を行う。なお、予備データは、動画編集アプリケーションでの操作に応じて予めサーバ装置103から取得していた画像データである。予備データは、サーバ装置103が保持するオリジナルのRAW動画データに基づく画像データであり、画像データのフォーマット、解像度、フレーム数などは、動画アプリケーションでの操作に応じて異なる。
In step S407, the
ステップS408で、CPU210は、ステップS408で表示用画像の生成に成功した場合は処理をステップS410へ移行し、そうでない場合は処理をステップS409へ移行する。ステップS408で表示用画像の生成に成功しない場合は、該当する予備データが見つからない場合や、クライアント装置101を構成するPCに指定された画像処理を実行する能力が備わっていない場合などである。
In step S408, if the generation of the display image in step S408 is successful, the
ステップS409で、CPU210は、プレビューエリア320にプレビューができない旨を示すエラー表示を行う。
In step S409, the
ステップS410で、CPU210は、表示用画像をプレビューエリア320に表示する。なお、CPU210は、表示用画像がステップS405によってサーバから受信したものか、ステップS407で予備データから生成されたものかを判定してユーザに通知する機能を備えてもよい。
In step S410, the
ステップS411で、CPU210は、ユーザによってアプリケーション終了操作がされた場合はプレビュー処理を終了し、そうでない場合は処理をステップS401へ移行する。
In step S411, if the user has performed an operation to end the application, the
次に、図5を用いて、クライアント装置101上で動作する動画編集アプリケーション300による予備データ保存処理について説明する。予備データ保存処理は、RAW動画編集処理と同時に開始し、CPU210で余剰の処理が可能な場合にバックグラウンドで行われる。
Next, the preliminary data saving process by the video editing application 300 running on the
ステップS501で、CPU210は、動画編集アプリケーション300がカット編集モードで動作している場合は処理をステップS502へ移行し、そうでない場合は処理をステップS504へ移行する。
In step S501, if the video editing application 300 is operating in cut edit mode, the
ステップS502で、CPU210は、サーバ装置103に対して、現在表示しているフレーム(現フレーム)の前後T1秒間に含まれるすべてのフレームについて、縮小された表示用画像を要求する。T1は整数であり、例えば5秒とする。なお、このとき要求する表示用画像は、図4のステップS402およびS404で要求する画像よりも低い解像度とする。
In step S502, the
ステップS503で、CPU210は、サーバ装置103に対して、タイムライン部350に配置されたすべてのRAW動画データについて、毎秒Nフレームごとに1フレームの縮小された表示用画像を要求する。このときの表示用画像は、図4のステップS402およびS404で要求するものよりも低い解像度とする。なお、タイムライン部350に配置されたRAW動画データだけでなく、動画データ一覧表示エリア310に表示されているすべてのRAW動画データに対して同様に表示用画像を要求してもよい。
In step S503, the
ステップS504で、CPU210は、動画編集アプリケーション300がRAW編集モードで動作している場合は処理をステップS505へ移行し、そうでない場合は処理をステップS509へ移行する。
In step S504, if the video editing application 300 is operating in RAW editing mode, the
ステップS505で、CPU210は、サーバ装置103に対して、現在のフレームの前後T2秒間に含まれるすべてのフレームについて、オリジナルのRAW画像データを要求する。T2は整数であり、例えば1秒とする。なお、ステップS502およびS505で要求する表示用画像は、現フレームの前後の所定時間内のフレームとしているが、現フレームの前後の所定枚数のフレームとしてもよい。
In step S505, the
ステップS506で、CPU210は、サーバ装置103に対して、タイムライン部350に配置されたすべてのRAW動画データについて、シーンごとに1フレームのオリジナルのRAW画像データを要求する。シーンとは、各RAW動画データをN秒ごとに区切った単位とする。Nは整数であり、例えば30秒とする。なお、各RAW動画データ内で大きく絵の内容が変化した点や、ユーザによってマーク等が付けられた点で区切った単位としてもよい。なお、タイムライン部350に配置されたRAW動画データだけでなく、動画データ一覧表示エリア310に表示されているすべてのRAW動画データに対して同様にオリジナルのRAW画像データを要求してもよい。
In step S506, the
なお、ステップS502およびS503、またはステップS505およびS506において、すでに同様の予備データが存在する場合には要求をスキップしてもよい。 Note that in steps S502 and S503, or steps S505 and S506, if similar backup data already exists, the request may be skipped.
ステップS507で、CPU210は、ステップS502およびS503、またはステップS505およびS506で要求した画像データをサーバ装置103から受信完了した場合には処理をステップS508へ移行し、そうでない場合には処理をステップS507へ移行する。
In step S507, if the image data requested in steps S502 and S503, or steps S505 and S506, has been received from the
ステップS508で、CPU210は、サーバ装置103から受信した画像データを予備データとして記録媒体250に保存する。なお、使われなくなった予備データは消去してもよい。
In step S508, the
ステップS509で、CPU210は、ユーザ操作によってカット編集モードとRAW編集モードの切り替え、または表示フレームの切り替えが行われた場合、処理をステップS501へ移行し、そうでない場合には処理をステップS510へ移行する。
In step S509, if the user operates to switch between cut edit mode and RAW edit mode, or to switch the display frame, the
ステップS510で、CPU210は、ユーザによってアプリケーション終了操作がされた場合は処理をステップS511へ移行し、そうでない場合は処理をステップS509へ移行する。
In step S510, if the user has performed an operation to end the application, the
ステップS511で、CPU210は、予備データを消去して予備データ保存処理を終了する。
In step S511, the
本実施形態において、クライアント装置101は、動画編集アプリケーションでのユーザ操作の内容に応じて、どのように予備データをサーバ装置103から取得するかを、ステップS501~S506で決定している。
In this embodiment, the
カット編集モードにおいては、ユーザはプレビューを見ながらRAW動画データの開始・終了位置を微調整する操作を行うことが考えられるため、ステップS502では現在のフレーム前後の表示用画像を間引かずに要求する。また、全体を通して撮影された内容を確認しながらタイムライン部340への配置を行うことが考えられるため、ステップS503ではすべてのRAW動画データの表示用画像を一定数フレームごとに間引いて要求する。どちらの操作の場合でも予備データでは画像の内容が確認できればよいため、データ量を抑えるために低解像度の表示用画像を要求する。
In cut edit mode, since it is conceivable that the user will fine-tune the start and end positions of the RAW video data while viewing the preview, in step S502, display images before and after the current frame are requested without thinning. Also, since it is conceivable that the user will arrange the images on the
RAW編集モードにおいては、ユーザはプレビューを見ながら色などを微調整する操作を行うことが考えられるため、現在のフレーム前後のRAW画像データを要求する。また、シーンごとに色調整を行った結果を比較する操作を行うことが考えられるため、シーンごとに1フレームずつRAW画像データを要求する。どちらの操作の場合でもパラメータコントロール部350の操作に応じてRAW現像処理を含む画像処理を実行する必要があるため、オリジナルのRAW動画データの1フレーム分のRAW画像データが必要となる。ただし、クライアント装置101を構成するPCにRAW現像処理を行う能力が備わっていない場合は、オリジナルと同じ解像度の表示用画像を要求する構成としてもよく、これを予備データとしてプレビューに利用する場合にはクライアント装置101で可能な範囲で画像処理を行った結果を用いる。
In RAW editing mode, the user may wish to make fine adjustments to colors while viewing the preview, and so RAW image data before and after the current frame is requested. Also, the user may wish to compare the results of color adjustments made to each scene, and so RAW image data is requested for one frame for each scene. In either case, image processing including RAW development processing must be performed in response to the operation of the
なお、表示用画像の縮小率やフレーム間引きに関するT1T2、Nなどの数値は、インターネット102を介した通信速度やクライアント装置101の記録媒体250の容量に応じて変化させてもよい。
The values of T 1 T 2 , N, etc., relating to the reduction ratio of the display image and frame thinning, may be changed according to the communication speed via the
次に、図6を用いて、本実施形態のサーバ装置103の動作について説明する。なお、本実施形態では、フローチャートの処理を実現するプログラムがサーバ装置103のROM240に記録されている例を示すが、プログラムがメモリカードなどの記録媒体250に記録されている形態でも良い。また同様に、ネットワーク上にプログラムがある場合でも、本発明を適用することができる。
Next, the operation of the
図6を用いて、サーバ装置103のデータ送信処理について説明する。
The data transmission process of the
ステップS601で、CPU210は、クライアント装置101から画像データの送信要求があった場合は処理をステップS602へ移行し、そうでない場合は処理をステップS601へ移行する。
In step S601, if the
ステップS602で、CPU210は、クライアント装置101からの要求に応じて、記録媒体250に保存されたRAW動画データから指定されたフレームのRAW画像データを取得する。
In step S602, the
ステップS603で、CPU210は、ステップS601で受信したクライアント装置101からの要求が表示用画像の要求であった場合は処理をステップS604へ移行し、そうでない場合は処理をステップS607へ移行する。
In step S603, if the request from the
ステップS604で、CPU210は、ステップS602で取得したRAW画像データに対して、クライアント装置101からの要求に応じて画像処理を実行する。
In step S604, the
ステップS605で、CPU210は、ステップS601で受信したクライアント装置101からの要求が低解像度の表示用画像であった場合は処理をステップS606へ移行し、そうでない場合は処理をステップS607へ移行する。
In step S605, if the request from the
ステップS606で、CPU210は、ステップS604の画像処理の結果に対して縮小処理を行う。
In step S606, the
ステップS607で、CPU210は、クライアント装置101にデータを送信する。
In step S607, the
ステップS608で、CPU210は、ユーザによってアプリケーション終了操作がされた場合にはデータ送信処理を終了し、そうでない場合には処理をステップS601へ移行する。
In step S608, if the user has performed an operation to end the application, the
このように、本発明によれば、クライアント装置101はサーバ装置103との通信にエラーが発生した場合にも予備データを利用してプレビュー処理を続行することが可能となる。さらに、予備データはオリジナルのRAW動画データをそのまま保存するのではなく、ユーザの操作状況に合わせた方法で間引きや縮小を行うことによって、予備データの容量を抑えつつ、通信エラーの際にユーザが同じ編集作業を自機にて続行することを可能としている。
In this way, according to the present invention, the
(第2の実施形態)
第1の実施形態では、クライアント装置がユーザの操作状況に基づいてサーバ装置に表示用の画像データと予備データを要求するシステムの例を説明した。本実施形態では、サーバ装置がユーザの操作状況に関する情報に基づいて予備データを送信するシステムの例を説明する。
Second Embodiment
In the first embodiment, an example of a system in which a client device requests image data and preliminary data for display from a server device based on a user's operation status has been described. In the present embodiment, an example of a system in which a server device transmits preliminary data based on information regarding a user's operation status will be described.
本実施形態におけるシステム全体の構成図、PCの構成を示すブロック図、動画編集アプリケーションのUI構成図、クライアント装置101上で動作する動画編集アプリケーションによるプレビュー処理のフローチャート、サーバ装置103のデータ送信処理のフローチャートは、それぞれ第1の実施形態の図1~4および図6と同様となるので、説明を省略する。
The overall system configuration diagram, the block diagram showing the configuration of the PC, the UI configuration diagram of the video editing application, the flowchart of the preview process by the video editing application running on the
次に、図7を用いて、クライアント装置101上で動作する動画編集アプリケーションによる予備データ要求処理について説明する。予備データ要求処理はRAW動画編集処理と同時に開始し、CPU210で余剰の処理が可能な場合にバックグラウンドで行われる。
Next, the preliminary data request process by the video editing application running on the
ステップS701で、CPU210は、サーバ装置103に対して、動画編集アプリケーション300の動作モードおよび現在のフレームについての情報を送信する。
In step S701, the
ステップS702で、CPU210は、予備データをサーバ装置103から受信完了した場合は処理をステップS703へ移行し、そうでない場合は処理をステップS704へ移行する。
In step S702, if the
ステップS703で、CPU210は、サーバ装置103から受信した画像データを予備データとして記録媒体250に保存する。なお、使われなくなった予備データは消去してもよい。
In step S703, the
ステップS704で、CPU210は、ユーザ操作によってカット編集モードとRAW編集モードの切り替え、または表示フレームの切り替えが行われた場合は、処理をステップS701へ移行し、そうでない場合は処理をステップS705へ移行する。
In step S704, if the user operates to switch between cut edit mode and RAW edit mode, or to switch the display frame, the
ステップS705で、CPU210は、ユーザによってアプリケーション終了操作がされた場合には処理をステップS706へ移行し、そうでない場合には処理をステップS702へ移行する。
In step S705, if the user has performed an operation to end the application, the
ステップS706で、CPU210は、予備データを消去して予備データ保存処理を終了する。
In step S706, the
次に、図8を用いて、サーバ装置103による予備データ送信処理について説明する。予備データ送信処理はデータ送信処理と同時に開始し、CPU210で余剰の処理が可能な場合にバックグラウンドで行われる。
Next, the preliminary data transmission process by the
ステップS801で、CPU210は、アプリケーション300の編集モードまたは表示フレームについての情報を受信した場合は、処理をステップS802へ移行し、そうでない場合は処理をステップS808へ移行する。
In step S801, if the
ステップS802で、CPU210は、動画編集アプリケーション300がカット編集モードで動作している場合は処理をステップS803へ移行し、そうでない場合は処理をステップS805へ移行する。
In step S802, if the video editing application 300 is operating in cut edit mode, the
ステップS803で、CPU210は、現在のフレームの前後T1秒間に含まれるすべてのフレームについて、縮小された表示用画像の生成を開始する。T1は整数であり、例えば5秒とする。このときの表示用画像は、図4のステップS402およびS404で要求するものよりも低い解像度とする。
In step S803, the
ステップS804で、CPU210は、タイムライン部350に配置されたすべてのRAW動画データについて、毎秒Nフレームごとに1フレームの縮小された表示用画像の生成を開始する。このときの表示用画像は、図4のステップS402およびS404で要求するものよりも低い解像度とする。
In step S804, the
ステップS805で、CPU210は、動画編集アプリケーション300がRAW編集モードで動作している場合には処理をステップS806へ移行し、そうでない場合には処理をステップS808へ移行する。
In step S805, if the video editing application 300 is operating in RAW editing mode, the
ステップS806で、CPU210は、現在のフレームの前後T2秒間に含まれるすべてのフレームについて、オリジナルのRAW画像データの生成を開始する。T2は整数であり、例えば1秒とする。
In step S806, the
ステップS807で、CPU210は、タイムライン部350に配置されたすべてのRAW動画データについて、シーンごとに1フレームのオリジナルのRAW画像データの生成を開始する。シーンとは、各RAW動画データをN秒ごとに区切った単位とする。Nは整数であり、例えば30秒とする。
In step S807, the
ステップS808で、CPU210は、ステップS803、S804、S806、S807で生成開始した予備データのいずれか生成完了した場合は処理をステップS809へ移行し、そうでない場合は処理をステップS810へ移行する。
In step S808, if the
ステップS809で、CPU210は、生成した予備データをクライアント装置101へ送信する。
In step S809, the
ステップS810で、CPU210は、ユーザによってアプリケーション終了操作がされた場合は予備データ送信処理を終了し、そうでない場合は処理をステップS801へ移行する。
In step S810, if the user has performed an operation to end the application, the
本実施形態において、どのように予備データを取得するかをステップS802~S807で決定している。 In this embodiment, how to obtain the preliminary data is determined in steps S802 to S807.
予備データ取得の決定方法は、図5のステップS501~S506と同様だが、サーバ装置103は自身の動作状況によって、各パラメータを変化させて処理の効率を上げることができる。例えば、クライアント装置101からの要求が多く処理負荷が高まっている場合には、予備データの枚数を間引くなどして少ない処理負荷で最低限の予備データを生成することができる。
The method of determining whether to acquire spare data is the same as steps S501 to S506 in FIG. 5, but the
このように、本発明によれば、クライアント装置101はサーバ装置103との通信にエラーが発生した場合にも予備データを利用して、自機にてプレビュー処理を続行することが可能となる。さらに、サーバ装置103で生成する予備データを決定することで、サーバ装置内の動作状況に応じて処理をより効率的に行うことができる。
In this way, according to the present invention, even if an error occurs in communication with the
以上、本発明の実施形態を詳述したが、本発明はこれらの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。なお、上述の実施形態の一部を適宜組み合わせてもよい。 Although the embodiments of the present invention have been described above in detail, the present invention is not limited to these embodiments, and various forms within the scope of the gist of the present invention are also included in the present invention. Note that parts of the above-described embodiments may be combined as appropriate.
また、本発明の目的は、以下の処理を実行することによって達成される。 The object of the present invention is also achieved by carrying out the following process:
まず、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記憶媒体)を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。 First, a storage medium (or storage media) on which is recorded the program code of the software that realizes the functions of the above-mentioned embodiments is supplied to a system or device. Then, the computer (or CPU or MPU) of that system or device reads and executes the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the above-mentioned embodiments, and the storage medium on which the program code is stored constitutes the present invention.
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のようにして達成することも可能である。即ち、読み出したプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合である。ここでプログラムコードを記憶する記憶媒体としては、例えば、ハードディスク、ROM、RAM、不揮発性の記憶媒体CD‐ROM、CD‐R、DVD、光ディスク、光磁気ディスク、MOなどが考えられる。また、LAN(ローカル・エリア・ネットワーク)やWAN(ワイド・エリア・ネットワーク)などのコンピュータネットワークを、プログラムコードを供給するために用いることができる。 In addition, by executing the program code read by the computer, not only can the functions of the above-mentioned embodiments be realized, but it can also be achieved as follows. That is, based on the instructions of the read program code, an operating system (OS) running on the computer performs some or all of the actual processing, and the functions of the above-mentioned embodiments are realized by this processing. Examples of storage media for storing the program code here include hard disks, ROMs, RAMs, non-volatile storage media such as CD-ROMs, CD-Rs, DVDs, optical disks, magneto-optical disks, and MOs. Also, computer networks such as LANs (local area networks) and WANs (wide area networks) can be used to supply the program code.
Claims (10)
前記通信手段により前記サーバと通信して、前記サーバにて前記RAW動画データの画像処理を行うためのアプリケーションを実行する実行手段と、
制御手段と、を備え、
前記制御手段は、前記アプリケーションで画像処理の操作を受け付けると、前記操作に応じて前記RAW動画データを構成する全フレームのうち、一部のフレームの各々に基づく各画像データを前記サーバから取得し、サーバとの通信にエラーが生じた場合に、取得した前記各画像データを用いて自機にて画像処理を行うことを可能としたことを特徴とする情報処理装置。 A communication means for communicating with a server having RAW video data;
an execution means for communicating with the server via the communication means and executing an application for performing image processing of the RAW video data on the server;
A control means,
The information processing device is characterized in that, when the control means receives an image processing operation in the application, it obtains from the server image data based on each of the frames out of all the frames that make up the RAW video data in accordance with the operation, and in the event of an error in communication with the server, it is capable of performing image processing on the device itself using the obtained image data.
前記制御手段は、前記アプリケーションが終了すると、前記記憶手段から前記各画像データを消去することを特徴とする請求項1から請求項8の何れかに記載の情報処理装置。 A storage means for storing each of the image data,
9. The information processing apparatus according to claim 1, wherein the control means erases the image data from the storage means when the application is terminated.
前記アプリケーションで画像処理の操作を受け付けると、前記操作に応じて前記RAW動画データを構成する全フレームのうち、一部のフレームの各々に基づく各画像データを前記サーバから取得し、サーバとの通信にエラーが生じた場合に、取得した前記各画像データを用いて自機にて画像処理を行うことを可能としたことを特徴とする情報処理装置の制御方法。 1. A method for controlling an information processing device that communicates with a server having RAW video data and executes an application for performing image processing of the RAW video data on the server, comprising:
A control method for an information processing device, characterized in that, when an image processing operation is received in the application, image data based on each of a portion of all frames that make up the RAW video data is obtained from the server in accordance with the operation, and if an error occurs in communication with the server, image processing is performed on the device using the obtained image data.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020054187A JP7614726B2 (en) | 2020-03-25 | 2020-03-25 | Information processing device and method for controlling information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020054187A JP7614726B2 (en) | 2020-03-25 | 2020-03-25 | Information processing device and method for controlling information processing device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2021158420A JP2021158420A (en) | 2021-10-07 |
| JP7614726B2 true JP7614726B2 (en) | 2025-01-16 |
Family
ID=77918824
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2020054187A Active JP7614726B2 (en) | 2020-03-25 | 2020-03-25 | Information processing device and method for controlling information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7614726B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003274349A (en) | 2002-03-19 | 2003-09-26 | Nikon Gijutsu Kobo:Kk | Digital camera and image playback device |
| JP2014042654A (en) | 2012-08-27 | 2014-03-13 | Fujifilm Corp | Server apparatus, client apparatus, medical image processing system, medical image processing method, and program |
| JP2017059953A (en) | 2015-09-15 | 2017-03-23 | キヤノン株式会社 | Image distribution system and server |
-
2020
- 2020-03-25 JP JP2020054187A patent/JP7614726B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003274349A (en) | 2002-03-19 | 2003-09-26 | Nikon Gijutsu Kobo:Kk | Digital camera and image playback device |
| JP2014042654A (en) | 2012-08-27 | 2014-03-13 | Fujifilm Corp | Server apparatus, client apparatus, medical image processing system, medical image processing method, and program |
| JP2017059953A (en) | 2015-09-15 | 2017-03-23 | キヤノン株式会社 | Image distribution system and server |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2021158420A (en) | 2021-10-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9288248B2 (en) | Media system with local or remote rendering | |
| US9373358B2 (en) | Collaborative media editing system | |
| CN108924582A (en) | Video recording method, computer readable storage medium and recording and broadcasting system | |
| JP6270555B2 (en) | Image processing system, imaging apparatus, and control method thereof | |
| US8768924B2 (en) | Conflict resolution in a media editing system | |
| CN101102434A (en) | information processing device | |
| CN117425050A (en) | Video-based interaction method, device, equipment and storage medium | |
| JP2007088960A (en) | Moving image display method and system | |
| JP7614726B2 (en) | Information processing device and method for controlling information processing device | |
| WO2025153109A1 (en) | Method and apparatus for generating 3d printing file, and computer-readable storage medium | |
| JP2011081457A (en) | Information processing apparatus and method | |
| JP5272835B2 (en) | Image supply apparatus, image supply method, and image supply program | |
| US8898253B2 (en) | Provision of media from a device | |
| JP5707567B2 (en) | Image processing apparatus and image processing method | |
| JP2010004354A (en) | Content processing system | |
| JP2007150994A (en) | Video editing system and video editing apparatus | |
| JP7229842B2 (en) | Information processing equipment | |
| JP2020127148A (en) | Information processing apparatus, control method thereof and program | |
| JP2018074337A (en) | Movie processing apparatus, movie processing method and program | |
| JP4965836B2 (en) | Information display device and control method thereof | |
| JP2004254053A (en) | Image reproducing device | |
| JP4739441B2 (en) | Movie editing apparatus, control method therefor, and program | |
| WO2013161563A1 (en) | Information processing device and method, program, and information processing system | |
| JP2020127149A (en) | Information processing apparatus, control method thereof, and program | |
| CN110012212A (en) | Image processing equipment, the control method of image processing equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20200616 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230314 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20231213 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240311 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240319 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240515 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240820 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241011 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20241203 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20241227 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7614726 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |