JP7744523B2 - Display Control System - Google Patents
Display Control SystemInfo
- Publication number
- JP7744523B2 JP7744523B2 JP2024538884A JP2024538884A JP7744523B2 JP 7744523 B2 JP7744523 B2 JP 7744523B2 JP 2024538884 A JP2024538884 A JP 2024538884A JP 2024538884 A JP2024538884 A JP 2024538884A JP 7744523 B2 JP7744523 B2 JP 7744523B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- user terminal
- virtual object
- unit
- display
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating three-dimensional [3D] models or images for computer graphics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明の一側面は、仮想オブジェクトの表示制御を行う表示制御システムに関する。 One aspect of the present invention relates to a display control system that controls the display of virtual objects.
仮想現実(VR)、拡張現実(AR)、複合現実(MR)等の仮想の物体(仮想オブジェクト)をユーザに提示する技術(以下「XR技術」という。)が知られている。例えば、特許文献1には、表示装置に表示される現実空間画像に仮想オブジェクトを重ねて表示することで、ユーザに拡張現実又は複合現実を提供する仕組みが開示されている。 Technologies for presenting virtual objects to users, such as virtual reality (VR), augmented reality (AR), and mixed reality (MR) (hereinafter referred to as "XR technologies"), are known. For example, Patent Literature 1 discloses a mechanism for providing augmented reality or mixed reality to users by overlaying virtual objects on a real-space image displayed on a display device.
上述のXR技術において、ユーザの仮想体験の快適性を高める観点から、仮想オブジェクトの表示をなるべく高速化することが求められる。例えば、上記XR技術を応用した仕組みとして、現実空間に存在する物体をスキャンすることにより生成された3Dオブジェクトである仮想オブジェクトをユーザ端末にダウンロード表示させる仕組みがある。しかし、このような現実の物体をベースとした仮想オブジェクトは一般にファイルサイズが大きくなるため、ダウンロードに時間がかかり、ユーザ端末の表示部に仮想オブジェクトが表示されるまでの時間が長期化する場合がある。一方、ダウンロード時間を短縮するためにリダクション等によって仮想オブジェクトのファイルサイズを小さくした場合には、本来の品質(解像度)の仮想オブジェクトをユーザに届けることができないため、ユーザの仮想体験の質が低下してしまうという別の問題が生じ得る。In the above-mentioned XR technology, it is necessary to display virtual objects as quickly as possible in order to improve the comfort of the user's virtual experience. For example, one system that applies the above-mentioned XR technology is a system that downloads and displays virtual objects, which are 3D objects created by scanning objects existing in real space, to a user's device. However, such virtual objects based on real objects generally have large file sizes, which can take a long time to download and can result in a long time until the virtual object is displayed on the user's device's display. On the other hand, if the file size of a virtual object is reduced by methods such as file reduction to shorten the download time, another problem can arise: the virtual object cannot be delivered to the user at its original quality (resolution), thereby degrading the quality of the user's virtual experience.
そこで、本発明の一側面は、ユーザ端末に仮想オブジェクトが表示されるまでの時間の短縮化を図りつつ、ユーザの仮想体験の質を維持することができる表示制御システムを提供することを目的とする。 Therefore, one aspect of the present invention aims to provide a display control system that can shorten the time it takes for a virtual object to be displayed on a user terminal while maintaining the quality of the user's virtual experience.
本発明の一側面に係る表示制御システムは、ユーザ端末の表示部に表示される仮想オブジェクトの表示制御を行う表示制御システムであって、一の仮想オブジェクトである第1仮想オブジェクトについて、第1ファイルサイズを有する第1ファイルと、第1ファイルサイズよりも大きい第2ファイルサイズを有する第2ファイルと、を記憶するファイル記憶部と、ユーザ端末における第1仮想オブジェクトの表示を制御する表示制御部と、を備える。表示制御部は、第2ファイルよりも第1ファイルを優先してユーザ端末に送信することにより、表示部に第1ファイルに基づく第1仮想オブジェクトを表示させる第1処理と、第1ファイルの送信後、又は、第1ファイルの送信と並行して、第2ファイルをユーザ端末に送信する第2処理と、表示部に第1ファイルに基づく第1仮想オブジェクトが表示されており、且つ、ユーザ端末への第2ファイルの送信が完了している場合に、表示部に表示されている第1ファイルに基づく第1仮想オブジェクトを第2ファイルに基づく第1仮想オブジェクトに切り替える第3処理と、を実行する。 A display control system according to one aspect of the present invention controls the display of virtual objects displayed on a display unit of a user terminal. The display control system includes a file storage unit that stores, for a first virtual object, a first file having a first file size and a second file having a second file size larger than the first file size, and a display control unit that controls the display of the first virtual object on the user terminal. The display control unit performs the following operations: a first process of transmitting the first file to the user terminal in priority to the second file, thereby displaying the first virtual object based on the first file on the display unit; a second process of transmitting the second file to the user terminal after transmitting the first file or in parallel with transmitting the first file; and a third process of switching the first virtual object based on the first file displayed on the display unit to a first virtual object based on the second file when the first virtual object based on the first file is displayed on the display unit and transmission of the second file to the user terminal has been completed.
本開示の一側面に係る表示制御システムにおいては、まず、小さいファイルサイズ(第1ファイルサイズ)を有する第1ファイルが優先的にユーザ端末に送信される。上記構成により、ユーザ端末の表示部に第1仮想オブジェクトが表示されるまでの時間の短縮化が図られる。また、第1ファイルの送信後、又は、第1ファイルの送信と並行して、第2ファイルがユーザ端末に送信される。そして、ユーザ端末が第2ファイルを受信した後に、表示部に表示されている第1ファイルに基づく第1仮想オブジェクトが、第2ファイルに基づく第1仮想オブジェクトに切り替えられる。上記構成により、第1ファイルよりもファイルサイズが大きく高品質の第2ファイルに基づく第1仮想オブジェクトを後からユーザに提示することができるため、ユーザの仮想体験の質を維持することもできる。 In a display control system according to one aspect of the present disclosure, a first file having a small file size (first file size) is first preferentially transmitted to a user terminal. This configuration shortens the time it takes for a first virtual object to be displayed on the display unit of the user terminal. Furthermore, after the first file is transmitted, or in parallel with the transmission of the first file, a second file is transmitted to the user terminal. Then, after the user terminal receives the second file, the first virtual object based on the first file displayed on the display unit is replaced with a first virtual object based on the second file. This configuration allows the user to later be presented with a first virtual object based on the second file, which has a larger file size and higher quality than the first file, thereby maintaining the quality of the user's virtual experience.
本発明の一側面によれば、ユーザ端末に仮想オブジェクトが表示されるまでの時間の短縮化を図りつつ、ユーザの仮想体験の質を維持することができる表示制御システムを提供することができる。 According to one aspect of the present invention, a display control system can be provided that can shorten the time it takes for a virtual object to be displayed on a user terminal while maintaining the quality of the user's virtual experience.
以下、添付図面を参照して、本発明の一実施形態について詳細に説明する。なお、図面の説明において同一又は相当要素には同一符号を付し、重複する説明を省略する。 One embodiment of the present invention will now be described in detail with reference to the accompanying drawings. Note that in the description of the drawings, identical or equivalent elements will be given the same reference numerals, and duplicate explanations will be omitted.
図1は、一実施形態に係る表示制御システムであるサーバ10と、ユーザ端末20と、を含むシステムの一例を示す図である。サーバ10は、ユーザ端末20の表示部24に表示される仮想オブジェクトの表示制御を行う装置である。例えば、サーバ10は、ユーザ端末20の表示部24に現実空間画像と共に仮想オブジェクトを表示させることにより、ユーザにAR体験又はMR体験を提供する。或いは、サーバ10は、ユーザ端末20の表示部24に仮想の背景(仮想空間画像)と共に仮想オブジェクトを表示させることにより、ユーザにVR体験を提供してもよい。ユーザ端末20は、ユーザにより使用されるコンピュータ端末である。ユーザ端末20の種類は限定されない。例えば、ユーザ端末20は、デスクトップPC、ラップトップPC等のパーソナルコンピュータであってもよいし、ユーザの手に保持されるスマートフォン、タブレット等の端末装置であってもよいし、ユーザの頭部等の身体の一部に装着されるウェアラブルデバイスであってもよい。ウェアラブルデバイスの例としては、ゴーグル型、グラス型(眼鏡型)、帽子型等のヘッドマウントディスプレイ等が挙げられる。FIG. 1 illustrates an example of a system including a server 10, which is a display control system according to an embodiment, and a user terminal 20. The server 10 is a device that controls the display of virtual objects displayed on the display unit 24 of the user terminal 20. For example, the server 10 may provide the user with an AR or MR experience by displaying virtual objects together with a real-world image on the display unit 24 of the user terminal 20. Alternatively, the server 10 may provide the user with a VR experience by displaying virtual objects together with a virtual background (virtual-world image) on the display unit 24 of the user terminal 20. The user terminal 20 is a computer terminal used by the user. The type of user terminal 20 is not limited. For example, the user terminal 20 may be a personal computer such as a desktop PC or laptop PC, a terminal device such as a smartphone or tablet held by the user, or a wearable device attached to a part of the user's body, such as the head. Examples of wearable devices include head-mounted displays such as goggles, glasses (eyeglasses), and hats.
サーバ10とユーザ端末20とは、有線又は無線の通信ネットワークを介して、互いにデータ通信可能に接続されている。なお、サーバ10とユーザ端末20とは、一以上の他の装置を中継して接続されてもよい。例えば、ユーザ端末20がヘッドマウントディスプレイである場合、サーバ10及びユーザ端末20の各々は、ユーザのスマートフォン等の他の装置と通信可能に構成されてもよい。この場合、サーバ10は、当該他の装置を介して、ユーザ端末20と通信可能に構成される。 The server 10 and the user terminal 20 are connected to each other via a wired or wireless communication network so that they can communicate data with each other. The server 10 and the user terminal 20 may also be connected via one or more other devices. For example, if the user terminal 20 is a head-mounted display, each of the server 10 and the user terminal 20 may be configured to be able to communicate with another device, such as the user's smartphone. In this case, the server 10 is configured to be able to communicate with the user terminal 20 via the other device.
図1に示されるように、サーバ10(表示制御システム)は、受信部11(端末情報取得部)と、ファイル生成部12と、ファイル記憶部13と、表示制御部14と、を有する。また、ユーザ端末20は、撮像部21と、送信部22と、受信部23と、表示部24と、を有する。 As shown in FIG. 1, the server 10 (display control system) has a receiving unit 11 (terminal information acquisition unit), a file generation unit 12, a file storage unit 13, and a display control unit 14. The user terminal 20 also has an imaging unit 21, a transmitting unit 22, a receiving unit 23, and a display unit 24.
まず、ユーザ端末20の各機能構成について説明する。撮像部21は、ユーザ端末20の周囲(例えば前方)の現実空間を撮像して現実空間画像(撮像データ)を取得する機能を有する。撮像部21は、例えばカメラによって構成される。現実空間画像は、静止画像であってもよいし、動画像(映像)であってもよい。ユーザに対してAR体験又はMR体験が提供される場合には、当該現実空間画像は、表示部24に表示されてもよい。また、後述するファイル生成部12によって3Dオブジェクトである仮想オブジェクトを生成するために、撮像データは、現実空間に存在する物体(現実オブジェクト)を異なる複数の方向から撮像することにより得られた複数の画像データから構成されてもよい。 First, the functional components of the user terminal 20 will be described. The imaging unit 21 has the function of capturing an image of the real space around (e.g., in front of) the user terminal 20 and acquiring a real space image (image data). The imaging unit 21 is configured, for example, by a camera. The real space image may be a still image or a moving image (video). When an AR experience or MR experience is provided to the user, the real space image may be displayed on the display unit 24. Furthermore, in order to generate a virtual object, which is a 3D object, by the file generation unit 12 described below, the image data may be composed of multiple image data obtained by capturing images of an object (real object) existing in real space from multiple different directions.
送信部22は、撮像部21により取得された撮像データをサーバ10に送信する。また、本実施形態では、送信部22は、ユーザ端末20の属性に関する端末情報をサーバ10に送信する。ユーザ端末20の属性の例としては、アプリケーション種別、通信速度、処理性能等が挙げられる。 The transmission unit 22 transmits the imaging data acquired by the imaging unit 21 to the server 10. In addition, in this embodiment, the transmission unit 22 transmits terminal information regarding the attributes of the user terminal 20 to the server 10. Examples of the attributes of the user terminal 20 include application type, communication speed, processing performance, etc.
「アプリケーション種別」は、サーバ10から送信された仮想オブジェクトを表示するために用いられるアプリケーションの種別を示す情報である。アプリケーション種別は、例えば、ユーザ端末20の種類とユーザ端末20上で動作するアプリケーションの種類との組み合わせによって特定され得る。アプリケーション種別の例としては、PC上で動作する専用アプリケーション、PC上で動作するウェブブラウザ、スマートフォン上で動作するウェブブラウザ、スマートグラス等のヘッドマウントディスプレイに組み込まれたアプリケーション等が挙げられる。送信部22は、例えば、サーバ10から送信される仮想オブジェクトを表示するサービスの実行を開始する際(例えばログイン操作時等)に、アプリケーション種別を示す端末情報をサーバ10に送信する。 "Application type" is information indicating the type of application used to display the virtual object transmitted from the server 10. The application type can be identified, for example, by a combination of the type of user terminal 20 and the type of application running on the user terminal 20. Examples of application types include dedicated applications running on a PC, web browsers running on a PC, web browsers running on a smartphone, and applications built into head-mounted displays such as smart glasses. The transmission unit 22 transmits terminal information indicating the application type to the server 10, for example, when starting execution of a service that displays a virtual object transmitted from the server 10 (for example, during a login operation).
「通信速度」は、サーバ10からユーザ端末20にデータをダウンロードする際の下り速度(ダウンロード速度)である。例えば、ユーザ端末20がユーザと共に移動する端末(例えば、ヘッドマウントディスプレイ、スマートフォン等)であり、サーバ10とユーザ端末20とが無線通信する場合、ユーザ端末20の場所によって無線電波の強度が変化するため、通信速度が変化し得る。送信部22は、例えば、定期的に通信速度を示す端末情報をサーバ10に送信する。 The "communication speed" is the downstream speed (download speed) when downloading data from the server 10 to the user terminal 20. For example, if the user terminal 20 is a terminal that moves with the user (e.g., a head-mounted display, smartphone, etc.) and the server 10 and the user terminal 20 communicate wirelessly, the communication speed may change because the strength of the radio waves varies depending on the location of the user terminal 20. The transmission unit 22, for example, periodically transmits terminal information indicating the communication speed to the server 10.
「処理性能」は、ユーザ端末20が備えるプロセッサ、メモリ等のスペック、プロセッサ使用率、メモリ使用率等を示す情報である。例えば、ある時点における処理性能を示す端末情報は、当該時点においてユーザ端末20上で使用可能な計算リソース(プロセッサ、メモリ等)の量を示す情報である。送信部22は、例えば、定期的に処理性能を示す端末情報をサーバ10に送信する。 "Processing performance" is information indicating the specifications of the processor, memory, etc. equipped in the user terminal 20, processor usage rate, memory usage rate, etc. For example, terminal information indicating processing performance at a certain point in time is information indicating the amount of computing resources (processor, memory, etc.) available on the user terminal 20 at that point in time. The transmission unit 22, for example, periodically transmits terminal information indicating processing performance to the server 10.
受信部23は、サーバ10から表示部24に仮想オブジェクトを表示するための情報(後述する第1ファイル、第2ファイル等)を受信する。 The receiving unit 23 receives information (the first file, second file, etc. described below) from the server 10 for displaying a virtual object on the display unit 24.
表示部24は、サーバ10の表示制御部14からの指示に基づいて、表示部24が備える表示領域24aに仮想オブジェクトを表示する。具体的には、表示部24は、サーバ10から受信した仮想オブジェクトを表示するための情報(第1ファイル、第2ファイル等)に基づいて、表示領域24aに仮想オブジェクトを表示する。ユーザ端末20がPCの場合には、表示部24は、ディスプレイモニタによって構成され得る。ユーザ端末20がスマートフォン等の携帯端末である場合には、表示部24は、タッチパネルディスプレイによって構成され得る。ユーザ端末20がヘッドマウントディスプレイである場合には、表示部24は、ユーザの両目の前方に配置されるディスプレイによって構成され得る。 The display unit 24 displays a virtual object in a display area 24a provided on the display unit 24 based on instructions from the display control unit 14 of the server 10. Specifically, the display unit 24 displays a virtual object in the display area 24a based on information for displaying the virtual object (first file, second file, etc.) received from the server 10. If the user terminal 20 is a PC, the display unit 24 may be configured as a display monitor. If the user terminal 20 is a mobile terminal such as a smartphone, the display unit 24 may be configured as a touch panel display. If the user terminal 20 is a head-mounted display, the display unit 24 may be configured as a display placed in front of both eyes of the user.
次に、サーバ10の各機能構成について説明する。受信部11は、ユーザ端末20(送信部22)によって送信された各種データを受信する。本実施形態では、受信部11は、撮像部21によって取得された撮像データを受信する。また、受信部11は、上述した端末情報(アプリケーション種別、通信速度、処理性能等)を取得する端末情報取得部としても機能する。Next, we will explain each functional configuration of the server 10. The receiving unit 11 receives various data transmitted by the user terminal 20 (transmitting unit 22). In this embodiment, the receiving unit 11 receives imaging data acquired by the imaging unit 21. The receiving unit 11 also functions as a terminal information acquiring unit that acquires the above-mentioned terminal information (application type, communication speed, processing performance, etc.).
ファイル生成部12は、受信部11により受信された撮像データを取得する。撮像データに現実空間に存在するオブジェクトである現実オブジェクトが含まれている場合、ファイル生成部12は、当該撮像データに基づいて、現実オブジェクトに対応する仮想オブジェクトの第1ファイル及び第2ファイルを生成する。ファイル生成部12は、例えば、撮像データに対する画像認識(2D画像認識)、フォトグラメトリ、及び3Dスキャンの少なくとも1つを実行することにより、撮像データに被写体として含まれている現実オブジェクトに対応する仮想オブジェクトを表すファイルを生成する。なお、ファイル生成部12による仮想オブジェクトの生成方法は、上記のように実物の撮像データに基づく生成方法に限られない。例えば、ファイル生成部12は、モデリング等によって仮想オブジェクトを表すファイルを生成してもよい。つまり、本実施形態で扱われる仮想オブジェクトは、現実オブジェクトに基づくオブジェクトに限られず、CGデザイナー等のクリエイターによって創作されたオブジェクトであってもよい。The file generation unit 12 acquires the imaging data received by the receiving unit 11. If the imaging data includes a real object that exists in real space, the file generation unit 12 generates a first file and a second file of a virtual object corresponding to the real object based on the imaging data. The file generation unit 12 generates a file representing a virtual object corresponding to the real object included as a subject in the imaging data, for example, by performing at least one of image recognition (2D image recognition), photogrammetry, and 3D scanning on the imaging data. Note that the method for generating a virtual object by the file generation unit 12 is not limited to the method based on imaging data of the actual object as described above. For example, the file generation unit 12 may generate a file representing a virtual object by modeling, etc. In other words, the virtual objects used in this embodiment are not limited to objects based on real objects, but may also be objects created by creators such as CG designers.
図2を参照して、ファイル生成部12によるファイル生成処理の一例について説明する。図2は、ユーザ端末20(撮像部21)において、ユーザがペットとして飼育しているうさぎが現実オブジェクトとして撮像された例を示している。この例では、ファイル生成部12は、この現実オブジェクトに対応する仮想オブジェクト(第1仮想オブジェクト)を表現するデータとして、3種類のファイル50A,50B,50Cを生成する。ファイル50A,50B,50Cは、いずれもユーザ端末20の表示部24に仮想オブジェクトを表示するために用いられるデータであり、仮想オブジェクトを表示領域24aに描画するための描画情報を含み得る。本実施形態では、仮想オブジェクトは、3Dオブジェクトとして表現される。 An example of the file generation process performed by the file generation unit 12 will be described with reference to Figure 2. Figure 2 shows an example in which a rabbit kept as a pet by a user is captured as a real object on the user terminal 20 (imaging unit 21). In this example, the file generation unit 12 generates three types of files 50A, 50B, and 50C as data representing a virtual object (first virtual object) corresponding to this real object. Files 50A, 50B, and 50C are all data used to display a virtual object on the display unit 24 of the user terminal 20, and may include drawing information for drawing the virtual object in the display area 24a. In this embodiment, the virtual object is represented as a 3D object.
ファイル50Aは、撮像データの圧縮(リダクション)がされていない、オリジナルの品質(解像度)を保持したデータである。すなわち、ファイル50Aは、現実オブジェクトの撮像データに基づいて生成されたオリジナルのファイルである。ファイル50Bは、ファイル50Aに対して30%のデータ圧縮をすることにより得られたデータである。すなわち、ファイル50Bのファイルサイズ(ファイル容量)は、ファイル50Aのファイルサイズの70%である。ファイル50Cは、ファイル50Aに対して60%のデータ圧縮をすることにより得られたデータである。すなわち、ファイル50Cのファイルサイズは、ファイル50Aのファイルサイズの40%である。 File 50A is data that has not been compressed (reduced) from the image data and retains the original quality (resolution). In other words, file 50A is an original file generated based on image data of a real object. File 50B is data obtained by compressing file 50A by 30%. In other words, the file size (file capacity) of file 50B is 70% of the file size of file 50A. File 50C is data obtained by compressing file 50A by 60%. In other words, the file size of file 50C is 40% of the file size of file 50A.
ファイル50B,50Cは、上記データ圧縮によって、ファイル50Aよりも品質が落とされている。一例として、図2に示されるように、ファイル50Bにより示される仮想オブジェクト(うさぎ)の表面形状は、オリジナルのファイル50Aにより示される仮想オブジェクトの表面形状よりも粗くなっている。また、ファイル50Cにより示される仮想オブジェクトの表面形状は、ファイル50Bにより示される仮想オブジェクトの表面形状よりもさらに粗くなっている。すなわち、ファイル50B,50Cは、ファイルサイズがオリジナルのファイルサイズよりも小さくされた分だけ、オリジナルのファイル50Aよりも低い品質(解像度)を有している。 The quality of files 50B and 50C is lower than that of file 50A due to the data compression. As an example, as shown in FIG. 2, the surface shape of the virtual object (rabbit) represented by file 50B is coarser than the surface shape of the virtual object represented by the original file 50A. Furthermore, the surface shape of the virtual object represented by file 50C is even coarser than the surface shape of the virtual object represented by file 50B. In other words, files 50B and 50C have lower quality (resolution) than the original file 50A by the amount that their file sizes are smaller than the original file size.
なお、本実施形態では一例として、ファイル生成部12は2種類の圧縮ファイル(ファイル50B,50C)を生成するが、ファイル生成部12は、1種類(特定の1つの圧縮率)の圧縮ファイルのみを生成してもよいし、3種類以上(3段階以上の異なる圧縮率)の圧縮ファイルを生成してもよい。例えば、ファイル生成部12は、オリジナルのファイル50Aのファイルサイズに応じて、どの圧縮率の圧縮ファイルを生成するかを決定してもよい。例えば、オリジナルのファイル50Aのファイルサイズがそれほど大きくない場合には、圧縮率をそれほど大きくしなくてもファイルサイズを十分に小さくできる。この場合、ファイル生成部12は、ファイル50Bのみを生成してもよい。 In this embodiment, as an example, the file generation unit 12 generates two types of compressed files (files 50B and 50C), but the file generation unit 12 may generate only one type of compressed file (one specific compression ratio), or may generate three or more types of compressed files (three or more different compression ratios). For example, the file generation unit 12 may determine the compression ratio of the compressed file to be generated depending on the file size of the original file 50A. For example, if the file size of the original file 50A is not very large, the file size can be sufficiently small without increasing the compression ratio very much. In this case, the file generation unit 12 may generate only file 50B.
ファイル記憶部13は、一の仮想オブジェクトである第1仮想オブジェクトについて、第1ファイルサイズを有する第1ファイルと、第1ファイルサイズよりも大きい第2ファイルサイズを有する第2ファイルと、を取得及び記憶する。 The file memory unit 13 acquires and stores, for a first virtual object, a first file having a first file size and a second file having a second file size larger than the first file size.
本実施形態では一例として、第1仮想オブジェクトは、図2に示した現実オブジェクト(うさぎ)に対応する仮想オブジェクトである。すなわち、本実施形態において、第1仮想オブジェクトは、当該現実オブジェクトの撮像データに基づいて生成される仮想オブジェクトである。図2の例において、ファイル50Cは、第1ファイルサイズを有する第1ファイルに対応する。また、ファイル50A,50Bの各々は、第1ファイルサイズよりも大きい第2ファイルサイズを有する第2ファイルに対応する。すなわち、図2の例では、ファイル記憶部13は、互いに異なるファイルサイズを有する複数(ここでは2つ)の第2ファイル(ファイル50A,50B)を記憶する。なお、ファイル生成部12がファイル50A,50Bのみを生成する場合には、ファイル50Bが第1ファイルとして機能し、ファイル50Aが第2ファイルとして機能する。 In this embodiment, as an example, the first virtual object is a virtual object corresponding to the real object (rabbit) shown in FIG. 2. That is, in this embodiment, the first virtual object is a virtual object generated based on image data of the real object. In the example of FIG. 2, file 50C corresponds to a first file having a first file size. Furthermore, each of files 50A and 50B corresponds to a second file having a second file size larger than the first file size. That is, in the example of FIG. 2, the file storage unit 13 stores multiple (here, two) second files (files 50A and 50B) having different file sizes. Note that when the file generation unit 12 generates only files 50A and 50B, file 50B functions as the first file and file 50A functions as the second file.
本実施形態では、ファイル記憶部13は、ファイル生成部12により生成されたファイル50A,50B(第2ファイル)及びファイル50C(第1ファイル)を、上記現実オブジェクトに対応する仮想オブジェクトに関連付けて記憶する。すなわち、ファイル記憶部13は、仮想オブジェクト毎に、当該仮想オブジェクトに対応する第1ファイル及び第2ファイルを記憶(登録)する。In this embodiment, the file storage unit 13 stores files 50A, 50B (second files) and file 50C (first file) generated by the file generation unit 12 in association with the virtual objects corresponding to the real objects. That is, the file storage unit 13 stores (registers) the first file and second file corresponding to each virtual object.
ファイル記憶部13は、例えば、ユニークな識別情報(オブジェクトID)によって、複数の仮想オブジェクト(すなわち、それぞれ別の現実オブジェクトに対応する複数の仮想オブジェクト)を管理する。例えば、仮想オブジェクトをウェブ上で動作させる場合(すなわち、ユーザ端末20のウェブブラウザ等によって表示させる場合)、ファイル記憶部13は、各仮想オブジェクトを表すファイルに対して、ユニークなURI(Uniform Resource Identifier)等の識別子を割り当ててもよい。 The file storage unit 13 manages multiple virtual objects (i.e., multiple virtual objects each corresponding to a different real object) using, for example, unique identification information (object IDs). For example, when virtual objects are operated on the web (i.e., when displayed by a web browser on the user terminal 20, etc.), the file storage unit 13 may assign an identifier such as a unique URI (Uniform Resource Identifier) to the file representing each virtual object.
また、同一の仮想オブジェクトについての第1ファイル及び第2ファイル(本実施形態では、3つのファイル50A,50B,50C)は、以下のようにして管理され得る。 Furthermore, the first file and second file (in this embodiment, three files 50A, 50B, and 50C) for the same virtual object can be managed as follows.
第1の例において、ファイル50A,50B,50Cは、ファイル名によって管理される。例えば、ファイル記憶部13は、ファイル50A(オリジナルファイル)のファイル名を「usagi.3d」とし、ファイル50B(30%圧縮が適用されたファイル)のファイル名を「usagi_a.3d」とし、ファイル50C(60%圧縮が適用されたファイル)のファイル名を「usagi_b.3d」として、管理(記憶)する。この例において、「usagi」は、仮想オブジェクト(ここでは一例として、図2に示される現実オブジェクト(うさぎ)に対応する仮想オブジェクト)を一意に識別する文字列情報である。「.3d」は、各ファイル(データ)に付与される識別子の一例である。「usagi」の後に接続される「_a」及び「_b」は、オリジナルファイルに対する圧縮率に対応する情報である。第1の例によれば、ファイル名によって、仮想オブジェクトと圧縮率とを把握することが可能となる。In the first example, files 50A, 50B, and 50C are managed by file name. For example, the file storage unit 13 manages (stores) file 50A (the original file) as "usagi.3d," file 50B (a file compressed by 30%) as "usagi_a.3d," and file 50C (a file compressed by 60%) as "usagi_b.3d." In this example, "usagi" is character string information that uniquely identifies a virtual object (here, as an example, a virtual object corresponding to the real object (rabbit) shown in Figure 2). ".3d" is an example of an identifier assigned to each file (data). The "_a" and "_b" appended after "usagi" are information corresponding to the compression rate relative to the original file. According to the first example, it is possible to identify the virtual object and the compression rate from the file name.
第2の例において、ファイル50A,50B,50Cは、各ファイルのヘッダ部分等に圧縮率(オリジナルファイルの圧縮率は0)に関する情報を埋め込む方法によって管理される。この場合、ファイル記憶部13は、ファイル50A,50B,50Cをそれぞれ別の場所に保存することによって、ファイル50A,50B,50Cに共通のファイル名(例えば「usagi.3d」)を付与してもよい。In the second example, files 50A, 50B, and 50C are managed by embedding information about the compression rate (the compression rate of the original file is 0) in the header of each file. In this case, the file storage unit 13 may assign a common file name (e.g., "usagi.3d") to files 50A, 50B, and 50C by storing files 50A, 50B, and 50C in different locations.
第3の例において、同一の仮想オブジェクトに対応する複数のファイル50A,50B,50Cは、管理テーブルによって管理される。例えば、同一の仮想オブジェクトに対応する複数のファイル50A,50B,50Cは、管理テーブルにおいて、当該仮想オブジェクトを示す共通のキーによって互いに関連付けられる。In a third example, multiple files 50A, 50B, and 50C corresponding to the same virtual object are managed by a management table. For example, multiple files 50A, 50B, and 50C corresponding to the same virtual object are associated with each other in the management table by a common key that indicates the virtual object.
上記の第1~第3の例のいずれの方法によっても、ある仮想オブジェクトのデータ(ファイル)をユーザ端末20に送信する必要が生じた場合(例えば、ユーザ端末20から仮想オブジェクトの表示要求を受け付けた場合等)において、ファイル記憶部13に記憶された複数のファイルの中から、当該仮想オブジェクトに対応する第1ファイル及び第2ファイルにアクセスすることが可能となる。なお、ファイルの管理方法は、上記の第1~第3の例に限られず、これら以外の方法によって管理されてもよい。 When it becomes necessary to send data (files) of a certain virtual object to the user terminal 20 (for example, when a request to display a virtual object is received from the user terminal 20), any of the methods in the first to third examples above makes it possible to access the first file and second file corresponding to the virtual object from among multiple files stored in the file storage unit 13. Note that the file management method is not limited to the first to third examples above, and other methods may also be used.
表示制御部14は、ユーザ端末20における第1仮想オブジェクトの表示を制御する。例えば、ユーザ端末20の表示部24に第1仮想オブジェクトを表示する必要が生じた場合、表示制御部14は、第1仮想オブジェクトに対応するファイル(第1ファイル、第2ファイル)をユーザ端末20に提供する処理を制御することにより、上記の表示制御を実行する。具体的には、表示制御部14は、以下に述べる第1処理、第2処理、及び第3処理を実行する。以下、図3を参照して、表示制御部14の処理の一例について説明する。 The display control unit 14 controls the display of a first virtual object on the user terminal 20. For example, when it becomes necessary to display a first virtual object on the display unit 24 of the user terminal 20, the display control unit 14 performs the above-mentioned display control by controlling the process of providing files (first file, second file) corresponding to the first virtual object to the user terminal 20. Specifically, the display control unit 14 performs the first process, second process, and third process described below. An example of the process of the display control unit 14 will be described below with reference to Figure 3.
第1処理は、第2ファイル(図2の例では、ファイル50A,50B)よりも第1ファイル(図2の例では、ファイル50C)を優先してユーザ端末20に送信することにより、表示部24に第1ファイルに基づく第1仮想オブジェクトを表示させる処理である。すなわち、表示制御部14は、オリジナルファイルよりもファイルサイズが削減されたファイル50Cを優先してユーザ端末20に提供する。上記構成によれば、図3の上側部分に示されるように、ユーザ端末20からサーバ10へのダウンロード要求が発生してからファイル50Cに基づく第1仮想オブジェクトがユーザ端末20の表示部24(表示領域24a)に表示されるまでの時間を、オリジナルファイル(ファイル50A)をユーザ端末20に送信する場合よりも短縮化することができる。 The first process is a process of displaying a first virtual object based on the first file on the display unit 24 by transmitting the first file (file 50C in the example of FIG. 2) to the user terminal 20 with priority over the second file (files 50A and 50B in the example of FIG. 2). That is, the display control unit 14 provides the user terminal 20 with file 50C, which has a reduced file size compared to the original file, with priority. According to the above configuration, as shown in the upper part of FIG. 3, the time from when a download request is made from the user terminal 20 to the server 10 to when the first virtual object based on file 50C is displayed on the display unit 24 (display area 24a) of the user terminal 20 can be shortened compared to when the original file (file 50A) is transmitted to the user terminal 20.
第2処理は、ユーザ端末20への第1ファイル(ファイル50C)の送信後、又は、ユーザ端末20への第1ファイルの送信と並行して、第2ファイル(ファイル50A又はファイル50B)をユーザ端末20に送信する処理である。第2処理において、表示制御部14は、ユーザ端末20への第2ファイルの送信を第1ファイルの送信後に開始する第1制御パターンと、ユーザ端末20への第2ファイルの送信をユーザ端末20への第1ファイルの送信と並行して行う第2制御パターンと、のいずれを実行してもよい。 The second process is a process of transmitting a second file (file 50A or file 50B) to the user terminal 20 after transmitting a first file (file 50C) to the user terminal 20, or in parallel with transmitting the first file to the user terminal 20. In the second process, the display control unit 14 may execute either a first control pattern in which transmission of the second file to the user terminal 20 is started after transmitting the first file, or a second control pattern in which transmission of the second file to the user terminal 20 is performed in parallel with transmitting the first file to the user terminal 20.
第2ファイルのファイルサイズは第1ファイルのファイルサイズよりも大きいため、第2制御パターンにおいても、第1ファイルの送信処理が第2ファイルの送信処理よりも先に完了する。ただし、第2制御パターンでは、第2ファイルの送信処理が第1ファイルの送信処理と並行して実行されるため、第2制御パターンにおいて第2ファイルの送信が完了する時点は、第1制御パターンにおいて第2ファイルの送信が完了する時点よりも前の時点になる。すなわち、第2制御パターンは、第1ファイルの送信が完了する前に第2ファイルの送信処理を開始することにより、第1ファイルの送信が完了した後に第2ファイルの送信処理を開始する第1制御パターンよりも早く第2ファイルの送信を完了させることが可能に構成されている。一方で、第2制御パターンにおいて第1ファイルの送信が完了する時点は、第1制御パターンにおいて第1ファイルの送信が完了する時点よりも後の時点になる。つまり、第2制御パターンにおいては、第1制御パターンよりも早く第2ファイルを送信できる一方で、第1ファイルの送信中に第2ファイルも送信するため(すなわち、通信リソースを第1ファイルと第2ファイルとで分け合うことになるため)、第1ファイルの送信にかかる時間が第1制御パターンよりも長くなる。 Because the file size of the second file is larger than the file size of the first file, even in the second control pattern, the process of sending the first file completes before the process of sending the second file. However, because the process of sending the second file is executed in parallel with the process of sending the first file in the second control pattern, the time at which the process of sending the second file completes in the second control pattern is earlier than the time at which the process of sending the second file completes in the first control pattern. In other words, the second control pattern is configured to start the process of sending the second file before the process of sending the first file completes, thereby enabling the process of sending the second file to complete earlier than the first control pattern, which starts the process of sending the second file after the process of sending the first file completes. On the other hand, the time at which the process of sending the first file completes in the second control pattern is later than the time at which the process of sending the first file completes in the first control pattern. In other words, while the second control pattern allows the second file to be sent more quickly than the first control pattern, the time required to send the first file is longer than with the first control pattern because the second file is also sent while the first file is being sent (i.e., the communication resources are shared between the first file and the second file).
従って、第1仮想オブジェクトがユーザ端末20の表示部24に表示されるまでの時間をなるべく短縮化する観点からは、第1ファイルのダウンロードと第2ファイルのダウンロードとを順番に実行する第1制御パターンの方が第2制御パターンよりも有利である。一方、第1仮想オブジェクトが表示されるまでの待機時間(ユーザが体感する待ち時間)を短縮化しつつ、高品質のデータ(第2ファイル)をなるべく早期にユーザに提供する観点からは、第1ファイル及び第2ファイルの並列ダウンロードを実行する第2制御パターンの方が第1制御パターンよりも有利である。Therefore, from the perspective of minimizing the time until the first virtual object is displayed on the display unit 24 of the user terminal 20, the first control pattern, which downloads the first file and the second file sequentially, is more advantageous than the second control pattern. On the other hand, from the perspective of shortening the waiting time until the first virtual object is displayed (the waiting time experienced by the user) and providing the user with high-quality data (the second file) as quickly as possible, the second control pattern, which downloads the first file and the second file in parallel, is more advantageous than the first control pattern.
そこで、表示制御部14は、第1制御パターンと第2制御パターンとを切替可能に構成されてもよい。例えば、表示制御部14は、ユーザ設定に基づいて、第1制御パターン及び第2制御パターンのいずれを実行するかを決定してもよい。すなわち、表示制御部14は、第1制御パターン及び第2制御パターンのいずれを実行するかをユーザに選択させてもよい。或いは、表示制御部14は、上述した端末情報(例えば、通信速度)に応じて、第1制御パターン及び第2制御パターンのいずれを実行するかを決定してもよい。例えば、表示制御部14は、第1ファイル及び第2ファイルの並列ダウンロードを行ったとしても十分に短い時間で第1ファイルのダウンロードが完了することが見込まれる場合(例えば、通信速度が所定の閾値以上である場合)に、第2制御パターンを実行すると決定してもよい。なお、ユーザ端末20が並列処理を高速に行うための構成(例えばマルチスレッド等)を備えている場合、分割ダウンロードに対応した構成を備えている場合等にも、十分に短い時間で第1ファイルのダウンロードが完了することが見込まれる。従って、表示制御部14は、ユーザ端末20に実装された通信方式に応じて、第1制御パターン及び第2制御パターンのいずれを実行するかを決定してもよい。上記構成によれば、上述した第1制御パターン及び第2制御パターンの各々をユースケースに応じて適切に切り替えることが可能となる。 Therefore, the display control unit 14 may be configured to be able to switch between the first control pattern and the second control pattern. For example, the display control unit 14 may determine whether to execute the first control pattern or the second control pattern based on a user setting. That is, the display control unit 14 may allow the user to select whether to execute the first control pattern or the second control pattern. Alternatively, the display control unit 14 may determine whether to execute the first control pattern or the second control pattern based on the terminal information (e.g., communication speed) described above. For example, the display control unit 14 may determine to execute the second control pattern when it is expected that the download of the first file will be completed in a sufficiently short time even if the first file and the second file are downloaded in parallel (e.g., when the communication speed is equal to or greater than a predetermined threshold). Note that the download of the first file is expected to be completed in a sufficiently short time even when the user terminal 20 is equipped with a configuration for performing parallel processing at high speed (e.g., multithreading, etc.) or a configuration supporting divided downloads. Therefore, the display control unit 14 may determine whether to execute the first control pattern or the second control pattern depending on the communication method implemented in the user terminal 20. According to the above configuration, it is possible to appropriately switch between the first control pattern and the second control pattern described above depending on the use case.
また、第2処理において、表示制御部14は、端末情報に基づいて、複数の第2ファイル(本実施形態では、ファイル50A,50B)のうちからユーザ端末20に送信する対象となる第2ファイルを決定してもよい。例えば、表示制御部14は、上述したユーザ端末20の属性(アプリケーション種別、通信速度、処理性能等)に応じて、ユーザ端末20に提供する第2ファイルを決定してもよい。 In addition, in the second process, the display control unit 14 may determine the second file to be sent to the user terminal 20 from among multiple second files (in this embodiment, files 50A and 50B) based on the terminal information. For example, the display control unit 14 may determine the second file to be provided to the user terminal 20 according to the attributes of the user terminal 20 described above (application type, communication speed, processing performance, etc.).
例えば、ユーザ端末20上で動作するアプリケーションがオリジナル品質を有するファイル50Aをスムーズに表示できない場合(すなわち、ファイル50Aが当該アプリケーションによって処理可能な範囲を超える品質を有する場合)、或いは、ユーザ端末20がファイル50Aを用いた表示処理を行うために必要な処理性能(例えば、プロセッサ、メモリ等のスペック)を有していない場合等には、ユーザ端末20にファイル50Aを送信しても、ユーザ端末20においてファイル50Aの品質を活かした表示処理を行うことができない。そこで、表示制御部14は、ユーザ端末20のアプリケーション種別及び処理性能の少なくとも一方に関する情報を含む端末情報に基づいて、ユーザ端末20において表示処理を行うことが可能な最大品質を超えない品質の第2ファイルを、ユーザ端末20に提供する第2ファイルとして決定してもよい。For example, if an application running on the user terminal 20 cannot smoothly display file 50A with original quality (i.e., if file 50A has a quality that exceeds the range that can be processed by the application), or if the user terminal 20 does not have the processing performance (e.g., processor, memory, etc.) required to perform display processing using file 50A, then even if file 50A is sent to the user terminal 20, the user terminal 20 will not be able to perform display processing that makes the most of the quality of file 50A. Therefore, the display control unit 14 may determine, based on terminal information including information regarding at least one of the application type and processing performance of the user terminal 20, as the second file to be provided to the user terminal 20, a second file of quality that does not exceed the maximum quality at which display processing is possible on the user terminal 20.
例えば、図2の例において、ファイル50Aがユーザ端末20において表示処理を行うことが可能な最大品質よりも高い品質を有しており、ファイル50Bが上記最大品質以下の品質を有している場合、表示制御部14は、ファイル50Bをユーザ端末20に送信する対象となる第2ファイルとして選定してもよい。 For example, in the example of Figure 2, if file 50A has a quality higher than the maximum quality at which display processing can be performed on the user terminal 20, and file 50B has a quality lower than the maximum quality, the display control unit 14 may select file 50B as the second file to be sent to the user terminal 20.
また、仮にユーザ端末20がファイル50Aを用いた表示処理を行うための十分なスペック(例えば、プロセッサ、メモリ等の性能)を有していたとしても、ユーザ端末20の通信速度が遅い場合、ファイル50Aのダウンロードが完了するまでの時間が非常に長くなってしまう。そこで、表示制御部14は、例えば、ユーザ端末20の通信速度に関する情報を含む端末情報に基づいて、予め定められた閾値時間以内にダウンロードが完了することが見込まれる第2ファイルを、ユーザ端末20に提供する第2ファイルとして決定してもよい。例えば、図2の例において、ユーザ端末20の通信速度から想定されるファイル50Aの予想ダウンロード所要時間が上記閾値時間を超え、ファイル50Bの予想ダウンロード所要時間が上記閾値時間以下である場合、表示制御部14は、ファイル50Bをユーザ端末20に送信する対象となる第2ファイルとして選定してもよい。Furthermore, even if the user terminal 20 has sufficient specifications (e.g., processor, memory, etc.) to perform display processing using file 50A, if the communication speed of the user terminal 20 is slow, it will take a very long time for the download of file 50A to be completed. Therefore, the display control unit 14 may determine, for example, based on terminal information including information about the communication speed of the user terminal 20, as the second file to be provided to the user terminal 20, a second file whose download is expected to be completed within a predetermined threshold time. For example, in the example of Figure 2, if the estimated download time for file 50A estimated from the communication speed of the user terminal 20 exceeds the threshold time and the estimated download time for file 50B is equal to or less than the threshold time, the display control unit 14 may select file 50B as the second file to be sent to the user terminal 20.
上記構成によれば、互いに異なるファイルサイズ(すなわち、異なる品質)を有する複数の第2ファイル(図2の例では、ファイル50A,50B)がファイル記憶部13に記憶されている場合に、ユーザ端末20の属性に基づいて、適切な品質を備えた第2ファイルをユーザ端末20に提供(送信)することが可能となる。なお、図3の例では、上記のような判断処理によって、ファイル50Bがユーザ端末20に送信する対象となる第2ファイルとして決定されている。 According to the above configuration, when multiple second files (files 50A and 50B in the example of Figure 2) having different file sizes (i.e., different qualities) are stored in the file storage unit 13, it is possible to provide (transmit) a second file with appropriate quality to the user terminal 20 based on the attributes of the user terminal 20. Note that in the example of Figure 3, file 50B is determined as the second file to be transmitted to the user terminal 20 by the above-described determination process.
第3処理は、表示部24(表示領域24a)に第1ファイル(ファイル50C)に基づく第1仮想オブジェクトが表示されており、且つ、ユーザ端末20への第2ファイル(ここでは一例として、ファイル50B)の送信が完了している場合に、表示部24に表示されているファイル50Cに基づく第1仮想オブジェクトをファイル50Bに基づく第1仮想オブジェクトに切り替える処理(図3の矢印P1参照)である。 The third process is a process of switching the first virtual object based on file 50C displayed on the display unit 24 to a first virtual object based on file 50B when a first virtual object based on a first file (file 50C) is displayed on the display unit 24 (display area 24a) and transmission of a second file (here, as an example, file 50B) to the user terminal 20 has been completed (see arrow P1 in Figure 3).
ファイル50Cからファイル50Bへの切替は、例えば、ユーザ端末20上で表示対象として指定されている識別子(ここでは、ファイル50Cに対応する識別子(例えば、上述したURI、オブジェクトID等))をファイル50Bに対応する識別子に変更することによって実行され得る。また、切替の直前において表示部24に表示されていたファイル50Cに基づく第1仮想オブジェクトの画角、位置、距離(奥行)等の情報は、切替後にも引き継がれるように構成されてもよい。この場合、ユーザからの第1仮想オブジェクトの見え方を維持しながら、ファイル50Cからファイル50Bへとスムーズに切り替えることができる。 Switching from file 50C to file 50B can be performed, for example, by changing the identifier designated as the display target on the user terminal 20 (here, the identifier corresponding to file 50C (e.g., the URI, object ID, etc. described above)) to the identifier corresponding to file 50B. Furthermore, information such as the angle of view, position, and distance (depth) of the first virtual object based on file 50C that was displayed on the display unit 24 immediately before the switch may be configured to be carried over after the switch. In this case, it is possible to smoothly switch from file 50C to file 50B while maintaining the way the first virtual object appears to the user.
また、表示制御部14は、表示部24(表示領域24a)に第2ファイル(ファイル50B)に基づく第1仮想オブジェクトが表示されている場合(図3の下側部分参照)において、ユーザ端末20の処理遅延の発生状況に応じて、表示部24に表示されているファイル50Bに基づく第1仮想オブジェクトを第1ファイル(ファイル50C)に基づく第1仮想オブジェクトに切り戻す表示制御を実行してもよい。例えば、表示制御部14は、ユーザ端末20の処理性能に関する情報を含む情報(例えば、上述した端末情報)に基づいて、ユーザ端末20の処理遅延が発生しているか否かを判断してもよい。例えば、表示制御部14は、ユーザ端末20のプロセッサ使用率が閾値以上である場合に、処理遅延が発生していると判断してもよい。そして、表示制御部14は、処理遅延が発生していると判断した場合に、第2ファイル(ファイル50B)から第1ファイル(ファイル50C)に切り戻す処理(図3の矢印P2参照)をユーザ端末20に実行させてもよい。ファイル50Cは、ファイル50Bよりもファイルサイズが小さいため、表示処理(描画処理)に必要な計算量及びメモリ使用量がファイル50Bよりも小さい。従って、上記の表示制御によれば、処理遅延が発生している状況で切り戻し処理を実行することにより、処理遅延の解消を図ることができる。Furthermore, when a first virtual object based on the second file (file 50B) is displayed on the display unit 24 (display area 24a) (see the lower part of Figure 3), the display control unit 14 may execute display control to switch back the first virtual object based on file 50B displayed on the display unit 24 to a first virtual object based on the first file (file 50C) depending on the occurrence of a processing delay in the user terminal 20. For example, the display control unit 14 may determine whether a processing delay is occurring in the user terminal 20 based on information including information related to the processing performance of the user terminal 20 (e.g., the terminal information described above). For example, the display control unit 14 may determine that a processing delay is occurring when the processor usage rate of the user terminal 20 is equal to or greater than a threshold. Then, when the display control unit 14 determines that a processing delay is occurring, it may cause the user terminal 20 to execute a process of switching back from the second file (file 50B) to the first file (file 50C) (see arrow P2 in Figure 3). Because file 50C has a smaller file size than file 50B, the amount of calculation and memory usage required for the display process (drawing process) is smaller than those for file 50B. Therefore, according to the above display control, by executing the switchback process when a processing delay occurs, the processing delay can be eliminated.
また、表示制御部14は、表示部24(表示領域24a)に第2ファイル(ファイル50B)に基づく第1仮想オブジェクトが表示されており、且つ、表示部24に第1仮想オブジェクトを含む複数の仮想オブジェクトが表示されている場合に、表示部24に表示されている仮想オブジェクトの数に応じて、表示部24に表示されているファイル50Bに基づく第1仮想オブジェクトを第1ファイル(ファイル50C)に基づく第1仮想オブジェクトに切り戻す表示制御を実行してもよい。例えば、表示制御部14は、表示部24に表示されている仮想オブジェクトの数を示す情報を取得する。例えば、表示制御部14は、このような情報をユーザ端末20から取得してもよいし、ユーザ端末20に仮想オブジェクトのファイルを送信した履歴に基づいて、表示部24に表示されている仮想オブジェクトの数を把握してもよい。そして、表示制御部14は、例えば、表示されている仮想オブジェクトの数が予め定められた閾値以上であると判断した場合に、第2ファイル(ファイル50B)から第1ファイル(ファイル50C)に切り戻す処理(図3の矢印P2参照)をユーザ端末20に実行させてもよい。上記の表示制御によれば、仮想オブジェクトの表示数が多いため処理遅延が発生している可能性が高い(或いはこれから発生する可能性が高い)状況で切り戻し処理を実行することにより、処理遅延の解消又は回避を図ることができる。Furthermore, when a first virtual object based on the second file (file 50B) is displayed on the display unit 24 (display area 24a) and multiple virtual objects including the first virtual object are displayed on the display unit 24, the display control unit 14 may execute display control to switch back the first virtual object based on file 50B displayed on the display unit 24 to the first virtual object based on the first file (file 50C) in accordance with the number of virtual objects displayed on the display unit 24. For example, the display control unit 14 may acquire information indicating the number of virtual objects displayed on the display unit 24. For example, the display control unit 14 may acquire such information from the user terminal 20, or may determine the number of virtual objects displayed on the display unit 24 based on a history of transmission of virtual object files to the user terminal 20. Then, for example, when the display control unit 14 determines that the number of displayed virtual objects is equal to or greater than a predetermined threshold, the display control unit 14 may cause the user terminal 20 to execute a process of switching back from the second file (file 50B) to the first file (file 50C) (see arrow P2 in FIG. 3). According to the above display control, by performing a revert process in a situation where a processing delay is likely to have occurred (or is likely to occur in the future) due to a large number of displayed virtual objects, it is possible to eliminate or avoid the processing delay.
次に、図4を参照して、サーバ10及びユーザ端末20の動作の一例について説明する。ステップS1において、撮像部21は、現実オブジェクトを撮像する。ステップS2において、送信部22は、ステップS1において取得された撮像データをサーバ10に送信する。また、送信部22は、端末情報(本実施形態では一例として、アプリケーション種別、通信速度、処理性能等を含む情報)もサーバ10に送信する。撮像データ及び端末情報は、サーバ10の受信部11によって受信される。 Next, with reference to Figure 4, an example of the operation of the server 10 and the user terminal 20 will be described. In step S1, the imaging unit 21 captures an image of a real object. In step S2, the transmission unit 22 transmits the imaging data acquired in step S1 to the server 10. The transmission unit 22 also transmits terminal information (information including, as an example in this embodiment, application type, communication speed, processing performance, etc.) to the server 10. The imaging data and terminal information are received by the receiving unit 11 of the server 10.
ステップS3において、ファイル生成部12は、撮像データに基づいてファイル50A(第2ファイル)、ファイル50B(第2ファイル)、及びファイル50C(第1ファイル)を生成する(図2参照)。 In step S3, the file generation unit 12 generates file 50A (second file), file 50B (second file), and file 50C (first file) based on the imaging data (see Figure 2).
ステップS4において、ファイル記憶部13は、ファイル生成部12により生成されたファイル50A,50B,50Cを記憶する。 In step S4, the file memory unit 13 stores the files 50A, 50B, and 50C generated by the file generation unit 12.
続いて、例えばサーバ10がユーザ端末20からの第1仮想オブジェクトの表示要求を受信したことをトリガとして、ステップS5及びS6の処理(第1処理)が実行される。すなわち、ステップS5において、表示制御部14は、第2ファイル(図3の例では、ファイル50B)よりも第1ファイル(図3の例では、ファイル50C)を優先してユーザ端末20に送信する。その結果、ステップS6において、表示部24に第1ファイル(ファイル50C)に基づく第1仮想オブジェクトが表示される(図3の上側部分参照)。Next, for example, the server 10 receives a request to display the first virtual object from the user terminal 20, which triggers the execution of steps S5 and S6 (first processing). That is, in step S5, the display control unit 14 transmits the first file (file 50C in the example of FIG. 3) to the user terminal 20 with priority over the second file (file 50B in the example of FIG. 3). As a result, in step S6, the display unit 24 displays the first virtual object based on the first file (file 50C) (see the upper part of FIG. 3).
また、ステップS7において、表示制御部14は、第2処理を実行する。すなわち、表示制御部14は、第1ファイル(ファイル50C)の送信後、又は、第1ファイルの送信と並行して、第2ファイル(ファイル50B)をユーザ端末20に送信する。第2ファイルのファイルサイズ(第2ファイルサイズ)は第1ファイルのファイルサイズ(第1ファイルサイズ)よりも大きいため、第2ファイルは、ステップS6の後にユーザ端末20に送信される。すなわち、ユーザ端末20において第2ファイルの受信が完了する時点は、ステップS6よりも後の時点になる。 Furthermore, in step S7, the display control unit 14 executes a second process. That is, after transmitting the first file (file 50C), or in parallel with transmitting the first file, the display control unit 14 transmits a second file (file 50B) to the user terminal 20. Because the file size of the second file (second file size) is larger than the file size of the first file (first file size), the second file is transmitted to the user terminal 20 after step S6. That is, the time at which reception of the second file at the user terminal 20 is completed is later than step S6.
続いて、ステップS8において、表示制御部14は、第3処理を実行する。すなわち、表示制御部14は、表示部24(表示領域24a)に第1ファイル(ファイル50C)に基づく第1仮想オブジェクトが表示されており、且つ、ユーザ端末20への第2ファイル(ファイル50B)の送信が完了している場合に、表示部24に表示されているファイル50Cに基づく第1仮想オブジェクトをファイル50Bに基づく第1仮想オブジェクトに切り替える(図3の矢印P1参照)。例えば、表示制御部14は、第2ファイルと共に「第2ファイルの受信後に第1ファイルを第2ファイルに切り替えること」を指示する指示情報を併せてユーザ端末20に送信することにより、ユーザ端末20に上記のような切替処理を実行させることができる。Next, in step S8, the display control unit 14 executes a third process. That is, when a first virtual object based on a first file (file 50C) is displayed on the display unit 24 (display area 24a) and transmission of a second file (file 50B) to the user terminal 20 is complete, the display control unit 14 switches the first virtual object based on file 50C displayed on the display unit 24 to a first virtual object based on file 50B (see arrow P1 in FIG. 3). For example, the display control unit 14 can cause the user terminal 20 to execute the switching process described above by transmitting the second file together with instruction information to the user terminal 20 instructing the user terminal 20 to "switch from the first file to the second file after receiving the second file."
続いて、ステップS9において、表示制御部14は、表示部24に表示されているファイル50Bに基づく第1仮想オブジェクトを第1ファイル(ファイル50C)に基づく第1仮想オブジェクトに切り戻す表示制御を行うか否かを判定する。この判定処理は、ユーザ端末20から受信される端末情報(例えば、処理性能に関する情報)、表示部24に表示されている仮想オブジェクトの数を示す情報等に基づいて、定期又は不定期に実行され得る。 Next, in step S9, the display control unit 14 determines whether to perform display control to switch back the first virtual object based on file 50B displayed on the display unit 24 to the first virtual object based on the first file (file 50C). This determination process can be performed periodically or irregularly based on terminal information received from the user terminal 20 (e.g., information related to processing performance), information indicating the number of virtual objects displayed on the display unit 24, etc.
表示制御部14は、例えば上述したように、ユーザ端末20に処理遅延が発生していると判断した場合、又は、表示部24に表示されている仮想オブジェクトの数が閾値以上であると判断した場合、切り戻し処理の実行をユーザ端末20に指示する(ステップS10)。その結果、ステップS11において、第2ファイル(ファイル50B)から第1ファイル(ファイル50C)に切り戻す処理が実行される(図3の矢印P2参照)。なお、切り戻し処理が行われた後(すなわち、ステップS11よりも後)、表示制御部14は、切り戻しの理由(例えば、上記の処理遅延が発生していること、仮想オブジェクトの表示数が閾値以上であること等)が解消したと判断できた場合に、再度、ステップS8の処理を実行してもよい。 For example, as described above, if the display control unit 14 determines that a processing delay is occurring in the user terminal 20, or if it determines that the number of virtual objects displayed on the display unit 24 is equal to or greater than a threshold, it instructs the user terminal 20 to perform a revert process (step S10). As a result, in step S11, a process of reverting from the second file (file 50B) to the first file (file 50C) is performed (see arrow P2 in FIG. 3). Note that after the revert process is performed (i.e., after step S11), the display control unit 14 may perform the process of step S8 again if it determines that the reason for the revert (e.g., the aforementioned processing delay, the number of displayed virtual objects being equal to or greater than a threshold) has been resolved.
以上説明したサーバ10においては、まず、小さいファイルサイズ(第1ファイルサイズ)を有する第1ファイル(ファイル50C)が優先的にユーザ端末20に送信される。上記構成により、ユーザ端末20の表示部24に第1仮想オブジェクトが表示されるまでの待機時間の短縮化が図られる。また、第1ファイルの送信後、又は、第1ファイルの送信と並行して、第2ファイル(ファイル50B)がユーザ端末20に送信される。そして、ユーザ端末20が第2ファイルを受信した後に、表示部24に表示されている第1ファイルに基づく第1仮想オブジェクトが、第2ファイルに基づく第1仮想オブジェクトに切り替えられる(図3の矢印P1参照)。上記構成により、第1ファイルよりもファイルサイズが大きく高品質の第2ファイルに基づく第1仮想オブジェクトを後からユーザに提示することができるため、ユーザの仮想体験の質を維持することもできる。In the server 10 described above, the first file (file 50C) having a small file size (first file size) is first transmitted to the user terminal 20 with priority. This configuration shortens the waiting time until the first virtual object is displayed on the display unit 24 of the user terminal 20. After the first file is transmitted, or in parallel with the transmission of the first file, the second file (file 50B) is transmitted to the user terminal 20. After the user terminal 20 receives the second file, the first virtual object based on the first file displayed on the display unit 24 is replaced with the first virtual object based on the second file (see arrow P1 in Figure 3). This configuration allows the user to later be presented with a first virtual object based on the second file, which has a larger file size and higher quality than the first file, thereby maintaining the quality of the user's virtual experience.
また、本実施形態では、ファイル生成部12が、撮像データに基づいて現実オブジェクトに対応する仮想オブジェクトの第1ファイル及び第2ファイルを生成し、ファイル記憶部13が、ファイル生成部12により生成された第1ファイル及び第2ファイルを当該仮想オブジェクトに関連付けて記憶する。上記構成によれば、現実オブジェクトに対応する仮想オブジェクトを生成する際に、自動的に当該仮想オブジェクトに対応する第1ファイル及び第2ファイルを生成及び記憶することができる。 In addition, in this embodiment, the file generation unit 12 generates a first file and a second file of a virtual object corresponding to a real object based on the imaging data, and the file storage unit 13 stores the first file and the second file generated by the file generation unit 12 in association with the virtual object. According to the above configuration, when a virtual object corresponding to a real object is generated, the first file and the second file corresponding to the virtual object can be automatically generated and stored.
なお、上記実施形態では、表示制御システムはサーバ10によって構成されたが、表示制御システムは、サーバ10単体によって構成されてもよいし、サーバ10とユーザ端末20とによって構成されてもよい。すなわち、上述したサーバ10の機能の一部は、ユーザ端末20によって実行されてもよい。例えば、上記実施形態では、サーバ10の表示制御部14がユーザ端末20の表示部24の表示内容を制御したが、表示制御部14は、サーバ10ではなくユーザ端末20が備えてもよい。また、上述したサーバ10の機能の一部は省略されてもよい。例えば、上記実施形態では、サーバ10(ファイル生成部12)が仮想オブジェクトのファイルを生成したが、仮想オブジェクトのファイルはサーバ10とは別の装置によって生成されてもよい。 In the above embodiment, the display control system is configured by the server 10, but the display control system may be configured by the server 10 alone, or by the server 10 and the user terminal 20. That is, some of the functions of the server 10 described above may be executed by the user terminal 20. For example, in the above embodiment, the display control unit 14 of the server 10 controlled the display content of the display unit 24 of the user terminal 20, but the display control unit 14 may be provided in the user terminal 20 rather than the server 10. Also, some of the functions of the server 10 described above may be omitted. For example, in the above embodiment, the server 10 (file generation unit 12) generated a file of a virtual object, but the file of a virtual object may be generated by a device other than the server 10.
本開示の表示制御システム(上記実施形態ではサーバ10)は、以下の構成を有する。 The display control system disclosed herein (server 10 in the above embodiment) has the following configuration.
[1]ユーザ端末の表示部に表示される仮想オブジェクトの表示制御を行う表示制御システムであって、
一の前記仮想オブジェクトである第1仮想オブジェクトについて、第1ファイルサイズを有する第1ファイルと、前記第1ファイルサイズよりも大きい第2ファイルサイズを有する第2ファイルと、を記憶するファイル記憶部と、
前記ユーザ端末における前記第1仮想オブジェクトの表示を制御する表示制御部と、を備え、
前記表示制御部は、
前記第2ファイルよりも前記第1ファイルを優先して前記ユーザ端末に送信することにより、前記表示部に前記第1ファイルに基づく前記第1仮想オブジェクトを表示させる第1処理と、
前記第1ファイルの送信後、又は、前記第1ファイルの送信と並行して、前記第2ファイルを前記ユーザ端末に送信する第2処理と、
前記表示部に前記第1ファイルに基づく前記第1仮想オブジェクトが表示されており、且つ、前記ユーザ端末への前記第2ファイルの送信が完了している場合に、前記表示部に表示されている前記第1ファイルに基づく前記第1仮想オブジェクトを前記第2ファイルに基づく前記第1仮想オブジェクトに切り替える第3処理と、を実行する、
表示制御システム。
[1] A display control system that controls the display of a virtual object displayed on a display unit of a user terminal,
a file storage unit that stores, for a first virtual object that is one of the virtual objects, a first file having a first file size and a second file having a second file size larger than the first file size;
a display control unit that controls display of the first virtual object on the user terminal,
The display control unit
a first process of transmitting the first file to the user terminal with priority over the second file, thereby displaying the first virtual object based on the first file on the display unit;
a second process of transmitting the second file to the user terminal after transmitting the first file or in parallel with transmitting the first file;
and executing a third process of switching the first virtual object based on the first file displayed on the display unit to the first virtual object based on the second file when the first virtual object based on the first file is displayed on the display unit and transmission of the second file to the user terminal has been completed.
Display control system.
[2]現実空間に存在するオブジェクトである現実オブジェクトを撮像することにより得られる撮像データを取得し、前記撮像データに基づいて前記現実オブジェクトに対応する前記仮想オブジェクトの前記第1ファイル及び前記第2ファイルを生成するファイル生成部を更に備え、
前記ファイル記憶部は、前記ファイル生成部により生成された前記第1ファイル及び前記第2ファイルを前記現実オブジェクトに対応する前記仮想オブジェクトに関連付けて記憶する、
[1]に記載の表示制御システム。
[2] A file generation unit acquires imaging data obtained by imaging a real object that is an object existing in real space, and generates the first file and the second file of the virtual object corresponding to the real object based on the imaging data,
the file storage unit stores the first file and the second file generated by the file generation unit in association with the virtual object corresponding to the real object;
The display control system according to [1].
[3]前記表示制御部は、前記表示部に前記第2ファイルに基づく前記第1仮想オブジェクトが表示されている場合において、前記ユーザ端末の処理遅延の発生状況に応じて、前記表示部に表示されている前記第2ファイルに基づく前記第1仮想オブジェクトを前記第1ファイルに基づく前記第1仮想オブジェクトに切り戻す、
[1]又は[2]に記載の表示制御システム。
[3] When the first virtual object based on the second file is displayed on the display unit, the display control unit switches the first virtual object based on the second file displayed on the display unit back to the first virtual object based on the first file according to an occurrence status of a processing delay of the user terminal.
The display control system according to [1] or [2].
[4]前記表示制御部は、前記表示部に前記第2ファイルに基づく前記第1仮想オブジェクトが表示されており、且つ、前記表示部に前記第1仮想オブジェクトを含む複数の前記仮想オブジェクトが表示されている場合に、前記表示部に表示されている前記仮想オブジェクトの数に応じて、前記表示部に表示されている前記第2ファイルに基づく前記第1仮想オブジェクトを前記第1ファイルに基づく前記第1仮想オブジェクトに切り戻す、
[1]~[3]のいずれかの表示制御システム。
[4] When the first virtual object based on the second file is displayed on the display unit and a plurality of virtual objects including the first virtual object are displayed on the display unit, the display control unit switches back the first virtual object based on the second file displayed on the display unit to the first virtual object based on the first file, depending on the number of the virtual objects displayed on the display unit.
A display control system according to any one of [1] to [3].
[5]前記表示制御部は、前記第2処理において、前記ユーザ端末への前記第2ファイルの送信を前記第1ファイルの送信後に開始する第1制御パターンと、前記ユーザ端末への前記第2ファイルの送信を前記第1ファイルの送信と並行して行う第2制御パターンと、を切替可能に構成されている、
[1]~[4]のいずれかの表示制御システム。
[5] The display control unit is configured to be able to switch between a first control pattern in which transmission of the second file to the user terminal is started after transmission of the first file, and a second control pattern in which transmission of the second file to the user terminal is performed in parallel with transmission of the first file, in the second process.
A display control system according to any one of [1] to [4].
[6]前記ユーザ端末の属性を示す端末情報を取得する端末情報取得部を更に備え、
前記ファイル記憶部は、互いに異なるファイルサイズを有する複数の前記第2ファイルを記憶し、
前記表示制御部は、前記端末情報に基づいて、前記複数の前記第2ファイルのうちから前記ユーザ端末に送信する対象となる前記第2ファイルを決定する、
[1]~[5]のいずれかの表示制御システム。
[6] Further comprising a terminal information acquisition unit that acquires terminal information indicating attributes of the user terminal,
the file storage unit stores a plurality of the second files having different file sizes;
the display control unit determines, based on the terminal information, the second file to be transmitted to the user terminal from among the plurality of second files;
A display control system according to any one of [1] to [5].
また、上記実施形態の説明に用いたブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。 Furthermore, the block diagrams used to explain the above embodiments show functional blocks. These functional blocks (components) are realized by any combination of hardware and/or software. Furthermore, there are no particular limitations on the method of realizing each functional block. That is, each functional block may be realized using a single device that is physically or logically coupled, or may be realized using two or more physically or logically separated devices that are connected directly or indirectly (for example, using wires, wirelessly, etc.) and these multiple devices. A functional block may also be realized by combining software with the single device or multiple devices.
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。 Functions include, but are not limited to, judging, determining, calculating, computing, processing, deriving, investigating, searching, verifying, receiving, transmitting, outputting, accessing, resolving, selecting, choosing, establishing, comparing, assuming, expecting, regarding, broadcasting, notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, and assigning.
例えば、本開示の一実施の形態におけるサーバ10は、本開示の表示制御方法を行うコンピュータとして機能してもよい。図5は、本開示の一実施の形態に係るサーバ10のハードウェア構成の一例を示す図である。サーバ10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。なお、ユーザ端末20もサーバ10と同様のハードウェア構成を備えてもよい。 For example, the server 10 in one embodiment of the present disclosure may function as a computer that performs the display control method of the present disclosure. Figure 5 is a diagram showing an example of the hardware configuration of the server 10 in one embodiment of the present disclosure. The server 10 may be physically configured as a computer device including a processor 1001, memory 1002, storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, etc. The user terminal 20 may also have a hardware configuration similar to that of the server 10.
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。サーバ10のハードウェア構成は、図5に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。 In the following description, the term "device" can be interpreted as a circuit, device, unit, etc. The hardware configuration of server 10 may be configured to include one or more of the devices shown in Figure 5, or may be configured to exclude some of the devices.
サーバ10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることによって、プロセッサ1001が演算を行い、通信装置1004による通信を制御したり、メモリ1002及びストレージ1003におけるデータの読み出し及び書き込みの少なくとも一方を制御したりすることによって実現される。 Each function of the server 10 is realized by loading specified software (programs) onto hardware such as the processor 1001 and memory 1002, causing the processor 1001 to perform calculations, control communication via the communication device 1004, and control at least one of reading and writing data in the memory 1002 and storage 1003.
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)によって構成されてもよい。 The processor 1001, for example, runs an operating system to control the entire computer. The processor 1001 may be configured as a central processing unit (CPU) including an interface with peripheral devices, a control unit, an arithmetic unit, registers, etc.
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュール、データなどを、ストレージ1003及び通信装置1004の少なくとも一方からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態において説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、サーバ10の各機能部(例えば、表示制御部14等)は、メモリ1002に格納され、プロセッサ1001において動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001によって実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップによって実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されてもよい。 The processor 1001 also reads programs (program code), software modules, data, etc. from at least one of the storage 1003 and the communication device 1004 into the memory 1002, and executes various processes in accordance with these. The program used is a program that causes a computer to execute at least some of the operations described in the above-described embodiments. For example, each functional unit of the server 10 (e.g., the display control unit 14, etc.) may be implemented by a control program stored in the memory 1002 and running on the processor 1001, and similar implementations may be made for other functional blocks. While the above-described various processes have been described as being executed by one processor 1001, they may also be executed simultaneously or sequentially by two or more processors 1001. The processor 1001 may be implemented by one or more chips. The program may also be transmitted from a network via a telecommunications line.
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つによって構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本開示の一実施の形態に係る表示制御方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。 Memory 1002 is a computer-readable recording medium and may be composed of, for example, at least one of ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. Memory 1002 may also be called a register, cache, main memory (primary storage device), etc. Memory 1002 can store executable programs (program code), software modules, etc. for implementing a display control method according to one embodiment of the present disclosure.
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つによって構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及びストレージ1003の少なくとも一方を含むデータベース、サーバその他の適切な媒体であってもよい。 Storage 1003 is a computer-readable recording medium and may be composed of, for example, at least one of an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disk, a digital versatile disk, a Blu-ray (registered trademark) disk), a smart card, a flash memory (e.g., a card, a stick, a key drive), a floppy (registered trademark) disk, a magnetic strip, etc. Storage 1003 may also be referred to as an auxiliary storage device. The above-mentioned storage medium may be, for example, a database, a server, or other suitable medium including at least one of memory 1002 and storage 1003.
通信装置1004は、有線ネットワーク及び無線ネットワークの少なくとも一方を介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。 The communication device 1004 is hardware (transmitting/receiving device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as, for example, a network device, network controller, network card, or communication module.
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。 The input device 1005 is an input device (e.g., a keyboard, mouse, microphone, switch, button, sensor, etc.) that accepts input from the outside. The output device 1006 is an output device (e.g., a display, speaker, LED lamp, etc.) that outputs to the outside. Note that the input device 1005 and the output device 1006 may be integrated into one structure (e.g., a touch panel).
また、プロセッサ1001、メモリ1002などの各装置は、情報を通信するためのバス1007によって接続される。バス1007は、単一のバスを用いて構成されてもよいし、装置間ごとに異なるバスを用いて構成されてもよい。 Furthermore, each device such as the processor 1001 and memory 1002 is connected by a bus 1007 for communicating information. The bus 1007 may be configured using a single bus, or may be configured using different buses between each device.
また、サーバ10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つを用いて実装されてもよい。 Furthermore, the server 10 may be configured to include hardware such as a microprocessor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a field-programmable gate array (FPGA), and some or all of the functional blocks may be realized by such hardware. For example, the processor 1001 may be implemented using at least one of these pieces of hardware.
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。 Although the present embodiment has been described in detail above, it will be clear to those skilled in the art that the present embodiment is not limited to the embodiments described herein. The present embodiment can be implemented in modified and altered forms without departing from the spirit and scope of the present invention as defined by the claims. Therefore, the description in this specification is intended to be illustrative and does not have any limiting meaning on the present embodiment.
本開示において説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本開示において説明した方法については、例示的な順序を用いて様々なステップの要素を提示しており、提示した特定の順序に限定されない。 The order of the procedures, sequences, flowcharts, etc. of each aspect/embodiment described in this disclosure may be changed unless inconsistent. For example, the methods described in this disclosure present elements of various steps using an example order and are not limited to the particular order presented.
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルを用いて管理してもよい。入出力される情報等は、上書き、更新、又は追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。 Input and output information may be stored in a specific location (e.g., memory) or may be managed using a management table. Input and output information may be overwritten, updated, or added to. Output information may be deleted. Input information may be sent to another device.
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:true又はfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。 The determination may be made based on a value represented by a single bit (0 or 1), a Boolean value (true or false), or a numerical comparison (e.g., comparison with a predetermined value).
本開示において説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。 Each aspect/embodiment described in this disclosure may be used alone, in combination, or switched between depending on the implementation. Furthermore, notification of specified information (e.g., notification that "X is true") is not limited to being done explicitly, but may also be done implicitly (e.g., not notifying the specified information).
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。 Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
また、ソフトウェア、命令、情報などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、有線技術(同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL:Digital Subscriber Line)など)及び無線技術(赤外線、マイクロ波など)の少なくとも一方を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び無線技術の少なくとも一方は、伝送媒体の定義内に含まれる。 Software, instructions, information, etc. may also be transmitted and received via a transmission medium. For example, if software is transmitted from a website, server, or other remote source using wired technologies (such as coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL)), and/or wireless technologies (such as infrared, microwave), these wired and/or wireless technologies are included within the definition of transmission media.
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。The information, signals, etc. described in this disclosure may be represented using any of a variety of different technologies. For example, data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or photons, or any combination thereof.
また、本開示において説明した情報、パラメータなどは、絶対値を用いて表されてもよいし、所定の値からの相対値を用いて表されてもよいし、対応する別の情報を用いて表されてもよい。 Furthermore, the information, parameters, etc. described in this disclosure may be expressed using absolute values, relative values from a predetermined value, or corresponding other information.
上述したパラメータに使用する名称はいかなる点においても限定的な名称ではない。さらに、これらのパラメータを使用する数式等は、本開示で明示的に開示したものと異なる場合もある。様々な情報要素は、あらゆる好適な名称によって識別できるので、これらの様々な情報要素に割り当てている様々な名称は、いかなる点においても限定的な名称ではない。The names used for the parameters described above are not intended to be limiting in any way. Furthermore, the mathematical formulas and the like that use these parameters may differ from those explicitly disclosed in this disclosure. The various information elements may be identified by any suitable names, and the various names assigned to these various information elements are not intended to be limiting in any way.
本開示において使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。 As used in this disclosure, the phrase "based on" does not mean "based only on," unless expressly stated otherwise. In other words, the phrase "based on" means both "based only on" and "based at least on."
本開示において使用する「第1の」、「第2の」などの呼称を使用した要素へのいかなる参照も、それらの要素の量又は順序を全般的に限定しない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本開示において使用され得る。したがって、第1及び第2の要素への参照は、2つの要素のみが採用され得ること、又は何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。As used in this disclosure, any reference to an element using a designation such as "first," "second," etc. does not generally limit the quantity or order of those elements. These designations may be used in this disclosure as a convenient method of distinguishing between two or more elements. Thus, a reference to a first and a second element does not imply that only two elements may be employed or that the first element must in some way precede the second element.
本開示において、「含む(include)」、「含んでいる(including)」及びそれらの変形が使用されている場合、これらの用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本開示において使用されている用語「又は(or)」は、排他的論理和ではないことが意図される。 When the terms "include," "including," and variations thereof are used in this disclosure, these terms are intended to be inclusive, similar to the term "comprising." Furthermore, when the term "or" is used in this disclosure, it is not intended to be an exclusive or.
本開示において、例えば、英語でのa, an及びtheのように、翻訳により冠詞が追加された場合、本開示は、これらの冠詞の後に続く名詞が複数形であることを含んでもよい。 In this disclosure, where articles are added by translation, such as a, an, and the in English, this disclosure may include the noun following these articles being plural.
本開示において、「AとBが異なる」という用語は、「AとBが互いに異なる」ことを意味してもよい。なお、当該用語は、「AとBがそれぞれCと異なる」ことを意味してもよい。「離れる」、「結合される」などの用語も、「異なる」と同様に解釈されてもよい。 In this disclosure, the term "A and B are different" may mean "A and B are different from each other." The term may also mean "A and B are each different from C." Terms such as "separate" and "combined" may also be interpreted in the same way as "different."
10…サーバ(表示制御システム)、11…受信部、12…ファイル生成部、13…ファイル記憶部、14…表示制御部、20…ユーザ端末、24…表示部、24a…表示領域、50A…ファイル(第2ファイル)、50B…ファイル(第2ファイル)、50C…ファイル(第1ファイル)。 10...Server (display control system), 11...Receiving unit, 12...File generation unit, 13...File storage unit, 14...Display control unit, 20...User terminal, 24...Display unit, 24a...Display area, 50A...File (second file), 50B...File (second file), 50C...File (first file).
Claims (5)
一の前記仮想オブジェクトである第1仮想オブジェクトについて、第1ファイルサイズを有する第1ファイルと、前記第1ファイルサイズよりも大きい第2ファイルサイズを有する第2ファイルと、を記憶するファイル記憶部と、
前記ユーザ端末における前記第1仮想オブジェクトの表示を制御する表示制御部と、を備え、
前記表示制御部は、
前記第2ファイルよりも前記第1ファイルを優先して前記ユーザ端末に送信することにより、前記表示部に前記第1ファイルに基づく前記第1仮想オブジェクトを表示させる第1処理と、
前記第1ファイルの送信後、又は、前記第1ファイルの送信と並行して、前記第2ファイルを前記ユーザ端末に送信する第2処理と、
前記表示部に前記第1ファイルに基づく前記第1仮想オブジェクトが表示されており、且つ、前記ユーザ端末への前記第2ファイルの送信が完了している場合に、前記表示部に表示されている前記第1ファイルに基づく前記第1仮想オブジェクトを前記第2ファイルに基づく前記第1仮想オブジェクトに切り替える第3処理と、を実行し、
前記表示制御部は、前記第2処理において、前記ユーザ端末への前記第2ファイルの送信を前記第1ファイルの送信後に開始する第1制御パターンと、前記ユーザ端末への前記第2ファイルの送信を前記第1ファイルの送信と並行して行う第2制御パターンと、を切替可能に構成されており、前記ユーザ端末の通信速度が所定の閾値以上である場合に前記第2制御パターンを実行すると決定する、
表示制御システム。 A display control system that controls the display of a virtual object displayed on a display unit of a user terminal,
a file storage unit that stores, for a first virtual object that is one of the virtual objects, a first file having a first file size and a second file having a second file size larger than the first file size;
a display control unit that controls display of the first virtual object on the user terminal,
The display control unit
a first process of transmitting the first file to the user terminal with priority over the second file, thereby displaying the first virtual object based on the first file on the display unit;
a second process of transmitting the second file to the user terminal after transmitting the first file or in parallel with transmitting the first file;
a third process of switching the first virtual object based on the first file displayed on the display unit to the first virtual object based on the second file when the first virtual object based on the first file is displayed on the display unit and transmission of the second file to the user terminal has been completed ;
The display control unit is configured to be able to switch, in the second process, between a first control pattern in which transmission of the second file to the user terminal is started after transmission of the first file, and a second control pattern in which transmission of the second file to the user terminal is performed in parallel with transmission of the first file, and to determine to execute the second control pattern when a communication speed of the user terminal is equal to or higher than a predetermined threshold.
Display control system.
前記ファイル記憶部は、前記ファイル生成部により生成された前記第1ファイル及び前記第2ファイルを前記現実オブジェクトに対応する前記仮想オブジェクトに関連付けて記憶する、
請求項1に記載の表示制御システム。 a file generation unit that acquires imaging data obtained by imaging a real object that is an object existing in a real space, and generates the first file and the second file of the virtual object corresponding to the real object based on the imaging data,
the file storage unit stores the first file and the second file generated by the file generation unit in association with the virtual object corresponding to the real object;
The display control system according to claim 1 .
請求項1に記載の表示制御システム。 the display control unit, when the first virtual object based on the second file is displayed on the display unit, switches the first virtual object based on the second file displayed on the display unit back to the first virtual object based on the first file in accordance with an occurrence status of a processing delay of the user terminal;
The display control system according to claim 1 .
請求項1に記載の表示制御システム。 when the first virtual object based on the second file is displayed on the display unit and a plurality of virtual objects including the first virtual object are displayed on the display unit, the display control unit switches back the first virtual object based on the second file displayed on the display unit to the first virtual object based on the first file, in accordance with the number of the virtual objects displayed on the display unit;
The display control system according to claim 1 .
前記ファイル記憶部は、互いに異なるファイルサイズを有する複数の前記第2ファイルを記憶し、
前記表示制御部は、前記端末情報に基づいて、前記複数の前記第2ファイルのうちから前記ユーザ端末に送信する対象となる前記第2ファイルを決定する、
請求項1に記載の表示制御システム。
a terminal information acquisition unit that acquires terminal information indicating attributes of the user terminal;
the file storage unit stores a plurality of the second files having different file sizes;
the display control unit determines, based on the terminal information, the second file to be transmitted to the user terminal from among the plurality of second files;
The display control system according to claim 1 .
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022123279 | 2022-08-02 | ||
| JP2022123279 | 2022-08-02 | ||
| PCT/JP2023/025317 WO2024029275A1 (en) | 2022-08-02 | 2023-07-07 | Display control system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2024029275A1 JPWO2024029275A1 (en) | 2024-02-08 |
| JP7744523B2 true JP7744523B2 (en) | 2025-09-25 |
Family
ID=89849227
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2024538884A Active JP7744523B2 (en) | 2022-08-02 | 2023-07-07 | Display Control System |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7744523B2 (en) |
| WO (1) | WO2024029275A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7827282B1 (en) * | 2025-06-23 | 2026-03-10 | クラスター株式会社 | Information processing method, information processing device, information processing program, and information processing system |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002279449A (en) | 2001-03-19 | 2002-09-27 | Mitsubishi Electric Corp | Three-dimensional spatial data transmission display device, three-dimensional spatial data transmission method, computer-readable recording medium storing a program for causing a computer to execute the three-dimensional spatial data transmission method |
| JP2004213641A (en) | 2002-12-20 | 2004-07-29 | Sony Computer Entertainment Inc | Image processor, image processing method, information processor, information processing system, semiconductor device and computer program |
| JP2019054488A (en) | 2017-09-19 | 2019-04-04 | キヤノン株式会社 | Providing device, providing method, and program |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11144089A (en) * | 1997-11-11 | 1999-05-28 | Hitachi Ltd | Graphic processing apparatus and method |
-
2023
- 2023-07-07 WO PCT/JP2023/025317 patent/WO2024029275A1/en not_active Ceased
- 2023-07-07 JP JP2024538884A patent/JP7744523B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002279449A (en) | 2001-03-19 | 2002-09-27 | Mitsubishi Electric Corp | Three-dimensional spatial data transmission display device, three-dimensional spatial data transmission method, computer-readable recording medium storing a program for causing a computer to execute the three-dimensional spatial data transmission method |
| JP2004213641A (en) | 2002-12-20 | 2004-07-29 | Sony Computer Entertainment Inc | Image processor, image processing method, information processor, information processing system, semiconductor device and computer program |
| JP2019054488A (en) | 2017-09-19 | 2019-04-04 | キヤノン株式会社 | Providing device, providing method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024029275A1 (en) | 2024-02-08 |
| JPWO2024029275A1 (en) | 2024-02-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6504212B2 (en) | Device, method and system | |
| US11082490B2 (en) | Method and apparatus for execution of applications in a cloud system | |
| CN111414225A (en) | Three-dimensional model remote display method, first terminal, electronic device and storage medium | |
| JP2021043476A (en) | Information processing apparatus | |
| US12198175B2 (en) | Object comparison method, and device | |
| US10204598B2 (en) | Predictive pre-decoding of encoded media item | |
| JP7744523B2 (en) | Display Control System | |
| CN114495190A (en) | Training method of face changing network model, image face changing method and related equipment | |
| US12061641B2 (en) | Video delivery device, video delivery system, video delivery method and video delivery program | |
| JP6286836B2 (en) | Projection system, projection apparatus, projection method, and projection program | |
| CN109672931B (en) | Method and apparatus for processing video frames | |
| US9959598B2 (en) | Method of processing image and electronic device thereof | |
| JP5115457B2 (en) | Cursor movement control method, apparatus, and program | |
| JP7733815B2 (en) | Virtual space providing device | |
| CN113038050A (en) | Split screen display control method and device, terminal equipment and storage medium | |
| US10915753B2 (en) | Operation assistance apparatus, operation assistance method, and computer readable recording medium | |
| CN116909655A (en) | Data processing method and device | |
| CN112740161A (en) | Terminal, method for controlling terminal, and recording medium having recorded therein program for implementing the method | |
| JP7780023B2 (en) | Virtual Object Generator | |
| JP7588243B2 (en) | Online dialogue support system | |
| CN113986848A (en) | File processing method, device, equipment and storage medium | |
| JP7739209B2 (en) | Video providing device and video providing system | |
| US20260064194A1 (en) | Display control apparatus | |
| JP7608622B2 (en) | Display Control Device | |
| JP7508648B1 (en) | Display System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20241126 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250701 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250812 |
|
| 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: 20250826 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250911 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7744523 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |