DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant’s arguments with respect to claims 1-20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Matejka et al. (U.S. Patent Application Publication 2013/0097508) in view of Chen (U.S. Patent Application Publication 2024/0187468) in view of Amin et al. (U.S. Patent 6,922,816) in view of Craner (U.S. Patent Application Publication 2011/0286721).
Regarding claim 1, Matejka et al. discloses a method of retrieving images from a server device for video scrubbing at a client device, the method comprising: detecting, by a client device, user input indicating a requested time along a timeline of a video, the video stored at the server device (Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement); and checking, by the client device, if a cached image having a timestamp within a precision margin of the requested time is stored in a memory of the client device (Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement). However, Matejka et al. fails to explicitly disclose under a condition that the cached image is present in the memory, retrieving, by the client device, the cached image from the memory of the client device; under a condition that the cached image is not present in the memory, retrieving, by the client device and from the server device, a corresponding image; and adjusting, by the client device, a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline, wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Chen reference, Chen discloses a method of retrieving images from a server device at a client device, the method comprising: checking, by the client device, if a cached image having a timestamp of the requested time is stored in a memory of the device (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display); under a condition that the cached image is present in the memory, retrieving, by the device, the cached image from the memory of the client device (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display); and under a condition that the cached image is not present in the memory, retrieving, by the device and from the server device, a corresponding image (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had checked the device to see if the cached image was stored locally on the device and then if it wasn’t to send a request to a server to retrieve the image as disclosed by Chen in the method disclosed by Matejka et al. in order to reduce latency in retrieving the image by checking the local device first. Once the concept taught by Chen is applied to the Matejka et al. reference, the client device would check its own memory first before sending a request to a server to retrieve the image. However, Matejka et al. in view of Chen fails to explicitly disclose adjusting, by the client device, a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline, wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Amin et al. reference, Amin et al. discloses a method comprising: adjusting, by the client device, a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline (Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)); and wherein the precision margin defines a temporal range for identifying an area as a match for the requested time (Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had adjusted a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline as disclosed by Amin et al. in the method disclosed by Matejka et al. in view of Chen in order to allow for both coarse and fine adjustments to be made on an application utilizing the slider bar. However, Matejka et al. in view of Chen in view of Amin et al. fails to explicitly disclose wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Craner reference, Craner discloses a method comprising: wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time (Fig. 4; paragraph [0049] – the trick-play client may display a visual representation of the rewind and forward buffers using an enhanced transport control bar – Fig. 4 shows illustrative screen 400 of the video 402 that the user is viewing, and enhanced transport control bar 410 – enhanced transport control bar 410 includes title 412 of video 402, channel 414 on which the video is transmitted, as well as start time 416 and end time 418 of the video – enhanced transport control bar 410 includes cursor 420 that indicates the current playback location and time 421 of video 402 of the user; paragraph [0050] - enhanced transport control bar 410 also includes visual representations of the rewind and forward buffers into which the rewind and forward streams are cached, respectively - in particular, rewind buffer representation 432 begins at mark 430 and moves backwards in time towards the beginning of the video, and forward buffer representation 434 begins at mark 430 and moves forward in time towards the end of the video - for videos that server 130 has not recorded or cached in their entirety, and for which forward streams are not available, forward buffer representation 434 may represent the real-time buffer that is cached with the video from the real-time stream; the cached area of the video is displayed on the timeline).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had the precision margin define a temporal range for identifying the cached image as a match for the requested time as disclosed by Carter in the method disclosed by Matejka et al. in view of Chen in view of Amin et al. in order to allow for the viewer to easily see which parts of the video is readily available.
Regarding claim 2, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 1 including that wherein the size of the precision margin is adjusted in response to a change in a zoom level of the timeline that changes the length of the timeline (Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Regarding claim 3, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 1 including that the method further comprises: setting an initial size of the precision margin to be proportional to a default length of the timeline corresponding to a default zoom level (Matejka et al.: Fig. 2 – timeline 202; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12); the default length would be the length of the entire video).
Regarding claim 4, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 1 including that wherein the length of the timeline is less than a length of the video (Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12); when the timeline is zoomed in, it would only display a portion of the video).
Regarding claim 5, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 1 including that the method further comprises: under a condition that the client device retrieves the cached image from the memory of the client device, displaying the cached image via a user interface of the client device; and under a condition that client device retrieves the corresponding image, displaying the corresponding image via the user interface of the client device (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Chen: Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display).
Regarding claim 6, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 1 including that wherein the user input indicating the requested time along the timeline of the video is a selection of a visual marker positioned along the length of the timeline corresponding to the requested time along the timeline of the video (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Regarding claim 7, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 1 including that wherein the requested time along the timeline of the video is selected from available times along the timeline of the video that are associated with an event occurring in the video (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Regarding claim 8, Matejka et al. discloses a system for retrieving images from a server device for video scrubbing at a client device, the system comprising: one or more memories (Figs. 1-3); and one or more processors, communicatively coupled to the one or more memories (Figs. 1-3), configured to: detect user input indicating a requested time along a timeline of a video, the video stored at the server device Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement); and check if a cached image having a timestamp within a precision margin of the requested time is stored in a memory of the client device Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement). However, Matejka et al. fails to explicitly disclose under a condition that the cached image is present in the memory, retrieve the cached image from the memory of the client device; and under a condition that the cached image is not present in the memory, retrieve, from the server device, a corresponding image, wherein a size of the precision margin is proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline, and wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Chen reference, Chen discloses a system for retrieving images from a server device at a client device, the system comprising: check, by the client device, if a cached image having a timestamp of the requested time is stored in a memory of the device (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display); under a condition that the cached image is present in the memory, retrieve the cached image from the memory of the client device (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display); and under a condition that the cached image is not present in the memory, retrieve, from the server device, a corresponding image (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had checked the device to see if the cached image was stored locally on the device and then if it wasn’t to send a request to a server to retrieve the image as disclosed by Chen in the system disclosed by Matejka et al. in order to reduce latency in retrieving the image by checking the local device first. Once the concept taught by Chen is applied to the Matejka et al. reference, the client device would check its own memory first before sending a request to a server to retrieve the image. However, Matejka et al. in view of Chen fails to explicitly disclose wherein a size of the precision margin is proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline, and wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Amin et al. reference, Amin et al. discloses a system comprising: wherein a size of the precision margin is proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline (Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)); and wherein the precision margin defines a temporal range for identifying an area as a match for the requested time (Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had adjusted a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline as disclosed by Amin et al. in the system disclosed by Matejka et al. in view of Chen in order to allow for both coarse and fine adjustments to be made on an application utilizing the slider bar. However, Matejka et al. in view of Chen in view of Amin et al. fails to explicitly disclose wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Craner reference, Craner discloses a system comprising: wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time (Fig. 4; paragraph [0049] – the trick-play client may display a visual representation of the rewind and forward buffers using an enhanced transport control bar – Fig. 4 shows illustrative screen 400 of the video 402 that the user is viewing, and enhanced transport control bar 410 – enhanced transport control bar 410 includes title 412 of video 402, channel 414 on which the video is transmitted, as well as start time 416 and end time 418 of the video – enhanced transport control bar 410 includes cursor 420 that indicates the current playback location and time 421 of video 402 of the user; paragraph [0050] - enhanced transport control bar 410 also includes visual representations of the rewind and forward buffers into which the rewind and forward streams are cached, respectively - in particular, rewind buffer representation 432 begins at mark 430 and moves backwards in time towards the beginning of the video, and forward buffer representation 434 begins at mark 430 and moves forward in time towards the end of the video - for videos that server 130 has not recorded or cached in their entirety, and for which forward streams are not available, forward buffer representation 434 may represent the real-time buffer that is cached with the video from the real-time stream; the cached area of the video is displayed on the timeline).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had the precision margin define a temporal range for identifying the cached image as a match for the requested time as disclosed by Carter in the system disclosed by Matejka et al. in view of Chen in view of Amin et al. in order to allow for the viewer to easily see which parts of the video is readily available.
Regarding claim 9, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 8 including that wherein the one or more processors are configured to: detect a change in the length of the timeline; and adjust the size of the precision margin to be proportional to the change in the length of the timeline (Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Regarding claim 10, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 8 including that wherein the one or more processors are configured to: detect user input indicating a desired zoom level associated with a particular length of the timeline; change the length of the timeline to the particular length of the timeline; and adjust the size of the precision margin to be proportional to the particular length of the timeline (Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Regarding claim 11, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 8 including that wherein the one or more processors are configured to: set an initial size of the precision margin to be proportional to a default length of the timeline corresponding to a default zoom level (Matejka et al.: Fig. 2 – timeline 202; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12); the default length would be the length of the entire video).
Regarding claim 12, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 8 including that wherein the length of the timeline is less than a length of the video (Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12); when the timeline is zoomed in, it would only display a portion of the video).
Regarding claim 13, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 8 including that wherein the one or more processors are configured to: under a condition that the cached image is retrieved from the memory of the client device, display the cached image via a user interface of the client device; and under a condition that corresponding image is retrieved from the server device, display the corresponding image via the user interface of the client device (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Chen: Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display).
Regarding claim 14, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 8 including that wherein the user input indicating the requested time along the timeline of the video is a selection of a visual marker positioned along the length of the timeline corresponding to the requested time along the timeline of the video (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Regarding claim 15, Matejka et al. discloses a non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising: one or more instructions that, when executed by one or more processors of a device, cause the device to: detect user input indicating a requested time along a timeline of a video, the video stored at the server device (Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement); and check if a cached image having a timestamp within a precision margin of the requested time is stored in a memory of the client device (Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement). However, Matejka et al. fails to explicitly disclose under a condition that the cached image is present in the memory, retrieve the cached image from the memory of the client device; under a condition that the cached image is not present in the memory, retrieve, from the server device, a corresponding image; and adjust a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline, wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Chen reference, Chen discloses a method of retrieving images from a server device at a client device, the method comprising: checking, by the client device, if a cached image having a timestamp of the requested time is stored in a memory of the device (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display); under a condition that the cached image is present in the memory, retrieve the cached image from the memory of the client device (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display); and under a condition that the cached image is not present in the memory, retrieve, from the server device, a corresponding image (Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had checked the device to see if the cached image was stored locally on the device and then if it wasn’t to send a request to a server to retrieve the image as disclosed by Chen in the method disclosed by Matejka et al. in order to reduce latency in retrieving the image by checking the local device first. Once the concept taught by Chen is applied to the Matejka et al. reference, the client device would check its own memory first before sending a request to a server to retrieve the image. However, Matejka et al. in view of Chen fails to explicitly disclose adjust a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline, wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Amin et al. reference, Amin et al. discloses a method comprising: adjust a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline (Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)); and wherein the precision margin defines a temporal range for identifying an area as a match for the requested time (Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had adjusted a size of the precision margin to be proportional to a length of the timeline such that the size of the precision margin proportionally increases and decreases with the length of the timeline as disclosed by Amin et al. in the method disclosed by Matejka et al. in view of Chen in order to allow for both coarse and fine adjustments to be made on an application utilizing the slider bar. However, Matejka et al. in view of Chen in view of Amin et al. fails to explicitly disclose wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time.
Referring to the Craner reference, Craner discloses a method comprising: wherein the precision margin defines a temporal range for identifying the cached image as a match for the requested time (Fig. 4; paragraph [0049] – the trick-play client may display a visual representation of the rewind and forward buffers using an enhanced transport control bar – Fig. 4 shows illustrative screen 400 of the video 402 that the user is viewing, and enhanced transport control bar 410 – enhanced transport control bar 410 includes title 412 of video 402, channel 414 on which the video is transmitted, as well as start time 416 and end time 418 of the video – enhanced transport control bar 410 includes cursor 420 that indicates the current playback location and time 421 of video 402 of the user; paragraph [0050] - enhanced transport control bar 410 also includes visual representations of the rewind and forward buffers into which the rewind and forward streams are cached, respectively - in particular, rewind buffer representation 432 begins at mark 430 and moves backwards in time towards the beginning of the video, and forward buffer representation 434 begins at mark 430 and moves forward in time towards the end of the video - for videos that server 130 has not recorded or cached in their entirety, and for which forward streams are not available, forward buffer representation 434 may represent the real-time buffer that is cached with the video from the real-time stream; the cached area of the video is displayed on the timeline).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to have had the precision margin define a temporal range for identifying the cached image as a match for the requested time as disclosed by Carter in the method disclosed by Matejka et al. in view of Chen in view of Amin et al. in order to allow for the viewer to easily see which parts of the video is readily available.
Regarding claim 16, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 15 including that wherein the one or more instructions that, when executed by one or more processors of a device, cause the device to: set an initial size of the precision margin to be proportional to a default length of the timeline corresponding to a default zoom level (Matejka et al.: Fig. 2 – timeline 202; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12); the default length would be the length of the entire video).
Regarding claim 17, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 15 including that wherein the length of the timeline is less than a length of the video (Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12); when the timeline is zoomed in, it would only display a portion of the video).
Regarding claim 18, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 15 including that wherein the one or more instructions that, when executed by one or more processors of a device, cause the device to: under a condition that the cached image is retrieved from the memory of the client device, display the cached image via a user interface of the client device; and under a condition that corresponding image is retrieved from the server device, display the corresponding image via the user interface of the client device (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Chen: Figs. 2 and 5; paragraphs [0056]-[0062] – when a request for a data unit is received, the first step is to check to see if the data unit is cached locally, if it is, then the data unit is transmitted for display, if it is not, then a request is then sent to a remote server in order to retrieve the data unit for display).
Regarding claim 19, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 15 including that wherein the user input indicating the requested time along the timeline of the video is a selection of a visual marker positioned along the length of the timeline corresponding to the requested time along the timeline of the video (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Regarding claim 20, Matejka et al. in view of Chen in view of Amin et al. in view of Craner et al. discloses all of the limitations as previously discussed with respect to claim 15 including that wherein the requested time along the timeline of the video is selected from available times along the timeline of the video that are associated with an event occurring in the video (Matejka et al.: Figs. 2 and 3; paragraph [0005] – manually searching for a specific location in a digital video file by “scrubbing,” i.e., by moving a cursor along a timeline slide associated with the video, can be performed fairly conveniently with a download video; paragraph [0023] – Fig. 2 is a conceptual illustration of the display device 120 that includes a cursor 202 and a timeline slider 201 – timeline slider 201, which may also be referred to as a track bar, is an object in display device 120 with which a user may select a time value in a streaming video by moving cursor 202; paragraph [0024] – as the end user navigates timeline slider 201 associated with streaming video 161 by using cursor 202, a suitable frame is selected from representative video 162 and is displayed on display device 120 – the selected frame shown on the display device 120 corresponds to the location on the timeline slider 201 indicated by cursor 202 – being fully cached, representation 161 can be scrubbed in real time and used to quickly locate a desired scene in streaming video 161, i.e., without the latency associated with data buffering each time the cursor is repositioned during navigation – once navigation is paused or ended, video scrubbing application 105 provides a frame number, time code, or other indexing information to video player application 104 that indicates the point in streaming video 161 selected by the end user during navigation – video player application 104 then requests the appropriate frames of streaming video 161 from the streaming video server, buffers a suitable number of frames of streaming video 161, and snaps back to streaming video 161 to present the selected video content – thus, an end-user can freely navigate to any point in streaming video 161 and only experiences latency after navigation has been paused or completed and the desired portion of streaming video 161 is being buffered; paragraph [0027] – in one such embodiment, representative video 162 is encoded with a number of frames that is selected based on the pixel width of the timeline slider associated with streaming video 161, for example timeline slider 201 in Fig. 2 – for example, a typical timeline slider has a pixel width of 600 to 800 pixels – during navigation, an end user cannot position a cursor on the timeline slider with greater precision than a single pixel width – consequently, representative video 162 can be encoded with no more than one frame per pixel of the timeline slider without affecting the precision of end-user cursor placement; Amin et al.: Figs. 11-13; col. 8, lines 8-35 – Fig. 11 illustrates a slider bar control button 1000 in a default scale display of a slider control – Fig. 12 illustrates the slider bar control button 1000 after a zoom-in event with the scale precision doubled (i.e., increased by a factor of two) – Fig. 13 illustrates the slider bar control button 1000 after another zoom-in event with the scale precision quadrupled – the utilization of a “zoom” feature in a slider bar control button to magnify or reduce the scale of a slider control provides for more coarse or fine adjustments as necessary – thus, a single “+” suitably indicates that the precision of the scale can be increased (see 1000, Fig.11), while a single “-“ suitably indicates that the precision of the scale can be decreased (see 1000, Fig. 13) – the presence of both symbols indicates that the precision can be altered in either direction (see 1000, Fig. 12)).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HEATHER R JONES whose telephone number is (571)272-7368. The examiner can normally be reached Mon. - Fri.: 9:00am - 5:00pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, William Vaughn can be reached at (571)272-3922. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/HEATHER R JONES/Primary Examiner, Art Unit 2481
May 31, 2026