SHARED MEMORY FOR ENHANCED DISPLAY BY NEAR EYE DISPLAY DEVICES - Patent application
Patent Information
- Application Number
- JP2023569926
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-05-21
- Filing Date
- 2022-04-26
- Publication Date
- 2025-05-08
AI Technical Summary
Conventional near-eye display devices face challenges with bulkiness, weight, and high latency due to the inclusion of extensive computing and storage resources, particularly in low-bandwidth connections like Bluetooth or BLE, which affect user experience.
A computing device optimizes display resource management by sending commands to save and display resources efficiently using a BLE connection, minimizing latency through strategic storage and retrieval of display resources on the near-eye display device.
This approach reduces device size and weight while maintaining low latency, enabling efficient display resource management even with limited computing and storage capabilities.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to the field of near-eye display devices, and more particularly to the field of optimizing the management of display resources in near-eye display devices. [Background technology]
[0002] Smart glasses are glasses that, in addition to showing the user a scene, also provide the user with information superimposed on the scene, for example by means of an OLED (Organic Light Emitting Diode) display. Smart glasses can therefore be adapted to "see through", if the display is made on the glasses in the same zones in which the wearer sees the outdoor scene. Conversely, the display can also be made in certain zones in which the glasses are not transparent. Smart glasses are particularly useful for physical activities such as sports, or more generally for outdoor use. Indeed, smart glasses can provide the wearer of the glasses with live information about his activity. For example, a runner can benefit from instant information about his running speed, the elapsed time of the run, and the distance he has traversed.
[0003] The conventional approach to designing smart glasses is to provide glasses with all the sensors and computing means to generate a display. Such smart glasses therefore include components such as a CPU, a large memory storage device, communication capabilities, and sensors (e.g., accelerometers, gyroscopes, GPS, etc.) for monitoring the user's activity. Such smart glasses therefore act as computers and can be programmed to deliver to the user any information the user requires. However, the presence of these components makes the glasses large, heavy, and therefore uncomfortable to use.
[0004] To mitigate these drawbacks, one option is to use "connected" glasses, as opposed to "smart" glasses. "Connected" glasses are also glasses that allow the user to be provided with information overlaid, for example with an OLED display. As opposed to "smart glasses", "connected" glasses have minimal computing and storage capabilities to control the display and are connected to a computing device (such as a smartphone) from which they receive instructions to define the content of the display. Thus, all complex operations such as interacting with sensors, calculating user data, defining the layout of the display, etc. are performed by the computing device. The connected glasses receive basic graphical instructions and generate the display accordingly. Thus, connected glasses require minimal computing and storage capabilities and are more lightweight and convenient to use. The connection between the computing device and the connected glasses can be a local wireless connection, such as a Bluetooth or Bluetooth Low Energy (BLE) connection. Such a connection is very well suited to establish a direct link with two nearby devices, but offers limited bandwidth for communication with the devices.
[0005] Some of the commands sent by the computing device to the connected glass can use display resources, such as images, as arguments. One conventional approach to managing the interaction between the computing device and the connected glass is to have the computing device send the display resources when needed, such as when sending a display command or when starting an application.
[0006] However, this can introduce significant latency because the entire resource (e.g., the entire image) needs to be transferred before the command can be executed by the connected glasses. This is especially true when low bandwidth connections are used, such as Bluetooth or BLE. Such latency is detrimental to the user experience.
[0007] More generally, the same problem arises for the display of display resources on any kind of near-eye display device (NED). Indeed, it is desirable for each near-eye display device to simultaneously limit computing resources, memory resources, and user-experienced latency. Summary of the Invention [Problem to be solved by the invention]
[0008] Therefore, there is a need for optimized management of display resources for near-eye display devices that enables connected near-eye display devices with minimal computing and storage resources to display the resources with limited latency. [Means for solving the problem]
[0009] To this end, the present invention discloses a computing device comprising a communication endpoint configured to establish a connection with a near-eye display device and at least one processing logic configured to send display resources to the near-eye display device, send commands to store the resources in the near-eye display device, and send commands to the near-eye display device to display the resources whenever a display of the resources is required by the wearer of the near-eye display device.
[0010] Advantageously, said communication endpoint is a Bluetooth Low Energy (BLE) communication endpoint.
[0011] Advantageously, the near-eye display device is a BLE server.
[0012] Advantageously, resources belonging to the same application or program installed on the computing device are stored in the near-eye display device in the same configuration, said configuration corresponding to defined folders in the storage medium of the near-eye display device.
[0013] Advantageously, at least one processing logic is configured to send commands to the near-eye display device to perform one or more of the following: obtain a list of configurations in the near-eye display device, set one of the configurations in the list as an active configuration, read the contents of a configuration, write the contents of a configuration, create a configuration, and delete a configuration.
[0014] Advantageously, at least one processing logic is configured to send a command to the near-eye display device to obtain an amount of free space before creating a configuration or saving a display resource, and to delete other configurations if said free space is not sufficient for creating a configuration or saving a display resource.
[0015] Advantageously, the other configuration is the one that has been set as the active configuration for a long time.
[0016] Advantageously, the other configuration is the configuration that has been least frequently set as the active configuration.
[0017] The present invention also discloses a near-eye display device, comprising: a communication endpoint configured to establish a connection with a computing device; a display means configured to display one or more display resources; a storage medium; and at least one processing logic configured to: upon receiving a display resource and a command to store said resource from said computing device, store said display resource in said storage medium; and upon receiving a command to display said resource from said computing device, retrieve said resource from said storage medium and display said resource.
[0018] The present invention also discloses a computing system, which comprises a computing device according to one of the embodiments of the present invention and a near-eye display device according to one of the embodiments of the present invention.
[0019] The present invention also discloses a computer-implemented method, the method including the steps of sending, by a computing device, a display resource to a near-eye display device, sending a command to the near-eye display device to store the resource, and sending a command to the near-eye display device to display the resource whenever it is necessary to display the resource to a wearer of the near-eye display device.
[0020] The present invention also discloses a computer-implemented method, the method including the steps of: storing a display resource in a storage medium by a near-eye display device according to one of the embodiments of the present invention upon receiving a display resource and a command to store the resource from the computing device; and retrieving the resource from the storage medium and displaying the resource upon receiving a command to display the resource from the computing device.
[0021] The present invention also discloses a computer program product stored on a non-transitory computer readable medium, comprising computer code instructions for carrying out the method according to one of the embodiments of the present invention.
[0022] The invention also discloses a computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to perform a method according to one of the embodiments of the invention.
[0023] The invention will be better understood, and its various features and advantages will become apparent, from the following description of some exemplary embodiments, given by way of example only, and the accompanying drawings, in which: [Brief description of the drawings]
[0024] [Figure 1] FIG. 1 illustrates a computing system with a near-eye display device connected to a computing device in which the present invention may be implemented. [Diagram 2] 1A-1C are diagrams illustrating three examples of displays based on predefined layouts for a near-eye display device in some embodiments of the present invention. [Diagram 3] 2A-2C illustrate examples of organization of display resources stored on a near-eye display device in some embodiments of the present invention. [Figure 4] FIG. 1 illustrates an example of a computer-implemented method executable by a computing device in some embodiments of the present invention. [Diagram 5] FIG. 2 illustrates an example of a computer-implemented method executable by a near-eye display device in some embodiments of the present invention. [Figure 6] FIG. 13 illustrates an example of deleting a display configuration in some embodiments of the present invention. [Figure 7] FIG. 1 illustrates an example of creating a configuration in some embodiments of the present invention. [Figure 8]1A-1C show examples of configuration selection and display of configuration layout in some embodiments of the present invention. [Figure 9] FIG. 13 illustrates an example of a failed configuration selection in some embodiments of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0025] FIG. 1 illustrates a computing system with a near-eye display device connected to a computing device in which the present invention may be implemented.
[0026] The system 100 includes a computing device 110 and a near-eye display device (NED) 120 .
[0027] A near-eye display device refers to a device that is mounted near a user's eye and includes an optical system that enables display resources, such as images, to be displayed to the user's eye.
[0028] In the example of Figure 1, the near-eye display device is a pair of connected glasses. However, the invention is not limited to this example, and according to various embodiments of the invention, the NED 120 may be: - Binoculars - Sight - Head-up display - Head-mounted display - Virtual Reality (VR) Platform - Night Vision System - Thermal Imaging Systems - Telemeter - A camera with a viewfinder - others The display device may also be any type of near-eye display device, such as a 3D display, a 3D camera, or a 3D display.
[0029] One general purpose of the system 100 is to use a computing device to control the display of a NED, in this example a pair of glasses 120. The computing device 110 can, for example, calculate several elements for display to a user and have these elements displayed by the pair of glasses 120 superimposed on the screen of the scene through the glasses. For example, when the wearer of the glasses is running, the computing device 110 can calculate the speed at which the user is running and send instructions to the glasses to provide information to the user through the glasses.
[0030] Such a display can be based on display resources such as images or layouts.One of the aims of the invention is to optimise the management of display resources.
[0031] Computing device 110 may be any computing device with computing and communication capabilities.
[0032] In some embodiments of the invention, the computing device 110 is a device, such as a smartphone, tablet, or smartwatch, that may be worn by a wearer of the glasses 120. Thus, the device 110 may be directly connected to the glasses, for example, via a wired or Bluetooth connection, to control the display of the glasses 120 during the user's outdoor activities.
[0033] Glasses 120 may be any number of glasses with computing, storage, communication, and display capabilities that are capable of displaying data to a wearer of the glasses superimposed on a scene seen by the wearer through the glasses.
[0034] The computing device 110 has a communication endpoint 111 configured to establish a connection with one pair of glasses 120, and the one pair of glasses 120 has a communication endpoint 121 configured to establish a connection with the first computing device 110.
[0035] The communication endpoints 111 and 121 may, for example, form a direct connection between the computing device 110 and the pair of glasses 120. This connection may be either a wired connection or a wireless connection, such as a Bluetooth connection. Such a connection provides the advantage of allowing the computing device 110 and the pair of glasses 120 to communicate directly with each other.
[0036] In some embodiments of the invention, the connection between the computing device 110 and the pair of glasses 120 is a BLE (Bluetooth Low Energy) connection. The communication endpoints 111 and 121 are therefore BLE communication endpoints.
[0037] Using BLE makes it possible to send data between the device 110 and the pair of glasses 120 with low energy consumption. This can limit the battery usage of both the computing device 110 and the pair of glasses 120. This is further particularly relevant for the pair of glasses 120, since this contributes to benefit from sufficient autonomy even if the pair of glasses 120 has a small battery size. Thus, the weight and size of the glasses can be reduced.
[0038] In an embodiment where BLE is used, the pair of glasses 120 can be a BLE server to which the computing device 110 is connected. Thus, the pair of glasses 120 can declare a dedicated GATT (Generic Attributes) profile that defines the commands that can be used and the rate at which it receives packets. To further save energy, the glasses can set themselves into an energy saving / low consumption mode during the reception of successive packets.
[0039] The computing device 110 further comprises at least one processing logic 112. According to various embodiments of the present invention, the processing logic can be a processor operating according to software instructions, a hardware configuration of a processor, or a combination thereof. It should be understood that any or all of the functions discussed herein can be implemented purely in hardware implementations and / or by a processor operating according to software instructions. It should also be understood that any or all software instructions can be stored in a non-transitory computer-readable medium. For simplicity, in the remainder of this disclosure, one or more processing logics will be referred to as "processing logic". However, it should be noted that the operations of the present invention can also be implemented in a single processing logic or in multiple processing logics, e.g., multiple processors.
[0040] At least one processing logic 112 may, for simplicity's sake, be referred to in the course of this disclosure as "processing logic" even though in some embodiments of the present invention this may represent multiple processing logics.
[0041] The pair of glasses comprises a display means arranged to display one or more display resources superimposed on the glasses (transmissive). This allows the wearer of the glasses to be provided with information on top of the scene he is looking at, without having to move his head, as in a head-up display. The pair of glasses thus forms a transmissive optical system. The display means can be, for example, an OLED display.
[0042] More generally, the near-eye display device of the present invention comprises a display means that can be configured to display a display resource either superimposed on what the wearer sees through the NED (this is the case for a transmissive device such as glasses or a gunsight), or directly from the NED as an opaque display (this is the case for example for a VR helmet).
[0043] The pair of glasses further comprises a storage medium 122. The storage medium 122 can be any type of memory, such as RAM or flash memory, that allows for the storage and retrieval of data. The pair of glasses 120 can be designed with a limited memory size to limit the weight and size of the glasses.
[0044] The pair of glasses 120 further comprises at least one processing logic 123. To limit the weight and size of the glasses, the at least one processing logic 123 may be a lightweight processing logic such as a microcontroller or a low-power processor. For example, an ARM M0 processor may be used.
[0045] In some embodiments of the present invention, the pair of glasses further comprises sensors, such as ambient light or gesture sensors, whose readings can be used directly by the pair of glasses 120 or sent to the computing device 110 for further use.
[0046] The processing logic 112 - sending display resources to one pair of glasses 120; - sending a command to one pair of glasses 120 to conserve said resources; - sending a command to one pair of glasses 120 to display said resource whenever the display of said resource is required by the wearer of the glasses; It is configured as follows.
[0047] Conversely, the processing logic 123 - upon receiving, from the computing device 110, a display resource and a command to store said resource, storing said display resource in the storage medium 122; upon receiving a command from the computing device 110 to display said resource, retrieves said resource from the storage medium 122 and displays said resource; It is configured as follows.
[0048] In other words, when a resource such as an image or a layout needs to be used, it is sent once by the computing device 110 to the one pair of glasses 120 and stored in the storage medium 122 of the one pair of glasses 120. Each time a resource already stored by the one pair of glasses 120 needs to be used, the computing device 110 only needs to send a command to display the resource (or a command to reference the resource) so that the resource can be used for display.
[0049] Thus, the resource needs to be transmitted once and can be transmitted before it actually needs to be used. For example, the resource can be transmitted and stored when an application that uses the resource is installed on the computing device 110. Thus, when the user wants to use the application, the resource is already stored in one pair of glasses 120 for use.
[0050] During use of the glasses, display resources are often very heavy, so only a limited amount of information needs to be exchanged. Thus, even with limited latency, display can be done on the glasses. Thus, a low bandwidth connection such as BLE can be used, which allows low energy consumption and allows the glasses 120 to have a light battery.
[0051] System 100 also enables the display on glasses 120 to be defined by computing device 110. Thus, the computing capacity of processing logic 123 may be limited.
[0052] Thus, a wearer of the glasses 120 can provide a display using display resources without experiencing latency for the display, even when the computing, communication, and storage capacity of the glasses is limited to reduce the size and weight of the glasses.
[0053] As explained above, Fig. 1 is provided only by way of a non-limiting example, and the system according to the present invention is not limited to one pair of glasses, but may comprise any kind of near-eye display device. Indeed, it is also desirable to limit the size and weight of other near-eye display devices, such as binoculars, sights, etc., while limiting the display latency for users of NEDs. All of the embodiments discussed in Fig. 1 can be applied to any near-eye display device, respectively. The near-eye display device can be a transmissive display, as well as an opaque display.
[0054] FIG. 2 shows three examples of displays based on predefined layouts for a near-eye display in some embodiments of the present invention.
[0055] In some embodiments of the present invention, the computing device 110 may send display commands to a pair of glasses 120 .
[0056] Examples of commands are listed below. In the following examples, the connection between the computing device 110 and the near-eye display 120 is a BLE connection, and the computing device 110 and the near-eye display 120 communicate via the GATT (Generic Attribute Profile) protocol, where the near-eye display 120 is the GATT server and the computing device is the GATT client. The commands listed below are therefore expressed using the GATT format. However, these are provided only by way of non-limiting examples, and the invention is not limited to these command types.
[0057] In the command definition, the parameters x and y define the horizontal and vertical distances, respectively, in number of pixels, from the top left corner of the NED display.
[0058] The following commands provide examples of commands to draw simple shapes and elements such as points, circles, or lines.
[0059] [Table 1]
[0060] In some embodiments of the present invention, luminance is represented using a 16-level greyscale using values ranging from 0 to 16.
[0061] The following commands provide example commands for saving and displaying images.
[0062] [Table 2]
[0063] While most of these commands imply a transfer of information from the computing device to the near-eye display (e.g., sending image data to store or to display images), the command imgList causes the near-eye display to return to the computing device 110 a list of images in its memory, via which in return it is sent as follows:
[0064] [Table 3]
[0065] The following commands can be sent by the computing device 110 to the near-eye display 120 to control the fonts that may be used for display.
[0066] [Table 4]
[0067] Upon receiving the fontList command, the near-eye display 120 returns a list of fonts to the computing device 110 .
[0068] [Table 5]
[0069] Predefined gauges can also be used via commands.
[0070] [Table 6]
[0071] The near-eye display device can return the following commands in response to each of the gaugeList and gaugeGet commands:
[0072] [Table 7]
[0073] In some embodiments of the invention, the commands also include commands for managing layouts, which are predefined graphical elements that can arrange information in a defined order. For example, a layout can be a combination of graphical shapes and numerical values. Layouts make it easier to define the display because the user can directly provide instructions for displaying the layout with its parameters, rather than redefining the combination of graphical elements that form the layout.
[0074] In some embodiments of the present invention, the following commands may be sent from computing device 110 to near-eye display 120 to manage and use the layout:
[0075] [Table 8]
[0076] Upon receiving the commands layoutList and layoutGet, the near-eye display 120 can return a list of saved layouts and a definition of the layout, respectively, to the computing device 110.
[0077] [Table 9]
[0078] In some embodiments of the present invention, a layout may be defined as described below.
[0079] A layout is coded in 17 to 128 bytes. The first parameter is the clipping region (a rectangle on the display where the layout is defined), which is defined by the coordinates of the upper top corner and the size of the region (width, height). The parameters also include the foreground and background colors of the graphical objects. If the layout arguments are displayed using text, their font, color, rotation, opacity and position are defined. It is then possible to define further graphical commands to be displayed. The layout data can be defined as follows:
[0080] [Table 10]
[0081] If further graphical commands are required, the size in bytes of these commands can be stored in the size parameter. Examples of further commands are specified with their command parameters as follows: The positions of the elements are all referenced from the layout clipping region (X0,Y0).
[0082] [Table 11]
[0083] The layoutPosition command provides the effect of shifting all elements of a layout.
[0084] The layoutDisplay command causes a layout to be displayed at a previously defined position using the layout parameters.
[0085] In some embodiments of the present invention, the near-eye display has a predefined layout, such as, for example, the layouts listed below, i.e.
[0086] [Table 12]
[0087] The displays 210, 220, and 230 are formed from predefined layouts.
[0088] For example, the display 210 may be formed from the following: - Layout "Time" 211, showing the hours of the day, - a layout "Time" 212, showing the time elapsed since the start of the activity; - Layout "Speed" 213, showing the instantaneous speed of the user, - Layout "Average Speed" 214, showing the average speed since the start of the activity.
[0089] For example, the display 220 may be formed from the following: - Layout "Time" 221, showing the hours of the day, - the layout "Time" 222, showing the time elapsed since the start of the activity; - layout "distance" 223, showing the distance since the start of the activity; - A layout "height climbed" 224, showing the cumulative height climbed by the user since the start of the activity.
[0090] For example, the display 230 may be formed from the following: - Layout "Time" 231, showing the hours of the day, - the layout "Time" 232, showing the time elapsed since the start of the activity, - Layout "Heart Rate" 233, showing the user's instantaneous heart rate, - A layout "Gait" 234, showing the number of minutes required to walk 1 km at the user's current speed.
[0091] To display a layout, after the layout and its position are defined, it is sufficient to send the command "layoutDisplay" with the parameters of the layout. For example, to display the user's heart rate with the layout 233, the computing device 110 needs to monitor the heart rate and then sends the command "layoutDisplay" with the heart rate as a parameter.
[0092] As indicated above, in some embodiments the following types of commands are used: - commands for saving display resources, such as the "imgSave" command for saving an image, or the "layoutSave" command for displaying a previously saved image, - Commands to display previously saved resources, such as the "imgDisplay" command to display an image, or the "layoutDisplay" command to display a previously saved layout It is.
[0093] These commands reserve the resource once and can then be used without retransmitting them, thus allowing the resource to be used with minimal latency.
[0094] In addition, commands such as "layoutList" or "imgList" return a list of display resources so that the computing device 110 can determine what resources are available for it to use, or add missing resources if necessary.
[0095] FIG. 3 illustrates an example of an organization of display resources stored on a near-eye display device in some embodiments of the present invention.
[0096] In some embodiments of the present invention, resources may be stored in a "configuration" in storage medium 122. A configuration may be viewed as a set of display resources for a particular application or context. For example, a configuration may include all display resources required by an application, a user, or a computing device.
[0097] A storage medium may be provided with a specific space for storing configurations, for example in a file system, where each configuration has a name associated with a folder. For example, in the example of FIG. 3, three configurations can be seen, namely: - Configuration "config a" 310 - Configuration "config b" 311 - configuration "config c" 312 It is.
[0098] In practice, each application or program installed on the computing device 110 can create its own configuration. Then, all display resources belonging to this application or program are stored in that configuration and in the corresponding folder of this application or program.
[0099] Thus, each application or program can manage its own display resources. When an application wants to use a resource, it can verify whether its configuration exists on the near-eye display device, and if so, whether the desired resource already exists. If not, the application can create / save the configuration or resource.
[0100] This therefore improves management of resources by each application or program to avoid removal of resources by another application or program.
[0101] In some embodiments of the present invention, the configuration may be password protected to prevent any access or modification by unauthorized users / applications.
[0102] FIG. 3 also shows an example of the contents of a configuration, in this example "config a."
[0103] The configuration may, for example, include one or more of the following elements: - Images in the "img" subfolder 3101, - Layouts, in the "layout" subfolder 3102, - a configuration file 3103 that stores all the elements of the meta-configuration of the configuration, e.g. passwords, access rights, dates, versions, etc. - Version file 3104 It is.
[0104] In some embodiments of the present invention, processing logic 112 is configured to send commands to the near-eye display device to perform one or more of the following: - obtaining a list of configurations for the near-eye display device; - setting one of the configurations in said list as the active configuration; - reading the contents of the configuration, - writing the content of the configuration; - creating a configuration; - Deleting a configuration It is.
[0105] This allows the computing device to fully manage the configurations and optimize the space using the desired configurations and resources. In fact, the computing device can obtain any necessary information about the configurations and modify them as needed. When a configuration is set as the active configuration, the display resources of this configuration can be directly referenced by their names to be used.
[0106] In the example detailed above using BLE and GATT to communicate between the computing device 110 and the near-eye display 120, the following commands can be sent from the computing device to the near-eye display device:
[0107] [Table 13]
[0108] The following information may also be returned to the computing device 110 by the near-eye display 120:
[0109] [Table 14]
[0110] In some embodiments of the present invention, in order to limit the size of memory in the near-eye display device, the dedicated storage space for configurations can be limited. For example, 3MB of space can be allocated for configurations. Therefore, in some cases, the free space may not be enough to create a new configuration or to save display resources.
[0111] In some embodiments of the present invention, before creating a configuration or saving a display resource, at least one processing logic sends a command to the near-eye display device to: - Get the amount of free space, - If the free space is not enough to create a configuration or to store display resources, delete other configurations. It is configured as follows.
[0112] This increases the amount of free space available to store additional configuration / display resources if needed. Multiple configurations can be deleted if needed.
[0113] Of course, a deleted configuration may subsequently need to be reinstalled, for example when the application to which the other configurations belong is started again, and therefore configurations can be selected for deletion in order to reduce the likelihood that a reinstallation will be required, or at least to increase the time before a configuration needs to be reinstalled.
[0114] One option, for example, would be to remove a configuration that has been set as the active configuration for a long time.
[0115] In practice, a configuration that has not been set as the active configuration for a long time is assumed to belong to an application that is not used any more, or at least not used very frequently, and therefore should not be needed any time soon.
[0116] Another option is to remove configurations that are set as active configurations that are rarely used.
[0117] In fact, configurations that are set as active configurations that are rarely used are considered to belong to applications that are not run very frequently, and therefore, it can be estimated that such applications will not be run for a long time.
[0118] FIG. 4 illustrates an example of a computer-implemented method executable by a computing device in some embodiments of the invention.
[0119] All steps of method 400 are performed by a computing device, such as computing device 110 .
[0120] The method 400 includes a first step 410 of sending display resources to a near-eye display, such as near-eye display 120 .
[0121] The method 400 further comprises a second step 420 of sending a command to the near-eye display device to conserve the resource.
[0122] The method 400 further comprises a third step 430 of sending a command to the near-eye display to display said resource whenever it is desired to display said resource to a wearer of the near-eye display.
[0123] All of the embodiments discussed above are respectively applicable to the method 400 .
[0124] The display resource must be saved before step 430 is executed. However, the order of steps 410 and 420 can be reversed, or these two steps can be executed simultaneously. For example, the command "imgSave" mentioned above is a command to save an image, and the image itself is sent as an argument to the command. Thus, sending the command "imgSave" with the image as a parameter causes steps 410 and 420 to be executed simultaneously.
[0125] FIG. 5 illustrates an example of a computer-implemented method that can be executed by a near-eye display in some embodiments of the present invention.
[0126] The method 500 comprises a first step 510 of saving said display resource in a storage medium upon receiving from said computing device a display resource and a command to save said resource.
[0127] The method 500 includes a second step 520 of retrieving the resource from the storage medium upon receiving a command from the computing device to display the resource, and a third step 530 of displaying the resource.
[0128] Each of the embodiments discussed above is applicable to the method 500 .
[0129] FIG. 6 illustrates an example of deleting a display configuration in some embodiments of the present invention.
[0130] 6 to 9 show examples of configuration management, which are provided using the exemplary command set mentioned above, using BLE and GATT protocols. Of course, they are provided for illustrative purposes only, and similar functionality can be obtained using different languages.
[0131] 6-9 each represent a sequence diagram in which the left column represents a computing device 110 and the right column represents a near-eye display 120. More specifically, the left column 110 represents an application running on the computing device 110.
[0132] In diagram 600 of FIG. 6, an application is attempting to upload a configuration by adding a new resource.
[0133] In step 610, the application sends the command "cfgFreeSpace" to the near-eye display device, which in return in step 620 provides the available free space in the configuration's memory pool.
[0134] In this example, the free space is not enough to add resources, so the application looks for configurations to remove to free up space.
[0135] It therefore sends the command “cfgList” in step 630 , and the near-eye display device provides in return a list of configurations in step 640 .
[0136] In step 650, the application sends the command "cfgDelete" to delete one of the configurations that already exists, but in this example the deletion fails because the application cannot delete this configuration.
[0137] In fact, there are some cases where you cannot delete a configuration: - Permanently required "system" configurations cannot be deleted. - A configuration can be associated with edit rights, and an application may not have the right to modify or delete that configuration.
[0138] Thus, in step 660, in this case the application cannot upload new data due to its own configuration.
[0139] FIG. 7 illustrates an example of creating a configuration in some embodiments of the present invention.
[0140] In this example, the application is also attempting to upload new data to that configuration, but in this example it is possible to delete other configurations.
[0141] Steps 710, 720, 730 and 740 are similar to steps 610, 620, 630 and 640 respectively, in that the application gets the available free space and a list of existing configurations.
[0142] Since the free space is not enough to upload the new display resource, the application sends commands to delete the first and then the second configurations in steps 750 and 751. In this example, the deletion is successful.
[0143] After these two deletions, the available free space is enough to save the resource. The application then sends the command: - cfgWrite, step 760, writes the configuration to reflect the addition of the new element; - imgWrite, step 770, writes an additional image to the application's configuration; - layoutWrite, step 780, writes an additional layout to the application's configuration.
[0144] Thus, applications can benefit from updated configurations.
[0145] FIG. 8 shows an example of configuration selection and display of the configuration layout in some embodiments of the invention.
[0146] When started, the application queries the near-eye display device to see if its configuration is available.
[0147] To this end, the application sends the command “cfgList” in step 810 and the near-eye display device returns a list of configurations in step 820 .
[0148] Now that the application's configuration is available, the application sends the command "cfgSet" in step 830 to set that configuration as the active configuration.
[0149] The layout of the application can then be used. The application sends three commands "layoutDisplay" which display three different layouts in steps 840, 850, 860 respectively.
[0150] FIG. 9 illustrates an example of a failed configuration selection in some embodiments of the present invention.
[0151] In this example, steps 910 and 920 are identical to steps 810 and 820.
[0152] In step 930, the application sends the command "cfgSet" to set the desired configuration as the active configuration. However, in this case, the command fails. For example, "cfgSet" may fail if the configuration is password protected and the user cannot enter the correct password, or if the access rights to use the configuration prevent the application or computing device from using the configuration.
[0153] Therefore, in step 940, the configuration cannot be set to the desired configuration and so the current active configuration is maintained.
[0154] This shows how the computing device and the near-eye display device 120 can interact to set the appropriate configuration for displaying graphics on the near-eye display device 120.
[0155] They also show how a mix of commands to set, use, and get information about configuration and display resources can cause a computing device to set and use a desired configuration.
[0156] The above-mentioned examples are given as non-limiting examples of embodiments of the present invention. They do not in any way limit the scope of the present invention, which is defined by the appended claims. [Explanation of symbols]
[0157] 100 Systems 110 Computing Devices 111 Communication Endpoints 112 Processing Logic 120 Near-eye display devices, glasses 121 Communication Endpoints 122 Storage medium 123 Processing Logic 210 displays 211 Time 212 hours 213 Speed 214 Average speed 220 displays 221 Time 222 hours 223 distance 224 Ascent Height 230 displays 231 Time 232 hours 233 Heart Rate 234 Gape 310 config a 311 config b 312 1config c 400 ways 500 ways 600 Diagram 3101 "img" subfolder 3102 "layout" subfolder 3103 Configuration File 3104 Version File
Claims
1. - a communication endpoint (111) configured to establish a connection with a near-eye display device (120); at least one processing logic (112), - sending a display resource having at least one layout parameter to the near-eye display device; - sending a command to the near-eye display device to conserve the resource; - sending a command to change at least one value of said at least one layout parameter; - sending a command to the near-eye display device to display the resource in accordance with the at least one value of the at least one layout parameter whenever a display of the resource is required for a wearer of the near-eye display device; At least one processing logic (112) configured to perform A computing device (110).
2. The computing device of claim 1 , wherein the communication endpoint is a Bluetooth Low Energy (BLE) communication endpoint.
3. The computing device of claim 2 , wherein the near-eye display device is a BLE server.
4. A computing device as described in any one of claims 1 to 3, wherein display resources belonging to the same application or program installed on the computing device are stored in the near-eye display device in the same configuration, the configuration corresponding to a defined folder in a storage medium of the near-eye display device.
5. The at least one processing logic further comprises: - obtaining a list of configurations for the near-eye display device; - setting one of the configurations in the list as an active configuration; and - reading the contents of the configuration; - writing said content in a configuration; - creating a configuration; - Deleting the configuration 5. The computing device of claim 4, configured to send commands to the near-eye display device to perform one or more of the following:
6. The at least one processing logic, prior to creating a configuration or saving a display resource, - Getting the amount of free space; - if the free space is not enough to create the configuration or to store the display resources, deleting other configurations; The computing device of claim 4 , configured to send a command to the near-eye display device to perform the following:
7. The computing device of claim 6 , wherein the other configuration is a configuration that has been set as an active configuration for an extended period of time.
8. The computing device of claim 6 , wherein the other configuration is the configuration that has been least frequently set as an active configuration.
9. - a communication endpoint (121) configured to establish a connection with a computing device (110); - display means configured to display one or more display resources; - a storage medium (122); at least one processing logic (123), - upon receiving from the computing device a display resource having at least one layout parameter and a command to store the resource, storing the display resource on the storage medium; - upon receiving a command to change at least one value of the at least one layout parameter, changing the value of the at least one layout parameter; - upon receiving a command from the computing device to display the resource, retrieving the resource from the storage medium and displaying the resource according to the at least one value of the at least one layout parameter. At least one processing logic (123) configured to perform A near-eye display device (120).
10. - a computing device according to any one of claims 1 to 4; A near-eye display device according to claim 9. A computing system (100) comprising:
11. A computing device (110) - sending (410) a display resource having at least one layout parameter to a near-eye display device (120); - sending (420) a command to the near-eye display device to conserve the resource; - sending a command to change at least one value of said at least one layout parameter; - sending (430) a command to the near-eye display device to display said resource according to said at least one value of said at least one layout parameter whenever it is necessary to display said resource to a wearer of said near-eye display device; A computer-implemented method (400).
12. The near-eye display device (120) according to claim 8 provides: - upon receiving from said computing device a display resource having at least one layout parameter and a command to store said resource, storing said display resource in a storage medium (510); - upon receiving a command to change at least one value of the at least one layout parameter, changing the value of said one of the at least one layout parameters; - upon receiving a command from the computing device to display the resource, retrieving (520) the resource from the storage medium and displaying (530) the resource according to the at least one value of the at least one layout parameter; A computer-implemented method (500).
13. A computer program product stored on a non-transitory computer readable medium comprising computer code instructions for performing the method of any one of claims 11 or 12.
14. A computer readable storage medium comprising instructions which, when executed by a computer, cause the computer to perform the method of any one of claims 11 or 12.