Patents by Inventor Harish Rajamani
Harish Rajamani 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: 10080022Abstract: A data processing system for calibrating a media codec comprising a sequence of time-stamped frames and comprising: an encoder subsystem configured to perform encoding in accordance with one or more encode parameters; a decoder subsystem; and a calibration system comprising: a data store for storing an encoded media stream; and a calibration monitor configured to, on the media codec entering a calibration mode, cause: the decoder subsystem to decode the encoded media stream so as to generate a decoded media stream; the encoder subsystem to re-encode said decoded media stream; and the re-encoded media stream to pass back into the decoder subsystem; the calibration monitor being configured to, through variation of the encode parameters of the encoder subsystem, identify maximal encode parameters corresponding to the greatest steady-state demand on the media codec that permits decoding of the sequence of time-stamped frames at a rate in accordance with their associated timestamps.Type: GrantFiled: December 12, 2014Date of Patent: September 18, 2018Assignee: Imagination Technologies LimitedInventors: Venu Annamraju, Harish Rajamani, Mallikarjuna Kamarthi
-
Publication number: 20180262213Abstract: A data processing device comprising: a jitter buffer for receiving data packets; a media decoder configured to decode the data packets so as to form a stream of media frames, each frame comprising a plurality of samples; a media consumer having an input buffer for receiving the stream of media frames and being configured to play media frames from the input buffer according to a first frame rate; a buffer interface configured to monitor the input buffer so as to detect when the number of samples at the input buffer of the media consumer falls below a predetermined level and, in response, generate a play-out request; and a media controller configured to, responsive to each of the generated play-out requests, play-out one or more data packets to the media decoder so as to cause media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate.Type: ApplicationFiled: May 10, 2018Publication date: September 13, 2018Inventors: Senthil Kumar Mani, Bala Manikya Prasad Puram, Harish Rajamani
-
Patent number: 9985660Abstract: A data processing device comprising: a jitter buffer for receiving data packets; a media decoder configured to decode the data packets so as to form a stream of media frames, each frame comprising a plurality of samples; a media consumer having an input buffer for receiving the stream of media frames and being configured to play media frames from the input buffer according to a first frame rate; a buffer interface configured to monitor the input buffer so as to detect when the number of samples at the input buffer of the media consumer falls below a predetermined level and, in response, generate a play-out request; and a media controller configured to, responsive to each of the generated play-out requests, play-out one or more data packets to the media decoder so as to cause media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate.Type: GrantFiled: May 4, 2015Date of Patent: May 29, 2018Assignee: Imagination Technologies LimitedInventors: Senthil Kumar Mani, Bala Manikya Prasad Puram, Harish Rajamani
-
Patent number: 9774873Abstract: A frame processor for preparing a stream of video frames for encoding, the frame processor being arranged to receive a video frame having first pixel dimensions representing the number of pixels along each dimension of the video frame, and comprising: a rescaling filter configured to rescale the received video frame such that one or both of the first pixel dimensions are no greater than respective predetermined pixel dimension(s) and the aspect ratio of the received video frame is maintained; and a frame generator configured to: embed the rescaled video frame within an output video frame having the predetermined pixel dimensions; and mark pixels of the output video frame outside the bounds of the rescaled video frame as inactive; the frame processor being arranged to provide the output video frame to a video encoder.Type: GrantFiled: December 16, 2014Date of Patent: September 26, 2017Assignee: Imagination Technologies LimitedInventors: Venu Annamraju, Harish Rajamani
-
Publication number: 20170272769Abstract: A system for decoding a data stream, comprising: a first decoder configured to decode the data stream at a first rate so as to generate a first stream of frames for playback and arranged to continue generating the first stream despite encountering an error in a particular frame; a second decoder operable to decode the data stream at a second rate so as to generate a second stream of frames; and a controller configured to: detect the error and cause the second decoder to decode the data stream from the particular frame in dependence on error correction data, the second rate being faster than the first rate such that the second stream catches up with the first stream; determine when the second decoder catches up with the first decoder; and cause the second decoder to operate at the first rate so as to generate the second stream for playback.Type: ApplicationFiled: May 31, 2017Publication date: September 21, 2017Inventors: Venu Annamraju, Harish Rajamani, Ranjith Irukulapati
-
Patent number: 9686554Abstract: An adaptive control system for a media encoder configured to encode a media data stream in accordance with a set of one or more encode parameters, the system comprising: an input queue for receiving a sequence of data portions representing a media stream; and an adaptation controller configured to form an accumulation parameter indicative of an incidence of accumulation events at the input queue, each accumulation event representing the reception of an incoming data portion into the input queue while a previous data portion in the sequence is in the input queue; the adaptation controller being configured to control the encode parameters of the media encoder in dependence on the accumulation parameter.Type: GrantFiled: December 12, 2014Date of Patent: June 20, 2017Assignee: Imagination Technologies LimitedInventors: Venu Annamraju, Harish Rajamani, Mallikarjuna Kamarthi
-
Patent number: 9681146Abstract: A system for decoding a data stream, comprising: a first decoder configured to decode the data stream at a first rate so as to generate a first stream of frames for playback and arranged to continue generating the first stream despite encountering an error in a particular frame; a second decoder operable to decode the data stream at a second rate so as to generate a second stream of frames; and a controller configured to: detect the error and cause the second decoder to decode the data stream from the particular frame in dependence on error correction data, the second rate being faster than the first rate such that the second stream catches up with the first stream; determine when the second decoder catches up with the first decoder; and cause the second decoder to operate at the first rate so as to generate the second stream for playback.Type: GrantFiled: December 12, 2014Date of Patent: June 13, 2017Assignee: Imagination Technologies LimitedInventors: Venu Annamraju, Harish Rajamani, Ranjith Irukulapati
-
Patent number: 9600543Abstract: In one aspect, a method includes receiving an indication of a request from a user to view a stream associated with the user, generating a request for one or more items visible to the user for display within the stream, the request including a search query identifying search criteria including one or more tokens, the one or more tokens including at least a user token identifying the user, receiving one or more items in response to the request, the one or more items including at least one of the one or more tokens and further being visible to the user and providing the one or more items for display to the user within the stream in response to the request. Other aspects can be embodied in corresponding systems and apparatus, including computer program products.Type: GrantFiled: September 27, 2013Date of Patent: March 21, 2017Assignee: GOOGLE INC.Inventors: Lucian Florin Cionca, Andre Rohe, Yonatan Zunger, Sangsoo Sung, Mohit Oberoi, Daniel Belov, Harish Rajamani, Jinan Lou
-
Patent number: 9317585Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a query initial input from a user, in response to receiving the query initial input, determining a set of personalized query suggestions based on the query initial input, the set of personalized query suggestions including one or more content-based query suggestions that reflect at least one of user data associated with the user within one or more computer-implemented services and use of the one or more computer-implemented services by the user, and transmitting instructions to display the set of personalized query suggestions to the user.Type: GrantFiled: March 15, 2013Date of Patent: April 19, 2016Assignee: Google Inc.Inventors: Maureen Heymans, Ashutosh Shukla, Harish Rajamani, Matthew E. Kulick, Bryan C. Horling, Jennifer E. Fernquist
-
Publication number: 20150319212Abstract: A data processing device comprising: a jitter buffer for receiving data packets; a media decoder configured to decode the data packets so as to form a stream of media frames, each frame comprising a plurality of samples; a media consumer having an input buffer for receiving the stream of media frames and being configured to play media frames from the input buffer according to a first frame rate; a buffer interface configured to monitor the input buffer so as to detect when the number of samples at the input buffer of the media consumer falls below a predetermined level and, in response, generate a play-out request; and a media controller configured to, responsive to each of the generated play-out requests, play-out one or more data packets to the media decoder so as to cause media frames of the stream to be delivered into the input buffer at a rate commensurate with the first frame rate.Type: ApplicationFiled: May 4, 2015Publication date: November 5, 2015Inventors: Senthil Kumar MANI, Bala Manikya Prasad PURAM, Harish RAJAMANI
-
Publication number: 20150186455Abstract: Systems and methods for annotating electronic messages are disclosed. In some implementations, a method includes, at a computing device, analyzing content of a first electronic message against a set of annotation rules; and in accordance with the analyzing: identifying a search term not included in the content of the first electronic message as associated with the first electronic message. In some implementations, the first set of annotation rules includes one of: a content based annotation, a syntax based annotation rule, and a hybrid annotation rule. In some implementations, the content of the electronic message includes one of: a text item, an audio item, an image item, and a video item.Type: ApplicationFiled: December 30, 2013Publication date: July 2, 2015Applicant: Google Inc.Inventors: Bryan Christopher Horling, David Nachum, Harish Rajamani
-
Publication number: 20150172727Abstract: A data processing system for calibrating a media codec comprising a sequence of time-stamped frames and comprising: an encoder subsystem configured to perform encoding in accordance with one or more encode parameters; a decoder subsystem; and a calibration system comprising: a data store for storing an encoded media stream; and a calibration monitor configured to, on the media codec entering a calibration mode, cause: the decoder subsystem to decode the encoded media stream so as to generate a decoded media stream; the encoder subsystem to re-encode said decoded media stream; and the re-encoded media stream to pass back into the decoder subsystem; the calibration monitor being configured to, through variation of the encode parameters of the encoder subsystem, identify maximal encode parameters corresponding to the greatest steady-state demand on the media codec that permits decoding of the sequence of time-stamped frames at a rate in accordance with their associated timestamps.Type: ApplicationFiled: December 12, 2014Publication date: June 18, 2015Inventors: Venu Annamraju, Harish Rajamani, Mallikarjuna Kamarthi
-
Publication number: 20150172668Abstract: An adaptive control system for a media encoder configured to encode a media data stream in accordance with a set of one or more encode parameters, the system comprising: an input queue for receiving a sequence of data portions representing a media stream; and an adaptation controller configured to form an accumulation parameter indicative of an incidence of accumulation events at the input queue, each accumulation event representing the reception of an incoming data portion into the input queue whilst a previous data portion in the sequence is in the input queue; the adaptation controller being configured to control the encode parameters of the media encoder in dependence on the accumulation parameter.Type: ApplicationFiled: December 12, 2014Publication date: June 18, 2015Inventors: Venu Annamraju, Harish Rajamani, Mallikarjuna Kamarthi
-
Publication number: 20150172689Abstract: A system for decoding a data stream, comprising: a first decoder configured to decode the data stream at a first rate so as to generate a first stream of frames for playback and arranged to continue generating the first stream despite encountering an error in a particular frame; a second decoder operable to decode the data stream at a second rate so as to generate a second stream of frames; and a controller configured to: detect the error and cause the second decoder to decode the data stream from the particular frame in dependence on error correction data, the second rate being faster than the first rate such that the second stream catches up with the first stream; determine when the second decoder catches up with the first decoder; and cause the second decoder to operate at the first rate so as to generate the second stream for playback.Type: ApplicationFiled: December 12, 2014Publication date: June 18, 2015Inventors: Venu Annamraju, Harish Rajamani, Ranjith Irukulapati
-
Publication number: 20150172682Abstract: A frame processor for preparing a stream of video frames for encoding, the frame processor being arranged to receive a video frame having first pixel dimensions representing the number of pixels along each dimension of the video frame, and comprising: a rescaling filter configured to rescale the received video frame such that one or both of the first pixel dimensions are no greater than respective predetermined pixel dimension(s) and the aspect ratio of the received video frame is maintained; and a frame generator configured to: embed the rescaled video frame within an output video frame having the predetermined pixel dimensions; and mark pixels of the output video frame outside the bounds of the rescaled video frame as inactive; the frame processor being arranged to provide the output video frame to a video encoder.Type: ApplicationFiled: December 16, 2014Publication date: June 18, 2015Inventors: Venu Annamraju, Harish Rajamani
-
Publication number: 20150172691Abstract: A media encoder for encoding a stream of media data blocks is provided having an encoder pipeline comprising a sequence of processing modules for processing a stream of media data blocks, and a pipeline configurator configured effect a switch in the encoder pipeline from one or more first encode parameters to one or more second encode parameters. The first processing module of the pipeline can be configured to associate a trigger value with at least a first media data block processed at the first processing module in accordance with second encode parameters, the trigger value passing to subsequent modules so as to cause those modules to adopt the second encode parameters.Type: ApplicationFiled: December 16, 2014Publication date: June 18, 2015Inventors: Venu Annamraju, Harish Rajamani
-
Publication number: 20150012524Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a search query from a user, accessing a user model that is specific to the user and that includes one or more n-grams, one or more terms of the n-grams being associated with one or more annotations, the annotations indicating at least one context in which each of the one or more terms have been used, determining a user intent for the search query based on comparing one or more terms in the search query with the terms of n-grams in the user model, and receiving search results that are responsive to the search query, the search results being specific to the user intent.Type: ApplicationFiled: July 2, 2013Publication date: January 8, 2015Inventors: Maureen Heymans, Harish Rajamani, Ashutosh Shukla, Bryan C. Horling
-
Publication number: 20150012558Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a search query from a user, accessing a user model that is specific to the user and that includes one or more n-grams, one or more terms of the n-grams being associated with one or more annotations, the annotations indicating at least one context in which each of the one or more terms have been used, annotating one or more terms in the search query to provide an annotated search query, annotations being provided from user model, and receiving search results that are responsive to the annotated search query.Type: ApplicationFiled: July 2, 2013Publication date: January 8, 2015Inventors: Maureen Heymans, Harish Rajamani, Ashutosh Shukla, Bryan C. Horling, Amay Nitin Champaneria, Dong Hyun Kim
-
Publication number: 20150012532Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a plurality of documents, the plurality of documents being associated with a user of a plurality of users and having been generated using a plurality of computer-implemented services, determining information from the plurality of documents that is of potential interest to the user, and providing a user model that is specific to the user and that includes one or more n-grams, one or more terms of the n-grams being associated with one or more annotations, the annotations indicating at least one context in which each of the one or more terms have been used, wherein the at least one context is based on information determined from the documentType: ApplicationFiled: July 2, 2013Publication date: January 8, 2015Inventors: Maureen Heymans, Ashutosh Shukla, Harish Rajamani, Bryan C. Horling
-
Publication number: 20140280107Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for receiving a query initial input from a user, in response to receiving the query initial input, determining a set of personalized query suggestions based on the query initial input, the set of personalized query suggestions including one or more content-based query suggestions that reflect at least one of user data associated with the user within one or more computer-implemented services and use of the one or more computer-implemented services by the user, and transmitting instructions to display the set of personalized query suggestions to the user.Type: ApplicationFiled: March 15, 2013Publication date: September 18, 2014Applicant: Google Inc.Inventors: Maureen Heymans, Ashutosh Shukla, Harish Rajamani, Matthew E. Kulick, Bryan C. Horling, Jennifer E. Fernquist