Patents by Inventor Qunshan Gu

Qunshan Gu 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: 9225979
    Abstract: A method and apparatus for remote access encoding is provided. Remote access encoding may include receiving, at a host device, from a client device, a remote access request indicating a portion of a display area of an operating environment of the host device, rendering a representation of the portion of the display area, wherein rendering includes generating rendered content including a plurality of frames, generating an encoded block, and transmitting encoded content to the client device, wherein the encoded content includes the encoded block. Generating the encoded block may include identifying a current block from a plurality of blocks in a current frame, wherein the current frame is one of the plurality of frames, determining whether the current block is a static block, determining a coding quality for encoding the current block, and determining whether to encode the current block as a skipped block.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: December 29, 2015
    Assignee: GOOGLE INC.
    Inventors: Wei Jia, Qunshan Gu
  • Patent number: 9210432
    Abstract: Blocks of a frame of a video stream can be encoded using lossless inter-frame prediction encoding. The compression ratio of lossless inter-frame encoding can be improved by first examining the magnitude of a motion vector used to perform inter-frame prediction. If the magnitude of the motion vector is small, the residual generated by the inter-prediction can be entropy coded and included in the encoded bitstream. If the magnitude of the motion vector is greater than a threshold, the residual can be encoded using lossy encoding and then decoded and subtracted from the original residual. The resulting difference residual is encoded using lossless encoding and included in the output bitstream along with the lossy encoded residual, permitting the block to be decoded with no loss at a decoder.
    Type: Grant
    Filed: October 8, 2012
    Date of Patent: December 8, 2015
    Assignee: GOOGLE INC.
    Inventors: Qunshan Gu, Yaowu Xu
  • Patent number: 9201563
    Abstract: The subject disclosure relates to managing windows in communications between a client device and a host device. It includes obtaining display information for a host device in response to a communication request from a client device, determining, based on the display information for the host device, a primary window to provide for display at the client device and identifying content associated with the primary window. The disclosure further includes determining display specifications of the client device, wherein the display specifications comprise at least one of display size, display type or content download settings and providing the identified content associated with the primary window for display on the client device according to the display specifications of the client device.
    Type: Grant
    Filed: October 10, 2012
    Date of Patent: December 1, 2015
    Assignee: Google Inc.
    Inventors: Wei Jia, Qunshan Gu
  • Publication number: 20150326888
    Abstract: Techniques for efficient coding of digital media data are presented. A resource controller component dynamically allocates computing resources between an estimator component and a coder component. The estimator component generates an initial motion estimation of a raw video frame of a sequence of raw video frames based on a previous raw video frame. The coder component encodes the previous raw video frame to generate a reconstructed video frame in parallel with the generation of the initial motion estimation. When the previous raw video frame is reconstructed, the coder component dynamically determines whether and/or how to refine the motion estimation to encode the raw video frame based on a predefined encoding criterion. In making that determination, the coder component selects and uses a mode(s) of motion estimation refinement from a plurality of available motion estimation refinement modes to encode the raw video frame.
    Type: Application
    Filed: July 23, 2015
    Publication date: November 12, 2015
    Inventors: Wei Jia, Qunshan Gu
  • Patent number: 9185429
    Abstract: Systems, apparatuses and methods for encoding and decoding a video stream having a plurality of frames are disclosed. When encoding, for example, blocks are selected in spiral fashion until contiguous blocks of at least a central section of the frame are selected. The selected blocks are encoded in an order in which they were selected. A first level of error protection is applied to encoded blocks within the central section. A second, different level of error protection is applied to encoded blocks outside the central section. By using a spiral scan and selective error protection, blocks most likely to have information of interest to a viewer are identified and can be encoded and error-protected to provide better image quality in the area of interest when decoded.
    Type: Grant
    Filed: April 30, 2012
    Date of Patent: November 10, 2015
    Assignee: GOOGLE INC.
    Inventors: Qunshan Gu, Ronghua Wu
  • Patent number: 9172740
    Abstract: A method and apparatus for adjustable buffer remote access is provided. Adjustable buffer remote access may include generating, at a client device, a client display buffer request indicating a portion of a display area of an operating environment of a host device, transmitting the client display buffer request to the host device receiving a rendering of a representation of the portion of the display area of the host device, presenting a client display portion of the rendered buffer portion as a window into the display area of the operating environment of the host device, receiving an indication of a client display portion change presenting an updated client display portion based on the rendered buffer portion and the client display portion change, transmitting an updated client display buffer request to the host device, receiving an updated rendered buffer portion, and presenting the updated client display portion.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: October 27, 2015
    Assignee: GOOGLE INC.
    Inventors: Wei Jia, Qunshan Gu
  • Patent number: 9167274
    Abstract: Techniques for generating synchronized dictionaries for sparse coding to facilitate encoding of video content are presented. An encoder can generate a dictionary that can be synchronized with a corresponding dictionary maintained by a decoder. The encoder can use the dictionary to facilitate encoding video content, based on sparse coding, for transmission to the decoder. During a video session, the encoder and decoder can signal each other to identify common dictionaries between the encoder and decoder, wherein desired common dictionaries can be used for coding content. During a session, the decoder can dynamically select visual images that can be used to dynamically add new elements to the corresponding dictionary. The decoder can provide identifying information regarding these visual images to the encoder. The encoder can select corresponding visual images to add to its dictionary to maintain the synchronization of these common dictionaries.
    Type: Grant
    Filed: March 21, 2012
    Date of Patent: October 20, 2015
    Assignee: GOOGLE INC.
    Inventors: Qunshan Gu, Ronghua Wu
  • Patent number: 9167268
    Abstract: A method and apparatus for performing second-order orthogonal spatial intra prediction encoding and decoding is disclosed. Second-order orthogonal spatial intra prediction for a frame of a video stream may include identifying a current pixel in a first block in the frame; identifying a first decoded pixel in a second block in the frame at a first oblique angle to the current pixel; identifying a second decoded pixel in a third block in the frame at a second oblique angle to the current pixel; identifying a third decoded pixel in a fourth block in the frame, wherein the third decoded pixel is at the second oblique angle to the first decoded pixel or at the first oblique angle to the second decoded pixel; and determining a predictor pixel using a difference between the third decoded pixel and a sum of the first decoded pixel and the second decoded pixel.
    Type: Grant
    Filed: August 9, 2012
    Date of Patent: October 20, 2015
    Assignee: GOOGLE INC.
    Inventors: Qunshan Gu, Yaowu Xu
  • Patent number: 9137528
    Abstract: Techniques for generating synchronized dictionaries for sparse coding to facilitate coding of video content are presented. During a communication session, an encoder associated with a first terminal generates a dictionary that is synchronized with a corresponding dictionary maintained by a decoder associated with a second terminal. The decoder uses the dictionary to facilitate decoding video content, based on sparse coding, received from the encoder. During a subsequent communication session between the first terminal and a third terminal, the dictionary is made available to a decoder associated with the third terminal. The encoder associated with the first terminal and decoder associated with the third terminal signal each other to identify the dictionary as being common between the encoder and decoder, and this common dictionary is used for coding content communicated between the encoder and decoder. The encoder and decoder can update the dictionary based on the subsequent video session.
    Type: Grant
    Filed: September 28, 2012
    Date of Patent: September 15, 2015
    Assignee: GOOGLE INC.
    Inventors: Ronghua Wu, Qunshan Gu
  • Publication number: 20150256826
    Abstract: A method includes performing, by a microprocessor of a computing device, a coding to obtain a residual of a residual data block from an original data block. The method includes pre-defining a default order of symbols in the residual data block. The method includes re-ordering the symbols in the residual data block in an order other than the default order, such that a first set of most frequently used symbols are in a first location and a second set of least frequently used symbols are in a second location, producing a multi-symbol run-length code based on a group of symbols from the first set of most frequently used symbols, and detecting the second set of least frequently used symbols based on the multi-symbol run-length code.
    Type: Application
    Filed: February 4, 2013
    Publication date: September 10, 2015
    Applicant: Google Inc.
    Inventors: Qunshan Gu, Wei Jia
  • Patent number: 9113164
    Abstract: Techniques for controlling constant bit rate for a coded video bitstream using implicitly derived quantization values during coding are presented. A decoder component and an encoder component independently track a first subset of quantization-related parameters in relation to coding video frames. The encoder component encodes a macroblock of a video frame using a quantization value based on the first subset of coding parameters and a second subset of coding parameters. The decoder component calculates the quantization value for the macroblock based on the first subset and second subset of quantization-related parameters, the second subset received in a header with the bitstream. The decoder component uses calculated quantization values to adjust quantization levels in relation to decoding macroblocks of a frame to facilitate maintaining constant bit rate control for the bitstream.
    Type: Grant
    Filed: May 15, 2012
    Date of Patent: August 18, 2015
    Assignee: GOOGLE INC.
    Inventors: Qunshan Gu, Wei Jia
  • Patent number: 9100657
    Abstract: Techniques for efficient coding of digital media data are presented. A resource controller component dynamically allocates computing resources between an estimator component and a coder component. The estimator component generates an initial motion estimation of a raw video frame of a sequence of raw video frames based on a previous raw video frame. The coder component encodes the previous raw video frame to generate a reconstructed video frame in parallel with the generation of the initial motion estimation. When the previous raw video frame is reconstructed, the coder component dynamically determines whether and/or how to refine the motion estimation to encode the raw video frame based on a predefined encoding criterion. In making that determination, the coder component selects and uses a mode(s) of motion estimation refinement from a plurality of available motion estimation refinement modes to encode the raw video frame.
    Type: Grant
    Filed: December 7, 2011
    Date of Patent: August 4, 2015
    Assignee: GOOGLE INC.
    Inventors: Wei Jia, Qunshan Gu
  • Patent number: 9100509
    Abstract: Techniques for efficient coding of digital media data are presented. A resource controller component dynamically allocates computing resources between an estimator component and a coder component. The estimator component generates initial motion estimation of a raw video frame of a sequence, based on a previous raw video frame, in parallel with the coder component encoding the previous raw video frame to generate a reconstructed previous video frame. The coder component encodes the raw video frame based on the reconstructed previous video frame. The coder component can dynamically allocate initial subsets of bits for respective coding units of the raw video frame based on residual data identified from the initial motion estimation. After completing encoding of a specified number of coding units, the coder component can dynamically adjust bit assignments for remaining coding units of the raw video frame based on initial residual data and identified real residual data.
    Type: Grant
    Filed: February 7, 2012
    Date of Patent: August 4, 2015
    Assignee: GOOGLE INC.
    Inventors: Wei Jia, Qunshan Gu
  • Patent number: 9094681
    Abstract: Disclosed herein are systems, methods, and apparatuses for selecting different coding parameters for different portions of a video frame or image to be transmitted or stored for later decoding. The coding parameters for a particular portion of a video frame or image are selected according to their distance from a selected point of interest, where the parameters can be selected to alter the tradeoff between transmission bandwidth and perceived image quality to preserve image quality in areas designated as high interest while saving transmission bandwidth for areas designated as having less interest. Also disclosed are associated systems, methods, and apparatuses for decoding such encoded video frames or images.
    Type: Grant
    Filed: February 28, 2012
    Date of Patent: July 28, 2015
    Assignee: GOOGLE INC.
    Inventors: Paul Gordon Wilkins, Qunshan Gu
  • Publication number: 20150205447
    Abstract: The subject disclosure relates to managing windows in communications between a client device and a host device. It includes obtaining display information for a host device in response to a communication request from a client device, determining, based on the display information for the host device, a primary window to provide for display at the client device and identifying content associated with the primary window. The disclosure further includes determining display specifications of the client device, wherein the display specifications comprise at least one of display size, display type or content download settings and providing the identified content associated with the primary window for display on the client device according to the display specifications of the client device.
    Type: Application
    Filed: October 10, 2012
    Publication date: July 23, 2015
    Applicant: Google Inc.
    Inventors: Wei JIA, Qunshan Gu
  • Publication number: 20150200998
    Abstract: In one general aspect, a process can include sending from a client device to a host device an indicator of a size of a target display area of the client device and an offset boundary defining a boundary limiting movement of the target display area with respect to a host display area of an application operating at the host device where the application is remotely controlled via the client device. The process can include defining an indicator of a position of the target display area of the client device with respect to the host display area, and can include receiving from the host device an image of a target display area of the host display area of the application where the host display area has a resolution different from a resolution of the target display area of the client device.
    Type: Application
    Filed: January 30, 2012
    Publication date: July 16, 2015
    Applicant: GOOGLE INC.
    Inventors: Qunshan Gu, Wei Jia
  • Publication number: 20150201199
    Abstract: Systems and methods for facilitating video compression in screen-sharing applications are provided. In one embodiment, a method includes: determining properties of a screen, and determining properties of display regions configured for display via the screen. The method also includes generating reference buffers corresponding to the respective display regions. The reference buffers can be associated with: identifiers of the display region, and encoded bitstreams for the display regions. The encoded bitstreams can be indicative of the properties of the display regions and/or screen. The method can also include determining whether the display regions are configured to be visible or invisible on the screen, and generating the encoded bitstream for each of the display regions configured to be visible on the screen. Finally, the method can include performing video compression on contents of the display regions.
    Type: Application
    Filed: December 7, 2011
    Publication date: July 16, 2015
    Applicant: GOOGLE INC.
    Inventors: Qunshan Gu, Wei Ja
  • Publication number: 20150201193
    Abstract: Techniques for efficient coding of video content in relation to screen sharing are presented. A coder management component can detect native resolution and frame rate for video content from a video source and an original display resolution and frame rate associated with a local display window. The coder management component can identify the smaller resolution and smaller frame rate, and encode the video content using the smaller resolution and smaller frame rate for transmission to a remote device for display, e.g., in screen sharing. The coder management component can detect the display window size of the local display window and transmit the size to a remote device. At the remote device, a decoder can decode the video bitstream and reconstruct the video content in accordance with the smaller resolution, and can render and display the reconstructed video content in accordance with the display window size.
    Type: Application
    Filed: January 10, 2012
    Publication date: July 16, 2015
    Applicant: GOOGLE INC.
    Inventors: Qunshan Gu, Wei Jia
  • Patent number: 9014266
    Abstract: Decimated sliding windows for multi-reference prediction are disclosed. Reference frames for coding using motion prediction are stored in two or more buffers, which can be arranged as first-in-first-out stacks. As new reference frames are added to a first buffer, the least recently used reference frame is either moved to a second buffer or discarded depending upon a decimation factor. More than two buffers can be used, and each of the buffers can have the same or a different decimation factor. This permits both short duration and long duration availability of reference frames while minimizing memory usage and overhead in the encoded video bitstream.
    Type: Grant
    Filed: June 5, 2012
    Date of Patent: April 21, 2015
    Assignee: Google Inc.
    Inventors: Qunshan Gu, Wei Jia
  • Publication number: 20140143856
    Abstract: Systems, devices, and techniques for providing shortcuts to applications of a computing device are described. In one example, a method includes outputting, for display at a screen, a plurality of input nodes while the computing device is in a locked state and receiving an indication of a selection of a set of the plurality of input nodes in a defined order. The method may also include determining that the selection matches a predetermined selection order of the input nodes, the predetermined selection order being associated with the computing device. The method may also include, responsive to the determining, outputting, for display in place of at least one of the plurality of input nodes at the screen, an icon representative of an operation executable by the computing device, receiving an indication of a selection of the icon, and responsive to receiving the indication, executing the operation.
    Type: Application
    Filed: January 25, 2013
    Publication date: May 22, 2014
    Applicant: Google Inc.
    Inventors: Ronghua Wu, Qunshan Gu