CREATING A 2D VIDEO FROM A 360 VIDEO

The electronic processing system addresses the challenges of generating and distributing 2D videos from 360-degree content by aggregating area of interest information and selecting relevant video information, resulting in improved efficiency and viewing experience.

DE102018130085B4Active Publication Date: 2025-06-26INTEL CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
DE102018130085
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-12-29
Filing Date
2018-11-28
Publication Date
2025-06-26
Estimated Expiration
2038-11-28

AI Technical Summary

Technical Problem

Existing technologies face challenges in efficiently generating and distributing high-quality 2D videos from 360-degree video content, particularly in terms of compression efficiency, video quality, and computing resources.

Method used

An electronic processing system that aggregates area of interest information from multiple sources, selects relevant video information, and generates 2D videos based on this information, while also determining parameters for content consumers to decide between 360-degree and 2D video distribution.

Benefits of technology

This solution improves encoding and decoding efficiency, reduces bandwidth consumption, and enhances the viewing experience by generating high-quality 2D videos from 360-degree content, adaptable to various consumer devices and bandwidth conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000021_0000
    Figure 00000021_0000
  • Figure 00000021_0001
    Figure 00000021_0001
  • Figure 00000022_0000
    Figure 00000022_0000
Patent Text Reader

Abstract

Electronic processing system (10) comprising: a processor (11); a memory (12) communicatively coupled to the processor; and Logic (13) which is communicatively coupled to the processor for: Collecting (34) information of an area of ​​interest from content consumers, aggregating (31) the information of an area of ​​interest for an omnidirectional video content from two or more sources, Selecting (32) video information from the omnidirectional video content based on the aggregated information of the area of ​​interest, Generating (33) one or more two-dimensional videos based on the selected video information; and Clustering (35) the aggregated information of the area of ​​interest to select the video information from the omnidirectional video content, and when the aggregated information of the area of ​​interest is grouped into a plurality of clusters, generating a plurality of two-dimensional videos based on the selected video information.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELDEmbodiments relate generally to video systems. More particularly, embodiments relate to generating a two-dimensional (2D) video from a 360 video.BACKGROUNDIn a three hundred sixty (360) degree video, also known as 360 video, omni-directional video, panoramic video, immersive video, or spherical video, video recordings from multiple directions may be captured simultaneously using an omni-directional camera or a collection of cameras (e.g., covering a 360 degree range). In reproduction, the viewer may select a viewing direction or viewport for viewing from any of the available directions. In compression / decompression (codec) systems, compression efficiency, video quality, and computing efficiency may be important performance criteria. These criteria may also be an important factor in 360 video publishing and user experience in viewing such 360 video. WO 2017 / 205794 A1 describes a method and an apparatus for providing 360° videos with adaptive fields of view, in which a wireless communication unit receives an MPD XML file and selects a first face packaging layout from a set of face packaging layouts based on a first essential property element. Hou-Ning Hu, et al: "Deep 360 Pilot: Learning a Deep Agent for Piloting through 360° Sports Videos" describes a method for automatically selecting a viewing direction in a 360° Sports Video by means of an agent based on deep learning. The agent selects a viewing direction for a current image based on detected objects and a viewing direction selected in a previous image. US 2016 / 0301862 A1 describes a method for tracking an area of interest of users in an omnidirectional video by creating a heat map that indicates the areas of interest in the omnidirectional video, wherein a plurality of users have viewed the omnidirectional video and the areas of interest have been determined for each of the users. A two-dimensional video can be created on the basis of the created heatmap, for example, so that users who do not have access to a playback device for displaying the omnidirectional video can also view the video, at least for the specific area of interest. US 2017 / 0345205 A1 describes a method and an apparatus for outputting images, wherein the images are selected from image data on the basis of time and direction information, wherein the direction information is received by means of an interface.BRIEF DESCRIPTION OF THE DRAWINGSThe various advantages of the embodiments will become apparent to one skilled in the art upon reading the following specification and appended claims and with reference to the following drawings, in which: FIG. 1 is a block diagram of an example of an electronic processing system according to an embodiment; FIG. 2 is a block diagram of an example of a semiconductor package device according to an embodiment; FIGS. 3A to 3C are flowcharts of an example of a method for generating a video according to an embodiment; FIG. 4 is a block diagram of an example of a video generating apparatus according to an embodiment; FIG. 5 is a block diagram of an example of a distributed video environment, according to an embodiment; FIG. 6 is a flow diagram of an example of a method for data acquisition according to an embodiment; FIG. 7 is an illustrative diagram of an example of an omnidirectional video frame, according to an embodiment; FIG. 8 is a flow diagram of an example of a method for data acquisition according to an embodiment; FIG. 9 is a flow diagram of an example of a method for data acquisition according to an embodiment; and FIG. 10 is a block diagram of an example of a system including a navigation controller according to an embodiment; and FIG. 11 is a block diagram of an example of a system with a small form factor, according to an embodiment.DESCRIPTION OF THE EMBODIMENTSReferring now to FIG. 1, an embodiment of an electronic processing system 10 may include a processor 11, a memory 12 communicatively coupled to the processor 11, and logic 13 communicatively coupled to the processor 11 to aggregate area of interest information for omnidirectional video content (e.g., a 360 video) from two or more sources, select video information from the omnidirectional video content based on the aggregated area of interest information, and generate one or more 2D videos based on the selected video information. In some embodiments, logic 13 may be further configured to acquire area of interest information from a content creator and / or content consumer (e.g., crowd sourced information). In some embodiments, the logic 13 may be further configured to cluster the aggregated area-of-interest information to select the video information from the omnidirectional video content.The system 10 may select either the one or more 2D videos or the omni-directional video content for distribution to a content consumer. For example, the logic 13 may be further configured to determine one or more parameters related to a content consumer and select between the omni-directional video content and the one or more 2D videos for distribution to the content consumer based on the one or more determined parameters. In some embodiments, logic 13 may also be configured to monitor the one or more parameters related to the content consumer and transition between the omni-directional video content and the one or more 2D videos based on a change in the one or more parameters. The one or more parameters may include, for example, a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device. In some embodiments, machine learning may be applied to fine tune the parameters based on the history.Embodiments of each of the above processor 11, the above memory 12, the above logic 13, and other system components may be implemented in hardware, software, or any suitable combination thereof. For example, hardware implementations may include configurable logic such as, for example, programmable logic arrays (PLAs), field programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), or fixed-functionality logic hardware using technology such as, for example, application specific integrated circuit (ASIC), complementary metal oxide semiconductor (CMOS), or transistor-transistor logic (TTL) technology, or any combination thereof.Alternatively or additionally, all or portions of these components may be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium such as random access memory (RAM), read only memory (ROM), programmable ROM (PROM), firmware, flash memory, etc., such that they are executed by a processor or data processing device. Computer program code for carrying out the operations of the components may be written, for example, in any combination of one or more operating system (OS) applicable / suitable programming languages, including an object oriented programming language such as PYTHON, PERL, JAVA, SMALLTALK, C++, C#, or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The memory 12, persistent storage media, or other system memory may store, for example, a set of instructions that, when executed by the processor 11, cause the system 10 to implement one or more components, features, or aspects of the system 10 (e.g., the logic 13 that aggregates region of interest information for omnidirectional video content from two or more sources, selects video information from the omnidirectional video content based on the aggregated region of interest information, generates one or more 2D videos based on the selected video information, etc.).Referring now to FIG. 2, an embodiment of a semiconductor package device 20 may include one or more substrates 21 and logic 22 coupled to the one or more substrates, wherein the logic 22 is implemented at least in part in configurable logic and / or fixed-functionality hardware logic. The logic 22 coupled to the one or more substrates may be configured to aggregate area of interest information for omnidirectional video content from two or more sources, select video information from the omnidirectional video content based on the aggregated area of interest information, and generate one or more 2D videos based on the selected video information. In some embodiments, logic 22 may be further configured to acquire area of interest information from a content creator and / or content consumer (e.g., crowd sourced information). In some embodiments, the logic 22 may be further configured to cluster the aggregated area of interest information to select the video information from the omnidirectional video content. For example, the logic 22 may be further configured to determine one or more parameters related to a content consumer and select between the omni-directional video content and the one or more 2D videos for distribution to the content consumer based on the one or more determined parameters. In some embodiments, the logic 22 may also be configured to monitor the one or more parameters related to the content consumer and transition between the omni-directional video content and the one or more 2D videos based on a change in the one or more parameters. The one or more parameters may include, for example, a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device. In some embodiments, machine learning may be applied to fine tune the parameters based on the history.Embodiments of logic 22 and other components of device 20 may be implemented in hardware, software, or any combination thereof, including at least a partial implementation in hardware. For example, hardware implementations may include configurable logic such as, for example, PLAs, FPGAs, CPLDs, or fixed-functionality logic hardware using circuit technology such as, for example, ASIC, CMOS, or TTL technology, or any combination thereof. Additionally, portions of these components may be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., such that they are executed by a processor or computing device. Computer program code for carrying out the operations of the components may be written, for example, in any combination of one or more OS applicable / suitable programming languages, including an object oriented programming language such as PYTHON, PERL, JAVA, SMALLTALK, C++, C#, or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.Referring now to FIGS. 3A to 3C, an embodiment of a method 30 for generating a video may include aggregating region of interest information for omnidirectional video content from two or more sources at block 31, selecting video information from the omnidirectional video content based on the aggregated region of interest information at block 32, and generating one or more 2D videos based on the selected video information at block 33. Some embodiments of the method 30 may also include: acquiring region of interest information from a content creator and / or a content consumer at block 34 (e.g., crowd-sourced sourceing information). Some embodiments of the method 30 may also include clustering the aggregated area-of-interest information at block 35 to select the video information from the omnidirectional video content.Some embodiments of the method 30 may also include: determining at block 36 one or more parameters related to a content consumer; and selecting between the omni-directional video content and the one or more 2D videos at block 37 for distribution to the content consumer based on the one or more determined parameters. The method 30 may also include, for example, monitoring the one or more parameters relating to the content consumer at block 38 and switching between the omni-directional video content and the one or more 2D videos at block 39 based on a change in the one or more parameters. In some embodiments, at block 40, the one or more parameters may include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device. Some embodiments of the method 30 may also include distributing the omni-directional video content and / or the one or more 2D video at block 41. Some embodiments of the method 30 may also include applying machine learning to fine tune the parameters based on the history.Embodiments of the method 30 may be implemented in a system, apparatus, computer, apparatus, etc., such as, for example, those described herein. In particular, hardware implementations of method 30 may include configurable logic such as, for example, PLAs, FPGAs, CPLDs, or fixed-functionality logic hardware using circuit technology such as, for example, ASIC, CMOS, or TTL technology, or any combination thereof. Alternatively or additionally, the method 30 may be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium such as RAM, ROM, PROM, firmware, flash memory, etc., such that they are executed by a processor or computing device. Computer program code for carrying out the operations of the components may be written, for example, in any combination of one or more OSanwendbar / suitable programming languages, including an object oriented programming language such as PYTHON, PERL, JAVA, SMALLTALK, C++, C#, or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.For example, the method 30 may be implemented on a computer readable medium as described in connection with Examples 19-24 below. Embodiments or portions of the method 30 may be implemented in firmware, applications (e.g., through an application programming interface (API)), or driver software executing on an operating system (OS).Referring now to FIG. 4, some embodiments may be physically or logically arranged as one or more modules. An embodiment of a video generator device 44 may include, for example, a data capturer 45, a decision engine 46, a content generator 47, and a content distributor 48. The data capturer 45 may include technology for aggregating information of an area of interest for 360 video content from two or more sources. The data capturer 45 may include, for example, technology for capturing area of interest information from a content creator and / or content consumer (e.g., to obtain the area of interest information and / or point of interest information from two or more content consumers by crowd sourced sourced). With crowd sourced capability, the area of interest may be dynamically detected by the data detector 45 via multiple content consumers as well as multiple content creators to identify the best 2D parts. The decision engine 46 may include technology for selecting video information from the 360 video content based on the aggregated area-of-interest information from the data capturer 45. The decision engine may include, for example, technology for clustering the aggregated area-of-interest information to select the video information from the omnidirectional video content. In some embodiments, there may be a feedback mechanism between the content consumers and the decision engine 46 (e.g., either explicit or implicit based on a user response). The received feedback may provide an additional vector to the decision engine 46 to choose an appropriate region of interest for future content. The feedback may be effectively utilized, for example, for personalized 2D content generation for specific content consumers based on their past experience. The feedback mechanism may also enable a negotiation scheme capability between the content creator and the content consumer to identify a best area of interest. In some embodiments, the feedback mechanism may be policy controlled and / or configured.Content creator 47 may include technology for generating one or more 2D videos based on the selected video information from decision engine 46. The content generator 47 may also include technology for post-processing the 2D frame (e.g., correcting for distortion, etc.) and compressing the one or more 2D video (e.g., with a video encoder). The content distributor 48 may include technology for determining what type of content is to be distributed to a content consumer. For example, the content distributor 48 may include technology for determining one or more parameters related to the content consumer and selecting one of the 360 video content or the one or more 2D video for distribution to the content consumer based on the one or more determined parameters. In some embodiments, the content distributor 48 may also include technology for monitoring the one or more parameters related to the content consumer and dynamically switching between the 360 video content and the one or more 2D videos based on a change in the one or more parameters. In some embodiments, the parameters may be policy based and / or may be dynamically configurable. In some embodiments, machine learning may be applied to fine tune the parameters based on the history. The one or more parameters may include, for example, a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device. Some parameters may also be related to interactions between the content consumer and the content consumer. For example, a representation of the full 360 video may be shown in a small browser window and users may drag a viewport with a mouse around the small window to view different portions of the video. In some embodiments, content distributor 48 may also include technology for distributing 360 video content and / or the one or more 2D video.Embodiments of the data capturer 45, the decision engine 46, the content generator 47, the content distributor 48, and other components of the video generator device 44 may be implemented in hardware, software, or any combination thereof. For example, hardware implementations may include configurable logic such as, for example, PLAs, FPGAs, CPLDs, or fixed-functionality logic hardware using circuit technology such as, for example, ASIC, CMOS, or TTL technology, or any combination thereof. Additionally, portions of these components may be implemented in one or more modules as a set of logic instructions stored in a machine- or computer-readable storage medium, such as RAM, ROM, PROM, firmware, flash memory, etc., and to be executed by a processor or computing device. Computer program code for carrying out the operations of the components may be written, for example, in any combination of one or more OS-applicable / suitable programming languages, including an object-oriented programming language such as PYTHON, PERL, JAVA, SMALLTALK, C++, C#, or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.Some embodiments may advantageously provide technology for generating 2D versions of video from 360 video for decoding and / or streaming efficiency. 360 videos may be available from a variety of sources including YOUTUBE, FACEBOOK, etc. For example, a 360 video may refer to panoramic video or omnidirectional video, which may represent a 360 degree sphere through a 180 degree representation. Generally, a smaller viewport of the 360 video can be viewed by a viewer at a given time. The viewer can view such 360 videos with a head-mounted display (HMD) in which the viewer can move his head to select the viewport. The viewer may also view 360 videos on a traditional display as a 2D window into the 360 video and optionally scroll to viewport areas that are outside the screen using his mouse, touch screen, keyboard, etc.360 videos may impact performance of a decoder because a much larger area may be decoded than viewed, resulting in increased decoding time or requiring more efficient / powerful decoders. 360 videos may also affect streaming bandwidth (e.g., to stream the encoded 360 video) and / or hardware requirements (e.g., to transmit a transcoded subsection of a 360 frame to correspond to the user's view). As noted above, 360 videos are not always consumed in a 360 environment, such as an HMD. A significant proportion of users may occasionally view the 360 videos in browser applications where the viewpoint represented by the video player may be limited (e.g., with some other systems that use the same amount of compute / bandwidth resources as compared to encoding / decoding the 360 video for an HMD). Some 360 video formats may support metadata to add information of regions of interest (ROI) to the content. For example, the ROI metadata may allow a content creator to indicate what he is considering as the most interesting viewpoints in the video at a given time. Video playback devices may then select the metadata-based ROIs for the viewer (or otherwise indicate the content provider recommended ROIs for the viewer, for example).Some embodiments may advantageously generate 2D versions of 360 video using the area of interest information to generate 2D video and present the 2D video to viewers consuming the content on 2D displays. Some embodiments may advantageously improve encoder / decoder performance, streaming bandwidth, and / or hardware requirements for good viewing experience. For example, some embodiments may generate 2D content from a 360 format by effectively utilizing the available ROI information, thereby reducing bandwidth consumption as well as decoder cycles. Some embodiments may advantageously generate 2D videos for playback on 2D displays by extracting regions from 360 videos based on aggregating the information from other viewers.Some embodiments may include a data acquisition technology to acquire ROI information about a given 360 video content that may be obtained from the content creator and / or from multiple content consumers (e.g., based on the viewer's HMD information / inertial tracking information). Based on the acquired ROIs, clustering technology may be used to select relevant frames for 2D video from the given 360 content. Based on the content consumer needs / capability (e.g., 2D / 3D availability), a content distribution server may select the 2D and / or 360 video for distribution along with an appropriate codec bit rate for streaming. Some embodiments may be used for either offline coding and / or on-the-fly coding. For on-the-fly encoding, some embodiments may provide for dynamically switching between 2D and 360 formats based on multiple parameters, such as user needs, bandwidth availability, consumer change, etc. Some embodiments may be implemented on a server, media accelerator, or other cloud device that provides streaming media.Referring now to FIG. 5, an embodiment of a distributed video environment 50 may include one or more 360 video clients 51 that consume 360 video content 52. A data acquisition engine 53 may acquire information from the 360 video clients 51 and the 360 video content 52. The 360 video content 52 may include, for example, ROI metadata. The 360 video clients 51 may provide crowd sourced sourced points of interest to the data acquisition engine 53. The data acquisition engine 53 may then process the acquired information to provide viewport clusters to a decision engine 54. The decision engine 54 may use the information from the data acquisition engine 53 along with user feedback to select a frame centroid. A 360-to-2D converter 55 may receive the 360 video content 52 and generate a 2D video from the 360 video content 52 based on the selected frame centroid from the decision engine 54. For example, the 360-to-2D converter 55 may include a distortion engine 55 bcoupled between a decoder 55 aand an encoder 55 c. The 360-to-2D converter 55 may stream the 2D video to one or more 2D video clients 56. For example, the 2D video clients 56 may provide the user feedback to the decision engine 54. The user feedback may be explicit or implicit based on configuration / policies / etc.Examples of Data Acquisition EngineWhen viewing a 360 video, the user views only a portion of the 360 video, sometimes referred to as a viewport. For example, the user may manually select the viewport (e.g., with cursor keys, mouse movement, touch screen gestures such as swiping, etc.). With a headset properly configured, the user can select the viewport by moving his head or body (or with gestures or gaze tracking, for example). For example, gaze tracking may further identify points of interest within the viewport. Whatever way the user employs to select the viewport, the viewport information and / or points of interest information may then be communicated as ROI information to the content server to process the 360 video and display that viewport to the user. The 360 video frame information may be projected to any of a variety of 2D frame formats, including, for example, a fish eye format, an equirectangular projection (ERP) format, a truncated square pyramid (TSP) format, a cube map format, and a packed cube map format. For example, when 360 video content is presented to an HMD, head position / rotation information and / or gaze tracking information of the user may be transmitted back to the server such that the server may transmit the proper portion of the 360 frame to correspond to the gaze of the user.Some embodiments may support a data acquisition mode that may be enabled / disabled (e.g., by the user, an administrator, a content provider, a service provider, etc.). When data collection is enabled, the content server may anonymously track how 360 video is consumed in a 360 environment. The tracked information may include, for example, the viewpoint that the user is interested in at a given time. Some amount of smoothing may be applied by the data acquisition engine (e.g., or later in the process) to account for jitter in the head motion. The smoothing may be based on a history of the rotation data, a knowledge of the scene of the 360 video content, etc. For example, machine learning may help the smoothing elements customized for a specific content creator or content consumer. If available, additional data points may also be acquired using embedded ROI metadata in 360 video content for the most popular viewpoints, director viewpoints, etc. Additional weighting may be given to the ROI metadata by the decision engine, for example. An example of embedded ROI metadata is described in JCT VC (Joint Collaborative Team on Video Coding) document JCTVC-AA1005, entitled "HEVC Additional Supplemental Enhancement Information (Draft 2)", published on May 16, 2017.Referring now to FIG. 6, one embodiment of a method 60 for data acquisition may include a client requesting video at block 61 and determining whether the client 360 is enabled at block 62. If the client is not 360 enabled, no data acquisition is performed. If the client 360 is enabled, a data acquisition phase may be enabled at block 63. The method 60 may then obtain eye / head position / rotation information at block 64 and then perform smoothing and log the data for the data acquisition phase (e.g., if enabled) at block 65. If the data acquired for all times is less than or equal to a threshold at block 66, the method 60 may continue to offer 360 frames based on the head rotation at block 67 and may proceed back to block 64 until the video ends. If the data captured for all times is greater than the threshold at block 66, the method 60 may trigger a content generation phase at block 68 and then proceed to block 67 to continue offering the 360 frames until the video ends.Examples of the Decision EngineA decision engine may first determine when enough data has been captured by a sufficient number of users for a sufficient number of times in the 360 video to make further decisions about processing the 360 video and / or generating a 2D video from the 360 video. For example, the view data obtained by crowd sourced sourced for each time point in the video and the ROI data may be processed by the decision engine to determine the best midpoint for a 2D frame generated for that time point. In the absence of data points obtained by crowd sourced sourced (e.g., such as during the beginning of a data acquisition phase), ROI metadata may be used by the decision engine to determine the midpoint for a frame (e.g., along with user feedback information from one or more 2D clients). In some embodiments, the decision engine may output one or more midpoints for 2D video frames to be generated from the 360 video.Referring now to FIG. 7, an embodiment of a 360 video frame 71 may include a scene having a dragee fly 72 and a sunset 73. The content generator may include ROI metadata corresponding to the scene in the frame 71 indicating a first ROI 74 and a second ROI 75 (or the ROIs 74 and 75 may correspond to viewports / ROIs obtained by crowd sourced sourced, for example). The data acquisition engine may have measured crowd-sourced points of interest a- ein the first ROI 74 around the dragline 72 and crowd-sourced points of interest kin the second ROI 75 around the sunset 73. The view data per time point may be viewed, for example, as a scattergram of points all above the X-Y plane (or, e.g., X-Y-Z planes for 3D content). Some embodiments may group the points a through k into one or more clusters. When grouped, each cluster may be a possible candidate for a video frame for one of the generated 2D versions of 360 video. For example, multiple candidates for the same time point may result in multiple versions of the content. In some embodiments, the content server may provide a choice between the multiple versions for the content consumer or may automatically select one of the versions based on prior knowledge about the content consumer.In some embodiments, clustering may not be based solely on the view data. At some point in time, for example, most users may have viewed an interesting object at the edge of a view frame. Assuming that the view data is in the middle of a cluster (thus centering the generated frame at this point) may result in an incorrect frame appearance (e.g., since there may be a scene change beyond this point) and may cause the left and right halves of the frame to be non-coincident. To mitigate this, some embodiments may provide additional video analysis. For example, video analysis around a center of a candidate cluster may uncover the above-mentioned problem that may be alleviated using different options, such as dividing the candidate into two different candidate frames, selecting a different cluster center and / or panning from one frame to the next, or applying effects such as fade-in / fade-out to smooth the transition between frames.In some embodiments, the decision engine may also correct for jitter movements in the generated 2D video. Given the number of recommended viewports, for example, when determining the centroid of a frame, it may be possible that the centroid of a frame may not be aligned with the centroid of the next frame. This drift in the centroid of successive frames will possibly also accumulate over time. Over time, the drift can result in a blurred video for the end user. Advantageously, some embodiments of the decision engine may use temporal hysteresis to smooth the centroid selection of successive frames so that the resulting generated frames appear smoother when displayed. Additionally or alternatively, some embodiments of the decision engine may receive feedback about dither movements from the 2D clients consuming the generated 2D video and may apply this feedback to further refine the hysteresis and the generated video.Examples of 2D Video Content GenerationOnce the decision engine has determined one or more midpoints for a frame for a particular time stamp, it may pass this information to a 360-to-2D converter. The 360-to-2D converter may include a 360 video decoder, a 2D encoder, and a distortion engine to convert a 360 frame to a 2D frame. The 360-to-2D converter may take the raw 360 video as input and may output a decoded 2D frame for a particular time stamp based on the midpoint data received from the decision engine. Some embodiments may generate one or more 2D videos (e.g., based on different view cluster / center selections) from the 360 video. As noted above, 360 frames may be represented by various formats ranging from lossless (e.g., ERP) to lossy (e.g., TSP). Embodiments of the generated 2D video may be converted to a linear projection format or other suitable 2D video formats for better viewing on a 2D screen.Referring now to FIG. 8, an embodiment of a method 80 for generating 2D video content may include starting the content generation phase at a time t=0 at block 81. The method 80 may then include selecting candidate clusters of views for the time t at block 82, fine tuning clusters using video analysis at block 83, and queuing each candidate frame for the time t for one or more final versions at block 84. If the time t is not the last time at block 85, the method 80 may return to block 82. If the time t is the last time at block 85, the method 80 may proceed to encode the one or more 2D video with the selected frame queues at block 86.Examples of Content StreamingWhen the content server detects that a client does not have 360 viewing capability (such as a set-top box connected to a television), it may select one of the generated 2D videos to stream to the client, if available. The selection of which 2D version to play may be selected based on various methods including, for example, a user interface option presented to the client, automatically selecting based on knowledge of the client / user, detecting a view angle of the user using a mounted or built-in camera to track a user position with respect to the television or monitor, and offering 2D content that provides the best view angle. Some embodiments may advantageously provide degraded processing in that the 360 version does not need to be decoded. For example, even if the client device has minimal ability to view different portions of the 360 video (such as a browser with a mouse), some embodiments may select an alternative frame in a different 2D version of the 360 video instead of having to start decoding the 360 video. For example, the content creator may store enough metadata to map the 2D frames to the sub-sections of the 360 video. In the worst case, if there is no matching 2D version that can provide an alternative frame, then the content server may fall back on decoding the 360 video starting at the required time.Referring now to FIG. 9, an embodiment of a method 90 for streaming content may include a client requesting video content at block 91. The method 90 may determine whether the client prefers non-360 content at block 92, and if not, may offer the 360 version of the video content at block 93. If it is determined at block 92 that the client prefers (or is not 360 enabled, for example) non-360 content, the method 90 may determine whether 2D versions of 360 video content are available at block 94. If not, the method 90 may offer the 360 version at block 93. If a 2D version is available at block 94, the method 90 may further determine whether more than one version is available at block 95. If not, the method 90 may offer the available 2D version at block 96. Otherwise, at block 97, the method 90 may provide a version for offering (e.g., automatically or by user selection) and then offer the selected version at block 96.While the 360 version is offered at block 93, the method 90 may determine whether the client has triggered a change from 360 to 2D at block 98, and if so, the method 90 may proceed to select a 2D version at block 97 and offer the 2D version at block 96. Otherwise, the method 90 may continue to offer the 360 version at block 93. While the 2D version is offered at block 96, the method 90 may determine whether the client has triggered a transition from 2D to 360 at block 99, and if so, the method 90 may proceed to offer the 360 version at block 93. Otherwise, the method 90 may continue to offer the 2D version at block 96.FIG. 10 illustrates an embodiment of a system 700. In embodiments, system 700 may be a media system, although system 700 is not limited to this context. For example, the system 700 may be incorporated into a personal computer (PC), a laptop computer, an ultra-laptop computer, a tablet, a touchpad, a portable computer, a handheld computer, a palmtop computer, a personal digital assistant (PDA), a cellular telephone, a cellular telephone / PDA combination, a television, a smart device (e.g., a smart phone, a smart tablet or smart television), a mobile internet device (MID), a messaging device, a data communication device, and so forth.In embodiments, system 700 includes a platform 702 coupled to a display 720 that presents visual content. Platform 702 may receive video bitstream content from a content device, such as one or more content services devices 730, one or more content delivery devices 740, or other similar content sources. A navigation controller 750 comprising one or more navigation features may be used to interact with platform 702 and / or display 720, for example. Each of these components will be described in more detail below.In embodiments, platform 702 may include any combination of a chipset 705, processor 710, memory 712, storage 714, graphics subsystem 715, applications 716 and / or radio 718 (e.g., a network controller). Chipset 705 may provide inelecommunication between processor 710, memory 712, storage 714, graphics subsystem 715, applications 716 and / or radio 718. Chipset 705 may include, for example, a storage adapter (not shown) capable of providing interoperability with storage 714.Processor 710 may be implemented as a complex instruction set computer (CISC) or reduced instruction set computer (RISC) processors, x86 instruction set compatible processors, a multi-core or any other microprocessor or central processing unit (CPU). In embodiments, processor 710 may include one or more dual core processors, one or more dual core mobile processors, and so forth.The memory 712 may be implemented as a volatile memory device such as, but not limited to, random access memory (RAM), dynamic random access memory (DRAM), or static RAM (SRAM).The storage 714 may be implemented as a non-volatile storage device, such as, but not limited to, a magnetic disk drive, an optical disk drive, a tape drive, an internal storage device, an attached storage device, a flash memory, a battery backup SDRAM (synchronous DRAM), and / or a network-accessible storage device. In embodiments, storage 714 may include technology to increase enhanced storage performance protection for valuable digital media when multiple hard drives are included, for example.Graphics subsystem 715 may perform processing of images, such as still images or video, for display. The graphics subsystem 715 may be, for example, a graphics processing unit (GPU) or a visual processing unit (VPU). An analog or digital interface may be used to communicatively couple the graphics subsystem 715 and the display 720. The interface may be, for example, any of high-definition multimedia interface (HDMI), display port, wireless HDMI, and / or wireless HDkonform techniques. Graphics subsystem 715 could be integrated with processor 710 or chipset 705. Graphics subsystem 715 could be an independent card communicatively coupled to chipset 705. In one example, graphics subsystem 715 includes a noise reduction subsystem as described herein.The graphics and / or video processing techniques described herein may be implemented in various hardware architectures. Graphics and / or video functionality may be integrated within a chipset, for example. Alternatively, a discrete graphics and / or video processor may be used. As yet another embodiment, the graphics and / or video functions may be implemented by a general purpose processor, including a multi-core processor. In a further embodiment, the functions can be implemented in a consumer electronics device.The radio 780 may be a network controller including one or more radio devices capable of transmitting and receiving signals using various suitable wireless communication techniques. Such techniques may include communications over one or more wireless networks. Example wireless networks include (but are not limited to) wireless local area networks (WLANs), wireless personal area networks (WPANs), wireless metropolitan area networks (WMANs), cellular networks, and satellite networks. In communicating over such networks, the radio 718 may operate in accordance with one or more valid standards in any version.In embodiments, the display 720 may comprise any television-type monitor or display. The display 720 may include, for example, a computer display screen, a touch screen display, a video monitor, a television-type device, and / or a television. The display 720 may be digital and / or analog. In embodiments, the display 720 may be a holographic display. Additionally, the display 720 may be a transparent surface that can receive a visual projection. Such projections may convey various forms of information, images, and / or objects. Such projections may be, for example, a visual overlay for a mobile augmented reality (MAR) application. Under the control of one or more software applications 716, platform 702 may display a user interface 722 on display 720.In embodiments, one or more content services devices 730 may be hosted by any national, international, and / or independent service, and thus accessible to platform 702 via, for example, the Internet. The one or more content services devices 730 may be coupled to the platform 702 and / or the display 720. Platform 702 and / or one or more content services devices 730 may be coupled to a network 760 to communicate (e.g., send and / or receive) media information to and from network 760. The one or more content delivery devices 740 may also be coupled to the platform 702 and / or the display 720.In embodiments, the one or more content services devices 730 may include a cable television box, a personal computer, a network, a telephone, Internet enabled devices, or an Internet enabled device capable of providing digital information and / or digital content, and any other similar device capable of communicating content unidirectionally or bidirectionally between content providers and platform 702 and / or display 720 via network 760 or directly. It should be appreciated that the content may be communicated unidirectionally and / or bidirectionally to and from any of the components in system 700 and a content provider via network 760. Examples of the content may include any media information including, for example, video, music, medical information, and gaming information, and so forth.The one or more content services 730 receive content, such as a cable television program including media information, digital information, and / or other content. Examples of content providers may include any cable or satellite television or radio or internet content providers. The examples provided are not intended to limit embodiments.In embodiments, platform 702 may receive control signals from a navigation controller 750 having one or more navigation features. The navigation features of the controller 750 may be used to interact with the user interface 722, for example. In embodiments, navigation controller 750 may be a pointing device, which may be a computer hardware component (specifically a human interface device) that allows a user to input spatial (e.g., continuous and multi-dimensional) data to a computer. Many systems, such as graphical user interfaces (GUI), and televisions and monitors, allow the user to control the computer or television using physical gestures and provide data to them.Movements of the navigation features of the controller 750 may be rendered on a display (e.g., the display 720) by movements of a pointer, cursor, focus ring, or other visual indicators displayed on the display. Under the control of, for example, software applications 716, the navigation features residing on navigation controller 750 may be mapped, for example, to virtual navigation features displayed on user interface 722. In embodiments, the controller 750 may not be a separate component, but is integrated into the platform 702 and / or the display 720. Embodiments are not, however, limited to the elements or context illustrated or described herein.In embodiments, drivers (not shown) may include technology to enable users to immediately turn platform 702 on and off, such as a television, with touching a key after, for example, an initial power-up when activated. Program logic may allow platform 702 to stream content to media adapters or one or more other content services devices 730 or one or more content delivery devices 740 when the platform is turned "off.". Additionally, chipset 705 may include, for example, hardware and / or software support for 5.1 surround sound audio and / or high definition 7.1 surround sound audio. Drivers may include a graphics driver for integrated graphics platforms. In embodiments, the graphics driver may include a Peripheral Component Interconnect (PCI) Express graphics card.In various embodiments, any one or more of the components illustrated in system 700 may be integrated. For example, platform 702 and one or more content services 730 may be integrated, or platform 702 and one or more content suppliers 740 may be integrated, or platform 702, one or more content services 730, and one or more content suppliers 740 may be integrated, for example. In various embodiments, platform 702 and display 720 may be an integrated unit. The display 720 and the one or more content services devices 730 may be integrated, or the display 720 and the one or more content delivery devices 740 may be integrated, for example. These examples are not intended to limit the embodiments.In various embodiments, the system 700 may be implemented as a wireless system, a wired system, or a combination of both. When implemented as a wireless system, system 700 may include components and interfaces suitable for communication over wireless shared media, such as one or more antennas, transmitters, receivers, transceivers, amplifiers, filters, control logic, and so forth. An example of wireless shared media may include portions of a wireless spectrum, such as the RF spectrum, and so forth. When implemented as a wired system, system 700 may include components and interfaces suitable for communication over wired communication media, such as input / output (I / O) adapters, physical connectors to connect the I / O adapter to a corresponding wired communication medium, a network interface card (NIC), a disk controller, a video controller, an audio controller, and so forth. Examples of wired communication media may include a wire, a cable, metal lines, a printed circuit board (PCB), a backplane, a switch fabric, a semiconductor material, a twisted pair wire, a coaxial cable, fiber optics, and so forth.Platform 702 may establish one or more logical or physical channels for communicating information. The information may include media information and control information. Media information may refer to any data representing content intended for a user. Examples of content may include, for example, data of a conversation, a video conference, a streaming video, an electronic mail ("email") message, a voice mail message, alphanumeric symbols, graphics, an image, video, text, and so forth. Data of a conversation may be, for example, voice information, silence periods, background sounds, comfort sounds, sounds, and so forth. Control information may refer to any data representing instructions, commands, or control words intended for an automated system. Control information may be used, for example, to route media information through a system or to instruct a node to process the media information in a predetermined manner. However, the embodiments are not limited to the elements shown or described in FIG. 10 or the relationship shown or described in FIG. 10.As described above, the system 700 may be implemented in different physical styles or form factors. FIG. 11 illustrates embodiments of a small form factor device 800 in which the system 700 may be implemented. In embodiments, device 800 may be implemented, for example, as a mobile computing device having wireless capabilities. A mobile computing device may refer to any device that includes, for example, a processing system and a mobile power source or supply, such as one or more batteries.As described above, examples of a mobile computing device may include a personal computer (PC), a laptop computer, an ultra-laptop computer, a tablet, a touchpad, a portable computer, a handheld computer, a palmtop computer, a personal digital assistant (PDA), a cellular telephone, a cellular telephone / PDA combination, a television, a smart device (e.g., a smart phone, a smart tablet, or a smart television), a mobile internet device (MID), a messaging device, a data communication device, and so forth.Examples of a mobile computing device may also include computers configured to be worn by a person, such as a wrist computer, a finger computer, a ring computer, a glasses computer, a belt clip computer, a bracelet computer, shoe computers, apparel computers, and other wearable computers. In embodiments, a mobile computing device may be implemented, for example, as a smartphone capable of executing computer applications as well as voice communications and / or data communications. Although some embodiments are described with a mobile computing device, illustratively implemented as a smartphone, it should be appreciated that other embodiments may also be implemented using other wireless mobile computing devices. The embodiments are not limited in this context.As shown in FIG. 11, device 800 may include a housing 802, a display 804, an input / output (I / O) device 806, and an antenna 808. The device 800 may also include navigation features 812. The display 804 may include any suitable display unit for displaying information suitable for a mobile computing device. The I / O device 806 may include any suitable I / O device for inputting information to a mobile computing device. Examples of the I / O device 806 may include an alphanumeric keyboard, a numeric keypad, a touchpad, input keys, keys, switches, toggle switches, microphones, speakers, voice recognition device and software, and so forth. Information may also be input to the device 800 by a microphone. Such information can be digitized by a speech recognizer. The embodiments are not limited in this context.According to some embodiments, system 700 and / or apparatus 800 may include technology for generating 2D video from 360 video content as described herein. In particular, system 700 and / or apparatus 800 may include one or more aspects of the examples below.Additional Notes and Examples:Example 1 may include an electronic processing system comprising a processor, a memory communicatively coupled to the processor, and logic communicatively coupled to the processor to aggregate area of interest information for omnidirectional video content from two or more sources, select video information from the omnidirectional video content based on the aggregated area of interest information, and generate one or more two-dimensional videos based on the selected video information.Example 2 may include the system of example 1, wherein the logic is further configured to acquire information of an area of interest from a content creator and / or content consumer.Example 3 may include the system of example 1, wherein the logic is further configured to cluster the aggregated area of interest information to select the video information from the omnidirectional video content.Example 4 may include the system of any of Examples 1 to 3, wherein the logic is further configured to determine one or more parameters related to a content consumer and to select between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.Example 5 may include the system of example 4, wherein the logic is further configured to monitor the one or more parameters related to the content consumer and to transition between the omni-directional video content and the one or more two-dimensional video based on a change in the one or more parameters.Example 6 may include the system of any of Example 5, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer and / or a consumer capability and / or bandwidth availability and / or a consumer change and / or a view angle between a content consumer and a content consumer.Example 7 may include a semiconductor package device comprising one or more substrates and logic coupled to the one or more substrates, the logic implemented at least in part in configurable logic and / or fixed-functionality hardware logic, the logic coupled to the one or more substrates configured to aggregate region of interest information for omnidirectional video content from two or more sources, select video information from the omnidirectional video content based on the aggregated region of interest information, and generate one or more two-dimensional videos based on the selected video information.Example 8 may include the apparatus of example 7, wherein the logic is further configured to acquire information of an area of interest from a content creator and / or content consumer.Example 9 may include the apparatus of example 7, wherein the logic is further configured to cluster the aggregated area of interest information to select the video information from the omnidirectional video content.Example 10 may include the apparatus of any of Examples 7 to 9, wherein the logic is further configured to determine one or more parameters related to a content consumer and to select between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.Example 11 may include the apparatus of example 10, wherein the logic is further configured to monitor the one or more parameters related to the content consumer and to transition between the omni-directional video content and between the one or more two-dimensional video based on a change in the one or more parameters.Example 12 may include the apparatus of example 11, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer and / or a consumer capability and / or bandwidth availability and / or a consumer change and / or a view angle between a content consumer and a content consumer.Example 13 may include a method for generating video, comprising aggregating area of interest information for omnidirectional video content from two or more sources, selecting video information from the omnidirectional video content based on the aggregated area of interest information, and generating one or more two-dimensional videos based on the selected video information.Example 14 may include the method of example 13, further comprising acquiring information of an area of interest from a content creator and / or content consumer.Example 15 may include the method of example 13, further comprising clustering the aggregated area of interest information to select the video information from the omnidirectional video content.Example 16 may include the method of any of Examples 13 to 15, further comprising determining one or more parameters related to a content consumer, and selecting between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.Example 17 may include the method of example 16, further comprising monitoring the one or more parameters related to the content consumer and switching between the omni-directional video content and the one or more two-dimensional videos based on a change in the one or more parameters.Example 18 may include the method of example 17, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer deviceExample 19 may include at least one computer readable medium comprising a set of instructions that, when executed by a computing device, cause the computing device to aggregate area of interest information for omnidirectional video content from two or more sources, select video information from the omnidirectional video content based on the aggregated area of interest information, and generate one or more two-dimensional videos based on the selected video information.Example 20 may include the at least one computer readable medium of example 19, comprising another set of instructions that, when executed by the computing device, cause the computing device to acquire area of interest information from a content creator and / or content consumer.Example 21 may include the at least one computer readable medium of example 19, comprising another set of instructions that, when executed by the computing device, cause the computing device to cluster the aggregated area of interest information to select the video information from the omnidirectional video content.Example 22 may include the at least one computer readable medium of any of Examples 19 to 21, comprising a further set of instructions that, when executed by the computing device, cause the computing device to determine and select one or more parameters related to a content consumer between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.Example 23 may include the at least one computer readable medium of example 22, comprising another set of instructions that, when executed by the computing device, cause the computing device to monitor the one or more parameters related to the content consumer and transition between the omni-directional video content and the one or more two-dimensional video based on a change in the one or more parameters.Example 24 may include the at least one computer readable medium of example 23, wherein the one or more parameters include a parameter related to content consumption selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device.Example 25 may include a video producer device comprising means for aggregating area of interest information for omnidirectional video content from two or more sources, means for selecting video information from the omnidirectional video content based on the aggregated area of interest information, and means for generating one or more two-dimensional videos based on the selected video information.Example 26 may include the apparatus of example 25, further comprising means for acquiring information of an area of interest from a content creator and / or content consumer.Example 27 may include the apparatus of example 25, further comprising means for clustering the aggregated area of interest information to select the video information from the omnidirectional video content.Example 28 may include the apparatus of any of Examples 25-27, further comprising means for determining one or more parameters related to a content consumer, and means for selecting between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.Example 29 may include the apparatus of example 28, further comprising means for monitoring the one or more parameters related to the content consumer and means for switching between the omni-directional video content and the one or more two-dimensional video based on a change in the one or more parameters.Example 30 may include the apparatus of example 29, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer and / or a consumer capability and / or bandwidth availability and / or a consumer change and / or a view angle between a content consumer and a content consumer.Example 31 may include a video producer device comprising a data collector including logic to aggregate area of interest information for 360 video content from two or more sources, a decision engine including logic to select video information from the 360 video content based on the aggregated area of interest information, and a content producer including logic to generate one or more two-dimensional videos based on the selected video informationExample 32 may include the apparatus of example 31, wherein the data collector further includes logic to collect information of an area of interest from a content creator and / or content consumer.Example 33 may include the apparatus of example 31, wherein the data collector further includes logic to obtain information of an area of interest by crowd sourced creating two or more content consumers.Example 34 may include the apparatus of example 33, wherein the data collector further includes logic to obtain information by crowd sourced sourced of points of interest from two or more content consumers.Example 35 may include the apparatus of example 31, wherein the decision engine further includes logic to cluster the aggregated area of interest information to select the video information from the 360 video content.Example 36 may include the apparatus of example 35, wherein the decision engine further includes logic to perform a video analysis around a center of a candidate cluster and process the cluster based on the video analysis to split the candidate into two different candidate frames and / or select a different cluster center and / or pan from one frame to the next and / or apply effects to smooth the transition between frames.Example 37 may include the apparatus of example 31, wherein the decision engine further includes logic to receive a user feedback from one or more content consumers.Example 38 may include the apparatus of example 37, wherein the decision engine further includes logic to receive a user feedback based on a configuration and / or policy.Example 39 may include the apparatus of example 31, wherein the content generator further includes logic to compress the one or more two-dimensional video with a video encoder.Example 40 may include the apparatus of any of Examples 31-39, further comprising a content distributor including logic to determine one or more parameters related to a content consumer and to select between the 360 video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.Example 41 may include the apparatus of example 40, wherein the content distributor further includes logic to monitor the one or more parameters related to the content consumer and to transition between the 360 video content and the one or more two-dimensional videos based on a change in the one or more parameters.Example 42 may include the apparatus of example 41, wherein the one or more parameters are based on a policy.Example 43 may include the apparatus of example 41, wherein the one or more parameters are dynamically configurable.Example 44 may include the apparatus of example 41, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer and / or a consumer capability and / or bandwidth availability and / or a consumer change and / or a view angle between a content consumer and a content consumer.Embodiments are applicable for use with all types of integrated circuit ("IC") semiconductor chips. Examples of these IC chips include, but are not limited to, processors, controllers, chipset components, programmable logic arrays (PLAs), memory chips, network chips, systems on a chip (SoCs), SSD / NAND controller ASICs, and the like. In addition, signal traces are represented with lines in some of the drawings. Some may be different to indicate more signal path components, some may have a number designation to indicate a number of signal path components, and / or some may have arrows at one or more ends to indicate a main information flow direction. However, this should not be construed in a limiting manner. Rather, such added details may be used in conjunction with one or more embodiments to facilitate easier understanding of a circuit. Any represented signal lines with or without additional information may actually comprise one or more signals that may travel in multiple directions and may be implemented with any suitable type of signal scheme, e.g., digital or analog lines implemented with differential pairs, optical fiber lines, and / or asymmetric lines.Example sizes / models / values / ranges may have been given, although embodiments are not limited to these. As fabrication techniques (e.g., photolithography) mature over time, it is expected that devices of smaller size could be fabricated. In addition, well-known power / ground connections to IC chips and other components within the figures may or may not be illustrated for ease of illustration and discussion, and so as not to obscure certain aspects of the embodiments. Furthermore, arrangements may be shown in block diagram form in order to avoid obscuring embodiments, and also in view of the fact that details regarding the implementation of such block diagram arrangements depend greatly on the platform in which the embodiment is to be implemented, i.e., such details should well be within the purview of one skilled in the art. Where specific details (e.g., circuits) are set forth to describe example embodiments, it should be apparent to one skilled in the art that embodiments may be practiced without or with variation of these specific details. The description is thus intended to be illustrative rather than limiting.The term "coupled" may be used herein to refer to any type of relationship, directly or indirectly, between the components involved, and may apply to electrical, mechanical, fluid, optical, electromagnetic, electromechanical, or other connections. In addition, the terms "first," "second," etc., may be used herein to facilitate discussion only, and do not have any particular temporal or chronological significance unless otherwise indicated.As used in this application and in the claims, a list of items joined by the term "one or more" may mean any combination of the listed terms. For example, both the phrase "one or more of A, B, and C" and the phrase "one or more of A, B, or C" may mean A; B; C; A and B; A and C; B and C; or A, B, and C.Those skilled in the art will appreciate from the foregoing description that the broad techniques of the embodiments may be implemented in a variety of forms. Therefore, although the embodiments have been described in connection with specific examples thereof, the true scope of the embodiments should not be so limited, as other modifications will become apparent to those skilled in the art upon examination of the drawings, specification and the following claims.

Claims

An electronic processing system (10) comprising: a processor (11); a memory (12) communicatively coupled to the processor; and logic (13) communicatively coupled to the processor to: acquire (34) area of interest information of content consumers, aggregate (31) the area of interest information for omnidirectional video content from two or more sources, select (32) video information from the omnidirectional video content based on the aggregated area of interest information, generate (33) one or more two-dimensional videos based on the selected video information; and clustering (35) the aggregated area-of-interest information to select the video information from the omnidirectional video content, and when the aggregated area-of-interest information is grouped into a plurality of clusters, generating a plurality of two-dimensional videos based on the selected video information.The system (10) of claim 1, wherein the logic (13) is further configured to: acquire (34) information of an area of interest from a content creator.The system (10) of any of claims 1 to 2, wherein the logic is further configured to: determine (36) one or more parameters related to a content consumer; and select (37) between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.The system (10) of claim 3, wherein the logic (13) is further configured to: monitor (38) the one or more parameters related to the content consumer; and transition (39) between the omni-directional video content and the one or more two-dimensional video based on a change in the one or more parameters.The system (10) of claim 4, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device.A semiconductor package device (20) comprising: one or more substrates (21); and logic (22) coupled to the one or more substrates, the logic implemented at least in part in configurable logic and / or fixed-functionality hardware logic, the logic coupled to the one or more substrates to: acquire (34) region-of-interest information of content consumers, aggregate (31) region-of-interest information for omnidirectional video content from two or more sources, select (32) video information from the omnidirectional video content based on the aggregated region-of-interest information, and generate (33) one or more two-dimensional videos based on the selected video information; and clustering (35) the aggregated area-of-interest information to select the video information from the omnidirectional video content, and when the aggregated area-of-interest information is grouped into a plurality of clusters, generating a plurality of two-dimensional videos based on the selected video information.The apparatus (20) of claim 6, wherein the logic is further configured to: acquire (34) information of an area of interest from a content creator.The apparatus (20) of any of claims 6 to 7, wherein the logic is further configured to: determine (36) one or more parameters related to a content consumer; and select (37) between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.The apparatus (20) of claim 8, wherein the logic is further configured to: monitor (38) the one or more parameters related to the content consumer; and transition (39) between the omni-directional video content and the one or more two-dimensional video based on a change in the one or more parameters.The apparatus (20) of claim 9, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer and / or a consumer capability and / or bandwidth availability and / or a consumer change and / or a view angle between a content consumer and a content consumer.A method (30) of generating video, comprising: acquiring (34) area of interest information of content consumers, aggregating (31) area of interest information for omnidirectional video content from two or more sources; selecting (32) video information from the omnidirectional video content based on the aggregated area of interest information; and generating (33) one or more two-dimensional videos based on the selected video information; and clustering (35) the aggregated area of interest information to select the video information from the omnidirectional video content, and when the aggregated area of interest information is grouped into multiple clusters, generating multiple two-dimensional videos based on the selected video information.The method (30) of claim 11, further comprising: acquiring (34) information of an area of interest from a content creator.The method (30) of any of claims 11 to 12, further comprising: determining (36) one or more parameters related to a content consumer; and selecting (37) between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.The method of claim 13, further comprising: monitoring (38) the one or more parameters related to the content consumer; and switching (39) between the omni-directional video content and the one or more two-dimensional video based on a change in the one or more parameters.The method of claim 14, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device.A computer readable medium, comprising a set of instructions that, when executed by a computing device, cause the computing device to: acquire area of interest information of content consumers, aggregate the area of interest information for an omnidirectional video content from two or more sources; select video information from the omnidirectional video content based on the aggregated area of interest information; and generate one or more two-dimensional videos based on the selected video information; and cluster the aggregated area of interest information to select the video information from the omnidirectional video content, and when the aggregated area of interest information is grouped into multiple clusters, generate multiple two-dimensional videos based on the selected video information.The computer readable medium or media of claim 16, comprising a further set of instructions that, when executed by a computing device, cause the computing device to: acquire information of an area of interest from a content producer.The computer readable medium or media of any one of claims 16 to 17, comprising a further set of instructions that, when executed by the computing device, cause the computing device to: determine one or more parameters related to a content consumer; and select between the omni-directional video content and the one or more two-dimensional videos for distribution to the content consumer based on the one or more determined parameters.The computer readable medium or media of claim 18, comprising a further set of instructions that, when executed by the computing device, cause the computing device to: monitor the one or more parameters related to the content consumer; and transition between the omni-directional video content and the one or more two-dimensional videos based on a change in the one or more parameters.The computer readable medium or media of claim 19, wherein the one or more parameters include a parameter related to content consumer selection and / or prior information regarding a content consumer and / or prior information regarding a consumer device and / or a consumer device capability and / or bandwidth availability and / or a consumer device change and / or a view angle between a content consumer and a content consumer device.

Citation Information

Patent Citations

  • Method and system for tracking an interest of a user within a panoramic visual content

    US20160301862A1

  • Method and apparatus for signaling region of interests

    US20170345205A1

  • Methods and apparatus of viewport adaptive 360 degree video delivery

    WO2017205794A1