Patents by Inventor Ryan R. Salsbury

Ryan R. Salsbury has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20090289939
    Abstract: For ray tracing scenes composed of primitives, systems and methods can traverse rays through an acceleration structure. The traversal can be implemented by concurrently testing a plurality of nodes of the acceleration structure for intersection with a sequence of one or more rays. Such testing can occur in a plurality of test cells. Leaf nodes of the acceleration structure can bound primitives, and a sequence primitives can be tested concurrently for intersection in the test cells against a plurality of rays that have intersected a given leaf node. Intersection testing of a particular leaf node can be deferred until a sufficient quantity of rays have been collected for that node.
    Type: Application
    Filed: July 16, 2009
    Publication date: November 26, 2009
    Applicant: Caustic Graphics, Inc.
    Inventors: Luke Tilman Peterson, James Alexander McCombe, Ryan R. Salsbury
  • Publication number: 20090284523
    Abstract: For ray tracing scenes composed of primitives, systems and methods accelerate intersection testing by testing rays against elements of geometry acceleration data (GAD) arranged in a graph of nodes, where pairs of nodes are connected by edges, and each element bounds a varying granularity selection of the primitives. Upon detection of intersections between rays and elements, references to the rays are added to respective collections associated with the elements. Further processing of those rays is deferred until rays of a given collection are determined ready, and then rays from such a ready collection are tested for intersection with elements of GAD connected by edges to the element associated with the ready collection. When a primitive is bounded by no higher granularity GAD element, it is tested for intersection, and indications of intersection are output.
    Type: Application
    Filed: September 17, 2007
    Publication date: November 19, 2009
    Applicant: Caustic Graphics, Inc.
    Inventors: Luke Tilman Peterson, James Alexander McCombe, Ryan R. Salsbury
  • Publication number: 20090262132
    Abstract: Ray tracing scenes is accomplished using a plurality of intersection testing resources coupled with a plurality of shading resources, communicative in the aggregate through links/queues. A queue from testing to shading comprises respective ray/primitive intersection indications, comprising a ray identifier. A queue from shading to testing comprises identifiers of new rays to be tested, wherein data defining the rays is separately stored in memories distributed among the intersection testing resources. Ray definition data can be retained in distributed memories until rays complete intersection testing, and be selected for testing multiple times based on ray identifier. A structure of acceleration shapes can be used. Packets of ray identifiers and shape data can be passed among the intersection testing resources, and each resource can test rays identified in the packet, and for which definition data is present in its memory.
    Type: Application
    Filed: March 20, 2009
    Publication date: October 22, 2009
    Applicant: Caustic Graphics, Inc.
    Inventors: Luke Tilman Peterson, James Alexander McCombe, Ryan R. Salsbury, Stephen Purcell
  • Publication number: 20090244058
    Abstract: Systems and methods include high throughput and/or parallelized ray/geometric shape intersection testing using intersection testing resources accepting and operating with block floating point data. Block floating point data sacrifices precision of scene location in ways that maintain precision where more beneficial, and allow reduced precision where beneficial. In particular, rays, acceleration structures, and primitives can be represented in a variety of block floating point formats, such that storage requirements for storing such data can be reduced. Hardware accelerated intersection testing can be provided with reduced sized math units, with reduced routing requirements. A driver for hardware accelerators can maintain full-precision versions of rays and primitives to allow reduced communication requirements for high throughput intersection testing in loosely coupled systems. Embodiments also can include using BFP formatted data in programmable test cells or more general purpose processing elements.
    Type: Application
    Filed: March 31, 2008
    Publication date: October 1, 2009
    Applicant: CAUSTIC GRAPHICS, INC.
    Inventors: Stephen Purcell, Ryan R. Salsbury, James Alexander McCombe, Sean Matthew Gies
  • Publication number: 20090128562
    Abstract: For ray tracing scenes composed of primitives, systems and methods accelerate ray/primitive intersection identification by testing rays against elements of geometry acceleration data (GAD) in a parallelized intersection testing resource. Groups of rays can be described as shared attribute information and individual ray data for efficient ray data transfer between a host processor and the testing resource. The host processor also hosts shading and/or management processes controlling the testing resource and adapting the ray tracing, as necessary or desirable, to meet criteria, while reducing degradation of rendering quality. The GAD elements can be arranged in a graph, and rays can be collected into collections based on whether a ray intersects a given element. When a collection is deemed ready for further testing, it is tested for intersection with GAD elements connected, in the graph, to the given element.
    Type: Application
    Filed: November 19, 2007
    Publication date: May 21, 2009
    Applicant: Caustic Graphics, Inc.
    Inventors: James Alexander McCombe, Ryan R. Salsbury, Luke Tilman Peterson
  • Publication number: 20090096789
    Abstract: For ray tracing systems, described methods, media, apparatuses provide for accounting of light energy that will be collected at pixels of a 2-D representation without recursive closure of a tree of ray/primitive intersections, and also provide for adaptivity in ray tracing based on importance indicators of each ray, such as a weight, which may be carried in data structures representative of the rays. Examples of such adaptivity may include determining a number of children to issue for shading an identified intersecting primitive, culling rays, and adding rays to achieve more accurate sampling, if desired. All such adaptivity may be triggered with goal-based indicators, such as a threshold value representative of rendering progress to a time-based goal, such as a frame rate.
    Type: Application
    Filed: October 15, 2007
    Publication date: April 16, 2009
    Applicant: CAUSTIC GRAPHICS, INC.
    Inventors: Luke Tilman Peterson, James Alexander McCombe, Ryan R. Salsbury
  • Publication number: 20090096788
    Abstract: For ray tracing, methods, apparatus, and computer readable media provide efficient transmission and/or storage of rays between ray emitters, and an intersection testing resource. Ray emitters, during emission of a plurality of rays, identify a shared attribute of each ray of the plurality, and represent that attribute as shared ray data. The shared ray data, and other ray data sufficient to determine both an origin and a direction for each ray of the plurality, are transmitted. Functionality in the intersection testing resource receives the shared ray data and the other ray data, and interprets the shared ray data and the other ray data to determine an origin and direction for each ray of the plurality, and provides those rays for intersection testing. Rays can be stored in the shared attribute format in the intersection testing resource and data elements representing the rays can be constructed later.
    Type: Application
    Filed: October 12, 2007
    Publication date: April 16, 2009
    Applicant: Caustic Graphics, Inc.
    Inventors: Ryan R. SALSBURY, James Alexander McCombe, Luke Tilman Peterson
  • Publication number: 20080292201
    Abstract: Methods for pre-processing video sequences prior to compression to provide data reduction of the video sequence. Also, after compression of the pre-processed video sequence, the bit rate of the pre-processed and compressed video sequence will be lower than the bit rate of the video sequence after compression but without pre-processing. Pre-processing may include spatial anisotropic diffusion filtering such as Perona-Malik filtering, Fallah-Ford filtering, or omni-directional filtering that extends Perona-Malik filtering to perform filtering in at least one diagonal direction. Pre-processing may also include performing filtering differently on a foreground region than on a background region of a video frame. This method includes identifying pixel locations having pixel values matching characteristics of human skin and determining a bounding shape for each contiguous grouping of matching pixel locations.
    Type: Application
    Filed: August 4, 2008
    Publication date: November 27, 2008
    Inventors: Adriana Dumitras, James Oliver Normile, Ryan R. Salsbury
  • Publication number: 20080292006
    Abstract: Methods for pre-processing video sequences prior to compression to provide data reduction of the video sequence. In addition, after compression of the pre-processed video sequence, the bit rate of the pre-processed and compressed video sequence will be lower than the bit rate of the video sequence after compression but without pre-processing. A temporal filtering method is provided for pre-processing of video frames of a video sequence. In the method, pixel values of successive frames are filtered when the difference in the pixel values between the successive frames are within high and low threshold values. The high and low threshold values are determined adaptively depending on the illumination level of a video frame to provide variability of filtering strength depending on the illumination levels of a video frame.
    Type: Application
    Filed: June 16, 2008
    Publication date: November 27, 2008
    Inventors: Adriana Dumitras, James Oliver Normile, Ryan R. Salsbury
  • Publication number: 20080284904
    Abstract: Methods for pre-processing video sequences prior to compression to provide data reduction of the video sequence. Also, after compression of the pre-processed video sequence, the bit rate of the pre-processed and compressed video sequence will be lower than the bit rate of the video sequence after compression but without pre-processing. Pre-processing may include spatial anisotropic diffusion filtering such as Perona-Malik filtering, Fallah-Ford filtering, or omni-directional filtering that extends Perona-Malik filtering to perform filtering in at least one diagonal direction. Pre-processing may also include performing filtering differently on a foreground region than on a background region of a video frame. This method includes identifying pixel locations having pixel values matching characteristics of human skin and determining a bounding shape for each contiguous grouping of matching pixel locations.
    Type: Application
    Filed: April 21, 2008
    Publication date: November 20, 2008
    Inventors: Adriana Dumitras, James Oliver Normile, Ryan R. Salsbury
  • Patent number: 7430335
    Abstract: Methods for pre-processing video sequences prior to compression to provide data reduction of the video sequence. Also, after compression of the pre-processed video sequence, the bit rate of the pre-processed and compressed video sequence will be lower than the bit rate of the video sequence after compression but without pre-processing. Pre-processing may include spatial anisotropic diffusion filtering such as Perona-Malik filtering, Fallah-Ford filtering, or omni-directional filtering that extends Perona-Malik filtering to perform filtering in at least one diagonal direction. Pre-processing may also include performing filtering differently on a foreground region than on a background region of a video frame. This method includes identifying pixel locations having pixel values matching characteristics of human skin and determining a bounding shape for each contiguous grouping of matching pixel locations.
    Type: Grant
    Filed: August 13, 2003
    Date of Patent: September 30, 2008
    Assignee: Apple Inc
    Inventors: Adriana Dumitras, James Oliver Normile, Ryan R. Salsbury
  • Patent number: 7403568
    Abstract: Methods for pre-processing video sequences prior to compression to provide data reduction of the video sequence. In addition, after compression of the pre-processed video sequence, the bit rate of the pre-processed and compressed video sequence will be lower than the bit rate of the video sequence after compression but without pre-processing. A temporal filtering method is provided for pre-processing of video frames of a video sequence. In the method, pixel values of successive frames are filtered when the difference in the pixel values between the successive frames are within high and low threshold values. The high and low threshold values are determined adaptively depending on the illumination level of a video frame to provide variability of filtering strength depending on the illumination levels of a video frame.
    Type: Grant
    Filed: August 13, 2003
    Date of Patent: July 22, 2008
    Assignee: Apple Inc.
    Inventors: Adriana Dumitras, James Oliver Normile, Ryan R. Salsbury
  • Patent number: 7272224
    Abstract: A method, apparatus, system, and signal-bearing medium that in an embodiment determine a degree of correlation between a speaker output signal and a microphone input signal and modulate an adaptive gain of an acoustic echo canceller based on the degree of correlation.
    Type: Grant
    Filed: March 3, 2003
    Date of Patent: September 18, 2007
    Assignee: Apple Inc.
    Inventors: James Oliver Normile, Ryan R. Salsbury