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 .
Claim Status
Claims 1-20 are pending in this Office Action.
Claim 1-2 are amended.
Claims 3-19 are new.
Response to Arguments
The nonstatutory double patenting rejection over U.S. Patent No. 12,143,651 is withdrawn based on the terminal disclaimer filed on 12/11/2025, however new grounds of nonstatutory double patenting are set forth below.
Applicant’s arguments with respect to claim 1 have been considered but, are moot in view of the new ground(s) of rejection.
Double Patenting
The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-2 and 6-12 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-22 of U.S. Patent No. 11,570,490.
Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-2 and 6-12 are anticipated or an obvious variation of claims 1-22 of the patent.
Application 18/913,395
U.S. Patent No. 11,570,490
1. A method comprising: receiving a first script associated with a first video file; executing a video classification model on the first video file;
receiving a first playback request for the first video file from a first device, the first playback request specifying a first target rendition of the first video file; and
in response to classifying the first script as performant based on characteristics of execution of the video classification model on the video file and in response to receiving the first playback request: executing the first script on a frame of the first video file based on a set of data inputs to generate a first modified frame of the first video file; transcoding the first modified frame into the first target rendition to generate a first output frame of the first video file; and transmitting the first output frame to the first device.
1. A method comprising: receiving a first script: associated with a first audio-video file; … execution of the first script on a set of test files by: selecting a set of test files similar to the first audio-video file based on the audio-video file and a video classification model; and calculating the first value of the performance metric based on execution of the first script on the set of similar test files; classifying the first script as performant based on the first value of the performance metric; … receiving a first playback request for the first audio-video file from a first computational device, the first playback request specifying a first rendition of the first audio-video file; and in response to classifying the first script as performant and in response to receiving the first playback request: …
executing the first script
on a frame of the first audio-video file based on the set of data inputs to generate a first modified frame of the first audio-video file; transcoding the first modified frame of the first audio-video file into the first rendition to generate a first output frame of the first audio-video file; and transmitting the first output frame of the first audio-video file to the first computational device for playback at the first computational device.
2. The method of Claim 1, further comprising: selecting a set of test files similar to the first video file based on characteristics of execution of the video classification model on the video file; classifying the first script as performant based on characteristics of execution of the first script on the set of test files.
1. …
selecting a set of test files similar to the first audio-video file based on the audio-video file and a video classification model; … classifying the first script as
performant based on characteristics of execution of the first script on the set of test files; …
6. The method of Claim 1, further comprising: selecting a set of test files similar to the first video file based on characteristics of a set of frames of the first video file; executing the first script on the set of test files to generate a set of runtimes, each runtime in the set of runtimes corresponding to a test file in the set of test files; and in response to each runtime in the set of runtimes falling below a threshold runtime, classifying the first script as performant.
1. …
selecting a set of test files similar to the first audio-video file based on the audio-video file and a video classification model …
11. … execution of the first script on the set of test files comprises: for each test file in the set of test files calculating a runtime for execution of the first script on the test file; and calculating the first value of the performance metric as a summary metric of the runtime for each test file in the set of test files.
7. The method of Claim 1: further comprising: defining a metadata store associated with the first script and the first video file and configured to store the set of data inputs; and in response to classifying the first script as performant and in response to receiving the first playback request, accessing the set of data inputs from the metadata store; and wherein executing the first script on the frame of the first video file to generate the first modified frame of the first video file comprises executing the first script on the frame of the first video file based on the set of data inputs to generate the first modified frame of the first video file.
1. … defining a metadata store associated with the first script and the first audio-video file and configured to comprise a set of data inputs; receiving a first playback request for the first audio-video file from a first computational device, the first playback request specifying a first rendition of the first audio-video file; and in response to classifying the first script as performant and in response to receiving the first playback request: accessing the set of data inputs from the metadata store; executing the first script on a frame of the first audio-video file based on the set of data inputs to generate a first modified frame of the first audio-video file …
8. The method of Claim 1, further comprising: receiving a second script associated with the first video file and the first script; and at an ingest time of the first
video file: executing the second script
on the first video file to generate the set of data inputs; and storing the set of data inputs in a metadata store associated with the first script.
2. The method of claim 1, further comprising: receiving a second script:
associated with the first audio-video file and the first script … and at ingest time of the first audio-video file: executing the second script on the first audio-video file to generate the set of data inputs; and storing the set of data inputs in the metadata store associated with the first script.
9. The method of Claim 1, further comprising: receiving a second playback request for the first video from a second device, the second playback request specifying a second target rendition for the first video file; and in response to classifying the first script as performant and in response to receiving the second playback request: executing the first script on the frame of the first video file based on the set of data inputs to generate a second modified frame of the first video file; transcoding the second modified frame of the first video file into the second target rendition to generate a second output frame; and transmitting the second output frame of the first video file to the second device.
4. The method of claim 3, further comprising: receiving a second playback request for the first audio-video from a second computational device, the second playback request specifying the rendition of the first audio-video file; and in response to classifying the first script as performant and in response to receiving the second playback request: … executing the first script on the frame of the audio-video file based on the updated set of data inputs to generate a second modified frame of the first audio-video file; transcoding the second modified frame of the first audio-video file into the first rendition to generate a second output frame of the first audio-video file; and transmitting the second output frame of the first audio-video file to the second computational device for playback at the second computational device.
10. The method of Claim 1, further comprising: receiving a second script associated with a second video file; calculating a second performance metric based on execution of the second script on a set of test files; in response to classifying the second script as non-performant based on the second performance metric and at an ingest time of the second video file:executing the second script on a frame of the second video file to generate an output frame of the second video file; and storing the output frame of the second video file.
14. The method of claim 1, further comprising: receiving a second script: associated with a second audio-video file; … calculating a second value of the performance metric based on execution of the second script on a second set of test files; classifying the second script as non-performant based on the second value of the performance metric; and in response to classifying the second script as non-performant, for a frame of the second audio-video file and at ingest time of the second audio-video file: executing the second script on the frame of the second audio-video file to generate an output frame of the second audio-video file; and storing the output frame of the second audio-video file.
11. The method of Claim 1: further comprising assigning a resource locator parameter value to the first script and the first video file; and wherein executing the first script on the frame of the first video file based on the set of data inputs comprises executing the first script on the frame of the first video file based on the set of data inputs and the resource locator parameter value to generate the first modified frame of the first video file.
6. The method of claim 5: wherein assigning the URL to the combination of the first script and the first audio-video file comprises … executing the first script on the frame of the first audio-video file based on the set of data inputs to generate the first modified frame of the first audio-video file comprises executing the first script on the frame of the first audio-video file based on the set of data inputs and the URL parameter value to generate the first modified frame of the first audio-video file.
12. The method of Claim 11, wherein executing the first script on the frame of the first video file based on the set of data
inputs and the resource locator parameter value comprises rendering a watermark based on the resource locator parameter value over the frame of the first video file to generate the first modified frame of the first video file.
8. The method of claim 6, wherein
executing the first script on the frame of the first audio-video file based on the set of data inputs and the URL parameter value to generate the first modified frame of the first audio-video file comprises rendering a watermark representing the URL parameter value over the frame of the first audio-video file to generate the first modified frame of the first audio-video file.
Claims 1-2, 6, and 9 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 10-14 of U.S. Patent No. 11,924,482.
Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-2, 6, and 9 are anticipated or an obvious variation of claims 10-14 of the patent.
Application 18/913,395
U.S. Patent No. 11,924,482
1. A method comprising: receiving a first script associated with a first video file; executing a video classification model on the first video file;
receiving a first playback request for the first video file from a first device, the first playback request specifying a first target rendition of the first video file; and
in response to classifying the first script
as performant based on characteristics of execution of the video classification model on the video file and in response to receiving the first playback request: executing the first script on a frame of the first video file based on a set of data inputs to generate a first modified frame of the first video file; transcoding the first modified frame into the first target rendition to generate a first output frame of the first video file; and transmitting the first output frame to the first device.
10. A method comprising: receiving a first script, the first script associated with a first audio-video file; selecting a subset of test files from a set of test files based on the first audio-video file and a video classification model, each test file in the subset of test files exhibiting characteristics similar to characteristics of the first audio-video file; executing the first script on the subset of test files to calculate a first performance metric; classifying the first script as performant based on the first performance metric; receiving a first playback request for the first audio-video file, the first playback request specifying a set of characteristics of the first audio-video file; and in response to classifying the first script as performant and in response to receiving the first playback request:
executing the first script on a segment of the first audio-video file to generate a first modified segment of the first audio-video file; transcoding the first modified segment of the first audio-video file into a first rendition to generate a first output segment of the first audio-video file of the first rendition, the first rendition specified by the set of characteristics of the first audio-video file; and … transmitting the first output segment of the first audio-video file to the first computational device.
2. The method of Claim 1, further comprising: selecting a set of test files similar to the first video file based on characteristics of execution of the video classification model on the video file; classifying the first script as performant based on characteristics of execution of the first script on the set of test files.
10. …
selecting a subset of test files from a set of test files based on the first audio-video file and a video classification model, each test file in the subset of test files exhibiting characteristics similar to characteristics of the first audio-video file; executing the first script on the subset of test files to calculate a first performance metric; classifying the first script as performant based on the first performance metric; …
6. The method of Claim 1, further comprising: selecting a set of test files similar to the first video file based on characteristics of a set of frames of the first video file; executing the first script on the set of test files to generate a set of runtimes, each runtime in the set of runtimes corresponding to a test file in the set of test files; and in response to each runtime in the set of runtimes falling below a threshold runtime, classifying the first script as performant.
10. …
selecting a subset of test files from a set of test files based on the first audio-video file and a video classification model, each test file in the subset of test files exhibiting characteristics similar to characteristics of the first audio-video file; executing the first script on the subset of test files to calculate a first performance metric …
14. The method of claim 10, further comprising: executing the first script on a set of test files to generate a set of runtimes, each runtime in the runtimes specific to a test file in the set of test files; and in response to a first threshold runtime exceeding each runtime in the set of runtimes, classifying the first script as performant.
9. The method of Claim 1, further comprising: receiving a second playback request for the first video from a second device, the second playback request specifying a second target rendition for the first video file; and in response to classifying the first script as performant and in response to receiving the second playback request: executing the first script on the frame of the first video file based on the set of data inputs to generate a second modified frame of the first video file; transcoding the second modified frame of the first video file into the second target rendition to generate a second output frame; and transmitting the second output frame of the first video file to the second device.
13. …
receiving a second playback request for the first audio-video file, the second playback request specifying a second rendition of the first audio-video file; and in response to classifying
the first script as performant and in response to receiving the second playback request:
12. … receiving the second script further comprises executing the second script on the first audio-video file to generate a second modified segment of the first audio-video file
13. …
transcoding the first modified segment of the first audio-video file into the second rendition to generate a second output segment of the first audio-video file; and transmitting the second output segment to a second computational device for playback at the second computational device.
Claims 1-7 and 9 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-9 of U.S. Patent No. 11,924,483.
Although the claims at issue are not identical, they are not patentably distinct from each other because claims 1-7 and 9 are anticipated or an obvious variation of claims 1-9 of the patent.
Application 18/913,395
U.S. Patent No. 11,924,483
1. A method comprising: receiving a first script associated with a first video file; executing a video classification model on the first video file;
receiving a first playback request for the first video file from a first device, the first playback request specifying a first target rendition of the first video file; and
in response to classifying the first script as performant based on characteristics of execution of the video classification model on the video file and in response to receiving the first playback request: executing the first script on a frame of the first video file based on a set of data inputs to generate a first modified frame of the first video file; transcoding the first modified frame into the first target rendition to generate a first output frame of the first video file; and transmitting the first output frame to the first device.
1. A method comprising: accessing a set of test files based on a first audio-video file and a video classification model; for a first script associated with the first audio-video file,
4. executing a video classification model to classify characteristics of the first audio-video file to generate a classification vector indicative of the first audio-video file …
1. … defining the first script as performant based on execution of the first script on the set of test files; receiving a first playback request for the first playback segment in the first audio-video file from a first computational device, the first playback request specifying a first rendition of the first playback segment;
executing the first script on the first set of mezzanine segments to generate a first set of modified mezzanine segments;…
transcoding the first set of modified mezzanine segments to generate a first set of rendition segments in the first rendition; … and transmitting the first set of rendition segments to the first computational device for playback at the first computational device.
2. The method of Claim 1, further comprising: selecting a set of test files similar to the first video file based on characteristics of execution of the video classification model on the video file; classifying the first script as performant based on characteristics of execution of the first script on the set of test files.
4. … executing a video classification model to classify characteristics of the first audio-video file to generate a classification vector indicative of the first audio-video file; calculating a difference vector between the classification vector indicative of the first audio-video file and a reference classification vector indicative of characteristics of each test file in the set of test files; identifying a threshold difference between the classification vector indicative of the first audio-video file and the reference classification vector indicative of characteristics of each test file in the set of test files; and selecting a second set of test files based on the threshold difference, the second set of test files for defining the first script as performant.
3. The method of Claim 2, wherein selecting the set of test files similar to the first video file comprises: generating a classification vector representing the first video file associated with the first script; computing a difference between the classification vector and a test classification vector characterizing test files in the set of test files; and in response to the difference falling below a threshold difference, selecting a subset of test files as the set of test files similar to the first video file.
4. The method of claim 1, further comprising: … generate a classification vector indicative of the first audio-video file;
calculating a difference vector between the classification vector indicative of the first audio-video file and a reference classification vector indicative of characteristics of each test file in the set of test files; identifying a threshold difference between the classification vector indicative of the first audio-video file and the reference classification vector indicative of characteristics of each test file in the set of test files; and selecting a second set of test files based on the threshold difference …
4. The method of Claim 3, wherein generating the classification vector representing the first video file associated with the first script comprises generating the classification vector representing a set of frames in the first video file, the set of frames representative of characteristics of the first video file.
4. The method of claim 1, further comprising: executing a video classification model to classify characteristics of the first audio-video file to generate a classification vector indicative of the first audio-video file; calculating a difference vector between the classification vector indicative of the first audio-video file and a reference classification vector indicative of characteristics of each test file in the set of test files; …
5. The method of Claim 1, further comprising: receiving identification of a set of frames of the first video file, the set of frames representative of characteristics of the first video file, from the video classification model; selecting a set of test files similar to the first video file based on characteristics of the set of frames of the first video file; and classifying the first script as performant based on characteristics of execution of the first script on the set of test files.
4. The method of claim 1, further comprising: executing a video classification model to classify characteristics of the first audio-video file to generate a classification vector indicative of the first audio-video file; calculating a difference vector between the classification vector indicative of the first audio-video file and a reference classification vector indicative of characteristics of each test file in the set of test files; identifying a threshold difference between the classification vector indicative of the first audio-video file and the reference classification vector indicative of characteristics of each test file in the set of test files; and selecting a second set of test files based on the threshold difference, the second set of test files for defining the first script as performant.
6. The method of Claim 1, further comprising: selecting a set of test files similar to the first video file based on characteristics of a set of frames of the first video file; executing the first script on the set of test files to generate a set of runtimes, each runtime in the set of runtimes corresponding to a test file in the set of test files; and in response to each runtime in the set of runtimes falling below a threshold runtime, classifying the first script as performant.
4. The method of claim 1, further comprising: executing a video classification model to classify characteristics of the first audio-video file to generate a classification vector indicative of the first audio-video file; calculating a difference vector between the classification vector indicative of the first audio-video file and a reference classification vector indicative of characteristics of each test file in the set of test files; … and selecting a second set of test files based on the threshold difference, the second set of test files for defining the first script as performant.
5. The method of claim 4, further comprising: executing the first script on the second set of test files to generate a set of runtimes, each of the runtimes corresponding to a test file in the second set of test files; and classifying the first script as performant based on a first threshold runtime exceeding each of the set of runtimes.
7. The method of Claim 1: further comprising: defining a metadata store associated with the first script and the first video file and configured to store the set of data inputs; and in response to classifying the first script as performant and in response to receiving the first playback request, accessing the set of data inputs from the metadata store; and wherein executing the first script on the frame of the first video file to generate the first modified frame of the first video file comprises executing the first script on the frame of the first video file based on the set of data inputs to generate the first modified frame of the first video file.
6. The method of claim 1: further comprising, defining a metadata store
associated with the first script and the first audio-video file; further comprising, in response to classifying the first script as performant and in response to receiving the first playback request, accessing a set of data inputs from the metadata store; and wherein executing the first script on the first set of mezzanine segments to generate a first set of modified mezzanine segments comprises executing the first script on the first set of mezzanine segments based on the set of data inputs to generate the first set of modified mezzanine segments.
9. The method of Claim 1, further comprising: receiving a second playback request for the first video from a second device, the second playback request specifying a second target rendition for the first video file; and in response to classifying the first script as performant and in response to receiving the second playback request: executing the first script on the frame of the first video file based on the set of data inputs to generate a second modified frame of the first video file; transcoding the second modified frame of the first video file into the second target rendition to generate a second output frame; and transmitting the second output frame of the first video file to the second device.
2. The method of claim 1, further comprising: receiving a second playback
request for the first playback segment in the first audio-video file from a second computational device, the second playback request specifying a second rendition of the first playback segment; executing the first script on a second set of mezzanine segments corresponding to the first playback segment to generate a second set of modified mezzanine segments; transcoding the second set of modified mezzanine segments to generate a second set of rendition segments in the second rendition; storing the second set of rendition segments in a second rendition cache; and transmitting the second set of rendition segments to the second computational device for playback at the second computational device.
Claim Rejections - 35 USC § 112
The following is a quotation of the first paragraph of 35 U.S.C. 112(a):
(a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention.
Claims 4-6 and 13-20 are rejected under 35 U.S.C. 112(a) as failing to comply with the written description requirement. The claims contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, at the time the application was filed, had possession of the claimed invention.
Claim 4 recites “generating the classification vector representing a set of frames in the first video file, the set of frames representative of characteristics of the first video file”. The specification does not describe the classification vector representing a set of frames representative of characteristics of the first video file. Par. 51 of the specification describes generating a classification vector including characteristics or properties representing the AV file, but is silent on the classification vector representing a set of frames representative of characteristics of the first video file.
Claim 5 recites “receiving identification of a set of frames of the first video file, the set of frames representative of characteristics of the first video file, from the video classification model”. The specification does not describe receiving from the video classification model identification of a set of frames of the first video file, the set of frames representative of characteristics of the first video file. Par. 51 describes receiving from the video classification model a classification vector including characteristics or properties representing the AV file, but is silent on receiving identification of a set of frames of the first video file, the set of frames representative of characteristics of the first video file, from the video classification model.
Claim 6 recites “selecting a set of test files similar to the first video file based on characteristics of a set of frames of the first video file”. The specification does not describe using characteristics of a set of frames to select a set of test files similar to the first video file. Par. 51 describes selecting a set of test files similar to the first video file based on characteristics of the first video file, but is silent on selecting a set of test files based on characteristics of a set of frames.
Claim 13 recites “selecting a first representative frame from the first video file; executing a video classification model on the first representative frame”. The specification does not describe executing a video classification model on a selected representative frame from the video file. Par. 51 describes executing a video classification model on an AV file, but is silent on selecting a representative frame that is provided to the video classification model for execution.
Claims 14-17 are rejected at least for being dependent on claim 13.
Claim 18 recites “executing a video classification model on a subset of frames of a first video file to characterize the subset of frames of the first video file; selecting a set of test files similar to the first video file based on characteristics of the subset of frames of the video file”. The specification does not describe executing a video classification model on a subset of frames of a first video file to characterize the subset of frames of the first video file. Further, the specification does not describe selecting a set of test files similar to the first video file based on characteristics of the subset of frames of the video file. Par. 51 describes executing a video classification model on an AV file to characterize the AV file and selecting a set of test files similar to the AV file based on characteristics of the AV file, but is silent on executing a video classification model on a subset of frames to characterize the subset of frames and characteristics of the subset of frames being used to select a set of test files similar to the video file.
Claims 19-20 are rejected at least for being dependent on claim 18.
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, 7, and 9-10 are rejected under 35 U.S.C. 103 as being unpatentable over Smith et al. (US 2019/0090001 A1) in view of Meerovich (US 2017/0083430 A1) and further in view of Liu et al. (CN 109740621).
Regarding claim 1, Smith teaches: A method comprising:
receiving a first script associated with a first video file [receiving an overlay workflow used for processing a video fragment, such as to add an overlay (par. 93 and 95-96, Fig. 2)]
receiving a first playback request for the first video file from a first device, the first playback request specifying a first target rendition of the first video file [client device can choose an appropriate fragment of the video from different bitrates and resolutions (par. 72-75)] and
in response to receiving the first playback request: executing the first script on a frame of the first video file based on a set of data inputs to generate a first modified frame of the first video file [using the overlay workflow to add overlay data or metadata to the video fragment, for example a weather graphic (par. 93, 95-97, and 101, Fig. 2). Respond to requests (par. 109)]
transcoding the first modified frame into the first target rendition to generate a first output frame of the first video file [fragment transcoder transcodes the appropriate fragment just-in-time (par. 95-96, Fig. 2), such as at an appropriate bitrate or resolution (par. 72-73)] and
transmitting the first output frame to the first device [respond to the request for the fragment by distributing the video fragment to the client for playback (par. 72-76, 109, Fig. 2)].
Smith does not explicitly disclose: executing a video classification model on the first video file; executing the first script in response to classifying the first script as performant based on characteristics of execution of the video classification model on the video file.
Meerovich teaches: classifying the first script as performant based on characteristics of execution [determining a code coverage metric based on testing the software application using test case files. Determining the program has high code coverage and therefore has been more thoroughly tested and has a lower chance of containing software bugs (par. 21-24, Fig. 1)]
executing the first script in response to classifying the first script as performant [launching the software if it has passed evaluation and code coverage (par. 13 and 23)].
It would have been obvious to one of ordinary skill in the art, having the teachings of Smith and Meerovich before the effective filing date of the claimed invention to modify the method of Smith by incorporating classifying the first script as performant based on characteristics of execution and the executing the first script is in response to classifying the first script as performant as disclosed by Meerovich. The motivation for doing so would have been to ensure that the software (script) is thoroughly tested and has a lower chance of containing software bugs before running it (Meerovich – par. 23). Therefore, it would have been obvious to combine the teachings of Smith and Meerovich in obtaining the invention as specified in the instant claim.
Meerovich does not explicitly disclose: executing a video classification model on the first video file; and the classifying the first script as performant is based on characteristics of execution of the video classification model on the video file.
Liu teaches: executing a video classification model on the first video file [using a trained model on a video to be classified (abstract)] and
the classifying the first script as performant is based on characteristics of execution of the video classification model on the video file [a computer program product comprising instructions, determining accuracy, and determining categories or characteristics of the video classification model, such as the video being a movie in the comedy category (page 8-9)].
It would have been obvious to one of ordinary skill in the art, having the teachings of Smith, Meerovich, and Liu before the effective filing date of the claimed invention to modify the method of Smith and Meerovich by incorporating the teaching of Liu for executing a video classification model on the first video file; and the classifying the first script as performant is based on characteristics of execution of the video classification model on the video file. The motivation for doing so would have been to classify the video before determining the script is performant. Therefore, it would have been obvious to combine the teachings of Smith and Meerovich with Liu to obtain the invention as specified in the instant claim.
Regarding claim 7, Smith, Meerovich, and Liu teach the method of claim 1; Smith and Meerovich further teach: defining a metadata store associated with the first script and the first video file and configured to store the set of data inputs [Smith - storing overlay data 209 used by the overlay workflow as inputs for overlaying the video fragments (par. 95-97, 101, and 106, Fig. 2)] and
in response to classifying the first script as performant and in response to receiving the first playback request, accessing the set of data inputs from the metadata store [Smith - access the overlay data to be used for just-in-time processing (par. 95-97 and 101, Fig. 2). Respond to requests (par. 109). Meerovich - launching the software if it has passed evaluation and code coverage (par. 13 and 23)] and
wherein executing the first script on the frame of the first video file to generate the first modified frame of the first video file comprises executing the first script on the frame of the first video file based on the set of data inputs to generate the first modified frame of the first video file [Smith - using the overlay workflow to add the overlay data or metadata to the video fragment, for example a weather graphic (par. 93, 95-96, and 101, Fig. 2)].
Regarding claim 9, Smith, Meerovich, and Liu teach the method of claim 1; Smith and Meerovich further teach: receiving a second playback request for the first video from a second device, the second playback request specifying a second target rendition for the first video file [Smith - another client device can choose the appropriate fragment of the video from the different bitrates and resolutions (par. 72-75)] and
in response to classifying the first script as performant and in response to receiving the second playback request: executing the first script on the frame of the first video file based on the set of data inputs to generate a second modified frame of the first video file [Meerovich - Determining the program has high code coverage and therefore has been more thoroughly tested and has a lower chance of containing software bugs (par. 21-24, Fig. 1). Smith - using the overlay workflow to add the weather overlay data to the video fragment (par. 93, 95-97, and 101, Fig. 2). Respond to requests (par. 109)]
transcoding the second modified frame of the first video file into the second target rendition to generate a second output frame [Smith - fragment transcoder transcodes the appropriate fragment just-in-time (par. 95-96, Fig. 2), such as at an appropriate bitrate or resolution (par. 72-73)] and
transmitting the second output frame of the first video file to the second device [Smith - respond to the request for the fragment by distributing the video fragment to the client for playback (par. 72-76, 109, Fig. 2)].
Regarding claim 10, Smith, Meerovich, and Liu teach the method of claim 1; Smith and Meerovich further teach: receiving a second script associated with a second video file [Smith - receiving a transcoder workflow used for processing a (different) video fragment, such as to add a sports score (par. 66, 93, and 95-96, Fig. 2)]
calculating a second performance metric based on execution of the second script on a set of test files [Meerovich - determining a code coverage metric based on testing the (second) software application using (second) test case files (par. 21-24, Fig. 1)]
in response to classifying the second script as non-performant based on the second performance metric [Meerovich - (par. 13 and 23)] and
at an ingest time of the second video file: executing the second script on a frame of the second video file to generate an output frame of the second video file [Smith - using the transcoder workflow and an ingest playlist to add the overlay data or metadata to the video fragment (par. 93, 95-96, and 101, Fig. 2)] and
storing the output frame of the second video file [Smith - storing the processed video fragment at a playout origin 204 for later delivery (par. 102, Fig. 2)].
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Smith et al. (US 2019/0090001 A1) in view of Meerovich (US 2017/0083430 A1), further in view of Liu et al. (CN 109740621), and further in view of Velmurugan et al. (US 2019/0146951 A1).
Regarding claim 8, Smith, Meerovich, and Liu teach the method of claim 1; Smith, Meerovich, and Liu do not explicitly disclose: receiving a second script associated with the first video file and the first script; and at an ingest time of the first video file: executing the second script on the first video file to generate the set of data inputs and storing the set of data inputs in a metadata store associated with the first script.
Velmurugan teaches: receiving a second script associated with the first audio-video file and the first script; and at ingest time of the first video file: executing the second script on the first video file to generate the set of data inputs; and storing the set of data inputs in the metadata store associated with the first script [extracting timed metadata 110, by executing code (script), when the video content is ingested and storing the metadata in a database 105 (par. 16 and 19, Fig. 1)].
It would have been obvious to one of ordinary skill in the art, having the teachings of Smith, Meerovich, Liu, and Velmurugan before the effective filing date of the claimed invention to modify the method of Smith, Meerovich, and Liu by incorporating receiving a second script: associated with the first audio-video file and the first script; and at ingest time of the first video file: executing the second script on the first video file to generate the set of data inputs; and storing the set of data inputs in the metadata store associated with the first script as disclosed by Velmurugan. The motivation for doing so would have been to include closed captions in the video (Velmurugan – par. 19, see also Smith – par. 101). Therefore, it would have been obvious to combine the teachings of Smith, Meerovich, and Liu with Velmurugan to obtain the invention as specified in the instant claim.
Claim 11 is rejected under 35 U.S.C. 103 as being unpatentable over Smith et al. (US 2019/0090001 A1) in view of Meerovich (US 2017/0083430 A1), further in view of Liu et al. (CN 109740621), and further in view of Vaish et al. (US 2016/0188743 A1).
Regarding claim 11, Smith, Meerovich, and Liu teach the method of claim 1; Smith, Meerovich, and Liu do not explicitly disclose: assigning a resource locator parameter value to the first script and the first video file; and wherein executing the first script on the frame of the first video file based on the set of data inputs comprises executing the first script on the frame of the first video file based on the set of data inputs and the resource locator parameter value to generate the first modified frame of the first video file.
Vaish teaches: assigning a resource locator parameter value to the first script and the first video file; and wherein executing the first script on the frame of the first video file based on the set of data inputs comprises executing the first script on the frame of the first video file based on the set of data inputs and the resource locator parameter value to generate the first modified frame of the first video file [assigning a URL for a specific purpose and/or application. Parameters may be assigned to the URL for specific information. The parameter values may be extracted. Program code may be executed (par. 4, 32, 34, and 61, Fig. 3 and 14)].
It would have been obvious to one of ordinary skill in the art, having the teachings of Smith, Meerovich, Liu, and Vaish before the effective filing date of the claimed invention to modify the method of Smith, Meerovich, and Liu by incorporating the teaching of Vaish for assigning a resource locator parameter value to the first script and the first video file; and wherein executing the first script on the frame of the first video file based on the set of data inputs comprises executing the first script on the frame of the first video file based on the set of data inputs and the resource locator parameter value to generate the first modified frame of the first video file. The motivation for doing so would have been to access particular computing resources and information using a URL and parameters (Vaish – par. 2-4). Therefore, it would have been obvious to combine the teachings of Smith, Meerovich, and Liu with Vaish to obtain the invention as specified in the instant claim.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Alexander Boyd whose telephone number is (571)270-0676. The examiner can normally be reached Monday - Friday 9am-5pm PST.
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, Benjamin Bruckart can be reached at 571-272-3982. 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.
/ALEXANDER BOYD/ Examiner, Art Unit 2424