Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CONTROL OF A CAMERA ARRANGEMENT
Document Type and Number:
WIPO Patent Application WO/2018/127280
Kind Code:
A1
Abstract:
There is provided mechanisms for controlling a camera arrangement. The camera arrangement comprises a first camera unit configured to provide a 360o view of a scene and a second camera unit configured to provide a view of part of the scene. The first camera unit and the second camera unit are 5 configured to at least together provide a stereoscopic view of the part of the scene. A method is performed by a video controller. The method comprises obtaining first input from a visual user interface device indicating beginning of user movement. The method comprises, in response thereto, setting an output of the camera arrangement to only include images captured by the 10 first camera unit. The method comprises obtaining second input from the visual user interface device indicating stopping of the user movement. The method comprises, in response thereto, setting the output of the camera arrangement to include images at least captured by the second camera unit.

Inventors:
FALK TOMMY (SE)
DOVSTAM KRISTOFER (SE)
SWAIN ROBERT (SE)
Application Number:
PCT/EP2017/050154
Publication Date:
July 12, 2018
Filing Date:
January 04, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04N7/18; H04N13/00; G06F3/01
Foreign References:
EP0713331A11996-05-22
US4818858A1989-04-04
US20090256908A12009-10-15
EP3007038A22016-04-13
Other References:
None
Attorney, Agent or Firm:
ERICSSON (SE)
Download PDF:
Claims:
CLAIMS

1. A method for controlling a camera arrangement (110), the camera arrangement (110) comprising a first camera unit (120) configured to provide a 3600 view of a scene and a second camera unit (130) configured to provide a view of part of the scene, wherein the first camera unit (120) and the second camera unit (130) are configured to at least together provide a stereoscopic view of the part of the scene, the method being performed by a video controller (200), the method comprising:

obtaining (S102) first input from a visual user interface device (140) indicating beginning of user movement; and in response thereto:

setting (S104) an output of the camera arrangement (110) to only include images captured by the first camera unit (120);

obtaining (S108) second input from the visual user interface device (140) indicating stopping of the user movement; and in response thereto: setting (S110) the output of the camera arrangement (110) to include images at least captured by the second camera unit (130).

2. The method according to claim 1, wherein setting the output of the camera arrangement (110) to only include images captured by the first camera unit (120) comprises:

gradually excluding (Si04a) the images captured by the second camera unit (130) from being the output of the camera arrangement (110).

3. The method according to any of the preceding claims, wherein setting the output of the camera arrangement (110) to include images at least captured by the second camera unit (130) comprises:

gradually including (Snoa) the images captured by the second camera unit (130) in the output of the camera arrangement (110).

4. The method according to any of the preceding claims, wherein the first input further comprises movement data of the user movement, the method further comprising: steering (S106) the second camera unit (130) according to the movement data.

5. The method according to any of the preceding claims, wherein the output of the camera arrangement (110) is set to include images captured by the first camera unit (120) and images captured by the second camera unit (130) in response to obtaining the second input.

6. The method according to any of claims 1 to 4, wherein the output of the camera arrangement (110) is set to include only images captured by the second camera unit (130) in response to obtaining the second input. 7. The method according to any of the preceding claims, wherein the images captured by the first camera unit (120) only are included in the output of the camera arrangement (110) during absence of images captured by the second camera unit (130).

8. The method according to any of the preceding claims, wherein the output of the camera arrangement (110) comprises images captured by the first camera unit (120) and images captured by the second camera unit (130), the method further comprising:

differentially quantizing (S112) the images captured by one of the first camera unit (120) and the second camera unit (130) based on the images captured by the other of the first camera unit (120) and the second camera unit (130).

9. The method according to c any of the preceding claims, wherein the output of the camera arrangement (110) comprises images captured by the first camera unit (120) and images captured by the second camera unit (130), the method further comprising:

stitching (S114) the images captured by the second camera unit (130) to the images captured by the first camera unit (120).

10. The method according to any of the preceding claims, further

comprising: combining (S116) the images captured by the first camera unit (120) and the images captured by the second camera unit (130) into a composite stream of images; and

providing (S118) the composite stream of images to the visual user interface device (140)

11. The method according to any of claims 1 to 8, further comprising:

providing (S120) the output of the camera arrangement (110) to the visual user interface device (140) as separate streams of images.

12. The method according to claim 11, further comprising:

providing (S122) side information indicating pointing angle of the second camera unit (130) during capture of its images along the separate streams of images.

13. The method according to any of the preceding claims, wherein the second camera unit (130) is a stereoscopic camera. 14. The method according to any of claims 1 to 12, wherein the second camera unit (130) is a 2D camera.

15. The method according to claim 1, wherein the second camera unit (130) is rotatably arranged with respect to a center axis of the first camera unit (120) 16. The method according to claim 1, wherein the second camera unit (130) comprises one single image capturing device provided at an offset to the center axis.

17. The method according to claim 1, wherein the second camera unit (130) comprises two image capturing devices, each provided at a respective offset to the center axis.

18. A video controller (200) for controlling a camera arrangement (110), the camera arrangement (110) comprising a first camera unit (120) configured to provide a 3600 view of a scene and a second camera unit (130) configured to provide a view of part of the scene, wherein the first camera unit (120) and the second camera unit (130) are configured to at least together provide a stereoscopic view of the part of the scene, the video controller (200) comprising processing circuitry (210), the processing circuitry being configured to cause the video controller (200) to:

obtain first input from a visual user interface device (140) indicating beginning of user movement; and in response thereto:

set an output of the camera arrangement (no) to only include images captured by the first camera unit (120);

obtain second input from the visual user interface device (140) indicating stopping of the user movement; and in response thereto:

set the output of the camera arrangement (110) to include images at least captured by the second camera unit (130).

19. A video controller (200) for controlling a camera arrangement (110), the camera arrangement (no) comprising a first camera unit (120) configured to provide a 3600 view of a scene and a second camera unit (130) configured to provide a view of part of the scene, wherein the first camera unit (120) and the second camera unit (130) are configured to at least together provide a stereoscopic view of the part of the scene, the video controller (200) comprising:

processing circuitry (210); and

a storage medium (230) storing instructions that, when executed by the processing circuitry (210), cause the video controller (200) to:

obtain first input from a visual user interface device (140) indicating beginning of user movement; and in response thereto:

set an output of the camera arrangement (no) to only include images captured by the first camera unit (120);

obtain second input from the visual user interface device (140) indicating stopping of the user movement; and in response thereto:

set the output of the camera arrangement (110) to include images at least captured by the second camera unit (130).

20. A video controller (200) for controlling a camera arrangement (110), the camera arrangement (no) comprising a first camera unit (120) configured to provide a 3600 view of a scene and a second camera unit (130) configured to provide a view of part of the scene, wherein the first camera unit (120) and the second camera unit (130) are configured to at least together provide a stereoscopic view of the part of the scene, the video controller (200) comprising:

an obtain module (210a) configured to obtain first input from a visual user interface device (140) indicating beginning of user movement;

a set module (210b) configured to, in response thereto, set an output of the camera arrangement (no) to only include images captured by the first camera unit (120);

an obtain module (2ioe) configured to obtain second input from the visual user interface device (140) indicating stopping of the user movement; a set module (2101) configured to, in response thereto, set the output of the camera arrangement (110) to include images at least captured by the second camera unit (130).

21. A computer program (1020) for controlling a camera arrangement (110), the camera arrangement (no) comprising a first camera unit (120) configured to provide a 3600 view of a scene and a second camera unit (130) configured to provide a view of part of the scene, wherein the first camera unit (120) and the second camera unit (130) are configured to at least together provide a stereoscopic view of the part of the scene, the computer program comprising computer code which, when run on processing circuitry (210) of a video controller (200), causes the video controller (200) to:

obtain (S102) first input from a visual user interface device (140) indicating beginning of user movement; and in response thereto:

set (S104) an output of the camera arrangement (no) to only include images captured by the first camera unit (120);

obtain (S108) second input from the visual user interface device (140) indicating stopping of the user movement; and in response thereto: set (S110) the output of the camera arrangement (110) to include images at least captured by the second camera unit (130).

22. A computer program product (1010) comprising a computer program (1020) according to claim 21, and a computer readable storage medium (1030) on which the computer program is stored.

Description:
CONTROL OF A CAMERA ARRANGEMENT

TECHNICAL FIELD

Embodiments presented herein relate to a method, a video controller, a computer program, and a computer program product for controlling a camera arrangement.

BACKGROUND

Immersive videos, also known as 360 0 videos or spherical videos,

are generally defined as video recordings where a view in every direction of a scene is recorded at the same time, shot using an omnidirectional camera or a collection of cameras. During playback the viewer has control of the viewing direction like a panorama, a form of virtual reality. Immersive video combined with a visual user interface device (such as a head mounted display device to be used by the user) can thus provide a feeling for the user of actually being in the scene.

Rendering a stereoscopic view of a virtual scene comprises producing two separate views from slightly different angles corresponding to a left eye view and a right eye view for the user. A similar approach can be used when capturing a real-life scene by using two cameras mounted slightly apart to simulate a pair of eyes and then rotate both cameras to capture different angles as the user turns his/her head. One issue with this approach is that there will always be a certain amount of latency involved in tracking the movement of the user's head, transferring this movement information from the visual user interface device at the render side to the cameras at the capture side and then physically rotate the cameras. This latency should be kept small since even a small amount of delay between the user's movements and the video following these movements may cause illness.

Using two 360 0 cameras with the right displacement will produce a stereoscopic view only in the directions straight ahead and straight backwards, as well as along the arc line over the user's head. However, the two 360 0 cameras will always obstruct each other in some directions. Another approach is to use multiple cameras to capture stereoscopic video in all directions at the same time. Videos from the multiple cameras are then stitched together to form a full stereoscopic 360 0 view to be provided to the visual user interface device. However, this approach is not useful for real- time applications since the stitching and composition of the full stereoscopic 360 0 view requires the use of an offline process that takes minutes or even hours to complete.

Hence, there is still a need for improved mechanisms for providing immersive videos for real time applications. SUMMARY

An object of embodiments herein is to provide efficient control of a camera arrangement.

According to a first aspect there is presented a method for controlling a camera arrangement. The camera arrangement comprises a first camera unit configured to provide a 360 0 view of a scene and a second camera unit configured to provide a view of part of the scene. The first camera unit and the second camera unit are configured to at least together provide a stereoscopic view of the part of the scene. The method is performed by a video controller. The method comprises obtaining first input from a visual user interface device indicating beginning of user movement. The method comprises, in response thereto, setting an output of the camera arrangement to only include images captured by the first camera unit. The method comprises obtaining second input from the visual user interface device indicating stopping of the user movement. The method comprises, in response thereto, setting the output of the camera arrangement to include images at least captured by the second camera unit.

Advantageously this method provides efficient control of the camera arrangement, which in turn can be used to provide immersive videos for real time applications. Advantageously, the effect of any latency introduced by the second camera unit is minimized by smoothly switching to only output images only from the first camera unit when the user moves his/her head.

Advantageously this method enables a cost effective solution for real-time immersive stereoscopic video capture with only two camera units.

According to a second aspect there is presented a video controller for controlling a camera arrangement. The camera arrangement comprises a first camera unit configured to provide a 360 0 view of a scene and a second camera unit configured to provide a view of part of the scene. The first camera unit and the second camera unit are configured to at least together provide a stereoscopic view of the part of the scene. The video controller comprises processing circuitry. The processing circuitry is configured to cause the video controller to obtain first input from a visual user interface device indicating beginning of user movement. The processing circuitry is configured to cause the video controller to, in response thereto, set an output of the camera arrangement to only include images captured by the first camera unit. The processing circuitry is configured to cause the video controller to obtain second input from the visual user interface device indicating stopping of the user movement. The processing circuitry is configured to cause the video controller to, in response thereto, set the output of the camera arrangement to include images at least captured by the second camera unit.

According to a third aspect there is presented a video controller for

controlling a camera arrangement. The camera arrangement comprises a first camera unit configured to provide a 360 0 view of a scene and a second camera unit configured to provide a view of part of the scene. The first camera unit and the second camera unit are configured to at least together provide a stereoscopic view of the part of the scene. The video controller comprises processing circuitry and a storage medium. The storage medium stores instructions that, when executed by the processing circuitry, cause the video controller to perform operations, or steps. The operations, or steps, cause the video controller to obtain first input from a visual user interface device indicating beginning of user movement. The operations, or steps, cause the video controller to, in response thereto, set an output of the camera arrangement to only include images captured by the first camera unit. The operations, or steps, cause the video controller to obtain second input from the visual user interface device indicating stopping of the user movement. The operations, or steps, cause the video controller to, in response thereto, set the output of the camera arrangement to include images at least captured by the second camera unit. According to a fourth aspect there is presented a video controller for controlling a camera arrangement. The camera arrangement comprises a first camera unit configured to provide a 360 0 view of a scene and a second camera unit configured to provide a view of part of the scene. The first camera unit and the second camera unit are configured to at least together provide a stereoscopic view of the part of the scene. The video controller comprises an obtain module configured to obtain first input from a visual user interface device indicating beginning of user movement. The video controller comprises a set module configured to, in response thereto, set an output of the camera arrangement to only include images captured by the first camera unit. The video controller comprises an obtain module configured to obtain second input from the visual user interface device indicating stopping of the user movement. The video controller comprises a set module configured to, in response thereto, set the output of the camera arrangement to include images at least captured by the second camera unit. According to a fifth aspect there is presented a computer program for for controlling a camera arrangement, the computer program comprising computer program code which, when run on a video controller, causes the video controller 200 to perform a method according to the first aspect.

According to a sixth aspect there is presented a computer program product comprising a computer program according to the fifth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non -transitory computer readable storage medium.

It is to be noted that any feature of the first, second, third, fourth, fifth and sixth aspects may be applied to any other aspect, wherever appropriate.

Likewise, any advantage of the first aspect may equally apply to the second, third, fourth, fifth and/or sixth aspect, respectively, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings. Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a/an/the element, apparatus, component, means, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.

BRIEF DESCRIPTION OF THE DRAWINGS

The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which: Figs. 1, 2, and 3 are schematic diagrams illustrating a stereoscopic imaging system according to embodiments;

Figs. 4, 5, and 7 are flowcharts of methods according to embodiments;

Fig. 6 schematically illustrates views of a scene captured using the

stereoscopic imaging system in Figs. 1, 2, and 3 according to embodiments; Fig. 8 is a schematic diagram showing functional units of a video controller 200 according to an embodiment;

Fig. 9 is a schematic diagram showing functional modules of a video controller 200 according to an embodiment; and Fig. 10 shows one example of a computer program product comprising computer readable storage medium according to an embodiment.

DETAILED DESCRIPTION

The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.

The inventors of the present disclosure have realized that by combining a camera configured to provide a 360 0 view with a rotatable camera following the user's head movements it is possible to provide a stereoscopic view when the user's head is stationary whilst smoothly switching over to a 2D video view as the user's head is turning.

Fig. 1 is a schematic diagram illustrating a stereoscopic imaging system 100 where embodiments presented herein can be applied. The stereoscopic imaging system 100 comprises a camera arrangement 110.

The camera arrangement 110 comprises a first camera unit 120 and a second camera unit 130. Each of the camera units 120, 130 is configured to capture a respective sequence of image. The sequences of images, either from only one of the camera units 120, 130 or from both the camera units 120, 130 results in a video stream to be produced. This video stream can be rendered and displayed to a user.

The first camera unit 120 is configured to provide a 360 0 view of a scene. In some aspects the first camera unit 120 is stationary relative the scene. In some aspects the first camera unit 120 comprises a 360 0 lens. In some aspects the first camera unit 120 comprises a plurality of image capturing devices that collectively are configured to provide the 360 0 view of the scene. The first camera unit 120 thus ensures that there is always available a 2D video in all directions of the view. The second camera unit 130 is configured to provide a view of part of the scene. In some aspects the second camera unit 130 is rotatably arranged with respect to a center axis of the first camera unit 120. In short, the second camera unit 130 is mounted with an offset relative the first camera unit 120 that produces the correct parallax effect for the stereoscopic view. This will be further exemplified in Fig. 3.

The stereoscopic imaging system 100 further comprises a visual user interface device 140. The visual user interface device 140 is configured to render and display a video stream to a user using a sequence of images as captured by at least one of the camera units 120, 130. The visual user interface device 140 is further configured to provide an indication of user movement as well as displaying an immersive stereoscopic view of the scene to the user. The camera arrangement 110 together with a visual user interface device 140 configured to provide an indication of user movement can thus produce an immersive stereoscopic view of the scene. Further aspects of the visual user interface device 140 will be disclosed below.

The camera arrangement 110, the video controller 200, and the visual user interface device 140 are configured to communicate and exchange data over an interface 150. The interface 150 may be wired, wireless, or a combination thereof. The first camera unit 120 and the second camera unit 130 are configured to at least together provide a stereoscopic view of part of the scene. The second camera unit 130 thus provides the stereoscopic effect, but only in one direction at a time. Thus, as the user's head is moving, the second camera unit 130 must follow this motion, which always involves a certain amount of latency. The stereoscopic imaging system 100 therefore further comprises a video controller 200. The video controller 200 interfaces the camera arrangement 110 and the visual user interface device 140. Further aspects of the video controller 200 and how it can be used to minimize latency will be disclosed below. Fig. 2(a) schematically illustrates an embodiment of the video controller 200 where the video controller 200 comprises a video position matching and composition unit 160 and a coding and transport unit 170. As further schematically illustrated in Fig. 2(a) the visual user interface device 140 comprises a rendering unit 180 and a display unit 190. In this embodiment, information about the position of the second camera unit 130 is not needed on the rendering side (i.e. by the visual user interface device 140) since the video composition is performed completely on the capture side (viz., by the video controller 200). This can be beneficial since only the capture side need to know the camera setup. The video controller 200 can be fine tuned to the exact properties of the camera units 120, 130 used in order to produce a distortion free stereoscopic effect. In order for the video controller 200 to perform video composition, the video controller 200 needs to know what kind of video layout the visual user interface device 140 requires. This could typically be negotiated during a session setup procedure. Fig. 2(b) schematically illustrates an embodiment of the video controller 200 where the video controller 200 comprises a coding and transport unit 170 but not any video position matching and composition unit. As further

schematically illustrated in Fig. 2(b) this requires the visual user interface device 140 to comprise not only the rendering unit 180 and the display unit 190 but also the video position matching and composition unit 160. In this embodiment the composing of the view using images from both the camera units 120, 130 is performed on the rendering side (i.e. by the visual user interface device 140). In this embodiment the sequences of images from the camera units 120, 130 are encoded and sent as two separate streams along with side information about the current rotational angle of the second camera unit 130. With this embodiment most processing is performed at the rendering side, which means that knowledge about the camera setup needs to be transmitted to the rendering side. Static information, such as parameters for the needed video matching and stitching can be sent at session setup time, whereas the current rotational angle of the second camera unit 130 needs to be transmitted as continuous side information to the sequences of images. This embodiment is beneficial when the video controller 200 is not powerful enough to perform the needed video processing. Also, with this embodiment the video controller 200 does not need to know exactly how the video is to be rendered by the visual user interface device 140. This is beneficial if the visual user interface device 140 is replaced or if several different visual user interface devices 140 are used simultaneously.

Fig. 3(a) illustrates an embodiment where the second camera unit 130 is a 2D camera. The second camera unit 130 could comprise one single image capturing device provided at an offset D to the center axis of the first camera unit 120. The first camera unit 120 and the second camera unit 130 are thus mounted at an offset D that provides the correct parallax effect. The first camera unit 120 is configured to provide image coverage in an

omnidirectional view 310. The second camera unit 130 is configured to provide image coverage in a directional view 320. Having the second camera unit 130 rotatably arranged with respect to the center axis of the first camera unit 120 enables the second camera unit 130 to be rotated to provide the view of the user's right eye in different directions.

Fig. 3(b) illustrates an embodiment where the second camera unit 130 is a stereoscopic camera. As in Fig. 3(b) the second camera unit 130 could thus comprise two image capturing devices 130a, 130b, each provided at a respective offset Di, D2 to the center axis of the first camera unit 120. The image capturing devices 130a, 130b of the second camera unit 130 are thus mounted at an offset D1+D2 that provides the correct parallax effect. In general terms, Di = D2 = D/2.

The first camera unit 120 is configured to provide image coverage in an omnidirectional view 310. The image capturing device 130a is configured to provide image coverage in a left directional view 320a, and the image capturing device 130b is configured to provide image coverage in a right directional view 320b. Having the image capturing devices 130a, 130b rotatably arranged with respect to the center axis of the first camera unit 120 enables the image capturing devices 130a, 130b to be rotated to provide a stereoscopic of the view of the user's left eye and right eye, respectively, in different directions, whereas the first camera unit 120 provides a 360 0 view that is always available and can be used during periods when the second camera unit (defined by the image capturing devices 130a, 130b) is rotated.

The embodiments disclosed herein relate to mechanisms for controlling a camera arrangement 110. In order to obtain such mechanisms there is provided a video controller 200, a method performed by the video controller 200, a computer program product comprising code, for example in the form of a computer program, that when run on the video controller 200, causes the video controller 200 to perform the method. Figs. 4 and 5 are flow charts illustrating embodiments of methods for controlling a camera arrangement 110. The methods are performed by the video controller 200. The methods are advantageously provided as computer programs 1020.

Reference is now made to Fig. 4 illustrating a method for controlling a camera arrangement 110 as performed by the video controller 200 according to an embodiment.

To briefly repeat some above aspects of the camera arrangement 110, the camera arrangement comprises a first camera unit 120 configured to provide a 360 0 view of a scene, and a second camera unit 130 configured to provide a view of part of the scene, where the first camera unit 120 and the second camera unit 130 are configured to at least together provide a stereoscopic view of this part of the scene.

S102: The video controller 200 obtains first input from the visual user interface device 140. The first input indicates beginning of user movement. The first input could be obtained over the interface 150.

In order to minimize the effect of latency, only the view from the first camera unit 120 is used during periods where the user's head is moving. Thus, the video controller 200 is configured to perform step S104 in response to having obtained the first input:

S104: The video controller 200 sets an output of the camera arrangement 110 to only include images captured by the first camera unit 120.

During the process of moving the second camera unit 130, the stream of images from the second camera unit 130 is not used. Instead the stream of images from the first camera unit 120 is used for both eyes. The output of the camera arrangement 110 is thus set to only include images captured by the first camera unit 120 as long as the movement continues. The sequence of images from the second camera unit 130 is thus not used during periods when the second camera unit 130 is moving. This allows the transmission of the sequence of images from the second camera unit 130 to be stopped until the second camera unit 130 has reached its new position. The bitrate of the output of the camera arrangement 110 can thus be set very low during these periods in order to not send data that is not to be rendered.

S108: The video controller 200 obtains second input from the visual user interface device 140. The second input indicates stopping of the user movement.

The second input could be obtained over the interface 150.

When the user is focusing his/her gaze in a new direction the stereoscopic effect can be faded in smoothly, as soon as the second camera unit 130 has reached its new position. That is, when the second camera unit 130 again is stationary, its stream of images is included in the output of the camera arrangement 110 to produce a stereoscopic effect in the new direction. Thus, the video controller 200 is configured to perform step S110 in response to having obtained the second input: Siio: The video controller 200 sets the output of the camera arrangement 110 to include images at least captured by the second camera unit 130.

Embodiments relating to further details of controlling a camera arrangement 110 as performed by the video controller 200 will now be disclosed. In general terms, the output of the camera arrangement 110 is to be delivered to the visual user interface device 140 over the interface 150, see steps S118 and S122 below for examples of this.

There could be different ways to set the output of the camera arrangement 110 once the movement of the user has stopped. In some aspects the static view (i.e., when there is not any indication of user movement) includes images captured by both the first camera unit 120 and the second camera unit 130. Hence, according to an embodiment the output of the camera arrangement 110 is set to include images captured by the first camera unit 120 and images captured by the second camera unit 130 in response to obtaining the second input in step S108.

In some aspects the static view (i.e., when there is not any indication of user movement) includes images captured only by the second camera unit 130. Hence, according to an embodiment the output of the camera arrangement 110 is set to include only images captured by the second camera unit 130 in response to obtaining the second input. This requires the second camera unit 130 to be stereoscopic (such as in the embodiment of Fig. 3(b)) in order for the output of the camera arrangement 110 to represent a stereoscopic view of the part of the scene.

That is, in some aspects the view from the first camera unit 120 is only used during periods of user movement. Hence, according to an embodiment the images captured by the first camera unit 120 are only included in the output of the camera arrangement 110 during absence of images captured by the second camera unit 130. Reference is now made to Fig. 5 illustrating methods for controlling a camera arrangement 110 as performed by the video controller 200 according to further embodiments. It is assumed that steps S102, S104, S108, S110 are performed as described above with reference to Fig. 4 and a thus repeated description thereof is therefore omitted.

There may be different ways for the video controller 200 to set the output of the camera arrangement 110 to only include images captured by the first camera unit 120 as in step S104. According to an embodiment the video controller 200 is configured to perform step Si04a as part of setting the output of the camera arrangement 110 to only include images captured by the first camera unit 120 in step S104:

Si04a: The video controller 200 gradually excludes the images captured by the second camera unit 130 from the output of the camera arrangement 110.

There could be different ways to gradually exclude the images. For example, image morphing could be performed in order to fade out the images captured by the second camera unit 130 from the output of the camera arrangement 110.

There may be different ways for the video controller 200 to set the output of the camera arrangement 110 to include images at least captured by the second camera unit 130 as in step S110. According to an embodiment the video controller 200 is configured to perform step Siioa as part of setting the output of the camera arrangement 110 to include images at least captured by the second camera unit 130 in step S110:

Siioa: The video controller 200 gradually includes the images captured by the second camera unit 130 in the output of the camera arrangement 110.

There could be different ways to gradually include the images. For example, image morphing could be performed in order to fade in the images captured by the second camera unit 130 into the output of the camera arrangement 110. In order to point the second camera unit 130 in the correct direction, head- tracking information could be sent from the visual user interface device 140 at the rendering side to the video controller 200 at the capture side. Thus the video controller 200 is configured to perform step S106 when the first input further comprises movement data (such as head-tracking information) of the user movement:

S106: The video controller steers the second camera unit 130 according to the movement data.

When the user's head is moving to a new viewing direction the second camera unit 130 can thereby be rotated to match the new viewing direction.

The bitrate of the output from the camera arrangement 110 could be kept low by using differential coding of the images from the second camera unit 130 (when present in the output). Hence, according to an embodiment the video controller 200 is configured to perform step S112 (for example by the coding and transport unit 170) when the output of the camera arrangement 110 comprises images captured by the first camera unit 120 and images captured by the second camera unit 130:

S112: The video controller 200 differentially quantizes the images captured by one of the first camera unit 120 and the second camera unit 130 based on the images captured by the other of the first camera unit 120 and the second camera unit 130.

In this respect, since the view represented by the images captured by the second camera unit 130 is identical to the images captured by the first camera unit 120 in most of the direction view 320, quantization of the two sequences of images with the sequence of images from the second camera unit 130 quantized as a difference to the sequence of images from the first camera unit 120 will be very efficient, since the difference will be zero for most parts of the view in the directional view 320. In some aspects, stitching between images from the first camera unit 120 and the second camera unit 130 is performed. Hence, the video controller 200 is configured to perform step S114 in an embodiment where the output of the camera arrangement 110 comprises images captured by the first camera unit 120 and images captured by the second camera unit 130:

S114: The video controller 200 stitches the images captured by the second camera unit 130 to the images captured by the first camera unit 120.

In some aspects the stitching in step S114 comprises image blending between the images captured by the second camera unit 130 and the images captured by the first camera unit 120. Depending on how large the field-of-view of the second camera unit 130 is, the stitching might be implemented as a simple crossfade.

Position matching between images from the first camera unit 120 and the second camera unit 130 can be used in order to avoid artifacts in the mixed output comprising sequences of images from both the first camera unit 120 and the second camera unit 130. Further, depending on physical properties of the first camera unit 120 and the second camera unit 130 there could be differences in resolution as well as hue, barrel distortion etc., that need to be compensated for before the two sequences of images can be successfully stitched together without noticeable unwanted effects. Since stitching of images from the first camera unit 120 and the second camera unit 130 is only performed in the outer regions of the users view, the quality of stitching is less important than with at least some existing solutions where the stitching might be required in the middle of the user's view. Further, in the case that the second camera 130 has a sufficient field of view, the images from the second camera 130 might be used on their own (without being stitched together with the images from the first camera unit 120) and the output from the camera arrangement 110 may thus comprise images only captured by the second camera unit 130 when the second camera unit 130 is stationary. In some aspects, as in the embodiment in Fig. 2(a), video composition is performed on the capture side. Hence, according to an embodiment the video controller 200 is configured to perform steps S116 and S118:

S116: The video controller 200 combines the images captured by the first camera unit 120 and the images captured by the second camera unit 130 into a composite stream of images. The combining of the images results in video composition being performed (for example by the video position matching and composition unit 160).

S118: The video controller 200 provides the composite stream of images to the visual user interface device 140.

As disclosed above, in an alternative embodiment (as in Fig. 2(b)) the video composition is performed at the rendering side. In some aspects the sequences of images from the first camera unit 120 and the second camera unit 130 are encoded and sent as two separate streams. Hence, according to an embodiment the video controller 200 is configured to perform step S120:

S120: The video controller 200 provides the output of the camera

arrangement 110 to the visual user interface device 140 as separate streams of images.

As disclosed above, this embodiment may require side information about the current rotational angle of the second camera unit 130 to be provided to the visual user interface device 140. Hence, according to an embodiment the video controller 200 is configured to perform step S122:

S122: The video controller 200 provides side information indicating pointing angle of the second camera unit 130 during capture of its images along the separate streams of images.

Figs. 6 (a) and (b) illustrate an example where the sequences of images are represented in panoramic video layout for the embodiment in Fig. 3(a). Fig. 6(a) illustrates the view for the user's left eye defined by a 360 0 panoramic view 610 provided by the first camera unit 120. Fig. 6(b) illustrates the view for the user's right eye defined a 360 0 panoramic view 610 provided by the first camera unit 120 and a panoramic view 620 provided by the second camera unit 130. The composition of the sequence of images from the second camera unit 130 is performed by matching the position of the images from the second camera unit 130 and mixing the sequences of images from the second camera unit 130 with the sequences of images from the first camera unit 120 with stitching so that they are joined seamlessly. Stitching artifacts are only visible in the peripheral parts of the view defined by the images from the second camera unit 130. In this way a stereoscopic effect will be achieved within the view defined by the images from the second camera unit 130.

Figs. 6 (c) and (d) illustrate an example of how the composition of the views for the left and right eye would be when the second camera unit 130 is a stereoscopic camera (i.e., for the embodiment in Fig. 3(b)). Fig. 6(c) illustrates the panoramic view for the user's left eye defined by a 360 0 panoramic view 610 provided by the first camera unit 120 and a panoramic view 620a provided by the image capturing device 130a. Fig. 6(d) illustrates the view for the user's right eye defined by a 360 0 panoramic view 610 provided by the first camera unit 120 and a panoramic view 620b provided by the image capturing device 130b. The second camera unit 130 is used for both views in the region it covers and the first camera unit 120 is used for the rest of the view. The panoramic views 620a and 620b are relative offset each other by a factor xi-x2.

Fig. 7 is a flowchart describing steps involved during the rendering when a user turns his/her head and how the video controller 200 causes the rendering to be performed during these steps.

S201: The user looks in one specific direction and the second camera unit 130 is in correct position for this direction. In response thereto the video controller 200 enables the output of the camera arrangement (110) to include images captured by the first camera unit 120 and the second camera unit 130. This causes the left eye to see a view from the first camera unit 120 and the l8 right eye to see a composition from the first camera unit 120 and the second camera unit 130.

S202: The head-tracking device detects start of movement of the user's head. In response thereto the video controller 200 obtains first input from the visual user interface device 140 indicating beginning of user movement; and in response thereto sets the output of the camera arrangement 110 to only include images captured by the first camera unit 120 as in steps S102 and S104. This causes the left eye to see a view from the first camera unit 120 and the right eye to see a composition from the first camera unit 120 and the second camera unit 130, where the contribution from the second camera unit 130 is smoothly faded out.

S203: The user's head is moving. In response thereto the video controller 200 keeps setting the output of the camera arrangement 110 to only include images captured by the first camera unit 120 as in step S104. This causes both eyes to see a view from only the first camera unit 120.

S204: The head-tracking device detects slowing down of movement of the user's head. In response thereto the video controller 200 keeps setting the output of the camera arrangement 110 to only include images captured by the first camera unit 120 as in step S104. This causes both eyes to see a view from only the first camera unit 120.

S205: The second camera unit 130 reached its correct position for the new direction. In response thereto the video controller 200 obtains second input from the visual user interface device 140 indicating stopping of the user movement; and in response thereto sets the output of the camera

arrangement 110 to include images at least captured by the second camera unit 130) as in steps S108 and S110. This causes the left eye to see a view from the first camera unit 120 and the right eye to see a composition from the first camera unit 120 and the second camera unit 130 where the contribution from the second camera unit 130 is smoothly faded in. Fig. 8 schematically illustrates, in terms of a number of functional units, the components of a video controller 200 according to an embodiment.

Processing circuitry 210 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 1010 (as in Fig. 10), e.g. in the form of a storage medium 230. The processing circuitry 210 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA). Particularly, the processing circuitry 210 is configured to cause the video controller 200 to perform a set of operations, or steps, S102-S122, as disclosed above. For example, the storage medium 230 may store the set of operations, and the processing circuitry 210 may be configured to retrieve the set of operations from the storage medium 230 to cause the video controller 200 to perform the set of operations. The set of operations may be provided as a set of executable instructions.

Thus the processing circuitry 210 is thereby arranged to execute methods as herein disclosed. The storage medium 230 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory. The video controller 200 may further comprise a communications interface 220 at least configured for communications with the camera arrangement 110 and the visual user interface device 140. As such the communications interface 220 may comprise one or more transmitters and receivers, comprising analogue and digital components. The processing circuitry 210 controls the general operation of the video controller 200 e.g. by sending data and control signals to the communications interface 220 and the storage medium 230, by receiving data and reports from the

communications interface 220, and by retrieving data and instructions from the storage medium 230. Other components, as well as the related

functionality, of the video controller 200 are omitted in order not to obscure the concepts presented herein. Fig. 9 schematically illustrates, in terms of a number of functional modules, the components of a video controller 200 according to an embodiment. The video controller 200 of Fig. 9 comprises a number of functional modules; an obtain module 210a configured to perform step S102, a set module 210b configured to perform step S104, an obtain module 2ioe configured to perform step S108, and a set module 2iof configured to perform step S110. The video controller 200 of Fig. 9 may further comprise a number of optional functional modules, such as any of an include module 210c configured to perform step Si04a, a steer module 2iod configured to perform step S106, an exclude module 2iog configured to perform step Snoa, a quantize module 2ioh configured to perform step S112, a stitch module 2101 configured to perform step S114, a combine module 2ioj configured to perform step S116, a provide module 210k configured to perform step S118, a provide module 210I configured to perform step S120, and a provide module 210m configured to perform step S122.

In general terms, each functional module 2ioa-2iom may in one

embodiment be implemented only in hardware and in another embodiment with the help of software, i.e., the latter embodiment having computer program instructions stored on the storage medium 230 which when run on the processing circuitry makes the video controller 200 perform the corresponding steps mentioned above in conjunction with Fig 9. It should also be mentioned that even though the modules correspond to parts of a computer program, they do not need to be separate modules therein, but the way in which they are implemented in software is dependent on the programming language used. Preferably, one or more or all functional modules 2ioa-2iom may be implemented by the processing circuitry 210, possibly in cooperation with the communications interface 220 and/or the storage medium 230. The processing circuitry 210 may thus be configured to from the storage medium 230 fetch instructions as provided by a functional module 2ioa-2iom and to execute these instructions, thereby performing any steps as disclosed herein. The video controller 200 may be provided as a standalone device or as a part of at least one further device. Thus, a first portion of the instructions performed by the video controller 200 may be executed in a first device, and a second portion of the of the instructions performed by the video controller 200 may be executed in a second device; the herein disclosed embodiments are not limited to any particular number of devices on which the instructions performed by the video controller 200 may be executed. Hence, the methods according to the herein disclosed embodiments are suitable to be performed by a video controller 200 residing in a cloud computational environment. Therefore, although a single processing circuitry 210 is illustrated in Fig. 8 the processing circuitry 210 may be distributed among a plurality of devices, or nodes. The same applies to the functional modules 2ioa-2iom of Fig. 9 and the computer program 1020 of Fig. 10 (see below).

Fig. 10 shows one example of a computer program product 1010 comprising computer readable storage medium 1030. On this computer readable storage medium 1030, a computer program 1020 can be stored, which computer program 1020 can cause the processing circuitry 210 and thereto operatively coupled entities and devices, such as the communications interface 220 and the storage medium 230, to execute methods according to embodiments described herein. The computer program 1020 and/or computer program product 1010 may thus provide means for performing any steps as herein disclosed.

In the example of Fig. 10, the computer program product 1010 is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 1010 could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 1020 is here schematically shown as a track on the depicted optical disk, the computer program 1020 can be stored in any way which is suitable for the computer program product 1010.

The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.