Method and apparatus for identifying user-selectable regions within multiple display frames
Abstract
The method and apparatus determine a specific position of a user-selectable region at a particular point in time within a sequence of display frames. The method and apparatus first interpolate between a first matrix representing the user-selectable region at a first point in time and a second matrix representing the user-selectable region at a second point in time. In one embodiment, the matrix generated by this interpolation is then applied to a region definition for the user-selectable region to determine the specific area occupied by the region at the particular point in time. According to one embodiment, the first matrix and the second matrix are both stored within the same sample of a container track. This sample corresponds to one or more frames of the sequence of display frames. In an alternate embodiment, the first matrix and the second matrix are stored in two separate samples of the container track.
Claims
exact text as granted — not AI-modified1. An article comprising:
a storage medium; and
the storage medium having stored thereon a container track having a plurality of samples that include,
a key sample that includes information to initially define a user-selectable region of a corresponding track, wherein the region is selectable by a user during playback of the corresponding track and such selection does not modify the corresponding track, and
an override sample that includes information to modify the region definition of the key sample.
2. The article of claim 1 , wherein the information of the key sample includes one or more of a region definition that provides an outline of the user-selectable region, a beginning transformation function that maps the region definition to a first location of a display at a first time, an ending transformation function that maps the region definition to a second location of the display at a second time subsequent to the first time, a code indicator that identifies an action to be performed if the region is selected, and a layer indicator that identifies the depth of the region relative to other user-selectable regions being displayed.
3. The article of claim 2 , wherein the information of the key sample includes each of the region definition, the beginning transformation function, the ending transformation function, the code indicator, and the layer indicator.
4. The article of claim 1 , wherein the information of the override sample includes one or more of a region definition that provides an outline of the user-selectable region, a beginning transformation function that maps the region definition to a first location of a display at a first time, an ending transformation function that maps the region definition to a second location of the display at a second time subsequent to the first time, a code indicator that identifies an action to be performed if the region is selected, and a layer indicator that identifies the depth of the region relative to other user-selectable regions being displayed.
5. The article of claim 4 , wherein the information of the override sample includes each of the region definition, the beginning transformation function, the ending transformation function, the code indicator, and the layer indicator.
6. The article of claim 1 , wherein the information in the override sample replaces at least a portion of the information in the key sample.
7. The article of claim 1 , wherein the information in the override sample augments the information in the key sample.
8. The article of claim 1 , wherein the storage medium also has stored thereon the corresponding track.
9. The article of claim 1 , wherein the corresponding track comprises a video track.
10. The article of claim 1 , wherein the storage medium also has stored thereon a key sample table to determine, for each of the plurality of samples, whether the sample is a key sample or an override sample.
11. The article of claim 1 , wherein the container track further includes a second sample of the plurality of samples that includes information to define a second user-selectable region based at least in part on the information from at least one of the key sample and the override sample.
12. A method comprising:
receiving an indication of a user selection;
determining whether information for a user-selectable region is based on a key sample alone or the key sample in combination with an override sample;
merging information from the key sample with information from the override sample to determine a region definition and a current transformation function if the information for the user-selectable region is based on the key sample in combination with the override sample, otherwise using the information from the key sample alone to determine the region definition and the current transformation function; and
determining a location of the user-selectable region at a time the user selection is made based at least in part on the region definition and the current transformation function.
13. The method of claim 12 , further comprising:
comparing a location on a display of the user selection with the location of the user-selectable region at the time the user selection is made; and
determining whether the user selection is a selection of the user-selectable region based on the comparing.
14. The method of claim 12 , wherein the merging further comprises interpolating between a beginning transformation function and an ending transformation function to determine the current transformation function.
15. The method of claim 14 , wherein the beginning transformation function is stored in the key sample and the ending transformation function is stored in the override sample.
16. The method of claim 14 , wherein both the beginning transformation function and the ending transformation function are stored in the override sample.
17. The method of claim 12 , further comprising determining, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user-selectable region is based on the key sample in combination with the override sample, otherwise determining, based on the key sample alone, the action to be taken in response to the user selection.
18. A machine-readable medium having stored thereon a series of instructions which, when executed by a processor, cause the processor to:
receive an indication of a user selection;
determine whether information for a user-selectable region is based on a key sample alone or the key sample in combination with an override sample;
merge information from the key sample with information from the override sample to determine a region definition and a current transformation function if the information for the user-selectable region is based on the key sample in combination with the override sample, and otherwise use the information from the key sample alone to determine the region definition and the current transformation function; and
determine a location of the user-selectable region at a time the user selection is made based at least in part on the region definition and the current transformation function.
19. The machine-readable medium of claim 18 , wherein the series of instructions further cause the processor to:
compare a location on a display of the user selection with the location of the user-selectable region at the time the user selection is made; and
determine whether the user selection is a selection of the user-selectable region based on the comparing.
20. The machine-readable medium of claim 18 , wherein the instructions that cause the processor to merge information from the key sample with information from the override sample further comprise instructions that cause the processor to interpolate between a beginning transformation function and an ending transformation function to determine the current transformation function.
21. The machine-readable medium of claim 20 , wherein the beginning transformation function is stored in the key sample and the ending transformation function is stored in the override sample.
22. The machine-readable medium of claim 20 , wherein both the beginning transformation function and the ending transformation function are stored in the override sample.
23. The machine-readable medium of claim 18 , wherein the series of instructions further cause the processor to determine, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user-selectable region is based on the key sample in combination with the override sample, and otherwise determine, based on the key sample alone, the action to be taken in response to the user selection.
24. An apparatus comprising:
logic embodied in computer program code on a computer-readable medium to receive an indication of a user selection; logic embodied in computer program code on the computer-readable medium to determine whether information for a user-selectable region is based on a key sample alone or the key sample in combination with an override sample; logic embodied in computer program code on the computer-readable medium to merge information from the key sample with information from the override sample to determine a region definition and a current transformation function if the information for the user-selectable region is based on the key sample in combination with the override sample, and otherwise to use the information from the key sample alone to determine the region definition and the current transformation function; and logic embodied in computer program code on the computer-readable medium to determine a location of the user-selectable region at a time the user selection is made based at least in part on the region definition and the current transformation function.
25. The apparatus of claim 24 , further comprising logic embodied in computer program code on the computer-readable medium to determine, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user-selectable region is based on the key sample in combination with the override sample, and otherwise to determine, based on the key sample alone, the action to be taken in response to the user selection.
26. An apparatus comprising A computer program product for determining a location of a user- selectable region, the computer program product having a computer - readable storage medium having computer executable code for :
first logic embodied in computer program code on a computer-readable medium for receiving an indication of a user selection and determining whether information for a user-selectable region is based on a key sample alone or the key sample in combination with an override sample;
second logic embodied in computer program code on the computer-readable medium for merging information from the key sample with information from the override sample to determine a region definition and a current transformation function if the information for the user-selectable region is based on the key sample in combination with the override sample, and otherwise for using the information from the key sample alone to determine the region definition and the current transformation function; and
third logic embodied in computer program code on the computer-readable medium for determining a location of the user-selectable region at a time the user selection is made based at least in part on the region definition and the current transformation function.
27. The apparatus computer program product of claim 26 wherein the third logic is further for further comprising executable code for determining, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user-selectable region is based on the key sample in combination with the override sample, and otherwise for determining, based on the key sample alone, the action to be taken in response to the user selection.
28. An apparatus A computer program product having a computer- readable storage medium having computer executable code for determining a location of a user - selectable region, comprising:
means for receiving an indication of a user selection;
means for determining whether information for a user-selectable region is based on a key sample alone or the key sample in combination with an override sample;
means for merging information from the key sample with information from the override sample to determine a region definition and a current transformation function if the information for the user-selectable region is based on the key sample in combination with the override sample, otherwise using the information from the key sample alone to determine the region definition and the current transformation function; and
means for determining a location of the user-selectable region at a time the user selection is made based at least in part on the region definition and the current transformation function.
29. The apparatus computer program product of claim 28 , further comprising:
means for comparing a location on a display of the user selection with the location of the user-selectable region at the time the user selection is made; and
means for determining whether the user selection is a selection of the user-selectable region based on the comparing.
30. The apparatus computer program product of claim 28 , wherein the means for merging comprises means for interpolating between a beginning transformation function and an ending transformation function to determine the current transformation function.
31. The apparatus computer program product of claim 28 , further comprising means for determining, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user-selectable region is based on the key sample in combination with the override sample, otherwise determining, based on the key sample alone, the action to be taken in response to the user selection.
32. An apparatus comprising:
a storage device including a video track comprising a plurality of frames, wherein a first frame of the video track corresponds to a user - selectable region; and a processing unit coupled to the storage device which determines an area occupied by the user - selectable region at an intermediate point in time based on interpolation between a first matrix of a key sample representing the user - selectable region at a first point in time and a second matrix of an override sample representing the user - selectable region at a second point in time, and which outputs a signal indicating whether a user selection falls within the determined area.
33. The apparatus of claim 32 , wherein the storage device also includes a container track corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
34. The apparatus of claim 33 , wherein each sample of the plurality of samples corresponds to a single frame of the plurality of frames of the video track.
35. The apparatus of claim 32 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
36. The apparatus of claim 32 , wherein the processing unit utilizes linear interpolation to determine the area occupied by the user- selectable region.
37. An apparatus for identifying a user- selectable region within a series of display frames, the apparatus comprising: a storage device, for storing a container track sample corresponding to an input, a region definition for the container track sample, and a beginning transformation function for the container track sample; and a processing unit, coupled to the storage device, for: comparing a time index to a key sample table to determine whether the container track sample is a key sample or an override sample; identifying the user - selectable region by applying the beginning transformation function to the region definition; outputting a signal indicating the location of the user - selectable region; and executing a set of instructions identified in the container track sample.
38. The apparatus of claim 37 , wherein the beginning transformation function comprises a beginning matrix.
39. The apparatus of claim 37 , wherein the input is user- actuated.
40. The apparatus of claim 37 , wherein the region definition and the beginning transformation function are contained in a previous container track sample.
41. The apparatus of claim 37 , wherein the storage device further comprises an ending transformation function for the container track sample and wherein the processing unit further:
generates an interpolated transformation function by interpolating between the beginning transformation function and the ending transformation function; and indicates the user - selectable region by applying the interpolated transformation function to the region definition.
42. The apparatus of claim 37 , wherein the processing unit identifies the user- selectable region by multiplying each point of the region definition by the beginning transformation function.
43. A computer- implemented method comprising the steps of: accessing a first frame of a video track stored on a storage device, wherein the video track includes a plurality of frames and wherein the first frame corresponds to a user - selectable region; determining an area occupied by the user - selectable region at an intermediate point in time based on interpolation between a first matrix of a key sample representing the user - selectable region at a first point in time and a second matrix of an override sample representing the user - selectable region at a second point in time; and outputting a signal indicating whether a user selection falls within the determined area.
44. The computer- implemented method of claim 43 , further comprising the step of obtaining the first matrix and the second matrix by accessing a container track, stored on the storage device, corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
45. The computer- implemented method of claim 44 , wherein each sample of the plurality of samples corresponds to a single frame of the plurality of frames of the video track.
46. The computer- implemented method of claim 43 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
47. The computer- implemented method of claim 43 , wherein the determining step comprises the step of using linear interpolation to determine the area occupied by the user - selectable region.
48. A computer- readable medium having stored thereon a plurality of instructions, designed to be executed by a processor, for implementing a function to access a first frame of a video track stored on a storage device, wherein the video track includes a plurality of frames and wherein the first frame corresponds to a user - selectable region, a function to determine an area occupied by the user - selectable region at an intermediate point in time based on interpolation between a first matrix of a key sample representing the user - selectable region at a first point in time and a second matrix of an override sample representing the user - selectable region at a second point in time, and a function to output a signal indicating whether a user selection falls within the determined area.
49. A computer- readable medium of claim 48 , further comprising a plurality of instructions for implementing a function to obtain the first matrix and the second matrix by accessing a container track, stored on the storage device, corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
50. The computer- readable medium of claim 49 , wherein each sample of the plurality of samples corresponds to a single frame of the plurality of frames of the video track.
51. The computer- readable medium of claim 48 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
52. The computer- readable medium of claim 48 , wherein the plurality of instructions for implementing a function to determine the area occupied by the user - selectable region at the first point in time comprises a plurality of instructions for implementing a function to determine the area occupied by the user - selectable region at the first point in time using linear interpolation.
53. An apparatus comprising:
an input device, for receiving an indication of a user selection; a region determination module, coupled to the input device, for: determining whether information for a user - selectable region is based on a key sample alone or the key sample in combination with an override sample; merging information from the key sample with information from the override sample to determine a region definition and a current transformation function if the information for the user - selectable region is based on the key sample in combination with the override sample otherwise using the information from the key sample alone to determine the region definition and the current transformation function; determining a location of the user - selectable region at a time the user selection is made based at least in part on the region definition and the current transformation function; and outputting a signal indicating whether the user selection falls within the user - selectable region.
54. The apparatus of claim 53 , further comprising:
a comparator, coupled to the region determination module, for: comparing a location on a display of the user selection with the location of the user - selectable region at the time the user selection is made; and determining whether the user selection is a selection of the user - selectable region based on the comparing.
55. The apparatus of claim 53 , wherein the region determination module further interpolates between a beginning transformation function and an ending transformation function to determine the current transformation function.
56. The apparatus of claim 55 , wherein the beginning transformation function is stored in the key sample and the ending transformation function is stored in the override sample.
57. The apparatus of claim 55 , wherein both the beginning transformation function and the ending transformation function are stored in the override sample.
58. The apparatus of claim 53 , further comprising an action determination module, coupled to the region determination module, for determining, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user- selectable region is based on the key sample in combination with the override sample, otherwise determining, based on the key sample alone, the action to be taken in response to the user selection.
59. An apparatus comprising:
a storage device including a video track comprising a plurality of frames, wherein a first frame of the video track corresponds to a user selectable region; and a processing unit coupled to the storage device which determines an area occupied by the user - selectable region at an intermediate point in time, the area occupied by the user selectable region including at least one location in the first frame, based on interpolation between a key sample representing the user - selectable region at a first point in time and an override sample representing the user - selectable region at a second point in time, and which outputs a signal indicating whether a user selection falls within the determined area.
60. The apparatus of claim 59 , wherein the storage device also includes a container track corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
61. The apparatus of claim 60 , wherein each sample of the plurality of samples corresponds to a single frame of the plurality of frames of the video track.
62. The apparatus of claim 59 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
63. The apparatus of claim 59 , wherein the processing unit utilizes linear interpolation to determine the area occupied by the user- selectable region.
64. A computer- implemented method comprising the steps of: accessing a first frame of a video track stored on a storage device, wherein the video track includes a plurality of frames and wherein the first frame corresponds to a user - selectable region; determining an area occupied by the user - selectable region at an intermediate point in time, the area occupied by the user selectable region including at least one location in the first frame, based on interpolation between a key sample representing the user - selectable region at a first point in time and an override sample representing the user - selectable region at a second point in time; and outputting a signal indicating whether a user selection falls within the determined area.
65. The computer- implemented method of claim 64 , further comprising the step of obtaining the samples by accessing a container track, stored on the storage device, corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
66. The computer- implemented method of claim 64 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
67. The computer- implemented method of claim 64 , wherein the determining step comprises the step of using linear interpolation to determine the area occupied by the user - selectable region.
68. A computer- readable medium having stored thereon a plurality of instructions, designed to be executed by a processor, for implementing a function to access a first frame of a video track stored on a storage device, wherein the video track includes a plurality of frames and wherein the first frame corresponds to a user - selectable region, a function to determine an area occupied by the user - selectable region at an intermediate point in time, the area occupied by the user selectable region including at least one location in the first frame, based on interpolation between a key sample representing the user selectable region at a first point in time and an override sample representing the user - selectable region at a second point in time, and a function to output a signal indicating whether a user selection falls within the determined area.
69. The computer- readable medium of claim 68 , further comprising a plurality of instructions for implementing a function to obtain the first matrix and the second matrix by accessing a container track, stored on the storage device, corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
70. The computer- readable medium of claim 68 , wherein each sample of the plurality of samples corresponds to a single frame of the plurality of frames of the video track.
71. The computer- readable medium of claim 68 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
72. The computer- readable medium of claim 68 , wherein the plurality of instructions for implementing a function to determine the area occupied by the user - selectable region at the first point in time comprises a plurality of instruction is for implementing a function to determine the area occupied by the user - selectable region at the first point in time using linear interpolation.
73. A method comprising:
receiving an indication of a user selection; determining whether information for a user - selectable region is based on a first sample alone or the first sample in combination with a second sample, the first and second samples having a relationship so that combining information from the first and second samples produces a valid result; merging information from the first sample with information from the second sample to determine a region definition if the information for the user - selectable region is based on the first sample in combination with the second sample, and otherwise using the information from the first sample alone to determine the region definition, the region definition defining at least one spatial location; determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection fails within the user - selectable region.
74. The method of claim 73 , further comprising:
comparing a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determining whether the user selection is a selection of the user - selectable region based on the comparing.
75. The method of claim 73 , wherein the merging further comprises interpolating between information from the first sample and information from the second sample to determine the region definition.
76. The method of claim 73 , further comprising determining, based on both samples, an action to be taken in response to the user selecting if the information for the user- selectable region is based on both samples, and otherwise determining, based on one sample alone, the action to be taken in response to the user selection.
77. A machine- readable medium having stored thereon a series of instructions which, when executed by a processor, cause the processor to: receive an indication of a user selection; determine whether information for a user - selectable region is based on a first sample alone or the first sample in combination with a second sample; merge information from the first sample with information from the second sample to determine a region definition if the information for the user - selectable region is based on the first sample in combination with the second sample, otherwise use the information from the first sample alone to determine the region definition, the region definition defining at least one spatial location; determine a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and output a signal indicating whether the user selection falls within the user - selectable region.
78. The machine- readable medium of claim 77 , wherein the series of instructions further cause the processor to: compare a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determine whether the user selection is a selection of the user selectable region based on the comparing.
79. The machine- readable medium of claim 77 , wherein the instructions that cause the processor to merge information from the first sample with information from the second sample further comprise instructions that cause the processor to interpolate between information from the first sample and information from the second sample to determine the region definition.
80. The machine- readable medium of claim 77 , wherein the series of instructions further cause the processor to determine, based on both samples, an action to be taken in response to the user selection if the information for the user selectable region is based on both samples, and otherwise determine, based on one sample alone, the action to be taken in response to the user selection.
81. A computer program product comprising a computer- usable medium storing computer - readable code therein for identifying a user - selectable region comprising: computer - readable program code configured to cause a computer to receive an indication of a user selection; computer - readable program code configured to cause a computer to determine whether information for a user - selectable region is based on a first sample alone or the first sample in combination with a second sample; computer - readable program code configured to cause a computer to merge information from the first sample with information from the second sample to determine a region definition if the information for the user - selectable region is based on the first sample in combination with the second sample, and otherwise to use the information from the first sample alone to determine the region definition, the region definition defining at least one spatial location; computer - readable program code configured to cause a computer to determine a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and computer - readable program code configured to cause a computer to output a signal indicating whether the user selection falls within the user - selectable region.
82. The computer program product of claim 81 , further comprising computer- readable program code configured to cause a computer to determine, based on both samples, an action to be taken in response to the user selection if the information for the user - selectable region is based on both samples, and otherwise to determine based on one sample alone, the action to be taken in response to the user selection.
83. A computer program product for determining a location of user- selectable region, the computer program product having a computer - readable storage medium having computer executable code for: receiving an indication of a user selection; determining whether information for a user - selectable region is based on a first sample alone or the first sample in combination with a second sample; merging information from the first sample with information from the second sample to determine a region definition if the information for the user - selectable region is based on the first sample in combination with the second sample, and otherwise using the information from the first sample alone to determine the region definition, the region definition defining at least one spatial location; determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection falls within the user - selectable region.
84. The computer program product of claim 83 further comprising computer executable code for:
comparing a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determining whether the user selection is a selection of the user - selectable region based on the comparing.
85. The computer program product of claim 83 wherein the computer executable code for merging comprises computer executable code for interpolating between information from the first sample and information from the second sample to determine the region definition.
86. The computer program product of claim 83 , further comprising computer executable code for determining, based on both samples, an action to be taken in response to the user selection if the information for the user- selectable region is based on both samples, and otherwise determining, based on one sample alone, the action to be taken in response to the user selection.
87. An apparatus comprising:
an input device, for receiving an indication of a user selection; a region determination module, coupled to the input device, for: determining whether information for a user - selectable region is based on a first sample alone or the first sample in combination with a second sample, the first and second samples having a relationship so that combining information from the first and second samples produces a valid result; merging information from the first sample with information from the second sample to determine a region definition if the information for the user - selectable region is based on the first sample in combination with the second sample, and otherwise using the information from the first sample alone to determine the region definition, the region definition defining at least one spatial location; determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection falls within the user - selectable region.
88. The apparatus of claim 87 , further comprising:
a comparator, coupled to the region determination module, for: comparing a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determining whether the user selection is a selection of the user - selectable region based on the comparing.
89. The apparatus of claim 87 , wherein the region determination module further interpolates between information from the first sample and information from the second sample to determine the region definition.
90. The apparatus of claim 87 , further comprising an action determination module, coupled to the region determination module, for determining, based on both samples, an action to be taken in response to the user selection if the information for the user- selectable region is based on both samples, and otherwise determining based on one sample alone, the action to be taken in response to the user selection.
91. An apparatus comprising:
a storage device including a video track comprising a plurality of frames, wherein a first frame of the video track corresponds to a user selectable region; and a processing unit coupled to the storage device which determines an area occupied by the user - selectable region based on a combination of a key sample representing the user - selectable region at a first point in time and an override sample representing the user - selectable region at a second point in time, the area occupied by the user - selectable region including at least one location in the first frame, and which outputs a signal indicating whether a user selection falls within the determined area.
92. The apparatus of claim 91 , wherein the storage device also includes a container track corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
93. The apparatus of claim 91 , wherein each sample of the plurality of samples corresponds to a single frame of the plurality of frames of the video track.
94. The apparatus of claim 91 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
95. A computer- implemented method comprising the steps of: accessing a first frame of a video track stored on a storage device, wherein the video track includes a plurality of frames and wherein the first frame corresponds to a user - selectable region; determining an area occupied by the user - selectable region at a point in time based on a combination of a key sample representing the user - selectable region at a first point in time and an override sample representing the user - selectable region at a second point in time, the area occupied by the user - selectable region including at least one location in the first frame; and outputting a signal indicating whether a user selection falls within the determined area.
96. The computer- implemented method of claim 95 , further comprising the step of obtaining the samples by accessing a container track, stored on the storage device, corresponding to the video track, wherein the container track includes a plurality of samples corresponding to the video track.
97. The computer- implemented method of claim 95 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
98. A computer- readable medium having stored thereon a plurality of instructions, designed to be executed by a processor, for implementing a function to access a first frame of a video track stored on a storage device, wherein the video track includes a plurality of frames and wherein the first frame corresponds to a user - selectable region, a function to determine an area occupied by the user - selectable region at a point in time based on a combination of a key sample representing the user - selectable region at a first point in time and an override sample representing the user - selectable region at a second point in time, the area occupied by the user - selectable region including at least one location in the first frame, and a function to output a signal indicating whether a user selection falls within the determined area.
99. The computer- readable medium of claim 98 , wherein each sample of the plurality of samples corresponds to a single frame of the plurality of frames of the video track.
100. The computer- readable medium of claim 98 , wherein the key sample corresponds to the first frame of the video track and the override sample corresponds to a second frame of the video track.
101. The computer- readable medium of claim 98 , wherein the plurality of instructions for implementing a function to determine the area occupied by the user - selectable region at the first point in time comprises a plurality of instructions for implementing a function to determine the area occupied by the user - selectable region at the first point in time using linear interpolation.
102. A method comprising:
receiving an indication of a user selection; determining whether information for a user - selectable region is based on a key sample alone or the key sample in combination with an override sample; merging information from the key sample with information from the override sample to determine a region definition if the information for the user - selectable region is based on the key sample in combination with the override sample, otherwise using the information from the key sample alone to determine the region definition, the region definition defining at least one spatial location; and determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection falls within the user - selectable region.
103. The method of claim 102 , further comprising:
comparing a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determining whether the user selection is a selection of the user - selectable region based on the comparing.
104. The method of claim 102 , wherein the merging further comprises interpolating between information from the key sample and information from the override sample to determine the region definition.
105. The method of claim 102 , further comprising determining, based on both samples, an action to be taken in response to the user selection if the information for the user- selectable region is based on the key sample in combination with the override sample, otherwise determining, based on the key sample alone, the action to be taken in response to the user selection.
106. A machine- readable medium having stored thereon a series of instructions which, when executed by a processor, cause the processor to: receive an indication of a user selection; determine whether information for a user - selectable region is based on a key sample alone or the key sample in combination with an override sample; merge information from the key sample with information from the override sample to determine a region definition if the information for the user - selectable region is based on the key sample in combination with the override sample, and otherwise use the information from the key sample alone to determine the region definition, the region definition defining at least one spatial location; determine a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and output a signal indicating whether the user selection falls within the user - selectable region.
107. The machine- readable medium of claim 106 , wherein the series of instructions further cause the processor to: compare a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determine whether the user selection is a selection of the user - selectable region based on the comparing.
108. The machine- readable medium of claim 106 , wherein the information from the first sample comprises a beginning transformation function stored in the first sample and the information from the second sample comprises an ending transformation function stored in the second sample.
109. The machine- readable medium of claim 106 , wherein the series of instructions further cause the processor to determine, based on both samples, an action to be taken in response to the user selection if the information for the user - selectable region is based on the key sample in combination with the override sample, and otherwise determine, based on the key sample alone, the action to be taken in response to the user selection.
110. A computer program product comprising a computer- usable medium storing computer - readable code therein for identifying a user - selectable region comprising: computer - readable program code configured to cause a computer to receive an indication of a user selection; computer - readable program code configured to cause a computer to determine whether information for a user - selectable region is based on a key sample alone or the key sample in combination with an override sample; computer - readable program code configured to cause a computer to merge information from the key sample with information from the override sample to determine a region definition if the information for the user - selectable region is based on the key sample in combination with the override sample, and otherwise to use the information from the key sample alone to determine the region definition, the region definition defining at least one spatial location; computer - readable program code configured to cause a computer to determine a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and computer - readable program code configured to cause a computer to output a signal indicating whether the user selection falls within the user - selectable region.
111. The computer program product of claim 110 , further comprising computer- readable program code configured to cause a computer to determine, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user - selectable region is based on the key sample in combination with the override sample, and otherwise to determine, based on the key sample alone, the action to be taken in response to the user selection.
112. A computer program product for determining a location of a user- selectable region, the computer program product having a computer - readable storage medium having computer executable code for: receiving an indication of a user selection; determining whether information for a user - selectable region is based on a key sample alone or the key sample in combination with an override sample; merging information from the first sample with information from the override sample to determine a region definition if the information for the user - selectable region is based on the key sample in combination with the override sample, otherwise using the information from the key sample alone to determine the region definition, the region definition defining at least one spatial location; determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection falls within the user - selectable region.
113. The computer program product of claim 112 , further comprising computer executable code for:
comparing a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determining whether the user selection is a selection of the user - selectable region based on the comparing.
114. The computer program product of claim 112 , further comprising computer executable code for determining, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user- selectable region is based on the key sample in combination with the override sample, otherwise determining, based on the key sample alone, the action to be taken in response to the user selection.
115. An apparatus comprising:
an input device, for receiving an indication of a user selection; a region determination module, coupled to the input device for: determining whether information for a user - selectable region is based on a key sample alone or the key sample in combination with an override sample; merging information from the key sample with information from the override sample to determine a region definition if the information for the user - selectable region is based on the key sample in combination with the override sample, otherwise using the information from the key sample alone to determine the region definition, the region definition defining at least one spatial location; determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection falls within the user - selectable region.
116. The apparatus of claim 115 , further comprising:
a comparator, coupled to the region determination module, for: comparing a location on a display of the user selection with the spatial location of the user - selectable region at the time the user selection is made; and determining whether the user selection is a selection of the user - selectable region based on the comparing.
117. The apparatus of claim 115 , further comprising an action determination module, coupled to the region determination module, for determining, based on both the key sample and the override sample, an action to be taken in response to the user selection if the information for the user- selectable region is based on the key sample in combination with the override sample, otherwise determining, based on the key sample alone, the action to be taken in response to the user selection.
118. A method for defining a user- selectable region on a display device, comprising: accessing a region definition of a user - selectable region corresponding to at least one spatial location in a first frame of a video track stored on a storage device; applying a transformation matrix to the region definition, to obtain an area occupied by the region on the display device; accessing a second region definition corresponding to at least one spatial location in a second frame of the video track, the first and second frames having a relationship so that combining information corresponding to the first and second frames produces a valid result; applying a second transformation matrix to the second region definition, to obtain a second area occupied by the region on the display device; interpolating between the first area and the second area occupied by the region, to determine an intermediate area occupied by the region on the display device; and outputting a signal indicating whether a user selection falls within the intermediate area.
119. The method of claim 118 , wherein applying a transformation matrix to the region definition comprises:
multiplying each point in the region definition by the transformation matrix using vector multiplication.
120. The method of claim 118 , further comprising:
receiving user input indicating a pixel location; and determining whether the indicated pixel location is within the area occupied by the region on the display device.
121. The method of claim 118 , wherein the region definition is provided in a first graphical coordinate system, and wherein applying a transformation matrix to the region definition comprises transforming the region definition to a second graphical coordinate system.
122. An apparatus comprising:
a storage device including a video track comprising a plurality of frames, wherein a first frame of the video track contains at least one spatial location included in a user - selectable region definition; and a processing unit coupled to the storage device which: determines an area occupied by the user - selectable region applying a transformation matrix to the region definition, to obtain an area occupied by the region on the display device; accesses a second region definition corresponding to at least one spatial location in a second frame of the video track, the first and second frames having a relationship so that combining information corresponding to the first and second frames produces a valid result; applies a second transformation matrix to the second region definition, to obtain a second area occupied by the region on the display device; and interpolates between the first area and the second area occupied by the region, to determine an intermediate area occupied by the region on the display device; and outputs a signal indicating whether a user selection falls within the intermediate area.
123. The apparatus of claim 122 , wherein the processing unit applies the transformation matrix to the region definition by multiplying each point in the region definition by the transformation matrix using vector multiplication.
124. The apparatus of claim 122 , further comprising:
an input device, coupled to the processing unit, for receiving user input indicating a pixel location; and wherein the processing unit determines whether the indicated pixel location is within the area occupied by the region on the display device.
125. The apparatus of 122 , wherein the region definition is provided in a first graphical coordinate system, and wherein the processing unit applies the transformation matrix to the region definition to transform the region definition to a second graphical coordinate system.
126. A computer program product comprising a computer- usable medium storing computer - readable code therein for defining a user - selectable region on a display device comprising: computer - readable program code configured to cause a computer to access a region definition of a user - selectable region corresponding to at least one spatial location in a first frame of a video track stored on a storage device; computer - readable program code configured to cause a computer to apply a transformation matrix to the region definition, to obtain an area occupied by the region on the display device; computer - readable program code configured to cause a computer to access a second region definition corresponding to at least one spatial location in a second frame of the video track, the first and second frames having a relationship so that combining information corresponding to the first and second frames produces a valid result; computer - readable program code configured to cause a computer to apply a second transformation matrix to the second region definition, to obtain a second area occupied by the region on the display device; computer - readable program code configured to cause a computer to interpolate between the first area and the second area occupied by the region, to determine an intermediate area occupied by the region on the display device; and computer - readable program code configured to cause a computer to output a signal indicating whether a user selection falls within the intermediate area.
127. The computer program product of claim 126 , wherein the computer- readable program code configured to cause a computer to apply a transformation matrix to the region definition comprises: computer - readable program code configured to cause a computer to multiply each point in the region definition by the transformation matrix using vector multiplication.
128. The computer program product of claim 126 , further comprising:
computer - readable program code configured to cause a computer to receive user input indicating a pixel location; and computer - readable program code configured to cause a computer to determine whether the indicated pixel location is within the area occupied by the region on the display device.
129. The computer program product of 126 wherein the region definition is provided in a first graphical coordinate system, and wherein the computer- readable program code configured to cause a computer to apply a transformation matrix to the region definition comprises computer - readable program code configured to cause a computer to transform the region definition to a second graphical coordinate system.
130. A method comprising:
receiving an indication of a user selection; merging information from the first sample with information from a second sample to determine a region definition, the region definition defining at least one spatial location, the first and second samples having a relationship so that combining information from the first and second samples produces a valid result; and determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection falls within the user - selectable region.
131. An apparatus comprising:
an input device, for receiving an indication of a user selection; a region determination module, coupled to the input device, for: merging information from the first sample with information from a second sample to determine a region, the including at least one spatial location, the first and second samples having a relationship so that combining information from the first and second samples produces a valid result; determining a spatial location of the user - selectable region at a time the user selection is made based at least in part on the region definition; and outputting a signal indicating whether the user selection falls within the user - selectable region.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.