1. A method comprising:
receiving from a client device of a first user of an online social network a partial query input comprising a first character string;
determining one or more predicted queries based on the partial query input;
generating, for each of one or more of the predicted queries, one or more search results corresponding to the predicted query; and
sending, responsive to receiving the partial query input, one or more of the search results to the client device of the first user for storage in a cache of the client device, one or more of the search results being retrieved from the cache of the client device for display responsive to receiving a completed query input at the client device of the first user comprising a second character string, wherein the second character string comprises at least the first character string, the completed query input substantially matching at least one of the predicted queries.
2. The method of claim 1, further comprising:
receiving, at the client device of the first user, the completed query input; and
retrieving, at the client device of the first user, responsive to receiving the completed query input, one or more of the search results stored in the cache of the client, the retrieved search results corresponding to the at least one predicted query substantially matching the completed query input.
3. The method of claim 1, further comprising sending, responsive to receiving the completed query input, one or more suggested queries to the client device of the first user for display, each suggested query corresponding to one of the one or more predicted queries.
4. The method of claim 3, further comprising:
receiving, at the client device of the first user, a selection of one of the suggested queries; and
retrieving, at the client device of the first user, responsive to receiving the selected suggested query, one or more of the search results stored in the cache of the client, the retrieved search results corresponding to the selected suggested query.
5. The method of claim 1, further comprising:
receiving, from the client device of the first user, the completed query input, wherein the completed query input does not substantially match at least one of the predicted queries;
generating, for the completed query input, one or more search results corresponding to the completed query input; and
sending, responsive to receiving the completed query input, one or more of the search results to the client device for display to the first user.
6. The method of claim 1, further comprising:
accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two of the nodes representing a single degree of separation between them, the nodes comprising:
a first node corresponding to a first user associated with an online social network; and
a plurality of second nodes that each correspond to a concept or a second user associated with the online social network.
7. The method of claim 6, wherein at least one of the predicted queries is a structured query comprising references to one or more nodes and one or more edges.
8. The method of claim 6, wherein generating the one or more search results corresponding to the predicted queries comprising searching the social graph to identify one or more objects corresponding to one or more nodes, respectively, of the plurality of nodes that substantially match each of the predicted queries.
9. The method of claim 8, wherein each of the search results comprises references to one or more of the identified objects.
10. The method of claim 1, further comprising calculating a score for each of the predicted queries based at least in part on the partial query input.
11. The method of claim 10, wherein the score for each of the predicted queries is based on a ranking determined by a typeahead process, wherein the typeahead process identifies one or more matches between one or more n-grams of the partial query input and one or more objects associated with the online social network.
12. The method of claim 10, wherein the score for each of the predicted queries is based on a query type of the partial query input.
13. The method of claim 10, wherein the score for each of the predicted queries is based on a page of the online social network currently accessed by the first user.
14. The method of claim 10, wherein the score for each of the predicted queries is based on a number of characters in the partial query input.
15. The method of claim 10, wherein the score for each of the predicted queries is further based on a social-graph affinity associated with the first user with respect to one or more objects associated with the predicted query.
16. The method of claim 10, further comprising determining whether to execute each of the predicted queries based at least in part on the calculated score of the predicted query.
17. The method of claim 1, wherein the retrieved search results are displayed on a search-results page of a native application associated with the online social network or a webpage of the online social network accessed by a browser client.
18. The method of claim 1, wherein the retrieved search results are displayed on a search-results page of a webpage of the online social network accessed by a browser client.
19. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
receive from a client device of a first user of an online social network a partial query input comprising a first character string;
determine one or more predicted queries based on the partial query input;
generate, for each of one or more of the predicted queries, one or more search results corresponding to the predicted query; and
send, responsive to receiving the partial query input, one or more of the search results to the client device of the first user for storage in a cache of the client device, one or more of the search results being retrieved from the cache of the client device for display responsive to receiving a completed query input at the client device of the first user comprising a second character string, wherein the second character string comprises at least the first character string, the completed query input substantially matching at least one of the predicted queries.
20. A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:
receive from a client device of a first user of an online social network a partial query input comprising a first character string;
determine one or more predicted queries based on the partial query input;
generate, for each of one or more of the predicted queries, one or more search results corresponding to the predicted query; and
send, responsive to receiving the partial query input, one or more of the search results to the client device of the first user for storage in a cache of the client device, one or more of the search results being retrieved from the cache of the client device for display responsive to receiving a completed query input at the client device of the first user comprising a second character string, wherein the second character string comprises at least the first character string, the completed query input substantially matching at least one of the predicted queries.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method of reducing blocking artifacts when coding a picture including a collection of points, the method comprising:
dividing the picture into blocks that each include multiple points, wherein the points of a first block are separated from points of a neighboring second block by a block boundary;
determining whether a first point from the first block and adjacent to the block boundary is to be modified by using information from a second point of the second block and adjacent to the block boundary, wherein the determination is based on a function of the value of the first point, the value of the second point, a value of a third point adjacent to the first point and separated from the second point by no points other than the first point, and a value of a fourth point adjacent to the second point and separated from the first point by no points other than the second point; and
when the first point is to be modified, modifying the first point using information from the second point.
2. The method of claim 1, wherein determining whether the first point is to be modified comprises determining whether the function of the values of the first through fourth points is less than a quantization parameter.
3. The method of claim 2, further comprising generating a modification value using information from the second point, wherein modifying the first point comprises subtracting the modification value from the value for the first point.
4. The method of claim 3, wherein determining whether the first point is to be modified comprises multiplying the modification value by a parameter that equals zero when the function of the first through fourth points is not less than the quantization parameter.
5. The method of claim 3, wherein generating the modification value comprises using a clipping function that constrains the modification value to be no greater than half of the difference between the value for the first point and the value for the second point.