Object tracking in multi-view video

Information

  • Patent Grant
  • 11093752
  • Patent Number
    11,093,752
  • Date Filed
    Friday, June 2, 2017
    7 years ago
  • Date Issued
    Tuesday, August 17, 2021
    2 years ago
Abstract
Techniques are disclosed for managing display of content from multi-view video data. According to these techniques, an object may be identified from content of the multi-view video. The object's location may be tracked across a sequence of multi-view video. The technique may extract a sub-set of video that is contained within a view window that is shifted in an image space of the multi-view video in correspondence to the tracked object's location. These techniques may be implemented either in an image source device or an image sink device.
Description
BACKGROUND

The present disclosure relates to display of image content from multi-view video data.


Some modern imaging applications capture image data from multiple directions about a reference point. Some cameras pivot during image capture, which allows a camera to capture image data across an angular sweep that expands the camera's effective field of view. Some other cameras have multiple imaging systems that capture image data in several different fields of view. In either case, an aggregate image may be created that represents a merger or “stitching” of image data captured from these multiple views.


Oftentimes, the multi-view video is not displayed in its entirety. Instead, users often control display operation to select a desired portion of the multi-view image that is to be rendered. For example, when rendering an image that represents a 360° view about a reference point, a user might enter commands that cause rendering to appear as if it rotates throughout the 360° space, from which the user perceives that he is exploring the 360° image space.


While such controls provide intuitive ways for an operator to view a static image, it can be cumbersome when an operator views multi-view video data, where content elements can move, often in inconsistent directions. An operator is forced to enter controls continuously to watch an element of the video that draws his interest, which can become frustrating when the operator would prefer simply to observe desired content.


Accordingly, the inventors perceive a need in the art for rendering controls for multi-view video that do not require operator interaction.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a system suitable for use with embodiments of the present disclosure.



FIG. 2 illustrates an image space suitable for use with embodiments of the present disclosure.



FIG. 3 illustrates a method according to an embodiment of the present disclosure.



FIG. 4 illustrates exemplary image content on which the method for FIG. 3 may be performed.



FIG. 5 is a communication flow diagram according to an embodiment of the present disclosure.



FIG. 6 is a communication flow diagram according to another embodiment of the present disclosure.



FIG. 7 is a functional block diagram of an image source device according to an embodiment of the present disclosure.



FIG. 8 is a functional block diagram of a coding system according to an embodiment of the present disclosure.



FIG. 9 is a functional block diagram of a decoding system according to an embodiment of the present disclosure.



FIG. 10 is a functional block diagram of a decoding system according to an embodiment of the present disclosure.



FIG. 11 illustrates an exemplary computer system that may perform such techniques.





DETAILED DESCRIPTION

Embodiments of the present disclosure provide techniques for managing display of content from multi-view video data. According to these techniques, an object may be identified from content of the multi-view video. The object's location may be tracked across a sequence of multi-view video. The technique may extract a sub-set of video that is contained within a view window that is shifted in an image space of the multi-view video in correspondence to the tracked object's location. The extracted video may be transmitted to a display device.



FIG. 1 illustrates a system 100 in which embodiments of the present disclosure may be employed. The system 100 may include at least two terminals 110-120 interconnected via a network 130. The first terminal 110 may have an image source that generates multi-directional and/or omnidirectional video (multi-view video, for convenience). The terminal 110 also may include coding systems and transmission systems (not shown) to transmit coded representations of the multi-view video to the second terminal 120, where it may be consumed. For example, the second terminal 120 may display the multi-view video on a head mounted display, it may execute a video editing program to modify the multi-view video, or may integrate the multi-view video into an application executing on the terminal 120, or it may store the multi-view video for later use.


The receiving terminal 120 may display video content representing a selected portion of the multi-view video, called a “view window,” captured by the first terminal 110. The terminal 120 may contain one or more input devices (not shown) in FIG. 1 that identifies a portion of the multi-view video that interests a user of the receiving terminal 120 and selects the identified portion as the view window for display. For example, a head mounted display may include a motion sensor that determines orientation of the head mounted display as an operator uses the display. The head mounted display may provide an illusion the operator that he is look about a image space and, as the operator moves his head to looking about this space, the view window may shift in accordance with the operator's movement.


In FIG. 1, the second terminal 120 is illustrated as a head mounted display but the principles of the present disclosure are not so limited. Embodiments of the present disclosure find application with flat panel displays commonly found in laptop computers, tablet computers, smart phones, servers, media players, television displays, hologram displays, and/or dedicated video conferencing equipment. The network 130 represents any number of networks that convey coded video data among the terminals 110-120, including, for example, wireline and/or wireless communication networks. The communication network 130 may exchange data in circuit-switched and/or packet-switched channels. Representative networks include telecommunications networks, local area networks, wide area networks and/or the Internet. For the purposes of the present discussion, the architecture and topology of the network 130 is immaterial to the operation of the present disclosure unless explained hereinbelow.



FIG. 1 illustrates components that are appropriate for unidirectional transmission of multi-view video, from the first terminal 110 to the second terminal 120. In some applications, it may be appropriate to provide for bidirectional exchange of video data, in which case the second terminal 120 may include its own image source, video coder and transmitters (not shown), and the first terminal 110 may include its own receiver and display (also not shown). If it is desired to exchange multi-view video bidirectionally, then the techniques discussed hereinbelow may be replicated to generate a pair of independent unidirectional exchanges of multi-view video. In other applications, it would be permissible to transmit multi-view video in one direction (e.g., from the first terminal 110 to the second terminal 120) and transmit “flat” video (e.g., video from a limited field of view) in a reverse direction.



FIG. 2 illustrates an exemplary image space 200 suitable for use with embodiments of the present disclosure. There, a multi-view image is depicted as a spherical image space 200 on which image content of the multi-view image is projected. Alternatively, an equirectangular image space (not shown) may be used. In the illustrated example, individual pixel locations of a multi-view image may be indexed by angular coordinates (θ,φ) defined with respect to a predetermined origin. View windows 210, 220 may be extracted from the image space 200, which may cause image content to be displayed on a receiving terminal 240.


According to an embodiment, receiving terminals 240 may operate according to display modes that do not require operator interaction with the terminals 240 to shift view windows. For example, embodiments of the present disclosure may track image content within the spherical image space 200 that are designated as objects of interest and may shift view windows according to the tracked objects. In this manner, as objects travel within the image space 200 the operators may have the objects displayed at their receiving device 240 without having to interact directly with the display, for example, moving his head to track the object manually.



FIG. 3 illustrates a method 300 according to an embodiment of the present disclosure. The method 300 may be performed when operating in a content tracking mode. The method 300 may identify an object in a view window of a device that displays video content (box 310). As discussed, the view window may be a portion of a larger image that is being rendered on the display device. The method may track movement of the object within the larger image (box 315) and may shift the view window in accordance with the object movement (box 320). The operations of boxes 315 and 320 may repeat for as long as the content tracking mode is engaged. In this mode, displayed images will include content of the identified object as the object moves away from the original view window without requiring user input.


It is possible that identification of objects (box 310) will result in identification of multiple objects. In such an embodiment, when the method 300 determines that multiple objects are present in a view window (box 325), it may select one of the objects to serve as a primary object (box 330). Object tracking (box 315) and window shifting (box 320) may be performed using the primary object as the basis of such operations.


In such an embodiment, the method 300 may determine whether operator input is received that is inconsistent with the window shifting operations of box 320 (box 335). If so, the method 300 may identify object(s) in a view window defined by the operator input (box 340) and determine whether an object in the operator-defined view window is contained in the view window from which objects were identified in box 310 (box 345). If so, the method 300 may designate the object that appears in the operator-defined view window as the primary object (box 350) and resume operations of tracking the primary object and shifting the view window based on movement of the primary object (boxes 315, 320). If the operator-defined view window does not contain an object that also is contained in the view window from which objects were identified in box 310, then the method 300 may take alternative action. In the embodiment illustrated in FIG. 3, the method 300 may disengage the tracking mode (box 355). In another embodiment, the method 300 may advance to box 330 and select one of the objects in the operator-defined view window as a primary object.



FIG. 4 illustrates exemplary image content 400 on which the method 300 may be performed. FIG. 4 illustrates the image content 400 in a two-dimensional representation for ease of discussion but the principles of the present discussion apply to image content in the spherical projections discussed earlier. In FIG. 4, the content tracking mode may be applied at a time t1 when a view window 402 is defined for the larger images. When object identification is performed on view window 402, an object Obj1 may be identified in the view window 402. Thereafter, the method 300 may track movement of the object Obj1 through other images and the method 300 may shift the view window in accordance with the tracked image. Thus, in the example of FIG. 4, the object Obj1 may have moved to a different location by time t2, which causes the method 300 to shift the view window to a position 404. Thus, the method 300 may cause a view window 402 to be output for an image at time t1 and a view window 404 to be output for an image at time t2.



FIG. 4 also illustrates a use case in which a plurality of objects Obj1, Obj2 are identified in an original view window 402. During operation of boxes 325 and 330, one of the objects (say, Obj1) may be selected as the primary object, and object tracking and window shifting may occur with reference to Obj1. If operator input is received that is inconsistent with the shifting window, then the method 300 may search for new objects that is consistent with the operator input. For example, the operator may have provided input that defines a view window 406. In this instance, the method 300 may identify objects in the new view window 406. Object Obj2 may be identified in this circumstance, which would cause the method 300 to identify Obj2 as the primary object.


Operator input at box 335 may be received in a variety of ways. In an application involving head mounted displays, operator input may be derived from orientation data provided by the headset. For example, if a primary object causes a view window to shift in one direction but the operator is watching another object as his object of interest, the operator may move his head in an instinctive effort to track the object of interest. In this event, such motion may be captured by the headset and used by the method 300 to designate a new primary object.


Operator input may be received in other ways. Operator input may be received by direct operator input that indicate commands to a device to shift content, such as mouse or trackpad data, remote control data, or gestures captured by imaging equipment.


And, of course, a device may provide user interface tools through which an operator may annotate displayed content and identify the primary object directly. Such identifications also may be used by the method 300 at boxes 340 and/or 310.


The operations to track primary objects and shift view windows may be performed either at an image source device or an image sink device. FIG. 5 is a communication flow diagram according to an embodiment of the present disclosure in which the tracking and shifting operations are performed at an image source device. FIG. 6 is a communication flow diagram according to an embodiment of the present disclosure in which the tracking and shifting operations are performed at an image sink device.



FIG. 5 is a communication flow diagram according to an embodiment of the present disclosure. In this embodiment, an image source device may capture multi-view video (box 510). At an image sink device, an operator may select an initial view window and engage the tracking mode of operation (box 530). The image sink device may communicate parameters of the initial view window to the image source device (msg. 530). Responsive to the initial view window, the image source device may perform object tracking and shifting of view windows (box 540). The image source device may code the shifted view window (box 550) and may transmit coded video of the view window to the image sink device (msg. 560). The image sink device may decode and display the coded video 570. The operations of FIG. 5 may repeat for as long as the tracking mode is engaged. If/when an operator redefines a view window, it may cause a new iteration of box 520 and msg 530 to be performed.


In an embodiment, an initial view window may be identified by operator input. When performed by a head mounted display, information such as pitch, yaw, roll, and/or free space location (x/y/z coordinates) can be signaled to the image source device. In another embodiment, operator input may be entered by hand operated control, for example joystick, keyboard or touch screen input.



FIG. 6 is a communication flow diagram according to another embodiment of the present disclosure. In this embodiment, an image source device may capture multi-view video (box 610), code the multi-view video in its entirety (box 620) and transmit coded video data of the multi-view image to the image sink device (box 630).


The image sink device may receive an operator selection of an initial view window (box 640) and may engage the tracking mode. The image sink device may decode the coded video (box 650) from which the multi-view video is recovered. The image sink device may perform object tracking and window shifting based on object movement (box 660) and the image sink device may display content of the shifted view window (box 670). The operations of FIG. 6 may repeat for as long as the tracking mode is engaged.


The communication flows of FIG. 5 and FIG. 6 each have their respective advantages. The communication flow of FIG. 5 tends to conserve bandwidth because an image source device need only code the image content that is contained in the view window that is being used at the image sink device. Unused portions of the multi-view video, those portions that will not be rendered at the image sink device, need not be coded and need not consume bandwidth in the communication channels that carry coded data.


The communication flow of FIG. 6, however, likely provides faster response to operator input. If, for example, it is determined that a new primary object should be used for tracking and view window control, the image sink device may have all image content of a multi-view video available to it, which allows the device to display a new shifted view window quickly based on processing at the local device. The image sink device need not report the operator input to the image source device, which incurs a first amount of communication delay over the communication channel(s) that extend between them, then wait to receive coded video of a new shift window, which incurs a second amount of communication delay. Moreover, the communication flow readily finds application in a multi-casting application where image data from the image source device is transmitted to multiple image sink devices (not shown) in parallel; each image sink device may extract its own view window based on local operator input rather than requiring an image source device to extract and code individually-defined view windows for all the image sink devices.


The embodiment of FIG. 6 also finds application in offline playback applications, where coded video is played by an image sink device from local storage (not shown). In this application, image capture and coding may be performed at a time separate from the video coding and display. For example, coded video data may be downloaded to an image sink device and stored locally for later playback. In fact, the coded video may be played from local storage multiple times. In this embodiment, viewers may identify an object of interest (e.g., by pressing a button in controller or other user control). The image sink device, may analyze a second being displayed to identify an object, track it and shift a view window (box 660) based on the identified object. Thus, the view window can be changed automatically to provide best matching view port to viewers.


In an embodiment, object tracking and window shifting (boxes 540, 660) may adjust level of tracking to mitigate viewer discomfort during shifts. In one embodiment, window shifts may be performed to keep a tracked object in a predetermined location of the view window. Consider, for example, a use case involving a sporting event, where a player is identified as an object of interest. In such a use case, the tracked player may be placed in a predetermined area of the shifted window, which causes background elements to appear as if they shift behind the player as the player moves in the multi-view image space. Such an embodiment may lead to improvement in the perceived quality of resultant video because the object of interest is maintained consistently in a selected area of the content displayed to a viewer.


In another embodiment, object tracking and window shifting (boxes 540, 660) may adjust level of tracking based on movement of the tracked object in the multi-view image space. Continuing with the example of the sporting event, where a ball is identified as an object of interest. In this use case, the tracked ball may move erratically within the multi-view image space, which may cause discomfort to a viewer. In such an application, the methods 300, 500 and/or 600 may consider magnitudes of motion of the tracked object within the multi-view image space (for example, by comparing it to a predetermined threshold) and may include a zoom effect in the shift the view window. Zooming the view window back, which effectively causes the view window to display a larger portion of the multi-view image space, may cause the tracked object to be perceived as having less motion than without the zoom effect, which can lead to improved perceptual quality of the resultant video. And, if motion is reduced below the threshold, the zoom effect may be removed to show a shifted view window at a level of zoom that matches a level of zoom that was in effect when the operator identified the object of interest.


In a further embodiment, view window(s) may be oriented to match orientation of a display at a viewer location. In this embodiment, the methods 300, 500 and/or 600 may align an orientation of a view window in the multi-view image space with an orientation of the display. For example, in one use case, the methods 300, 500 and/or 600 may align orientation of the view window with pitch, yaw, and/or roll factors output by a head mounted display. In such an embodiment, the methods 300, 500 and/or 600 may shift the view window to place a tracked object at a predetermined location within the window and may select an orientation of the view window to align with the pitch, yaw, and/or roll factors from the head mounted display.


In another embodiment, the methods 300, 500 and/or 600 may determine an orientation of a display and may align orientation of the view window to the orientation of the display. For example, a display device may possess a sensor such an accelerometer from which the device's orientation with respect to gravity may be determined. Alternatively, the display device may include a setting that defines a display mode (e.g., portrait mode or landscape mode) of the device. In such use cases, the methods 300, 500 and/or 600 may align the view window to the device's orientation. For example, the methods 300, 500 and/or 600 may estimate a horizontal display direction with respect to gravity based on the device's orientation and may estimate a horizontal display direction in the multi-view video content. In such an embodiment, the methods 300, 500 and/or 600 may shift the view window to place a tracked object at a predetermined location within the window and may select an orientation of the view window to align horizontal components within the view window to a horizontal direction of the display.


In a further embodiment, the methods 300, 500 and/or 600 may buffer decoded video of a predetermined temporal duration (say, 1 or 2 seconds) on a sliding window basis and may perform image tracking across the buffered frames. The image tracking algorithm may develop a view window shift transition progression that balances zoom depth and transition. In this manner, the algorithm may perform gradual controls that include both zoom control and shift control. In this manner, buffering of video is expected to reduce the possibility of discomfort and/or dizziness among viewers.


In another embodiment, image data may contain metadata that identifies an object of interest selected by an author or by a producer of the video. The methods 300, 500 and/or 600 may perform object tracking and view window shifting using an author's identification of an object of interest, rather than a viewer's identification of the object of interest. In a further embodiment, the author's identification of the object of interest may be overridden by viewer identification of an object of interest.


In a further embodiment, displayed image data of a tracked object may be subject to image enhancement (e.g., highlighting, brightness enhancement, halo effects and the like) or displayed image data of non-tracked content may be subject to image degradation (e.g., blurring of background content) to identify the object being tracked. And, when operator controls indicate that an operator is redesignating an object to be tracked, image enhancement effects may be applied to all candidate objects that are recognized by the methods 300, 500 and/or 600 to facilitate selection by the operator.


In an embodiment where multi-view video is stored for processing by the methods 300, 500 and/or 600, the video may have metadata stored in association with it that identifies object(s) in the video that can be tracked and their spatial and temporal position(s) within the video. In this manner, during coding, decoding and playback, it is unnecessary to perform object detection and tracking. The methods 300, 500 and/or 600 may select objects whose positions coincide with the positions identified by operator input.



FIG. 7 is a functional block diagram of an image source device 700 according to an embodiment of the present disclosure. The device 700 may include an image source 710, an image processing system 720, a video coder 730, a video decoder 740, a reference picture store 750, a predictor 760, a transmitter 770 and, optionally, a motion sensor 780.


The image source 710 may generate image data as a multi-view image, containing image data of a field of view that extends around a reference point in multiple directions. The image processing system 720 may process the multi-view image data to condition it for coding by the video coder 730. The video coder 730 may generate a coded representation of its input image data, typically by exploiting spatial and/or temporal redundancies in the image data. The video coder 730 may output a coded representation of the input data that consumes less bandwidth than the original source video when transmitted and/or stored.


The video decoder 740 may invert coding operations performed by the video encoder 730 to obtain a reconstructed picture from the coded video data. Typically, the coding processes applied by the video coder 730 are lossy processes, which cause the reconstructed picture to possess various errors when compared to the original picture. The video decoder 740 may reconstruct picture of select coded pictures, which are designated as “reference pictures,” and store the decoded reference pictures in the reference picture store 750. In the absence of transmission errors, the decoded reference pictures will replicate decoded reference pictures obtained by a decoder (not shown in FIG. 7).


The predictor 760 may select prediction references for new input pictures as they are coded. For each portion of the input picture being coded (called a “pixel block” for convenience), the predictor 760 may select a coding mode and identify a portion of a reference picture that may serve as a prediction reference search for the pixel block being coded. The coding mode may be an intra-coding mode, in which case the prediction reference may be drawn from a previously-coded (and decoded) portion of the picture being coded. Alternatively, the coding mode may be an inter-coding mode, in which case the prediction reference may be drawn from another previously-coded and decoded picture.


When an appropriate prediction reference is identified, the predictor 760 may furnish the prediction data to the video coder 730. The video coder 730 may code input video data differentially with respect to prediction data furnished by the predictor 760. Typically, prediction operations and the differential coding operate on a pixel block-by-pixel block basis. Prediction residuals, which represent pixel-wise differences between the input pixel blocks and the prediction pixel blocks, may be subject to further coding operations to reduce bandwidth further.


As indicated, the coded video data output by the video coder 730 should consume less bandwidth than the input data when transmitted and/or stored. The image source device 700 may output the coded video data to an output device 770, such as a transmitter, that may transmit the coded video data across a communication network 130 (FIG. 1). Alternatively, the image source device 700 may output coded data to a storage device (not shown) such as an electronic-, magnetic- and/or optical storage medium.



FIG. 8 is a functional block diagram of a coding system 800 according to an embodiment of the present disclosure. The system 800 may include a pixel block coder 810, a pixel block decoder 820, an in-loop filter system 830, a reference picture store 840, a predictor 850, a controller 860, and a syntax unit 870. The pixel block coder and decoder 810, 820 and the predictor 850 may operate iteratively on individual pixel blocks of a picture. The predictor 850 may predict data for use during coding of a newly-presented input pixel block. The pixel block coder 810 may code the new pixel block by predictive coding techniques and present coded pixel block data to the syntax unit 870. The pixel block decoder 820 may decode the coded pixel block data, generating decoded pixel block data therefrom. The in-loop filter 830 may perform various filtering operations on a decoded picture that is assembled from the decoded pixel blocks obtained by the pixel block decoder 820. The filtered picture may be stored in the reference picture store 840 where it may be used as a source of prediction of a later-received pixel block. The syntax unit 870 may assemble a data stream from the coded pixel block data which conforms to a governing coding protocol.


The pixel block coder 810 may include a subtractor 812, a transform unit 814, a quantizer 816, and an entropy coder 818. The pixel block coder 810 may accept pixel blocks of input data at the subtractor 812. The subtractor 812 may receive predicted pixel blocks from the predictor 850 and generate an array of pixel residuals therefrom representing a difference between the input pixel block and the predicted pixel block. The transform unit 814 may apply a transform to the sample data output from the subtractor 812, to convert data from the pixel domain to a domain of transform coefficients. The quantizer 816 may perform quantization of transform coefficients output by the transform unit 814. The quantizer 816 may be a uniform or a non-uniform quantizer. The entropy coder 818 may reduce bandwidth of the output of the coefficient quantizer by coding the output, for example, by variable length code words.


The transform unit 814 may operate in a variety of transform modes as determined by the controller 860. For example, the transform unit 814 may apply a discrete cosine transform (DCT), a discrete sine transform (DST), a Walsh-Hadamard transform, a Haar transform, a Daubechies wavelet transform, or the like. In an embodiment, the controller 860 may select a coding mode M to be applied by the transform unit 815, may configure the transform unit 815 accordingly and may signal the coding mode M in the coded video data, either expressly or impliedly.


The quantizer 816 may operate according to a quantization parameter QP that is supplied by the controller 860. In an embodiment, the quantization parameter QP may be applied to the transform coefficients as a multi-value quantization parameter, which may vary, for example, across different coefficient locations within a transform-domain pixel block. Thus, the quantization parameter QP may be provided as a quantization parameters array.


The entropy coder 818, as its name implies, may perform entropy coding of data output from the quantizer 816. For example, the entropy coder 818 may perform run length coding, Huffman coding, Golomb coding and the like.


The pixel block decoder 820 may invert coding operations of the pixel block coder 810. For example, the pixel block decoder 820 may include a dequantizer 822, an inverse transform unit 824, and an adder 826. The pixel block decoder 820 may take its input data from an output of the quantizer 816. Although permissible, the pixel block decoder 820 need not perform entropy decoding of entropy-coded data since entropy coding is a lossless event. The dequantizer 822 may invert operations of the quantizer 816 of the pixel block coder 810. The dequantizer 822 may perform uniform or non-uniform de-quantization as specified by the decoded signal QP. Similarly, the inverse transform unit 824 may invert operations of the transform unit 814. The dequantizer 822 and the inverse transform unit 824 may use the same quantization parameters QP and transform mode M as their counterparts in the pixel block coder 810. Quantization operations likely will truncate data in various respects and, therefore, data recovered by the dequantizer 822 likely will possess coding errors when compared to the data presented to the quantizer 816 in the pixel block coder 810.


The adder 826 may invert operations performed by the subtractor 812. It may receive the same prediction pixel block from the predictor 850 that the subtractor 812 used in generating residual signals. The adder 826 may add the prediction pixel block to reconstructed residual values output by the inverse transform unit 824 and may output reconstructed pixel block data.


The in-loop filter 830 may perform various filtering operations on recovered pixel block data. For example, the in-loop filter 830 may include a deblocking filter 832 and a sample adaptive offset (“SAO”) filter 833. The deblocking filter 832 may filter data at seams between reconstructed pixel blocks to reduce discontinuities between the pixel blocks that arise due to coding. SAO filters may add offsets to pixel values according to an SAO “type,” for example, based on edge direction/shape and/or pixel/color component level. The in-loop filter 830 may operate according to parameters that are selected by the controller 860.


The reference picture store 840 may store filtered pixel data for use in later prediction of other pixel blocks. Different types of prediction data are made available to the predictor 850 for different prediction modes. For example, for an input pixel block, intra prediction takes a prediction reference from decoded data of the same picture in which the input pixel block is located. Thus, the reference picture store 840 may store decoded pixel block data of each picture as it is coded. For the same input pixel block, inter prediction may take a prediction reference from previously coded and decoded picture(s) that are designated as reference pictures. Thus, the reference picture store 840 may store these decoded reference pictures.


As discussed, the predictor 850 may supply prediction data to the pixel block coder 810 for use in generating residuals. The predictor 850 may include an inter predictor 852, an intra predictor 853 and a mode decision unit 852. The inter predictor 852 may receive pixel block data representing a new pixel block to be coded and may search reference picture data from store 840 for pixel block data from reference picture(s) for use in coding the input pixel block. The inter predictor 852 may support a plurality of prediction modes, such as P mode coding and B mode coding. The inter predictor 852 may select an inter prediction mode and an identification of candidate prediction reference data that provides a closest match to the input pixel block being coded. The inter predictor 852 may generate prediction reference metadata, such as motion vectors, to identify which portion(s) of which reference pictures were selected as source(s) of prediction for the input pixel block.


The intra predictor 853 may support Intra (I) mode coding. The intra predictor 853 may search from among pixel block data from the same picture as the pixel block being coded that provides a closest match to the input pixel block. The intra predictor 853 also may generate prediction reference indicators to identify which portion of the picture was selected as a source of prediction for the input pixel block.


The mode decision unit 852 may select a final coding mode to be applied to the input pixel block. Typically, as described above, the mode decision unit 852 selects the prediction mode that will achieve the lowest distortion when video is decoded given a target bitrate. Exceptions may arise when coding modes are selected to satisfy other policies to which the coding system 800 adheres, such as satisfying a particular channel behavior, or supporting random access or data refresh policies. When the mode decision selects the final coding mode, the mode decision unit 852 may output a selected reference block from the store 840 to the pixel block coder and decoder 810, 820 and may supply to the controller 860 an identification of the selected prediction mode along with the prediction reference indicators corresponding to the selected mode.


The controller 860 may control overall operation of the coding system 800. The controller 860 may select operational parameters for the pixel block coder 810 and the predictor 850 based on analyses of input pixel blocks and also external constraints, such as coding bitrate targets and other operational parameters. As is relevant to the present discussion, when it selects quantization parameters QP, the use of uniform or non-uniform quantizers, and/or the transform mode M, it may provide those parameters to the syntax unit 870, which may include data representing those parameters in the data stream of coded video data output by the system 800. The controller 860 also may select between different modes of operation by which the system may generate reference images and may include metadata identifying the modes selected for each portion of coded data.


During operation, the controller 860 may revise operational parameters of the quantizer 816 and the transform unit 815 at different granularities of image data, either on a per pixel block basis or on a larger granularity (for example, per picture, per slice, per largest coding unit (“LCU”) or another region). In an embodiment, the quantization parameters may be revised on a per-pixel basis within a coded picture.


Additionally, as discussed, the controller 860 may control operation of the in-loop filter 830 and the prediction unit 850. Such control may include, for the prediction unit 850, mode selection (lambda, modes to be tested, search windows, distortion strategies, etc.), and, for the in-loop filter 830, selection of filter parameters, reordering parameters, weighted prediction, etc.


And, further, the controller 860 may perform transforms of reference pictures stored in the reference picture store when new packing configurations are defined for input video.


The principles of the present discussion may be used cooperatively with other coding operations that have been proposed for multi-view video. For example, the predictor 850 may perform prediction searches using input pixel block data and reference pixel block data in a spherical projection. Operation of such prediction techniques are may be performed as described in U.S. patent application Ser. No. 15/390,202, filed Dec. 23, 2016 and U.S. patent application Ser. No. 15/443,342, filed Feb. 27, 2017, both of which are assigned to the assignee of the present application, the disclosures of which are incorporated herein by reference. In such an embodiment, the coder 800 may include a spherical transform unit 890 that transforms input pixel block data to a spherical domain prior to being input to the predictor 850.


As indicated, the coded video data output by the video coder 230 should consume less bandwidth than the input data when transmitted and/or stored. The coding system 200 may output the coded video data to an output device 270, such as a transmitter, that may transmit the coded video data across a communication network 130 (FIG. 1). Alternatively, the coding system 200 may output coded data to a storage device (not shown) such as an electronic-, magnetic- and/or optical storage medium.



FIG. 9 is a functional block diagram of a decoding system 900 according to an embodiment of the present disclosure. The decoding system 900 may include a receiver 910, a video decoder 920, an image processor 930, a video sink 940, a reference picture store 950 and a predictor 960. The receiver 910 may receive coded video data from a channel and route it to the video decoder 920. The video decoder 920 may decode the coded video data with reference to prediction data supplied by the predictor 960.


The predictor 960 may receive prediction metadata in the coded video data, retrieve content from the reference picture store 950 in response thereto, and provide the retrieved prediction content to the video decoder 920 for use in decoding.


The video sink 940, as indicated, may consume decoded video generated by the decoding system 900. Video sinks 940 may be embodied by, for example, display devices that render decoded video. In other applications, video sinks 940 may be embodied by computer applications, for example, gaming applications, virtual reality applications and/or video editing applications, that integrate the decoded video into their content. In some applications, a video sink may process the entire multi-view field of view of the decoded video for its application but, in other applications, a video sink 940 may process a selected sub-set of content from the decoded video. For example, when rendering decoded video on a flat panel display, it may be sufficient to display only a selected sub-set of the multi-view video. In another application, decoded video may be rendered in a multi-view format, for example, in a planetarium.



FIG. 10 is a functional block diagram of a decoding system 1000 according to an embodiment of the present disclosure. The decoding system 1000 may include a syntax unit 1010, a pixel block decoder 1020, an in-loop filter 1030, a reference picture store 1040, a predictor 1050, and a controller 1060. The syntax unit 1010 may receive a coded video data stream and may parse the coded data into its constituent parts. Data representing coding parameters may be furnished to the controller 1060 while data representing coded residuals (the data output by the pixel block coder 810 of FIG. 8) may be furnished to the pixel block decoder 1020. The pixel block decoder 1020 may invert coding operations provided by the pixel block coder 810 (FIG. 8). The in-loop filter 1030 may filter reconstructed pixel block data. The reconstructed pixel block data may be assembled into pictures for display and output from the decoding system 1000 as output video. The pictures also may be stored in the prediction buffer 1040 for use in prediction operations. The predictor 1050 may supply prediction data to the pixel block decoder 1020 as determined by coding data received in the coded video data stream.


The pixel block decoder 1020 may include an entropy decoder 1022, a dequantizer 1024, an inverse transform unit 1026, and an adder 1028. The entropy decoder 1022 may perform entropy decoding to invert processes performed by the entropy coder 818 (FIG. 8). The dequantizer 1024 may invert operations of the quantizer 1016 of the pixel block coder 810 (FIG. 8). Similarly, the inverse transform unit 1026 may invert operations of the transform unit 814 (FIG. 8). They may use the quantization parameters QP and transform modes M that are provided in the coded video data stream. Because quantization is likely to truncate data, the data recovered by the dequantizer 1024, likely will possess coding errors when compared to the input data presented to its counterpart quantizer 1016 in the pixel block coder 810 (FIG. 8).


The adder 1028 may invert operations performed by the subtractor 810 (FIG. 8). It may receive a prediction pixel block from the predictor 1050 as determined by prediction references in the coded video data stream. The adder 1028 may add the prediction pixel block to reconstructed residual values output by the inverse transform unit 1026 and may output reconstructed pixel block data.


The in-loop filter 1030 may perform various filtering operations on reconstructed pixel block data. As illustrated, the in-loop filter 1030 may include a deblocking filter 1032 and an SAO filter 1034. The deblocking filter 1032 may filter data at seams between reconstructed pixel blocks to reduce discontinuities between the pixel blocks that arise due to coding. SAO filters 1034 may add offset to pixel values according to an SAO type, for example, based on edge direction/shape and/or pixel level. Other types of in-loop filters may also be used in a similar manner. Operation of the deblocking filter 1032 and the SAO filter 1034 ideally would mimic operation of their counterparts in the coding system 800 (FIG. 8). Thus, in the absence of transmission errors or other abnormalities, the decoded picture obtained from the in-loop filter 1030 of the decoding system 1000 would be the same as the decoded picture obtained from the in-loop filter 810 of the coding system 800 (FIG. 8); in this manner, the coding system 800 and the decoding system 1000 should store a common set of reference pictures in their respective reference picture stores 840, 1040.


The reference picture store 1040 may store filtered pixel data for use in later prediction of other pixel blocks. The reference picture store 1040 may store decoded pixel block data of each picture as it is coded for use in intra prediction. The reference picture store 1040 also may store decoded reference pictures.


As discussed, the predictor 1050 may supply the transformed reference block data to the pixel block decoder 1020. The predictor 1050 may supply predicted pixel block data as determined by the prediction reference indicators supplied in the coded video data stream.


The controller 1060 may control overall operation of the coding system 1000. The controller 1060 may set operational parameters for the pixel block decoder 1020 and the predictor 1050 based on parameters received in the coded video data stream. As is relevant to the present discussion, these operational parameters may include quantization parameters QP for the dequantizer 1024 and transform modes M for the inverse transform unit 1010. As discussed, the received parameters may be set at various granularities of image data, for example, on a per pixel block basis, a per picture basis, a per slice basis, a per LCU basis, or based on other types of regions defined for the input image.


And, further, the controller 1060 may perform transforms of reference pictures stored in the reference picture store 1040 when new packing configurations are detected in coded video data.


The foregoing discussion has described operation of the embodiments of the present disclosure in the context of video coders and decoders. Commonly, these components are provided as electronic devices. Video decoders and/or controllers can be embodied in integrated circuits, such as application specific integrated circuits, field programmable gate arrays and/or digital signal processors. Alternatively, they can be embodied in computer programs that execute on camera devices, personal computers, notebook computers, tablet computers, smartphones or computer servers. Such computer programs typically are stored in physical storage media such as electronic-, magnetic-and/or optically-based storage devices, where they are read to a processor and executed. Decoders commonly are packaged in consumer electronics devices, such as smartphones, tablet computers, gaming systems, DVD players, portable media players and the like; and they also can be packaged in consumer software applications such as video games, media players, media editors, and the like. And, of course, these components may be provided as hybrid systems that distribute functionality across dedicated hardware components and programmed general-purpose processors, as desired.


For example, the techniques described herein may be performed by a central processor of a computer system. FIG. 11 illustrates an exemplary computer system 1100 that may perform such techniques. The computer system 1100 may include a central processor 1110 and a memory 1120. The central processor 1110 may read and execute various program instructions stored in the memory 1120 that define an operating system 1112 of the system 1100 and various applications 1114.1-1114.N. The program instructions may cause the processor to perform image processing, including the object tracking and view shift techniques described hereinabove. They also may cause the processor to perform video coding also as described herein. As it executes those program instructions, the central processor 1110 may read, from the memory 1120, image data representing the multi-view image and may create extracted video that is return to the memory 1120.


As indicated, the memory 1120 may store program instructions that, when executed, cause the processor to perform the techniques described hereinabove. The memory 1120 may store the program instructions on electrical-, magnetic- and/or optically-based storage media.


The system 1100 may possess other components as may be consistent with the system's role as an image source device, an image sink device or both. Thus, in a role as an image source device, the system 1100 may possess one or more cameras 1130 that generate the multi-view video. The system 1100 also may possess a coder 1140 to perform video coding on the video and a transmitter 1150 (shown as TX) to transmit data out from the system 1100. The coder 1150 may be provided as a hardware device (e.g., a processing circuit separate from the central processor 1100) or it may be provided in software as an application 1114.1.


In a role as an image sink device, the system 1100 may possess a receiver 1150 (shown as RX), a coder 1140, a display 1160 and user interface elements 1170. The receiver 1150 may receive data and the coder 1140 may decode the data. The display 1160 may be a display device on which content of the view window is rendered. The user interface 1170 may include component devices (such as motion sensors, touch screen inputs, keyboard inputs, remote control inputs and/or controller inputs) through which operators input data to the system 1100.


Several embodiments of the present disclosure are specifically illustrated and described herein. However, it will be appreciated that modifications and variations of the present disclosure are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the disclosure.

Claims
  • 1. A method of displaying video, comprising: identifying an object from a first portion of multi-view video content corresponding to a location in an image space of the multi-view video of a display window location for a display device at a first time;tracking a location of the object across a video sequence of the multi-view video content;determining a location of a view window in the image space based on the tracked location of the object at a second time;when the location of the view window at the second time is inconsistent with a location of the display window at the second time, identifying a new object in a second portion of the multi-view video content corresponding to the display window location at the second time, and designating the new object as the object for future tracking;extracting from the video sequence a portion of multi-view video content contained within the view window;performing video compression on the extracted video; andtransmitting the extracted video in compressed form to the display device.
  • 2. The method of claim 1, wherein the image space is a spherical projection of image data.
  • 3. The method of claim 1, wherein the image space is an equirectangular image.
  • 4. The method of claim 1, further comprising, before the identifying of the object from the first portion, retrieving the multi-view video from storage.
  • 5. The method of claim 1, further comprising, buffering a portion of the multi-view video, andperforming the tracking across the buffered multi-view video,wherein the view window is shifted and zoomed based on tracking across the buffered multi-view video.
  • 6. The method of claim 1, wherein the identifying of the new object in the second portion is performed in response to an operator input at the display device.
  • 7. The method of claim 1, wherein the identifying of the object from the first portion is performed in response to input from an author of the multi-view video.
  • 8. The method of claim 1, further comprising: estimating an amount of motion of the tracked object,wherein, based on the amount of motion, the view window includes a shift in zoom of image content extracted from the multi-view video.
  • 9. The method of claim 1, further comprising: estimating an orientation of the display device,wherein the view window aligns an orientation of image content from the multi-view video with the orientation of the display device.
  • 10. The method of claim 1, wherein the first portion correspond to a display window of the display device at an initial time, and further comprising: when the view window location is inconsistent with an updated display window of the display device at a later time, identifying a new object from the updated display window, tracking a location of the new object, and determining the view window location based on the tracked location of the new object.
  • 11. The method of claim 1, wherein: the display window location at the first time is identified by a user of a display device receiving the extracted video at the first time; andthe display window location at the second time is identified by the user of the display device at the second time later than the first time.
  • 12. The method of claim 1, wherein the identifying an object at the first time identifies a plurality of objects at the first time, and the method further comprises: selecting a first object from the plurality of objects, wherein the tracking of the location of the object tracks the location of the first object,the determining the location of the view window at the second time is based on the tracked location of the first object, andthe identified new object for future tracking is a second object selected from the plurality of objects at the first time.
  • 13. A non-transitory computer readable medium storing program instructions that, when executed, cause a process device to execute a method that comprises: identifying an object from a first portion of multi-view video content corresponding to a location in an image space of the multi-view video of a display window location for a display device at a first time;tracking a location of the object across a video sequence of the multi-view video content;determining a location of a view window in the image space based on the tracked location of the object at a second time;when the location of the view window at the second time is inconsistent with a location of the display window at the second time, identifying a new object in a second portion of the multi-view video content corresponding to the display window location at the second time, and designating the new object as the object for future tracking;extracting from the video sequence a portion of multi-view video content contained within the view window;performing video compression on the extracted video; andtransmitting the extracted video in compressed form to the display device.
  • 14. The medium of claim 13, wherein the image space is a spherical projection of image data.
  • 15. The medium of claim 13, wherein the image space is an equirectangular image.
  • 16. The medium of claim 13, wherein the method further comprises: buffering a portion of the multi-view video, andperforming the tracking across the buffered multi-view video,wherein the view window is shifted and zoomed based on tracking across the buffered multi-view video.
  • 17. The medium of claim 13, wherein the identifying of the new object in the second portion is performed in response to an operator input at the display device.
  • 18. The medium of claim 13, wherein the identifying of the object from the first portion is performed in response to input from an author of the multi-view video.
  • 19. The medium of claim 13, wherein the method further comprises: estimating an amount of motion of the tracked object,wherein, based on the amount of motion, the view window includes a shift in zoom of image content extracted from the multi-view video.
  • 20. The medium of claim 13, wherein the method further comprises: estimating an orientation of the display device,wherein the view window aligns an orientation of image content from the multi-view video with the orientation of the display device.
  • 21. Apparatus comprising: a receiver having an output for multi-view video;a processor having an input for the multi-view video, to identify, from data representing an orientation of the apparatus with respect to gravity, an object from a first portion of the multi-view video content corresponding to a location in an image space of the multi-view video of a display window of the apparatus at a first time,track a location of the object across a video sequence of the multi-view video content,determining a location of a view window in the image space based on the tracked location of the object at a second time and the identified orientation,when the view window location at the second time is inconsistent with a location of the display window at a second time, identify a new object in a second portion of the multi-view video content corresponding to the display window location at the second time and designate the new object as the object for future tracking,extract from the video sequence a portion of the multi-video video content contained within the view window, anda display having an input for the extracted video.
  • 22. Apparatus comprising: an image source having an output for multi-view video;a processor having an input for the multi-view video, to identify an object from a first portion of the multi-view video content corresponding to a first location of a display window at a first video time,track a location of the object across a video sequence of the multi-view video content,estimate an orientation of a display device with respect to gravity,determine a view window in an image space of the multi-view video based on the tracked location of the object and the estimated orientation,when the view window location is inconsistent with an updated location of the display window at a second video time after the first video time, identify a new object from the updated location and designate the new object as the object for future tracking;extract from the video sequence a sub-set of the video contained within the view window, andperform video compression on the extracted video,an output device for the extracted video in compressed form.
US Referenced Citations (546)
Number Name Date Kind
4890257 Anthias et al. Dec 1989 A
5185667 Zimmerman Feb 1993 A
5262777 Low et al. Nov 1993 A
5313306 Kuban et al. May 1994 A
5359363 Kuban et al. Oct 1994 A
5448687 Hoogerhyde et al. Sep 1995 A
5537155 O'Connell et al. Jul 1996 A
5600346 Kamata et al. Feb 1997 A
5684937 Oxaal Nov 1997 A
5689800 Downs Nov 1997 A
5715016 Kobayashi et al. Feb 1998 A
5787207 Golin Jul 1998 A
5872604 Ogura Feb 1999 A
5903270 Gentry et al. May 1999 A
5936630 Oxaal Aug 1999 A
6011897 Koyama et al. Jan 2000 A
6031540 Golin et al. Feb 2000 A
6043837 Driscoll, Jr. Mar 2000 A
6058212 Yokoyama May 2000 A
6122317 Hanami et al. Sep 2000 A
6144890 Rothkop Nov 2000 A
6204854 Signes et al. Mar 2001 B1
6219089 Driscoll, Jr. et al. Apr 2001 B1
6222883 Murdock et al. Apr 2001 B1
6317159 Aoyama Nov 2001 B1
6331869 Furlan et al. Dec 2001 B1
6426774 Driscoll, Jr. et al. Jul 2002 B1
6535643 Hong Mar 2003 B1
6539060 Lee et al. Mar 2003 B1
6559853 Hashimoto et al. May 2003 B1
6577335 Kobayashi et al. Jun 2003 B2
6751347 Pettigrew et al. Jun 2004 B2
6762789 Sogabe Jul 2004 B1
6769131 Tanaka et al. Jul 2004 B1
6795113 Jackson et al. Sep 2004 B1
6907310 Gardner et al. Jun 2005 B2
6973130 Wee et al. Dec 2005 B1
6993201 Haskell et al. Jan 2006 B1
7006707 Peterson Feb 2006 B2
7015954 Foote et al. Mar 2006 B1
7039113 Soundararajan May 2006 B2
7050085 Park et al. May 2006 B1
7095905 Peterson Aug 2006 B1
7123777 Rondinelli et al. Oct 2006 B2
7139440 Rondinelli et al. Nov 2006 B2
7149549 Ortiz et al. Dec 2006 B1
7259760 Hashimoto et al. Aug 2007 B1
7327787 Chen et al. Feb 2008 B1
7382399 McCall et al. Jun 2008 B1
7385995 Stiscia et al. Jun 2008 B2
7415356 Gowda et al. Aug 2008 B1
7433535 Mukherjee et al. Oct 2008 B2
7450749 Rouet et al. Nov 2008 B2
7593041 Novak et al. Sep 2009 B2
7620261 Chiang et al. Nov 2009 B2
7660245 Luby Feb 2010 B1
7742073 Cohen-Solal et al. Jun 2010 B1
7755667 Rabbani et al. Jul 2010 B2
7782357 Cutler Aug 2010 B2
8027473 Stiscia et al. Sep 2011 B2
8045615 Liang et al. Oct 2011 B2
8217956 Jin Jul 2012 B1
8255552 Witt et al. Aug 2012 B2
8270496 Yin et al. Sep 2012 B2
8295360 Lewis et al. Oct 2012 B1
8339394 Lininger Dec 2012 B1
8442109 Wang et al. May 2013 B2
8442311 Hobbs et al. May 2013 B1
8462109 Nasiri et al. Jun 2013 B2
8462853 Jeon et al. Jun 2013 B2
8482595 Kweon Jul 2013 B2
8682091 Amit et al. Mar 2014 B2
8693537 Wang et al. Apr 2014 B2
8711941 Letunovskiy et al. Apr 2014 B2
9013536 Zhu et al. Apr 2015 B2
9071484 Traux Jun 2015 B1
9094681 Wilkins et al. Jul 2015 B1
9098870 Meadow et al. Aug 2015 B2
9219919 Deshpande Dec 2015 B2
9224247 Wada et al. Dec 2015 B2
9258520 Lee Feb 2016 B2
9277122 Imura et al. Mar 2016 B1
9404764 Lynch Aug 2016 B2
9430873 Nakamura et al. Aug 2016 B2
9510007 Chan et al. Nov 2016 B2
9516225 Banta et al. Dec 2016 B2
9569669 Kritt Feb 2017 B2
9596899 Stahl et al. Mar 2017 B2
9639935 Douady-Pleven et al. May 2017 B1
9723223 Banta et al. Aug 2017 B1
9743060 Matias Aug 2017 B1
9754413 Gray Sep 2017 B1
9781356 Banta et al. Oct 2017 B1
9823835 Wang Nov 2017 B2
9838687 Banta et al. Dec 2017 B1
9866815 Vrcelj et al. Jan 2018 B2
9936204 Sim et al. Apr 2018 B1
9967563 Hsu et al. May 2018 B2
9967577 Wu et al. May 2018 B2
9992502 Abbas et al. Jun 2018 B2
9996945 Holzer Jun 2018 B1
10102611 Murtha et al. Oct 2018 B1
10204658 Krishnan Feb 2019 B2
10212456 Guo et al. Feb 2019 B2
10264282 Huang et al. Apr 2019 B2
10277897 Mukherjee et al. Apr 2019 B1
10282814 Lin et al. May 2019 B2
10306186 Chuang et al. May 2019 B2
10321109 Tanumihardja et al. Jun 2019 B1
10334222 Kokare et al. Jun 2019 B2
10339627 Abbas et al. Jul 2019 B2
10339688 Su et al. Jul 2019 B2
10349068 Banta et al. Jul 2019 B1
10375371 Xu et al. Aug 2019 B2
10455238 Mody et al. Oct 2019 B2
10523913 Kim et al. Dec 2019 B2
10559121 Moudgil et al. Feb 2020 B1
10573060 Ascolese et al. Feb 2020 B1
10574997 Chung et al. Feb 2020 B2
10593012 Lee et al. Mar 2020 B2
10614609 Shih et al. Apr 2020 B2
10642041 Han May 2020 B2
10643370 Lin et al. May 2020 B2
10652284 Liu May 2020 B2
10728546 Leontaris et al. Jul 2020 B2
10740618 Karlsson Aug 2020 B1
20010006376 Numa Jul 2001 A1
20010028735 Pettigrew et al. Oct 2001 A1
20010036303 Maurincomme et al. Nov 2001 A1
20020080878 Li Jun 2002 A1
20020093670 Luo et al. Jul 2002 A1
20020126129 Snyder et al. Sep 2002 A1
20020140702 Koller et al. Oct 2002 A1
20020141498 Martins Oct 2002 A1
20020190980 Gerritsen et al. Dec 2002 A1
20020196330 Park Dec 2002 A1
20030098868 Fujiwara et al. May 2003 A1
20030099294 Wang et al. May 2003 A1
20030152146 Lin et al. Aug 2003 A1
20040022322 Dye Feb 2004 A1
20040028133 Subramaniyan et al. Feb 2004 A1
20040028134 Subramaniyan et al. Feb 2004 A1
20040032906 Lillig et al. Feb 2004 A1
20040056900 Blume Mar 2004 A1
20040189675 Pretlove Sep 2004 A1
20040201608 Ma et al. Oct 2004 A1
20040218099 Washington Nov 2004 A1
20040227766 Chou et al. Nov 2004 A1
20040247173 Nielsen et al. Dec 2004 A1
20050013498 Srinivasan et al. Jan 2005 A1
20050041023 Green Feb 2005 A1
20050069682 Tseng Mar 2005 A1
20050129124 Ha Jun 2005 A1
20050204113 Harper et al. Sep 2005 A1
20050243915 Kwon et al. Nov 2005 A1
20050244063 Kwon et al. Nov 2005 A1
20060034527 Gritsevich Feb 2006 A1
20060055699 Perlman et al. Mar 2006 A1
20060055706 Perlman et al. Mar 2006 A1
20060110062 Chiang et al. May 2006 A1
20060119599 Woodbury Jun 2006 A1
20060126719 Wilensky Jun 2006 A1
20060132482 Oh Jun 2006 A1
20060165164 Kwan et al. Jul 2006 A1
20060165181 Kwan et al. Jul 2006 A1
20060204043 Takei Sep 2006 A1
20060238445 Wang et al. Oct 2006 A1
20060282855 Margulis Dec 2006 A1
20070024705 Richter et al. Feb 2007 A1
20070057943 Beda et al. Mar 2007 A1
20070064120 Didow et al. Mar 2007 A1
20070071100 Shi et al. Mar 2007 A1
20070097268 Relan et al. May 2007 A1
20070115841 Taubman et al. May 2007 A1
20070223582 Borer Sep 2007 A1
20070263722 Fukuzawa Nov 2007 A1
20070291143 Barbieri et al. Dec 2007 A1
20080036875 Jones Feb 2008 A1
20080044104 Gering Feb 2008 A1
20080049991 Gering Feb 2008 A1
20080077953 Fernandez et al. Mar 2008 A1
20080118180 Kamiya et al. May 2008 A1
20080184128 Swenson et al. Jul 2008 A1
20080252717 Moon et al. Oct 2008 A1
20080310513 Ma et al. Dec 2008 A1
20090040224 Igarashi et al. Feb 2009 A1
20090123088 Kallay et al. May 2009 A1
20090153577 Ghyme et al. Jun 2009 A1
20090190858 Moody et al. Jul 2009 A1
20090219280 Maillot Sep 2009 A1
20090219281 Maillot Sep 2009 A1
20090251530 Cilia Oct 2009 A1
20090262838 Gholmieh et al. Oct 2009 A1
20100029339 Kim et al. Feb 2010 A1
20100061451 Fuchigami Mar 2010 A1
20100079605 Wang et al. Apr 2010 A1
20100080287 Ali Apr 2010 A1
20100110481 Do et al. May 2010 A1
20100124274 Cheok et al. May 2010 A1
20100135389 Tanizawa et al. Jun 2010 A1
20100215226 Kaufman et al. Aug 2010 A1
20100305909 Wolper et al. Dec 2010 A1
20100316129 Zhao et al. Dec 2010 A1
20100329361 Choi et al. Dec 2010 A1
20100329362 Choi et al. Dec 2010 A1
20110058055 Lindahl et al. Mar 2011 A1
20110090967 Chen et al. Apr 2011 A1
20110128350 Oliver Jun 2011 A1
20110142306 Nair Jun 2011 A1
20110194617 Kumar et al. Aug 2011 A1
20110200100 Kim et al. Aug 2011 A1
20110235706 Demircin et al. Sep 2011 A1
20110274158 Fu et al. Nov 2011 A1
20110305274 Fu et al. Dec 2011 A1
20110310089 Petersen Dec 2011 A1
20120082232 Rojals et al. Apr 2012 A1
20120098926 Kweon Apr 2012 A1
20120192115 Falchuk et al. Jul 2012 A1
20120219055 He et al. Aug 2012 A1
20120230392 Zheng et al. Sep 2012 A1
20120260217 Celebisoy Oct 2012 A1
20120263231 Zhou Oct 2012 A1
20120307746 Hammerschmidt et al. Dec 2012 A1
20120320169 Bathiche Dec 2012 A1
20120320984 Zhou Dec 2012 A1
20120327172 El-Saban et al. Dec 2012 A1
20130003858 Sze Jan 2013 A1
20130016783 Kim et al. Jan 2013 A1
20130044108 Tanaka et al. Feb 2013 A1
20130051452 Li et al. Feb 2013 A1
20130051467 Zhou et al. Feb 2013 A1
20130088491 Hobbs et al. Apr 2013 A1
20130094568 Hsu et al. Apr 2013 A1
20130101025 Van der Auwera et al. Apr 2013 A1
20130101042 Sugio et al. Apr 2013 A1
20130111399 Rose May 2013 A1
20130124156 Wolper et al. May 2013 A1
20130127844 Koeppel et al. May 2013 A1
20130128986 Tsai et al. May 2013 A1
20130136174 Xu et al. May 2013 A1
20130170726 Kaufman et al. Jul 2013 A1
20130182775 Wang et al. Jul 2013 A1
20130195183 Zhai et al. Aug 2013 A1
20130208787 Zheng et al. Aug 2013 A1
20130219012 Suresh et al. Aug 2013 A1
20130251028 Au et al. Sep 2013 A1
20130272415 Zhou Oct 2013 A1
20130301706 Qiu et al. Nov 2013 A1
20140002439 Lynch Jan 2014 A1
20140003450 Bentley et al. Jan 2014 A1
20140010293 Srinivasan et al. Jan 2014 A1
20140078263 Kim Mar 2014 A1
20140082054 Denoual et al. Mar 2014 A1
20140089326 Lin et al. Mar 2014 A1
20140140401 Lee et al. May 2014 A1
20140153636 Esenlik et al. Jun 2014 A1
20140169469 Bernal et al. Jun 2014 A1
20140176542 Shohara et al. Jun 2014 A1
20140218356 Distler et al. Aug 2014 A1
20140254949 Chou Sep 2014 A1
20140267235 DeJohn Sep 2014 A1
20140269899 Park et al. Sep 2014 A1
20140286410 Zenkich Sep 2014 A1
20140355667 Lei et al. Dec 2014 A1
20140368669 Talvala et al. Dec 2014 A1
20140376634 Guo et al. Dec 2014 A1
20150003525 Sasai et al. Jan 2015 A1
20150003725 Wan Jan 2015 A1
20150016522 Sato Jan 2015 A1
20150029294 Lin et al. Jan 2015 A1
20150062292 Kweon Mar 2015 A1
20150089348 Jose Mar 2015 A1
20150103884 Ramasubramonian et al. Apr 2015 A1
20150145966 Krieger et al. May 2015 A1
20150195491 Shaburov et al. Jul 2015 A1
20150195559 Chen et al. Jul 2015 A1
20150195573 Aflaki et al. Jul 2015 A1
20150215631 Zhou et al. Jul 2015 A1
20150237370 Zhou et al. Aug 2015 A1
20150256839 Ueki et al. Sep 2015 A1
20150264259 Raghoebardajal et al. Sep 2015 A1
20150264386 Pang et al. Sep 2015 A1
20150264404 Hannuksela Sep 2015 A1
20150271517 Pang et al. Sep 2015 A1
20150279087 Myers et al. Oct 2015 A1
20150279121 Myers et al. Oct 2015 A1
20150304665 Hannuksela et al. Oct 2015 A1
20150321103 Barnett et al. Nov 2015 A1
20150326865 Yin et al. Nov 2015 A1
20150339853 Wolper et al. Nov 2015 A1
20150341552 Chen et al. Nov 2015 A1
20150346812 Cole et al. Dec 2015 A1
20150346832 Cole Dec 2015 A1
20150350673 Hu et al. Dec 2015 A1
20150351477 Stahl et al. Dec 2015 A1
20150358612 Sandrew et al. Dec 2015 A1
20150358613 Sandrew et al. Dec 2015 A1
20150358633 Choi et al. Dec 2015 A1
20150373334 Rapaka et al. Dec 2015 A1
20150373372 He et al. Dec 2015 A1
20160012855 Krishnan Jan 2016 A1
20160014422 Su et al. Jan 2016 A1
20160027187 Wang et al. Jan 2016 A1
20160050369 Takenaka et al. Feb 2016 A1
20160080753 Oh Mar 2016 A1
20160112489 Adams et al. Apr 2016 A1
20160112704 Grange et al. Apr 2016 A1
20160142697 Budagavi et al. May 2016 A1
20160150231 Schulze May 2016 A1
20160165257 Chen et al. Jun 2016 A1
20160227214 Rapaka et al. Aug 2016 A1
20160234438 Satoh Aug 2016 A1
20160241836 Cole et al. Aug 2016 A1
20160269632 Morioka Sep 2016 A1
20160277746 Fu et al. Sep 2016 A1
20160286119 Rondinelli Sep 2016 A1
20160350585 Lin et al. Dec 2016 A1
20160350592 Ma et al. Dec 2016 A1
20160352791 Adams et al. Dec 2016 A1
20160352971 Adams et al. Dec 2016 A1
20160353089 Gallup Dec 2016 A1
20160353146 Weaver Dec 2016 A1
20160360104 Zhang et al. Dec 2016 A1
20160360180 Cole et al. Dec 2016 A1
20170013279 Puri et al. Jan 2017 A1
20170026659 Lin et al. Jan 2017 A1
20170038942 Rosenfeld et al. Feb 2017 A1
20170054907 Nishihara et al. Feb 2017 A1
20170064199 Lee et al. Mar 2017 A1
20170078447 Hancock et al. Mar 2017 A1
20170085892 Liu et al. Mar 2017 A1
20170094184 Gao Mar 2017 A1
20170104927 Mugavero et al. Apr 2017 A1
20170109930 Holzer Apr 2017 A1
20170127008 Kankaanpaa May 2017 A1
20170142371 Barzuza et al. May 2017 A1
20170155912 Thomas et al. Jun 2017 A1
20170180635 Hayashi et al. Jun 2017 A1
20170200255 Lin et al. Jul 2017 A1
20170200315 Lockhart Jul 2017 A1
20170208346 Narroschke et al. Jul 2017 A1
20170214937 Lin et al. Jul 2017 A1
20170223268 Shimmoto Aug 2017 A1
20170223368 Abbas et al. Aug 2017 A1
20170228867 Baruch Aug 2017 A1
20170230668 Lin et al. Aug 2017 A1
20170236323 Lim et al. Aug 2017 A1
20170244775 Ha et al. Aug 2017 A1
20170251208 Adsumilli et al. Aug 2017 A1
20170257644 Andersson et al. Sep 2017 A1
20170272698 Liu et al. Sep 2017 A1
20170272758 Lin et al. Sep 2017 A1
20170278262 Kawamoto Sep 2017 A1
20170280126 Van der Auwera et al. Sep 2017 A1
20170287200 Forutanpour et al. Oct 2017 A1
20170287220 Khalid et al. Oct 2017 A1
20170295356 Abbas et al. Oct 2017 A1
20170301065 Adsumilli et al. Oct 2017 A1
20170301132 Dalton et al. Oct 2017 A1
20170302714 Ramsay et al. Oct 2017 A1
20170302951 Joshi et al. Oct 2017 A1
20170309143 Trani et al. Oct 2017 A1
20170322635 Yoon et al. Nov 2017 A1
20170323422 Kim et al. Nov 2017 A1
20170323423 Lin et al. Nov 2017 A1
20170332107 Abbas et al. Nov 2017 A1
20170336705 Zhou Nov 2017 A1
20170339324 Tocher et al. Nov 2017 A1
20170339341 Zhou Nov 2017 A1
20170339391 Zhou Nov 2017 A1
20170339392 Forutanpour et al. Nov 2017 A1
20170339415 Wang et al. Nov 2017 A1
20170344843 Wang et al. Nov 2017 A1
20170353737 Lin et al. Dec 2017 A1
20170359590 Zhang et al. Dec 2017 A1
20170366808 Lin et al. Dec 2017 A1
20170374332 Yamaguchi et al. Dec 2017 A1
20170374375 Makar et al. Dec 2017 A1
20180005447 Wallner et al. Jan 2018 A1
20180005449 Wallner et al. Jan 2018 A1
20180007387 Izumi Jan 2018 A1
20180007389 Izumi Jan 2018 A1
20180018807 Lu et al. Jan 2018 A1
20180020202 Xu et al. Jan 2018 A1
20180020238 Liu et al. Jan 2018 A1
20180027178 Macmillan et al. Jan 2018 A1
20180027226 Abbas et al. Jan 2018 A1
20180027257 Izumi et al. Jan 2018 A1
20180047208 Marin et al. Feb 2018 A1
20180048890 Kim et al. Feb 2018 A1
20180053280 Kim et al. Feb 2018 A1
20180054613 Lin et al. Feb 2018 A1
20180061002 Lee et al. Mar 2018 A1
20180063505 Lee et al. Mar 2018 A1
20180063544 Tourapis et al. Mar 2018 A1
20180075576 Liu et al. Mar 2018 A1
20180075604 Kim et al. Mar 2018 A1
20180075635 Choi et al. Mar 2018 A1
20180077451 Yip et al. Mar 2018 A1
20180084257 Abbas Mar 2018 A1
20180091812 Guo et al. Mar 2018 A1
20180098090 Lin et al. Apr 2018 A1
20180101931 Abbas et al. Apr 2018 A1
20180109810 Xu et al. Apr 2018 A1
20180124312 Chang et al. May 2018 A1
20180130243 Kim et al. May 2018 A1
20180130264 Ebacher May 2018 A1
20180146136 Yamamoto May 2018 A1
20180146138 Jeon et al. May 2018 A1
20180152636 Yim et al. May 2018 A1
20180152663 Wozniak et al. May 2018 A1
20180160113 Jeong et al. Jun 2018 A1
20180160138 Park Jun 2018 A1
20180160156 Hannuksela et al. Jun 2018 A1
20180164593 Van der Auwera et al. Jun 2018 A1
20180167613 Hannuksela et al. Jun 2018 A1
20180167634 Salmimaa et al. Jun 2018 A1
20180174619 Roy et al. Jun 2018 A1
20180176468 Wang et al. Jun 2018 A1
20180176536 Jo et al. Jun 2018 A1
20180176596 Jeong et al. Jun 2018 A1
20180176603 Fujimoto Jun 2018 A1
20180184101 Ho Jun 2018 A1
20180184121 Kim et al. Jun 2018 A1
20180191787 Morita et al. Jul 2018 A1
20180192074 Shih et al. Jul 2018 A1
20180199029 Van der Auwera et al. Jul 2018 A1
20180199034 Nam et al. Jul 2018 A1
20180199070 Wang Jul 2018 A1
20180218512 Chan et al. Aug 2018 A1
20180220138 He et al. Aug 2018 A1
20180227484 Hung et al. Aug 2018 A1
20180234700 Kim et al. Aug 2018 A1
20180240223 Yi et al. Aug 2018 A1
20180240276 He et al. Aug 2018 A1
20180242016 Lee et al. Aug 2018 A1
20180242017 Van Leuven et al. Aug 2018 A1
20180249076 Sheng et al. Aug 2018 A1
20180249163 Curcio et al. Aug 2018 A1
20180249164 Kim et al. Aug 2018 A1
20180253879 Li et al. Sep 2018 A1
20180262775 Lee et al. Sep 2018 A1
20180268517 Coban et al. Sep 2018 A1
20180270417 Suitoh et al. Sep 2018 A1
20180276788 Lee et al. Sep 2018 A1
20180276789 Van der Auwera et al. Sep 2018 A1
20180276826 Van der Auwera et al. Sep 2018 A1
20180276890 Wang Sep 2018 A1
20180286109 Woo et al. Oct 2018 A1
20180288435 Boyce et al. Oct 2018 A1
20180295282 Boyce et al. Oct 2018 A1
20180302621 Fu et al. Oct 2018 A1
20180307398 Kim et al. Oct 2018 A1
20180315245 Patel Nov 2018 A1
20180322611 Bang et al. Nov 2018 A1
20180329482 Woo et al. Nov 2018 A1
20180332265 Hwang et al. Nov 2018 A1
20180332279 Kang et al. Nov 2018 A1
20180338142 Kim et al. Nov 2018 A1
20180343388 Matsushita Nov 2018 A1
20180349705 Kim et al. Dec 2018 A1
20180350407 Decoodt et al. Dec 2018 A1
20180352225 Guo et al. Dec 2018 A1
20180352259 Guo et al. Dec 2018 A1
20180352264 Guo et al. Dec 2018 A1
20180359487 Bang et al. Dec 2018 A1
20180374192 Kunkel et al. Dec 2018 A1
20180376126 Hannuksela Dec 2018 A1
20180376152 Wang et al. Dec 2018 A1
20190004414 Kim et al. Jan 2019 A1
20190007669 Kim et al. Jan 2019 A1
20190007679 Coban et al. Jan 2019 A1
20190007684 Van der Auwera et al. Jan 2019 A1
20190012766 Yoshimi Jan 2019 A1
20190014304 Curcio et al. Jan 2019 A1
20190026858 Lin et al. Jan 2019 A1
20190026934 Shih et al. Jan 2019 A1
20190026956 Gausebeck et al. Jan 2019 A1
20190028642 Fujita et al. Jan 2019 A1
20190045212 Rose et al. Feb 2019 A1
20190057487 Cheng Feb 2019 A1
20190057496 Ogawa et al. Feb 2019 A1
20190082184 Hannuksela Mar 2019 A1
20190104315 Guo et al. Apr 2019 A1
20190108611 Izumi Apr 2019 A1
20190132521 Fujita et al. May 2019 A1
20190132594 Chung et al. May 2019 A1
20190141318 Li et al. May 2019 A1
20190158800 Kokare et al. May 2019 A1
20190191170 Zhao et al. Jun 2019 A1
20190200016 Jang et al. Jun 2019 A1
20190200023 Hanhart et al. Jun 2019 A1
20190215512 Lee et al. Jul 2019 A1
20190215532 He Jul 2019 A1
20190230285 Kim Jul 2019 A1
20190230337 Kim Jul 2019 A1
20190230368 Zhao et al. Jul 2019 A1
20190230377 Ma et al. Jul 2019 A1
20190236990 Song et al. Aug 2019 A1
20190238888 Kim Aug 2019 A1
20190246141 Kim et al. Aug 2019 A1
20190253622 Van der Auwera et al. Aug 2019 A1
20190253624 Kim Aug 2019 A1
20190253703 Coban et al. Aug 2019 A1
20190260990 Lim et al. Aug 2019 A1
20190268594 Lim et al. Aug 2019 A1
20190272616 Lee et al. Sep 2019 A1
20190273929 Ma et al. Sep 2019 A1
20190273949 Kim et al. Sep 2019 A1
20190281217 Kim Sep 2019 A1
20190281273 Lin et al. Sep 2019 A1
20190281290 Lee et al. Sep 2019 A1
20190289324 Budagavi Sep 2019 A1
20190289331 Byun Sep 2019 A1
20190297341 Zhou Sep 2019 A1
20190297350 Lin et al. Sep 2019 A1
20190306515 Shima Oct 2019 A1
20190355126 Sun et al. Nov 2019 A1
20190379893 Krishnan Dec 2019 A1
20190387251 Lin et al. Dec 2019 A1
20200029077 Lee et al. Jan 2020 A1
20200036976 Kanoh et al. Jan 2020 A1
20200045323 Hannuksela Feb 2020 A1
20200058165 Choi et al. Feb 2020 A1
20200074587 Lee et al. Mar 2020 A1
20200074687 Lin et al. Mar 2020 A1
20200077092 Lin et al. Mar 2020 A1
20200084441 Lee et al. Mar 2020 A1
20200120340 Park et al. Apr 2020 A1
20200120359 Hanhart et al. Apr 2020 A1
20200137401 Kim et al. Apr 2020 A1
20200137418 Onno et al. Apr 2020 A1
20200153885 Lee et al. May 2020 A1
20200162731 Kim et al. May 2020 A1
20200213570 Shih et al. Jul 2020 A1
20200213571 Kim et al. Jul 2020 A1
20200213587 Galpin et al. Jul 2020 A1
20200234399 Lin et al. Jul 2020 A1
20200244957 Sasai et al. Jul 2020 A1
20200252650 Shih et al. Aug 2020 A1
20200260082 Lim et al. Aug 2020 A1
20200260120 Hanhart et al. Aug 2020 A1
20200267385 Lim et al. Aug 2020 A1
20200396461 Zhao et al. Dec 2020 A1
20210006714 Kim Jan 2021 A1
20210006838 Lee et al. Jan 2021 A1
Foreign Referenced Citations (13)
Number Date Country
2077525 Jul 2009 EP
2008-193458 Aug 2008 JP
2012-160886 Aug 2012 JP
2014-176034 Sep 2014 JP
2017-0015938 Feb 2017 KR
WO 2012044709 Apr 2012 WO
WO 2015138979 Sep 2015 WO
WO 2015184416 Dec 2015 WO
WO 2016076680 May 2016 WO
WO 2016140060 Sep 2016 WO
WO 2017125030 Jul 2017 WO
WO-2017127816 Jul 2017 WO
WO 2018118159 Jun 2018 WO
Non-Patent Literature Citations (19)
Entry
He et al.; “AHG8: InterDigital's projection format conversion tool”; Joint Video Exploration Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC 1/SC 29/WG 11 4th meeting; Oct. 2016; 18 pages.
Kammachi et al.; “AHG8: Test results for viewport-dependent pyramid, cube map, and equirectangular panorama schemes”; JVET-D00078; Oct. 2016; 7 pages.
Yip et al.; “Technologies under Considerations for ISO/IEC 23000-20 Omnidirectional Media Application Format”; ISO/IEC JTC1/SC29/WG11 MPEG2017/W16637; Jan. 2017; 50 pages.
International Patent Application No. PCT/US2018/018246; Int'l Search Report and the Written Opinion; dated Apr. 20, 2018; 15 pages.
Tosic et al.; “Multiresolution Motion Estimation for Omnidirectional Images”; IEEE 13th European Signal Processing Conference; Sep. 2005; 4 pages.
He et al.; “AHG8: Geometry padding for 360 video coding”; Joint Video Exploration Team (JVET); Document: JVET-D0075; Oct. 2016; 10 pages.
Vishwanath et al.; “Rotational Motion Model for Temporal Prediction in 360 Video Coding”; IEEE 19th Int'l Workshop on Multimedia Signal Processing; Oct. 2017; 6 pages.
Sauer et al.; “Improved Motion Compensation for 360 Video Projected to Polytopes” Proceedings of the IEEE Int'l Conf. on Multimedia and Expo; Jul. 2017; p. 61-66.
International Patent Application No. PCT/US2018/017124; Int'l Search Report and the Written Opinion; dated Apr. 30, 2018; 19 pages.
Boyce et al.; “Common Test Conditions and Evaluation Procedures for 360 degree Video Coding”; Joint Video Exploration Team; ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11; Doc. JVET-D1030; Oct. 2016; 6 pages.
Li et al.; “Projection Based Advanced Motion Model for Cubic Mapping for 360-Degree Video”; Cornell University Library; 2017; 5 pages.
Zheng et al.; “Adaptive Selection of Motion Models for Panoramic Video Coding”; IEEE Int'l Conf. Multimedia and Expo; Jul. 2007; p. 1319-1322.
He et al.; “AHG8: Algorithm description of InterDigital's projection format conversion tool (PCT360)”; Joint Video Exploration Team; ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11; Doc. JVET-D0090; Oct. 2016; 6 pages.
International Patent Application No. PCT/US2017/051542; Int'l Search Report and the Written Opinion; dated Dec. 7, 2017; 17 pages.
International Patent Application No. PCT/US2017/051542; Int'l Preliminary Report on Patentability; dated Jul. 4, 2019; 10 pages.
Choi et al.; “Text of ISO/IEC 23000-20 CD Omnidirectional Media Application Format”; Coding of Moving Pictures and Audio; ISO/IEC JTC1/SC29/WG11 N16636; Jan. 2017; 48 pages.
International Patent Application No. PCT/US2018/018246; Int'l Preliminary Report on Patentability; dated Sep. 6, 2019; 8 pages.
International Patent Application No. PCT/US2018/017124; Int'l Preliminary Report on Patentability; dated Aug. 29, 2019; 12 pages.
Sauer et al.; “Geometry correction for motion compensation of planar-projected 360VR video”; Joint Video Exploration Team; Document: JVET-D0067; Oct. 2016; 13 pages.
Related Publications (1)
Number Date Country
20180349705 A1 Dec 2018 US