Patents by Inventor Donald Karlov

Donald Karlov 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).

  • Patent number: 10715877
    Abstract: A system for video playback switching in response to changing network conditions. The system includes streaming, from a distribution device such as a server, respective index files for a low bit rate version and a high bit rate version of the video file, to remotely executing instantiations of a low bit rate media player and a high bit rate media. Playback of the video file is begun by the high bit rate media player receiving and playing the high bit rate version from the server. Upon an indication of impeded network conditions, a transition point is selected, wherein the transition point indicates where downloading of the high bit rate version stops and where downloading of the low bit rate version begins. The low bit rate media player is then positioned to begin playback at the transition point. The stream of the video file is then switched to the low bit rate player upon encountering the transition point.
    Type: Grant
    Filed: August 16, 2016
    Date of Patent: July 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gilles Khouzam, Donald Karlov, Wenbo Zhang, Federico Schliemann, Sam George, Mike Harsh
  • Publication number: 20160360285
    Abstract: A system for video playback switching in response to changing network conditions. The system includes streaming, from a distribution device such as a server, respective index files for a low bit rate version and a high bit rate version of the video file, to remotely executing instantiations of a low bit rate media player and a high bit rate media. Playback of the video file is begun by the high bit rate media player receiving and playing the high bit rate version from the server. Upon an indication of impeded network conditions, a transition point is selected, wherein the transition point indicates where downloading of the high bit rate version stops and where downloading of the low bit rate version begins. The low bit rate media player is then positioned to begin playback at the transition point. The stream of the video file is then switched to the low bit rate player upon encountering the transition point.
    Type: Application
    Filed: August 16, 2016
    Publication date: December 8, 2016
    Inventors: Gilles KHOUZAM, Donald KARLOV, Wenbo ZHANG, Federico SCHLIEMANN, Sam GEORGE, Mike HARSH
  • Patent number: 9420347
    Abstract: A method for video playback switching in response to changing network conditions. The method includes accessing a server to retrieve respective index files for a low bit rate version and a high bit rate version of the video file, and instantiating a low bit rate media player and a high bit rate media. Playback of the video file is begun by the high bit rate media player streaming the high bit rate version from the server. Upon an indication of impeded network conditions, a transition point is selected, wherein the transition point indicates where downloading of the high bit rate version stops and where downloading of the low bit rate version begins. The low bit rate media player is then positioned to begin playback at the transition point. Playback of the video file is then switched to the low bit rate player upon encountering the transition point.
    Type: Grant
    Filed: December 26, 2012
    Date of Patent: August 16, 2016
    Assignee: Microsoft Corporation
    Inventors: Gilles Khouzam, Donald Karlov, Wenbo Zhang, Federico Schliemann, Sam George, Mike Harsh
  • Patent number: 8352996
    Abstract: A method for video playback switching in response to changing network conditions. The method includes accessing a server to retrieve respective index files for a low bit rate version and a high bit rate version of the video file, and instantiating a low bit rate media player and a high bit rate media. Playback of the video file is begun by the high bit rate media player streaming the high bit rate version from the server. Upon an indication of impeded network conditions, a transition point is selected, wherein the transition point indicates where downloading of the high bit rate version stops and where downloading of the low bit rate version begins. The low bit rate media player is then positioned to begin playback at the transition point. Playback of the video file is then switched to the low bit rate player upon encountering the transition point.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: January 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Gilles Khouzam, Donald Karlov, Wenbo Zhang, Federico Schliemann, Sam George, Mike Harsh
  • Publication number: 20090328124
    Abstract: A method for video playback switching in response to changing network conditions. The method includes accessing a server to retrieve respective index files for a low bit rate version and a high bit rate version of the video file, and instantiating a low bit rate media player and a high bit rate media. Playback of the video file is begun by the high bit rate media player streaming the high bit rate version from the server. Upon an indication of impeded network conditions, a transition point is selected, wherein the transition point indicates where downloading of the high bit rate version stops and where downloading of the low bit rate version begins. The low bit rate media player is then positioned to begin playback at the transition point. Playback of the video file is then switched to the low bit rate player upon encountering the transition point.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Gilles KHOUZAM, Donald KARLOV, Wenbo ZHANG, Federico SCHLIEMANN, Sam GEORGE, Mike HARSH
  • Patent number: 7639263
    Abstract: The values of each possible component output R, G, and B may be pre-computed for all values of each possible component input Y, U, and V. Each contribution of Y, U, and V input may then be loaded into a register and added in parallel, without overflow, resulting in a computationally inexpensive RGB output from a YUV input. In one embodiment, contributions of Y, U, and V to each of R, G, and B are retrieved from pre-computed tables. The YUV contributions for each value of R, G, and B are packed into three data elements and added together in parallel, resulting in a value for an RGB output.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: December 29, 2009
    Assignee: Microsoft Corporation
    Inventors: Donald Karlov, Gilles Khouzam
  • Publication number: 20080180456
    Abstract: The values of each possible component output R, G, and B may be pre-computed for all values of each possible component input Y, U, and V. Each contribution of Y, U, and V input may then be loaded into a register and added in parallel, without overflow, resulting in a computationally inexpensive RGB output from a YUV input. In one embodiment, contributions of Y, U, and V to each of R, G, and B are retrieved from pre-computed tables. The YUV contributions for each value of R, G, and B are packed into three data elements and added together in parallel, resulting in a value for an RGB output.
    Type: Application
    Filed: January 26, 2007
    Publication date: July 31, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Donald Karlov, Gilles Khouzam
  • Publication number: 20070216685
    Abstract: Described is a rasterizer that processes the graphics primitives of a frame's image to build an array of entries representing which scanlines are affected by which graphics primitives. When built, the array is then referenced to draw the data of more or more combined primitives, e.g., on a scanline-by-scanline basis. Each scanline may be divided into segments defined by the edges of the primitives that affect the scanline, with the segments drawn based on each primitive's drawing data, e.g., including brush information and drawing order. Aliased and anti-aliased rasterizing are described, as is three-dimensional triangle data, and applying effects to groups of primitives.
    Type: Application
    Filed: March 15, 2006
    Publication date: September 20, 2007
    Applicant: Microsoft Corporation
    Inventors: Ashraf Michail, Christopher Raubacher, Donald Karlov
  • Publication number: 20060279578
    Abstract: A method for dividing a display into zones at system initialization for tracking which zones have any pixels revised so that, when the time comes to update the display, only the zones requiring revision (that is, those zones in which any pixel has been revised) are copied from shadow memory to the frame buffer for display on the display device. The memory for tracking these zones can be allocated at initialization and held since it is relatively small. Consequently, a significant performance gain may be achieved by avoiding the shortcomings of the existing methods in the art notwithstanding the fact that some “clean” pixels in each zone having even a single changed pixel are also rewritten to the frame buffer.
    Type: Application
    Filed: August 22, 2006
    Publication date: December 14, 2006
    Applicant: Microsoft Corporation
    Inventor: Donald Karlov
  • Publication number: 20060239561
    Abstract: A transparent graphical user interface that overlays the user interfaces of other applications. The transparent user interface receives handwriting input and displays handwriting objects represented by handwriting input received in the area of the transparent handwriting interface. The transparent user interface of the invention can be expanded to include most of the display area of a computer, thereby allowing the user to write anywhere within the display area. This also allows the user to write multiple lines of text. Additionally, because the user interface is transparent, it allows the user to see the underlying graphical user interfaces for other applications, including applications that receive text recognized from the handwriting input written into the transparent handwriting interface. Further the transparent interface allows the user to interact with underlying graphical user interfaces.
    Type: Application
    Filed: July 3, 2006
    Publication date: October 26, 2006
    Applicant: Microsoft Corporation
    Inventors: Luis Huapaya, Erik Geidl, Donald Karlov, Jeffrey Pettiross, Thomas Wick
  • Publication number: 20060182345
    Abstract: Described is electronic ink maintained as a software object, thereby associating ink functionality with electronic ink data. The ink may be separated into words or characters, with one object per word or character. By the associated functionality, applications that deal with embedded objects in general can automatically benefit from electronic ink, including having the object's functionality render the ink data as part the application's document. Further, because the ink data is maintained as an object, the data is automatically persisted in association with the document into which it is embedded. Ink-aware applications may call on methods of the electronic ink object to adjust formatting, search recognized ink along with text, and perform other functions. Via the electronic ink object, electronic ink substantially approaches much of the behavior normally available with text data, without requiring applications to interpret the ink data.
    Type: Application
    Filed: April 3, 2006
    Publication date: August 17, 2006
    Applicant: Microsoft Corporation
    Inventors: Erik Geidl, Robert Dain, Donald Karlov
  • Publication number: 20060182344
    Abstract: Described is electronic ink maintained as a software object, thereby associating ink functionality with electronic ink data. The ink may be separated into words or characters, with one object per word or character. By the associated functionality, applications that deal with embedded objects in general can automatically benefit from electronic ink, including having the object's functionality render the ink data as part the application's document. Further, because the ink data is maintained as an object, the data is automatically persisted in association with the document into which it is embedded. Ink-aware applications may call on methods of the electronic ink object to adjust formatting, search recognized ink along with text, and perform other functions. Via the electronic ink object, electronic ink substantially approaches much of the behavior normally available with text data, without requiring applications to interpret the ink data.
    Type: Application
    Filed: April 3, 2006
    Publication date: August 17, 2006
    Applicant: Microsoft Corporation
    Inventors: Erik Geidl, Robert Dain, Donald Karlov
  • Publication number: 20060012610
    Abstract: The present invention provides for improving image clarity through sub-pixel positioning of the image in a grid space based on pixel homogeneity scores. The pixel homogeneity scores indicating the uniformity of state for sub-pixels produced from an over-sampling of the pixels within the grid space. A representation of an image (or at least a portion thereof) is positioned at various sub-pixel locations with in the grid space, and pixel homogeneity scores are calculated for the various locations. Based on a comparison of the pixel homogeneity scores, a position to display the image is chosen such that image rendering is optimized or at least improved.
    Type: Application
    Filed: July 15, 2004
    Publication date: January 19, 2006
    Inventor: Donald Karlov
  • Publication number: 20050253860
    Abstract: The method of one embodiment for the invention is for the CPU to read a subset of consecutive pixels from RAM and cache each such pixel in the WC Cache (and load corresponding blocks into the L2 Cache). These reads and loads continue until the capacity of the L2 Cache is reached, and then these blocks (a “band”) are iteratively processed until the entire band in the L2 Cache has been written to the frame buffer via the WC Cache. Once this is complete, the process then “dumps” the L2 Cache (that is, it ignores the existing blocks and allows them to be naturally pushed out with subsequent loads) and the next band of consecutive pixels is read (and their blocks loaded). This process continues until the portrait-oriented graphic is entirely loaded.
    Type: Application
    Filed: July 26, 2005
    Publication date: November 17, 2005
    Applicant: Microsoft Corporation
    Inventor: Donald Karlov
  • Publication number: 20050147300
    Abstract: Ink is stored in a data structure that permits later retrieval by applications. The ink includes stroke information and property information. Properties may be associated globally with the ink strokes and/or with each stroke individually. Aspects include a data structure that supports ink for multiple applications. Using the storage system, method, and data structure, various applications may expand on ink to include additional attributes while permitting the ink to be used in applications not supporting the additional attributes. When encountering an unknown tag, the applications will skip past the end of the tag and its associated data to start reading the next tag.
    Type: Application
    Filed: December 23, 2004
    Publication date: July 7, 2005
    Applicant: Microsoft Corporation
    Inventors: Bodin Dresevic, Rudolph Balaz, Donald Karlov, Subha Bhattacharyay, Patrick Haluptzok
  • Publication number: 20050125740
    Abstract: An improved system for managing user inputs and z-order in a graphic user interface (GUI) environment is disclosed. A GUI element may include a plurality of keys corresponding to keys on a typical keyboard, and may serve as a replacement for the keyboard. The system permits an application having an input focus to retain the input focus while inputs are received in the GUI element, and even transient user interface elements (e.g., menus) will remain displayed in those applications after the user inputs are entered. Input pen and mouse events may first be forwarded to the input area application, which may remove the events from the normal circulation, preventing other applications from learning of the events, and then post those events to the input panel application separately.
    Type: Application
    Filed: January 14, 2005
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Joshua Clow, Adrian Garside, Shiraz Somji, Donald Karlov, Bob Dain, Jeffrey Pettiross, Tobiasz Zielinski, Alexander Gournares, Leroy Keely, Ravi Soin, Erik GeidI, Marieke Iwema, Grady Leno
  • Publication number: 20050125741
    Abstract: An improved system for managing user inputs and z-order in a graphic user interface (GUI) environment is disclosed. A GUI element may include a plurality of keys corresponding to keys on a typical keyboard, and may serve as a replacement for the keyboard. The system permits an application having an input focus to retain the input focus while inputs are received in the GUI element, and even transient user interface elements (e.g., menus) will remain displayed in those applications after the user inputs are entered. Input pen and mouse events may first be forwarded to the input area application, which may remove the events from the normal circulation, preventing other applications from learning of the events, and then post those events to the input panel application separately.
    Type: Application
    Filed: January 14, 2005
    Publication date: June 9, 2005
    Applicant: Microsoft Corporation
    Inventors: Joshua Clow, Adrian Garside, Shiraz Somji, Donald Karlov, Bob Dain, Jeffrey Pettiross, Tobiasz Zielinski, Alexander Gournares, Leroy Keely, Ravi Soin, Erik Geidl, Marieke Iwema, Grady Leno
  • Publication number: 20050103872
    Abstract: Ink is stored in a data structure that permits later retrieval by applications. The ink includes stroke information and property information. Properties may be associated globally with the ink strokes and/or with each stroke individually. Aspects include a data structure that supports ink for multiple applications. Using the storage system, method, and data structure, various applications may expand on ink to include additional attributes while permitting the ink to be used in applications not supporting the additional attributes. When encountering an unknown tag, the applications will skip past the end of the tag and its associated data to start reading the next tag.
    Type: Application
    Filed: December 23, 2004
    Publication date: May 19, 2005
    Applicant: Microsoft Corporation
    Inventors: Bodin Dresevic, Rudolph Balaz, Donald Karlov, Subha Bhattacharyay, Patrick Haluptzok
  • Publication number: 20050103871
    Abstract: Ink is stored in a data structure that permits later retrieval by applications. The ink includes stroke information and property information. Properties may be associated globally with the ink strokes and/or with each stroke individually. Aspects include a data structure that supports ink for multiple applications. Using the storage system, method, and data structure, various applications may expand on ink to include additional attributes while permitting the ink to be used in applications not supporting the additional attributes. When encountering an unknown tag, the applications will skip past the end of the tag and its associated data to start reading the next tag.
    Type: Application
    Filed: December 23, 2004
    Publication date: May 19, 2005
    Applicant: Microsoft Corporation
    Inventors: Bodin Dresevic, Rudolph Balaz, Donald Karlov, Subha Bhattacharyay, Patrick Haluptzok
  • Publication number: 20050102055
    Abstract: The present invention relates to storing information including electronic ink. Ink is stored in a data structure that permits later retrieval by applications. The ink includes stroke information and property information. Properties may be defined specifically for some strokes or may be stored in a tablet and referenced by one or more indices. Using tables and indices helps minimize the size of the data structure used to store the information.
    Type: Application
    Filed: November 22, 2004
    Publication date: May 12, 2005
    Applicant: Microsoft Corporation
    Inventors: Bodin Dresevic, Rudolph Balaz, Donald Karlov