1. A method, comprising:
identifying a webview to be displayed in a host application, the webview including at least one function call to a first function;
identifying one or more application-specific URL values corresponding to a URL command scheme for the host application;
populating a URL scheme object with the identified one or more application-specific URL values, wherein the populated URL scheme object includes a function definition for the first function, and wherein the function definition is associated with a first one of the one or more application-specific URL values; and
inserting, by operation of one or more computer processors, the populated URL scheme object into the identified webview, such that when the webview is rendered and one of the at least one function calls is made, the function definition in the inserted URL scheme object is executed to transmit a request to an address portion of the first application-specific URL value.
2. The method of claim 1, further comprising:
upon inserting the populated URL scheme object into the identified webview, rendering the webview in the host application.
3. The method of claim 1, wherein identifying a webview to be displayed further comprises at least one of (i) receiving the webview from a web server and (ii) retrieving the webview from a predetermined storage location.
4. The method of claim 1, wherein the transmitted request includes at least one parameter corresponding to a parameter portion of the first application-specific URL value.
5. The method of claim 1, wherein the webview includes one or more defined operations for the URL scheme object, wherein the populated URL scheme object includes one or more default operations, and wherein the one or more defined operations overwrite the one or more default operations when the webview is rendered.
6. The method of claim 5, further comprising:
upon rendering the webview for display, receiving a callback request to a first one of the one or more defined operations; and
processing the callback according to the first defined operation.
7. The method of claim 1, wherein populating the URL scheme object further comprises:
inserting one or more strings into the URL scheme object, wherein each of the one or more strings corresponds to a URL scheme command recognized by the host application.
8. The method of claim 7, wherein each of the inserted one or more strings is associated with a respective function within the URL scheme object, and wherein the host application is configured to perform one or more operations in response to a call to one of the URL scheme commands.
9. A system, comprising:
a processor; and
a memory containing a program that, when executed by the processor, performs an operation, comprising:
identifying a webview to be displayed in a host application, the webview including at least one function call to a first function;
identifying one or more application-specific URL values corresponding to a URL command scheme for the host application;
populating a URL scheme object with the identified one or more application-specific URL values, wherein the populated URL scheme object includes a function definition for the first function, and wherein the function definition is associated with a first one of the one or more application-specific URL values; and
inserting the populated URL scheme object into the identified webview, such that when the webview is rendered and one of the at least one function calls is made, the function definition in the inserted URL scheme object is executed to transmit a request to an address portion of the first application-specific URL value.
10. The system of claim 9, the operation further comprising:
upon inserting the populated URL scheme object into the identified webview, rendering the webview in the host application.
11. The system of claim 9, wherein identifying a webview to be displayed further comprises at least one of (i) receiving the webview from a web server and (ii) retrieving the webview from a predetermined storage location.
12. The system of claim 9, wherein the transmitted request includes at least one parameter corresponding to a parameter portion of the first application-specific URL value.
13. The system of claim 9, wherein the webview includes one or more defined operations for the URL scheme object, and wherein inserting the populated URL scheme object does not overwrite the defined operations in the webview.
14. The system of claim 13, the operation further comprising:
upon rendering the webview for display, receiving a callback request to a first one of the one or more defined operations; and
processing the callback according to the first defined operation.
15. The system of claim 9, wherein populating the URL scheme object further comprises:
inserting one or more strings into the URL scheme object, wherein each of the one or more strings corresponds to a URL scheme command recognized by the host application.
16. The system of claim 15, wherein each of the inserted one or more strings is associated with a respective function within the URL scheme object, wherein the populated URL scheme object includes one or more default operations, and wherein the one or more defined operations overwrite the one or more default operations when the webview is rendered.
17. A computer program product, comprising:
a computer-readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code to identify a webview to be displayed in a host application, the webview including at least one function call to a first function;
computer readable program code to identify one or more application-specific URL values corresponding to a URL command scheme for the host application;
computer readable program code to populate a URL scheme object with the identified one or more application-specific URL values, wherein the populated URL scheme object includes a function definition for the first function, and wherein the function definition is associated with a first one of the one or more application-specific URL values; and
computer readable program code to insert the populated URL scheme object into the identified webview, such that when the webview is rendered and one of the at least one function calls is made, the function definition in the inserted URL scheme object is executed to transmit a request to an address portion of the first application-specific URL value.
18. The computer program product of claim 17, the computer readable program code further comprising:
computer readable program code to, upon inserting the populated URL scheme object into the identified webview, render the webview in the host application.
19. The computer program product of claim 17, wherein the computer readable program code to identify a webview to be displayed further comprises computer readable program code to perform at least one of (i) receiving the webview from a web server and (ii) retrieving the webview from a predetermined storage location.
20. The computer program product of claim 17, wherein the transmitted request includes at least one parameter corresponding to a parameter portion of the first application-specific URL value.
21. The computer program product of claim 17, wherein the webview includes one or more defined operations for the URL scheme object, wherein the populated URL scheme object includes one or more default operations, and wherein the one or more defined operations overwrite the one or more default operations when the webview is rendered.
22. The computer program product of claim 21, the computer readable program code further comprising:
computer readable program code to, upon rendering the webview for display, receive a callback request to a first one of the one or more defined operations; and
computer readable program code to process the callback according to the first defined operation.
23. The computer program product of claim 17, wherein the computer readable program code to populate the URL scheme object further comprises:
computer readable program code to insert one or more strings into the URL scheme object, wherein each of the one or more strings corresponds to a URL scheme command recognized by the host application.
24. The computer program product of claim 23, wherein each of the inserted one or more strings is associated with a respective function within the URL scheme object, and wherein each function is configured to transmit a network message to a URL corresponding to the string associated with the function upon invocation of the function by the webview.
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 estimating quality of a video signal at a device, the method comprising:
receiving frames of the video signal at the device, each frame comprising a plurality of blocks of pixels;
using a section of a first frame of the video signal, which is correctly received, to provide a concealed block for use in place of a block of a second frame of the video signal, the block of the second frame having a motion vector indicating complex motion, the motion vector having been received in the video signal;
determining a difference measure indicative of a difference between at least some of the pixels surrounding the block in the second frame and the corresponding pixels surrounding the section in the first frame; and
using the difference measure to estimate the quality of the second frame of the video signal.
2. The method of claim 1, wherein the using a section of a first frame of the video signal to provide a concealed block comprises using the motion vector of the block of the second frame to map the block of the second frame to the section of the first frame.
3. The method of claim 1, further comprising identifying that the motion vector of the block of the second frame indicates complex motion by determining an absolute difference in the motion vector of the block of the second frame and a motion vector of the section of the first frame, wherein if said absolute difference is greater than a threshold value then the motion vector of the block of the second frame is identified as indicating complex motion.
4. The method of claim 1, wherein a plurality of concealed blocks are provided for use in place of a respective plurality of blocks of the second frame, the method further comprising:
determining which of said plurality of blocks of the second frame have motion vectors indicating complex motion;
determining difference measures for said determined plurality of blocks of the second frame which have motion vectors indicating complex motion; and
using the determined difference measures for said determined plurality of blocks of the second frame which have motion vectors indicating complex motion to estimate the quality of the second frame of the video signal.
5. The method of claim 1, wherein the block of the second frame of the video signal is coded with reference to another section of another frame of the video signal using a motion vector of the block of the second frame, and wherein there is an error in the transmission of said another section of said another frame to the device, and wherein the method comprises:
extrapolating the motion vector of the block of the second frame to identify the section of the first frame of the video signal.
6. The method of claim 1, wherein a further block of a further frame of the video signal is coded with reference to at least the block of the second frame and wherein the method comprises determining a difference measure for the further block using the difference measure for the block in the second frame.
7. The method of claim 6, wherein said determining a difference measure for the further block comprises determining the extent to which the further block is coded with reference to the block of the second frame, wherein the difference measure for the block of the second frame is used to said extent in determining the difference measure for the further block.
8. The method of claim 1, further comprising determining whether to display the second frame or another frame of the video signal based on the estimated quality of the second frame of the video signal.
9. The method of claim 1, wherein the difference measure is a function of differences between said at least some of the pixels surrounding the block in the second frame and the corresponding pixels surrounding the section in the first frame.
10. A device for estimating quality of a video signal, the device comprising:
a processing unit; and
a memory comprising instructions executable by the processing unit to:
receive frames of the video signal, each frame comprising a plurality of blocks of pixels;
use a section of a first frame of the video signal, which is correctly received, to provide a concealed block for use in place of a block of a second frame of the video signal, the block of the second frame having a motion vector indicating complex motion, the motion vector having been received in the video signal;
determine a difference measure indicative of a difference between at least some of the pixels surrounding the block in the second frame and the corresponding pixels surrounding the section in the first frame; and
estimate, using the determined difference measure, the quality of the second frame of the video signal.
11. The device of claim 10, wherein the use of a section of a first frame of the video signal to provide a concealed block comprises the use of the motion vector of the block of the second frame to map the block of the second frame to the section of the first frame.
12. The device of claim 10, the instructions further executable to: identify that the motion vector of the block of the second frame indicates complex motion by determining an absolute difference in the motion vector of the block of the second frame and a motion vector of the section of the first frame, wherein if said absolute difference is greater than a threshold value then the motion vector of the block of the second frame is identified as indicating complex motion.
13. A computer-readable hardware medium comprising instructions for estimating quality of a video signal, the instructions executable by a processor of a device to perform operations comprising:
receiving frames of the video signal at the device, each frame comprising a plurality of blocks of pixels;
using a section of a first frame of the video signal, which is correctly received, to provide a concealed block for use in place of a block of a second frame of the video signal, the block of the second frame having a motion vector indicating complex motion, the motion vector having been received in the video signal;
determining a difference measure indicative of a difference between at least some of the pixels surrounding the block in the second frame and the corresponding pixels surrounding the section in the first frame; and
using the difference measure to estimate the quality of the second frame of the video signal.
14. The computer-readable hardware medium of claim 13, wherein the using a section of a first frame of the video signal to provide a concealed block comprises using the motion vector of the block of the second frame to map the block of the second frame to the section of the first frame.
15. The computer-readable hardware medium of claim 13, the instructions further executable to perform identifying that the motion vector of the block of the second frame indicates complex motion by determining an absolute difference in the motion vector of the block of the second frame and a motion vector of the section of the first frame, wherein if said absolute difference is greater than a threshold value then the motion vector of the block of the second frame is identified as indicating complex motion.
16. The computer-readable hardware medium of claim 13, wherein a plurality of concealed blocks are provided for use in place of a respective plurality of blocks of the second frame, the instructions further executable to perform:
determining which of said plurality of blocks of the second frame have motion vectors indicating complex motion;
determining difference measures for said determined plurality of blocks of the second frame which have motion vectors indicating complex motion; and
using the determined difference measures for said determined plurality of blocks of the second frame which have motion vectors indicating complex motion to estimate the quality of the second frame of the video signal.
17. The computer-readable hardware medium of claim 13, wherein the block of the second frame of the video signal is coded with reference to another section of another frame of the video signal using a motion vector of the block of the second frame, and wherein there is an error in the transmission of said another section of said another frame to the device, and wherein the instructions are further executable to perform:
identifying the section of the first frame of the video signal by extrapolating the motion vector of the block of the second frame.
18. The computer-readable hardware medium of claim 13, wherein a further block of a further frame of the video signal is coded with reference to at least the block of the second frame and wherein the instructions are further executable to perform:
determining a difference measure for the further block using the difference measure for the block in the second frame.
19. The computer-readable hardware medium of claim 18, wherein said determining a difference measure for the further block comprises determining the extent to which the further block is coded with reference to the block of the second frame, wherein the difference measure for the block of the second frame is used to said extent in determining the difference measure for the further block.
20. The computer-readable hardware medium of claim 13, the instructions further configured to perform:
determining whether to display the second frame or another frame of the video signal based on the estimated quality of the second frame of the video signal.