Patent Description:
Mobile communication devices may include video cameras. Moreover, mobile communication devices may provide such cameras on both the front and rear of a mobile communication device (or some other device). Content from the front and rear camera may then be presented next to each other. Such a presentation of visual data may not be an optimally convenient output when the front and rear cameras are used to capture content from a first and second people respectively having a dialogue.

<CIT> describes receiving first and second media content portraying images of first and second users participating in a conference call. Joint media content is generated of the conference call including the images of the first and second users. The image of the first user may be rotated to portray the first user turned toward the second user.

<CIT> describes a videoconferencing application including a user interface that provides multiple participant panels displaying live video streams from remote participants. Panels may be angled towards a center position.

<CIT> describes methods and systems for communicating participant focus of attention in a video conferencing system.

In <CIT>, first and second data are captured at first and second image capturing devices associated with a first communication device. The first and second data are simultaneously sent to a second communication device for display.

<CIT> describes a handheld communication device used to capture video streams and generate a multiplexed video stream. The device has two cameras facing in opposite directions generating first and second data streams respectively that are multiplexed for transmission.

Example embodiments will now be described, by way of non-limiting examples, with reference to the following schematic drawings, in which:.

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment.

The system <NUM> comprises a user device <NUM>, such as a mobile communication device (e.g. a mobile phone or a tablet computer). The user device <NUM> has a front camera <NUM> and a rear camera <NUM>. The front camera <NUM> and the rear camera <NUM> may be video cameras or other types of camera capable of recording video.

A first object <NUM> is within a field of view of the front camera <NUM> (as indicated by dotted lines). A second object <NUM> is within a field of view of the rear camera <NUM> (as indicated by dotted lines). The first and second objects <NUM> and <NUM> may be two people having a conversation that is being recorded by the user device <NUM>. As shown in <FIG>, the first object <NUM> is orientated directly at the first camera <NUM> and the second object <NUM> is orientated directly at the second camera <NUM>.

<FIG> shows an example view, indicated generally by the reference numeral <NUM>, output by the user device <NUM> described above with reference to <FIG>. The view <NUM> is a combined view that includes a first view <NUM> that is provided by the front camera <NUM> and a second view <NUM> that is provided by the rear camera <NUM>. As shown in <FIG>, the combined view <NUM> displays the first and second views side-by-side. (Other display options are possible, such as displaying one view above the other.

The first view <NUM> includes a first image <NUM> that is a representation of the first object <NUM>. In a similar way, the second view <NUM> includes a second image <NUM> that is a representation of the second object <NUM>.

As shown in <FIG>, during image capture, the first and second objects are facing each other. However, in the example view <NUM> shown in <FIG>, the first and second images <NUM> and <NUM> are presented side-by-side.

<FIG> shows an example view, indicated generally by the reference numeral <NUM>, output by the system of <FIG>. The view <NUM> comprises a first display <NUM> showing a view provided by the front camera <NUM> and a second display <NUM> showing a view provided by the rear camera <NUM>. As shown in <FIG>, the first display <NUM> presents a first image <NUM> that is a representation of the first object <NUM> and the second display <NUM> presents a second image <NUM> that is a representation of the second object <NUM>. As shown in <FIG>, the first display <NUM> is opposite the second display <NUM>.

A viewer <NUM> is shown placed between the first display <NUM> and the second display <NUM>. From the point of view of the viewer <NUM>, the first object <NUM> and second object <NUM> (i.e. the first image <NUM> and the second image <NUM>) are directed towards each other.

Consider the following situation in which the first object <NUM> and the second object <NUM> are people engaged in a conversation and the viewer <NUM> is a person viewing that conversation. From the viewpoint of the viewer <NUM> in the view <NUM> shown in <FIG>, it appears that the first and second people (the representations <NUM> and <NUM> of the first and second objects respectively) are talking to each other.

According to the claimed invention, the displays <NUM> and <NUM> are formed from one or more virtual displays that are displayed within a virtual reality or augmented reality environment. Thus, as discussed further below, the viewer <NUM> may wear a head mounted device (HMD) for viewing virtual displays <NUM> and <NUM> (or a single virtual display comprises a first part <NUM> and a second part <NUM>).

Virtual reality (VR) is a rapidly developing area of technology in which video content is provided to a virtual reality display system. A virtual reality display system may be provided with a live or stored feed from a video content source, the feed representing a virtual reality space or world for immersive output through the display system. In some embodiments, audio is provided, which may be spatial audio. A virtual space or virtual world is any computer-generated version of a space, for example a captured real world space, in which a user can be immersed through a display system such as a virtual reality headset. A virtual reality headset may be configured to provide virtual reality video and audio content to the user, e.g. through the use of a pair of video screens and headphones incorporated within the headset.

Augmented Reality (AR) refers to a real-world view that is augmented by computer-generated sensory input.

<FIG> is a schematic illustration of a virtual reality or augmented reality display system <NUM> which represents user-end equipment. The system <NUM> includes a user device in the form of a virtual reality or augmented reality headset <NUM>, for displaying visual data for a virtual reality or augmented reality space, and a media player <NUM> for rendering visual data on the headset <NUM>. Headset <NUM> may comprise augmented reality (AR) glasses, which may enable visual content, for example one or more virtual objects, to be projected or displayed on top of a see-through portion of the glasses. In some example embodiments, a separate user control (not shown) may be associated with the display system <NUM>, e.g. a hand-held controller.

The headset <NUM> receives the virtual reality or augmented reality content data from the media player <NUM>. The media player <NUM> may be part of a separate device which is connected to the headset <NUM> by a wired or wireless connection.

Here, the media player <NUM> may comprise a mobile phone, smartphone or tablet computer configured to play content through its display. For example, the media player <NUM> may be a touchscreen device having a large display over a major surface of the device, through which video content can be displayed. The media player <NUM> may be inserted into a holder of a headset <NUM>. With such headsets <NUM>, a smart phone or tablet computer may display visual data which is provided to a user's eyes via respective lenses in the headset <NUM>. The virtual reality or augmented reality display system <NUM> may also include hardware configured to convert the device to operate as part of display system <NUM>. Alternatively, the media player <NUM> may be integrated into the headset <NUM>. The media player <NUM> may be implemented in software. In some example embodiments, a device comprising virtual reality (or augmented reality) media player software is referred to as the virtual reality (or augmented reality) media player <NUM>.

The display system <NUM> may include means for determining the spatial position of the user and/or orientation of the user's head. This may be by means of determining the spatial position and/or orientation of the headset <NUM>. Over successive time frames, a measure of movement may therefore be calculated and stored. Such means may comprise part of the media player <NUM>. Alternatively, the means may comprise part of the headset <NUM>. For example, the headset <NUM> may incorporate motion tracking sensors which may include one or more of gyroscopes, accelerometers and structured light systems. These sensors may generate position data from which a current visual field-of-view (FOV) is determined and updated as the user, and so the headset <NUM>, changes position and/or orientation. The headset <NUM> may comprise two digital screens for displaying stereoscopic video images of the virtual world in front of respective eyes of the user, and also two speakers for delivering audio, if provided from the media player <NUM>. The example embodiments herein are not limited to a particular type of headset <NUM>.

In some example embodiments, the display system <NUM> may determine the spatial position and/or orientation of the user's head using a six degrees of freedom (6DoF) method. As shown in <FIG>, these include measurements of pitch <NUM>, roll <NUM> and yaw <NUM> and also translational movement in Euclidean space along side-to-side, front-to-back and up- and-down axes <NUM>, <NUM> and <NUM>. (The use of a six degrees of freedom headset is not essential. For example, a three degrees of freedom headset could readily be used.

The display system <NUM> may be configured to display virtual reality or augmented reality content data to the user based on spatial position and/or the orientation of the headset <NUM> (e.g. the position of the viewer <NUM> in the view <NUM> may be determined by the position of the headset <NUM>). A detected change in spatial position and/or orientation, i.e. a form of movement, may result in a corresponding change in the visual data to reflect a position or orientation transformation of the user with reference to the space into which the visual data is projected. This allows virtual reality content data to be consumed with the user experiencing a 3D virtual reality or augmented reality environment.

Audio data may also be provided to headphones provided as part of the headset <NUM>. The audio data may represent spatial audio source content. Spatial audio may refer to directional rendering of audio in the virtual reality or augmented reality space such that a detected change in the user's spatial position or in the orientation of their head may result in a corresponding change in the spatial audio rendering to reflect a transformation with reference to the space in which the spatial audio data is rendered.

The angular extent of the environment observable through the headset <NUM> is called the visual field of view (FOV). The actual field of view observed by a user depends on the inter-pupillary distance and on the distance between the lenses of the headset <NUM> and the user's eyes, but the field of view can be considered to be approximately the same for all users of a given display device when the headset <NUM> is being worn by the user.

The arrangement <NUM> can effectively place the viewer <NUM> in the middle of an interaction (e.g. a conversation) between the first object <NUM> and the second object <NUM>. This is particularly true when the video output described above is combined with spatial audio data that is positioned to match the positions of the first image <NUM> and the second image <NUM> from the point of view of the viewer <NUM>. However, the system <NUM> is relatively inconvenient because the viewer <NUM> needs to change their head position significantly in order to change from viewing the first image to the second image (or vice-versa).

<FIG> shows an example view, indicated generally by the reference numeral <NUM>, output by the system of <FIG> in accordance with an example embodiment. The view <NUM> comprises a first display <NUM> showing a view provided by the front camera <NUM> and a second display <NUM> showing a view provided by the rear camera <NUM>. As shown in <FIG>, the first display <NUM> presents a first image <NUM> that is a representation of the first object <NUM> and the second display <NUM> presents a second image <NUM> that is a representation of the second object <NUM>.

The first display <NUM> and the second display <NUM> may be provided within a virtual reality display system, such as the system <NUM> described above, with the viewer <NUM> experiencing the content by means of the head mounted device <NUM>. In this context, the first display <NUM> and the second display <NUM> may be provided as different parts of a single overall display provided to the viewer <NUM>.

As shown in <FIG>, the first display <NUM> and second display <NUM> are angled towards each other so that a viewer <NUM> can see both displays at the same time. Thus, the view <NUM> may be more convenient for the viewer <NUM> than the view <NUM> described above with reference to <FIG>. However, the first image <NUM> and second image <NUM> are no longer directed to one another, so the images of the first and second objects are no longer directed towards one another. Thus, in the example above of a conversation taking place, the viewer <NUM> can see both participants in the conversation, but the participants are not directed towards one another whilst conversing.

<FIG> is a block diagram of a system, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The system <NUM> is similar to the system <NUM> described above with reference to <FIG>.

The system <NUM> comprises the user device <NUM> described above, including the front camera <NUM> and the rear camera <NUM>. A first object <NUM> is within a field of view of the front camera <NUM> (as indicated by dotted lines). A second object <NUM> is within a field of view of the rear camera <NUM> (as indicated by dotted lines). The first and second objects <NUM> and <NUM> may be two people having a conversation that is being recorded by the user device <NUM>. As shown in <FIG>, both the first object <NUM> and the second object <NUM> are angled relative to the user device <NUM>, such that neither object is orientated directly towards the respective camera of the user device. As described in detail below, the first object <NUM> has a first orientation with respect to the front camera <NUM> and the second object <NUM> has a second orientation with respect to the rear camera that can be exploited when presenting one or more displays to a viewer.

<FIG> shows an example view, indicated generally by the reference numeral <NUM>, output by the user device <NUM> described above with reference to <FIG>. The view <NUM> is a combined view that includes a first view <NUM> that is provided by the front camera <NUM> and a second view <NUM> that is provided by the rear camera <NUM>. As shown in <FIG>, the combined view <NUM> displays the first and second views side-by-side, such that the combined view <NUM> is similar to the combined view <NUM> described above.

The first view <NUM> includes a first image <NUM> that is a representation of the first object <NUM>. In a similar way, the second view <NUM> includes a second image <NUM> that is a representation of the second object <NUM>. Since the first and second objects <NUM> and <NUM> are not orientated directly towards the respective cameras of the user device, in the first and second images <NUM> and <NUM> of those objects, those objects are presented at an angle. Indeed, as shown in <FIG>, the object in the first image <NUM> has an angle α<NUM> relative to the display and the second image <NUM> has an angle α<NUM> relative to the display.

<FIG> shows an example view, indicated generally by the reference numeral 70a, output by the system of <FIG> in accordance with an example embodiment. The view 70a comprises a first display 71a showing a view provided by the front camera <NUM> and a second display 72a showing a view provided by the rear camera <NUM>. As shown in <FIG>, the first display 71a presents a first image 73a that is a representation of the first object <NUM> and the second display 72a presents a second image 74a that is a representation of the second object <NUM>.

The view 70a is similar to the view <NUM> described above with reference to <FIG> in that the first display 71a is provided opposite the second display 72a, with a viewer 75a between the displays. However, since the objects <NUM> and <NUM> are not directed towards the camera <NUM> and <NUM>, the first images 73a and the second image 73b are not directed towards one another. Thus, in the example above of a conversation taking place, the viewer 75a can see both participants in the conversation, but the participants are not directed towards one another whilst conversing.

<FIG> shows an example view, indicated generally by the reference numeral 70b, output by the system of <FIG> in accordance with an example embodiment. The view 70b comprises a first display 71b showing a view provided by the front camera <NUM> and a second display 72b showing a view provided by the rear camera <NUM>. As shown in <FIG>, the first display 71b presents a first image 73b that is a representation of the first object <NUM> and the second display 72b presents a second image 74b that is a representation of the second object <NUM>. The view 70b differs from the view 70a described above in that the first display 71b and second display 72b are angled towards each other such that, from the viewpoint of a viewer 75b, the first and second images 73b and 74b are directed (i.e. orientated) towards one another. Thus, in the example above of a conversation taking place, the viewer 75b can not only see both participants in the conversation, but the participants are directed towards one another whilst conversing.

Specifically, as shown in <FIG>, the displays 71b is rotated by the angle α<NUM> relative to the display 71a and the display 72b is rotated by the angle α<NUM> relative to the display 72a such that first image and the second image are directed towards one another.

Again, displays 71a, 71b, 72a and 72b may be provided within a virtual reality display system, such as the system <NUM> described above, with the viewers 75a and 75b experiencing the content by means of the head mounted device <NUM>. In this context, the first display 71a and the second display 72a may be provided as different parts of a single overall display provided to the viewer 75a and, similarly, the first display 71b and the second display 72b may be provided as different parts of a single overall display provided to the viewer 75b.

<FIG> is a flow chart showing an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The algorithm <NUM> may be used to generate the view 70b described above.

The algorithm <NUM> starts at operation <NUM> where video data is collected by the front camera <NUM> and rear camera <NUM> of the user device <NUM>.

At operation <NUM>, the angles α<NUM> and α<NUM> are calculated in order to determine the orientation of the first and second objects <NUM> and <NUM> relative to the front and rear cameras <NUM> and <NUM> respectively. Many algorithms exist for implementing such a step. Where the first image <NUM> and the second image <NUM> are images of human faces, one technique is to detect the direction of the eyes of the faces in the images, for example by using image-based parameterized tracking for face features to locate an area in which a sub-pixel parameterized shape estimation of an eye's boundary is performed. This could be implemented by tracking, for example, five points of an object's face (four at the eye corners and a fifth at the tip of the nose). Many other algorithms will be apparent to persons skilled in the art. It should also be noted that the eyes may be orientated in a different direction to the remainder of the face. The operation <NUM> could be based on detecting the direction of the eyes alone, or detecting the overall direction of the eyes and the face. The direction of the face could be determined, for example, based on the orientation of features such as the nose and chin of the face.

The operation <NUM> may detect a snapshot of the relevant angle at a particular moment of time. Alternatively, an average angle over a defined time period may be determined. It should be noted that, in the event that the displays 71b and 72b are virtual displays, they can be readily moved to accommodate changes in the angles detected in the operation <NUM>. At operation <NUM>, the relative positions of the displays 71b and 72b are determined. This is can be done once the angles α<NUM> and α<NUM> have been calculated in the operation <NUM> described above. It should be noted that if the orientation of either the first object <NUM> or the second object <NUM> relative to the user device <NUM> changes, then the optimum relative positions of the displays 71b and 72b will change. According to the claimed invention, the displays 71b and 72b are virtual displays within a virtual reality environment, and it is relatively simple to move the displays within the virtual space, since this simply requires changing the position with the virtual space at which the images <NUM> and <NUM> are presented. However, it should be noted that moving displays too readily may be distracting for the viewer, thus the algorithm <NUM> may be arranged to limit the rate at which the operation <NUM> is updated. Thus, for example, a filtering step may be provided to limit the rate at which the positions of the images within the virtual space changes relative to the rate at which the calculated optimum position for those images changes.

At operation <NUM>, data is output to the viewer.

In some embodiments, cameras of mobile communication and similar devices may be provided at one end (e.g. the top) of the device <NUM> (rather than in the middle, as suggested in <FIG> and <FIG>). Accordingly, video recordings of users of such devices (such as the objects <NUM>, <NUM>, <NUM> and <NUM>) may be at an angle to the display, as indicated schematically in <FIG>.

<FIG> shows an example view, indicated generally by the reference numeral <NUM>, output by the user device <NUM> described above with reference to <FIG>. The view <NUM> includes a first display <NUM> that is provided by the front camera <NUM> and a second display <NUM> that is provided by the rear camera <NUM>. The first view <NUM> includes a first image <NUM> that is a representation of the first object <NUM>. In a similar way, the second view <NUM> includes a second image <NUM> that is a representation of the second object <NUM>. A viewer <NUM> is shown in <FIG> and is able to view both the first view <NUM> and the second view <NUM>. As described above, the displays <NUM> and <NUM> may be implemented within a virtual reality environment. In this context, the first display <NUM> and the second display <NUM> may be provided as different parts of a single overall display provided to the viewer <NUM>.

<FIG> provide background information only.

<FIG> shows an example view, indicated generally by the reference numeral <NUM>, output by the user device <NUM> described above with reference to <FIG>. The view <NUM> includes a first display <NUM> that is provided by the front camera <NUM> and a second display <NUM> that is provided by the rear camera <NUM>. The first view <NUM> includes a first image <NUM> that is a representation of the first object <NUM>. In a similar way, the second view <NUM> includes a second image <NUM> that is a representation of the second object <NUM>. A viewer <NUM> is shown in <FIG> and is able to view both the first view <NUM> and the second view <NUM>.

The view <NUM> differs from the view <NUM> in that the first and second images <NUM> and <NUM> are three-dimensional models of the respective objects, rather than two-dimensional images of the objects captured by the video cameras <NUM> and <NUM>.

In common with the view <NUM> described above with reference to <FIG>, the viewers <NUM> and <NUM> can view both the first and displays of the relevant views shown in <FIG> and <FIG> at the same time, but the first and second images are not directed towards one another.

The view <NUM> differs from the view <NUM> in that the first and second three-dimensional models <NUM> and <NUM> are rotated so that they are directed towards one another.

Consider again the example of a discussion between two people (the objects <NUM> and <NUM>). In the example views <NUM> and <NUM>, the viewers <NUM> and <NUM> respectively can see the images of the people involved in the discussion, but those people are not apparently looking at each other (which may appear to be unnatural to the viewer). The view <NUM>, as experienced at the viewpoint of the viewer <NUM> may be more natural to the viewer, since the images <NUM> and <NUM> of the objects <NUM> and <NUM> are rotated such that they appear as being directed towards one another.

<FIG> is a flow chart showing an algorithm, indicated generally by the reference numeral <NUM>, in accordance with an example embodiment. The algorithm <NUM> may be used to generate the view <NUM> described above.

At operation <NUM>, three-dimensional models are generated from the two-dimensional video data captured by the front and rear cameras <NUM> and <NUM>.

Many algorithms exist for generating a three-dimensional model from a two-dimensional image. By way of example, techniques exist for extrapolating from datasets of <NUM>-dimensinal and <NUM>-dimensional facial models or scans for converting between an obtained <NUM>-dimensional image and a <NUM>-dimensional model. For example, techniques have been developed for using a convolutional neural network (CNN) for constructing a <NUM>-dimensional facial model from a single <NUM>-dimensional image, given an appropriate dataset consisting of 2D and 3D facial models or scans. It should be noted, however, that the video data captured by the cameras <NUM> and <NUM> described herein provide more input data than a single 2D facial image and so other algorithms may also be appropriate for implementing the operation <NUM>.

At operation <NUM>, the three-dimensional models generated in operation <NUM> are rotated so that, from the position of the viewer <NUM>, the first and second three-dimensional images <NUM> and <NUM> appear to be directed towards one another.

With the three-dimensional models generated in operation <NUM> and the positions of the first display <NUM>, second display <NUM> and viewer <NUM> known, the appropriate rotation of the first and second images <NUM> and <NUM> is relatively simple.

Finally, at operation <NUM>, data is output to the viewer.

Any of the views <NUM>, <NUM> and <NUM> could be virtual views provide within a virtual reality or augmented reality environment. In this context, the first and second displays may be provided as different parts of a single overall display provided to the viewer.

As shown in <FIG>, the first and second displays are orientated at approximately <NUM> degrees from one another. This is not essential. (A larger or smaller angle, for example <NUM> degrees or <NUM> degrees, could be used. ) An advantage of providing a relatively large angle between the first and second displays <NUM> and <NUM> is that the angle by which the first and second images <NUM> and <NUM> will need to be rotated is relatively small. A small rotation of a three-dimensional model may be easier to generate at high quality than a large rotation of such a model.

The embodiments described above have assumed that the first and second cameras <NUM> and <NUM> generate two-dimensional outputs. Of course, if the cameras provide three-dimensional image data, then the 2D-3D conversion operation <NUM> described above may be omitted.

It should be noted that the algorithms <NUM> and <NUM> may be combined. For example, if one or both of the objects is orientated at an angle related to the respective camera(s) (the arrangement shown in <FIG>, rather than the arrangement shown in <FIG>), then the amount by which the respective three-dimensional model(s) need to be rotated in step <NUM> may be adjusted accordingly.

For completeness, <FIG> is a schematic diagram of components of one or more of the modules described previously (e.g. implementing some or all of the operations of the algorithms <NUM> and <NUM> described above), which hereafter are referred to generically as processing systems <NUM>. A processing system <NUM> may have a processor <NUM>, a memory <NUM> closely coupled to the processor and comprised of a RAM <NUM> and ROM <NUM>, and, optionally, user input <NUM> and a display <NUM>. The processing system <NUM> may comprise one or more network interfaces <NUM> for connection to a network, e.g. a modem which may be wired or wireless.

The memory <NUM> may comprise a non-volatile memory, such as a hard disk drive (HDD) or a solid state drive (SSD). The ROM <NUM> of the memory <NUM> stores, amongst other things, an operating system <NUM> and may store software applications <NUM>. The RAM <NUM> of the memory <NUM> is used by the processor <NUM> for the temporary storage of data. The operating system <NUM> may contain code which, when executed by the processor implements aspects of the algorithms <NUM> and <NUM> described above.

The processor <NUM> may take any suitable form. For instance, it may be a microcontroller, plural microcontrollers, a processor, or plural processors.

The processing system <NUM> may be a standalone computer, a server, a console, or a network thereof.

In some embodiments, the processing system <NUM> may also be associated with external software applications. These may be applications stored on a remote server device and may run partly or exclusively on the remote server device. These applications may be termed cloud-hosted applications (an example of such an application is an application to manage child filters restricting access to use during certain times or access websites from a child's mobile phone, as described above). The processing system <NUM> may be in communication with the remote server device in order to utilize the software application stored there.

Figures 18a and 18b show tangible media, respectively a removable memory unit <NUM> and a compact disc (CD) <NUM>, storing computer-readable code which when run by a computer may perform methods according to embodiments described above. The removable memory unit <NUM> may be a memory stick, e.g. a USB memory stick, having internal memory <NUM> storing the computer-readable code. The memory <NUM> may be accessed by a computer system via a connector <NUM>. The CD <NUM> may be a CD-ROM or a DVD or similar. Other forms of tangible storage media may be used.

Reference to, where relevant, "computer-readable storage medium", "computer program product", "tangibly embodied computer program" etc., or a "processor" or "processing circuitry" etc. should be understood to encompass not only computers having differing architectures such as single/multi-processor architectures and sequencers/parallel architectures, but also specialised circuits such as field programmable gate arrays FPGA, application specify circuits ASIC, signal processing devices and other devices. References to computer program, instructions, code etc. should be understood to express software for a programmable processor firmware such as the programmable content of a hardware device as instructions for a processor or configured or configuration settings for a fixed function device, gate array, programmable logic device, etc..

As used in this application, the term "circuitry" refers to all of the following: (a) hardware-only circuit implementations (such as implementations in only analogue and/or digital circuitry) and (b) to combinations of circuits and software (and/or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a server, to perform various functions) and (c) to circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present.

Similarly, it will also be appreciated that the flow diagrams of <FIG> and <FIG> are examples only and that various operations depicted therein may be omitted, reordered and/or combined.

It will be appreciated that the above described example embodiments are purely illustrative and are not limiting on the scope of the invention. Other variations and modifications will be apparent to persons skilled in the art upon reading the present specification.

Claim 1:
A method comprising:
receiving (<NUM>) a first input and a second input from a front camera (<NUM>) and a rear camera (<NUM>) respectively of a user device (<NUM>), wherein: the first input is a video of a face of a first person having a first orientation with respect to the front camera, the second input is a video of a face of a second person having a second orientation with respect to the rear camera;
generating a video output comprising a first part, presented by a first virtual display (71b), based on the first input and a second part, presented by a second virtual display (72b), based on the second input, wherein the video output is a virtual output;
determining the first orientation by determining a first angle (α1) between the orientation of the face of the first person and the front camera, wherein determining the first angle includes detecting a direction of eyes of the first person (<NUM>) in the first input;
determining the second orientation by determining a second angle (α2) between the orientation of the face of the second person and the rear camera, wherein determining the second angle includes detecting a direction of eyes of the second person (<NUM>) in the second input; and
presenting (<NUM>) the video output relative to a viewpoint of a first viewer, such that, at the viewpoint, the first and second parts of the video output are visible at the same time and the face of the first person in the first part of the video output is orientated towards the face of the second person in the second part of the video output, wherein the first part of the video output is rotated based on the first angle by rotating the first virtual display and the second part of the video output is rotated based on the second angle by rotating the second virtual display, wherein presenting the video includes presenting the video output in a virtual reality environment.