Data streams
Methods and systems related to processing multiple data streams are disclosed. For example, a computing device may receive a data stream corresponding to a content item, and generate additional data streams by sampling the data stream, for example, using different sampling regions. Another data stream at a higher resolution than each of the additional data streams may then be generated by combining elements (e.g., pixels) of the additional data streams.
1 . A method comprising:
receiving, by a computing device, a video comprising a first resolution;
generating, based on the video, two reduced-resolution versions of the video, wherein the two reduced-resolution versions comprise two versions of a frame of the video, wherein corner pixels of the reduced-resolution versions are generated based on partially overlapping and offset pixel sampling regions of the frame of the video, wherein each row of the frame of the video is used in either of the two reduced-resolution versions, and wherein the two reduced-resolution versions of the video comprise:
a first reduced-resolution version of the video at a first reduced resolution, and
a second reduced-resolution version of the video at a second reduced resolution that is different from the first reduced resolution;
sending, based on a request for the first reduced-resolution version of the video, the first reduced-resolution version;
sending, based on a request for the second reduced-resolution version of the video, the second reduced-resolution version; and
sending, based on a request for the video at the first resolution, both of the reduced-resolution versions.
2 . The method of claim 1 , wherein a first pixel of the first reduced-resolution version is generated based on an average of pixels in a first sampling region of the partially overlapping pixel sampling regions of the video, and wherein a second pixel of the first reduced-resolution version is generated based on an average of pixels in a second sampling region of the partially overlapping pixel sampling regions.
3 . The method of claim 1 , wherein the corner pixels are generated based on vertically and horizontally offset pixel sampling regions.
4 . The method of claim 1 , wherein the first reduced-resolution version and the second reduced-resolution version are independently renderable.
5 . The method of claim 1 , further comprising:
generating a third reduced-resolution version of the video, wherein the third reduced-resolution version comprises a same pixel resolution as the first reduced-resolution version of the video, but is based on different sampling regions of the video.
6 . The method of claim 1 , further comprising:
generating a third reduced-resolution version of the video, wherein the third reduced-resolution version comprises a same pixel resolution as the first reduced-resolution version of the video, but is based on different sampling regions of the video; and
sending, based on a request for the video at the first resolution, both the first reduced-resolution version and the third reduced-resolution version.
7 . The method of claim 1 , wherein both of the reduced-resolution versions are independently renderable, and wherein the sending both of the reduced-resolution versions comprises sending both of the independently-renderable reduced-resolution versions based on the request for the video at the first resolution.
8 . The method of claim 1 , wherein each of the pixel sampling regions comprises a same quantity of pixels.
9 . The method of claim 1 , wherein the first resolution comprises more rows of pixels, in a vertical axis of a frame, than the first reduced resolution.
10 . The method of claim 1 , wherein the first reduced-resolution version of the video comprises a plurality of frames, the second reduced-resolution version of the video comprises a plurality of frames, and wherein each frame of the first reduced-resolution version video comprises fewer pixels than each frame of the second reduced-resolution version video.
11 . A method comprising:
receiving, by a computing device, a video comprising a first resolution;
generating, from the video, a first reduced-resolution version of the video at a first reduced resolution and a second reduced-resolution version of the video at a second reduced resolution, wherein:
a corner pixel in the first reduced-resolution version is generated based on an average of pixels in a first sampling region of an image frame of the video; and
a corner pixel in the second reduced-resolution version is generated based on an average of pixels in a second sampling region of the image frame of the video, wherein the second sampling region partially overlaps, and is offset from, the first sampling region, and wherein each row of the image frame of the video is used in either of the first reduced-resolution version of the video or the second reduced-resolution version of the video;
sending, based on a request for the first reduced-resolution version of the video, the first reduced-resolution version;
sending, based on a request for the second reduced-resolution version of the video, the second reduced-resolution version; and
sending, based on a request for the video at the first resolution, the first reduced-resolution version and the second reduced-resolution version.
12 . The method of claim 11 , wherein vertically-adjacent rows of sampling regions in the video are alternately used to create corresponding rows of pixels in the reduced-resolution versions of the video.
13 . The method of claim 11 , wherein the first reduced-resolution version and the second reduced-resolution version are independently renderable.
14 . The method of claim 11 , wherein a center of the first sampling region is horizontally and vertically offset from a center of the second sampling region.
15 . The method of claim 11 , further comprising generating, based on the video, two independently-renderable reduced-resolution versions that have a same pixel resolution.
16 . The method of claim 11 , further comprising:
generating a third reduced-resolution version of the video, wherein the third reduced-resolution version comprises a same pixel resolution as the first reduced-resolution version of the video, but is based on different sampling regions of the video.
17 . A method comprising:
receiving, by a computing device, a first version of a video comprising an original resolution;
generating, based on the video, a second version of the video at a reduced resolution that is different from the original resolution, wherein a corner pixel in the second version of the video is based on an averaging of pixels of a first sampling region of an image frame of the first version of the video;
generating, based on the video, a third version of the video at a reduced resolution that is different from the original resolution, wherein a corner pixel in the second version of the video is based on an averaging of pixels of a second sampling region of the image frame of the first version of the video, wherein the second sampling region partially overlaps the first sampling region, wherein a center of the first sampling region is offset from a center of the second sampling region, and wherein each row of the image frame of the video is used in either of the second version of the video or the third version of the video; and
sending, based on a request for the first version of the video, both the second version and the third version.
18 . The method of claim 17 , wherein the second version and the third version are independently renderable.
19 . The method of claim 17 , wherein the second version and the third version comprise a same reduced resolution, and are independently renderable.
20 . The method of claim 17 , wherein the center of the first sampling region is vertically and horizontally offset from the center of the second sampling region.
21 . The method of claim 17 , wherein vertically-adjacent rows of sampling regions in the video are alternately used to create corresponding rows of pixels in the second and third versions of the video.
22 . The method of claim 17 , wherein fewer sampling regions are used to generate the second version than are used to generate the third version.
23 . The method of claim 17 , wherein a size of the first sampling region is same as a size of the second sampling region.