Patent Publication Number: US-11045733-B2

Title: Virtual reality

Description:
BACKGROUND 
     Field of the Disclosure 
     This disclosure relates to virtual reality systems and methods. 
     Description of the Prior Art 
     The “background” description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description which may not otherwise qualify as prior art at the time of filing, are neither expressly or impliedly admitted as prior art against the present disclosure. 
     A head-mountable display (HMD) is one example of a head-mountable apparatus for use in a virtual reality system in which an HMD wearer views a virtual environment. In an HMD, an image or video display device is provided which may be worn on the head or as part of a helmet. Either one eye or both eyes are provided with small electronic display devices. 
     Some HMDs allow a displayed image to be superimposed on a real-world view. This type of HMD can be referred to as an optical see-through HMD and generally requires the display devices to be positioned somewhere other than directly in front of the user&#39;s eyes. Some way of deflecting the displayed image so that the user may see it is then required. This might be through the use of a partially reflective mirror placed in front of the user&#39;s eyes so as to allow the user to see through the mirror but also to see a reflection of the output of the display devices. In another arrangement, disclosed in EP-A-1 731 943 and US-A-2010/0157433, a waveguide arrangement employing total internal reflection is used to convey a displayed image from a display device disposed to the side of the user&#39;s head so that the user may see the displayed image but still see a view of the real world through the waveguide. Once again, in either of these types of arrangement, a virtual image of the display is created (using known techniques) so that the user sees the virtual image at an appropriate size and distance to allow relaxed viewing. For example, even though the physical display device may be tiny (for example, 10 mm×10 mm) and may be just a few millimetres from the user&#39;s eye, the virtual image may be arranged so as to be perceived by the user at a distance of (for example) 20 m from the user, having a perceived size of 5 m×5 m. 
     Other HMDs, however, allow the user only to see the displayed images, which is to say that they obscure the real world environment surrounding the user. This type of HMD can position the actual display devices in front of the user&#39;s eyes, in association with appropriate lenses or other optical components which place a virtual displayed image at a suitable distance for the user to focus in a relaxed manner—for example, at a similar virtual distance and perceived size as the optical see-through HMD described above. This type of device might be used for viewing movies or similar recorded content, or for viewing so-called virtual reality content representing a virtual space surrounding the user. It is of course however possible to display a real-world view on this type of HMD, for example by using a forward-facing camera to generate images for display on the display devices. 
     Although the original development of HMDs and virtual reality was perhaps driven by the military and professional applications of these devices, HMDs are becoming more popular for use by casual users in, for example, computer game or domestic computing applications. 
     The foregoing paragraphs have been provided by way of general introduction, and are not intended to limit the scope of the following claims. The described embodiments, together with further advantages, will be best understood by reference to the following detailed description taken in conjunction with the accompanying drawings. 
     Various aspects and features of the present disclosure are defined in the appended claims and within the text of the accompanying description and include at least a head mountable apparatus such as a display and a method of operating a head-mountable apparatus as well as a computer program. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       A more complete appreciation of the disclosure and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein: 
         FIG. 1  schematically illustrates an HMD worn by a user; 
         FIG. 2  is a schematic plan view of an HMD; 
         FIG. 3  schematically illustrates the formation of a virtual image by an HMD; 
         FIG. 4  schematically illustrates another type of display for use in an HMD; 
         FIG. 5  schematically illustrates a pair of stereoscopic images; 
         FIGS. 6 and 7  schematically illustrate a user wearing an HMD connected to a Sony® PlayStation 3® games console; 
         FIG. 8  schematically illustrates a change of view of user of an HMD; 
         FIGS. 9 a  and 9 b    schematically illustrate HMDs with motion sensing; 
         FIG. 10  schematically illustrates a position sensor based on optical flow detection; 
         FIG. 11  schematically illustrates image processing carried out in response to a detected position or change in position of an HMD; 
         FIG. 12  schematically illustrates a virtual reality system; 
         FIG. 13  schematically illustrates a virtual environment; 
         FIGS. 14 and 15  are schematic flowcharts illustrating methods; 
         FIG. 16  is a schematic side view of an HMD; 
         FIG. 17  is a schematic front view of an HMD; 
         FIG. 18  is a schematic diagram of a camera; 
         FIG. 19  is a schematic diagram of a hand-held controller; 
         FIGS. 20 a , 21 a  and 22 a    schematically represent orientations, relative to a camera, of a user wearing an HMD; 
         FIGS. 20 b , 21 b  and 22 b    schematically represent captured images of the arrangements of  FIGS. 20 a , 21 a  and 22 a    respectively; 
         FIGS. 23 and 24  are schematic flowcharts illustrating methods. 
     
    
    
     DESCRIPTION OF THE EMBODIMENTS 
     Referring now to  FIG. 1 , a user  10  is wearing an HMD  20  (as an example of a generic head-mountable apparatus or virtual reality apparatus). The HMD comprises a frame  40 , in this example formed of a rear strap and a top strap, and a display portion  50 . 
     Note that the HMD of  FIG. 1  may comprise further features, to be described below in connection with other drawings, but which are not shown in  FIG. 1  for clarity of this initial explanation. 
     The HMD of  FIG. 1  completely (or at least substantially completely) obscures the user&#39;s view of the surrounding environment. All that the user can see is the pair of images displayed within the HMD. 
     The HMD has associated headphone audio transducers or earpieces  60  which fit into the user&#39;s left and right ears  70 . The earpieces  60  replay an audio signal provided from an external source, which may be the same as the video signal source which provides the video signal for display to the user&#39;s eyes. A boom microphone  75  is mounted on the HMD so as to extend towards the user&#39;s mouth. 
     The combination of the fact that the user can see only what is displayed by the HMD and, subject to the limitations of the noise blocking or active cancellation properties of the earpieces and associated electronics, can hear only what is provided via the earpieces, mean that this HMD may be considered as a so-called “full immersion” HMD. Note however that in some embodiments the HMD is not a full immersion HMD, and may provide at least some facility for the user to see and/or hear the user&#39;s surroundings. This could be by providing some degree of transparency or partial transparency in the display arrangements, and/or by projecting a view of the outside (captured using a camera, for example a camera mounted on the HMD) via the HMD&#39;s displays, and/or by allowing the transmission of ambient sound past the earpieces and/or by providing a microphone to generate an input sound signal (for transmission to the earpieces) dependent upon the ambient sound. 
     A front-facing camera  122  may capture images to the front of the HMD, in use. A Bluetooth® antenna  124  may provide communication facilities or may simply be arranged as a directional antenna to allow a detection of the direction of a nearby Bluetooth transmitter. 
     In operation, a video signal is provided for display by the HMD. This could be provided by an external video signal source  80  such as a video games machine or data processing apparatus (such as a personal computer), in which case the signals could be transmitted to the HMD by a wired or a wireless connection  82 . Examples of suitable wireless connections include Bluetooth® connections. Audio signals for the earpieces  60  can be carried by the same connection. Similarly, any control signals passed from the HMD to the video (audio) signal source may be carried by the same connection. Furthermore, a power supply  83  (including one or more batteries and/or being connectable to a mains power outlet) may be linked by a cable  84  to the HMD. Note that the power supply  83  and the video signal source  80  may be separate units or may be embodied as the same physical unit. There may be separate cables for power and video (and indeed for audio) signal supply, or these may be combined for carriage on a single cable (for example, using separate conductors, as in a USB cable, or in a similar way to a “power over Ethernet” arrangement in which data is carried as a balanced signal and power as direct current, over the same collection of physical wires). The video and/or audio signal may be carried by, for example, an optical fibre cable. In other embodiments, at least part of the functionality associated with generating image and/or audio signals for presentation to the user may be carried out by circuitry and/or processing forming part of the HMD itself. A power supply may be provided as part of the HMD itself. 
     Some embodiments of the disclosure are applicable to an HMD having at least one electrical and/or optical cable linking the HMD to another device, such as a power supply and/or a video (and/or audio) signal source. So, embodiments of the disclosure can include, for example: 
     (a) an HMD having its own power supply (as part of the HMD arrangement) but a cabled connection to a video and/or audio signal source; 
     (b) an HMD having a cabled connection to a power supply and to a video and/or audio signal source, embodied as a single physical cable or more than one physical cable; 
     (c) an HMD having its own video and/or audio signal source (as part of the HMD arrangement) and a cabled connection to a power supply; or (d) an HMD having a wireless connection to a video and/or audio signal source and a cabled connection to a power supply. 
     If one or more cables are used, the physical position at which the cable  82  and/or  84  enters or joins the HMD is not particularly important from a technical point of view. Aesthetically, and to avoid the cable(s) brushing the user&#39;s face in operation, it would normally be the case that the cable(s) would enter or join the HMD at the side or back of the HMD (relative to the orientation of the user&#39;s head when worn in normal operation). Accordingly, the position of the cables  82 ,  84  relative to the HMD in  FIG. 1  should be treated merely as a schematic representation. 
     Accordingly, the arrangement of  FIG. 1  provides an example of a head-mountable display system comprising a frame to be mounted onto an observer&#39;s head, the frame defining one or two eye display positions which, in use, are positioned in front of a respective eye of the observer and a display element mounted with respect to each of the eye display positions, the display element providing a virtual image of a video display of a video signal from a video signal source to that eye of the observer. 
       FIG. 1  shows just one example of an HMD. Other formats are possible: for example an HMD could use a frame more similar to that associated with conventional eyeglasses, namely a substantially horizontal leg extending back from the display portion to the top rear of the user&#39;s ear, possibly curling down behind the ear. In other (not full immersion) examples, the user&#39;s view of the external environment may not in fact be entirely obscured; the displayed images could be arranged so as to be superposed (from the user&#39;s point of view) over the external environment. An example of such an arrangement will be described below with reference to  FIG. 4 . 
     In the example of  FIG. 1 , a separate respective display is provided for each of the user&#39;s eyes. A schematic plan view of how this is achieved is provided as  FIG. 2 , which illustrates the positions  100  of the user&#39;s eyes and the relative position  110  of the user&#39;s nose. The display portion  50 , in schematic form, comprises an exterior shield  120  to mask ambient light from the user&#39;s eyes and an internal shield  130  which prevents one eye from seeing the display intended for the other eye. The combination of the user&#39;s face, the exterior shield  120  and the interior shield  130  form two compartments  140 , one for each eye. In each of the compartments there is provided a display element  150  and one or more optical elements  160 . The way in which the display element and the optical element(s) cooperate to provide a display to the user will be described with reference to  FIG. 3 . 
     Referring to  FIG. 3 , the display element  150  generates a displayed image which is (in this example) refracted by the optical elements  160  (shown schematically as a convex lens but which could include compound lenses or other elements) so as to generate a virtual image  170  which appears to the user to be larger than and significantly further away than the real image generated by the display element  150 . As an example, the virtual image may have an apparent image size (image diagonal) of more than 1 m and may be disposed at a distance of more than 1 m from the user&#39;s eye (or from the frame of the HMD). In general terms, depending on the purpose of the HMD, it is desirable to have the virtual image disposed a significant distance from the user. For example, if the HMD is for viewing movies or the like, it is desirable that the user&#39;s eyes are relaxed during such viewing, which requires a distance (to the virtual image) of at least several metres. In  FIG. 3 , solid lines (such as the line  180 ) are used to denote real optical rays, whereas broken lines (such as the line  190 ) are used to denote virtual rays. 
     An alternative arrangement is shown in  FIG. 4 . This arrangement may be used where it is desired that the user&#39;s view of the external environment is not entirely obscured. However, it is also applicable to HMDs in which the user&#39;s external view is wholly obscured. In the arrangement of  FIG. 4 , the display element  150  and optical elements  200  cooperate to provide an image which is projected onto a mirror  210 , which deflects the image towards the user&#39;s eye position  220 . The user perceives a virtual image to be located at a position  230  which is in front of the user and at a suitable distance from the user. 
     In the case of an HMD in which the user&#39;s view of the external surroundings is entirely obscured, the mirror  210  can be a substantially 100% reflective mirror. The arrangement of  FIG. 4  then has the advantage that the display element and optical elements can be located closer to the centre of gravity of the user&#39;s head and to the side of the user&#39;s eyes, which can produce a less bulky HMD for the user to wear. Alternatively, if the HMD is designed not to completely obscure the user&#39;s view of the external environment, the mirror  210  can be made partially reflective so that the user sees the external environment, through the mirror  210 , with the virtual image superposed over the real external environment. 
     In the case where separate respective displays are provided for each of the user&#39;s eyes, it is possible to display stereoscopic images. An example of a pair of stereoscopic images for display to the left and right eyes is shown in  FIG. 5 . The images exhibit a lateral displacement relative to one another, with the displacement of image features depending upon the (real or simulated) lateral separation of the cameras by which the images were captured, the angular convergence of the cameras and the (real or simulated) distance of each image feature from the camera position. 
     Note that the lateral displacements in  FIG. 5  could in fact be the other way round, which is to say that the left eye image as drawn could in fact be the right eye image, and the right eye image as drawn could in fact be the left eye image. This is because some stereoscopic displays tend to shift objects to the right in the right eye image and to the left in the left eye image, so as to simulate the idea that the user is looking through a stereoscopic window onto the scene beyond. However, some HMDs use the arrangement shown in  FIG. 5  because this gives the impression to the user that the user is viewing the scene through a pair of binoculars. The choice between these two arrangements is at the discretion of the system designer. 
     In some situations, an HMD may be used simply to view movies and the like. In this case, there is no change required to the apparent viewpoint of the displayed images as the user turns the user&#39;s head, for example from side to side. In other uses, however, such as those associated with virtual reality (VR) or augmented reality (AR) systems, the user&#39;s viewpoint needs to track movements with respect to a real or virtual space in which the user is located. 
       FIG. 6  schematically illustrates an example virtual reality system and in particular shows a user wearing an HMD connected to a Sony® PlayStation 3® games console  300  as an example of a base device. The games console  300  is connected to a mains power supply  310  and (optionally) to a main display screen (not shown). A cable, acting as the cables  82 ,  84  discussed above (and so acting as both power supply and signal cables), links the HMD  20  to the games console  300  and is, for example, plugged into a USB socket  320  on the console  300 . Note that in the present embodiments, a single physical cable is provided which fulfils the functions of the cables  82 ,  84 . In  FIG. 6 , the user is also shown holding a pair of hand-held controller  330   s  which may be, for example, Sony® Move® controllers which communicate wirelessly with the games console  300  to control (or to contribute to the control of) game operations relating to a currently executed game program. 
     The video displays in the HMD  20  are arranged to display images generated by the games console  300 , and the earpieces  60  in the HMD  20  are arranged to reproduce audio signals generated by the games console  300 . Note that if a USB type cable is used, these signals will be in digital form when they reach the HMD  20 , such that the HMD  20  comprises a digital to analogue converter (DAC) to convert at least the audio signals back into an analogue form for reproduction. 
     Images from the camera  122  mounted on the HMD  20  are passed back to the games console  300  via the cable  82 ,  84 . Similarly, if motion or other sensors are provided at the HMD  20 , signals from those sensors may be at least partially processed at the HMD  20  and/or may be at least partially processed at the games console  300 . The use and processing of such signals will be described further below. 
     The USB connection from the games console  300  also provides power to the HMD  20 , according to the USB standard. 
       FIG. 6  also shows a separate display  305  such as a television or other openly viewable display (by which it is meant that viewers other than the HMD wearer may see images displayed by the display  305 ) and a camera  315 , which may be (for example) directed towards the user (such as the HMD wearer) during operation of the apparatus. An example of a suitable camera is the PlayStation Eye camera, although more generally a generic “webcam”, connected to the console  300  by a wired (such as a USB) or wireless (such as WiFi or Bluetooth) connection. 
     The display  305  may be arranged (under the control of the games console) to provide the function of a so-called “social screen”. It is noted that playing a computer game using an HMD can be very engaging for the wearer of the HMD but less so for other people in the vicinity (particularly if they are not themselves also wearing HMDs). To provide an improved experience for a group of users, where the number of HMDs in operation is fewer than the number of users, images can be displayed on a social screen. The images displayed on the social screen may be substantially similar to those displayed to the user wearing the HMD, so that viewers of the social screen see the virtual environment (or a subset, version or representation of it) as seen by the HMD wearer. In other examples, the social screen could display other material such as information relating to the HMD wearer&#39;s current progress through the ongoing computer game. For example, the HMD wearer could see the game environment from a first person viewpoint whereas the social screen could provide a third person view of activities and movement of the HMD wearer&#39;s avatar, or an overview of a larger portion of the virtual environment. In these examples, an image generator (for example, a part of the functionality of the games console) is configured to generate some of the virtual environment images for display by a display separate to the head mountable display. 
       FIG. 7  schematically illustrates a similar arrangement (another example of a virtual reality system) in which the games console is connected (by a wired or wireless link) to a so-called “break out box” acting as a base or intermediate device  350 , to which the HMD  20  is connected by a cabled link  82 ,  84 . The breakout box has various functions in this regard. One function is to provide a location, near to the user, for some user controls relating to the operation of the HMD, such as (for example) one or more of a power control, a brightness control, an input source selector, a volume control and the like. Another function is to provide a local power supply for the HMD (if one is needed according to the embodiment being discussed). Another function is to provide a local cable anchoring point. In this last function, it is not envisaged that the break-out box  350  is fixed to the ground or to a piece of furniture, but rather than having a very long trailing cable from the games console  300 , the break-out box provides a locally weighted point so that the cable  82 ,  84  linking the HMD  20  to the break-out box will tend to move around the position of the break-out box. This can improve user safety and comfort by avoiding the use of very long trailing cables. 
     It will be appreciated that the localisation of processing in the various techniques described in this application can be varied without changing the overall effect, given that an HMD may form part of a set or cohort of interconnected devices (that is to say, interconnected for the purposes of data or signal transfer, but not necessarily connected by a physical cable). So, processing which is described as taking place “at” one device, such as at the HMD, could be devolved to another device such as the games console (base device) or the break-out box. Processing tasks can be shared amongst devices. Source signals, on which the processing is to take place, could be distributed to another device, or the processing results from the processing of those source signals could be sent to another device, as required. So any references to processing taking place at a particular device should be understood in this context. Similarly, where an interaction between two devices is basically symmetrical, for example where a camera or sensor on one device detects a signal or feature of the other device, it will be understood that unless the context prohibits this, the two devices could be interchanged without any loss of functionality. 
     As mentioned above, in some uses of the HMD, such as those associated with virtual reality (VR) or augmented reality (AR) systems, the user&#39;s viewpoint needs to track movements with respect to a real or virtual space in which the user is located. 
     This tracking is carried out by detecting motion of the HMD and varying the apparent viewpoint of the displayed images so that the apparent viewpoint tracks the motion. 
       FIG. 8  schematically illustrates the effect of a user head movement in a VR or AR system. 
     Referring to  FIG. 8 , a virtual environment is represented by a (virtual) spherical shell  250  around a user. This provides an example of a virtual display screen (VDS). Because of the need to represent this arrangement on a two-dimensional paper drawing, the shell is represented by a part of a circle, at a distance from the user equivalent to the separation of the displayed virtual image from the user. A user is initially at a first position  260  and is directed towards a portion  270  of the virtual environment. It is this portion  270  which is represented in the images displayed on the display elements  150  of the user&#39;s HMD. It can be seen from the drawing that the VDS subsists in three dimensional space (in a virtual sense) around the position in space of the HMD wearer, such that the HMD wearer sees a current portion of VDS according to the HMD orientation. 
     Consider the situation in which the user then moves his head to a new position and/or orientation  280 . In order to maintain the correct sense of the virtual reality or augmented reality display, the displayed portion of the virtual environment also moves so that, at the end of the movement, a new portion  290  is displayed by the HMD. 
     So, in this arrangement, the apparent viewpoint within the virtual environment moves with the head movement. If the head rotates to the right side, for example, as shown in  FIG. 8 , the apparent viewpoint also moves to the right from the user&#39;s point of view. If the situation is considered from the aspect of a displayed object, such as a displayed object  300 , this will effectively move in the opposite direction to the head movement. So, if the head movement is to the right, the apparent viewpoint moves to the right but an object such as the displayed object  300  which is stationary in the virtual environment will move towards the left of the displayed image and eventually will disappear off the left-hand side of the displayed image, for the simple reason that the displayed portion of the virtual environment has moved to the right whereas the displayed object  300  has not moved in the virtual environment. 
       FIGS. 9 a  and 9 b    schematically illustrated HMDs with motion sensing. The two drawings are in a similar format to that shown in  FIG. 2 . That is to say, the drawings are schematic plan views of an HMD, in which the display element  150  and optical elements  160  are represented by a simple box shape. Many features of  FIG. 2  are not shown, for clarity of the diagrams. Both drawings show examples of HMDs with a motion detector for detecting motion of the observer&#39;s head. 
     In  FIG. 9 a   , a forward-facing camera  322  is provided on the front of the HMD. This may be the same camera as the camera  122  discussed above, or may be an additional camera. This does not necessarily provide images for display to the user (although it could do so in an augmented reality arrangement). Instead, its primary purpose in the present embodiments is to allow motion sensing. A technique for using images captured by the camera  322  for motion sensing will be described below in connection with  FIG. 10 . In these arrangements, the motion detector comprises a camera mounted so as to move with the frame; and an image comparator operable to compare successive images captured by the camera so as to detect inter-image motion. 
       FIG. 9 b    makes use of a hardware motion detector  332 . This can be mounted anywhere within or on the HMD. Examples of suitable hardware motion detectors are piezoelectric accelerometers or optical fibre gyroscopes. It will of course be appreciated that both hardware motion detection and camera-based motion detection can be used in the same device, in which case one sensing arrangement could be used as a backup when the other one is unavailable, or one sensing arrangement (such as the camera) could provide data for changing the apparent viewpoint of the displayed images, whereas the other (such as an accelerometer) could provide data for image stabilisation. 
       FIG. 10  schematically illustrates one example of motion detection using the camera  322  of  FIG. 9   a.    
     The camera  322  is a video camera, capturing images at an image capture rate of, for example, 25 images per second. As each image is captured, it is passed to an image store  400  for storage and is also compared, by an image comparator  410 , with a preceding image retrieved from the image store. The comparison uses known block matching techniques (so-called “optical flow” detection) to establish whether substantially the whole image has moved since the time at which the preceding image was captured. Localised motion might indicate moving objects within the field of view of the camera  322 , but global motion of substantially the whole image would tend to indicate motion of the camera rather than of individual features in the captured scene, and in the present case because the camera is mounted on the HMD, motion of the camera corresponds to motion of the HMD and in turn to motion of the user&#39;s head. 
     The displacement between one image and the next, as detected by the image comparator  410 , is converted to a signal indicative of motion by a motion detector  420 . If required, the motion signal is converted by to a position signal by an integrator  430 . 
     As mentioned above, as an alternative to, or in addition to, the detection of motion by detecting inter-image motion between images captured by a video camera associated with the HMD, the HMD can detect head motion using a mechanical or solid state detector  332  such as an accelerometer. This can in fact give a faster response in respect of the indication of motion, given that the response time of the video-based system is at best the reciprocal of the image capture rate. In some instances, therefore, the detector  332  can be better suited for use with higher frequency motion detection. However, in other instances, for example if a high image rate camera is used (such as a 200 Hz capture rate camera), a camera-based system may be more appropriate. In terms of  FIG. 10 , the detector  332  could take the place of the camera  322 , the image store  400  and the comparator  410 , so as to provide an input directly to the motion detector  420 . Or the detector  332  could take the place of the motion detector  420  as well, directly providing an output signal indicative of physical motion. 
     Other position or motion detecting techniques are of course possible. For example, a mechanical arrangement by which the HMD is linked by a moveable pantograph arm to a fixed point (for example, on a data processing device or on a piece of furniture) may be used, with position and orientation sensors detecting changes in the deflection of the pantograph arm. In other embodiments, a system of one or more transmitters and receivers, mounted on the HMD and on a fixed point, can be used to allow detection of the position and orientation of the HMD by triangulation techniques. For example, the HMD could carry one or more directional transmitters, and an array of receivers associated with known or fixed points could detect the relative signals from the one or more transmitters. Or the transmitters could be fixed and the receivers could be on the HMD. Examples of transmitters and receivers include infra-red transducers, ultrasonic transducers and radio frequency transducers. The radio frequency transducers could have a dual purpose, in that they could also form part of a radio frequency data link to and/or from the HMD, such as a Bluetooth® link. 
       FIG. 11  schematically illustrates image processing carried out in response to a detected position or change in position of the HMD. 
     As mentioned above in connection with  FIG. 10 , in some applications such as virtual reality and augmented reality arrangements, the apparent viewpoint of the video being displayed to the user of the HMD is changed in response to a change in actual position or orientation of the user&#39;s head. 
     With reference to  FIG. 11 , this is achieved by a motion sensor  450  (such as the arrangement of  FIG. 10  and/or the motion detector  332  of  FIG. 9 b   ) supplying data indicative of motion and/or current position to a required image position detector  460 , which translates the actual position of the HMD into data defining the required image for display. An image generator  480  accesses image data stored in an image store  470  if required, and generates the required images from the appropriate viewpoint for display by the HMD. The external video signal source can provide the functionality of the image generator  480  and act as a controller to compensate for the lower frequency component of motion of the observer&#39;s head by changing the viewpoint of the displayed image so as to move the displayed image in the opposite direction to that of the detected motion so as to change the apparent viewpoint of the observer in the direction of the detected motion. 
       FIG. 12  schematically illustrates a virtual reality system or apparatus comprising: an HMD  1200  which may include an orientation detector  1205 , for example of the type discussed above with reference to  FIGS. 9A-11 , one or more user controls  1210 , a data processor  1220  such as a game engine, an image processor  1230 , a camera  1240  and optionally a social screen  1250  of the type discussed above. Storage media  1280  is optionally provided to store (and to allow retrieval by the data processor of) displayable content and/or game data. 
     In use, the user wears the HMD  1200  and can operate the one or more controls or controllers  1210 . Examples of suitable user controls include the controller  330  shown in  FIGS. 6 and 7 . The game engine  1220  provides images and other content such as audio content to the HMD via a wired or wireless connection  1260  and receives input from the controllers  1210  via the connection  1260  or via the camera  1240 . 
     The camera  1240  is directed towards the HMD and/or controllers in use. The camera  1240  can therefore capture a current position and/or orientation of the HMD  1200  and a current position and/or orientation of the controllers  1210 , each of which is detected from the captured images by the image processor  1230 . These captured positions and/or orientations can be used to control data processing operations of the game engine  1220 , such as game control operations. 
     Similarly, the orientation detector  1205  can provide orientation information (such as a data defining a current orientation and/or data defining a detected change in orientation) to the data processor  1220  via the link  1260 . 
     Therefore, in examples, there are various types of control input to the game engine  1220 , such as control inputs  1270  derived by the image processor  1230  from captured images captured by the camera  1240  and/or control inputs received from the controls  1210  via the wired or wireless connection  1260 . The image processor  1230  provides an example of an image processor to detect, from one or more images captured by the camera  1240 , one or more of: (i) a current orientation of the HMD  1200 ; and (ii) a current location of the HMD  1200 . The game engine  1220  provides an example of a data processor to direct a data processing function according to the detection by the image processor. In some examples, the data processing function is a gameplay function. 
       FIG. 13  schematically illustrates a virtual environment. 
     A virtual environment was discussed above with reference to  FIG. 8 . In  FIG. 13 , the virtual environment is schematically illustrated as a spherical shell around the HMD wearer who is considered to be located at a geometrical centre point  1300  of the spherical shell  1310 . So, the representation of  FIG. 8  was a two-dimensional representation of the virtual environment, but in  FIG. 13  a three-dimensional sphere is illustrated. 
     The HMD wearer can change his viewpoint of the virtual environment by, for example, moving his head while wearing the HMD. Again, techniques for detecting and reacting to such movement were discussed above with reference to  FIGS. 8 to 11 . These techniques are applicable to movements in a lateral (panning) direction as well as to movements in a vertical (up/down) direction. At any particular time, the view of the virtual environment currently available to the HMD wearer is represented by a schematic region  1320  as the user moves his head while wearing the HMD, the region  1320  moves with relation to the virtual environment  1310 . 
     The virtual environment  1310  may represent a computer game environment generated by the data processor (optionally using data retrieved from the storage media  1280 ) with the data processor  1220  acting as a game engine. The discussion above relates to the user&#39;s current viewpoint of the current virtual environment; the virtual environment itself may change as (and in response to) the user moves around the virtual environment, and/or takes game actions, and/or progresses through the game. 
     In other examples, the virtual environment  1310  can be a panoramic video such that video content is provided (for example, retrieved from the storage media  1280 ) by the data processor  1220 . A region  1320  is displayed to the HMD wearer and that region can be changed as discussed above by the HMD wearer moving his or her head. 
     Note that in either example, the virtual environment does not have to occupy a complete spherical region. In some examples, the virtual environment may be represented by a truncated sphere similar to that shown in  FIG. 13  but missing a spherical segment at one or both of the top and bottom of the sphere as drawn in  FIG. 13 . Here, a spherical segment is defined as the portion of the sphere which is “cut off” or removed by intersecting a plane above or below the equatorial plane of the sphere shown in  FIG. 13 . In other examples, a more limited lateral or panning movement may be permitted such that the virtual environment does not extend for the full 360 degrees around the user in a lateral sense, but extends over a smaller panning range such as 180 degrees to the left or right. In general, different types of virtual environment can be used, but an overall principle is that the available virtual environment which the user could view is greater in extent than the region  1320  which the user can view at any one time. 
     Therefore, in examples, the virtual environment can be formed as a video representation of the virtual environment. In other examples, the data processor  1220  can act as a game processor (and thereby as a display generator) configured to generate the representation of the virtual environment. In either case, the virtual environment may include features of interest as discussed below. 
       FIGS. 14 and 15  are schematic flowcharts illustrating methods.  FIG. 14  relates to the use of the apparatus of  FIG. 12  to display video content, and  FIG. 15  relates to the use of the apparatus of  FIG. 12  to display game content. The apparatus of  FIG. 12 , operating in accordance with either or both of  FIGS. 14 and 15  provides an example of a virtual reality apparatus comprising a head mountable display (HMD) to display video content, an orientation detector (such as the detector  1205  and/or the camera  1240 , image processor  1230  and data processor  1220 ) to detect a current orientation of the HMD, and a display generator such as the data processor  1220  to generate video content for display by the HMD. The video content represents a portion  1320  of a virtual environment  1310 . The display generator selects the portion for display by the HMD in dependence upon a current orientation of the HMD and a location within the virtual environment of a feature of interest. 
     Referring to  FIG. 14 , which relates to the display of video content representing a portion of a video representation of a virtual environment (for example, an arrangement in the context of the display of panoramic video material to the HMD wearer), at a step  1400  the data processor  1220  retrieves the virtual representation, for example from the storage media  1280 . 
     At a step  1410 , the data processor  1220  detects metadata associated with the virtual representation. In the case of a video virtual representation, the metadata can indicate the location at a particular time of a feature of interest within the virtual environment. For example, the feature of interest could be a main character in the video material or a particular area of action such as sporting action within the video material. An example format of the metadata is as follows: 
     
       
         
           
               
               
               
               
             
               
                   
                   
               
               
                   
                   
                   
                 FOI location in 
               
               
                   
                 timecode 
                 FOI identifier 
                 virtual environment 
               
               
                   
                   
               
             
            
               
                   
                 t1-t2 
                 FOI-A 
                 (coordinates) 
               
               
                   
                 t3-t4 
                 FOI-B 
                 (coordinates) 
               
               
                   
                 t6-t6 
                 FOI-A 
                 (coordinates) 
               
               
                   
                   
               
            
           
         
       
     
     This example of metadata provides an indication of the presence of each FOI by timecode range (so that the step  1430  discussed below can, in some examples, be carried out once in respect of each FOI, at the start of that timecode range). The field “FOI identifier” does not need to be provided, but can allow the FOIs to be ranked in importance, for example if two or more FOIs are present, at different coordinates, for overlapping time periods. 
     The metadata can be stored alongside the video representation, for example in the storage media  1280 , or it can be retrieved, for example from an internet connection when the representation is due for display, and/or it could be stored within the video representation, for example within user data fields available in the video format. The information provided within the metadata can be inserted by the producers of the video material, for example. 
     After the detection of the metadata at the step  1410 , a step  1420  detects whether a point or feature of interest (FOI) is indicated as being present at the currently displayed time within the video material. If the answer is no then control passes to a step  1440  at which the apparatus of  FIG. 12  continues to adjust the current viewpoint  1320  according to the detected orientation of the HMD (which can encompass a change according to a variation in the detected orientation). 
     In these example arrangements, therefore, the display generator is configured to detect the location within the virtual environment of a feature of interest from metadata associated with a representation of the virtual environment. 
     If, however, a feature of interest is present at the step  1420 , then control passes to a step  1430 . 
     Referring back to  FIG. 13 , a currently viewed region  1320  is shown, along with an example location  1330  of a feature of interest. The step  1430  involves the data processor  1220  moving the currently viewed region  1320  with respect to the virtual environment  1310  so that the feature of interest at the position  1330  is within the currently viewed region  1320 . In other words, the currently viewed region  1320  is moved with respect to the virtual environment  1310  despite there being no change (or indeed a different change) in the detected physical orientation of the HMD. 
     If the current view already encompasses an (or the) FOI, then the step  1430  (and the step  1530  to be discussed later) can be omitted. 
     This movement can be accomplished in various different ways. An abrupt switch to a new relative location in the virtual environment could be disorientating for the user, so while this is a possibility, a more gradual movement (for example, over a period of n seconds such as two seconds, or over a period of m seconds/degree of movement, such as 0.05 seconds per degree) can be employed so that the change in location of the currently viewable region  1320  is more gradual. Therefore, in these examples, the display generator is configured to change the position of the video content for display by the HMD with respect to the virtual environment at no more than a maximum rate of change. 
     Note that during this change, the user&#39;s physical orientation of the user&#39;s head and the HMD need not change. The change which takes place is a relative orientation of the virtual environment  1310  and the currently viewable region  1320 , which can be considered as a change applied to the currently viewable region, a change applied to the virtual environment, or both. 
     In  FIG. 13 , the position of the currently viewable region relative to the virtual environment  1310  is illustrated as a region  1340 . 
     In some examples, after the change in relative position has taken place, the currently viewable region  1320  can be centred on the feature of interest. In other examples, it can be laterally centred on the FOI, but the FOI can be displaced towards the lower edge of the currently viewable region. However, further examples will be discussed below with reference to  FIG. 23 . Therefore, in examples, the display generator is configured to generate the contents for display to the HMD so that a feature of interest is substantially at the centre (or at least the lateral centre) of the video content for display by the HMD. 
     In some examples, the step  1430  can be repeated as long as the FOI remains part of the content for display. In other examples, however, once the step  1430  has been first executed in respect of a newly introduced FOI, control can then pass to the step  1440  so that subsequent changes are allowed in response to detected changes in the physical orientation of the HMD. 
       FIG. 15  schematically illustrates a flowchart representing a similar method to that shown in  FIG. 14 , but in this instance the technique relates to the generation of game content. 
     At a step  1500 , the data processor  1220 , acting (for example) as a game engine, generates a virtual environment and, at a step  1510 , can optionally generate a feature of interest. In a game environment, a feature of interest could be another player having a major role in the game, a prize, a major hazard or the like. 
     At a step  1520 , the data processor  1220  detects whether a feature of interest is present. This could, in a similar manner to that discussed above, involve a detection of whether a feature of interest is newly present so that, if so, a step  1530  at which the viewable region  1320  is moved with respect to the virtual environment  1310  so as to be centred around the feature of interest in the various optional manners discussed above. 
     If no feature of interest is present, and/or once the display has been centred at the step  1530 , control passes to a step  1540  at which changes of the displayable region are allowed according to the detected physical orientation (or changes in the detected physical orientation) of the HMD  1200 . 
     The steps  1440 ,  1540  therefore provide an example of an arrangement in which, if the representation of the virtual environment does not currently contain a feature of interest or, in at least some examples, after the feature of interest has been initially displayed, the display generator is configured to change the selection of the video content in response to detected changes in orientation of the HMD. 
     Example techniques for detecting a current orientation and/or location of the HMD will now be discussed with reference to  FIGS. 16 to 18 . In particular,  FIG. 16  is a schematic side view of an HMD,  FIG. 17  is a schematic front view of an HMD and  FIG. 18  is a schematic diagram of a camera such as the camera  1240 . 
     Referring to  FIG. 16 , the HMD  1600  is shown on a user&#39;s head  1610  with the one or more straps holding the HMD on the user&#39;s head being shown in schematic broken lines  1620 . In the diagram, the user is represented as facing towards the right hand side of the page. 
     One or more optically detectable features are provided on the HMD. In the example of  FIG. 16 , the optically detectable features are a plurality of light emitters which, in this example, are provided as light emitting diodes (LEDs)  1630 . Similarly, in the front view in  FIG. 17  (in which the user&#39;s head is shown as a broken line  1700  relative to the front view  1710  of the HMD, so that in the example the user is shown looking out of the page) further LEDs are provided. In fact, in an example arrangement in which the HMD curves around the user&#39;s head, LEDs  1720  or  1730  can be the same as some of those visible in  FIG. 16  from a side view. A further LED  1740  is provided towards the middle of the HMD. 
     These LEDs can be arranged to be optically detectable by the camera  1240 . In some examples, this can be by detection of bright points of light in the scene represented by images captured by the camera  1240 . In other examples, the colour(s) of one or more of the LEDs can be selectable under control of the game engine  1220 , for example to provide an asymmetric (left to right) pattern of illumination and/or to allow multiple HMD users present in the same captive image to be distinguished. In further examples, a time-based modulation of the LEDs can be used, again to provide a system with the ability to distinguish between multiple users, to provide an asymmetric pattern of illumination and/or to assist in detection of the presence of the LEDs. Any one or more of these techniques can be combined. 
     The presence of the LEDs on the front and sides of the HMD give rise to a preferred or base orientation which faces the camera. However, other base orientations could be used. For example, if markings and/or LEDs were provided on the HMD strap a base orientation could be the user&#39;s head pointing away from the camera. If markings and/or LEDs were provided on a top strap or surface of the HMD, a preferred orientation could have the camera above the HMD. Note that markings and/or LEDs are not required; the system could instead (or as well) recognise other features such as the shape and/or configuration of the HMD and/or aspects of the user&#39;s head. 
     The camera  1240  is shown schematically in  FIG. 18  as a camera arrangement  1800  having a stereoscopic pair  1810 ,  1820  of laterally spaced cameras so as to provide the functionality of a depth camera. The stereoscopic camera of  FIG. 18  is just one example of a depth camera. Other types of cameras such as those using so-called structured infrared light (for example, a projected grid of infrared light from which depth information can be acquired using an infrared sensor) are also capable of acting as the depth camera to detect the depth parameter of image material in a captured image. Other depth camera techniques can include arrangements using ultrasonic depth detection. 
     It will be appreciated that the depth detection aspect relates to detection of the location of the HMD, whereas the detection of a current orientation can be carried out by a camera which does not have the depth functionality. Therefore, some examples provide a depth camera but this is not an essential feature of examples relating to the detection of a deviation of a current orientation of the HMD from a base orientation of the HMD. 
     The detection of the orientation and its deviation from a base orientation will be discussed below with reference to  FIGS. 20A to 22B . 
       FIG. 19  is a schematic diagram of a handheld controller comprising one or more buttons  1900  such that when the user presses one or more of the buttons  1900 , a signal can be sent to the data processor  1220  by the link  1260 , and an illuminated portion  1910 , the position of which can be detected from images captured by the camera  1240 . Again, the colour, brightness and temporal modulation (or any one or more of these) can be controlled by the game engine  1220 , for example to assist in detection or in distinguishing multiple game controllers from one another. 
       FIGS. 20A, 21A and 22A  schematically represent orientations relative to a camera, of a user wearing an HMD and  FIGS. 20B, 21B and 22B  schematically represent captured images of the arrangements of  FIGS. 20A, 21A and 22A  respectively. 
     In  FIG. 20A , a plan view (that is to say, a schematic view looking downwards) is shown of a user  2000  wearing an HMD  2010  and facing a camera  2020 , for example, the camera  1240  discussed above.  FIG. 20B  shows a schematic representation of a resulting image or part of an image of the user&#39;s head wearing the HMD, in which a pattern of the light emitters  2030  characteristic of the HMD facing the camera can be detected by the image processor  1230 . 
     In  FIG. 21A , the user has turned his head slightly to one side, so that the view captured by the camera  2020  (as shown schematically in  FIG. 21B ) demonstrates a characteristic pattern of the LEDs  2030  indicative of the user having turned his head to the side and indicating, by the asymmetric nature of the pattern as drawn, which direction the user has turned his head. 
     In  FIG. 22A , the user has turned his head by 90 degrees to the side relative to the camera  2020 . The captured image shown schematically in  FIG. 22B  shows fewer of the LEDs indicative of the user having turned his head well away from the camera  2020 . 
     Especially in a full immersion type of virtual reality system, it is quite possible that the user will move so as to face away from the camera  1240  without necessarily realising that the user has done so. Example embodiments provide techniques to prompt the user to return towards the base orientation, which is an orientation facing the camera ( FIG. 20A ). In a convenient and non-disruptive way without necessarily disturbing the user&#39;s use of the HMD, for example in a gameplay situation. 
       FIG. 23  is a schematic flowchart representing an alternative outcome to the steps  1430 ,  1530  discussed above. 
     In the examples discussed above, after the movement of the currently displayable region relative to the virtual environment, the FOI was (at least laterally) centred within the displayable region. However, this is not necessarily the case in other examples.  FIG. 23  relates to an arrangement having a detector (for example implemented by the data processor  1220 ) to detect a deviation of a current orientation of the HMD from a base orientation of the HMD, in which the display generator (for example, implemented by the data processor  1220 ) is configured to generate the video content for display by the HMD so that the FOI is displaced from a central display position, the displacement being such that a wearer of the HMD is prompted to turn his head so as to change the orientation of the HMD towards the base orientation. 
     In this example, it is noted that the user may have a base orientation of the HMD (for example, looking straight ahead with respect to the user&#39;s body while in a seated position) but that the user may have been turning his or her head during normal operation of the HMD so that the user&#39;s head is not currently in the base orientation. If this is the case, the change described with reference to the step  1530 ,  1430  can be arranged so that the FOI is displaced to one side of a central location within the viewable region, after the step  1530 ,  1430  has been implemented. 
     In an example, if it is detected that the user&#39;s head is currently turned to the left with reference to the user&#39;s body, then the step  1430 ,  1530  can result in the FOI being positioned initially to the right hand side of the currently viewable region. Instinctively, the user will look towards the FOI and so tend to return his head towards the base orientation. Similar considerations can be applied to deviations from a base vertical orientation. So, positioning of the FOI after the step  1430 ,  1530  can lead to the user acting in accordance with the steps  1440 ,  1540  so as to instinctively return the user&#39;s head towards the base orientation. 
     The base orientation can be defined with reference to an initial orientation when the user starts operation, and/or with respect to a rolling or recent average position or orientation on the basis that the user will tend to move his head to either side around the user&#39;s current base orientation. So, the average orientation over (for example) the most recent two minutes of usage can be taken as the base orientation. 
     So, with reference to  FIG. 23 , at a step  2300  the data processor  1220  detects deviations from the base orientation and, at a step  2310  detects a required direction of motion, which is to say physical motion of the user&#39;s head, to tend to return the user&#39;s head towards the base orientation. At a step  2320 , the data processor  1220  implements the step  1430 ,  1530  by displaying the currently displayable region with the FOI displaced from the lateral or geometrical centre of the currently displayable region, the displacement being such that the HMD user is prompted to turn his head so as to change the orientation of the HMD towards the base orientation. 
       FIG. 24  is a schematic flowchart illustrating (by way of summary) a method as discussed above, comprising: 
     detecting (at a step  2400 ) a current orientation of a head mountable display (HMD) to display video content; and 
     generating (at a step  2410 ) video content for display by the HMD, the video content representing a portion of a virtual environment, comprising selecting the portion for display by the HMD in dependence upon: 
     a current orientation of the HMD; and 
     a location within the virtual environment of a feature of interest. 
     It will be appreciated that example embodiments can be implemented by computer software operating on a general purpose computing system such as a games machine. In these examples, computer software, which when executed by a computer, causes the computer to carry out any of the methods discussed above is considered as an embodiment of the present disclosure. Similarly, embodiments of the disclosure are provided by a non-transitory, machine-readable storage medium which stores such computer software. 
     It will be apparent that numerous modifications and variations of the present disclosure are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure may be practised otherwise than as specifically described herein.