Producing viewport-dependent video frames
The integrated circuit in the camera system addresses the inefficiencies of immersive video processing by producing viewport-dependent frames, reducing computational and bandwidth needs, thus enabling higher resolution streaming.
Patent Information
- Application Number
- GB2024005700
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-26
- Filing Date
- 2024-04-23
- Publication Date
- 2025-04-09
AI Technical Summary
Producing immersive video frames requires high computational resources due to the processing and streaming of large amounts of image data, especially when only a portion of the wide-angle field of view is relevant to the user, leading to inefficiencies in bandwidth and processing power.
An integrated circuit within a camera system that processes raw sensor data to produce viewport-dependent video frames by controlling the spatial extent of image sensor exposure, stitching, and cropping based on viewport parameters, reducing the need to transmit and process full wide-angle field of view data.
This approach reduces computational load and bandwidth requirements by generating frames specific to the user's viewport, enabling higher resolution immersive video streaming with lower latency and improved efficiency.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNOLOGICAL FIELD Examples of the disclosure relate to producing viewport-dependent video frames. Some relate to an integrated circuit for producing the viewport-dependent video frames from raw sensor data. BACKGROUND Immersive video involves the capture of content from a wide-angled field of view. In some but not necessarily all case this may be a 360-degree field of view. The part of the immersive video content which is within a current viewport at a viewing device will be displayed to a user of that device. The user can pan around the immersive video and zoom in and out, providing an immersive experience. Producing immersive video involves processing and encoding large amounts of image data. Streaming immersive video involves transmitting large amounts of data. Computational requirements at both the camera and the viewing device are therefore high. BRIEF SUMMARY According to various, but not necessarily all, examples there is provided integrated circuit comprising: a first interface to one or more image sensors, the first interface configured to receive raw sensor data from the one or more image sensors; a second interface configured to receive a signal comprising one or more parameters of a viewport into a video stream at a viewing device; and circuitry configured to produce a viewport-dependent video frame from the raw sensor data in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, the circuitry configured to produce a viewport-dependent video frame from the raw sensor data in dependence on the one or more parameters of the viewport comprises: video acquisition circuitry configured to obtain and process the raw sensor data into a video frame for the video stream; and configuration circuitry configured to set one or more control parameters of the video acquisition circuitry in dependence on the one or more parameters of the viewport to control the video acquisition circuitry to produce a viewport-dependent video frame for the video stream. In some but not necessarily all examples, the integrated circuit is a custom logic circuit. In some but not necessarily all examples, the circuitry is configured to produce a viewport-dependent video frame from the raw sensor data at least in part by controlling a spatial extent of exposure of the one or more image sensors in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, the spatial extent of exposure is controlled individually for each of the one or more image sensors in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, controlling a spatial extent of exposure of the one or more image sensors in dependence on the one or more parameters of the viewport comprises causing partial exposure of at least one of the one or more image sensors. In some but not necessarily all examples, controlling a spatial extent of exposure of the one or more image sensors in dependence on the one or more parameters of the viewport comprises: selecting pixels of the one or more image sensors to expose in dependence on the one or more parameters of the viewport; and providing a control signal to the first interface to transmit to the to the one or more image sensors, the control signal configured to cause exposure of the selected pixels. In some but not necessarily all examples, the circuitry is configured to select pixels of the one or more image sensors to expose in dependence on one or more received parameters of the viewport indicative of a location and / or dimensions of the viewport within a total field of view of the video stream. In some but not necessarily all examples, the circuitry is configured to produce a viewport-dependent video frame from the raw sensor data at least in part by stitching image data in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, stitching image data in dependence on the one or more parameters of the viewport comprises: selecting image data to input to a stitching algorithm in dependence on the one or more parameters of the viewport; and stitching the selected image data according to the stitching algorithm. In some but not necessarily all examples, the circuitry is configured to: determine which image sensors have a field of view corresponding to part of the viewport, and select image data obtained from the determined image sensors for input to the stitching algorithm. In some but not necessarily all examples, the circuitry is configured to produce a viewport-dependent video frame from the raw sensor data at least in part by cropping image data in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, the circuitry is configured to control binning during pixel readout at the one or more image sensors in dependence on a received parameter of the viewport indicative of video resolution for the viewport. In some but not necessarily all examples, the circuitry is configured to encode the viewport-dependent video frame. In some but not necessarily all examples, the circuitry is configured to packetize the encoded viewport-dependent video frame for transmission to the viewing device. In some but not necessarily all examples, the circuitry is configured to: parse signals received via the second interface to determine parameters of multiple simultaneous and different viewports into the video stream at different viewing devices; produce different viewport-dependent video frames from the raw image data in dependence on respective parameters of the multiple simultaneous and different viewports. In some but not necessarily all examples, the circuitry is configured to: parse one or more signals received via the second interface to determine parameters of multiple simultaneous and different viewports into the video stream at different viewing devices; control a spatial extent of exposure of the one or more image sensors to acquire image data for video frames specific to respective ones of the multiple simultaneous and different viewports; and produce viewport-dependent video frames specific to respective ones of the multiple simultaneous and different viewports from the acquired image data. According to various, but not necessarily all, examples there is provided a camera comprising: the one or more image sensors; a communication interface to a video-viewing device configured to receive signals comprising one or more parameters of a viewport and to transmit viewport-dependent video frames; and the integrated circuit according to any of the proceeding statements. According to various, but not necessarily all, examples there is provided an apparatus comprising: means for receiving image data from one or more image sensors; means for receiving a signal comprising one or more parameters of a viewport into a video stream at a viewing device; means for controlling a spatial extent of exposure of the one or more image sensors in dependence on the one or more parameters of the viewport to acquire image data for a viewport-dependent video frame; and means for producing the viewport-dependent video frame from the acquired image data. In some but not necessarily all examples, the means for controlling a spatial extent of exposure of the one or more image sensors are configured to individually control the spatial extent of exposure for each of the one or more image sensors in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, the means for controlling a spatial extent of exposure of the one or more image sensors are configured to cause partial exposure of at least one of the one or more image sensors. In some but not necessarily all examples, the means for controlling a spatial extent of exposure of the one or more image sensors comprises: means for selecting pixels of the one or more image sensors to expose in dependence on the one or more parameters of the viewport; and means for outputting a control signal to the one or more images sensors to cause exposure of the selected pixels. In some but not necessarily all examples, the pixels are selected in dependence on one or more received parameters of the viewport indicative of a location and / or dimensions of the viewport within a total field of view of the video stream. In some but not necessarily all examples, the apparatus comprises: means for selecting image data from the acquired image data to input to a stitching algorithm in dependence on the one or more parameters of the viewport, wherein the means for producing a viewport-dependent video frame comprises means for stitching the selected image data. In some but not necessarily all examples, the selection from acquired image data is dependent on whether the acquired image data has been obtained from an image sensor having a field of view corresponding to part of the viewport. In some but not necessarily all examples, the means for producing the viewportdependent video frame from the acquired image data comprises means for cropping the acquired image data in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, the apparatus comprises means for controlling binning during pixel readout at the one or more image sensors in dependence on a received parameter of the viewport indicative of video resolution for the viewport. In some but not necessarily all examples, the apparatus comprises means for encoding the viewport-dependent video frame. In some but not necessarily all examples, the apparatus comprises means for packetizing the encoded viewport-dependent video frame for transmission to the viewing device. In some but not necessarily all examples, the apparatus comprises: means for parsing one or more signals received to determine parameters of multiple simultaneous and different viewports into the video stream at different viewing devices, and wherein in dependence on determining parameters of multiple simultaneous and different viewports: the means for controlling a spatial extent of exposure of the one or more image sensors are configured to acquire image data for video frames specific to respective ones of the multiple simultaneous and different viewports, and the means for producing the viewport-dependent video frame from the acquired image data are configured to produce viewport-dependent video frames specific to respective ones of the multiple simultaneous and different viewports In some but not necessarily all examples, the apparatus is an integrated circuit having an image sensor interface configured to receive raw sensor data from the one or more image sensors. According to various, but not necessarily all, examples there is provided camera comprising: the one or more image sensors; a communication interface to a video-viewing device configured to receive signals comprising one or more parameters of a viewport and to transmit viewport-dependent video frames; and the apparatus according to any of the preceding statements. According to various, but not necessarily all, examples there is provided a method comprising: receiving a signal comprising one or more parameters of a viewport into a video stream at a viewing device; controlling a spatial extent of exposure of one or more image sensors in dependence on the one or more parameters of the viewport to acquire image data for a viewportdependent video frame; and producing the viewport-dependent video frame from the acquired image data. According to various, but not necessarily all, examples there is provided a computer program I computer product I non-transitory computer readable medium I machine readable medium, comprising program instructions which when executed by an apparatus cause the apparatus to perform at least the following: receiving a signal comprising one or more parameters of a viewport into a video stream at a viewing device; controlling a spatial extent of exposure of one or more image sensors in dependence on the one or more parameters of the viewport to acquire image data for a viewportdependent video frame; and producing the viewport-dependent video frame from the acquired image data. According to various, but not necessarily all, examples there is provided an apparatus comprising: means for receiving image data from a plurality of image sensors; means for receiving a signal comprising one or more parameters of a viewport into a video stream at a viewing device; means for selecting image data to input to a stitching algorithm in dependence on the one or more parameters of the viewport; and means for producing a viewport-dependent video frame at least in part by stitching the selected image data according to the stitching algorithm. In some but not necessarily all examples, the means for selecting image data to input to a stitching algorithm comprises: means for determining which image sensors have a field of view corresponding to part of the viewport in dependence on the one or more parameters of the viewport; and means for selecting image data obtained from the determined image sensors for input to the stitching algorithm. In some but not necessarily all examples, the apparatus comprises means for cropping stitched image data in dependence on the one or more parameters of the viewport. In some but not necessarily all examples, the apparatus comprises means for controlling binning during pixel readout at the plurality of image sensors in dependence on a received parameter of the viewport indicative of video resolution for the viewport. In some but not necessarily all examples, the apparatus comprises means for encoding the viewport-dependent video frame. In some but not necessarily all examples, the apparatus comprises means for packetizing the encoded viewport-dependent video frame for transmission to the viewing device. In some but not necessarily all examples, the apparatus comprises: means for parsing received signals to determine parameters of multiple simultaneous and different viewports into video streams at different viewing devices, and wherein in dependence on determining parameters of multiple simultaneous and different viewports: the means for selecting image data to input to a stitching algorithm are configured to select different sets of image data to include in different video frames specific to respective ones of the multiple simultaneous and different viewports, and the means for producing the viewport-dependent video frame are configured to produce video frames specific to respective ones of the multiple simultaneous and different viewports at least in part by stitching the different sets of selected image data according to the stitching algorithm. According to various, but not necessarily all, examples there is provided a camera comprising: the plurality of image sensors comprising overlapping fields of view; a communication interface to a video-viewing device configured to receive signals comprising one or more parameters of a viewport and to transmit viewport-dependent video frames; and the apparatus according to any of the preceding statements. According to various, but not necessarily all, examples there is provided a method comprising: receiving image data from a plurality of image sensors; receiving a signal comprising one or more parameters of a viewport into a video stream at a viewing device; selecting image data to input to a stitching algorithm in dependence on the one or more parameters of the viewport; and producing a viewport-dependent video frame at least in part by stitching the selected image data. According to various, but not necessarily all, examples there is provided a computer program I computer product I non-transitory computer readable medium I machine readable medium, comprising program instructions which when executed by an apparatus cause the apparatus to perform at least the following: receiving image data from a plurality of image sensors; receiving a signal comprising one or more parameters of a viewport into a video stream at a viewing device; selecting image data to input to a stitching algorithm in dependence on the one or more parameters of the viewport; and producing a viewport-dependent video frame at least in part by stitching the selected image data. According to various, but not necessarily all, examples there is provided an apparatus comprising at least one processor; and at least one memory including computer program code; the at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform at least a part of one or more methods described herein. According to various, but not necessarily all, embodiments there is provided an apparatus comprising means for performing at least part of one or more methods described herein. The description of a function and / or action should additionally be considered to also disclose any means suitable for performing that function and / or action. Functions and / or actions described herein can be performed in any suitable way using any suitable method. According to various, but not necessarily all, embodiments there is provided examples as claimed in the appended claims. While the above examples of the disclosure and optional features are described separately, it is to be understood that their provision in all possible combinations and permutations is contained within the disclosure. It is to be understood that various examples of the disclosure can comprise any or all the features described in respect of other examples of the disclosure, and vice versa. Also, it is to be appreciated that any one or more or all the features, in any combination, may be implemented by / comprised in / performable by an apparatus, a method, and / or computer program instructions as desired, and as appropriate. The description of a function should additionally be considered to also disclose any means suitable for performing that function. BRIEF DESCRIPTION Some examples will now be described with reference to the accompanying drawings in which: FIG 1 shows an example of the subject matter described herein; FIG 2 shows another example of the subject matter described herein; FIG 3 shows another example of the subject matter described herein; FIG 4 shows another example of the subject matter described herein; FIG 5 shows another example of the subject matter described herein; FIG 6 shows another example of the subject matter described herein; FIG 7 shows another example of the subject matter described herein; FIGS 8A to 8C show other examples of the subject matter described herein; FIG 9 shows another example of the subject matter described herein; FIG 10 shows another example of the subject matter described herein; FIGS 11A and 11B show other examples of the subject matter described herein. The figures are not necessarily to scale. Certain features and views of the figures can be shown schematically or exaggerated in scale in the interest of clarity and conciseness. For example, the dimensions of some elements in the figures can be exaggerated relative to other elements to aid explication. Similar reference numerals are used in the figures to designate similar features. For clarity, all reference numerals are not necessarily displayed in all figures. DETAILED DESCRIPTION FIG 1 illustrates an example of a system comprising a camera 1 for video acquisition and a viewing device 11 for the video. The camera 1 is configured to stream video to the viewing device 11 using the communication interfaces 7 and 17 respectively of the camera 1 and viewing device 11. The communication interfaces 7 and 17 may provide wired or wireless communication. For example, they may comprise electrical contacts or antenna. The viewing device 11 may be user equipment such as a head mounted display, a handheld telephone, a laptop, or any other device capable of receiving a video stream and rendering it to a user of the viewing device 11. The camera 1 comprises one or more image sensors 5 configured to capture a wide field-of-view (FOV) compared to a display 13 of the viewing device 11. The one or more images sensors 5 may be, without limitation, fish-eye, panorama, or omnidirectional systems. The dimensions of the display 13 of the viewing device 11 do not correspond to the FOV covered by the one or more image sensors 5. Therefore, the viewing device 11 displays only a viewport into the video content which can be produced by the one or more image sensors 5. A viewport is an actively displayed region of the larger video content. Since the viewport can be updated in terms of size (zoom) and location (orientation) with respect to the video content, the streamed video content enables, for example, an immersive video stream. Though the streamed video content is consistently referred to herein as an immersive video stream, it will be appreciated that examples of the disclosure are not limited to immersive video streams and can be applied to any perspective (point-of-view)-mediated streamed video content, whether providing an immersive experience for the user or not The viewing device 11 comprises a user input interface, sensor, or other suitable means 15 by which to enable determination of parameters of the viewport, such as the size and location of the viewport with respect to the video content. Rather than cropping frames of streamed video to match the viewport, the viewing device 11 transmits a signal comprising one or more determined parameters of the viewport, hereinafter referred to as viewport parameters 19, to the camera and receives, in return, viewport-dependent video frames 9. Viewport-dependent video frames are specific to a particular definition of the viewport, in other words specific to a particular set of viewport parameters 19, such as size, location, and resolution. The terms viewport-dependent and viewport-specific may be used interchangeably. For a differently defined viewports, respective viewportdependent video frames 9 are different. For viewports which are different in the sense of being the viewports at different viewing devices but which have the same definition in terms of viewport parameters 19, respective viewport-dependent video frames 9 may be understood to be the same video frame. In some but not necessarily all examples, viewport-dependent video frames 9 are viewport-limited video frames. Viewport-limited video frames are video frames which have a spatial extent which is restricted compared to the immersive video stream. In some but not necessarily all examples, viewport-dependent video frames 9 are viewport-only video frames. Viewport-only video frames comprise only the video content which will be displayed at the viewing device 11. Transmitting viewport-dependant video frames 9 to the viewing device 11, rather than full wide-angle FOV video content to be cropped to the viewport at the viewing device 11, provides bandwidth savings. Processing, encoding, and packetizing full wide-angle FOV video content when most of the data will not be displayed at the viewing device 11 is also wasteful of computational power at the camera 1. This waste of computational power is a barrier to higher resolution immersive video streaming. Accordingly, by producing viewport dependent video frames 9 in-camera, the resultant computational power savings can make possible higher resolution immersive video streaming. As shown in FIG 1, the system enables dynamic viewport handling in real-time. Viewport parameters 19_1 characterising a viewport at a first time are sent to camera 1 which produces and returns a viewport-dependant video frame 9_1 specific to those viewport parameters 19_1. At a next time, the viewing device 11 re-determines its viewport parameters 19_2 and sends them to the camera 1 which produces and returns a viewport-dependent video frame 9_2 specific to those viewport parameters 19_2. The camera 1 comprises an integrated circuit 3 which is configured to produce the viewport-dependent video frames 9 from raw sensor data 27 from the one or more image sensors 5. An integrated circuit is a semiconductor device that combines multiple electronic components, such as transistors, resistors, and capacitors, into a single chip. Examples of integrated circuits include application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), programmable logic devices (PLD), and system on chips (SoC). In some but not necessarily all examples, the integrated circuit 3 comprised in the camera 1 is a custom logic circuit such as an ASIC, FPGA, or PLD. In some but not necessarily all of these examples, the custom logic circuit 3 is non-programable and has fixed functionality, for example an ASIC rather than a FPGA or a PLD. The integrated circuit 3 provides a hardware implementation for producing the viewport-dependent video frames 9 which is faster and more efficient than an implementation which requires software for operation. The low-latency performance achieved with hardware implementation makes the system suitable for real time immersive video streaming. FIG 2 illustrates an example of the integrated circuit 3. The integrated circuit 3 comprises a first interface 23 to the one or more image sensors 5. The first interface 23 is hereinafter referred to as the image sensor interface 23. The image sensor interface 23 is configured to receive raw sensor data 27 from the one or more image sensors 5. Raw sensor data 27 refers to image data received from the one or more image sensors 5 directly. This image data is the unprocessed output from the one or more image sensors 5. This does not exclude internal processing within the one or more image sensors 5. The raw sensor data 27 received by the image sensor interface 23 has not undergone stitching or cropping processes. The integrated circuit 3 comprises a second interface 25. The second interface 25 is hereinafter referred to as the viewport parameter input interface 25. The viewport parameter input interface 25 is configured to receive a signal comprising one or more viewport parameters 19, the viewport parameters 19 being parameters of a viewport into a video stream, for example an immersive video stream, at a viewing device 11. The integrated circuit 3 comprises circuitry 21 configured to produce a viewportdependent video frame 9 from the raw sensor data 27 in dependence on the one or more viewport parameters 19. In some but not necessarily all examples, the circuitry 21 is custom logic circuitry comprising dedicated logic configured to produce a viewport-dependant video frame 9 from raw sensor data 27 in dependence on one or more viewport parameters 19. The circuitry 21 is a hardware-only circuitry implementation such as implementation only in analog and / or digital hardware circuitry. The circuitry 21 may comprise a plurality of blocks of dedicated logic connected by dedicated hardwired data lines or buses, examples of which will be described with reference to FIGS 3 to 7. In some but not necessarily all examples, the circuitry 21 is configured to produce a viewport-dependent video frame 9 from the raw sensor data 27 at least in part by controlling a spatial extent of exposure of the one or more image sensors 5 in dependence on the one or more viewport parameters 19. Exposure here refers to the active readout of image sensor pixels. It does not refer to whether the image sensor pixels are exposed to light. Control of the spatial extent of exposure is described further in relation to the example of FIG 5. In some other examples, the circuitry 21 is configured to trigger exposure of the one or more image sensors 5 without controlling the spatial extent of that exposure. In such examples the circuitry 21 controls when raw sensor data 27 is obtained but does not control what raw sensor data 27 is obtained. In some but not necessarily all examples, the circuitry 21 is configured to produce a viewport-dependent video frame 9 from the raw sensor data 27 at least in part by stitching image data in dependence on the one or more viewport parameters 19. In some but not necessarily all examples, the raw sensor data 27 is processed by the circuitry 21 prior to stitching. Accordingly, the image data which undergoes stitching is produced by processing the raw sensor data 27. Stitching of image data is described further in relation to the example of FIG 6. In some but not necessarily all examples, the circuitry 21 is configured to produce a viewport-dependent video frame 9 from the raw sensor data 27 at least in part by cropping image data in dependence on the one or more viewport parameters 19. In some but not necessarily all examples, the raw sensor data 27 is processed by the circuitry 21 prior to cropping. For example, stitching may be performed prior to cropping. Accordingly, the image data which undergoes cropping is produced by processing the raw sensor data 27. Cropping of image data is described further in relation to the example of FIG 6. In some but not necessarily all examples, the circuitry 21 enable multiple immersive video streams. The circuitry 21 is configured to parse signals received via the viewport parameter input interface 25 to determine parameters 19 of multiple simultaneous and different (“parallel”) viewports for the immersive video stream at different viewing devices 11. The circuitry 21 is configured to produce different viewport-dependent video frames 9 from the raw image data 27 in dependence on respective parameters 19 of the parallel viewports. In some but not necessarily all examples, this involves controlling a spatial extent of exposure of the one or more image sensors 5 so as to obtain raw sensor data which can be processed into dependent video frames 9 specific to respective ones of the parallel viewports. In some but not necessarily all examples, this involves stitching different sets of image data together to produce directly, or by subsequent cropping, viewport-dependent video frames 9 specific to respective ones of the parallel viewports. FIG 3 illustrates an example of the circuitry 21. In this example, but not necessarily all examples, the circuitry 21 comprises video acquisition circuitry 33 and configuration circuitry 31. The video acquisition circuitry 33 is configured to obtain and process the raw sensor data 27 into a video frame for the immersive video stream. The video acquisition circuitry 33 is configured to obtain and process the raw sensor data 27 according to one or more control parameters 39 set by the configuration circuitry 31. The configuration circuitry 31 is configured to set one or more control parameters 39 of the video acquisition circuitry 33 in dependence on the of the one or more viewport parameters 19 to control the video acquisition circuitry 33 to produce a viewportdependent video frame 9 for the immersive video stream. In some but not necessarily all examples, the configuration circuitry 31 comprises a dedicated circuit or dedicated logic configured to set the one or more control parameters 39 of the video acquisition circuitry 33 in dependence on the one or more viewport parameters 19. In some but not necessarily all examples, the configuration circuitry 31 is permanently configured to set the one or more control parameters of the video acquisition circuitry 33 in dependence on the one or more viewport parameters 19. Permanently configured refers to this function of the configuration circuitry 31 lasting unchanged. The configuration circuitry 31 is not, therefore, a general-purpose processor which is only temporarily configured by software to perform this function. The configuration circuitry 31 may nevertheless in some but not necessarily all examples be permanently configured and reconfigurable, wherein this function of the configuration circuitry 31 lasts unchanged until the configuration circuitry 31 is reconfigured, as in the example of implementation in FPGA or PLD. It will be understood that, though the configuration circuitry 31 is permanently configured to set the one or more control parameters of the video acquisition circuitry 33 in dependence on the one or more viewport parameters 19, the one or more control parameters 39 of the video acquisition circuitry 33 are not set permanently; they change according to the one or more viewport parameters 19. In some but not necessarily all examples, the configuration circuitry 31 has one or more dedicated hardwired data lines or buses to the video acquisition circuitry 33. These are used to send at least the settings of the one or more control parameters 39 to the video acquisition circuitry 33. In some but not necessarily all examples, the video acquisition circuitry 33 comprises image sensor control circuitry 35 and image processing circuitry 37. A dedicated hardwired data line or bus may be provided from the configuration circuitry 31 to the image sensor control circuitry 35 and another dedicated hardwired data line or bus may be provided from the configuration circuitry 31 to the image processing circuitry 37. The image sensor control circuitry 35 is configured to control exposure of the one or more image sensors 5. By controlling the exposure of the one or more image sensors 5, raw sensor data 27 is obtained. The image sensor control circuitry 35 is configured to control exposure of the one or more image sensors 5 based on a control signal from the configuration circuitry 31. The control signal can comprise one or more first control parameters 39_1. The one or more first control parameters 39_1 are those control parameters 39 relevant for configuring the image sensor control circuitry 35. The one or more first control parameters 39_1 are set by the configuration circuitry 31 in dependence on the one or more viewport parameters 19. Accordingly, the raw sensor data 27 which is obtained in consequence is viewport-dependent. In some but not necessarily all examples, the one or more first control parameters 39_1 can relate to spatial extent of exposure. For example, the one or more first control parameters 39_1 can comprise one or more regions of interest (ROI) defined within reference frames of the image sensors 5, for example relative to physical pixels of individual image sensors 5. Said ROI may be set by the configuration circuitry 31 in dependence on one or more of the viewport parameters 19 which are indicative of a location and / or dimensions of the viewport within a total field of view of the immersive video stream, for example coordinates with respect to the total field of view of the immersive video stream, using a mapping between the field of view of each of the one or more image sensors 5 and the total field of view of the immersive video stream. The ROI may correspond to the spatial extent of the viewport only or to the viewport and a surrounding buffer zone, for example, to enable improved dynamic range processing of image data which will be within the viewport. Therefore, in some but not necessarily all examples, the image sensor control circuitry 35 is configured to control spatial extent of exposure of the one or more image sensors 5 according to the one or more first control parameters 39_1 set by the configuration circuitry 31 in dependence on the one or more viewport parameters 19. The image sensor control circuitry 35 is configured to output a control signal 29 to the one or more image sensors 5 via the image sensor interface 23 in order to control the spatial extent of exposure of the one or more image sensors 5. The one or more first control parameters 39_1 may also relate to pixel binning. The setting of a pixel binning parameter may be determined, by the configuration circuitry 31, in dependence on a received viewport parameter 19 indicative of the video resolution for the viewport. The pixel binning parameter may also be set to effect de binning during pixel readout to maintain resolution for an ROI when performing digital zoom. Therefore, in some but not necessarily all examples, the image sensor control circuitry 35 is configured to control binning during pixel readout at the one or more image sensors 5 according to the one or more first control parameters 39_1 set by the configuration circuitry 31 in dependence on the one or more viewport parameters 19. The control signal 29 output by the image sensor control circuitry 35 may control the binning. The one or more first control parameters 39_1 may also relate to duration of exposure. Therefore, in some but not necessarily all examples, the image sensor control circuitry 35 is configured to control duration of exposure of pixels of the one or more image sensors 5 according to the one or more first control parameters 39_1 set by the configuration circuitry 31 in dependence on the one or more viewport parameters 19. The control signal 29 output by the image sensor control circuitry 35 may control the duration of exposure. In some by not necessarily all examples, the image sensor control circuitry 35 is a dedicated circuit or dedicated logic configured to control the one or more image sensors 5 according to the one or more first control parameters 39_1. In some by not necessarily all examples, the image sensor control circuitry 35 is permanently configured to control the one or more image sensors 5 according to the one or more first control parameters 39_1, though this does not preclude reconfiguration as in the example of implementation in FPGA or PLD. Though the image sensor control circuitry 35 is permanently configured to perform the same function, the output of the image sensor control circuitry 35, being the control signal 29 to the one or more image sensors 5, is not unchanging; it changes in dependence on the one or more first control parameters 39_1. The image processing circuitry 37 is configured to process the obtained raw sensor data 27 into a viewport-dependent video frame 9 for the immersive video stream. The image processing circuitry 37 is configured to process the obtained raw sensor data 27 according to one or more second control parameters 39_2. The one or more second control parameters 39_2 are those control parameters 39 relevant for configuring the image processing circuitry 37. The one or more second control parameters 39_2 are set by the configuration circuitry 31. In some but not necessarily all examples, at least one second control parameter 39_2 is set by the configuration circuitry 31 in dependence on the one or more viewport parameters 19. In some but not necessarily all examples, the one or more second control parameters 39_2 can relate to stitching. In some but not necessarily all examples, the image processing circuitry 37 is configured to select image data to input to a stitching algorithm according to one or more second control parameters 39_2 set by the configuration circuitry 31 in dependence on the one or more viewport parameters 19. For example, at least one second control parameter may comprise identification of the image sensors 5 which are responsible for capturing parts of the ROI and / or definition of the ROI within reference frames of image sensors 5 or their output, for example relative to logical pixels of the image data from individual image sensors 5. In some but not necessarily all examples, the image processing circuitry 37 is configured to stitch the selected image data according to the stitching algorithm. The one or more second control parameters 39_2 may also comprise parameters for the stitching algorithm set by the configuration circuitry 31, though in some examples these may not be set in dependence on the one or more viewport parameters 19. The parameters for the stitching algorithm can relate to one or more of the following: overlapping region, calibration data, or logical versus physical pixel locations. In some but not necessarily all examples, the one or more second control parameters 39_2 can relate to cropping. In some but not necessarily all examples, the image processing circuitry 37 is configured to crop image data according to one or more second control parameters 39_2 set by the configuration circuitry 31 in dependence on the one or more viewport parameters 19. For example, the image processing 37 may be configured to crop image data according to the definition of the ROI. The image processing circuitry 37 may be configured to crop the image data to that ROI. In some but not necessarily all examples, the second control parameters 39_2 may also comprise control parameters which do not depend on the one or more viewport parameters 19. For example, image quality parameters such as white balance, sharpness, and high dynamic range. In some by not necessarily all examples, the image processing circuitry 37 is a dedicated circuit or dedicated logic configured to process the obtained raw sensor data 27 into a viewport-dependent video frame 9 according to the one or more second control parameters 39_2. In some by not necessarily all examples, the image processing circuitry 37 is permanently configured to process the obtained raw sensor data 27 into a viewportdependent video frame 9 according to the one or more second control parameters 39_2, though this does not preclude reconfiguration as in the example of implementation in FPGA or PLD. Though the image processing circuitry 37 is permanently configured to perform the same function, the output of the image processing circuitry 37, being the viewport-dependent video frame 9, is not unchanging; it changes in dependence on the settings of one or more second control parameters 39_2. FIG 4 illustrates an example of the configuration circuitry 31. In this example the configuration circuitry 31 is configured to parse incoming signals comprising one or more viewport parameters 19, set one or more control parameters 39 of the video acquisition circuitry 37, and trigger the video acquisition circuitry 37 to perform its configured operations using the settings of the control parameters 39. In this but not necessarily all examples, the configuration circuity 31 comprises parsing logic 41 configured to parse a signal received at the viewport parameter input interface 25 in order to read the one or more viewport parameters 19. In this but not necessarily all examples, the configuration circuitry 31 comprises a state machine 42 which receives the one or more viewport parameters 19 from the parsing logic 41. The state machine 42 has an idle state in which the configuration circuitry 31 is waiting for a signal to be received at the viewport parameter input interface 25. The state machine is configured to transition out of the idle state and into a control parameter update state in response to the receipt of one or more viewport parameters 19 from the parsing logic 41. In the control parameter update state, one or more viewport parameters 19 are passed to one or more control parameter setting logics 43-47 which are configured to determine settings of control parameters 39, 48 based on relevant one or more viewport parameters 19 and to update existing settings of the control parameters 39, 48 accordingly. The control parameter setting logics 43-47 can comprise registers to store the updated settings of control parameters 39, 48. If viewport parameters 19 in respect of parallel viewports are received, the one or more control parameter setting logics 43-47 are configured to determine parallel settings of the control parameters 39, 48 and to store these parallel settings. The control parameter settings logics can comprise: logic 43 configured to set one or more first control parameters 39_1 in dependence on one or more viewport parameters 19 passed to it; logic 44-46 configured to set one or more second control parameters 39_2 in dependence on the one or more viewport parameters 19 passed to it; and, optionally, logic 47 configured to set one or more control parameters 48 for encoding and packetizing of the viewport-dependent video frame 9, such as encoding format and transmission protocol. In some but not necessarily all examples, the logic 44-46 configured to set the one or more second control parameters 39_2 comprises at least one of the following: logic 44 configured to set one or more image quality parameters such as white balance, sharpness, and high dynamic range; logic 45 configured to set one or more parameters of a stitching algorithm such as overlapping region, calibration data, logical versus physical pixel locations; or logic 46 configured to set frame-forming parameters. Frame-forming parameters comprise those second control parameters 39_2 relating to stitching and cropping such as identification of the image sensors 5 which are responsible for capturing parts of the ROI and / or definition of the ROI within reference frames of image sensors 5 or their output, for example relative to logical pixels of the image data from individual image sensors 5. The state machine 42 is configured to transition from the control parameter update state into an image capture state in response to completion of the updating of settings of the control parameters 39, 48. In the image capture state, the configuration circuitry 31 is configured to send stored settings of the one or more first control parameters 39_1 to the image sensor control circuitry 35 and instruct exposure of the one or more image sensors 5 based on settings of these parameters 39_1. If parallel settings are stored for the one or more first control parameters 39_1, then parallel settings of the one or more first control parameters 39_1 are sent to the image sensor control circuitry 35 to ensure that exposure of the one or more image sensors 5 produces the raw sensor data required to produce viewport-dependent video frames 9 specific to respective ones of the parallel viewports. The state machine 42 is configured to transition from the image capture state into an image processing state in response to the availability of new raw sensor data 27. In the image processing state the configuration circuitry 31 is configured to send the stored settings of the one or more second control parameters 39_2 to the image processing circuitry 37 and instruct processing of the new raw sensor data 27 based on the settings of those parameters 39_2 to produce at least one viewport-dependent video frame 9 for the immersive video stream. If parallel settings are stored for the one or more second control parameters 39_2, then parallel settings of the one or more second control parameters 39_2 are sent to the image processing circuitry 37 to ensure that processing of the raw sensor data produces viewport-dependent video frames 9 specific to respective ones of the parallel viewports. Upon production of the viewport-dependent video frame 9, the state machine 42 may transition back into the idle state or, optionally, first transition into encoding and packetizing states using stored settings of control parameters 48 for encoding and packaging. FIG 5 illustrates an example of the image sensor control circuitry 35. In this example but not necessarily all examples, the image sensor control circuitry 35 comprises parsing logic 51 configured to parse a control signal received from the configuration circuitry 31 which comprises an instruction to trigger exposure of the one or more images sensors 5 and the one or more first control parameters 39_1 such as may relate to spatial extent of exposure, exposure duration, and pixel binning. In this example but not necessarily all examples, the parsing logic 51 is configured to pass the setting of the control parameter relating to spatial extent of exposure to ROI control logic 53. The ROI control logic 53 is configured to control the spatial extent of exposure. In some but not necessarily all examples, the ROI control logic 53 is configured to individually control the spatial extent of exposure for each of the one or more image sensors 5. The ROI control logic 53 may be configured to cause partial exposure of at least one of the one or more image sensors 5 if partial exposure is supported by the image sensor(s) 5 in question. During partial exposure only values of a subset of the total pixels contained in an image sensor are read out. In some but not necessarily all examples, the ROI control logic 53 is configured to select pixels of the one or more image sensors 5 to expose in dependence on the one or more first control parameters 39_1 and hence in dependence on the one or more viewport parameters 19. For example, the ROI control logic 53 may be configured to select pixels of the one or more image sensors 5 to expose in dependence on an ROI defined within the reference frame of the image sensors 5 based on one or more viewport parameters 19 indicative of a location and / or dimensions of the viewport within a total field of view of the immersive video stream. In this example but not necessarily all examples, the parsing logic 51 is configured to pass the setting of the control parameter relating to exposure duration to exposure control logic 55. The exposure control logic 55 may be configured to control the integration time for pixels of each image sensor 5 and may control when values of the pixels are read out. In this example but not necessarily all examples, the parsing logic 51 is configured to pass the setting of the control parameter relating to pixel binning to binning control logic 57. The binning control logic 57 is configured to control binning (including debinning) during pixel readout at the one or more image sensors 5. In this but not necessarily all examples, image sensor interface control logic 59 is configured to provide a control signal 29 to the image sensor interface 23 for the image sensor interface 23 to transmit to the one or more image sensors 5. The control signal 29 is configured to cause selective pixel readout at the one or more image sensors 5 according to the ROI control logic 53 with the integration time and binning according to the exposure control logic 55 and binning control logic 57 respectively. FIG 6 illustrates an example of the image processing circuitry 37. In this example but not necessarily all examples, the image processing circuitry 37 receives settings of image quality parameters 39_2A from the configuration circuitry 31 and uses these to configure image quality adjustment logic 61. Alternatively, the image quality adjustment logic 61 can be pre-programmed with image quality parameters and settings during an initial calibration process. The image quality adjustment logic 61 is configured to receive raw sensor data 27 from the one or more image sensors 5 and process this raw sensor data 27 according to the settings of the image quality parameters 39_2A. The onwards path for the resultant image data is controlled by processing path control logic 62 within the image processing circuitry 37 in dependence on whether or not stitching is needed to produce the viewport-dependent video frame 9. The processing path control logic 62 may be configured to determine whether or not stitching is needed using at least frame-forming parameters 39_2B set by and received from the configuration circuitry 31. In some but not necessarily all examples, the processing path control logic 62 may be configured to determine whether or not stitching is needed using the settings of parameters 39_2C of the stitching algorithm, such as overlapping region, calibration data, logical versus physical pixel locations. If stitching is needed, the image data is passed to image stitching logic 63. The image stitching logic 63 comprises a stitching algorithm and is configured to select image data to input to the stitching algorithm. The stitching algorithm is configured with settings of parameters 39_2C of the stitching algorithm, such as overlapping region, calibration data, logical versus physical pixel locations, by stitching control logic 64 within the image processing circuitry 37. Alternatively, the stitching algorithm can be pre-programmed with settings for overlapping region, calibration data, logical versus physical pixel locations during an initial calibration process. The selection of image data to input to the stitching algorithm is configured by the stitching control logic 64 in dependence on the frame-forming parameters 39_2B and therefore in dependence on the one or more viewport parameters 19. The stitching control logic 64 may determine which image sensors 5 have a FOV corresponding to part of the viewport. The stitching control logic 64 configures the image stitching logic 63 to select image data obtained from those image sensors 5 for input to the stitching algorithm. The image stitching logic 63 does not select image data from the image sensors 5 with FOV covering no part of the viewport for input to the stitching algorithm. Accordingly, the amount of stitching is reduced. The image data available for selection may be raw sensor data 27 or, if image quality adjustment logic 61 is provided, the image data output from the image quality adjustment logic 61. The image stitching logic 63 is configured to stitch to selected data according to the stitching algorithm. The further onwards path of the stitched image 68 is controlled according to cropping control logic 66. The cropping control logic 66 determines a crop area based on the definition of the ROI included in the frame-forming parameters 39_2B. If a crop area is set, the stitched image 68 is passed to the image cropping logic 65 for cropping into the viewport-dependent video frame 9. If no crop area is set, no cropping is required and the stitched image 68 provides the viewport-dependent video frame 9. In this example but not necessarily all examples the viewport-dependent video frame 9 from either the image stitching logic 63 or the image cropping logic 65 is passed to logic 67 configured to copy the result to RAM as shown in FIG 7. Although not illustrated in FIG 6, in some examples the image processing circuitry 37 may comprise logic implementing an upscaling algorithm for upscaling image data in dependence on a received viewport parameter indicative of video resolution for the viewport. It is possible to include extra image processing such as this because of computational power saved by, for example, the viewport-dependent spatial extent of exposure, the viewport-dependent stitching, and / or the viewport-dependent cropping. FIG 7 illustrates a further example of the integrated circuit 3. In this example they’re not necessarily all examples, in addition to the viewport parameter input interface 25, configuration circuitry 31, image sensor control circuitry 35, image sensor interface 23, and image processing circuitry 37, the integrated circuit 3 comprises ROM 71, RAM 73, encoding circuitry 75, and packetizing circuitry 77. The ROM 71 contains data used by the configuration circuitry 31 to set control parameters 39_1, 39_2 of at least the image sensor control circuitry 35 and the image processing circuitry 37. The RAM 73 is configured to store the viewport-dependent video frame 9 output from the image processing circuitry 37. The RAM 73 is optional and the viewport-dependent video frame 9 may be passed directly from the image processing circuitry 37 to the encoding circuitry 75. However, when multiple simultaneous immersive video streams are ongoing, the use of RAM 73 to store different viewport-dependent video frames 9 may make it simpler for the encoding circuitry 75 to encode the correct frames for the correct stream. In some examples the RAM 73 may be provided after the encoding circuitry 75 so that the encoded viewport-dependent video frames 9’ are stored in the RAM 73. The RAM 73 may also be provided if the integrated circuit 3 does not comprise encoding circuitry 75 and the camera 1 instead comprises a separate encoder for the immersive video stream(s). The encoding circuitry 75 is configured to encode the viewport-dependent video frame 9 to produce an encoded viewport-dependent video frame 9’. The encoding circuitry 75 is configured to compress the viewport-dependent video frame 9 according to an encoding format or video compression standard, for example AVC, HEVC, or VP8. The encoding format or video compression standard may be defined in the viewport parameters 19 received at the viewport parameter input interface 25 and the configuration circuitry 31 may control the encoding circuitry 75 to use that encoding format or video compression standard. The encoding circuitry 75 may also be configured to encrypt the viewport-dependent video frame 9 by encoding the viewportdependent video frame 9 with a cryptographic key. The packetizing circuitry 77 is configured to packetize the encoded viewportdependent video frame 9’ to produce an encoded and packetized viewport-dependent video frame 9” for transmission to the viewing device 11. The packetizing circuitry 77 is configured to packetized the encoded viewport-specific video frame 9’ according to a video streaming protocol, for example RTSP, RTMP, or SRT. The video streaming protocol may be defined in the viewport parameters 19 received at the viewport parameter input interface 25 and the configuration circuitry 31 may control the packetizing circuitry 77 to use that video streaming protocol. Encoded viewport-dependent video frame 9’ for parallel viewports with one or different resolutions can be packed into a single transmission frame. Encoded viewport-dependent video frame 9’ for parallel viewports with the same resolution can be interleaved. Some examples of producing viewport-dependent video frames 9 using forgoing examples of the integrated circuit 3 will now be described with reference to FIGS 8A toC. FIGS 8A to C illustrate the immersive video stream 81 in terms of an equirectangular projection of the image data 83_1-83_4 from four image sensors 5 with overlapping FOV. These four image sensors 5 provide a combined horizontal FOV of 360 degrees and a vertical FOV of 180 degrees. Each of the following examples provide improved latency performance over streaming the full 360-degree video content. For reference, with four image sensors 5, each comprising 2160 x 3840 pixels, the output size is 29.5 megapixels. The photon to RAM latency due to processing each the full output form each image sensor is -50 milliseconds and the RAM to output latency due to encoding and packetizing the full 360-degree video content is -200 milliseconds. A first example described with reference to FIG 8A assumes that each of the four image sensors 5 comprises 2160 x 3840 physical pixels, enabling an immersive video stream 81 of 7680 x 3840 logical pixels, assuming no pixel binning. In this first example, two viewports (represented by ROI 85 and ROI 87_1, 87_2 within the immersive video stream 81) are requested from the camera 1 by viewing devices 11. Both viewports have a horizontal FOV of 60 degrees and a vertical FOV of 45 degrees. The viewport parameters 19 received at the viewport parameter input interface 25 include location and size of the viewports with respect to the total field of view of the immersive video stream 81. For example, the first viewport is located at x = 2200 and y = 1350 and has a size of w(idth) = 960 and h(eight) = 640 and the second viewport is located at x = 6800 and y = 2400 and has a size of w = 960 and h = 640. The circuitry 21 determines that the first viewport corresponds to an ROI 85 which can be captured by a second of the four image sensors 5. The circuitry 21 determines that the second viewport corresponds to an ROI 87_1,87_2 which can be partially captured by the fourth image sensor and partially captured by the first image sensor. In dependence on this, the circuitry determines to expose the pixels of the first, second and fourth image sensors and controls the image sensors 5 accordingly to obtain raw sensor data 27 using a control signal 29 transmitted via the image sensor interface 23. The circuitry 21 determines that stitching is not needed in respect of image data obtained for the first viewport (image data 83_2 from the second image sensor). The circuitry 21 determines that stitching is needed in respect of image data obtained for the second viewport (image data 83_4 from the fourth image sensor and image data 83_1 from the first image sensor) and that the image data 83_4 from the fourth image sensor is to be stitched to the image data 83_1 from the first image sensor. The circuitry 21 determines that cropping is required in respect of the image data 83_2 obtained from the second image sensor to produce the first viewport-dependent video frame 9 for the first viewport. The image data 83_2 comprises 2160 x 3840 logical pixels. The circuitry 21 determines that the image data 83_2 should be cropped to the area: x = 280, y = 1350, w = 960, h = 640 within this reference frame. The circuitry 21 determines that cropping is required in respect of the stitched image data derived from the fourth and first image sensors to produce the second viewport-dependent video frame for the second viewport. The stitched image data comprises 3840 x 3840 logical pixels. The circuitry 21 determines that the stitched image data should be cropped to the area x = 1040, y = 2400, w = 960, h = 640 within this reference frame. The circuitry 21 processes the raw sensor data 27 received via the image sensor interface 23 using the determined stitching and cropping settings to produce the viewport-dependent video frames 9 for the first and second viewports. The total output size in this first example is 1.2 megapixels, comprising 614 kilopixels for the first viewport-dependent video frame and 614 kilopixels for the second viewportdependent video frame. The photon to RAM latency is ~3 milliseconds, with significant saving achieved by stitching only the image data 83_4 from the fourth image sensor to image data 83_1 from the first image sensor. The RAM to output latency is reduced to --12 milliseconds as the amount of data to encode and packetize is reduced. A second example described with reference to FIG 8B also assumes that each of the four image sensors 5 comprises 2160 x 3840 physical pixels, enabling an immersive video stream 81 of 7680 x 3840 logical pixels, assuming no pixel binning. However, in this second example, each of the four image sensors 5 support partial exposure. Two viewports (represented by ROI 85 and ROI 87 within the immersive video stream 81) having horizontal FOVs of 60 degrees and vertical FOVs of 45 degrees are requested from the camera 1 by viewing devices 11. The viewport parameters 19 received at the viewport parameter input interface 25 include location and size of the viewports with respect to the total field of view of the immersive video stream 81. For example, the first viewport is located at x = 2200 and y = 1350 and has a size of w = 960 and h = 640 and the second viewport is located at x = 4150 and y = 2400 and has a size of w = 960 and h = 640. The circuitry 21 determines that the first viewport corresponds to a ROI 85 which can be captured by the second image sensor and that the second viewport corresponds to a ROI 87 which can be captured by the third image sensor. The circuitry 21 determines that the ROI 85 corresponds to the FOV which can be captured by the area: x = 280, y = 1350, w = 960, h = 640 of physical pixels of the second image sensor. The circuitry 21 determines that the determines that the ROI 87 corresponds to the FOV which can be captured by the area: x = 310, y = 2400, w = 960, h = 640 of physical pixels in the third image sensor. In dependence on this, the circuitry 21 controls second and third image sensors so that only values of pixels within these areas are read out. The circuitry 21 determines that no stitching is needed. The circuitry 21 determines that no cropping is needed to produce the viewport-dependent video frames 9 because no raw senor data 27 which would fall outside of either of the viewports has been obtained. Alternatively, pixels in a buffer zone around the areas corresponding to ROIs 85, 87 may be read out and the circuitry 21 determines and performs cropping to reduce the image data to just that to be displayed in the viewports. The total output size in this second example is 1.2 megapixels, comprising 614 kilopixels for the first viewport-dependent video frame and 614 kilopixels for the second viewport-dependent video frame. The photon to RAM latency is ~1 milliseconds, with significant saving achieved because the need for stitching and cropping is removed by the controlling the spatial extent of exposure of the image sensors 5. The RAM to output latency is reduced to ~12 milliseconds as the amount of data to encode and packetize is reduced. A third example described with reference to FIG 8C assumes that each of the four image sensors 5 comprises 3024 x 5760 pixels, enabling an immersive video stream 81 of 11520 x 5760 pixels, which provides 12K resolution. The image sensors 5 support binning 2x2 pixels into one, enabling an immersive video stream 81 of 5760 x 2880 pixels, which provides 6K resolution. In this third example, two viewports (represented by ROI 85 and ROI 87 within the immersive video stream 81) are requested from the camera 1 by viewing devices 11. Both viewports have a horizontal FOV of 60 degrees and a vertical FOV of 45 degrees. However, the first viewport is requested with 6K resolution while the second viewport is requested with 12K resolution. The viewport parameters 19 received at the viewport parameter input interface 25 for each viewport include location and size of the viewport with respect to the total field of view of the immersive video stream 81 and also a parameter indicative of the video resolution of the immersive video stream 81. The viewport parameters 19 received for the first viewport indicate that it is at x = 1600 and y = 1350 and has a size of w = 960 and h = 640 within the immersive video steam 81 at 6K resolution. Accordingly, the circuitry 21 determines that the first viewport corresponds to a ROI 85 which can be captured by the second image sensor and that the ROI 85 corresponds to the FOV which can be captured by the area: x = 320, y = 2700, w = 1920, h = 1280 of physical pixels of the second image sensor. With 2x2 binning, this corresponds to the area: x = 160, y = 1350, w = 960, h = 640 of logical pixels in the 1512 x 2880 pixel reference frame of the image data 83_2 from the second image sensor. The circuitry 21 controls the second image sensor to readout pixel values and perform 2x2 binning during readout. The circuitry 21 crops the image data 83_2 obtained from the second image sensor to the determined ROI 85 to produce the first viewportdependent video frame for the first viewport. The viewport parameters 19 received for the second viewport indicate that it is located atx = 7500 and y = 2400 and has a sizeof w = 1920 and h = 1280 within the immersive video steam 81 at 12K resolution. Accordingly, the circuitry 21 determines that the second viewport corresponds to a ROI 87 which can be partially captured by the third image sensor and partially captured by the fourth image sensor. The circuitry 21 controls the third and fourth image sensor to readout pixel values without binning. The circuitry 21 determines that stitching is needed in respect of image data obtained for the second viewport and that the image data 83_3 from the third image sensor is to be stitched to the image data 83_4 from the fourth image sensor. The circuitry 21 inputs the image data 83_3 from the third image sensor and the image data 83_4 from the fourth image sensor into a stitching algorithm to produce stitched image data. The stitched image data comprises 5760 x 5760 logical pixels. The circuitry 21 determines that the ROI 87 corresponds to the area x = 1740, y = 2400, w = 1920, h = 1280 within this reference frame and crops the stitched image data to this area to produce the second viewport-dependent video frame for the second viewport. The total output size in this third example is 3.1 megapixels, comprising 614 kilopixels for the first viewport-dependent video frame and 2.5 megapixels for the second viewport-dependent video frame. The photon to RAM latency is ~6 milliseconds, with significant saving achieved by stitching only the image data 83_3 from the third image sensor to image data 83_4 from the fourth image sensor. The RAM to output latency is reduced to ~25 milliseconds as the amount of data to encode and packetize is reduced. Although in the foregoing, the production of viewport-dependent video frames 9 has been described using hardware circuitry alone, in other examples any suitable means may be used to perform the functions hereinbefore described as implemented by the integrated circuitry 3. Suitable means include implementations in software and implementations using combinations of hardware and software. For example, FIGS 9 and 10 illustrate examples of methods 91 and 101 respectively for producing viewport-dependent video frames 9 for low-latency, bandwidth-efficient immersive video streaming using any suitable means. The method 91 comprises, at block 93, receiving a signal comprising one or more parameters of a viewport (one or more viewport parameters 19) into a video stream, for example an immersive video stream, at a viewing device 11. At block 95, the method 91 comprises controlling a spatial extent of exposure of one or more image sensors 5 in dependence on the one or more viewport parameters 19 to acquire image data for a viewport-dependent video frame 9. In some but not necessarily all examples, the spatial extent of exposure is individually controlled for each of the one or more image sensors 5 in dependence on the one or more viewport parameters 19. Controlling the spatial extent of exposure of the one or more image sensors 5 can comprise causing partial exposure of at least one of the one or more image sensors 5, during which only values of a subset of the total pixels contained in that at least one image sensor 5 are read out. In some but not necessarily all examples, controlling the spatial extent of exposure of the one or more image sensors 5 comprises selecting pixels of the one or more image sensors 5 to expose in dependence on the one or more viewport parameters 19. For example, the pixels may be selected in dependence on received one or more viewport parameters 19 indicative of a location and / or dimensions of the viewport within a total field of view of the immersive video stream. To control the spatial extent of exposure of the one or more image sensors 5 a control signal 29 is output to the one or more images sensors 5 to cause exposure of the selected pixels. At block 97, the method 91 comprises producing the viewport-dependent video frame 9 from the acquired image data. In some but not necessarily all examples, producing the viewport-dependent video frame 9 from the acquired image data comprises selective stitching of the acquired image data. The method can comprise selecting image data from the acquired image data to input to a stitching algorithm in dependence on the one or more viewport parameters 19. For example, the selection from the acquired image data may be dependent on whether the acquired image data has been obtained from an image sensor 5 having a field of view corresponding to part of the viewport. In some but not necessarily all examples, producing the viewport-dependent video frame 9 from the acquired image data comprises cropping the acquired image data in dependence on the one or more viewport parameters 19. For example, the image data may be cropped to match the location and dimensions of the viewport within the immersive video stream. In some but not necessarily all examples, the method 91 may further comprise performing pixel binning in dependence on a received viewport parameter 19 indicative of video resolution for the viewport. The pixel binning may be performed during readout from the one or more image sensors 5 to reduce the amount of acquired image data or during processing of the acquired image data. In some but not necessarily all examples, the method 91 may further comprise encoding the viewport-dependent video frame 9. The encoding may be according to an encoding format or a video compression standard such as AVC, HEVC, or VP8. The encoding format or video compression standard may be indicated in the received viewport parameters 19. The encoding may additionally involve encoding the viewport-dependent video frame 9 with a cryptographic key. In some but not necessarily all examples, the method 91 may further comprise packetizing the encoded viewport-dependent video frame 9’ for transmission to the viewing device 11. The packetizing may be according to a video streaming protocol such as RTSP, RTMP, or SRT. The video streaming protocol may be indicated in the received viewport parameters 19. In some but not necessarily all examples, the method 91 is configured to enable multiple immersive video streams by producing viewport-dependent video frames 9 for simultaneous but different viewports. In such examples the method 91 comprises parsing signals received from the different viewing devices 11 to determine parameters 19 of multiple simultaneous and different viewports for the immersive video stream at the different viewing devices 11. In dependence on determining parameters 19 of multiple simultaneous and different viewports, the block 95 of the method 91 is adapted to controlling a spatial extent of exposure of the one or more image sensors 5 to acquire image data for video frames specific to respective ones of the multiple simultaneous and different viewports and block 97 of the method 91 is adapted to producing video frames 9 specific to respective ones of the multiple simultaneous and different viewports from the acquired image data. In examples which involve performing pixel binning, the method 91 limits pixel binning to image data which is acquired for a viewport of an immersive video stream using reduced video resolution. Pixel binning is not used for producing video frames 9 specific to other viewport(s) of immersive video stream(s) with full resolution. In some but not necessarily all examples which involve encoding the viewport-dependent video frames 9, the method 91 encodes viewport-dependent video frames 9 for different immersive video streams each according to the encoding format or video compression standard indicated by respective viewport parameters 19. In some but not necessarily all examples which involve packetizing the viewport dependent video frames 9, the method 91 packetizes viewport dependent video frames 9 for different immersive video streams each according to the video streaming protocol indicated by respective viewport parameters 19. The method 101 comprises, at block 103, receiving image data from a plurality of image sensors 5. Adjacent image sensors 5 have overlapping FOV which enables stitch of the image data read out from these sensors 5 into a wide-angled FOV image suitable for providing video frames of an immersive video stream. At block 105, the method 101 comprises receiving a signal comprising one or more parameters of a viewport (one or more viewport parameters 19) into a video stream, for example an immersive video stream, at a viewing device 11. At block 107, the method 101 comprises selecting image data to input to a stitching algorithm in dependence on the one or more viewport parameters 19. In some but not necessarily all examples, selecting image data to input to a stitching algorithm comprises determining which image sensors 5 have a field of view corresponding to part of the viewport in dependence on the one or more viewport parameters 19. Image data obtained from those image sensors 5 determined to have a field of view corresponding to part of the viewport is selected for input to the stitching algorithm. At block 109, the method 101 comprises producing a viewport-dependent video frame 9 at least in part by stitching the selected image data according to the stitching algorithm. In some but not necessarily all examples, the method 101 may further comprise cropping the stitched image data to produce the viewport-dependent video frame 9. The cropping of the stitched image data may be dependent on the one or more viewport parameters 19. For example, the stitched image data may be cropped to match the location and dimensions of the viewport within the immersive video stream. In some but not necessarily all examples, the method 101 may further comprise performing pixel binning in dependence on a received viewport parameter 19 indicative of video resolution for the viewport. The pixel binning may be performed during readout from the one or more image sensors 5 to reduce the amount of image data to select from or to stitch. In some but not necessarily all examples, the method 101 may further comprise encoding the viewport-dependent video frame 9. The encoding may be according to an encoding format or a video compression standard such as AVC, HEVC, or VP8. The encoding format or video compression standard may be indicated in the received viewport parameters 19. The encoding may additionally involve encoding the viewportdependent video frame 9 with a cryptographic key. In some but not necessarily all examples, the method 101 may further comprise packetizing the encoded viewport-dependent video frame 9’ for transmission to the viewing device 11. The packetizing may be according to a video streaming protocol such as RTSP, RTMP, or SRT. The video streaming protocol may be indicated in the received viewport parameters 19. In some but not necessarily all examples, the method 101 is configured to enable multiple immersive video streams by producing viewport-dependent video frames 9 for simultaneous but different viewports. In such examples the method 101 comprises parsing signals received from the different viewing devices 11 to determine parameters 19 of multiple simultaneous and different viewports for the immersive video stream at the different viewing devices 11. In dependence on determining parameters 19 of multiple simultaneous and different viewports, the block 107 of the method 101 is adapted to selecting different sets of image data to include in different video frames 9 specific to respective ones of the multiple simultaneous and different viewports and block 109 of the method 101 is adapted to producing video frames 9 specific to respective ones of the multiple simultaneous and different viewports at least in part by stitching the different sets of selected image data according to the stitching algorithm. In examples which involve performing pixel binning, the method 101 limits pixel binning to image data which is acquired for a viewport of an immersive video stream using reduced video resolution. Pixel binning is not used for producing video frames 9 specific to other viewport(s) of immersive video stream(s) with full resolution. In some but not necessarily all examples which involve encoding the viewport-dependent video frames 9, the method 101 encodes viewport-dependent video frames 9 for different immersive video streams each according to the encoding format or video compression standard indicated by respective viewport parameters 19. In some but not necessarily all examples which involve packetizing the viewport dependent video frames 9, the method 101 packetizes viewport dependent video frames 9 for different immersive video streams each according to the video streaming protocol indicated by respective viewport parameters 19. FIG 11A illustrates an example of a controller 111 suitable for use in an apparatus such as a camera 1. Implementation of a controller 111 may be as controller circuitry. The controller 111 may be implemented in hardware alone, have certain aspects in software including firmware alone or can be a combination of hardware and software (including firmware). As illustrated in FIG 11A the controller 111 may be implemented using instructions that enable hardware functionality, for example, by using executable instructions 117 in a general-purpose or special-purpose processor 113 that may be stored on a machine readable storage medium (disk, memory etc.) to be executed by such a processor 113. The processor 113 is configured to read from and write to the memory 115. The processor 113 may also comprise an output interface via which data and / or commands are output by the processor 113 and an input interface via which data and / or commands are input to the processor 113. The memory 115 stores instructions, program, or code 117 that controls the operation of the apparatus when loaded into the processor 113. The computer program instructions, program or code am 117, provide the logic and routines that enables the apparatus to perform the methods illustrated in the accompanying FIGS. The processor 113 by reading the memory 115 is configured to load and execute the instructions, program, or code 117. In some but not necessarily all examples, the apparatus (for example, camera 1) comprises: at least one processor 113; and at least one memory 115 storing instructions that, when executed by the at least one processor 113, cause the apparatus at least to: receive a signal comprising one or more parameters 19 of a viewport into a video stream at a viewing device 11; control a spatial extent of exposure of one or more image sensors 5 in dependence on the one or more parameters 19 of the viewport to acquire image data for a viewportdependent video frame 9; and produce the viewport-dependent video frame 9 from the acquired image data. In some but not necessarily all examples, the apparatus (for example, camera 1) comprises: at least one processor 113; and at least one memory 115 storing instructions that, when executed by the at least one processor 113, cause the apparatus at least to: receive image data from a plurality of image sensors 5; receive a signal comprising one or more parameters 19 of a viewport into a video stream at a viewing device 11; select image data to input to a stitching algorithm in dependence on the one or more parameters 19 of the viewport; and produce a viewport-dependent video frame 9 at least in part by stitching the selected image data. As illustrated in FIG 11B, the instructions, program, or code 117 may arrive at the apparatus via any suitable delivery mechanism 119. The delivery mechanism 119 may be, for example, a machine readable medium, a computer-readable medium, a non-transitory computer-readable storage medium, a computer program product, a memory device, a record medium such as a Compact Disc Read-Only Memory (CD-ROM) or a Digital Versatile Disc (DVD) or a solid-state memory, an article of manufacture that comprises or tangibly embodies the computer program 117. The delivery mechanism may be a signal configured to reliably transfer the computer program 117. The apparatus may propagate or transmit the computer program 117 as a computer data signal. The term “non-transitory” as used herein, is a limitation of the medium itself (i.e., tangible, not a signal ) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM). In some but not necessarily all examples, the computer program instructions are for causing an apparatus to perform at least the following or for performing at least the following: receiving a signal comprising one or more parameters 19 of a viewport into a video stream at a viewing device 11; controlling a spatial extent of exposure of one or more image sensors 5 in dependence on the one or more parameters 19 of the viewport to acquire image data for a viewportdependent video frame 9; and producing the viewport-dependent video frame 9 from the acquired image data. In some but not necessarily all examples, the computer program instructions are for causing an apparatus to perform at least the following or for performing at least the following: receiving image data from a plurality of image sensors 5; receiving a signal comprising one or more parameters 19 of a viewport into a video stream at a viewing device 11; selecting image data to input to a stitching algorithm in dependence on the one or more parameters 19 of the viewport; and producing a viewport-dependent video frame 9 at least in part by stitching the selected image data. The computer program instructions may be comprised in a computer program, a non-transitory computer readable medium, a computer program product, a machine readable medium. In some but not necessarily all examples, the computer program instructions may be distributed over more than one computer program. Although the memory 115 is illustrated as a single component / circuitry it may be implemented as one or more separate components / circuitry some or all of which may be integrated / removable and / or may provide permanent / semi-permanent / dynamic / cached storage. Although the processor 113 is illustrated as a single component / circuitry it may be implemented as one or more separate components / circuitry some or all of which may be integrated / removable. The processor 113 may be a single core or multi-core processor. References to ‘computer-readable storage medium’, ‘computer program product’, ‘tangibly embodied computer program’etc. ora ‘controller’, ‘computer’, ‘processor’ etc. should be understood to encompass not only computers having different architectures such as single / multi- processor architectures and sequential (Von Neumann) / parallel architectures but also specialized circuits such as field-programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other processing circuitry. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc. As used in the description of FIGS 11A and 11B, the term ‘circuitry’ may refer to one or more or all the following: (a) hardware-only circuitry implementations (such as implementations in only analog and / or digital circuitry) and (b) combinations of hardware circuits and software, such as (as applicable): i. a combination of analog and / or digital hardware circuit(s) with software / firmware and ii. any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory or memories that work together to cause an apparatus, such as a mobile phone or server, to perform various functions and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (for example, firmware) for operation, but the software may not be present when it is not needed for operation. This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example and if applicable to the claim element, a baseband integrated circuit for a mobile device or a similar integrated circuit in a server, a cellular network device, or other computing or network device. The blocks illustrated in the accompanying FIGS may represent steps in a method and / or sections of code in the computer program 117. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some blocks to be omitted. Where a structural feature has been described, it may be replaced by means for performing one or more of the functions of the structural feature whether that function or those functions are explicitly or implicitly described. The above-described examples find application as enabling components of: automotive systems; telecommunication systems; electronic systems including consumer electronic products; distributed computing systems; media systems for generating or rendering media content including audio, visual and audio visual content and mixed, mediated, virtual and / or augmented reality; personal systems including personal health systems or personal fitness systems; navigation systems; user interfaces also known as human machine interfaces; networks including cellular, non-cellular, and optical networks; ad-hoc networks; the internet; the internet of things; virtualized networks; and related software and services. The above-described examples can be implemented in an electronic device, for example, a mobile terminal, according to an example of the present disclosure. It should be understood, however, that a mobile terminal is merely illustrative of an electronic device that would benefit from examples of implementations of the present disclosure and, therefore, should not be taken to limit the scope of the present disclosure to the same. While in certain implementation examples, the apparatus can be provided in a mobile terminal, other types of electronic devices, such as, but not limited to: mobile communication devices, hand portable electronic devices, wearable computing devices, portable digital assistants (PDAs), pagers, mobile computers, desktop computers, televisions, gaming devices, laptop computers, cameras, video recorders, GPS devices and other types of electronic systems, can readily employ examples of the present disclosure. Furthermore, devices can readily employ examples of the present disclosure regardless of their intent to provide mobility. The term ‘comprise’ is used in this document with an inclusive not an exclusive meaning. That is any reference to X comprising Y indicates that X may comprise only one Y or may comprise more than one Y. If it is intended to use ‘comprise’ with an exclusive meaning then it will be made clear in the context by referring to ‘comprising only one...’ or by using ‘consisting.’ In this description, the wording ‘connect’, ‘couple’ and ‘communication’ and their derivatives mean operationally connected / coupled / in communication. It should be appreciated that any number or combination of intervening components can exist (including no intervening components), i.e., to provide direct or indirect connection / coupling / communication. Any such intervening components can include hardware and / or software components. As used herein, the term "determine / determining" (and grammatical variants thereof) can include, not least: calculating, computing, processing, deriving, measuring, investigating, identifying, looking up (for example, looking up in a table, a database, or another data structure), ascertaining and the like. Also, "determining" can include receiving (for example, receiving information), accessing (for example, accessing data in a memory), obtaining and the like. Also, "determine / determining" can include resolving, selecting, choosing, establishing, and the like. In this description, reference has been made to various examples. The description of features or functions in relation to an example indicates that those features or functions are present in that example. The use of the term ‘example’ or ‘for example’ or ‘can’ or ‘may’ in the text denotes, whether explicitly stated or not, that such features or functions are present in at least the described example, whether described as an example or not, and that they can be, but are not necessarily, present in some of or all other examples. Thus ‘example’, ‘for example’, ‘can’, or ‘may’ refers to a particular instance in a class of examples. A property of the instance can be a property of only that instance or a property of the class or a property of a sub-class of the class that includes some but not all the instances in the class. It is therefore implicitly disclosed that a feature described with reference to one example but not with reference to another example, can where possible be used in that other example as part of a working combination but does not necessarily have to be used in that other example. As used herein, “at least one of the following: ” and “at least one of ” and similar wording, where the list of two or more elements are joined by “and” or “or” mean at least any one of the elements, or at least any two or more of the elements, or at least all the elements. Although examples have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the claims. Features described in the preceding description may be used in combinations other than the combinations explicitly described above. Although functions have been described with reference to certain features, those functions may be performable by other features whether described or not. The description of a feature, such as an apparatus or a component of an apparatus, configured to perform a function, or for performing a function, should additionally be considered to also disclose a method of performing that function. For example, description of an apparatus configured to perform one or more actions, or for 45 performing one or more actions, should additionally be considered to disclose a method of performing those one or more actions with or without the apparatus. Although features have been described with reference to certain examples, those features may also be present in other examples whether described or not. The term ‘a’, ‘an’ or ‘the’ is used in this document with an inclusive not an exclusive meaning. That is any reference to X comprising a / an / the Y indicates that X may comprise only one Y or may comprise more than one Y unless the context clearly indicates the contrary. If it is intended to use ‘a’, ‘an’ or ‘the’ with an exclusive meaning then it will be made clear in the context. In some circumstances the use of ‘at least one’ or ‘one or more’ may be used to emphasis an inclusive meaning but the absence of these terms should not be taken to infer any exclusive meaning. The presence of a feature (or combination of features) in a claim is a reference to that feature or (combination of features) itself and to features that achieve substantially the same technical effect (equivalent features). The equivalent features include, for example, features that are variants and achieve substantially the same result in substantially the same way. The equivalent features include, for example, features that perform substantially the same function, in substantially the same way to achieve substantially the same result. In this description, reference has been made to various examples using adjectives or adjectival phrases to describe characteristics of the examples. Such a description of a characteristic in relation to an example indicates that the characteristic is present in some examples exactly as described and is present in other examples substantially as described. The above description describes some examples of the present disclosure however those of ordinary skill in the art will be aware of possible alternative structures and method features which offer equivalent functionality to the specific examples of such structures and features described herein above and which for the sake of brevity and clarity have been omitted from the above description. Nonetheless, the above description should be read as implicitly including reference to such alternative structures and method features which provide equivalent functionality unless such alternative structures or method features are explicitly excluded in the above description of the examples of the present disclosure. 5 Whilst endeavoring in the foregoing specification to draw attention to those features believed to be of importance the Applicant may seek protection via the claims in respect of any patentable feature or combination of features hereinbefore referred to and / or shown in the drawings whether or not emphasis has been placed thereon. 10 l / we claim: 15
Claims
1. An integrated circuit comprising:a first interface to one or more image sensors, the first interface configured to receive raw sensor data from the one or more image sensors;a second interface configured to receive a signal comprising one or more parameters of a viewport into a video stream at a viewing device; andcircuitry configured to produce a viewport-dependent video frame from the raw sensor data in dependence on the one or more parameters of the viewport.
2. The integrated circuit of claim 1 being a custom logic circuit.
3. The integrated circuit of any preceding claim, wherein the circuitry is configuredto produce a viewport-dependent video frame from the raw sensor data at least in part by controlling a spatial extent of exposure of the one or more image sensors in dependence on the one or more parameters of the viewport.
4. The integrated circuit of claim 3, wherein the spatial extent of exposure is controlled individually for each of the one or more image sensors in dependence on the one or more parameters of the viewport.
5. The integrated circuit of claim 3 or claim 4, wherein controlling a spatial extent of exposure of the one or more image sensors in dependence on the one or more parameters of the viewport comprises causing partial exposure of at least one of the one or more image sensors.
6. The integrated circuit of any of claims 3 to 5, wherein controlling a spatial extent of exposure of the one or more image sensors in dependence on the one or more parameters of the viewport comprises: selecting pixels of the one or more image sensors to expose in dependence on the one or more parameters of the viewport; and providing a control signal to the first interface to transmit to the to the one or more image sensors, the control signal configured to cause exposure of the selected pixels.
7. The integrated circuit of claim 6, wherein the circuitry is configured to select pixels of the one or more image sensors to expose in dependence on one or more received parameters of the viewport indicative of a location and / or dimensions of the viewport within a total field of view of the video stream.
8. The integrated circuit of any preceding claim, wherein the circuitry is configured to produce a viewport-dependent video frame from the raw sensor data at least in part by stitching image data in dependence on the one or more parameters of the viewport.
9. The integrated circuit of claim 8, wherein stitching image data in dependence on the one or more parameters of the viewport comprises: selecting image data to input to a stitching algorithm in dependence on the one or more parameters of the viewport; and stitching the selected image data according to the stitching algorithm.
10. The integrated circuit of claim 9, wherein the circuitry is configured to: determine which image sensors have a field of view corresponding to part of the viewport, and select image data obtained from the determined image sensors for input to the stitching algorithm.
11. The integrated circuit of any preceding claim, wherein the circuitry is configured to produce a viewport-dependent video frame from the raw sensor data at least in part by cropping image data in dependence on the one or more parameters of the viewport.
12. The integrated circuit of any preceding claim, wherein the circuitry is configured to control binning during pixel readout at the one or more image sensors in dependence on a received parameter of the viewport indicative of video resolution for the viewport.
13. The integrated circuit of any preceding claim, wherein the circuitry is configuredto encode the viewport-dependent video frame.
14. The integrated circuit of claim 13, wherein the circuitry is configured to packetize the encoded viewport-dependent video frame for transmission to the viewing device.
15. The integrated circuit of any preceding claim, wherein the circuitry is configuredto:parse signals received via the second interface to determine parameters of multiple simultaneous and different viewports into the video stream at different viewing devices;produce different viewport-dependent video frames from the raw image data in dependence on respective parameters of the multiple simultaneous and different viewports.
16. The integrated circuit of any preceding claim, wherein the circuitry configured to produce a viewport-dependent video frame from the raw sensor data in dependence on the one or more parameters of the viewport comprises:video acquisition circuitry configured to obtain and process the raw sensor data into a video frame for the video stream; andconfiguration circuitry configured to set one or more control parameters of the video acquisition circuitry in dependence on the one or more parameters of the viewport to control the video acquisition circuitry to produce a viewport-dependent video frame for the video stream.
17. A camera comprising:the one or more image sensors;a communication interface to a video-viewing device configured to receive signals comprising one or more parameters of a viewport and to transmit viewportdependent video frames; andthe integrated circuit as claimed in any preceding claim.
Citation Information
Patent Citations
Adjustable variable resolution inspection systems and methods
US20170023492A1
Preferred rendering of signalled regions-of-interest or viewports in virtual reality video
US20180176468A1
Viewport Dependent Delivery Methods For Omnidirectional Conversational Video
US20220021864A1
A Method, An Apparatus and a Computer Program Product for Video Encoding and Video Decoding
US20230012201A1
Method, an apparatus and a computer program product for video conferencing
US20230033063A1