Patent Description:
When an omnidirectional media stream is used, only part of the content corresponding to the user's viewport is rendered, while using a head-mounted display (HMD), giving the user a realistic view of the media stream.

<CIT> discloses a method for reducing discomfort when viewing virtual reality content for use in head mounted displays. <NPL>" discloses a new work item to specify VR supports in MTSI and IMS-based telepresence to enable support of an immersive experience for remote terminals. <CIT>, <CIT> and <CIT> disclose further devices and methods for reducing motion sickness.

<FIG> illustrates a related scenario (scenario <NUM>) for an immersive teleconference call, where the call is organized among Room A (<NUM>), User B (<NUM>), and User C (<NUM>). As shown in <FIG>, Room A (<NUM>) represents a conference room with an omnidirectional/<NUM>-degree camera (<NUM>), and User B (<NUM>) and User C (<NUM>) are remote participants using an HMD and mobile devices, respectively. In this case, participants User B (<NUM>) and User C (<NUM>) send their viewport orientation to Room A (<NUM>), which in turn sends User B (<NUM>) and User C (<NUM>) the viewport dependent stream.

An extended scenario (scenario <NUM>) is shown in <FIG> which includes multiple conference rooms (2a01, 2a02, 2a03, 2a04). User B (2a06) uses an HMD to view a video stream from the <NUM>-degree camera (<NUM>), and User C (2a07) uses a mobile device to view the video stream. User B (2a06) and User C (2a07) send their viewport orientations to at least one of the conference rooms (2a01, 2a02, 2a03, 2a04), which in turn sends User B (2a06) and User C (2a07) the viewport dependent stream.

As shown in <FIG>, another example scenario (scenario <NUM>) is when the call is set up using an MRF/MCU (2b05) where the Media Resource Function (MRF) and the Media Control Unit (MCU) are multimedia servers that provide media-related functions for bridging terminals in a multiparty conference call. The conference rooms may send their respective videos to the MRF/MCU (2b05). These videos are viewport independent videos, i.e., the entire <NUM>-degree video is sent to the media-server (i.e., the MRF/MCU) irrespective of the user's viewport streaming the particular video. The media server receives the viewport orientation of the users (User B (2b06) and User C (2b07)) and accordingly sends the users the viewport-dependent streams.

Further to scenario <NUM>, the remote users can choose to view one of the available <NUM>-degree videos from the conference rooms (2a01-2a04, 2b01-2b04). In such a case, the user sends the information about the video it would like to stream and its viewport orientation to the conference room or the MRF/MCU (2b05). The user can also trigger switching from one room to another based on the active speaker.

Another extension to the above scenarios is, for example, when a User A wearing an HMD is interested in following the viewport of another user. For this specific example, the other user will be User B (<NUM>). This may happen when User B (<NUM>) is presenting to the conference room (Room A, 2a01, 2a02, 2a03, and/or 2a04) or User A is interested in User B's (<NUM>) focus or viewport. However, when this happens and User A's viewport is switched, User A may suffer from motion sickness.

One or more example embodiments of the present disclosure provide a system and method for subsiding motion sickness when viewport sharing in teleconferencing and telepresence for remote terminals.

According to embodiments, a method for subsiding motion sickness when a first user is following a viewport of a second user in a streaming session, performed by a computer system, the method comprising determining a first field of view, FoV, based on a speed of a second FoV of the second user, wherein the second FoV of the second user is an original FoV with no reduction; generating a modified first FoV by at least one of (<NUM>) reducing (S640) the first FoV based on the speed of the second FoV of the second user increasing, and (<NUM>) increasing (S660) the first FoV based on the speed of the second FoV of the second user decreasing; and transmitting (S670) the modified first FoV to a first user terminal and presenting the modified first FoV to the first user as a new viewport, further comprising determining the speed of the second FoV of the second user to be a speed of a second user terminal being a head mounted display worn by the second user or a handheld device operated by the second user, further comprising determining the first FoV of the first user by applying a reducing factor to the second FoV of the second user, further comprising transmitting the reducing factor through a Session Description Protocol, SDP, to the second user terminal, wherein the reducing factor is defined by the first user.

According to embodiments, a device for subsiding motion sickness when a first user is following the viewport of a second user is provided, the device comprising: at least one memory configured to store program code; and at least one processor configured to read the program code and operate as instructed by the program code, the program code including: determining code configured to cause the at least one processor to determine (S620) a first field of view, FoV, based on a speed of a second FoV of the second user, wherein the second FoV of the second user is an original FoV with no reduction; modifying code configured to cause the at least one processor to generate a modified first FoV by at least one of (<NUM>) reducing (S640) the first FoV based on the speed of the second FoV of the second user increasinges, and (<NUM>) increasing (S660) the first FoV based on the speed of the second FoV of the second user decreasinges; and transmitting code configured to cause the at least one processor to transmit (S670) the modified first FoV to a first user terminal and present the modified first FoV to the first user as a new viewport, wherein the determining code is further configured cause the at least one processor to determine the speed of the second FoV of the second user to be a speed of a second user terminal being a head mounted display worn by the second user or a handheld device operated by the second user, wherein the determining code is further configured to cause the at least one processor to determine the first FoV of the first user by applying a reducing factor to the second FoV of the second user, wherein the transmitting code is further configured to cause the at least one processor to transmit the reducing factor through a Session Description Protocol, SDP, to the second user terminal at a beginning of the streaming session or during the streaming session, and wherein the reducing factor is defined by the first user.

According to embodiments, a non-transitory computer readable medium for subsiding motion sickness when a first user is following the viewport of a second user is provided. The computer readable medium may be connected to one or more processors and storing instructions that, when executed by at least one processor of a device, cause the at least one or more processors to perform the method of the invention.

Additional aspects will be set forth in part in the description that follows and, in part, will be apparent from the description, or may be learned by practice of the presented embodiments of the disclosure.

The above and other aspects, features, and aspects of embodiments of the disclosure will be more apparent from the following description taken in conjunction with the following accompanying drawings.

The present disclosure relates to a method and apparatus for subsiding motion sickness when a user is following the viewport of another user.

Motion sickness occurs when the human eye is unable to reconcile the movement seen with real body movements. The brain gets confused by the difference in information received from your balance organs in your inner ear and the eyes. This phenomenon is common in immersive video and affects immersive video streaming and immersive teleconferencing. As shown in <FIG> and <FIG>, multiple conference rooms with an omnidirectional camera are in a teleconference. A user may choose a video stream from one of the conference rooms (2a01, 2a02, 2a03, 2a04) or the viewport of another user participating in the teleconference to be displayed as an immersive stream.

Embodiments of the present disclosure are described comprehensively with reference to the accompanying drawings. However, the examples of implementations may be implemented in various multiple forms, and the disclosure should not be construed as being limited to the examples described herein. Conversely, the examples of implementations are provided to make the technical solution of the disclosure more comprehensive and complete, and comprehensively convey the idea of the examples of the implementations to a person skilled in the art. The accompanying drawings are merely example illustrations of the disclosure and are not necessarily drawn to scale. A same reference numeral in the accompanying drawings represents same or similar components, and therefore repeated descriptions of the components are omitted.

The proposed features discussed below may be used separately or combined in any order. Some block diagrams shown in the accompany drawings are functional entities and do not necessarily correspond to physically or logically independent entities. Further, the embodiments may be implemented by processing circuitry (e.g., one or more processors or one or more integrated circuits) or implemented in the form of software, or implemented in different networks and/or processor apparatuses and/or microcontroller apparatuses. In one example, the one or more processors execute a program that is stored in a non-transitory computer-readable medium.

<FIG> is a simplified block diagram of a communication system (<NUM>) according to embodiments of the present disclosure. The communication system (<NUM>) may include at least two terminals (<NUM>, <NUM>) interconnected via a network (<NUM>). For unidirectional transmission of data, a first terminal (<NUM>) may code video data at a local location for transmission to the other terminal (<NUM>) via the network (<NUM>). The second terminal (<NUM>) may receive the coded video data of the other terminal from the network (<NUM>), decode the coded data and display the recovered video data. Unidirectional data transmission may be common in media serving applications such as teleconferencing and the like.

<FIG> illustrates a second pair of terminals (<NUM>, <NUM>) provided to support bidirectional transmission of coded video that may occur, for example, during videoconferencing. For bidirectional transmission of data, each terminal (<NUM>, <NUM>) may code video data captured at a local location for transmission to the other terminal via the network (<NUM>). Each terminal (<NUM>, <NUM>) also may receive the coded video data transmitted by the other terminal, may display the recovered video data at a local display device.

In <FIG>, the terminals (<NUM>, <NUM>, <NUM>, <NUM>) may be illustrated as servers, personal computers, and mobile devices but the principles of the present disclosure are not limited to this. Embodiments of the present disclosure find application with laptop computers, tablet computers, HMDs, other media players, and/or dedicated video conferencing equipment. The network (<NUM>) represents any number of networks that convey coded video data among the terminals (<NUM>, <NUM>, <NUM>, <NUM>), including for example wireline and/or wireless communication networks. The immersive videos discussed in embodiments of the present disclosure may be sent and/or received the network (<NUM>) or the like.

<FIG> illustrates an example streaming environment for an application for the disclosed subject matter. The disclosed subject matter can be equally applicable to other video enabled applications, including, for example, immersive teleconferencing, video teleconferencing and telepresence, and so on.

A streaming environment may include one or more conference rooms (<NUM>), that may include a video source (<NUM>), for example a video camera and one or more participants of the conference (<NUM>). The video source (<NUM>) illustrated in <FIG> is a <NUM>-degree video camera that may, for example, create a video sample stream. The video sample stream may be sent to and/or stored on a streaming server (<NUM>) for future use. One or more streaming clients (<NUM>, <NUM>) may also send their respective viewport information to the streaming server (<NUM>). Based on the viewport information, the streaming server (<NUM>) may send a viewport dependent stream to the corresponding streaming clients (<NUM>, <NUM>). In another example embodiment, the streaming clients (<NUM>, <NUM>) may access the streaming server (<NUM>) to retrieve the viewport dependent stream. Embodiments are not limited to this configuration, the one or more conference rooms (<NUM>) may communication with the streaming clients (<NUM>, <NUM>) via a network (e.g., network <NUM>). Additionally, the streaming server (<NUM>) and/or streaming clients (<NUM>, <NUM>) may include hardware, software, or a combination thereof to enable or implement aspects of the disclosed subject matter as described in more detail below. The streaming clients (<NUM>, <NUM>) may include FoV (field of view) components (407a, 407b). The FoV components (407a, 407b) may adjust the viewport or FoV of the streaming client according to embodiments described in more detail below, and create an outgoing video sample stream that can be rendered on a display <NUM> or other rendering device such as an HDM, speaker, mobile device, and so on.

In an immersive teleconferencing call, streaming clients (hereafter "user") may choose to switch between one or none of the available immersive videos from multiple rooms streaming <NUM>-degree video (e.g., one or more conference rooms (<NUM>)). The immersive video may be switched from one room streaming immersive video to another room streaming immersive video, either automatically or manually. When the immersive video is manually switched by the user from one source to another, the user may be prepared for the switch. Therefore, the chances of the user getting motion sickness may be reduced. However, when the video is switched automatically, the user may not be prepared for the switch and may cause the user to experience motion sickness. For example, when the viewport of user A is automatically switched to follow the viewport of another user B. When this happens, user A's eye is not able to reconcile the movement in the viewport of user B with the information received by user A's internal ear and/or eyes.

In some embodiments, when user A is following the viewport of another user B, the FoV of user A is reduced in order to subside the effect of motion sickness and provide user A with more visual comfort. The FoV may be defined as a function of the HMD speed/dynamicity of the FoV of the user being followed. Thus, the FoV of user A may be adjusted accordingly to effectively reduce the effect of motion sickness due to user A following the viewport of another user B. For example, when the HMD speed/dynamicity of the FoV of user B (which is being followed by user A) increases, the FoV of user A may be reduced. In the same or another example embodiment, when the HMD speed/dynamicity of the FoV of user B (which is being followed by user A) decreases, the FoV of user A may be increased.

<FIG> illustrates changes in the FoV of a user A following another user B, wherein the HMD speed/dynamicity of the FoV of the another user B is increasing.

As shown in <FIG>, images (50a, 50b, 50c) are illustrated with varying levels of HMD speed/dynamicity of the FoV of the user B who is being followed. Each of the images (50a, 50b, and 50c) contain high resolution portions (<NUM>, <NUM>, <NUM>) and low resolution portions (<NUM>, <NUM>, <NUM>). The high resolution portions (<NUM>, <NUM>, <NUM>) and low resolution portions (<NUM>, <NUM>, <NUM>) of the respective images (50a, 50b, 50c) are based on the HMD speed/dynamicity of the FoV of the user B. According to <FIG>, the HMD speed/dynamicity of the FoV in image 50a is less than the HMD speed/dynamicity of the FoV in image 50b, and the HMD speed/dynamicity of the FoV in image 50b is less than the HMD speed/dynamicity of the FoV in image 50c (i.e., HMD speed in image 50a < 50b < 50c). The high resolution portions (<NUM>, <NUM>, <NUM>) of the images (50a, 50b, 50c) may be reduced according to an increase in the HMD speed/dynamicity of the FoV to alleviate the effects of motion sickness when user A's viewport is changed to the viewport of user B. Thus, the high resolution portion <NUM> in the image 50a is greater than the high resolution portion <NUM> in the image 50b, and the high resolution portion <NUM> is greater than the high resolution portion <NUM> in the image 50c (i.e., high resolution portion <NUM> > <NUM> ><NUM>). The high resolution portion of the image increases as the HMD speed/dynamicity reduces. Likewise, the low resolution portion of the image reduces as the HMD speed/dynamicity reduces.

In the same or another embodiment, when user A's FoV is reduced, the region between the initial FoV (without reduction) and the reduced FoV (hereafter "FoVReduced") may be transmitted in low resolution. For example, with reference to image 50a in <FIG>, when user A's FoV is reduced to the high resolution portion <NUM>, the region between the initial FoV (i.e., image 50a) without reduction and the FoVReduced (i.e., high resolution portion <NUM>) may be transmitted in low resolution (i.e., low resolution portion <NUM>).

In the same or another embodiment, when user A's FoV is reduced, only the FoVReduced may be transmitted to the user A in high resolution, low resolution, or a combination thereof.

In the same or another embodiment, a reducing factor λ may be defined. The value of the reducing factor λ may be applied to the initial or original FoV to get the FoVReduced (e.g., the high resolution portions <NUM>, <NUM>, and/or <NUM>) that is intended to ensure better visual comfort for the user who is changing his view (e.g., user A who is changing his view to another user B's view). The relationship between the FoVReduced and the reducing factor λ may be desrbided using the following equation:
<MAT>.

In the same or another embodiment, a minimum value of the reduced FoV (hereafter "FoVMin") may be defined for user A so as not to interfere with the immersiveness. For example, reducing the FoV too much would have an impact on user acceptability and interfere with the immersivness of the video. Therefore, FoVMin is less than or equal to FoVReduced, as described below:
<MAT>.

In the same or another embodiment, the reducing factor λ may have values between <NUM> and (FoVMin / FoV), and linearly decreasing weights between the extreme ends. A reducing factor λ with a value of <NUM> means the client is prone to motion sickness. The value of the reducing factor λ may be set by the user following the viewport (e.g., user A). Accordingly, the reducing factor λ gives the receiving user the control to define the reduction in their FoV.

According to embodiments, user A, prior to receiving the FoV of user B, needs to convey a value of the reducing factor λ and the FoVmin as part of its device capabilities to the sender (user B) such that a reduced FoV can be sent to the user A in an optimal manner in terms of, for example, necessary bitrate. This may be sent at the beginning of the session or during the session, for example, via SDP as needed by the user A. By the sender (user B) sending a reduced high-resolution FoV, the bandwidth requirement may be reduced as compared to the receiving user reducing the FoV after receiving the original FoV.

<FIG> is a flowchart of a method <NUM> for subsiding motion sickness when a first user is following the viewport of a second user in a streaming session, performed by a computer system, according to an embodiment.

As shown in <FIG>, in step S610, the method <NUM> includes determining whether a first user changes his viewport to the viewport of a second user. If NO at step S610, the method <NUM> repeats step S610. If YES at step S610, the method <NUM> continues to step S620.

In step S620, the method <NUM> determines the FoV of the first user based on the speed of the FoV of the second user. As the speed of the FoV of the second user changes, the FoV of the first user will be determined and/or modified. The FoV of the second user is an original FoV that has not been reduced or increased.

In step S630, the method <NUM> determined whether the speed of the FoV of the second user increases. If YES at step S630, the FoV of the first user is reduced (S640) and the reduced FoV is transmitted to a first user terminal (S670). If NO at step S630, the method <NUM> returns back to step S620.

In step S650, the method <NUM> determined whether the speed of the FoV of the second user decreases. If YES at step S650, the FoV of the first user is increased (S660) and the increased FoV is transmitted to the first user terminal (S670). If NO at step S650, the method <NUM> returns back to step S620.

Although <FIG> shows example blocks of the method, in some implementations, the method may include additional blocks, fewer blocks, different blocks, or differently arranged blocks than those depicted in <FIG>. Additionally, or alternatively, two or more of the blocks of the method may performed in parallel.

The techniques for subsiding motion sickness for immersive teleconferencing and telepresence, described above, can be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media. For example, <FIG> shows a computer system <NUM> suitable for implementing certain embodiments of the disclosed subject matter.

The components shown in <FIG> for computer system <NUM> are exemplary in nature and are not intended to suggest any limitation as to the scope of use or functionality of the computer software implementing embodiments of the present disclosure. Neither should the configuration of components be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary embodiment of a computer system <NUM>.

Such a human interface input device may be responsive to input by one or more human users through, for example, tactile input (such as keystrokes, swipes, data glove movements), audio input (such as voice, clapping), visual input (such as gestures), olfactory input. The human interface devices can also be used to capture certain media not necessarily directly related to conscious input by a human, such as audio (such as speech, music, ambient sound), images (such as scanned images, photographic images obtained from a still image camera), video (such as two-dimensional video, three-dimensional video including stereoscopic video).

Input human interface devices may include one or more of (only one of each depicted): keyboard <NUM>, trackpad <NUM>, mouse <NUM>, touch-screen <NUM>, data-glove, joystick <NUM>, microphone <NUM>, camera <NUM>, scanner <NUM>.

Computer system <NUM> may also include certain human interface output devices. Such human interface output devices may include tactile output devices (for example tactile feedback by the touch-screen <NUM>, data-glove, or joystick <NUM>, but there can also be tactile feedback devices that do not serve as input devices), audio output devices (such as: speakers <NUM>, headphones), visual output devices (such as screens <NUM> to include CRT screens, LCD screens, plasma screens, OLED screens, each with or without touch-screen input capability, each with or without tactile feedback capability-some of which may be capable to output two-dimensional visual output or more than three-dimensional output through means such as stereographic output; virtual-reality glasses, holographic displays and smoke tanks), and printers.

Computer system <NUM> can also include human accessible storage devices and their associated media such as optical media including CD/DVD ROM/RW <NUM> with CD/DVD or the like media <NUM>, thumb-drive <NUM>, removable hard drive or solid-state drive <NUM>, legacy magnetic media such as tape and floppy disc, specialized ROM/ASIC/PLD based devices such as security dongles, and the like.

Those skilled in the art should also understand that term "computer-readable media" as used in connection with the presently disclosed subject matter does not encompass transmission media, carrier waves, or other transitory signals.

Computer system <NUM> can also include an interface <NUM> to one or more communication networks <NUM>. Networks <NUM> can, for example, be wireless, wireline, optical. Networks <NUM> can further be local, wide-area, metropolitan, vehicular and industrial, real-time, delay-tolerant, and so on. Examples of networks <NUM> include local area networks such as Ethernet, wireless LANs, cellular networks to include GSM, <NUM>, <NUM>, <NUM>, LTE, and the like, TV wireline or wireless wide-area digital networks to include cable TV, satellite TV, and terrestrial broadcast TV, vehicular and industrial to include CANBus, and so forth. Certain networks <NUM> commonly require external network interface adapters (e.g., graphics adapter <NUM>) that attached to certain general-purpose data ports or peripheral buses <NUM> (such as, for example, USB ports of the computer system <NUM> ; others are commonly integrated into the core of the computer system <NUM> by attachment to a system bus as described below (for example Ethernet interface into a PC computer system or cellular network interface into a smartphone computer system). Using any of these networks <NUM>, computer system <NUM> can communicate with other entities. Such communication can be uni-directional, receive only (for example, broadcast TV), uni-directional send-only (for example, CANbus to certain CANbus devices), or bi-directional, for example to other computer systems using local or wide area digital networks. Certain protocols and protocol stacks can be used on each of those networks and network interfaces, as described above.

The aforementioned human interface devices, human-accessible storage devices, and network interfaces can be attached to a core <NUM> of the computer system <NUM>.

The core <NUM> can include one or more Central Processing Units (CPU) <NUM>, Graphics Processing Units (GPU) <NUM>, specialized programmable processing units in the form of Field Programmable Gate Areas (FPGA) <NUM>, hardware accelerators <NUM> for certain tasks, and so forth. These devices, along with Read-only memory (ROM) <NUM>, Random-access memory (RAM) <NUM>, internal mass storage such as internal non-user accessible hard drives, SSDs, and the like <NUM>, may be connected through a system bus <NUM>. In some computer systems, the system bus <NUM> can be accessible in the form of one or more physical plugs to enable extensions by additional CPUs, GPU, and the like. The peripheral devices can be attached either directly to the core's system bus <NUM>, or through a peripheral bus <NUM>.

The CPUs <NUM>, GPUs <NUM>, FPGAs <NUM>, and accelerators <NUM> can execute certain instructions that, in combination, can make up the aforementioned computer code. That computer code can be stored in ROM <NUM> or RAM <NUM>. Transitional data can be also be stored in RAM <NUM>, whereas permanent data can be stored, for example, in the internal mass storage <NUM>. Fast storage and retrieval to any of the memory devices can be enabled through the use of cache memory, which can be closely associated with one or more CPU <NUM>, GPU <NUM>, mass storage <NUM>, ROM <NUM>, RAM <NUM> and the like.

The computer-readable media can have computer code thereon for performing various computer-implemented operations. The media and computer code can be specially designed and constructed for the purposes of the present disclosure, or they can be of the kind well known and available to those having skill in the computer software arts.

As an example and not by way of limitation, the computer system having architecture <NUM>, and specifically the core <NUM> can provide functionality as a result of processor(s) (including CPUs, GPUs, FPGA, accelerators, and the like) executing software embodied in one or more tangible, computer-readable media. Such computer-readable media can be media associated with user-accessible mass storage as introduced above, as well as certain storage of the core <NUM> that are of non-transitory nature, such as core-internal mass storage <NUM> or ROM <NUM>. The software implementing various embodiments of the present disclosure can be stored in such devices and executed by core <NUM>. A computer-readable medium can include one or more memory devices or chips, according to particular needs. The software can cause the core <NUM> and specifically the processors therein (including CPU, GPU, FPGA, and the like) to execute particular processes or particular parts of particular processes described herein, including defining data structures stored in RAM <NUM> and modifying such data structures according to the processes defined by the software. In addition or as an alternative, the computer system can provide functionality as a result of logic hardwired or otherwise embodied in a circuit (for example, accelerator <NUM>), which can operate in place of or together with software to execute particular processes or particular parts of particular processes described herein. Reference to software can encompass logic, and vice versa, where appropriate. Reference to a computer-readable media can encompass a circuit (such as an integrated circuit (IC)) storing software for execution, a circuit embodying logic for execution, or both, where appropriate. The present disclosure encompasses any suitable combination of hardware and software.

Claim 1:
A method for subsiding motion sickness when a first user is following a viewport of a second user in a streaming session, performed by a computer system, the method comprising:
determining (S620) a first field of view, FoV, based on a speed of a second FoV of the second user, wherein the second FoV of the second user is an original FoV with no reduction;
generating a modified first FoV by at least one of (<NUM>) reducing (S640) the first FoV based on the speed of the second FoV of the second user increasing, and (<NUM>) increasing (S660) the first FoV based on the speed of the second FoV of the second user decreasing; and
transmitting (S670) the modified first FoV to a first user terminal and presenting the modified first FoV to the first user as a new viewport,
further comprising determining the speed of the second FoV of the second user to be a speed of a second user terminal being a head mounted display worn by the second user or a handheld device operated by the second user,
further comprising determining the first FoV of the first user by applying a reducing factor to the second FoV of the second user,
further comprising transmitting the reducing factor through a Session Description Protocol, SDP, to the second user terminal,
wherein the reducing factor is defined by the first user.