Mirroring edge pixels
AssigneeAmazon Technologies, Inc.
InventorsCharles Benjamin Franklin Waggoner, Yongjun Wu
Life of this patent
Estimating the term…
Abstract
Techniques are described that enable a two-dimensional (2D) representation of three-dimensional (3D) virtual reality content to be generated and encoded. These techniques include modifying non-display pixels within the 2D representation to soften the transitions between display pixels and non-display pixels.
Claims24
A method, comprising:
- generating a two dimensional (2D) rectangular representation of virtual reality (VR) content by mapping VR content corresponding to a plurality of faces of a virtual three dimensional (3D) polygonal projection space to a 2D projection space, the VR content including one or more images corresponding to the plurality of faces of the virtual 3D polygonal projection space, the virtual 3D polygonal projection space corresponding to one of a hexahedron, a cube, an octahedron, a dodecahedron, or an icosahedron;
- identifying an edge within the 2D rectangular representation, the edge separating edge pixels of a first region within the 2D rectangular representation from edge pixels of a second region within the 2D rectangular representation, the edge pixels of the second region including at least a portion of display pixels of the second region and being immediately adjacent to the edge pixels of the first region, the edge pixels of the first region including at least a portion of non-display pixels of the first region, the display pixels containing image content of the VR content and the non-display pixels not containing image content of the VR content, the second region corresponding to one of the faces of the virtual 3D polygonal projection space, each of the display pixels and non-display pixels being represented by a corresponding set of pixel values including an intensity value;
- identifying at least a portion of the second region, the portion of the second region including at least one of:
- at least a portion of the edge pixels of the second region or a set of display pixels of the second region that are in close proximity to the edge;
- determining the intensity value for each of the display pixels of the portion of the second region within the 2D rectangular representation;
- for each of the non-display pixels of the first region within the 2D rectangular representation, determining a corresponding replacement intensity value based, at least in part, on the intensity value of at least one of the display pixels of the portion of the second region, the non-display pixels of the first region including the edge pixels of the first region;
- modifying the intensity value for each of the non-display pixels of the first region within the 2D rectangular representation to include the corresponding replacement intensity value such that modified non-display pixels are generated;
- and
- after modifying the intensity value for each of the non-display pixels of the first region within the 2D rectangular representation, encoding a plurality of pixels including the display pixels and the modified non-display pixels.
A computer program product, comprising one or more non-transitory computer readable media having computer program instructions stored therein, the computer program instructions being configured such that, when executed by one or more processors, the computer program instructions cause the one or more processors to:
- obtain a two dimensional (2D) representation of virtual reality (VR) content corresponding to a plurality of faces of a virtual three dimensional (3D) projection space, the VR content including one or more images corresponding to the plurality of faces of the virtual 3D projection space;
- identify an edge within the 2D representation, the edge separating edge pixels of a first region within the 2D representation from edge pixels of a second region within the 2D representation, the edge pixels of the second region including at least a portion of display pixels of the second region and being immediately adjacent to the edge pixels of the first region, the edge pixels of the first region including at least a portion of non-display pixels of the first region, the second region corresponding to one of the faces of the virtual 3D projection space, the display pixels containing image content of the VR content and the non-display pixels not containing image content of the VR content, each of the display pixels and non-display pixels having an associated pixel value;
- identify at least a portion of the second region, the portion of the second region including at least one of:
- at least a portion of the edge pixels of the second region or a set of display pixels of the second region that are in close proximity to the edge;
- determine the pixel value for each of the display pixels of the portion of the second region;
- for each of the non-display pixels of the first region, determine a corresponding replacement pixel value based, at least in part, on the pixel value of at least one of the display pixels of the portion of the second region, the non-display pixels of the first region including the edge pixels of the first region;
- modify the pixel value of each of the non-display pixels of the first region to include the corresponding replacement pixel value such that modified non-display pixels are generated;
- and
- after modifying the pixel value for each of the non-display pixels of the first region, encode a plurality of pixels including the display pixels and the modified non-display pixels.
A system, comprising:
- an encoder configured to encode video frames according to a particular encoding standard;
- and
- one or more processors and memory configured to:
- obtain a two dimensional (2D) representation of virtual reality (VR) content corresponding to a plurality of faces of a virtual three dimensional (3D) projection space, the VR content including one or more images corresponding to the plurality of faces of the virtual 3D projection space;
- identify an edge within the 2D representation, the edge separating edge pixels of a first region within the 2D representation from edge pixels of a second region within the 2D representation, the second region corresponding to one of the faces of the virtual 3D projection space, the edge pixels of the second region including at least a portion of display pixels of the second region and being immediately adjacent to the edge pixels of the first region, the edge pixels of the first region including at least a portion of non-display pixels of the first region, the display pixels containing image content of the VR content and the non-display pixels not containing image content of the VR content, each of the display pixels and non-display pixels having an associated pixel value;
- identify at least a portion of the second region, the portion of the second region including at least one of:
- at least a portion of the edge pixels of the second region or a set of display pixels of the second region that are in close proximity to the edge;
- determine the pixel value for each of the display pixels of the portion of the second region;
- for each of the non-display pixels of the first region, determine a corresponding replacement pixel value based, at least in part, on the pixel value of at least one of the display pixels of the portion of the second region, the non-display pixels of the first region including the edge pixels of the first region;
- modify the pixel value of each of the non-display pixels of the first region to include the corresponding replacement pixel value such that modified non-display pixels are generated;
- and
- after modifying the pixel value for each of the non-display pixels of the first region, encode, by the encoder, a plurality of pixels including the display pixels and the modified non-display pixels.
Dependencies are inferred from the claim text.