JP2015198332A - Terminal and program - Google Patents
Terminal and program Download PDFInfo
- Publication number
- JP2015198332A JP2015198332A JP2014075376A JP2014075376A JP2015198332A JP 2015198332 A JP2015198332 A JP 2015198332A JP 2014075376 A JP2014075376 A JP 2014075376A JP 2014075376 A JP2014075376 A JP 2014075376A JP 2015198332 A JP2015198332 A JP 2015198332A
- Authority
- JP
- Japan
- Prior art keywords
- virtual camera
- data
- operated
- time
- camera 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.)
- Pending
Links
Landscapes
- Closed-Circuit Television Systems (AREA)
- Studio Devices (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
本発明は、複数の画像フレームから構成される動画データの画像フレームにおける仮想カメラの向きや仮想カメラの画角を表す仮想カメラデータを作成する装置等の技術分野に関する。 The present invention relates to a technical field such as an apparatus for creating virtual camera data representing the orientation of a virtual camera and the angle of view of a virtual camera in an image frame of moving image data composed of a plurality of image frames.
従来、所定の動画データに対して疑似的なカメラワークが、ユーザの仮想カメラの操作により行われる場合がある。このようなカメラワークでは、動画データを構成する画像フレーム内で、例えばユーザが仮想カメラの向きや仮想カメラの画角などを指定することで画像フレーム内の特定の画素領域が表示画面に表示される。このような仮想カメラの向きや仮想カメラの画角などを表す仮想カメラデータは、端末装置から配信サーバへアップロード可能になっている。特許文献1には、アップロードされた動画データ自体を編集せずに、他のユーザによる疑似的なカメラワークを共有することが可能な通信システムが開示されている。 Conventionally, there is a case where pseudo camera work is performed on predetermined moving image data by a user's operation of a virtual camera. In such camera work, a specific pixel area in the image frame is displayed on the display screen by, for example, the user specifying the direction of the virtual camera or the angle of view of the virtual camera in the image frame constituting the moving image data. The Such virtual camera data representing the orientation of the virtual camera and the angle of view of the virtual camera can be uploaded from the terminal device to the distribution server. Patent Document 1 discloses a communication system that can share pseudo camera work by other users without editing uploaded video data itself.
ところで、動画データの複数の画像フレーム内で特定の画素領域を指定するために、例えばカメラワークのスキルが十分でないユーザが仮想カメラを何度も操作して、画像フレーム内の特定の画素領域を指定することがある。この場合、表示画面で表示された画素領域で表示されないオブジェクトを、画像フレーム内で探して表示画面内に表示させる場合がある。この場合、仮想カメラの操作開始から操作終了までの上記画像フレームにおける表示領域の変化の軌跡は、直線的でなく遠回りした軌跡になることが多い。このときに作成される仮想カメラデータでは、見栄えの良いカメラワークを再現することは困難である。 By the way, in order to specify a specific pixel area in a plurality of image frames of moving image data, for example, a user who does not have sufficient camerawork skills operates a virtual camera many times to set a specific pixel area in an image frame. May be specified. In this case, an object that is not displayed in the pixel area displayed on the display screen may be searched for in the image frame and displayed on the display screen. In this case, the trajectory of the change in the display area in the image frame from the start of operation of the virtual camera to the end of the operation is often not a straight line but a detour. With the virtual camera data created at this time, it is difficult to reproduce a camera work having a good appearance.
本発明は、例えばスキルが十分でないユーザであっても、見栄えの良いカメラワークを再現できる仮想カメラワークを作成することが可能な端末装置及びプログラムを提供する。 The present invention provides a terminal device and a program capable of creating a virtual camera work that can reproduce a good-looking camera work even if the user has insufficient skills, for example.
上記課題を解決するために、請求項1に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第1判定ステップと、前記第1判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶手段に記憶する記憶ステップと、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定ステップと、前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正ステップと、をコンピュータに実行させるプログラムである。 In order to solve the above-mentioned problem, the invention according to claim 1 is an image frame composed of a plurality of pixels, and in moving image data composed of a plurality of the image frames, a specific pixel in the image frame A first determination step for determining whether or not a virtual camera for specifying a region is operated; and when the first determination step determines that the virtual camera is operated, the virtual camera is operated Virtual camera data representing at least one of the time direction, the position when the virtual camera is operated, and the angle of view when the virtual camera is operated, and the moving image data when the virtual camera is operated A storage step of associating the reproduction time with each other and storing them in the storage means along a time series, and a pixel region specified by the virtual camera data A second determination step of determining whether the amount of change per fixed time or the amount of change of the zoom magnification specified by the virtual camera data per predetermined time is less than or equal to a predetermined value; and the virtual stored in the storage means In the camera data, a conversion process is used to convert each of the virtual camera data associated with the reproduction time determined that the change amount is not equal to or less than a predetermined value into a linear or n (n is a natural number) degree curve. A program for causing a computer to execute a correction step for correcting the image.
請求項2に記載の発明は、請求項1に記載のプログラムにおいて、前記プログラムは、前記補正ステップにより補正された前記仮想カメラデータと前記再生時間とを時系列に沿って対応付けてサーバ装置へアップロードするステップを前記コンピュータに更に実行させることを特徴とする。 According to a second aspect of the present invention, in the program according to the first aspect, the program associates the virtual camera data corrected by the correction step and the reproduction time in a time series to the server apparatus. The uploading step is further executed by the computer.
請求項3に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第1判定ステップと、前記第1判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定ステップと、前記第2判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて第1記憶手段に記憶する第1記憶ステップと、前記第2判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて第2記憶手段に記憶する第2記憶ステップと、前記第2記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正ステップと、をコンピュータに実行させるプログラムである。 According to a third aspect of the present invention, there is provided a virtual camera for specifying a specific pixel region in the image frame in moving image data including a plurality of the image frames, the image frame including a plurality of pixels. When the virtual camera is determined to be operated by the first determination step for determining whether the virtual camera is being operated, and when the virtual camera is operated, The change amount per predetermined time of the pixel area specified by the virtual camera data representing at least one of the position when operated and the angle of view when the virtual camera is operated, or by the virtual camera data A second determination step of determining whether the amount of change of the specified zoom magnification per predetermined time is equal to or less than a predetermined value; and the second determination When the change amount per predetermined time of the pixel area specified by the virtual camera data or the change amount per predetermined time of the zoom magnification specified by the virtual camera data is determined by the step The first storage step of storing the virtual camera data and the reproduction time when the pixel area is displayed on the display screen in association with each other in a time series, and the second determination step, When it is determined that the change amount per predetermined time of the pixel area specified by the virtual camera data or the change amount per predetermined time of the zoom magnification specified by the virtual camera data is not less than a predetermined value, the virtual camera data And a reproduction time when the pixel area is displayed on the display screen are associated with each other in time series and stored in the second storage means. And storing at least a part of the virtual camera data associated with each of the reproduction times stored in time series in the storage step and in the second storage means into a linear or n (n is a natural number) degree curve This is a program for causing a computer to execute a correction step for correcting using a conversion process.
請求項4に記載の発明は、請求項3に記載のプログラムにおいて、前記プログラムは、前記第2判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量が所定値以下であると判定された場合、前記第2記憶手段に前記仮想カメラデータと前記再生時間とが対応付けて記憶されているかを判定する第3判定ステップを前記コンピュータにさらに実行させ、前記第3判定ステップにより、前記第2記憶手段に、前記仮想カメラデータと前記再生時間とが対応付けられて記憶されていると判定された場合、前記補正ステップは、前記第2記憶手段に記憶された前記仮想カメラデータを補正することを特徴とする。 According to a fourth aspect of the present invention, in the program according to the third aspect, in the program, the amount of change per predetermined time in the pixel area specified by the virtual camera data is less than or equal to a predetermined value in the second determination step. If it is determined, the computer further executes a third determination step for determining whether the virtual camera data and the reproduction time are stored in association with each other in the second storage unit, and the third determination When it is determined in the step that the virtual camera data and the reproduction time are stored in the second storage unit in association with each other, the correction step includes the virtual storage stored in the second storage unit. It is characterized by correcting camera data.
請求項5に記載の発明は、請求項3または請求項4に記載のプログラムにおいて、前記プログラムは、前記補正ステップにより、補正された前記仮想カメラデータと、前記第1記憶手段に記憶された前記仮想カメラデータとを用いて生成された本カメラワークデータを、前記動画データのカメラワークデータとして登録する登録ステップを前記コンピュータに実行させることを特徴とする。 According to a fifth aspect of the present invention, in the program according to the third or fourth aspect, the program stores the virtual camera data corrected by the correction step and the first storage unit. The computer is caused to execute a registration step of registering the camera work data generated using the virtual camera data as the camera work data of the moving image data.
請求項6に記載の発明は、請求項5に記載のプログラムにおいて、前記登録ステップは、前記本カメラワークデータを第3記憶手段に記憶することを特徴とする。 According to a sixth aspect of the present invention, in the program according to the fifth aspect, the registration step stores the main camera work data in a third storage means.
請求項7に記載の発明は、請求項5に記載のプログラムにおいて、前記登録ステップは、前記本カメラワークデータをサーバ装置へアップロードすることを特徴とする。 A seventh aspect of the present invention is the program according to the fifth aspect, wherein the registration step uploads the main camera work data to a server device.
請求項8に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第1判定手段と、前記第1判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶する記憶手段と、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定手段と、前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正手段と、を備えることを特徴とする。 The invention according to claim 8 is a virtual camera for specifying a specific pixel region in the image frame in moving image data including a plurality of the image frames, the image frame including a plurality of pixels. When the virtual camera is determined to be operated by a first determination unit that determines whether or not the virtual camera is operated by the first determination unit, the direction when the virtual camera is operated, The virtual camera data representing at least one of the position when operated and the angle of view when the virtual camera is operated is associated with the playback time of the moving image data when the virtual camera is operated Storage means for storing in time series, a change amount per predetermined time of the pixel area specified by the virtual camera data, or the virtual camera data A second determination unit that determines whether or not a change amount of the zoom magnification specified by the predetermined time is less than or equal to a predetermined value; and the change amount is less than or equal to a predetermined value among the virtual camera data stored in the storage unit Correction means for correcting each of the virtual camera data respectively associated with the reproduction time determined to be non-linear using a conversion process for converting the virtual camera data into a linear or n (n is a natural number) degree curve. And
請求項9に記載の発明は、複数の画素から構成される画像フレームであって、複数の前記画像フレームから構成される動画データにおいて、前記画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する第1判定手段と、
前記第1判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定手段と、前記第2判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第1記憶手段と、前記第2判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第2記憶手段と、前記第2記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正手段と、を備えることを特徴とする。
The invention according to claim 9 is a virtual camera for specifying a specific pixel region in the image frame in moving image data including a plurality of the image frames, the image frame including a plurality of pixels. First determination means for determining whether or not is operated;
When it is determined by the first determination means that the virtual camera is operated, the direction when the virtual camera is operated, the position when the virtual camera is operated, and the virtual camera is operated The amount of change per predetermined time of the pixel area specified by the virtual camera data representing at least one of the angles of view at the time when the zoom is performed, or the amount of change per predetermined time of the zoom magnification specified by the virtual camera data is predetermined. A second determination unit that determines whether the value is equal to or less than a value; and a change amount per predetermined time of the pixel area specified by the virtual camera data by the second determination unit, or a zoom magnification specified by the virtual camera data When it is determined that the amount of change per predetermined time is not more than a predetermined value, the virtual camera data and the pixel area are displayed on the display screen. A first storage unit that stores the reproduction time in association with each other in a time series, and a change amount per predetermined time of the pixel area specified by the virtual camera data by the second determination unit, or the virtual If it is determined that the amount of change in the zoom magnification specified by the camera data per predetermined time is not less than or equal to the predetermined value, the virtual camera data and the playback time during which the pixel area is displayed on the display screen are time-sequentially Second storage means for storing the data in association with each other, and at least a part of the virtual camera data associated with each of the reproduction times stored in time series in the second storage means in a linear or n ( n is a natural number) and correction means for correcting using a conversion process for conversion to a quadratic curve.
請求項1、3〜6、8または9に記載の発明によれば、カメラワークのスキルが十分でないユーザであっても、見栄えの良いカメラワークを再現できるカメラワークデータを作成させることができる。 According to the first, third, sixth, eighth, and ninth aspects of the present invention, it is possible to create camerawork data that can reproduce a good-looking camerawork even if the user has insufficient camerawork skills.
請求項2、7に記載の発明によれば、見栄えの良いカメラワークを再現できるカメラワークデータを複数のクライアント端末間で共有することができる。 According to the second and seventh aspects of the present invention, camera work data that can reproduce a good-looking camera work can be shared among a plurality of client terminals.
以下、本発明の実施形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[1.通信システムの構成及び動作概要]
始めに、図1を参照して、本発明の実施形態の通信システムSの構成及び動作概要について説明する。図1は、本実施形態の通信システムSの概要構成例を示す図である。図1に示すように、通信システムSは、配信サーバ1、及びクライアント端末2を含んで構成される。クライアント端末2は、端末装置の一例である。なお、図1に示すクライアント端末の数は一例であり、この数には限定されるものではない。配信サーバ1及びクライアント端末2は、それぞれ、ネットワークNWに接続される。ネットワークNWは、例えば、インターネット等により構成される。
[1. Overview of communication system configuration and operation]
First, with reference to FIG. 1, the structure and operation | movement outline | summary of the communication system S of embodiment of this invention are demonstrated. FIG. 1 is a diagram illustrating a schematic configuration example of a communication system S of the present embodiment. As shown in FIG. 1, the communication system S includes a distribution server 1 and a client terminal 2. The client terminal 2 is an example of a terminal device. The number of client terminals shown in FIG. 1 is an example, and the number is not limited to this number. The distribution server 1 and the client terminal 2 are each connected to the network NW. The network NW is configured by, for example, the Internet.
配信サーバ1は、クライアント端末2からのコンテンツ要求に応じて、コンテンツをクライアント端末2へ送信する。コンテンツには、動画データが含まれる。なお、コンテンツは、音声データを含んでもよい。コンテンツには、コンテンツIDが付与される。コンテンツIDは、コンテンツを識別する識別情報である。コンテンツの送信は、例えば、ネットワークNWを介してストリーミング配信により行われる。クライアント端末2は、配信サーバ1からストリーミングで配信されたコンテンツを受信する。クライアント端末2は、受信されたコンテンツに含まれる動画データを再生する。動画データは、複数の画像フレームから構成される。また、各画像フレームは、複数の画素から構成される。 The distribution server 1 transmits content to the client terminal 2 in response to a content request from the client terminal 2. The content includes moving image data. Note that the content may include audio data. A content ID is assigned to the content. The content ID is identification information for identifying the content. The content is transmitted by streaming distribution via the network NW, for example. The client terminal 2 receives the content distributed by streaming from the distribution server 1. The client terminal 2 reproduces the moving image data included in the received content. The moving image data is composed of a plurality of image frames. Each image frame is composed of a plurality of pixels.
そして、クライアント端末2は、再生された動画データの画像フレームにおいて複数の画素の中から特定された画素領域を表示画面に表示させる。この画素領域は、1画像フレーム内で表示画面に描画される描画領域に相当する。言い換えれば、画素領域は、画像フレームから切り出される表示範囲である。この画素領域は、例えば、疑似的なカメラワーク(以下、「カメラワーク」という)の操作により特定することができる。カメラワークの操作は、画像フレームにおける仮想カメラの操作により行われる。つまり、クライアント端末2は、動画データの出力に沿って、画像フレームにおける仮想カメラの操作に従って、複数の画素の中から特定された画素領域を表示画面に表示させる。ここで、仮想カメラとは、二次元平面または三次元仮想空間における仮想スクリーンに投影される動画に対して仮想的に設定された視点をいう。なお、動画の一例として、例えばパノラマ動画がある。パノラマ動画は、例えば高解像度のカメラで、且つ広範囲を撮影可能なレンズを搭載するカメラにより被写体が撮影された動画である。広範囲を撮影可能なレンズには、ワイドレンズ、魚眼レンズ、360度レンズ等がある。また、パノラマ動画は、複数のカメラの映像を合成して作成される場合もある。そして、仮想スクリーンには、平面スクリーン、円筒形のスクリーン、及び球形のスクリーンがある。例えば、動画を撮影したカメラのレンズが魚眼レンズや360度レンズである場合、仮想スクリーンは球形のスクリーンとなる。 Then, the client terminal 2 displays on the display screen a pixel area specified from a plurality of pixels in the image frame of the reproduced moving image data. This pixel area corresponds to a drawing area drawn on the display screen within one image frame. In other words, the pixel area is a display range cut out from the image frame. This pixel region can be specified by, for example, an operation of pseudo camera work (hereinafter referred to as “camera work”). The camera work operation is performed by operating the virtual camera in the image frame. That is, the client terminal 2 displays the pixel area specified from the plurality of pixels on the display screen according to the operation of the virtual camera in the image frame along with the output of the moving image data. Here, the virtual camera refers to a viewpoint virtually set for a moving image projected on a virtual screen in a two-dimensional plane or a three-dimensional virtual space. An example of a moving image is a panoramic moving image. A panoramic video is a video in which a subject is shot by a camera equipped with a lens capable of shooting a wide range, for example, with a high-resolution camera. Examples of lenses capable of photographing a wide range include a wide lens, a fisheye lens, and a 360 degree lens. A panoramic video may be created by combining a plurality of camera videos. The virtual screen includes a flat screen, a cylindrical screen, and a spherical screen. For example, when the lens of a camera that has captured a moving image is a fisheye lens or a 360-degree lens, the virtual screen is a spherical screen.
仮想カメラの操作には、例えば、仮想カメラのパン(左右振り)の操作、仮想カメラのチルト(上下振り)の操作、及び仮想カメラのズーム(拡大又は縮小)の操作がある。仮想カメラのパン及びチルトの操作により、仮想カメラの向き(アングル)が決まる。仮想カメラのパン及びチルトの操作は、例えば、ユーザによるマウスのドラッグ操作や、ユーザによる指やペン等によるフリック操作により実現できる。なお、フリック操作は、例えば、ユーザがタッチパネル方式の表示画面上で指やペン等の接触物を素早くスライドする操作である。また、仮想カメラのズームの操作により、仮想カメラの画角が決まる。仮想カメラのズームの操作は、例えば、ユーザがマウス等の操作部に設けられたボタンあるいはタッチパネル方式の表示画面上に表示されたボタン等を押すことにより実現できる。或いは、仮想カメラのズームの操作は、例えばユーザの指2本でタッチパネル方式の表示画面をピンチするピンチ操作により実現できる。ピンチ操作には、画素領域を縮小するピンチインと、画素領域を拡大するピンチアウトとがある。 The virtual camera operation includes, for example, a virtual camera pan (left / right swing) operation, a virtual camera tilt (up / down swing) operation, and a virtual camera zoom (enlargement or reduction) operation. The direction (angle) of the virtual camera is determined by the pan and tilt operations of the virtual camera. The panning and tilting operations of the virtual camera can be realized by, for example, a mouse dragging operation by the user or a flicking operation by the user with a finger or a pen. The flick operation is, for example, an operation in which the user quickly slides a contact object such as a finger or a pen on a touch panel display screen. Further, the angle of view of the virtual camera is determined by the zoom operation of the virtual camera. The zoom operation of the virtual camera can be realized, for example, when the user presses a button provided on an operation unit such as a mouse or a button displayed on a touch panel display screen. Alternatively, the zoom operation of the virtual camera can be realized by, for example, a pinch operation for pinching a touch-panel display screen with two user fingers. The pinch operation includes pinch-in that reduces the pixel area and pinch-out that enlarges the pixel area.
クライアント端末2は、動画データの再生中に、カメラワークデータを記録する。カメラワークデータには、画素領域を表示画面に表示させた仮想カメラの位置、仮想カメラの向き、及び仮想カメラの画角のうち少なくとも何れかを表す仮想カメラデータと、画素領域が表示画面に表示された再生時間(time)とが時系列に沿って対応付けられて含まれている。上記画素領域が、仮想カメラの位置または仮想カメラの向きにより特定される。一方、上記画素領域のズーム倍率(表示倍率)が、仮想カメラの画角により特定される。再生時間は、動画の再生開始からの再生位置に対応する再生時間を示す。再生時間は、言い換えれば、仮想カメラデータにより特定される画素領域が出力される再生時間である。本実施形態のカメラワークデータは、例えば、仮想カメラデータとして、パン(pan)、チルト(tilt)、及びズーム(zoom)のパラメータを含む。パン、チルトのパラメータは、仮想カメラの位置または仮想カメラの向きを表すデータの一例である。ズームのパラメータは、ズーム倍率(表示倍率)を表すデータの一例である。なお、仮想スクリーンが平面スクリーンの場合、画像フレームにおける仮想カメラの位置は、(x,y)座標を表すデータで規定される。この場合、(x,y)座標は、例えば仮想カメラの中心座標を示す。 The client terminal 2 records camera work data during the reproduction of moving image data. The camera work data includes virtual camera data representing at least one of the position of the virtual camera displaying the pixel area on the display screen, the orientation of the virtual camera, and the angle of view of the virtual camera, and the pixel area displayed on the display screen. Are included in association with each other along the time series. The pixel area is specified by the position of the virtual camera or the direction of the virtual camera. On the other hand, the zoom magnification (display magnification) of the pixel area is specified by the angle of view of the virtual camera. The reproduction time indicates the reproduction time corresponding to the reproduction position from the reproduction start of the moving image. In other words, the reproduction time is a reproduction time during which the pixel area specified by the virtual camera data is output. The camera work data of the present embodiment includes, for example, parameters of pan, tilt, and zoom as virtual camera data. The pan and tilt parameters are an example of data representing the position of the virtual camera or the direction of the virtual camera. The zoom parameter is an example of data representing the zoom magnification (display magnification). When the virtual screen is a flat screen, the position of the virtual camera in the image frame is defined by data representing (x, y) coordinates. In this case, the (x, y) coordinates indicate the center coordinates of the virtual camera, for example.
ここで、パン(pan)及びチルト(tilt)と、上記画素領域との関係は、例えば、下記(1),(2)式により表される。 Here, the relationship between pan and tilt and the pixel region is expressed by, for example, the following equations (1) and (2).
pan=x'+width/2・・・(1)
tilt=y'+height/2・・・(2)
pan = x '+ width / 2 (1)
tilt = y '+ height / 2 (2)
ここで、(x',y')は、例えば、画像フレームの左上端座標を原点(0,0)としたときの画素領域の左上端座標を示す。widthは、画素領域の幅を示す。heightは、画素領域の高さを示す。また、width及びheightは、それぞれ、例えば、下記(3),(4)式で表される。 Here, (x ′, y ′) indicates, for example, the upper left corner coordinates of the pixel area when the upper left corner coordinates of the image frame are set to the origin (0, 0). width indicates the width of the pixel region. height indicates the height of the pixel region. Moreover, width and height are respectively represented by the following formulas (3) and (4), for example.
width=W/α・・・(3)
height=H/α・・・(4)
width = W / α (3)
height = H / α (4)
ここで、Wは、画像フレームの幅を示す。Hは、画像フレームの高さを示す。αは、ズーム(zoom)により変わる値である。例えば、ズーム倍率が1倍であれば、α=1/4になる。ズーム倍率が2倍であれば、α=1/2になる。αとズーム倍率との関係は、例えばプログラム上で規定される。 Here, W indicates the width of the image frame. H indicates the height of the image frame. α is a value that varies depending on zoom. For example, if the zoom magnification is 1, α = 1/4. If the zoom magnification is 2, α = ½. The relationship between α and the zoom magnification is defined on a program, for example.
以上の(1)〜(4)式により、パン(pan)、チルト(tilt)、及びズーム(zoom)から、画像フレームの中の画素領域を特定することができる。 From the above formulas (1) to (4), the pixel region in the image frame can be specified from the pan, the tilt, and the zoom.
カメラワークデータによれば、二次元平面または三次元仮想空間における仮想スクリーンに投影される動画の全部または一部を仮想的に撮影する仮想カメラの動きを規定することができる。これにより、カメラワークを再現することができる。カメラワークデータは、例えば、動画データの再生開始からの再生終了までの再生時間において所定時間ごとに複数記録される。例えば、クライアント端末2は、仮想カメラの操作されたときの仮想カメラデータと、この仮想カメラが操作された動画データの再生時間とを対応付けて時系列に沿って例えばRAM等の記憶手段に記憶する。ここで、カメラワークデータの記録には、一時記録と、本記録とがある。一時記録とは、例えばRAMまたは記憶部22の所定の一時記憶領域にデータを一時的に記憶することをいう。一時記憶領域は、第1記憶手段の一例である。本記録とは、例えばRAMまたは記憶部22の一時記憶領域とは異なる本記憶領域にデータを記憶することをいう。本記憶領域は、第2記憶手段の一例である。なお、第1記憶手段と第2記憶手段とは、それぞれ別の記憶装置であっても良い。本記録されたデータは例えばファイルに格納されて保存される。 According to the camera work data, it is possible to define the movement of a virtual camera that virtually captures all or part of a moving image projected onto a virtual screen in a two-dimensional plane or a three-dimensional virtual space. Thereby, camerawork can be reproduced. For example, a plurality of camera work data is recorded every predetermined time in the reproduction time from the start of reproduction of the moving image data to the end of reproduction. For example, the client terminal 2 associates the virtual camera data when the virtual camera is operated with the reproduction time of the moving image data when the virtual camera is operated, and stores them in a storage unit such as a RAM along the time series. To do. Here, the recording of the camera work data includes a temporary recording and a main recording. Temporary recording refers to temporarily storing data in a predetermined temporary storage area of the RAM or the storage unit 22, for example. The temporary storage area is an example of a first storage unit. The main recording refers to storing data in a main storage area different from the temporary storage area of the RAM or the storage unit 22, for example. This storage area is an example of the second storage means. The first storage unit and the second storage unit may be separate storage devices. The recorded data is stored, for example, in a file.
クライアント端末2は、パン及びチルトにより特定された画素領域の所定時間あたりの変化量、または、ズームにより特定されたズーム倍率の所定時間あたりの変化量を特定する。ここで、画素領域の所定時間あたりの変化量とは、例えば画素領域の中心座標間の所定時間あたりの変化量である。なお、画素領域内の所定画素の座標間の所定時間あたりの変化量であってもよい。クライアント端末2は、所定時間あたりの変化量が所定値以下であるかを判定する。そして、クライアント端末2は、記録された仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた仮想カメラデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する。なお、例えば、所定時間あたりに、ズームが複数回にわたって操作され、最終的なズーム倍率に決定される場合や、ズーム倍率に急な変化がある場合が想定される。このような場合、いきなり所定の画素領域が拡大表示、または、縮小表示されるため、滑らかなカメラワークとならない可能性がある。このため、本実施形態では、所定時間あたりのズーム倍率の変化量が所定値以下でないと判定された再生時間に対応付けられたズーム倍率も補正されることになる。ここで、上記変化量が所定値以下でないと判定された再生時間を含む再生区間を、「特定の再生区間」という。 The client terminal 2 specifies the amount of change per predetermined time of the pixel area specified by panning and tilting, or the amount of change per predetermined time of the zoom magnification specified by zooming. Here, the amount of change per predetermined time of the pixel region is, for example, the amount of change per predetermined time between the center coordinates of the pixel region. Note that it may be a change amount per predetermined time between coordinates of a predetermined pixel in the pixel region. The client terminal 2 determines whether the amount of change per predetermined time is equal to or less than a predetermined value. Then, the client terminal 2 performs linear or n (n is a natural number) for each of the virtual camera data respectively associated with the reproduction time determined that the change amount is not less than or equal to the predetermined value in the recorded virtual camera data. ) Correction is performed using a conversion process for converting to a quadratic curve. Note that, for example, a case where the zoom is operated a plurality of times per predetermined time and the final zoom magnification is determined or there is a sudden change in the zoom magnification is assumed. In such a case, since a predetermined pixel area is suddenly enlarged or reduced, there is a possibility that smooth camera work will not be achieved. For this reason, in this embodiment, the zoom magnification associated with the reproduction time determined that the change amount of the zoom magnification per predetermined time is not less than or equal to the predetermined value is also corrected. Here, a playback section including a playback time for which it is determined that the amount of change is not less than a predetermined value is referred to as a “specific playback section”.
図2は、仮想カメラの操作により、画像フレームにおいて画素領域が時系列的に変化する様子を示す図である。図2の例では、画像フレームにおいて表示される描画領域が、表示範囲1から表示範囲4まで変化している。例えば、最初に表示された表示範囲1内には、オブジェクトが表れていない。そのため、ユーザは、仮想カメラを操作して、オブジェクトが表れるまで探すことになる。これにより、図2に示す補正前の表示範囲のように、矢印方向に表示範囲が移動する。この画像フレーム内における表示範囲の位置の移動は、直線的でなく遠回りした移動になっている。このような表示範囲の移動の途中で記録されたカメラワークデータは、遠回りした移動になる。しかし、上述したように、補正されたカメラワークデータによれば、図2に示す補正後の表示範囲の移動のように、直線的な移動することができる。なお、図2において、ユーザが例えばドラッグ操作により仮想カメラを操作する場合、図2に示す矢印方向とは逆方向にマウスのポインタを移動させることになる。 FIG. 2 is a diagram illustrating a state in which the pixel region in the image frame changes in time series by the operation of the virtual camera. In the example of FIG. 2, the drawing area displayed in the image frame changes from the display range 1 to the display range 4. For example, no object appears in the first display range 1 displayed. Therefore, the user operates the virtual camera and searches for the object until it appears. As a result, the display range moves in the direction of the arrow as in the display range before correction shown in FIG. The movement of the position of the display range in the image frame is not a straight line but a detour. The camera work data recorded during the movement of the display range is a detoured movement. However, as described above, according to the corrected camera work data, it is possible to move linearly like the movement of the corrected display range shown in FIG. In FIG. 2, when the user operates the virtual camera by, for example, a drag operation, the mouse pointer is moved in the direction opposite to the arrow direction shown in FIG.
[2.各装置の構成]
次に、図1を参照して、本実施形態の通信システムSに含まれる各装置の構成について説明する。配信サーバ1は、図1に示すように、制御部11、記憶部12、及びインターフェース部13等を備えて構成される。これらの構成要素は、バス14に接続されている。インターフェース部13は、ネットワークNWに接続される。制御部11は、コンピュータとしてのCPU(Center Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)等により構成される。制御部11は、コンテンツの送受信、及びカメラワークデータの送受信を制御する。記憶部12は、例えば、例えばハードディスクドライブにより構成される。記憶部12には、OS、及びサーバプログラム等が記憶されている。記憶部12には、例えば撮影装置から受信されたコンテンツがコンテンツIDに対応付けられて記憶される。また、記憶部12には、クライアント端末2から受信された複数のカメラワークデータがコンテンツIDに対応付けられて記憶される。
[2. Configuration of each device]
Next, the configuration of each device included in the communication system S of the present embodiment will be described with reference to FIG. As shown in FIG. 1, the distribution server 1 includes a control unit 11, a storage unit 12, an interface unit 13, and the like. These components are connected to the bus 14. The interface unit 13 is connected to the network NW. The control unit 11 includes a CPU (Center Processing Unit) as a computer, a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The control unit 11 controls transmission / reception of contents and transmission / reception of camera work data. The storage unit 12 is configured by, for example, a hard disk drive. The storage unit 12 stores an OS, a server program, and the like. For example, the content received from the photographing apparatus is stored in the storage unit 12 in association with the content ID. The storage unit 12 stores a plurality of camera work data received from the client terminal 2 in association with the content ID.
次に、クライアント端末2は、図1に示すように、制御部21、記憶部22、ビデオRAM23、映像制御部24、操作処理部25、音声制御部26、及びインターフェース部27等を備えて構成される。これらの構成要素は、バス28に接続されている。映像制御部24には、ディスプレイを備える表示部24aが接続される。制御部21は、コンピュータとしてのCPU(Center Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)等により構成される。制御部21は、本発明の第1判定手段、第2判定手段、及び補正手段の一例である。一例である。操作処理部25には、操作部25aが接続される。操作部25aには、例えば、マウス、キーボード、リモコン等がある。表示部24aと操作部25aとを兼ねるタッチパネルが適用されてもよい。制御部21は、ユーザによる操作部25aからの操作指示を、操作処理部25を介して受け付ける。ユーザは、操作部25aを用いて、上述した仮想カメラの操作を行うことができる。音声制御部26には、スピーカ26aが接続される。インターフェース部27は、ネットワークNWに接続される。記憶部22は、例えば、ハードディスクドライブ(HDD)により構成される。RAM、または記憶部12は、本発明の第3記憶手段の一例である。なお、第3記憶手段は、第1記憶手段と第2記憶手段と異なる別の記憶装置であっても良い。記憶部22には、OS、及びプレイヤーソフトウェア等が記憶されている。プレイヤーソフトウェアは、コンテンツの受信及び再生処理、カメラワークデータの記録処理、及びカメラワークデータの送受信処理をCPUに実行させるプログラムである。 Next, as shown in FIG. 1, the client terminal 2 includes a control unit 21, a storage unit 22, a video RAM 23, a video control unit 24, an operation processing unit 25, an audio control unit 26, an interface unit 27, and the like. Is done. These components are connected to the bus 28. A display unit 24 a including a display is connected to the video control unit 24. The control unit 21 includes a CPU (Center Processing Unit) as a computer, a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The control unit 21 is an example of a first determination unit, a second determination unit, and a correction unit of the present invention. It is an example. An operation unit 25 a is connected to the operation processing unit 25. Examples of the operation unit 25a include a mouse, a keyboard, and a remote controller. A touch panel serving both as the display unit 24a and the operation unit 25a may be applied. The control unit 21 receives an operation instruction from the operation unit 25 a by the user via the operation processing unit 25. The user can operate the virtual camera described above using the operation unit 25a. A speaker 26 a is connected to the audio control unit 26. The interface unit 27 is connected to the network NW. The storage unit 22 is configured by, for example, a hard disk drive (HDD). The RAM or the storage unit 12 is an example of a third storage unit of the present invention. The third storage unit may be a different storage device different from the first storage unit and the second storage unit. The storage unit 22 stores an OS, player software, and the like. The player software is a program that causes the CPU to execute content reception and playback processing, camera work data recording processing, and camera work data transmission / reception processing.
制御部21は、プレイヤーソフトウェアを実行することで、受信されたコンテンツを再生するプレイヤーとして機能する。また、プレイヤーの機能により、表示部24aにおけるディスプレイには、表示画面が表示される。表示画面は、ウインドウともいう。表示画面には、仮想カメラの操作に従って、動画が表示される。この動画は、受信された動画データの画像フレームにおける複数の画素の中から特定された画素領域に対応する動画である。また、制御部21におけるRAMにはバッファメモリが設けられている。バッファメモリには、受信されたコンテンツに含まれる動画データ等が一時的に保持される。制御部21は、バッファメモリからビデオRAM23へ動画データを出力する。ビデオRAM23には、描画データを書き込まれるフレームバッファが設けられている。映像制御部24は、制御部21からの制御信号に従って、フレームバッファに書き込まれた描画データを表示画面に描画することで表示させる。また、バッファメモリに保持されたコンテンツに音声データが含まれる場合がある。この場合、制御部21は、バッファメモリから音声データを再生して音声制御部26へ出力する。音声制御部26は、音声データからアナログ音声信号を生成し、生成したアナログ音声信号をスピーカ26aへ出力する。 The control unit 21 functions as a player that reproduces the received content by executing the player software. Moreover, a display screen is displayed on the display in the display unit 24a by the function of the player. The display screen is also called a window. A moving image is displayed on the display screen according to the operation of the virtual camera. This moving image is a moving image corresponding to a pixel region specified from a plurality of pixels in the image frame of the received moving image data. Further, the RAM in the control unit 21 is provided with a buffer memory. The buffer memory temporarily holds moving image data included in the received content. The control unit 21 outputs moving image data from the buffer memory to the video RAM 23. The video RAM 23 is provided with a frame buffer into which drawing data is written. The video control unit 24 displays the drawing data written in the frame buffer by drawing on the display screen according to the control signal from the control unit 21. In some cases, audio data is included in the content held in the buffer memory. In this case, the control unit 21 reproduces the audio data from the buffer memory and outputs it to the audio control unit 26. The voice control unit 26 generates an analog voice signal from the voice data, and outputs the generated analog voice signal to the speaker 26a.
[3.通信システムSの動作]
次に、図3及び図4等を参照して、本実施形態の通信システムSの動作について説明する。図3は、クライアント端末2におけるカメラワークデータの記録処理を示すフローチャートである。カメラワークデータの記録処理は、クライアント端末2の制御部21またはCPUにより実行される。図4は、カメラワークデータの記録処理においてカメラワークデータが記録される様子を示す概念図である。例えば制御部21は、ユーザによりプレイヤーの起動指示が行われると、図3に示す処理を開始する。図3に示す処理が開始されると、制御部21は、プレイヤーを起動させる(ステップS1)。プレイヤーが起動すると、例えばユーザにより選択されたコンテンツの受信及び再生処理を開始する。コンテンツ受信及び再生処理は、例えばOSのマルチタスク機能により、図3に示す処理とは独立して並列的に行われる。コンテンツの受信及び再生処理では、制御部21は、配信サーバ1へアクセスし、コンテンツの要求を送信する。そして、制御部21は、コンテンツの要求に応じて、配信サーバ1からストリーミングで配信されたコンテンツを受信しバッファメモリに記憶する。そして、制御部21は、バッファメモリに記憶されたコンテンツに含まれる動画データを再生する。制御部21は、再生された動画データに基づいて動画を表示画面に表示させる。
[3. Operation of communication system S]
Next, the operation of the communication system S of the present embodiment will be described with reference to FIGS. FIG. 3 is a flowchart showing the camera work data recording process in the client terminal 2. The camera work data recording process is executed by the control unit 21 or the CPU of the client terminal 2. FIG. 4 is a conceptual diagram showing how camera work data is recorded in the camera work data recording process. For example, the control unit 21 starts the process illustrated in FIG. 3 when the user gives an activation instruction. When the process shown in FIG. 3 is started, the control unit 21 activates the player (step S1). When the player is activated, for example, reception and playback processing of content selected by the user is started. The content reception and playback processing is performed in parallel with the processing shown in FIG. 3 by the multitask function of the OS, for example. In the content reception and reproduction process, the control unit 21 accesses the distribution server 1 and transmits a request for content. Then, in response to the content request, the control unit 21 receives the content distributed by streaming from the distribution server 1 and stores it in the buffer memory. And the control part 21 reproduces | regenerates the moving image data contained in the content memorize | stored in the buffer memory. The control unit 21 displays a moving image on the display screen based on the reproduced moving image data.
図3に示すステップS2では、制御部21は、カメラワーク中判定フラグをOFFにセットする。カメラワーク中判定フラグは、ユーザによる仮想カメラの操作中であるか否かを示すフラグである。カメラワーク中判定フラグがOFFの場合、仮想カメラの操作中でないことを示す。次いで、制御部21は、予め設定された第1時間待機する(ステップS3)。第1時間は、カメラワークデータの記録間隔を決めるための時間である。第1時間は、例えば0.5秒に設定される。次いで、制御部21は、プレイヤーの終了指示があるか否かを判定する(ステップS4)。制御部21は、プレイヤーの終了指示がないと判定した場合(ステップS4:NO)、ステップS5へ進む。 In step S2 shown in FIG. 3, the control unit 21 sets the camerawork determination flag to OFF. The in-camera determination flag is a flag indicating whether or not the user is operating the virtual camera. If the camera work determination flag is OFF, it indicates that the virtual camera is not being operated. Next, the control unit 21 waits for a preset first time (step S3). The first time is a time for determining the recording interval of the camera work data. The first time is set to 0.5 seconds, for example. Next, the control unit 21 determines whether or not there is an end instruction from the player (step S4). If the control unit 21 determines that there is no instruction to end the player (step S4: NO), the control unit 21 proceeds to step S5.
ステップS5では、制御部21は、カメラワーク中判定フラグがONであるか否かを判定する。制御部21は、カメラワーク中判定フラグがONでないと判定した場合(ステップS5:NO)、ステップS6へ進む。ステップS6では、制御部21は、カメラワークデータの一時記録があるか否かを判定する。制御部21は、カメラワークデータの一時記録がないと判定した場合(ステップS6:NO)、ステップS7に進む。 In step S5, the control unit 21 determines whether or not the camerawork determination flag is ON. If the controller 21 determines that the camerawork determination flag is not ON (step S5: NO), the controller 21 proceeds to step S6. In step S6, the control unit 21 determines whether or not camera work data is temporarily recorded. When it is determined that the camera work data is not temporarily recorded (step S6: NO), the control unit 21 proceeds to step S7.
ステップS7では、制御部21は、仮想カメラの操作中であるか否かを判定する。つまり、制御部21は、再生中の動画データにおいて、画像フレームにおける特定の画素領域を特定するための仮想カメラが操作されているかを判定する。制御部21は、仮想カメラの操作中でないと判定した場合(ステップS7:NO)、ステップS8へ進む。ステップS8では、制御部21は、カメラワークデータを本記録する。つまり、制御部21は、現在、表示画面に表示されている画素領域を特定する仮想カメラデータと、この画素領域が表示された再生時間とを対応付けたカメラワークデータを本記録し、ステップS3へ戻る。なお、本実施形態の本記録とは、最終的にカメラワークデータを確定し、記憶部22に記憶することを表す。こうして、図4に示すように、仮想カメラの操作が開始されるまで、カメラワークデータ(pan1, tilt1, zoom1, time1)等が、順次が本記録されていく。そして、ステップS7の判定前にユーザにより仮想カメラの操作が開始されると、制御部21は、ステップS7で仮想カメラの操作中であると判定する(ステップS7:YES)。この場合、制御部21は、カメラワーク中判定フラグをONにセットし(ステップS9)、ステップS10へ進む。 In step S7, the control unit 21 determines whether or not the virtual camera is being operated. That is, the control unit 21 determines whether or not a virtual camera for specifying a specific pixel area in the image frame is operated in the moving image data being reproduced. If it is determined that the virtual camera is not being operated (step S7: NO), the control unit 21 proceeds to step S8. In step S8, the control unit 21 performs main recording of camera work data. That is, the control unit 21 performs main recording of camera work data in which virtual camera data that identifies the pixel area currently displayed on the display screen is associated with a reproduction time during which the pixel area is displayed, and step S3 Return to. Note that the main recording in the present embodiment means that the camera work data is finally determined and stored in the storage unit 22. Thus, as shown in FIG. 4, the camera work data (pan1, tilt1, zoom1, time1) and the like are sequentially recorded until the operation of the virtual camera is started. And if operation of a virtual camera is started by the user before determination of step S7, the control part 21 will determine with operation of a virtual camera being in step S7 (step S7: YES). In this case, the control unit 21 sets the camerawork in-progress determination flag to ON (step S9), and proceeds to step S10.
ステップS10では、制御部21は、カメラワークデータを一時記録する。つまり、制御部21は、仮想カメラの操作に従って表示画面に表示された画素領域を特定する仮想カメラデータと、この画素領域が表示された再生時間とを対応付けたカメラワークデータを一時記録し、ステップS3へ戻る。こうして、図4に示すように、カメラワークデータ(pan4, tilt4, zoom4, time4)が一時記録される。ここで、制御部10は、カメラワークデータを一時記録する度に、カメラワークデータの数を示すカウント値に1加算する。このカウント値は、RAMの所定領域に記憶される。そして、制御部21は、ステップS5で、カメラワーク中判定フラグがONであると判定した場合(ステップS5:YES)、ステップS11へ進む。 In step S10, the control unit 21 temporarily records camera work data. That is, the control unit 21 temporarily records the camera work data in which the virtual camera data specifying the pixel area displayed on the display screen according to the operation of the virtual camera and the reproduction time in which the pixel area is displayed are associated with each other, Return to step S3. Thus, camera work data (pan4, tilt4, zoom4, time4) are temporarily recorded as shown in FIG. Here, every time camerawork data is temporarily recorded, the control unit 10 adds 1 to a count value indicating the number of camerawork data. This count value is stored in a predetermined area of the RAM. If the control unit 21 determines in step S5 that the in-camera determination flag is ON (step S5: YES), the control unit 21 proceeds to step S11.
ステップS11では、制御部21は、仮想カメラの操作中であるか否かを判定する。制御部21は、仮想カメラの操作中であると判定した場合(ステップS11:YES)、ステップS12へ進む。ステップS12では、制御部21は、所定時間あたりの変化量を特定する。ここで、所定時間は、例えば上記第1時間と同一である。所定時間あたりの変化量は、上述したように、例えば、パン及びチルトにより特定された画素領域の中心座標の所定時間あたりの変化量、または、ズームにより特定されたズーム倍率の所定時間あたりの変化量である。画素領域は、例えば上述した(1)〜(4)式を用いて制御部21により特定される。これにより、例えば、画素領域の4角の座標が特定される。制御部11は、特定した画素領域の4角の座標から中心座標を算出する。 In step S11, the control unit 21 determines whether or not the virtual camera is being operated. If it is determined that the virtual camera is being operated (step S11: YES), the control unit 21 proceeds to step S12. In step S12, the control unit 21 specifies the amount of change per predetermined time. Here, the predetermined time is the same as the first time, for example. As described above, the change amount per predetermined time is, for example, the change amount per predetermined time of the center coordinates of the pixel region specified by panning and tilting, or the change per predetermined time of the zoom magnification specified by zooming. Amount. The pixel area is specified by the control unit 21 using, for example, the above-described equations (1) to (4). Thereby, for example, the four corner coordinates of the pixel region are specified. The control unit 11 calculates center coordinates from the four corner coordinates of the specified pixel region.
次いで、制御部21は、ステップS12で特定した変化量が閾値(所定値)以下であるか否かを判定する(ステップS13)。なお、制御部21は、変化量が閾値未満であるか否かを判定してもよい。制御部21は、所定時間あたりの変化量が閾値以下でないと判定した場合(ステップS13:NO)、ステップS10へ進む。ステップS10では、制御部21は、上述したようにカメラワークデータを一時記録し、ステップS3へ戻る。つまり、制御部21は、画素領域を表示画面に表示させた仮想カメラデータと、この画素領域が表示された再生時間とを時系列に沿って対応付けて一時記録する。仮想カメラの操作により上記変化量が閾値より大きい間、カメラワークデータの一時記録が繰り返される。この間は、ユーザが仮想カメラを操作して例えば表示画面外にあるオブジェクトを探している期間と見做される。 Next, the control unit 21 determines whether or not the amount of change specified in step S12 is equal to or less than a threshold value (predetermined value) (step S13). Note that the control unit 21 may determine whether the amount of change is less than a threshold value. If the control unit 21 determines that the amount of change per predetermined time is not less than or equal to the threshold (step S13: NO), the control unit 21 proceeds to step S10. In step S10, the control unit 21 temporarily records the camera work data as described above, and returns to step S3. That is, the control unit 21 temporarily records the virtual camera data in which the pixel area is displayed on the display screen and the reproduction time in which the pixel area is displayed in association with each other in time series. While the change amount is larger than the threshold value by operating the virtual camera, the temporary recording of the camera work data is repeated. During this time, it is considered that the user is operating the virtual camera to search for an object outside the display screen, for example.
一方、制御部21は、所定時間あたりの変化量が閾値以下であると判定した場合(ステップS13:YES)、ステップS14へ進む。この場合、例えば、ユーザが仮想カメラを操作して閾値より大きい変化量で探していたオブジェクトを発見することで仮想カメラの操作を緩めた結果、所定時間あたりの変化量が閾値以下になったと想定される。ステップS14では、制御部21は、カメラワークデータの数を示すカウント値を参照して、カメラワークデータの一時記録が所定数あるか否かを判定する。つまり、制御部21は、一時記憶領域に仮想カメラデータと再生時間とが対応付けて記憶されているかを判定する。ここで、所定数は、カメラワークデータの補正に必要な数である3つ以上に設定される。なお、所定時間あたりの変化量が閾値以下であると判定された場合(ステップS13:YES)、ステップS8でカメラワークデータの本記録が行われることになる。つまり、この場合、画素領域を表示画面に表示させた仮想カメラデータと、画素領域が表示された再生時間とが時系列に沿って対応付けられて本記録される。制御部21は、カメラワークデータの一時記録が所定数あると判定した場合(ステップS14:YES)、ステップS15へ進む。 On the other hand, if the control unit 21 determines that the amount of change per predetermined time is equal to or less than the threshold (step S13: YES), the control unit 21 proceeds to step S14. In this case, for example, it is assumed that the amount of change per predetermined time has become equal to or less than the threshold as a result of loosening the operation of the virtual camera by operating the virtual camera and finding an object that was searched for with a change amount greater than the threshold. Is done. In step S14, the control unit 21 refers to the count value indicating the number of camera work data, and determines whether or not there is a predetermined number of temporary camera work data recordings. That is, the control unit 21 determines whether the virtual camera data and the reproduction time are stored in the temporary storage area in association with each other. Here, the predetermined number is set to three or more, which is a number necessary for correcting the camera work data. When it is determined that the amount of change per predetermined time is equal to or less than the threshold (step S13: YES), the camerawork data is recorded in step S8. That is, in this case, the virtual camera data in which the pixel area is displayed on the display screen and the reproduction time in which the pixel area is displayed are associated and recorded in time series. When it is determined that there is a predetermined number of temporary recordings of camera work data (step S14: YES), the control unit 21 proceeds to step S15.
ステップS15では、制御部21は、一時記録された複数のカメラワークデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する。つまり、制御部21は、上述した特定の再生区間に含まれる再生時間それぞれに対応付けられた仮想カメラデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する。なお、上述した特定の再生区間に含まれる再生時間に含まれる再生時間が補正されてもよい。図4の例では、(pan4, tilt4, zoom4, time4)から(pan8, tilt8, zoom8, time8)までの5つが一時記録されたカメラワークデータである。ここで、(pan4, tilt4, zoom4, time4)は、特定の再生区間の開始点のカメラワークデータである。また、(pan8, tilt8, zoom8, time8)は、特定の再生区間の終了点のカメラワークデータである。 In step S15, the control unit 21 corrects each of the plurality of temporarily recorded camera work data using a conversion process that converts the data into linear or n (n is a natural number) degree curve. That is, the control unit 21 corrects each of the virtual camera data associated with each playback time included in the specific playback section described above using a conversion process that converts the virtual camera data into a linear or n (n is a natural number) degree curve. To do. Note that the playback time included in the playback time included in the specific playback section described above may be corrected. In the example of FIG. 4, five pieces from (pan4, tilt4, zoom4, time4) to (pan8, tilt8, zoom8, time8) are temporarily recorded camera work data. Here, (pan4, tilt4, zoom4, time4) is camera work data at the start point of a specific playback section. Further, (pan8, tilt8, zoom8, time8) is camera work data at the end point of a specific playback section.
図5は、5つの仮想カメラデータのそれぞれが直線に変換される様子を示す概念図である。図5の例では、上述した5つの仮想カメラデータ(pan, tilt, zoom)が、三次元の座標(x,y,z)として補正計算に用いられる。ここで、P1の座標は(x1, y1, z1)、P2の座標は(x2, y2, z2)、P3の座標は(x3, y3, z3)、P4の座標は(x4, y4, z4)、P5の座標は(x5, y5, z5)であるとする。この場合、図5(A)に示す直線は、下記(1)の計算式により求めることができる。 FIG. 5 is a conceptual diagram showing how each of the five virtual camera data is converted into a straight line. In the example of FIG. 5, the five virtual camera data (pan, tilt, zoom) described above are used for correction calculation as three-dimensional coordinates (x, y, z). Here, the coordinates of P1 are (x1, y1, z1), the coordinates of P2 are (x2, y2, z2), the coordinates of P3 are (x3, y3, z3), and the coordinates of P4 are (x4, y4, z4) The coordinates of P5 are (x5, y5, z5). In this case, the straight line shown in FIG. 5A can be obtained by the following equation (1).
(x−x1)/(x5−x1)=(y−y1)/(y5−y1)=(z−z1)/(z5−z1)・・・(1) (x−x1) / (x5−x1) = (y−y1) / (y5−y1) = (z−z1) / (z5−z1) (1)
ここで、x,y,zは変数である。上記(1)の計算式を式変形すると、y={(y5+y1)/(x5-x1)}x+(−x1y5+x5y1)/(x5−x1)となり、yはxの1次関数となる。xとzの場合も同様である。なお、この例では、直線は、線形の一例である。 Here, x, y, and z are variables. When the above formula (1) is modified, y = {(y5 + y1) / (x5-x1)} x + (− x1y5 + x5y1) / (x5−x1), and y is a linear function of x. The same applies to x and z. In this example, the straight line is an example of a linear shape.
そして、この場合、制御部21は、例えば上記(1)の計算式により、P1の座標(x1, y1, z1)とP5の座標(x5, y5, z5)とを結ぶ直線を定義し、定義された直線上に、補正後のP2a座標(x2a, y2a, z2a)、P3a座標(x3a, y3a, z3a)、及びP4a座標(x4a, y4a, z4a)を割り当てる。言い換えれば、制御部21は、特定の再生区間の開始点の仮想カメラデータと、特定の再生区間の終了点の仮想カメラデータとの間にある3つの仮想カメラデータを補正する。この場合のP2a、P3a、及びP4aは、P1とP5の間の補完点である。なお、特定の再生区間の開始点の仮想カメラデータと、特定の再生区間の終了点の仮想カメラデータとが補正されてもよい。また、この場合、5つの仮想カメラデータのそれぞれに対応付けられる再生時間は補正されない。この場合、図5(B)に示すように、P1からP1a,P2a,P3aを介してP5までの所定時間あたりの変化量は一定である。 In this case, the control unit 21 defines and defines a straight line connecting the coordinates (x1, y1, z1) of P1 and the coordinates (x5, y5, z5) of P5, for example, by the calculation formula (1) above. The corrected P2a coordinates (x2a, y2a, z2a), P3a coordinates (x3a, y3a, z3a), and P4a coordinates (x4a, y4a, z4a) are allocated on the straight line. In other words, the control unit 21 corrects the three virtual camera data between the virtual camera data at the start point of the specific playback section and the virtual camera data at the end point of the specific playback section. In this case, P2a, P3a, and P4a are complementary points between P1 and P5. The virtual camera data at the start point of the specific playback section and the virtual camera data at the end point of the specific playback section may be corrected. In this case, the reproduction time associated with each of the five virtual camera data is not corrected. In this case, as shown in FIG. 5B, the amount of change per predetermined time from P1 to P5 through P1a, P2a, and P3a is constant.
しかし、制御部21は、図5(C)に示すように、P1からP1a,P2a,P3aを介してP5までの所定時間あたりの変化量が可変になるように補正してもよい。この場合、制御部21は、例えば、特定の再生区間に含まれるP1に対応する再生時間T1と、P2に対応する再生時間T2との間の時間差TDを算出する。次いで、制御部21は、算出した時間差TDに、所定係数k1を乗算し、補正時間差TD2aを算出する。この係数k1は、例えば、1.8に設定される。次いで、制御部21は、算出した補正時間差TD2aを再生時間T1に加算して新たな再生時間T2aを算出する。次いで、制御部21は、新たな再生時間T2aをP2aに対応する仮想カメラデータに対応付ける。次に、制御部21は、算出した時間差TDに、所定係数k2乗算し、補正時間差TD3aを算出する。この係数k2は、例えば、1.0に設定される。次いで、制御部21は、算出した補正時間差TD3aを新たな再生時間T2aに加算して新たな再生時間T3aを算出する。次いで、制御部21は、新たな再生時間T3aをP3aに対応する仮想カメラデータに対応付ける。次に、制御部21は、算出した時間差TDに、所定係数k3乗算し、補正時間差TD4aを算出する。この係数k3は、例えば、0.8に設定される。次いで、制御部21は、算出した補正時間差TD4aを新たな再生時間T3aに加算して新たな再生時間T4aを算出する。次いで、制御部21は、新たな再生時間T4aをP4aに対応する仮想カメラデータに対応付ける。これにより、図5(C)に示すように、P1からP1a,P2a,P3aを介してP5まで変位する所定時間あたりの変化量が最初は大きく、徐々に小さくなるように補正することができる。 However, as shown in FIG. 5C, the control unit 21 may correct the change amount per predetermined time from P1 to P5 through P1a, P2a, and P3a. In this case, for example, the control unit 21 calculates a time difference TD between a reproduction time T1 corresponding to P1 included in a specific reproduction section and a reproduction time T2 corresponding to P2. Next, the control unit 21 multiplies the calculated time difference TD by a predetermined coefficient k1 to calculate a correction time difference TD2a. This coefficient k1 is set to 1.8, for example. Next, the control unit 21 calculates a new reproduction time T2a by adding the calculated correction time difference TD2a to the reproduction time T1. Next, the control unit 21 associates the new playback time T2a with the virtual camera data corresponding to P2a. Next, the control unit 21 multiplies the calculated time difference TD by a predetermined coefficient k2 to calculate a correction time difference TD3a. This coefficient k2 is set to 1.0, for example. Next, the control unit 21 calculates a new reproduction time T3a by adding the calculated correction time difference TD3a to the new reproduction time T2a. Next, the control unit 21 associates the new playback time T3a with the virtual camera data corresponding to P3a. Next, the control unit 21 multiplies the calculated time difference TD by a predetermined coefficient k3 to calculate a correction time difference TD4a. This coefficient k3 is set to 0.8, for example. Next, the control unit 21 calculates a new reproduction time T4a by adding the calculated correction time difference TD4a to the new reproduction time T3a. Next, the control unit 21 associates the new playback time T4a with the virtual camera data corresponding to P4a. As a result, as shown in FIG. 5C, the amount of change per predetermined time for displacement from P1 to P5 via P1a, P2a, and P3a is initially large and can be corrected so as to gradually decrease.
なお、図5に示す例では、補正される3つのP2、P3、及びP4の座標は、同数の補完点(P2a、P3a及びP4a)に補正される例を示した。しかし、補正される3つのP2、P3、及びP4の座標は、同数の補完点に補正されなくともよい。例えば、補正される3つのP2、P3、及びP4の座標は、この数より多い補完点に補正されてもよい。また、上記例では、上記特定の画素領域内の中心座標間の位置の変化を直線にする1次関数を用いて仮想カメラデータが補正される例を示した。別の例として、制御部21は、一時記録された複数の仮想カメラのそれぞれを、n次曲線に変換する変換処理を用いて補正してもよい。n次曲線の例として、ベジェ曲線がある。この場合、制御部21は、例えば、図5(D)に示すようにP1,P3,P5の座標からベジェ曲線を定義し、定義されたベジェ曲線上に、補正後のP2a座標(x2a, y2a, z2a)、P3a座標(x3a, y3a, z3a)、及びP4a座標(x4a, y4a, z4a)を割り当てる。 In the example shown in FIG. 5, an example is shown in which the coordinates of the three corrected P2, P3, and P4 are corrected to the same number of complementary points (P2a, P3a, and P4a). However, the coordinates of the three corrected P2, P3, and P4 need not be corrected to the same number of complementary points. For example, the coordinates of the three corrected P2, P3, and P4 may be corrected to more complementary points than this number. In the above example, the virtual camera data is corrected using a linear function that makes the change in the position between the central coordinates in the specific pixel region a straight line. As another example, the control unit 21 may correct each of a plurality of temporarily recorded virtual cameras using a conversion process that converts the virtual camera into an n-order curve. An example of an nth order curve is a Bezier curve. In this case, for example, the control unit 21 defines a Bezier curve from the coordinates of P1, P3, and P5 as shown in FIG. 5D, and the corrected P2a coordinates (x2a, y2a) are defined on the defined Bezier curve. , z2a), P3a coordinates (x3a, y3a, z3a), and P4a coordinates (x4a, y4a, z4a).
次いで、制御部21は、ステップS15で補正されたカメラワークデータ、または一時記録されたカメラワークデータを本記録する(ステップS16)。処理がステップS15を経由する場合、制御部21は、ステップS15で補正されたカメラワークデータと、ステップS8で本記録されたカメラワークデータとを用いて、本カメラワークデータを生成する。次いで、制御部21は、一時記録されたカメラワークデータ、及びOFF時刻をリセットする(ステップS17)。つまり、一時記録されたカメラワークデータが一時記録領域から消去される。また、後述するステップS19で記録されるOFF時刻が0にリセットされる。そして、制御部21は、カメラワークデータ及びOFF時刻のリセット後、ステップS8へ移行する。この場合、ステップS8では、カメラワークデータの本記録が行われ、ステップS3へ戻る。その後、仮想カメラの操作が停止されると、制御部21は、ステップS11で、仮想カメラの操作中でないと判定し(ステップS11:NO)、ステップS18へ進む。ステップS18では、制御部21は、一時記録されたカメラワークデータ、及びOFF時刻をリセットする。次いで、ステップS18でリセットした時刻をOFF時刻として記録し(ステップS19)、ステップS10へ移行する。この場合、ステップS10では、カメラワークデータの一時記録が行われ、ステップS3へ戻る。そして、制御部21は、ステップS3、及びステップS4を経てステップS5に移行したとする。この場合、制御部21は、ステップS5で、カメラワーク中判定フラグがONでないと判定し(ステップS5:NO)、ステップS6へ進む。 Next, the control unit 21 performs main recording of the camera work data corrected in step S15 or the temporarily recorded camera work data (step S16). When the process goes through step S15, the control unit 21 generates main camera work data using the camera work data corrected in step S15 and the camera work data recorded in step S8. Next, the control unit 21 resets the temporarily recorded camera work data and the OFF time (step S17). That is, the temporarily recorded camera work data is deleted from the temporary recording area. Further, the OFF time recorded in step S19 described later is reset to zero. Then, after resetting the camera work data and the OFF time, the control unit 21 proceeds to step S8. In this case, in step S8, the camera work data is fully recorded, and the process returns to step S3. Thereafter, when the operation of the virtual camera is stopped, the control unit 21 determines in step S11 that the virtual camera is not being operated (step S11: NO), and proceeds to step S18. In step S18, the control unit 21 resets the temporarily recorded camera work data and the OFF time. Next, the time reset in step S18 is recorded as the OFF time (step S19), and the process proceeds to step S10. In this case, in step S10, camera work data is temporarily recorded, and the process returns to step S3. And the control part 21 shall transfer to step S5 through step S3 and step S4. In this case, the control unit 21 determines in step S5 that the camerawork in-progress determination flag is not ON (step S5: NO), and proceeds to step S6.
ところで、例えば、ユーザが仮想カメラの操作を開始した後、閾値以下の変化量で仮想カメラの操作を行う場合がある。この場合、制御部21は、ステップS13で、所定時間あたりの変化量が閾値以下でないと判定することなく、ステップS14へ進む。そのため、この場合、カメラワークデータの一時記録が1つだけとなる。ただし、図3の例では、ステップS9の処理後にステップS10の処理が行われるので、必ず1つのカメラワークデータは一時記録される。制御部21は、カメラワークデータの一時記録が所定数ないと判定した場合(ステップS14:NO)、ステップS16へ進む。この場合のステップS16では、制御部12は、一時記録したカメラワークデータを本記録する。つまり、この場合、図4に示すように、一時記録されたカメラワークデータ(pan11, tilt11, zoom11, time11)の補正は行われない。次いで、制御部21は、一時記録されたカメラワークデータ、及びOFF時刻をリセットし(ステップS17)、ステップS8に移行する。なお、制御部21は、ステップS9の処理後ステップS3に移行してもよい。この場合、ステップS14の判定時に、カメラワークデータが一時記録されていないことがありうる。この場合、制御部11は、例えば、ステップS14からステップS8へ移行することになる。 By the way, for example, after the user starts operating the virtual camera, the virtual camera may be operated with a change amount equal to or less than a threshold value. In this case, the control unit 21 proceeds to step S14 without determining in step S13 that the amount of change per predetermined time is not less than or equal to the threshold value. Therefore, in this case, only one camera work data is temporarily recorded. However, in the example of FIG. 3, since the process of step S10 is performed after the process of step S9, one camera work data is always temporarily recorded. If the control unit 21 determines that the predetermined number of camera work data is not temporarily recorded (step S14: NO), the control unit 21 proceeds to step S16. In step S16 in this case, the control unit 12 performs the main recording of the temporarily recorded camera work data. That is, in this case, as shown in FIG. 4, the temporarily recorded camera work data (pan11, tilt11, zoom11, time11) is not corrected. Next, the control unit 21 resets the temporarily recorded camera work data and the OFF time (step S17), and proceeds to step S8. In addition, the control part 21 may transfer to step S3 after the process of step S9. In this case, camera work data may not be temporarily recorded at the time of determination in step S14. In this case, the control part 11 will transfer to step S8 from step S14, for example.
また、ステップS9でカメラワーク中判定フラグがONにセットされた後、ステップS11の処理までに仮想カメラの操作を停止する場合がある。つまり、ユーザが仮想カメラの操作を例えば一瞬だけ行った場合である。この場合、ステップS11で、制御部21は、仮想カメラの操作中でないと判定し(ステップS11:NO)、ステップS18へ進む。ステップS18では、制御部21は、一時記録されたカメラワークデータ、及びOFF時刻をリセットする。次いで、ステップS18でリセットした時刻をOFF時刻として記録し(ステップS19)、ステップS10へ移行する。そして、制御部21は、ステップS10、ステップS3、及びステップS4を経てステップS5に移行したとする。この場合、制御部21は、ステップS5で、カメラワーク中判定フラグがONでないと判定し(ステップS5:NO)、ステップS6へ進む。 In addition, after the camera work determination flag is set to ON in step S9, the operation of the virtual camera may be stopped before the process of step S11. In other words, this is a case where the user has operated the virtual camera for a moment, for example. In this case, in step S11, the control unit 21 determines that the virtual camera is not being operated (step S11: NO), and proceeds to step S18. In step S18, the control unit 21 resets the temporarily recorded camera work data and the OFF time. Next, the time reset in step S18 is recorded as the OFF time (step S19), and the process proceeds to step S10. Then, it is assumed that the control unit 21 proceeds to step S5 through step S10, step S3, and step S4. In this case, the control unit 21 determines in step S5 that the camerawork in-progress determination flag is not ON (step S5: NO), and proceeds to step S6.
そして、制御部21は、ステップS6で、カメラワークデータの一時記録があると判定した場合(ステップS6:YES)、ステップS20へ進む。ステップS20では、制御部21は、カメラワークワーク中判定フラグのOFF時刻から第2時間が経過したか否かを判定する。この第2時間は、例えば3つ以上のカメラワークデータが一時記録されるまでの時間以上に設定される。制御部21は、カメラワークワーク中判定フラグのOFF時刻から第2時間が経過していないと判定した場合(ステップS20:NO)、ステップS7へ移行する。一方、制御部21は、カメラワークワーク中判定フラグのOFF時刻から第2時間が経過したと判定した場合(ステップS20:YES)、ステップS21へ進む。なお、ステップS21〜S23の処理は、ステップS15〜S17の処理と同様である。 If the control unit 21 determines in step S6 that there is temporary recording of camera work data (step S6: YES), the control unit 21 proceeds to step S20. In step S20, the control unit 21 determines whether or not the second time has elapsed from the OFF time of the camera work work determination flag. For example, the second time is set to be longer than the time until three or more camera work data are temporarily recorded. When it is determined that the second time has not elapsed since the OFF time of the camera work work determination flag (step S20: NO), the control unit 21 proceeds to step S7. On the other hand, when it is determined that the second time has elapsed from the OFF time of the camera work work determination flag (step S20: YES), the control unit 21 proceeds to step S21. In addition, the process of step S21-S23 is the same as the process of step S15-S17.
そして、ユーザによりプレイヤーの終了指示が行われると、制御部21は、ステップS4で、プレイヤーの終了指示があると判定し(ステップS4:YES)、ステップS24へ進む。ステップS24では、ステップS6と同様、制御部21は、カメラワークデータの一時記録があるか否かを判定する。制御部21は、カメラワークデータの一時記録がないと判定した場合(ステップS24:NO)、ステップS29へ進む。一方、制御部21は、カメラワークデータの一時記録があると判定した場合(ステップS24:YES)、ステップS25へ進む。なお、ステップS25〜S28の処理は、ステップS14〜S17の処理と同様である。この場合、制御部21は、ステップS28の処理を行った後に、ステップS29へ進む。 Then, when the user gives an instruction to end the player, the control unit 21 determines in step S4 that there is an instruction to end the player (step S4: YES), and proceeds to step S24. In step S24, as in step S6, the control unit 21 determines whether or not camera work data is temporarily recorded. When it is determined that the camera work data is not temporarily recorded (step S24: NO), the control unit 21 proceeds to step S29. On the other hand, when it is determined that there is temporary recording of camera work data (step S24: YES), the control unit 21 proceeds to step S25. Note that the processing in steps S25 to S28 is the same as the processing in steps S14 to S17. In this case, the control unit 21 proceeds to step S29 after performing the process of step S28.
ステップS29では、制御部21は、本記憶領域に記憶された本カメラワークデータを、再生された動画データのカメラワークデータとして登録する。例えば、制御部21は、本カメラワークデータ及び再生された動画データのコンテンツIDとを対応付けて記憶部22に記憶する。また、制御部21は、本記憶領域に記憶されたカメラワークデータ及び再生された動画データのコンテンツIDとを配信サーバ1へアップロードする。カメラワークデータの記録処理においてカメラワークデータが補正された場合、補正されたカメラワークデータが配信サーバ1へアップロードされる。つまり、この場合、制御部21は、補正された仮想カメラデータと再生時間とを時系列に沿って対応付けて配信サーバ1へアップロードする。そして、配信サーバ1は、クライアント端末2からアップロードされたカメラワークデータをコンテンツIDに対応に対応付けて記憶部12に記憶する。このように記憶されたカメラワークデータの所在を示すURL(Uniform Resource Locator)は、例えば所定のWebサイトで公開される。これにより、アップロードされたカメラワークデータは、複数のクライアント端末間で共有することが可能となる。なお、制御部21は、ステップS29の処理を行った後、図3に示す処理を終了する。 In step S29, the control unit 21 registers the main camera work data stored in the main storage area as the camera work data of the reproduced moving image data. For example, the control unit 21 stores the camera work data and the content ID of the reproduced moving image data in the storage unit 22 in association with each other. In addition, the control unit 21 uploads the camera work data stored in the storage area and the content ID of the reproduced moving image data to the distribution server 1. When the camera work data is corrected in the camera work data recording process, the corrected camera work data is uploaded to the distribution server 1. That is, in this case, the control unit 21 uploads the corrected virtual camera data and the reproduction time to the distribution server 1 in association with each other in time series. The distribution server 1 stores the camera work data uploaded from the client terminal 2 in the storage unit 12 in association with the content ID. A URL (Uniform Resource Locator) indicating the location of the camera work data stored in this way is disclosed on a predetermined website, for example. Thereby, the uploaded camera work data can be shared among a plurality of client terminals. In addition, the control part 21 complete | finishes the process shown in FIG. 3, after performing the process of step S29.
以上説明したように、上記実施形態によれば、クライアント端末2は、パン及びチルトにより特定された画素領域の所定時間あたりの変化量、または、ズームにより特定されたズーム倍率の所定時間あたりの変化量を特定する。そして、クライアント端末2は、記録された仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた仮想カメラデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する。そのため、カメラワークのスキルが十分でないユーザであっても、クライアント端末2は、見栄えの良い滑らかなカメラワークを再現できるカメラワークデータを作成することができる。 As described above, according to the above-described embodiment, the client terminal 2 changes the amount of change in the pixel area specified by panning and tilting per predetermined time or the change in the zoom magnification specified by zooming per predetermined time. Specify the amount. Then, the client terminal 2 performs linear or n (n is a natural number) for each of the virtual camera data respectively associated with the reproduction time determined that the change amount is not less than or equal to the predetermined value in the recorded virtual camera data. ) Correction is performed using a conversion process for converting to a quadratic curve. Therefore, even if the user does not have sufficient camerawork skills, the client terminal 2 can create camerawork data that can reproduce a smooth camerawork that looks good.
1 配信サーバ
2 クライアント端末
S 通信システム
DESCRIPTION OF SYMBOLS 1 Distribution server 2 Client terminal S Communication system
Claims (9)
前記第1判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶手段に記憶する記憶ステップと、
前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定ステップと、
前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正ステップと、
をコンピュータに実行させることを特徴とするプログラム。 First, it is determined whether or not a virtual camera for specifying a specific pixel region in the image frame is operated in moving image data including a plurality of the image frames. 1 determination step;
When it is determined by the first determination step that the virtual camera is operated, the direction when the virtual camera is operated, the position when the virtual camera is operated, and the virtual camera is operated A storage step of associating the virtual camera data representing at least one of the angles of view at the time when the virtual camera is operated with the reproduction time of the moving image data on which the virtual camera is operated, and storing them in a storage unit in time series;
A second determination step of determining whether the amount of change per predetermined time of the pixel area specified by the virtual camera data or the amount of change per predetermined time of the zoom magnification specified by the virtual camera data is equal to or less than a predetermined value. When,
Of the virtual camera data stored in the storage means, each of the virtual camera data associated with a reproduction time determined that the change amount is not less than a predetermined value is linear or n (n is a natural number) A correction step for correcting using a conversion process for converting to a quadratic curve;
A program that causes a computer to execute.
前記補正ステップにより補正された前記仮想カメラデータと前記再生時間とを時系列に沿って対応付けてサーバ装置へアップロードするステップを前記コンピュータに更に実行させることを特徴とする請求項1に記載のプログラム。 The program is
2. The program according to claim 1, further causing the computer to further execute a step of associating the virtual camera data corrected by the correction step and the reproduction time in a time series and uploading them to a server device. .
前記第1判定ステップにより、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定ステップと、
前記第2判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて第1記憶手段に記憶する第1記憶ステップと、
前記第2判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて第2記憶手段に記憶する第2記憶ステップと、
前記第2記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正ステップと、
をコンピュータに実行させることを特徴とするプログラム。 First, it is determined whether or not a virtual camera for specifying a specific pixel region in the image frame is operated in moving image data including a plurality of the image frames. 1 determination step;
When it is determined by the first determination step that the virtual camera is operated, the direction when the virtual camera is operated, the position when the virtual camera is operated, and the virtual camera is operated The amount of change per predetermined time of the pixel area specified by the virtual camera data representing at least one of the angles of view at the time when the zoom is performed, or the amount of change per predetermined time of the zoom magnification specified by the virtual camera data is predetermined. A second determination step of determining whether the value is equal to or less than a value;
The amount of change per predetermined time of the pixel area specified by the virtual camera data or the amount of change per predetermined time of the zoom magnification specified by the virtual camera data is less than or equal to a predetermined value by the second determination step. A first storage step of storing the virtual camera data and the reproduction time when the pixel area is displayed on the display screen in association with each other in a time series when the determination is made;
In the second determination step, it is determined that the change amount per predetermined time of the pixel area specified by the virtual camera data or the change amount per predetermined time of the zoom magnification specified by the virtual camera data is not less than a predetermined value. A second storage step of storing the virtual camera data and the reproduction time in which the pixel area is displayed on the display screen in association with each other in time series in the second storage unit;
A conversion process for converting at least a part of the virtual camera data associated with each of the reproduction times stored in time series in the second storage unit into a linear or n (n is a natural number) degree curve is used. Correction steps to correct
A program that causes a computer to execute.
前記第2判定ステップにより、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量が所定値以下であると判定された場合、前記第2記憶手段に前記仮想カメラデータと前記再生時間とが対応付けて記憶されているかを判定する第3判定ステップを前記コンピュータにさらに実行させ、
前記第3判定ステップにより、前記第2記憶手段に、前記仮想カメラデータと前記再生時間とが対応付けられて記憶されていると判定された場合、前記補正ステップは、前記第2記憶手段に記憶された前記仮想カメラデータを補正することを特徴とする請求項3に記載のプログラム。 The program is
When it is determined by the second determination step that the amount of change per predetermined time of the pixel area specified by the virtual camera data is equal to or less than a predetermined value, the virtual memory data and the reproduction time are stored in the second storage unit. And further causing the computer to execute a third determination step for determining whether or not is stored in association with each other,
When it is determined by the third determination step that the virtual camera data and the reproduction time are stored in the second storage unit in association with each other, the correction step is stored in the second storage unit. The program according to claim 3, wherein the virtual camera data is corrected.
前記補正ステップにより、補正された前記仮想カメラデータと、前記第1記憶手段に記憶された前記仮想カメラデータとを用いて生成された本カメラワークデータを、前記動画データのカメラワークデータとして登録する登録ステップを前記コンピュータに実行させることを特徴とする請求項3または請求項4に記載のプログラム。 The program is
The camera work data generated by using the virtual camera data corrected by the correction step and the virtual camera data stored in the first storage unit is registered as camera work data of the moving image data. The program according to claim 3 or 4, wherein the registration step is executed by the computer.
前記第1判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータと、前記仮想カメラが操作された前記動画データの再生時間とを対応付けて時系列に沿って記憶する記憶手段と、
前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定手段と、
前記記憶手段に記憶された前記仮想カメラデータの中で、変化量が所定値以下でないと判定された再生時間にそれぞれ対応付けられた前記仮想カメラデータのそれぞれを、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正手段と、
を備えることを特徴とする端末装置。 First, it is determined whether or not a virtual camera for specifying a specific pixel region in the image frame is operated in moving image data including a plurality of the image frames. 1 determination means;
When it is determined by the first determination means that the virtual camera is operated, the direction when the virtual camera is operated, the position when the virtual camera is operated, and the virtual camera is operated Storage means for storing virtual camera data representing at least one of the angle of view at the time when the virtual camera is operated and a reproduction time of the moving image data in which the virtual camera is operated in association with each other in time series;
Second determination means for determining whether a change amount per predetermined time of the pixel area specified by the virtual camera data or a change amount per predetermined time of the zoom magnification specified by the virtual camera data is equal to or less than a predetermined value. When,
Of the virtual camera data stored in the storage means, each of the virtual camera data associated with a reproduction time determined that the change amount is not less than a predetermined value is linear or n (n is a natural number) Correction means for correcting using a conversion process for converting to a quadratic curve;
A terminal device comprising:
前記第1判定手段により、前記仮想カメラが操作されていると判定された場合、前記仮想カメラが操作されたときの向き、前記仮想カメラが操作されたときの位置、及び、前記仮想カメラが操作されたときの画角のうち少なくともいずれかを表す仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であるかを判定する第2判定手段と、
前記第2判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下であると判定された場合、前記仮想カメラデータと、前記画素領域が表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第1記憶手段と、
前記第2判定手段により、前記仮想カメラデータにより特定された画素領域の所定時間あたりの変化量、または前記仮想カメラデータにより特定されたズーム倍率の所定時間あたりの変化量が所定値以下でないと判定された場合、前記仮想カメラデータと、前記画素領域が前記表示画面に表示された再生時間とを時系列に沿って対応付けて記憶する第2記憶手段と、
前記第2記憶手段に時系列に沿って記憶された前記再生時間それぞれに対応付けられた前記仮想カメラデータの少なくとも一部を、線形またはn(nは自然数)次曲線に変換する変換処理を用いて補正する補正手段と、
を備えることを特徴とする端末装置。 First, it is determined whether or not a virtual camera for specifying a specific pixel region in the image frame is operated in moving image data including a plurality of the image frames. 1 determination means;
When it is determined by the first determination means that the virtual camera is operated, the direction when the virtual camera is operated, the position when the virtual camera is operated, and the virtual camera is operated The amount of change per predetermined time of the pixel area specified by the virtual camera data representing at least one of the angles of view at the time when the zoom is performed, or the amount of change per predetermined time of the zoom magnification specified by the virtual camera data is predetermined. Second determination means for determining whether the value is equal to or less than a value;
The amount of change per predetermined time of the pixel area specified by the virtual camera data or the amount of change per predetermined time of the zoom magnification specified by the virtual camera data by the second determination unit is less than or equal to a predetermined value. A first storage unit that stores the virtual camera data and the reproduction time in which the pixel area is displayed on the display screen in association with each other in a time series when the determination is made;
The second determination means determines that the change amount per predetermined time of the pixel area specified by the virtual camera data or the change amount per predetermined time of the zoom magnification specified by the virtual camera data is not less than a predetermined value. A second storage means for storing the virtual camera data and the reproduction time when the pixel area is displayed on the display screen in association with each other in time series;
A conversion process for converting at least a part of the virtual camera data associated with each of the reproduction times stored in time series in the second storage unit into a linear or n (n is a natural number) degree curve is used. Correction means for correcting
A terminal device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014075376A JP2015198332A (en) | 2014-04-01 | 2014-04-01 | Terminal and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014075376A JP2015198332A (en) | 2014-04-01 | 2014-04-01 | Terminal and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015198332A true JP2015198332A (en) | 2015-11-09 |
Family
ID=54547807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014075376A Pending JP2015198332A (en) | 2014-04-01 | 2014-04-01 | Terminal and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015198332A (en) |
-
2014
- 2014-04-01 JP JP2014075376A patent/JP2015198332A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9781356B1 (en) | Panoramic video viewer | |
JP6167703B2 (en) | Display control device, program, and recording medium | |
JP5875463B2 (en) | Imaging apparatus, mask image setting method, and program | |
WO2017036329A1 (en) | Method and device for playing video content at any position and time | |
JP6563896B2 (en) | Automatic adjustment of image direction | |
JP6544996B2 (en) | Control device and control method | |
JP2016181835A (en) | Reproduction control device and reproduction control method | |
JP5861684B2 (en) | Information processing apparatus and program | |
JP7020024B2 (en) | Information processing equipment and programs | |
JP6149967B1 (en) | Video distribution server, video output device, video distribution system, and video distribution method | |
WO2017024954A1 (en) | Method and device for image display | |
JP6486437B2 (en) | Imaging apparatus, setting method, and program | |
CN108156512B (en) | Video playing control method and device | |
JP2015162117A (en) | server device, program, and information processing method | |
JP5818326B2 (en) | Video viewing history analysis method, video viewing history analysis apparatus, and video viewing history analysis program | |
JP2015198332A (en) | Terminal and program | |
KR102280716B1 (en) | Augmented reality providing server and Method for playing content based on augmented reality using the same | |
JP5821919B2 (en) | Information processing apparatus and program | |
JP5967126B2 (en) | Terminal device and program | |
JPH11153430A (en) | Taken image management device and its program recording medium | |
JP5880612B2 (en) | Information processing apparatus and program | |
JP5854019B2 (en) | Terminal device and program | |
JP6443505B2 (en) | Program, display control apparatus, and display control method | |
JP5854018B2 (en) | Communication system, information processing apparatus, and program | |
JP6551107B2 (en) | Server apparatus, server program, terminal program, moving image transmission method, moving image display method, communication system |