Prosecution Insights
Last updated: October 04, 2026
Application No. 18/525,753

VIDEO PROCESSING METHOD BASED ON PLUGIN AND VIDEO PROCESSING SYSTEM UTILIZING THE SAME

Final Rejection §101§103§112
Filed
Nov 30, 2023
Examiner
AMIN, JWALANT B
Art Unit
2612
Tech Center
2600 — Communications
Assignee
MediaTek Inc.
OA Round
2 (Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
95%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
510 granted / 643 resolved
+17.3% vs TC avg
Strong +16% interview lift
Without
With
+15.5%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
19 currently pending
Career history
652
Total Applications
across all art units

Statute-Specific Performance

§101
15.3%
-24.7% vs TC avg
§103
56.4%
+16.4% vs TC avg
§102
7.0%
-33.0% vs TC avg
§112
11.0%
-29.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 643 resolved cases

Office Action

§101 §103 §112
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 Interpretation The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked. As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph: (A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function; (B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and (C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function. Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: an application module, a media framework module, a video decoder module, and a first plugin module in claims 11-19; and a second plugin module in claims 15-20. Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof. If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. 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. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112: 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 of carrying out his invention. Claims 1-10 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) 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, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Regarding claim 1, the limitation “a computer-implemented” in the phrase “video processing method”, and the limitation “executed by a hardware processor” is considered to be inadequately described in the original disclosure. The specification and the drawings, as originally filed, do not describe a method or process that is implemented using a computer or instructions or code that is executed by a hardware processor. Paragraph [0016] of the specification recites “… the term ‘module’ may refer to software programs, hardware devices, or a combination thereof”. As recited in claim 1, the modules, under broadest reasonable interpretation, could be implemented as a hardware device, i.e., modules could be implemented as electronic circuits designed to perform specific functions without necessarily requiring a computer or a processor. Moreover, a “computer” or “hardware processor” is not explicitly or implicitly recited in the specification or shown in the drawings. There is no support in the original disclosure that the computer-implemented method comprises the steps performed by various modules that are being executed by a hardware processor. Therefore, the limitation “computer-implemented” and “executed by a hardware processor” fails to comply with the written description requirement and is considered new matter. The above limitations will be addressed for the purpose of prior art rejection and also considered while evaluating statutory subject matter under 35 USC § 101. Claims 2-10 are dependent on claim 1 and therefore are rejected using the same rationale as claim 1. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 11-19 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. Regarding claims 11-19, the language of the claims raise questions as to whether the claims are directed merely to an abstract idea that is not tied to a technological art, environment or machine which would result in a practical application producing a concrete, useful, and tangible result to form the basis of statutory subject matter under 35 U.S.C. 101. The word "system" does not inherently mean that the claims are directed to a machine. Only if at least one of the claimed elements of the system is a physical part of a device can the system as claimed constitute part of a device or a combination of devices to be a machine within the meaning of 101. Specifically, an application module, a media framework module, a video decoder module, a first plugin module and a second plugin module, as recited in claims 1-19, are directed to software programs as described on paragraph [0016] of the specification. Therefore, under broadest reasonable interpretation, it is entirely possible for the system comprising different “modules”, as claimed, to cover an embodiment of a software alone. Therefore, the claims are appropriate to be rejected under 101 as failing to fall within a statutory category. 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. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 1-4 and 6-19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wang et al. (CN 112866814, hereinafter Wang), and further in view of Shribman et al. (US 2016/0337426, hereinafter Shribman). Regarding claim 1, Wang teaches a computer-implemented (page 32 paragraphs 4-6) video processing method (page 18 section Technical field: a method and device for audio and video processing) comprising the following steps executed by a hardware processor (a storage medium containing computer-executable instructions, the computer-executable instructions when executed by the computer processor for executing the method in the embodiment of the method, page 32 paragraphs 4-6): an application module (stream pulling module 602, fig. 6; page 32 paragraph 6: it can also be implemented by hardware) receiving a video (video stream; page 22 paragraph 1: Step 202: Pull the audio and video stream corresponding to the identifier of the audio and video stream to be processed; page 30 paragraph 2: The stream pulling module 602 is configured to pull the audio and video stream corresponding to the identifier of the audio and video stream to be processed); a media framework module (stream pulling module 602, fig. 6; page 32 paragraph 6: it can also be implemented by hardware) sending a command (processing plug-in identifier list comprising processing plug-in identifiers corresponds to a command; page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list) and the video (video stream); a video decoder module (decoding module, page 30 paragraph 4; page 32 paragraph 6: it can also be implemented by hardware) decoding the video (video stream) to generate a decoded video (page 22 paragraph 5: The audio and video stream is decoded into frame data, and the frame data is stored in a shared memory; page 22 paragraph 6: In this step, when the stream is pulled, Puller can pass the pulled audio and video stream to the decoder (Decorder) for decoding, and Decorator decodes the audio and video stream to obtain frame data, where, for the video, the frame The data can be an image frame in rgba format; for audio, the frame data can be in an uncompressed PCM format; page 30 paragraph 4: The decoding module is configured to decode the audio and video stream into frame data after pulling the audio and video stream corresponding to the identifier of the audio and video stream to be processed); and a first plugin module (first processing plug-in in a first container, page 24 paragraphs 5-6; content processing module, page 19 paragraph 8/content processing module 603, page 30 paragraph 3; page 32 paragraph 6: it can also be implemented by hardware) receiving the decoded video (decoded frame data representing the audio and video streams) and outputting a first plugin output (processed audio and video stream/processed frame data) according to the command (page 19 paragraph 4: The processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list is sequentially called to perform content processing on the audio and video stream; page 19 paragraph 8: The content processing module is used to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; page 21 paragraph 4: Figure 2 is a flowchart of an audio and video processing method embodiment provided in the first embodiment of the application. The audio and video processing method is a cloud processing method similar to a pipeline. Multiple processing plugins can be connected in series in the cloud for audio and video processing. The video stream is processed; page 24 paragraph 4: after Decorator decodes the audio and video streams, it can directly transmit the decoded frame data to the processing plug-in corresponding to the first processing plug-in identifier in the processing plug-in identifier list. (The first processing plug-in identification here means that the execution order is the first, the subsequent second, etc. are similar). After the first processing plug-in finishes processing the frame data, it can transmit the processed frame data to The processing plug-in corresponding to the second processing plug-in identifier in the processing plug-in identifier list is processed by the second processing plug-in; page 24 paragraphs 5-6: In an embodiment, when the number of processing plug-ins to be called is at least two, the at least two processing plug-ins may be deployed in one or more containers of the same physical machine … each processing plugin can have a separate container; page 23 paragraph 6 – page 24 paragraph 1 describes processing plug-in reads the corresponding frame data from the shared memory according to the memory offset, and processes the frame data. In this step, after the called processing plug-in receives the memory offset of the frame data currently to be processed, it can determine the storage location of the frame data currently to be processed in the shared memory according to the memory offset, and use the Read the corresponding frame data in the storage location, and then use the processing logic of the current processing plug-in to perform content processing on the read frame data. Step 203-3: Store the processed frame data in the shared memory, and continue to traverse the next processing plug-in identifier, and call the corresponding processing plug-in to read the processed frame data from the shared memory Processing is performed, and so on, until the processing plug-in identifiers in the processing plugin identifier list are traversed. In this step, after the current processing plug-in performs content processing on the frame data, the processed frame data can be stored in the shared memory. In one implementation, the processed frame data can be stored in the original storage location, and the original frame data can be overwritten. At the same time, when the processed frame data is stored in the shared memory, the current processing plug-in can send a notification message to the processing process to notify the processing process that the processing of the current plug-in is completed and trigger the processing of the next plug-in. After the processing process receives the notification message, it can determine that the current processing plug-in has completed its work, and continue to traverse the next processing plug-in identifier in the processing plug-in identifier list, call the corresponding processing plug-in, and send the memory offset of the frame data For the processing plug-in, the processing plug-in repeats the process of step 203-2 and step 203-3 until all processing plug-in identifiers in the processing plug-in identifier list have been traversed, and all processing plug-ins corresponding to the processing plug-in identifiers have been processed; page 30 paragraph 3: The content processing module 603 is configured to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; page 26 paragraph 8: In step 205, the processing plug-ins corresponding to the processing plug-in identifiers in the post-processing plug-in identifier list corresponding to the mixed flow target are sequentially invoked to perform post processing on the merged frame data). Wang does not explicitly teach modifying the first plugin module without affecting functions of at least the application module, the media framework module, and the video decoder module. Shribman teaches modifying the first plugin module without affecting functions of at least the application module, the media framework module, and the video decoder module (end-users can update plug-ins dynamically without needing to make changes to the host application; [0143]: Typically, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application, and protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Shribman’s knowledge of updating plug-ins without making changes to the host application as taught and modifying the process of Wang because such a system enhances user experience by enabling the end-users to make necessary changes to the plug-ins to meet their specific needs. Regarding claim 11, Wang teaches a video processing system (page 18 section Technical field: a method and device for audio and video processing) comprising: an application module (this module is interpreted under USC 35 112(f) as a hardware device; stream pulling module 602, fig. 6; page 32 paragraph 6: it can also be implemented by hardware) configured to receive a video (video stream; page 22 paragraph 1: Step 202: Pull the audio and video stream corresponding to the identifier of the audio and video stream to be processed; page 30 paragraph 2: The stream pulling module 602 is configured to pull the audio and video stream corresponding to the identifier of the audio and video stream to be processed); a media framework module (this module is interpreted under USC 35 112(f) as a hardware device; stream pulling module 602, fig. 6; page 32 paragraph 6: it can also be implemented by hardware) coupled to the application (fig. 4 and fig. 6), and configured to send a command (processing plug-in identifier list comprising processing plug-in identifiers corresponds to a command; page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list) and the video (video stream); a video decoder module (this module is interpreted under USC 35 112(f) as a hardware device; decoding module, page 30 paragraph 4; page 32 paragraph 6: it can also be implemented by hardware) coupled to the media framework (fig. 4 and fig. 6), and configured to decode the video (video stream) to generate a decoded video (page 22 paragraph 5: The audio and video stream is decoded into frame data, and the frame data is stored in a shared memory; page 22 paragraph 6: In this step, when the stream is pulled, Puller can pass the pulled audio and video stream to the decoder (Decorder) for decoding, and Decorator decodes the audio and video stream to obtain frame data, where, for the video, the frame The data can be an image frame in rgba format; for audio, the frame data can be in an uncompressed PCM format; page 30 paragraph 4: The decoding module is configured to decode the audio and video stream into frame data after pulling the audio and video stream corresponding to the identifier of the audio and video stream to be processed); and a first plugin module (this module is interpreted under USC 35 112(f) as a hardware device; first processing plug-in in a first container, page 24 paragraphs 5-6; content processing module, page 19 paragraph 8/content processing module 603, page 30 paragraph 3; page 32 paragraph 6: it can also be implemented by hardware) coupled to the video decoder (fig. 4 and fig. 6), and configured to receive the decoded video (decoded frame data representing the audio and video streams) and output a first plugin output (processed audio and video stream/processed frame data) according to the command (page 19 paragraph 4: The processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list is sequentially called to perform content processing on the audio and video stream; page 19 paragraph 8: The content processing module is used to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; page 21 paragraph 4: Figure 2 is a flowchart of an audio and video processing method embodiment provided in the first embodiment of the application. The audio and video processing method is a cloud processing method similar to a pipeline. Multiple processing plugins can be connected in series in the cloud for audio and video processing. The video stream is processed; page 24 paragraph 4: after Decorator decodes the audio and video streams, it can directly transmit the decoded frame data to the processing plug-in corresponding to the first processing plug-in identifier in the processing plug-in identifier list. (The first processing plug-in identification here means that the execution order is the first, the subsequent second, etc. are similar). After the first processing plug-in finishes processing the frame data, it can transmit the processed frame data to The processing plug-in corresponding to the second processing plug-in identifier in the processing plug-in identifier list is processed by the second processing plug-in; page 24 paragraphs 5-6: In an embodiment, when the number of processing plug-ins to be called is at least two, the at least two processing plug-ins may be deployed in one or more containers of the same physical machine … each processing plugin can have a separate container; page 23 paragraph 6 – page 24 paragraph 1 describes processing plug-in reads the corresponding frame data from the shared memory according to the memory offset, and processes the frame data. In this step, after the called processing plug-in receives the memory offset of the frame data currently to be processed, it can determine the storage location of the frame data currently to be processed in the shared memory according to the memory offset, and use the Read the corresponding frame data in the storage location, and then use the processing logic of the current processing plug-in to perform content processing on the read frame data. Step 203-3: Store the processed frame data in the shared memory, and continue to traverse the next processing plug-in identifier, and call the corresponding processing plug-in to read the processed frame data from the shared memory Processing is performed, and so on, until the processing plug-in identifiers in the processing plugin identifier list are traversed. In this step, after the current processing plug-in performs content processing on the frame data, the processed frame data can be stored in the shared memory. In one implementation, the processed frame data can be stored in the original storage location, and the original frame data can be overwritten. At the same time, when the processed frame data is stored in the shared memory, the current processing plug-in can send a notification message to the processing process to notify the processing process that the processing of the current plug-in is completed and trigger the processing of the next plug-in. After the processing process receives the notification message, it can determine that the current processing plug-in has completed its work, and continue to traverse the next processing plug-in identifier in the processing plug-in identifier list, call the corresponding processing plug-in, and send the memory offset of the frame data For the processing plug-in, the processing plug-in repeats the process of step 203-2 and step 203-3 until all processing plug-in identifiers in the processing plug-in identifier list have been traversed, and all processing plug-ins corresponding to the processing plug-in identifiers have been processed; page 30 paragraph 3: The content processing module 603 is configured to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; page 26 paragraph 8: In step 205, the processing plug-ins corresponding to the processing plug-in identifiers in the post-processing plug-in identifier list corresponding to the mixed flow target are sequentially invoked to perform post processing on the merged frame data). Wang does not explicitly teach the application module and the media framework module are separate modules; the first plugin module is modified without affecting functions of at least the application module, the media framework module, and the video decoder module. Wang teaches a stream pulling module 602 to perform the functions similar to that of an application module and a media framework module, although the application module and the media framework module as claimed are two separate units of the system. However, in Nerwin v. Erlichman, 168 USPQ 177, 179 (PTO Bd. Of Int. 1969), it has been noted “the mere fact that a given structure is integral does not preclude its consisting of various elements”. Therefore, it would have been obvious to one of ordinary skilled in the art before the effective filing date of the claimed invention to separate the stream pulling module 602 of Wang into two separate modules to function as an application module and a media framework module because using separate dedicated hardware units for specific functions will result in higher efficiency by freeing up resources. Also, See In re Dulberg, 289 F.2d 522, 523, 129 USPQ 348, 349 (CCPA 1961). Shribman teaches the first plugin module is modified without affecting functions of at least the application module, the media framework module, and the video decoder module (end-users can update plug-ins dynamically without needing to make changes to the host application; [0143]: Typically, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application, and protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Shribman’s knowledge of updating plug-ins without making changes to the host application as taught and modifying the process of Wang because such a system enhances user experience by enabling the end-users to make necessary changes to the plug-ins to meet their specific needs. Regarding claim 12, the combination of Wang and Shribman teaches the system of Claim 11, wherein if the command indicates that the first plugin module (first processing plug-in in a first container) is selected (when a first processing plug-in identifier related to a first task is in the identifier list, the system will selects the first processing plug-in identifier; Wang - page 19 paragraph 4: The processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list is sequentially called to perform content processing on the audio and video stream; Wang - page 19 paragraph 8: The content processing module is used to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; Wang - page 24 paragraphs 5-6: In an embodiment, when the number of processing plug-ins to be called is at least two, the at least two processing plug-ins may be deployed in one or more containers of the same physical machine … each processing plugin can have a separate container), the first plugin module performs a first function (processing task related to the first processing plug-in identifier) on the decoded video to generate the first plugin output (processed frame data; Wang - page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list; Wang - page 21 paragraph 8: When the demander detects that the user triggers When processing business needs, you can create processing tasks based on user-triggered needs; Wang - page 22 paragraphs 8-9: Step 203: Call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list in turn to perform content processing on the audio and video stream. In this step, the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list can be called to perform content processing on the frame data. Among them, the processing plug-ins corresponding to each processing plug-in identifier in the processing plug-in identifier list can work in series, and the output of the previous processing plug-in can be used as the input of the next processing plug-in until all processing plug-ins are processed; Wang - page 23 paragraph 1: In one embodiment, the processing plug-in identifier list may include at least two processing plug-in identifiers, and the execution order of the at least two processing plug-in identifiers; Wang - page 23 paragraph 6 – page 24 paragraph 1 describes processing plug-in reads the corresponding frame data from the shared memory according to the memory offset, and processes the frame data. In this step, after the called processing plug-in receives the memory offset of the frame data currently to be processed, it can determine the storage location of the frame data currently to be processed in the shared memory according to the memory offset, and use the Read the corresponding frame data in the storage location, and then use the processing logic of the current processing plug-in to perform content processing on the read frame data. Step 203-3: Store the processed frame data in the shared memory, and continue to traverse the next processing plug-in identifier, and call the corresponding processing plug-in to read the processed frame data from the shared memory Processing is performed, and so on, until the processing plug-in identifiers in the processing plugin identifier list are traversed. In this step, after the current processing plug-in performs content processing on the frame data, the processed frame data can be stored in the shared memory. In one implementation, the processed frame data can be stored in the original storage location, and the original frame data can be overwritten. At the same time, when the processed frame data is stored in the shared memory, the current processing plug-in can send a notification message to the processing process to notify the processing process that the processing of the current plug-in is completed and trigger the processing of the next plug-in. After the processing process receives the notification message, it can determine that the current processing plug-in has completed its work, and continue to traverse the next processing plug-in identifier in the processing plug-in identifier list, call the corresponding processing plug-in, and send the memory offset of the frame data For the processing plug-in, the processing plug-in repeats the process of step 203-2 and step 203-3 until all processing plug-in identifiers in the processing plug-in identifier list have been traversed, and all processing plug-ins corresponding to the processing plug-in identifiers have been processed). Regarding claim 13, the combination of Wang and Shribman teaches the system of Claim 11, wherein: if the command indicates that the first plugin module (first processing plug-in in a first container) is not selected (when a first processing plug-in identifier related to a first task is not in the identifier list, the system will not select the first processing plug-in identifier; Wang - page 19 paragraph 4: The processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list is sequentially called to perform content processing on the audio and video stream; Wang - page 19 paragraph 8: The content processing module is used to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream), the first plugin module passing the decoded video to output the first plugin output (processed frame data; Wang - page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list; Wang - page 21 paragraph 8: When the demander detects that the user triggers When processing business needs, you can create processing tasks based on user-triggered needs; Wang - page 22 paragraphs 8-9: Step 203: Call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list in turn to perform content processing on the audio and video stream. In this step, the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list can be called to perform content processing on the frame data. Among them, the processing plug-ins corresponding to each processing plug-in identifier in the processing plug-in identifier list can work in series, and the output of the previous processing plug-in can be used as the input of the next processing plug-in until all processing plug-ins are processed; Wang - page 23 paragraph 1: In one embodiment, the processing plug-in identifier list may include at least two processing plug-in identifiers, and the execution order of the at least two processing plug-in identifiers; Wang - page 23 paragraph 6 – page 24 paragraph 1 describes processing plug-in reads the corresponding frame data from the shared memory according to the memory offset, and processes the frame data. In this step, after the called processing plug-in receives the memory offset of the frame data currently to be processed, it can determine the storage location of the frame data currently to be processed in the shared memory according to the memory offset, and use the Read the corresponding frame data in the storage location, and then use the processing logic of the current processing plug-in to perform content processing on the read frame data. Step 203-3: Store the processed frame data in the shared memory, and continue to traverse the next processing plug-in identifier, and call the corresponding processing plug-in to read the processed frame data from the shared memory Processing is performed, and so on, until the processing plug-in identifiers in the processing plugin identifier list are traversed. In this step, after the current processing plug-in performs content processing on the frame data, the processed frame data can be stored in the shared memory. In one implementation, the processed frame data can be stored in the original storage location, and the original frame data can be overwritten. At the same time, when the processed frame data is stored in the shared memory, the current processing plug-in can send a notification message to the processing process to notify the processing process that the processing of the current plug-in is completed and trigger the processing of the next plug-in. After the processing process receives the notification message, it can determine that the current processing plug-in has completed its work, and continue to traverse the next processing plug-in identifier in the processing plug-in identifier list, call the corresponding processing plug-in, and send the memory offset of the frame data For the processing plug-in, the processing plug-in repeats the process of step 203-2 and step 203-3 until all processing plug-in identifiers in the processing plug-in identifier list have been traversed, and all processing plug-ins corresponding to the processing plug-in identifiers have been processed). Regarding claim 14, the combination of Wang and Shribman teaches the system of Claim 11, wherein: the media framework module further generates the command (processing plug-in identifier list comprising processing plug-in identifiers) according to a user scenario (Wang - page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list; Wang - page 21 paragraph 8: When the demander detects that the user triggers When processing business needs, you can create processing tasks based on user-triggered needs). Regarding claim 15, the combination of Wang and Shribman teaches the system of Claim 11, further comprising: a second plugin module (this module is interpreted under USC 35 112(f) as a hardware device; Wang - second processing plug-in in a second container, page 24 paragraphs 5-6) coupled to the first plugin module (Wang - content processing module, page 19 paragraph 8/content processing module 603, page 30 paragraph 3; Wang - page 32 paragraph 6: it can also be implemented by hardware) and configured to receive the first plugin output and output a second plugin output (processed audio and video stream/processed frame data) according to the command (Wang - page 19 paragraph 4: The processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list is sequentially called to perform content processing on the audio and video stream; Wang - page 19 paragraph 8: The content processing module is used to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; Wang - page 21 paragraph 4: Figure 2 is a flowchart of an audio and video processing method embodiment provided in the first embodiment of the application. The audio and video processing method is a cloud processing method similar to a pipeline. Multiple processing plugins can be connected in series in the cloud for audio and video processing. The video stream is processed; Wang - page 24 paragraph 4: after Decorator decodes the audio and video streams, it can directly transmit the decoded frame data to the processing plug-in corresponding to the first processing plug-in identifier in the processing plug-in identifier list. (The first processing plug-in identification here means that the execution order is the first, the subsequent second, etc. are similar). After the first processing plug-in finishes processing the frame data, it can transmit the processed frame data to The processing plug-in corresponding to the second processing plug-in identifier in the processing plug-in identifier list is processed by the second processing plug-in; Wang - page 23 paragraph 6 – page 24 paragraph 1 describes processing plug-in reads the corresponding frame data from the shared memory according to the memory offset, and processes the frame data. In this step, after the called processing plug-in receives the memory offset of the frame data currently to be processed, it can determine the storage location of the frame data currently to be processed in the shared memory according to the memory offset, and use the Read the corresponding frame data in the storage location, and then use the processing logic of the current processing plug-in to perform content processing on the read frame data. Step 203-3: Store the processed frame data in the shared memory, and continue to traverse the next processing plug-in identifier, and call the corresponding processing plug-in to read the processed frame data from the shared memory Processing is performed, and so on, until the processing plug-in identifiers in the processing plugin identifier list are traversed. In this step, after the current processing plug-in performs content processing on the frame data, the processed frame data can be stored in the shared memory. In one implementation, the processed frame data can be stored in the original storage location, and the original frame data can be overwritten. At the same time, when the processed frame data is stored in the shared memory, the current processing plug-in can send a notification message to the processing process to notify the processing process that the processing of the current plug-in is completed and trigger the processing of the next plug-in. After the processing process receives the notification message, it can determine that the current processing plug-in has completed its work, and continue to traverse the next processing plug-in identifier in the processing plug-in identifier list, call the corresponding processing plug-in, and send the memory offset of the frame data For the processing plug-in, the processing plug-in repeats the process of step 203-2 and step 203-3 until all processing plug-in identifiers in the processing plug-in identifier list have been traversed, and all processing plug-ins corresponding to the processing plug-in identifiers have been processed; page 30 paragraph 3: The content processing module 603 is configured to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; Wang - page 26 paragraph 8: In step 205, the processing plug-ins corresponding to the processing plug-in identifiers in the post-processing plug-in identifier list corresponding to the mixed flow target are sequentially invoked to perform post processing on the merged frame data); and wherein the first plugin module is modified without affecting the functions of the application module, the media framework module, and the video decoder module, and a second function of the second plugin module (end-users can update plug-ins dynamically without needing to make changes to the host application; Shribman - [0143]: Typically, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application, and protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application). Regarding claim 16, the combination of Wang and Shribman teaches the system of Claim 15, wherein if the command indicates that the second plugin module (second processing plug-in in a first container) is selected (when a second processing plug-in identifier related to a second task is in the identifier list, the system will selects the second processing plug-in identifier; Wang - page 19 paragraph 4: The processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list is sequentially called to perform content processing on the audio and video stream; Wang - page 19 paragraph 8: The content processing module is used to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream; Wang - page 24 paragraphs 5-6: In an embodiment, when the number of processing plug-ins to be called is at least two, the at least two processing plug-ins may be deployed in one or more containers of the same physical machine … each processing plugin can have a separate container), the second plugin module performs the second function (processing task related to the second processing plug-in identifier) on the first plugin output to generate the second plugin output (processed frame data; Wang - page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list; Wang - page 21 paragraph 8: When the demander detects that the user triggers When processing business needs, you can create processing tasks based on user-triggered needs; Wang - page 22 paragraphs 8-9: Step 203: Call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list in turn to perform content processing on the audio and video stream. In this step, the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list can be called to perform content processing on the frame data. Among them, the processing plug-ins corresponding to each processing plug-in identifier in the processing plug-in identifier list can work in series, and the output of the previous processing plug-in can be used as the input of the next processing plug-in until all processing plug-ins are processed; Wang - page 23 paragraph 1: In one embodiment, the processing plug-in identifier list may include at least two processing plug-in identifiers, and the execution order of the at least two processing plug-in identifiers; Wang - page 23 paragraph 6 – page 24 paragraph 1 describes processing plug-in reads the corresponding frame data from the shared memory according to the memory offset, and processes the frame data. In this step, after the called processing plug-in receives the memory offset of the frame data currently to be processed, it can determine the storage location of the frame data currently to be processed in the shared memory according to the memory offset, and use the Read the corresponding frame data in the storage location, and then use the processing logic of the current processing plug-in to perform content processing on the read frame data. Step 203-3: Store the processed frame data in the shared memory, and continue to traverse the next processing plug-in identifier, and call the corresponding processing plug-in to read the processed frame data from the shared memory Processing is performed, and so on, until the processing plug-in identifiers in the processing plugin identifier list are traversed. In this step, after the current processing plug-in performs content processing on the frame data, the processed frame data can be stored in the shared memory. In one implementation, the processed frame data can be stored in the original storage location, and the original frame data can be overwritten. At the same time, when the processed frame data is stored in the shared memory, the current processing plug-in can send a notification message to the processing process to notify the processing process that the processing of the current plug-in is completed and trigger the processing of the next plug-in. After the processing process receives the notification message, it can determine that the current processing plug-in has completed its work, and continue to traverse the next processing plug-in identifier in the processing plug-in identifier list, call the corresponding processing plug-in, and send the memory offset of the frame data For the processing plug-in, the processing plug-in repeats the process of step 203-2 and step 203-3 until all processing plug-in identifiers in the processing plug-in identifier list have been traversed, and all processing plug-ins corresponding to the processing plug-in identifiers have been processed). Regarding claim 17, the combination of Wang and Shribman teaches the system of Claim 11, wherein: if the command indicates that the second plugin module (second processing plug-in in a second container) is not selected (when a second processing plug-in identifier related to a second task is not in the identifier list, the system will not select the second processing plug-in identifier; Wang - page 19 paragraph 4: The processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list is sequentially called to perform content processing on the audio and video stream; Wang - page 19 paragraph 8: The content processing module is used to sequentially call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list to perform content processing on the audio and video stream), the second plugin module passes the first plugin output to output second first plugin output (processed frame data; Wang - page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list; Wang - page 21 paragraph 8: When the demander detects that the user triggers When processing business needs, you can create processing tasks based on user-triggered needs; Wang - page 22 paragraphs 8-9: Step 203: Call the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list in turn to perform content processing on the audio and video stream. In this step, the processing plug-in corresponding to each processing plug-in identifier in the processing plug-in identifier list can be called to perform content processing on the frame data. Among them, the processing plug-ins corresponding to each processing plug-in identifier in the processing plug-in identifier list can work in series, and the output of the previous processing plug-in can be used as the input of the next processing plug-in until all processing plug-ins are processed; Wang - page 23 paragraph 1: In one embodiment, the processing plug-in identifier list may include at least two processing plug-in identifiers, and the execution order of the at least two processing plug-in identifiers; Wang - page 23 paragraph 6 – page 24 paragraph 1 describes processing plug-in reads the corresponding frame data from the shared memory according to the memory offset, and processes the frame data. In this step, after the called processing plug-in receives the memory offset of the frame data currently to be processed, it can determine the storage location of the frame data currently to be processed in the shared memory according to the memory offset, and use the Read the corresponding frame data in the storage location, and then use the processing logic of the current processing plug-in to perform content processing on the read frame data. Step 203-3: Store the processed frame data in the shared memory, and continue to traverse the next processing plug-in identifier, and call the corresponding processing plug-in to read the processed frame data from the shared memory Processing is performed, and so on, until the processing plug-in identifiers in the processing plugin identifier list are traversed. In this step, after the current processing plug-in performs content processing on the frame data, the processed frame data can be stored in the shared memory. In one implementation, the processed frame data can be stored in the original storage location, and the original frame data can be overwritten. At the same time, when the processed frame data is stored in the shared memory, the current processing plug-in can send a notification message to the processing process to notify the processing process that the processing of the current plug-in is completed and trigger the processing of the next plug-in. After the processing process receives the notification message, it can determine that the current processing plug-in has completed its work, and continue to traverse the next processing plug-in identifier in the processing plug-in identifier list, call the corresponding processing plug-in, and send the memory offset of the frame data For the processing plug-in, the processing plug-in repeats the process of step 203-2 and step 203-3 until all processing plug-in identifiers in the processing plug-in identifier list have been traversed, and all processing plug-ins corresponding to the processing plug-in identifiers have been processed). Regarding claim 18, the combination of Wang and Shribman teaches the system of Claim 15, wherein: the second plugin module is modified without affecting the functions of the application module, the media framework module, and the video decoder module, and first function of the first plugin module (end-users can update plug-ins dynamically without needing to make changes to the host application; Shribman - [0143]: Typically, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application, and protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application). Regarding claim 19, the combination of Wang and Shribman teaches the system of Claim 15, wherein the first plugin module and the second plugin module are configured to perform video post-processing (beautification plug-in for beautification and background segmentation plug-in for background segmentation corresponds to plug-ins for video post-processing; page 28 paragraph 5: Then come to the MediaFlow stage, each audio and video stream has a corresponding MediaFlow, and each MediaFlow includes one or more processing plug-ins (i.e. plug-in 1...plug-in N in Figure 4, such as the beautification plug-in for beautification, the application The background segmentation plug-in for background segmentation, etc.), through plug-in 1...plug-in N to sequentially process the audio frame or video frame, multiple processing plug-ins are executed in series, and the processing result of the previous processing plug-in can be used as the input of the next processing plug-in , The output of the last processing plug-in is used as the output of the current MediaFlow). Claims 2-4 and 6-10 are similar in scope to claims 12-14 and 15-19, and therefore the examiner provides similar rationale to reject these claims. Claim(s) 5 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wang, in view of Shribman, and further in view of Anderson et al. (US 2017/0060650, hereinafter Anderson). Regarding claim 5, the combination of Wang and Shribman does not explicitly teach the method of Claim 1, further comprising: the first plugin module returning the first plugin output to the media framework module. Anderson teaches the first plugin module (extension script) returning the first plugin output to the media framework module (application is functionally analogous to the media framework module; [0015]: When the extension script has been executed, the extension script provides an output, typically in the same standardized form as the data received with the extension script call, and the data is returned to the calling app or application; [0037]: The method 300 then retrieves and executes 304 the extension script in view of the argument within a script execution environment of the agent process to obtain result data. The agent process then returns 306 the result data to the application. In some embodiments, the argument is received 302 with the extension script call in a particular format and the result data is returned 306 to the application in the same particular format). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Anderson’s knowledge of returning the result data obtained by executing the extension script to the application as taught and modify the system of Wang and Shribman because such a system returns the data in the same format as the calling application expects the data to be in the same particular format for further processing within the application ([0037]). Response to Arguments The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Applicant's arguments filed 6/23/2026 have been fully considered but they are not persuasive. Response to the argument that the transitional phrase “A computer-implemented … executed by a hardware processor” finds explicit textual support at paragraph [0016] of the specification. See page 6 of Applicant’s Remarks. The limitation “a computer-implemented” in the phrase “video processing method”, and the limitation “executed by a hardware processor” is considered to be inadequately described in the original disclosure. The specification and the drawings, as originally filed, do not describe a method or process that is implemented using a computer or instructions or code that is executed by a hardware processor. Paragraph [0016] of the specification recites “… the term ‘module’ may refer to software programs, hardware devices, or a combination thereof”. As recited in claim 1, the modules, under broadest reasonable interpretation, could be implemented as a hardware device, i.e., modules could be implemented as electronic circuits designed to perform specific functions without necessarily requiring a computer or a processor. Moreover, a “computer” or “hardware processor” is not explicitly or implicitly recited in the specification or shown in the drawings. There is no support in the original disclosure that the computer-implemented method comprises the steps performed by various modules that are being executed by a hardware processor. Therefore, the limitation “computer-implemented” and “executed by a hardware processor” fails to comply with the written description requirement and is considered new matter. The above limitations will be addressed for the purpose of prior art rejection. Response to the argument that the amended claim 1 and its dependent claims 2-10 fall squarely within the statutory “process” category of 35 USC § 101. See page 6 of Remarks. Although the amended claims 1-10 fall within the statutory “process” category of 35 USC § 101, the limitation “computer-implemented” and “executed by a hardware processor” ” fails to comply with the written description requirement and is considered new matter. Please refer to the rejection of claims 1-10 under 35 USC 112(a) for details. Response to the argument that the modules recited in independent claim 11 are interpreted under 35 USC 112(f) as corresponding hardware structure described in the specification. See page 6-7 of Remarks. Under the broadest reasonable interpretation, since the specification states that the modules may refer to software programs, the scope of the claim is interpreted to encompass a software program standing alone. The fact that the claim permits a completely a software-only implementation is interpreted to fail the 35 USC 101 test related to the four statutory categories of patent-eligible subject matter. Software program independent of a physical machine or hardware does not belong to any of the four statutory categories of patent-eligible subject matter. Therefore, the claim is rejected under 35 USC 101 because it fails to fall within one of the four statutory categories of patent-eligible subject matter. Response to the argument that the claims are directed to a technical improvement, not an abstract idea. See page 7 of Remarks. Claims 11-19 are interpreted to be a software program alone. (see the rejection of claims 11-19 under 35 USC 101 and the explanation above for the interpretation of claim 11 as a software program). Therefore, the claim fails step 1 of the subject matter eligibility test for products and processes. Step 1 relates to the statutory categories and ensures that the first criterion is met by confirming that the claim falls within one of the four statutory categories of invention. See MPEP 2106. Whether the claims are directed to a technical improvement is a step to be considered only after the step 1 of the subject matter eligibility test is satisfied. Therefore, claim 11-19 are properly rejected as failing to fall within one of the four statutory categories of patent-eligible subject matter under 35 USC 101. Response to the argument that there is no motivation to combine Wang and Shribman as they disclose different architectures, and that a person of ordinary skill would not combine the references. See page 8-9 of Remarks. In response to applicant's argument that Wang and Shribman is nonanalogous art, it has been held that a prior art reference must either be in the field of the inventor’s endeavor or, if not, then be reasonably pertinent to the particular problem with which the inventor was concerned, in order to be relied upon as a basis for rejection of the claimed invention. See In re Oetiker, 977 F.2d 1443, 24 USPQ2d 1443 (Fed. Cir. 1992). In this case, Wang describes processing audio and video by adding a corresponding processing plug-in on the pipeline according to the processing plug-in identifier list when multiple content processing is needed. Shribman describes processing video and audio data using a graphics or audio subsystem and a component plug-in architecture for supporting additional 3rd party codecs, and that the plug-in can be added and updated dynamically without needing to make changes to the host application. Therefore, Wang and Shribman are both related to processing video/audio data and both describe to use plug-ins, and therefore are considered to be in similar field of endeavor and are analogous art. Moreover, in response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case, Wang teaches various modules for receiving and processing video and audio data using a plug-in architecture. Especially Wang describes an application module (stream pulling module 602, fig. 6; page 32 paragraph 6: it can also be implemented by hardware) receiving a video (video stream; page 22 paragraph 1: Step 202: Pull the audio and video stream corresponding to the identifier of the audio and video stream to be processed; page 30 paragraph 2: The stream pulling module 602 is configured to pull the audio and video stream corresponding to the identifier of the audio and video stream to be processed); a media framework module (stream pulling module 602, fig. 6; page 32 paragraph 6: it can also be implemented by hardware) sending a command (processing plug-in identifier list comprising processing plug-in identifiers corresponds to a command; page 21 paragraph 6: Step 201: Receive a processing task, the processing task at least including: an identification of the audio and video stream to be processed and a processing plug-in identification list) and the video (video stream); a video decoder module (decoding module, page 30 paragraph 4; page 32 paragraph 6: it can also be implemented by hardware) decoding the video (video stream) to generate a decoded video (page 22 paragraph 5: The audio and video stream is decoded into frame data, and the frame data is stored in a shared memory; page 22 paragraph 6: In this step, when the stream is pulled, Puller can pass the pulled audio and video stream to the decoder (Decorder) for decoding, and Decorator decodes the audio and video stream to obtain frame data, where, for the video, the frame The data can be an image frame in rgba format; for audio, the frame data can be in an uncompressed PCM format; page 30 paragraph 4: The decoding module is configured to decode the audio and video stream into frame data after pulling the audio and video stream corresponding to the identifier of the audio and video stream to be processed); and a first plugin module (first processing plug-in in a first container, page 24 paragraphs 5-6; content processing module, page 19 paragraph 8/content processing module 603, page 30 paragraph 3; page 32 paragraph 6: it can also be implemented by hardware) receiving the decoded video (decoded frame data representing the audio and video streams) and outputting a first plugin output (processed audio and video stream/processed frame data). Shribman describes processing video and audio data using a graphics or audio subsystem and a component plug-in architecture for supporting additional 3rd party codecs. Further, Shribman teaches modifying a plugin module without affecting functions of at least the application module, the media framework module, and the video decoder module (end-users can update plug-ins dynamically without needing to make changes to the host application; [0143]: Typically, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application, and protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Shribman’s knowledge of updating plug-ins without making changes to the host application as taught and modifying the process of Wang because such a system enhances user experience by enabling the end-users to make necessary changes to the plug-ins to meet their specific needs. Response to the arguments that modifying Wang to incorporate Shribman’s teachings would require a fundamental redesign of Wang’s core architecture, undermining Wang’s latency-reduction mechanism. See page 7-8 of Remarks. However, nowhere does Wang describes against modifying plugins as taught by Shribman. In fact, none of the references criticize, discredit, or otherwise discourage the solution claimed. Moreover, obviousness does not require absolute predictability of success. For obviousness under 103, all that is required is a reasonable expectation of success. In re O’Farrell, 853 F.2d 894, 903-904 (Fed. Cir. 1988). In this instant case, Wang teaches various module to perform video decoding using plug-ins. However, Wang does not teach to modify the plug-ins without affecting the functions of other modules. Shribman teaches modifying a plugin module without affecting functions of other modules (end-users can update plug-ins dynamically without needing to make changes to the host application; [0143]: Typically, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application, and protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application). Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply Shribman’s knowledge of updating plug-ins without making changes to the host application as taught and modifying the process of Wang because such a system enhances user experience by enabling the end-users to make necessary changes to the plug-ins to meet their specific needs. Conclusion THIS ACTION IS MADE FINAL. 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 JWALANT B AMIN whose telephone number is (571)272-2455. The examiner can normally be reached Monday-Friday 10am - 630pm CST. 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, Said Broome can be reached at 571-272-2931. 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. /JWALANT AMIN/Primary Examiner, Art Unit 2612
Read full office action

Prosecution Timeline

Nov 30, 2023
Application Filed
Mar 23, 2026
Non-Final Rejection mailed — §101, §103, §112
Jun 23, 2026
Response Filed
Sep 16, 2026
Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12737999
Synchronized Analysis of Mixed-Reality OLAP and Supply Chain Network Visualizations
1y 7m to grant Granted Sep 15, 2026
Patent 12731347
METHODS TO IMPROVE PASSTHROUGH EXPERIENCE IN LOW LIGHT CONDITIONS
2y 5m to grant Granted Sep 08, 2026
Patent 12704718
Head-Worn Wearable Device Providing Indications of Received and Monitored Sensor Data, and Methods and Systems of Use Thereof
3y 3m to grant Granted Aug 11, 2026
Patent 12688617
METHOD AND APPARATUS FOR PROCESSING THREE DIMENSIONAL GRAPHIC DATA, DEVICE, STORAGE MEDIUM AND PRODUCT
3y 5m to grant Granted Jul 21, 2026
Patent 12675157
PAUSING DEVICE OPERATION BASED ON FACIAL MOVEMENT
2y 5m to grant Granted Jul 07, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
79%
Grant Probability
95%
With Interview (+15.5%)
2y 7m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 643 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month