Optical image processing

Certified image processing units on a SoC verify optical images' unmodified state by comparing pixels to a signature, addressing the challenge of detecting AI modifications and ensuring image integrity through secure metadata.

WO2025207096A1PCT designated stage Publication Date: 2025-10-02GOOGLE LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/US2024/021964
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-28
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

It is difficult for users to determine whether an optical image captured by a mobile device has been modified by artificial intelligence, as such modifications are often undetectable visually.

Method used

Implementing certified image processing units on a system-on-a-chip (SoC) that compare the pixels of an optical image to a generated signature to verify its unmodified state, using algorithms like hash or checksum, and store the signature in a secure memory accessible only to certified units, ensuring no semantic object addition or deletion during processing.

Benefits of technology

Enables users to reliably identify if an optical image remains unmodified by artificial intelligence through metadata, ensuring the integrity of the image by preventing unauthorized modifications while allowing certified processing units to refine image properties without AI intervention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024021964_02102025_PF_FP_ABST
    Figure US2024021964_02102025_PF_FP_ABST
Patent Text Reader

Abstract

Image processing units are used to determine whether an optical image remains unmodified by artificial intelligence. In example aspects, image processing units compare the pixels of an optical image to a signature to determine whether the optical image remains unmodified by artificial intelligence. A first image processing unit receives an optical image from a sensor and applies an algorithm to the pixels. The result is stored as a signature in a secure portion of memory. A flag that indicates that the optical image is unmodified by artificial intelligence is also stored in the secure portion of memory. A second image processing unit receives the optical image and checks the flag. If the flag indicates the optical image is unmodified, the second image processing unit compares the pixels to the signature stored in the secure portion of memory to determine if the optical image remains unmodified by artificial intelligence.
Need to check novelty before this filing date? Find Prior Art

Description

OPTICAL IMAGE PROCESSINGBACKGROUND

[0001] It is estimated that almost 80% of the world’s population owns a mobile phone, which is one type of mobile device. Mobile devices typically include a system-on-a-chip (SoC), which is the brain of the mobile device. The SoC includes various components, such as central processors, memory, graphic processors, audio processors, high-speed input and output interfaces, and encryption engines. Mobile devices generally also include one or more sensors configured to capture an optical image. A captured optical image is then processed by one or more image processing units, which are often located on the SoC.

[0002] An optical image may be modified by artificial intelligence, or the like, to modify the optical image to add various semantic objects or to remove semantic objects from the optical image. Some examples of semantic objects are individuals, animals, plants, buildings, geographical features, and automobiles. For example, artificial intelligence may insert a person into an optical image in such a way that it cannot be determined visually whether the person was original to the optical image or added into the optical image after the optical image was captured by the sensor. Not knowing whether an optical image is original or has been modified by artificial intelligence may be problematic.SUMMARY

[0003] This document describes using hardware to determine whether an optical image has been modified by artificial intelligence, a non-certified image processing unit, or the like. The document details various example aspects relating to a nexus between optical images and artificial intelligence. For example, the document details how certified image processing units compare the pixels of an optical image to a signature to determine whether the optical image remains unmodified by artificial intelligence. A first image processing unit receives an optical image from a sensor. The first image processing unit applies an algorithm, such as a hash algorithm or checksum algorithm, to the pixels of the received optical image with the result of the application of the algorithm becoming a signature of the optical image. The first image processing unit stores the signature in a secure portion of memory. The first image processing unit can also set a flag to true in the secure portion of memory with the true flag indicating that the optical image is unmodified by artificial intelligence.

[0004] This document details how the secure portion of memory may only be accessed by certified image processing units, which are image processing units that are associated with an indication that the image processing unit does not use artificial intelligence to modify the opticalimage. The certified image processing units are configured to not add a semantic object to the optical image and to not delete a semantic object from the optical image during the optical processing. A non-certified image processing unit may be an image processing unit that uses artificial intelligence to modify an optical image. The image processing units are located on a system-on-chip (SoC) of an apparatus and are used to determine whether the optical image remains unmodified by artificial intelligence, or the like.

[0005] This document describes that the optical image is sent to a second image processing unit. The second image processing unit first reads the flag stored in the secure portion of memory. If the flag indicates that the optical image remains unmodified by artificial intelligence (i.e., the flag is set to true), the second image processing unit compares the optical image to the signature stored in the secure portion of memory. The second image processing unit may compare the optical image to the signature by applying the algorithm to the pixels of the optical image to produce a computed signature and comparing the computed signature to a stored signature by the previous imaging processing unit.

[0006] This document details that if the result of applying the algorithm (i.e., the computed signature) matches with the stored signature, the optical image remains unmodified by artificial intelligence. The second imaging processing unit then applies a process to the optical image that potentially modifies the image. The second optical imaging unit is a certified image processing unit and thus does not apply artificial intelligence to modify the optical image. Instead, the second image processing unit may process the optical image to change a property of the optical image such as a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like. The second optical imaging unit then again applies the algorithm to the pixels of the modified optical image to update the signature of the optical image. The signature is updated because the individual processing of the optical image by the second imaging unit may have changed the pixels of the optical image. The updated signature is then stored in the secure portion of memory.

[0007] The document describes that the next certified image processing unit may repeat the process of first checking the flag stored in the secure portion of memory and comparing the optical image to the signature stored in the secure portion of memory if the flag indicates that the optical image remains unmodified by artificial intelligence. If the result of the comparison does not match with the signature, this next image processing unit updates the flag (i.e., sets the flag as false) stored in the secure portion of memory to indicate that the optical image is no longer certified to be unmodified by artificial intelligence.

[0008] This document details that if the result of the application of the algorithm matches with the signature stored in the secure portion of memory', the image processing unit will apply a process to the optical image. As discussed above, the image processing unit is a certified imageprocessing unit that does not apply artificial intelligence to modify the optical image. Instead, the image processing unit may process the optical image to change a property of the optical image such as a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like. After processing the optical image, the image processing unit again applies the algorithm to the pixels of the processed optical image to update the signature and then stores the updated signature in the secure portion of memory.

[0009] In example implementations, an apparatus includes a sensor configured to capture an optical image; and an SoC connected to the sensor, the SoC including: a memory on the SoC, the memory including a secure portion; a first image processing unit on the SoC, the first image processing unit connected to the sensor, the first image processing unit configured to: generate a signature for the optical image captured by the sensor; and store the signature in the secure portion of the memory; and a second image processing unit on the SOC, the second image processing unit configured to: receive the optical image from the first image processing unit; and compare the optical image to the signature to determine that the optical image is unmodified by artificial intelligence.

[0010] In example implementations, a method includes receiving, in a first image processing unit, an optical image from a sensor; generating a signature for the optical image; storing, in a secure portion of a memory, the signature; sending the optical image to a second image processing unit; and comparing, by the second image processing unit, the signature to the optical image to determine that the optical image is unmodified by artificial intelligence.

[0011] In example implementations, a system includes a sensor configured to capture an optical image; a system-on-chip (SoC) connected to the sensor; a memory on the SoC, the memory’ including a secure portion; a front-end image processing unit on the SoC, the front-end image processing unit connected to the sensor, the front-end image processing unit configured to generate a signature for the optical image captured by the sensor, create a flag to indicate that the optical image is unmodified by artificial intelligence, and store the signature and the flag in the secure portion of the memory; and an image processing pipeline on the SOC, the image processing pipeline connected to the front-end image processing unit and including multiple image processing units, each image processing unit of the image processing pipeline configured to receive the optical image, read the flag, and compare the optical image to the signature to detemiine that the optical image is unmodified by artificial intelligence.BRIEF DESCRIPTION OF DRAWINGS

[0012] Apparatuses of and techniques for optical image processing are described with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components.

[0013] Fig. 1 illustrates an example apparatus with at least one sensor and an SoC that includes a processor or other circuitry that can implement optical image processing.

[0014] Fig. 2 illustrates an example flow path for optical image processing and streaming the optical image after processing.

[0015] Fig. 3 illustrates an example connection between an image processing unit and a secure portion of memory.

[0016] Fig. 4 illustrates an example connection between an image processing unit and a secure portion of memory7.

[0017] Fig. 5 illustrates an example apparatus for processing an optical image.

[0018] Figs. 5-1 to 5-4 illustrate an example apparatus for processing an optical image in conjunction with an example processing of an optical image.

[0019] Fig. 6 illustrates an example apparatus for processing an optical image.

[0020] Fig. 7 is a flow chart illustrating an example process for implementing optical image processing.

[0021] Fig. 8 is a flow chart illustrating an example process for implementing optical image processing.

[0022] Fig. 9 is a flow chart illustrating an example process for implementing optical image processing.DETAILED DESCRIPTIONOverview

[0023] An optical image may be captured by a mobile device, such as a mobile phone. There are practically an unlimited number of images available on the Internet due to the number of mobile devices in use. However, it may be difficult, if not impossible, for a user to determine visually whether an optical image is original or remains unmodified by artificial intelligence, machine learning, or the like. For example, a user may view an optical image of what appears to be a family vacation at Yellowstone. However, the user may not be able to tell if the family in the photo actually visited Yellowstone, being present in the original captured optical image, or whether that family was added by artificial intelligence to an optical image of Yellowstone originally captured without any individuals present. Artificial intelligence has the capability7of modifying optical images to add semantic objects to an optical image or delete semantic objectsfrom an optical image with the changes not being visually discernable. A user may not be able to rely on an optical image if it is unknown whether the optical image is original and remains unmodified by artificial intelligence.

[0024] This document describes hardware that may be used to determine whether an optical image remains unmodified by artificial intelligence, a non-certified image processing unit, or the like. The document details how certified image processing units, on an SoC of a mobile device, compare pixels of an optical image to a previously generated signature to determine whether the optical image remains unmodified by artificial intelligence and / or a non-certified image processing unit. An optical image captured by a sensor of a mobile device is sent to a first image processing unit on the SoC. The first image processing unit may be a front-end image processing unit. As the first image processing unit receives the optical image directly from the sensor, the first image processing unit sets a flag to true, indicating that the optical image is unmodified by artificial intelligence. The flag is set within a secure portion of memory that may be accessed by the certified image processing units of the mobile device. The first image processing unit also generates, or creates, a signature that corresponds to the optical image based on the pixels of the optical image. For example, the first image processing unit may apply an algorithm to pixels of the optical image with the result of the application of the algorithm being the signature. The signature is then stored in the secure portion of memory.

[0025] This document details how the image processing units of the SoC can access both the flag and the signature stored in the secure portion of memory to determine whether the optical image remains unmodified by artificial intelligence, or the like. The image processing units are certified image processing units, which means that the image processing unit does not use artificial intelligence to modify the optical image. The certified image processing units are configured to not add a semantic object to an optical image and to not delete a semantic object from the optical image during optical processing of the optical image.

[0026] This document describes that the optical image is sent to subsequent image processing units on the SoC. As each image processing unit receives the optical image, the image processing unit first reads the flag stored in the secure portion of memory. If the flag indicates that the optical image remains unmodified by artificial intelligence (i.e., the flag is set to true), the image processing unit next compares the optical image to the signature also stored in the secure portion of memory. For example, the image processing unit may compare the optical image to the signature by applying the algorithm to the pixels of the optical image and comparing the result to the signature.

[0027] This document details that if the result matches with the signature, the optical image remains unmodified by artificial intelligence. After the comparison of the pixels to thesignature, the image processing unit then applies an individual process to the optical image, which may modify the image. Each of the optical imaging units on the SoC is a certified image processing unit and thus does not apply artificial intelligence to modify the optical image. Instead, the image processing units may process the optical image to change a property of the optical image such as a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like. The processing of the optical image by the certified image processing units may change the pixels of the optical image in comparison to the pixels of the optical image initially received by the image processing unit. Thus, the optical imaging unit then generates an updated signature that corresponds to the present version of the optical image, with the updated signature to be stored in the secure portion of memory. The updated signature may be generated, or created, by the application of the algorithm to the pixels of the optical image after the image processing unit has applied a process to the optical image.

[0028] The document describes that this process is repeated by each certified image processing unit located within the mobile device. In the event the result of the comparison does not match with the signature, an image processing unit will update the flag (i.e., set the flag as false) stored in the secure portion of memory to indicate that the optical image no longer remains unmodified by artificial intelligence. A flag indicating that an optical image remains unmodified by artificial intelligence can be included in metadata for an optical image. Likewise, a flag indicating that an optical image no longer remains unmodified by artificial intelligence can be included in metadata for an optical image. In this way, a user can use review metadata of an optical image to determine whether it has been modified by artificial intelligence. These and other implementations are described herein.Example Environments and Electronic Devices

[0029] Fig. 1 illustrates an example environment 100 including an apparatus, also referred to herein as a mobile device, 102. The apparatus 102 includes an SoC 104, which includes at least a processor 106, memory 108. a front-end image processing unit (IPU) 110, an image processing pipeline 120, and an encoder / decoder (CODEC) 130. The apparatus 102 includes one or more sensors 140, including a front-facing sensor and a rear-facing sensor 140-2, configured to capture optical images. The apparatus 102, using the components of the SoC 104, can implement instructions to compare an optical image captured by the one or more sensors 140 to a signature of the optical image to determine that the optical image is unmodified by artificial intelligence. In implementations, the instructions for determining whether an optical image is unmodified by artificial intelligence are as described herein.

[0030] The front-end IPU 110, located on the SoC 104, is configured to receive an optical image from an optical sensor 140 and generate a signature that corresponds to the optical image. The generated signature is then stored in a secure portion of the memoiv 108. The front-end IPU 110 is also configured to set a flag, in the secure portion of the memory 108, that indicates that the optical image remains unmodified by artificial intelligence. The image processing pipeline 120, located on the SoC 104, includes one or more IPUs that are configured to receive the optical image, check the flag in the secure portion of the memory 108, compare the optical image to the signature stored in the secure portion of the memory 108, and process the optical image.

[0031] In this example, the apparatus 102 is depicted as a smartphone. The apparatus 102 may, however, be implemented as any suitable computing or other electronic device. Examples of the apparatus 102 include a mobile electronic device or mobile device, mobile communication device, modem, cellular or mobile phone, mobile station, gaming device, navigation device, media or entertainment device (e.g., a media streamer or gaming controller), laptop computer, desktop computer, tablet computer, smart appliance, vehicle-based electronic system, wearable computing device (e.g., clothing, watch, or reality-altering glasses), Internet of Things (loTs) device, sensor, stock management device, electronic portion of a machine or piece of equipment (e.g., vehicle or robot), memory storage device (e.g., a solid-state drive (SSD)), server computer or portion thereof (e.g., a server blade or rack or another part of a datacenter), and the like. Illustrated examples of the apparatus 102 include a tablet device 102-1, a smart television 102-2, a desktop computer 102- 3, a server computer 102-4, a smartwatch 102-5, a smartphone (or document reader) 102-6, and intelligent glasses 102-7.

[0032] In example implementations, the apparatus 102 includes the SoC 104 that is the brains of the apparatus 102. The SoC 104 is typically a complex chip that includes a number of different components, such as processors, memory, encryption engines, and high-speed input and output. The SoC 104 typically comprises a single integrated circuit. The integrated circuit can be part of, or realized as, a chip, a package, a module, an assembly, or at least one printed circuit board (PCB) (not shown). Examples of a PCB include a flexible PCB, a rigid PCB. a single- or multi-layered PCB, a surface-mounted or through-hole PCB, combinations thereof, and so forth. One or more integrated circuit (IC) chips can be mounted on a PCB. Each IC chip can be realized as a general-purpose processor, a microcontroller, an application-specific IC (ASIC), and so forth. Other examples of IC chips include a security-oriented IC chip, a memory chip, a communications IC chip (e.g., a modem or radio-frequency IC), a graphics processor, an artificial intelligence (Al) accelerator, sensor chips, combinations thereof, and so forth. Sensor chips may include, for example, an accelerometer, a camera or other light sensor, a satellite positioning system (e.g., a Global Positioning System (GPS)) chip, and the like. An IC chip can be packaged alone ortogether with other IC chips. Although some of this disclosure refers to utilizing techniques in conjunction with an SoC, the invention is not so limited. For example, a memory 108, a frontend IPU 110, and an image processing pipeline 120 as described herein can be included in other circuits, such as any IC or chip that accesses an optical image from a sensor 140 of the apparatus 102.Example Apparatuses, Systems, and Operational Schemes

[0033] Fig. 2 illustrates a system 200 that may be used to determine whether an optical image remains unmodified by artificial intelligence. The optical image is captured by one or more sensors 140. A captured optical image is sent to a front-end IPU 110 on an SoC 104. The frontend IPU 110 is connected to the one or more sensors 140 via a serial interface 250. The optical image is processed by the front-end IPU 110 and one more IPUs within an image processing pipeline 120. The front-end IPU 110 and the IPUs within the image processing pipeline 120 are certified IPUs, meaning that each of the IPUs is certified to process the optical image but not modify the optical image via artificial intelligence. A certified IPU may process the optical image to refine the optical image, such as changing a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like of the optical image. A certified IPU is associated with an indication that image processing is performed without using artificial intelligence. A certified IPU does not add a semantic object to the optical image and does not remove a semantic object from the optical image. Examples of semantic objects are people, mountains, landscapes, backgrounds, automobiles, animals, and the like.

[0034] The front-end IPU 110 and the image processing pipeline 120 determine whether the optical image remains unmodified by artificial intelligence as detailed herein. The optical image may then be sent to the image codec 130 to be encoded or decoded and compressed or decompressed. The optical image may then be included in a data stream 260.

[0035] The data stream 260 may be a video stream or an image stream. The data stream 260 of the optical image may include metadata that indicates that the optical image remains unmodified by artificial intelligence. For example, a user may be able to right click on the optical image in a browser to determine whether the optical image remains unmodified by artificial intelligence. Alternatively, the metadata may indicate that the optical image no longer remains unmodified by artificial intelligence if determined by at least one of the front-end IPU 110 and the IPUs within the image processing pipeline 120.

[0036] Prior to including the optical image in the data stream 260, the codec 130 may use symmetric encry ption so that a user that views the optical image can be ensured that the optical image remains unmodified by artificial intelligence. A private encryption key may be included inthe metadata of the optical image. The user of the data stream 260 may use a public encryption key to determine whether a signature, such as a hash value, still matches the content of the optical image.

[0037] Fig. 3 illustrates an implementation of an apparatus 300 that may be used in the determination of whether an optical image remains unmodified by artificial intelligence. The apparatus 300 includes an image processing unit 110, 310. The image processing unit may be a front-end IPU 110 or an IPU 310 within an image processing pipeline 120. Upon receipt of an optical image from a sensor 140, the front-end IPU 110 sets a flag 374 in a secure portion of memory 370. The flag 374 is set as either true (“T”) or false (“F”) with “T” indicating that the optical image remains unmodified by artificial intelligence and “F” indicating that the optical image no longer remains unmodified by artificial intelligence.

[0038] Upon receipt of an optical image from a sensor, the front-end IPU 110 also generates a signature 372 that corresponds to the optical image. In one implementation, the frontend IPU 110 applies an algorithm to pixels of the optical image to generate the signature 372. For example, the front-end IPU 110 may apply a hash algorithm to the optical image and the resulting hash value is the signature 372. Similarly, the front-end IPU 110 may apply a checksum algorithm to pixels of the optical image and the resulting checksum value is the signature 372. The signature 372 is then stored in the secure portion of memory 370. The secure portion of memory 370 may only be accessible from certified IPUs 1 10, 310 of an SoC 104 of a mobile device 102.

[0039] After the front-end IPU 110 has received the optical image, set the flag 374, and generated the signature 372, the optical image is received by the IPU 310 within the image processing pipeline 120. Upon receipt of the optical image, the IPU 310 will check the flag 374 stored in the secure portion of memory 370. If the flag 374 indicates that the optical image remains unmodified by artificial intelligence by being set to “T”, the IPU 310 will compare the signature 372, stored within the secure portion of memory 370, to the received optical image. For example, the IPU 310 may apply the algorithm to pixels of the received optical image and compare the results to the signature 372. If the results match, the IPU 310 knows that the optical image remains unmodified by artificial intelligence. Since the signature 372 is generated by applying an algorithm to pixels of the optical image, the signature 372 is still applicable even if the optical image is rotated, locked, scaled, or the like, as the pixel count of the optical image would remain the same in these instances.

[0040] The IPU 310 will then apply an individual process to the optical image that modifies the image but without the use of artificial intelligence. For example, the IPU 310 may refine the optical image by modifying a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like. The IPU 310 does not add a semantic object to the optical image.Likewise, the IPU 310 does not delete a semantic object from the optical image. The IPU 310 then updates the signature 372 for the optical image and stores the updated signature 372 in the secure portion of memory 370 as discussed herein. For example, the IPU 310 may apply an algorithm to pixels of the optical image and store the result as the signature 372 in the secure portion of memory 370.

[0041] If the results of the comparison of the optical image to the signature 372 do not match, the IPU 310 will set the flag 374, stored in the secure portion of memory 370, to “F”, indicating that the optical image no longer remains unmodified by artificial intelligence. The IPU 310 will then apply an individual process to the optical image that modifies, or refines, the optical image but without the use of artificial intelligence. For example, the IPU 310 may modify a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like of the optical image. The IPU 310 does not add a semantic object to the optical image. Likewise, the IPU 310 does not delete a semantic object from the optical image. However, the IPU 310 does not update the signature 372 for the optical image because the IPU 310 has already determined that the optical image does not remain unmodified by artificial intelligence and has set the flag 374 as “F”. Any subsequent IPU 310 within the image processing pipeline 120 will know that the optical image no longer remains unmodified by artificial intelligence. Thus, any subsequent IPU 310 within the image processing pipeline 120 will no longer compare the optical image to a signature 372 stored in the secure portion of memoiy 370. Likewise, no subsequent IPU 310 within the image processing pipeline 120 will update the signature 372 after individually processing the optical image.

[0042] Fig. 4 illustrates one implementation of an apparatus 400 that may be used in the determination of whether an optical image remains unmodified by artificial intelligence. The apparatus 400 includes an image processing unit 110, 310. The image processing unit may be a front-end IPU 110 or an IPU 310 within an image processing pipeline 120. Upon receipt of an optical image from a sensor 140, the front-end IPU 110 sets a flag 374 and stores the flag 374 in a secure portion of memory 370. Upon receipt of an optical image from a sensor, the front-end IPU 110 sets the flag 374 as T.

[0043] The front-end IPU 110 then generates, or creates, a signature 372 that corresponds to the optical image. In one implementation, the front-end IPU 110 applies an algorithm to pixels of the optical image to generate the signature 372. The signature 372 is then stored in the secure portion of memory 370. The secure portion of memory 370 may only be accessible from certified IPUs 110, 310 located on an SoC 104 of a mobile device 102.

[0044] The front-end IPU 110 also stores a key chain 476 within the secure portion of memory 370. The key chain 476 indicates each IPU 110, 310 that has processed the optical image.In this instance, the optical image has only been processed by the front-end IPU 110. The frontend IPU 110 also stores a pointer 478 in the secure portion of memory 370. The pointer 478 indicates where a subsequent IPU 310 would append the key chain 476 to include the identity of the subsequent IPU 310 that processed the optical image.

[0045] As discussed herein, upon receipt of an optical image by an IPU 310 within the image processing pipeline 120, the IPU 310 will check the flag 374 stored in the secure portion of memory 370. If the flag 374 indicates that the optical image remains unmodified by artificial intelligence by being set to “T”, the IPU 310 will compare the signature 372, stored within the secure portion of memory 370, to the received optical image. For example, the IPU 310 may apply an algorithm to pixels of the received optical image and compare the results to the signature 372. If the results match, the IPU 310 knows that the optical image remains unmodified by artificial intelligence. The IPU 310 will then apply an individual process to the optical image that refines the optical image but without the use of artificial intelligence as discussed herein.

[0046] The IPU 310 then updates the signature 372 for the optical image and stores the updated signature 372 in the secure portion of memory 370 as discussed herein. For example, the IPU 310 may apply an algorithm to pixels of the optical image and store the result as the signature 372 in the secure portion of memory 370. After processing the optical image, the IPU 310 would also append the key chain 476 to include the identity of the IPU 310 at the location specified by the pointer 478. The updated key chain 476 would then be stored in the secure portion of memory' 370. The IPU 310 would also update the pointer 478 to include the new location to where a subsequent IPU 310 that has processed the optical image should append to the key chain 476. The updated pointer 478 would then be stored in the secure portion of memory’ 370. The key chain 476, which includes a list of each IPU 110, 25 that has processed an optical image, may be included in the metadata of the optical image.

[0047] Fig. 5 illustrates an example system 500. The system 500 includes a front-end IPU 110, a secure portion of memory 370, and an image processing pipeline 120. The image processing pipeline 120 includes a first IPU 310-1. a second IPU 310-2. and a third IPU 310-3. The number of IPUs, 310 generally, within the image processing pipeline 120 could be more or less than the three IPUs 310-1, 310-2, 310-3 shown in Fig. 5 for illustrative purposes. The frontend IPU 110 receives an optical image 502 from one or more sensors 140. The front-end IPU 110 is configured to receive optical images 502 from one or more sensors 140. For example, the frontend IPU 110 may be connected to a sensor 140 via a serial interface 250 as discussed herein.

[0048] Figs. 5-1 to 5-4 depict example operational scenarios using the hardware shown in Fig. 5. As shown in FIG. 5-1, the front-end IPU 110 generates a signature 372 upon receipt of an optical image 502. As discussed herein, the front-end IPU 110 may apply an algorithm, such as ahash algorithm or checksum algorithm, to the pixels of the optical image 502. The signature “S” 372 corresponds to the pixels of the optical image 502 as discussed herein. The value of the signature 372 is the result of the algorithm applied to the optical image 502.

[0049] Upon generation of the signature “S” 372, the front-end IPU 110 stores the signature “S” 372 in the secure portion of memory 370. The signature “S” 372 in the secure portion of memory 370 may only be accessed by certified IPUs 1 10, 310 of an SoC 104. The front-end IPU 110 also sets a flag 374 as being true “T” within the secure portion of memory' 370. A flag 374 set as “T” indicates that the optical image 502 remains unmodified by artificial intelligence, machine learning, or the like. Since the front-end IPU 110 received the optical image 502 directly from a sensor 140, the front-end IPU 110 can set the flag 374 as ‘T’.

[0050] The optical image 502 is sent to the first IPU 310-1 in the image processing pipeline 120 for processing of the optical image 502. Upon receipt of the optical image 502, the first IPU 310-1 checks the flag 374 in the secure portion of memory 370. If the flag 374 is set as “T", the first IPU 310-1 will compare the optical image 502 to the signature "S ’ 372 stored in the secure portion of memory 370. This is done by applying an algorithm, such as a hash algorithm or checksum algorithm, to the pixels of the optical image 502 to produce a result (i.e., a computed signature) and comparing the result to the signature “S” 372 stored in the secure portion of memory 370. If the result matches the signature “S” 372. the optical image 502 remains unmodified by artificial intelligence and the first IPU 310-1 may proceed to applying a process to the optical image 502. As discussed herein, the first IPU 310-1 will apply a process that modifies, or refines, the optical image 502 but without the use of artificial intelligence. For example, the first IPU 310-1 will not add a semantic object to the optical image 502 and will not delete a semantic object from the optical image 502. Instead, the process applied to the optical image 502 by the first IPU 310-1 may refine the optical image 502, such as by modifying ahue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like of the optical image 502.

[0051] With reference to Fig. 5-2, the first IPU 310-1 in the image processing pipeline 120 will generate a signature "‘SI” 372-1 for the optical image 502. The signature “SI” 372-1 will be generated, or created, by applying the algorithm to the pixels of the optical image 502 with the result (i.e., a computed signature) being the signature “SI” 372-1. The signature “SI” 372-1 of the optical image 502 may not be identical to the previous signature “S” 372 of the optical image 502 due to the individual process applied to the optical image 502 by the first IPU 310-1.

[0052] The first IPU 310-1 in the image processing pipeline 120 now stores the signature “SI” 372-1 in a current instance of the secure portion of memory 370-1. The past instance of the secure portion of memory 370 is shown in dashes for illustrative purposes. The first IPU 310-1 does not change the flag 374 in the secure portion of memory 370-1 since the comparison of theoptical image 502 to the signature “S” 372 indicated that the optical image 502 remains unmodified by artificial intelligence.

[0053] The optical image 502 is sent to the second IPU 310-2 in the image processing pipeline 120 for processing of the optical image 502. Upon receipt of the optical image 502, the second IPU 310-2 checks the flag 374 in the secure portion of memory 370-1. If the flag 374 is set as “T”, the second IPU 310-2 will compare the optical image 502 to the signature “SI” 372-1 also stored in the secure portion of memory 370-1. This is done by applying the algorithm, such as a hash algorithm or checksum algorithm, to the pixels of the optical image 502 and comparing the result (i.e., a computed signature) to the signature “SI” 372-1 stored in the secure portion of memory 370-1. If the result matches the signature “SI” 372-1, the optical image 502 remains unmodified by artificial intelligence and the second IPU 310-2 may proceed to applying a process to the optical image 502. Likewise, if the result matches the signature “SI” 372-1, the optical image 502 remains unmodified by an intermediate non-certified IPU. As discussed herein, the second IPU 310-2 will apply a process that modifies the optical image 502 but without the use of artificial intelligence. For example, the second IPU 310-2 will not add a semantic object to the optical image 502 and will not delete a semantic object from the optical image 502. Instead, the process applied to the optical image 502 by the second IPU 310-2 may modify a property of the optical image 502, such as modifying a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like of the optical image 502.

[0054] With reference to Fig. 5-3, the second IPU 310-2 in the image processing pipeline 120 will generate a signature “S2” 372-2 for the optical image 502. The signature “S2” 372-2 will be generated, or created, by applying the algorithm to the pixels of the optical image 502 with the result being the signature “S2” 372-2. The signature “S2” 372-2 of the optical image 502 may not be identical to the previous signature “SI” 372-1 of the optical image 502 due to the individual processing of the optical image 502 by the second IPU 310-2.

[0055] The second IPU 310-2 in the image processing pipeline 120 now stores the signature “S2” 372-2 in a current instance of the secure portion of memory 370-2. The past instances of the secure portion of memory 370, 370-1 are shown in dashes for illustrative purposes. The second IPU 310-2 does not change the flag 374 in the secure portion of memory 370-2 since the comparison of the optical image 502 to the signature “SI” 372-1 indicated that the optical image 502 remains unmodified by artificial intelligence.

[0056] The optical image 502 is sent to the third IPU 310-3 in the image processing pipeline 120 for processing of the optical image 502. Upon receipt of the optical image 502, the third IPU 310-3 checks the flag 374 in the secure portion of memory 370-2. If the flag 374 is set as “T”, the third IPU 310-3 will compare the optical image 502 to the signature “S2” 372-2 storedin the secure portion of memory 370-2. This is done by applying the algorithm to the pixels of the optical image 502 and comparing the result (i.e., a computed signature) to the signature “S2” 372-2 stored in the secure portion of memoi)' 370-2. If the result matches the signature “S2” 372- 2, the optical image 502 remains unmodified with artificial intelligence and the third IPU 310-3 may proceed to applying a process to the optical image 502. As discussed herein, the third IPU 310- will apply a process that modifies, or refines, the optical image 502 but without the use of artificial intelligence. For example, the third IPU 310-3 will not add a semantic object to the optical image 502 and will not delete a semantic object from the optical image 502. Instead, the process applied to the optical image 502 by the third IPU 310-3 may modify a property of the optical image 502, such as modifying a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like of the optical image 502.

[0057] With reference to Fig. 5-4, the third IPU 310-3 in the image processing pipeline 120 will generate a signature “S3” 372-3 for the optical image 502. The signature “S3” 372-3 will be generated, or created, by applying the algorithm to the pixels of the optical image 502 with the result being the signature “S3” 372-3. The signature “S3” 372-3 of the optical image 502 may not be identical to the previous signature “S2” 372-2 of the optical image 502 due to the individual processing of the optical image 502 by the third IPU 310-3.

[0058] The third IPU 310-3 in the image processing pipeline 120 now stores the signature “S3” 372-3 in a current instance of the secure portion of memory 370-3. The past instances of the secure portion of memory 370, 370-1, 370-2 are shown in dashes for illustrative purposes. The third IPU 310-3 does not change the flag 374 in the secure portion of memory 370-3 since the comparison of the optical image 502 to the signature “S2” 372-2 indicated that the optical image 502 had not been modified with artificial intelligence. The signature “S3” 372-3 may be used by a subsequent IPU, generally 310, in the image processing pipeline 120, if one exists, to confirm that the optical image 502 remains unmodified by artificial intelligence.

[0059] Fig. 6 illustrates an example system 600. The system 600 includes a front-end IPU 110, a secure portion of memory 370, 370-1. 370-2, 370-3, and an image processing pipeline 120. The image processing pipeline 120 includes a first IPU 310-1, a second IPU 310-2, and a third IPU 310-3. The number of IPUs, 310 generally, within the image processing pipeline 120 could be more or less than the three IPUs 310-1, 310-2, 310-3 shown in Fig. 5 for illustrative purposes. The front-end IPU 110 received an optical image 502 from one or more sensors 140. The system 600 illustrated in Fig. 6 indicates the processing of an image that has been modified by artificial intelligence at some point during the image processing.

[0060] As discussed herein, the front-end IPU 110 generated a signature 372 upon receipt of the optical image 502 by application of an algorithm to the pixels of the optical image 502.Upon generation of the signature “S” 372, the front-end IPU 1 10 stored the signature “S” 372 and set a flag 374 as being true “T” within the secure portion of memory 370, which is shown in dashes as it is not the current instance of the secure portion of memory 370-3. The optical image 502 was sent to the first IPU 310-1 in the image processing pipeline 120 for processing. Upon receipt of the optical image 502. the first IPU 310-1 checked the flag 374 in the secure portion of memory 370. Since the flag 374 was set as “T”, the first IPU 310-1 compared the optical image 502 to the signature “S” 372 stored in the secure portion of memory' 370. The comparison of the pixels of the optical image 502 matched the signature “S” 372 and the first IPU 310-1 proceeded to apply a process to the optical image 502 that refined, or modified, the optical image 502 without the use of artificial intelligence.

[0061] After processing the optical image 502, the first IPU 310-1 in the image processing pipeline 120 generates a signature “SI” 372-1 for the optical image 502. As discussed herein, the signature “SI” 372-1 of the optical image 502 may not be identical to the previous signature “S” 372 of the optical image 502 due to the individual process applied to the optical image 502 by the first IPU 310-1. After generating the signature “SI” 372-1, the first IPU 310-1 stored the signature “SI” 372-1 in the secure portion of memory' 370-1, which is shown in dashes as it is not the current instance of the secure portion of memory' 370-3. The first IPU 310-1 did not change the flag 374 in the secure portion of memory 370-1 since the comparison of the optical image 502 to the signature “S” 372 indicated that the optical image 502 remained unmodified by artificial intelligence.

[0062] After the signature “SI” 372-1 was stored in the secure portion of memory' 370-1, the optical image 502 was sent to the second IPU 310-2 in the image processing pipeline 120 for processing of the optical image 502. Upon receipt of the optical image 502, the second IPU 310- 2 checked the flag 374 in the secure portion of memory 370-1. Since the flag 374 in the secure portion of memory' 370-1 was set as “T”, the second IPU 310-2 compared the optical image 502 to the signature “SI” 372-1 also stored in the secure portion of memory 370-1. This was done by applying the algorithm to the pixels of the received optical image 502 and comparing the result (i.e., a computed signature) to the signature “SI” 372-1. In this instance, the result of the application of the algorithm to the pixels of the optical image 502 did not match the signature “SI” 372-1, which indicates that the optical image 502 no longer remained unmodified by artificial intelligence.

[0063] In one implementation, the image processing pipeline 120 may include a noncertified IPU. A user may request to modify an optical image using the non-certified IPU within the image processing pipeline 120. For example, the non-certified IPU may be used after processing of the optical image by the first IPU 310-1 and before processing of the optical imageby the second IPU 310-2. The non-certified IPU may be used to remove a semantic object from the optical image or add a semantic object to optical image. In this instance, the result of the application of the algorithm to the pixels of the optical image 502 failing to match the signature “SI” 372-1 may indicate that the optical image 502 has been modified by an intermediate noncertified IPU between the first IPU 310-1 and the second IPU 310-2. In one implementation, the mage processing pipeline 120 may include a non-certified IPU. A user may request to modify an optical image with the non-certified IPU.

[0064] The second IPU 310-2 then set the flag 374 in the secure memory 370-2 as false “F”. The secure memory 370-2 is shown in dashes as it is not the current instance of secure memory 370-3. The second IPU 310-2 then proceeded to apply an individual process to the optical image 502 to refine or modify the optical image 502. As discussed herein, the second IPU 310-2 applied a process that modified the optical image 502 but without the use of artificial intelligence. After processing the optical image 502, the second IPU-310-2 did not generate an updated signature 372 since the prior comparison indicated that the optical image 502 no longer remained unmodified by artificial intelligence.

[0065] The optical image 502 was sent to the third IPU 310-3 in the image processing pipeline 120 for processing of the optical image 502. Upon receipt of the optical image 502, the third IPU 310-3 checked the flag 374 in the secure portion of memory 370-2. Since the flag 374 was set as “F”, the third IPU 310-3 did not compare the optical image 502 to an updated signature 372. The flag 374 being set as “F” in the secure portion of memory 370-2 indicated to the third IPU 310-3 that the optical image 502 no longer remained unmodified by artificial intelligence. The third IPU 310-3 then proceeded to apply a process to the optical image 502. As discussed herein, the third IPU 310-3 applied a process that modified, or refined, the optical image 502 but without the use of artificial intelligence.

[0066] After processing the optical image 502, the third IPU 310-3 in the image processing pipeline 120 does not generate an updated signature “S” 372 for the optical image 502. This is because the flag 374 already indicated that the optical image 502 no longer remained unmodified by artificial intelligence. The flag 374 remains set as “F” in the current instance of the secure portion of memory 370-3. The past instances of the secure portion of memory 370, 370-1, 370-2 are shown in dashes for illustrative purposes. The flag 374 set to “F” may be used by subsequent IPUs in the image processing pipeline 120 to indicate that the optical image 502 has been modified by artificial intelligence. This indication may also be used in the metadata of the optical image 502.Example Methods

[0067] Example methods are described below with reference to the flow charts of Figs. 7- 9. Although example method aspects are described separately below, they may be implemented together in any combination or permutation.

[0068] Fig. 7 is a flow chart 700 illustrating an example method for determining whether an optical image has been modified by artificial intelligence. The flow chart 700 includes five blocks 702-710. The operations of the example processes can be performed by electronic circuit components as described herein. For example, the operations may be performed by at least one of a first image processing unit and a second image processing unit. The first image processing unit may be a front-end IPU 110, and the second image processing unit may be an IPU 310-1 within an image processing pipeline 120.

[0069] At 702, a first image processing unit receives an optical image 502 from a sensor 140. For example, a front-end IPU 110 may receive an optical image 502 from a sensor 140 via a serial interface 250. At 704, the first image processing unit generates a signature 372 for the optical image 502. In one implementation, the first image processing unit may apply an algorithm to pixels of the optical image 502 to generate the signature 372. At 706, the first image processing unit stores the signature 372 in a secure portion of memory' 370. In one instance, the front-end IPU 110 may store the generated signature 372 in the secure portion of memory 370.

[0070] At 708, the optical image 502 is sent to a second image processing unit. The optical image 502 may be received at the second image processing unit directly or indirectly from the first image processing unit. In one implementation, the second image processing unit is an IPU 310 yvithin an image processing pipeline 120. At 710, the second image processing unit 310 compares the signature 372 to the optical image 502 to determine that the optical image 502 is unmodified by artificial intelligence. In one implementation, an IPU 310-1 yvithin the image processing pipeline 120 may compare the optical image 502 to the signature 372 generated by the front-end IPU 110.

[0071] Fig. 8 is a flow chart 800 illustrating an example method for determining whether an optical image has been modified by artificial intelligence. The flow chart 800 includes eight blocks 802-816. The operations of the example processes can be performed by electronic circuit components as described herein. For example, the operations may be performed by at least one of a first image processing unit and a second image processing unit. The first image processing unit may be a front-end IPU 110, and the second image processing unit may be an IPU 310-1 yvithin an image processing pipeline 120.

[0072] At 802, a first image processing unit receives an optical image 502 from a sensor 140. For example, a front-end IPU 110 may receive an optical image 502 from a sensor 140 viaa serial interface 250. At 804, the first image processing unit applies an algorithm to pixels of the optical image 502. In one implementation, a front-end IPU 110 applies a hash or checksum algorithm to the pixels of the optical image 502. At 806, the first image processing unit generates a signature 372 for the optical image 502. In one implementation, the signature 372 is a value or result of the hash or checksum algorithm applied to the pixels by the front-end IPU 110. At 808, the first image processing unit stores the signature 372 in a secure portion of memory 370. In one instance, the front-end IPU 110 may store the generated signature 372 in the secure portion of memory' 370.

[0073] At 810, the optical image 502 is sent to a second image processing unit. In one implementation, the second image processing unit is an IPU 310-1 within an image processing pipeline 120. At 812, the second image processing unit applies the algorithm to pixels of the optical image 502 to compare the signature 372 to the optical image 502 to determine that the optical image 502 is unmodified by artificial intelligence. In one implementation, the IPU 310-1 within the image processing pipeline 120 applies a checksum or hash algorithm to the pixels of the optical image 502 and compares the result to the signature 372 generated by the front-end IPU 110.

[0074] At 814, the second image processing unit processes the optical image 502 to modify the optical image 502 without adding a semantic object to the optical image 502 and without deleting a semantic object from the optical image 502. In one implementation, the IPU 310-1 of the image processing pipeline 120 applies a process to the optical image 502 to modify a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, a tint, or the like. At 816, the second image processing unit updates the signature 372 to include processing of the optical image 502. In one implementation, the processing of the optical image 502 by the IPU 310-1 has modified the pixels of the optical image 502. The IPU 310-1 updates the signature 372 by applying an algorithm to the modified pixels of the optical image 502.

[0075] Fig. 9 is a flow chart 900 illustrating an example method for determining whether an optical image has been modified by artificial intelligence. The flow chart 900 includes four blocks 902-908. The operations of the example processes can be performed by electronic circuit components as described herein. For example, the operations may be performed by at least one of a first image processing unit and a second image processing unit. The first image processing unit may be a front-end IPU 110. and the second image processing unit may be an IPU 310-1 within an image processing pipeline 120.

[0076] At 902, a first image processing unit creates a flag 374 for an optical image 502 and sets the flag 374 as being true “T”, indicating that the optical image 502 is unmodified by artificial intelligence. For example, a front-end IPU 110 may create a flag 374 for an optical image502 from a sensor 140. At 904, the first image processing unit stores the flag 374 in a secure portion of memon 370. In one implementation, the front-end IPU 110 stores the flag 374 in a secure portion of memory 370.

[0077] At 906, a second image processing unit reviews the flag 374 prior to comparing a signature 372 to the optical image 502. In one implementation, an IPU 310-1 in an image processing pipeline 120 reviews the flag 374 in the secure portion of memory 370 prior to comparing the signature 372 to the optical image 502. At 908, the second image processing unit updates the flag 374 to false “F” if comparing the signature 372 to the optical image 502 determines that the optical image 502 is no longer unmodified by artificial intelligence. In one instance, an IPU 310-1 in the image processing pipeline 120 applies an algorithm to the pixels of the optical image 502 and compares the result to the signature 372. In the instance that the result and the signature 372 do not match, the IPU 310-1 updates the flag 374 to “F” to indicate that the optical image 502 is no longer unmodified by artificial intelligence.

[0078] For the methods descnbed herein and the associated flow chart(s) and flow diagram(s), the orders in which operations are shown and / or described are not intended to be construed as a limitation. Instead, any number or combination of the described method operations can be combined in any order to implement a given method or an alternative method, including by combining operations from the flow chart or diagram and the earlier-described schemes and techniques into one or more methods. Operations may also be omitted from or added to the described methods. Further, described operations can be implemented in fully or partially overlapping manners.Example Aspects and Implementations of Optical Image Processing

[0079] In the following, some example aspects and implementations are described:

[0080] Example aspect 1. An apparatus comprising: a sensor configured to capture an optical image; and a system-on-chip (SoC) connected to the sensor, the SoC including: a memory including a secure portion; a first image processing unit connected to the sensor, the first image processing unit configured to generate a signature for the optical image captured by the sensor and store the signature in the secure portion of the memory; and a second image processing configured to receive the optical image from the first image processing unit and compare the optical image to the signature to determine that the optical image is unmodified by artificial intelligence.

[0081] Example aspect 2. The apparatus of example aspect 1, wherein the optical image includes pixels, and the first image processing unit is configured to apply an algorithm to the pixels of the optical image to generate the signature.

[0082] Example aspect 3. The apparatus of example aspect 1 or example aspect 2, wherein the algorithm comprises a hash algorithm, and the signature comprises a hash value.

[0083] Example aspect 4. The apparatus of any one of example aspects 1 to 3, wherein the second image processing unit is configured to apply the hash algorithm to the optical image, as received from the first image processing unit, to determine a computed hash value and compare the computed hash value to the signature to determine that the optical image is unmodified by artificial intelligence.

[0084] Example aspect 5. The apparatus of any of one of example aspects 2 to 4, wherein the algorithm comprises a checksum algorithm, and the signature comprises a checksum value.

[0085] Example aspect 6. The apparatus of any one of example aspects 2 to 5, wherein the second image processing unit is configured to apply the checksum algorithm to the optical image, received from the first image processing unit, to determine a computed checksum value and compare the computed checksum value to the signature to determine that the optical image is unmodified by artificial intelligence.

[0086] Example aspect 7. The apparatus of any one of example aspects 2 to 6, wherein the first image processing unit comprises a front-end image processing unit and the second image processing unit comprises one of multiple image processing units within an image processing pipeline of the SoC.

[0087] Example aspect 8. The apparatus of any one of example aspects 2 to 7, wherein the front-end image processing unit and the multiple image processing units within the image processing pipeline comprise image processing units associated with an indication that image processing is performed without using artificial intelligence.

[0088] Example aspect 9. The apparatus of any one of example aspects 2 to 8, wherein each image processing unit within the image processing pipeline is configured to receive the optical image from a previous image processing unit, apply the algorithm to the pixels of the optical image to produce a computed signature, and compare the computed signature to a signature stored by the previous image processing unit to determine that the optical image is unmodified by artificial intelligence.

[0089] Example aspect 10. The apparatus of any one of example aspects 2 to 9, wherein each image processing unit within the image processing pipeline is configured to apply an individual process to modify the optical image and update the signature in the secure portion of the memory to reflect modification by the individual process applied to the optical image.

[0090] Example aspect 11. The apparatus of any one of example aspects 2 to 10, wherein the individual process applied to the optical image modifies a hue, a brightness, a contrast, a saturation, a scale, a tone, a resolution, or a tint of the optical image.

[0091] Example aspect 12. The apparatus of any one of example aspects 2 to 1 1, wherein the individual process of each image processing unit within the image processing pipeline is configured to modify the optical image without adding a semantic object to the optical image and without deleting a semantic object from the optical image.

[0092] Example aspect 13. The apparatus of any one of example aspects 2 to 12. wherein the front-end image processing unit is configured to create a flag for the optical image and to store the flag in the secure portion of the memory.

[0093] Example aspect 14. The apparatus of any one of example aspects 2 to 13, wherein the front-end image processing unit is configured to set the flag as true for the optical image received from the sensor.

[0094] Example aspect 15. The apparatus of any one of example aspects 2 to 14, herein the front-end image processing unit is connected to the sensor via a serial interface.

[0095] Example aspect 16. The apparatus of any one of example aspects 2 to 15, wherein each image processing unit within the image processing pipeline is configured to review the flag upon receipt of the optical image.

[0096] Example aspect 17. The apparatus of any one of example aspects 2 to 16, wherein if the flag is set as false, each image processing unit within the image processing pipeline is configured to omit applying the algorithm to the pixels of the optical image and comparing the signature of the optical image.

[0097] Example aspect 18. The apparatus of any one of example aspects 2 to 17, w herein each image processing unit within the image processing pipeline is configured to set the flag to false responsive to application of the algorithm to the pixels failing to match with the signature.

[0098] Example aspect 19. The apparatus of any one of example aspects 2 to 18, wherein the front-end image processing unit is configured to write a key chain in the secure portion of memory and write a pointer in the secure portion of memory7, the pointer indicating where a subsequent image processing unit is to append the key chain.

[0099] Example aspect 20. The apparatus of any one of example aspects 2 to 19, wherein the key chain indicates each individual image processing unit that has processed the optical image.

[0100] Example aspect 21. The apparatus of any one of example aspects 2 to 20, w herein each image processing unit within the image processing pipeline is configured to append to the key chain an identification of each image processing unit after the individual process has been applied to the optical image by each image processing unit.

[0101] Example aspect 22. The apparatus of any one of example aspects 2 to 21, w herein each image processing unit within the image processing pipeline is configured to update thepointer in the secure portion of memory and to append an identity of the image processing unit to the key chain.

[0102] Example aspect 23. A method comprising: receiving, at a first image processing unit, an optical image from a sensor; generating a signature for the optical image; storing, in a secure portion of a memory’, the signature; sending the optical image to a second image processing unit; and comparing, by the second image processing unit, the signature to the optical image to determine that the optical image is unmodified by artificial intelligence.

[0103] Example aspect 24. The method of example aspect 23, wherein generating a signature for the optical image further comprises applying an algorithm to pixels of the optical image, and comparing the signature to the optical image further comprises applying the algorithm to pixels of the optical image to produce a computed signature and comparing the computed signature to the stored signature.

[0104] Example aspect 25. The method of example aspect 23 or example aspect 24, further comprising: processing, by the second image processing unit, the optical image, the processing of the optical image includes modifying the optical image without adding a semantic object to the optical image and without deleting a semantic object from the optical image; and updating the signature stored in the secure portion of the memory to account for image changes resulting from the processing of the optical image by the second image processing unit.

[0105] Example aspect 26. The method of any one of example aspects 23 to 25, further comprising: creating, by the first image processing unit, a flag for the optical image, setting the flag as being true to indicate that the optical image is unmodified by artificial intelligence; and storing the flag in the secure portion of the memory.

[0106] Example aspect 27. The method of any one of example aspects 23 to 26, further comprising: reviewing, by' the second image processing unit, the flag prior to the comparing of the signature to the optical image; and updating, by the second image processing unit, the flag as being false if the comparing of the signature to the optical image is unable to determine that the optical image is unmodified by’ artificial intelligence.

[0107] Example aspect 28. The method of any one of example aspects 23 to 27, further comprising sending the optical image to a third image processing unit.

[0108] Example aspect 29. The method of any one of example aspects 23 to 28, further comprising reviewing the flag, by the third image processing unit and, if the flag is false, further comprising processing the optical image and sending the optical image to a fourth image processing unit.

[0109] Example aspect 30. The method of any one of example aspects 23 to 29, further comprising reviewing the flag, by the third image processing unit, and if the flag is true, furthercomprising determining that the optical image is unmodified by artificial intelligence by applying the algorithm to pixels of the optical image and comparing a result of the application of the algorithm to the signature.

[0110] Example aspect 31. The method of any one of example aspects 23 to 30, wherein if it is determined that the optical image is no longer unmodified by artificial intelligence, the method further comprising updating the flag to false and processing, by the third image processing unit, the optical image.

[0111] Example aspect 32. The method of any one of example aspects 23 to 31, wherein if it is determined that the optical image is unmodified by artificial intelligence, the method further comprising: processing, by the third image processing unit, the optical image; updating the signature to include processing of the optical image by the third image processing unit; and storing the updated signature in the secure portion of the memory.

[0112] Example aspect 33. The method of any one of example aspects 23 to 32, further comprising: writing a key chain in the secure portion of the memory, the key chain indicating each image processing unit that has processed the optical image; and writing a pointer in the secure portion of the memory. the pointer indicating where to subsequently append the key chain.

[0113] Example aspect 34. The method of any one of example aspects 23 to 33, further comprising: appending the key chain, after processing is applied to the optical image, to include an identification of the image processing unit that processed the optical image; and updating the pointer each time the key chain is appended.

[0114] Example aspect 35. A system comprising: a sensor configured to capture an optical image; a system-on-chip (SoC) connected to the sensor; a memory’ on the SoC, the memory’ including a secure portion; a front-end image processing unit on the SoC, the front-end image processing unit connected to the sensor, the front-end image processing unit configured to generate a signature for the optical image captured by the sensor, create a flag to indicate that the optical image is unmodified by artificial intelligence, and store the signature and the flag in the secure portion of the memory; and an image processing pipeline on the SOC, the image processing pipeline connected to the front-end image processing unit and including multiple image processing units, each image processing unit of the image processing pipeline configured to receive the optical image, to read the flag, and to compare the optical image to the signature to determine that the optical image is unmodified by artificial intelligence.

[0115] Example aspect 36. The system of example aspect 35, further comprising an image codec connected to the image processing pipeline, wherein the image codec is configured to create a data stream that includes the optical image.

[0116] Example aspect 37. The system of example aspect 35 or example aspect 36, further comprising metadata in the data stream, the metadata being associated with the optical image, wherein the metadata indicates that the optical image has been unmodified by artificial intelligence.

[0117] Example aspect 38. The system of any one of example aspects 35 to 37, wherein the front-end image processing unit is configured to apply an algorithm to pixels of the optical image to generate the signature and each image processing unit of the image processing pipeline is configured to apply the algorithm to pixels of the optical image and compare a result of the application of the algorithm to the signature to determine that the optical image has been unmodified by artificial intelligence.

[0118] Example aspect 39. The system of any one of example aspects 35 to 38, wherein each image processing unit of the image processing pipeline is configured to apply an individual process to the optical image and update the signature to include the individual process applied to the optical image.

[0119] Example aspect 40. The system of any one of example aspects 35 to 39, wherein the front-end image processing unit and each image processing unit of the image processing pipeline are associated with an indication that image processing is perfonned without using artificial intelligence.

[0120] Unless context dictates otherw ise, use herein of the word '‘or” may be considered use of an “inclusive or,” or a term that permits inclusion or application of one or more items that are linked by the word “or” (e.g., a phrase “A or B” may be interpreted as permitting just “A,” as permitting just “B,” or as permitting both “A” and “B”). Also, as used herein, a phrase referring to “at least one of’ a list of items refers to any combination of those items, including single members. For instance, “at least one of a, b, or c” can cover a, b, c, a-b, a-c, b-c, and a-b-c, as well as any combination with multiples of the same element (e.g., a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, and c-c-c, or any other ordering of a, b, and c). Further, items represented in the accompanying figures and terms discussed herein may be indicative of one or more items or terms, and thus reference may be made interchangeably to single or plural forms of the items and terms in this w ritten description.

[0121] Although implementations for optical image processing have been described in language specific to certain features and / or methods, the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as example implementations for optical image processing.

Claims

CLAIMSWhat is claimed is:

1. An apparatus comprising: a sensor configured to capture an optical image; a system-on-chip (SoC) connected to the sensor, the SoC including: a memory' including a secure portion; a first image processing unit connected to the sensor, the first image processing unit configured to: generate a signature for the optical image captured by the sensor; and store the signature in the secure portion of the memory'; and a second image processing unit configured to: receive the optical image from the first image processing unit; and compare the optical image to the signature to determine that the optical image is unmodified by artificial intelligence.

2. The apparatus of claim 1. wherein: the optical image includes pixels; and the first image processing unit is configured to apply an algorithm to the pixels of the optical image to generate the signature.

3. The apparatus of claim 2. wherein: the algorithm comprises a hash algorithm or a checksum algorithm; and the signature comprises a hash value or a checksum value.

4. The apparatus of claim 3, wherein the second image processing unit is configured to: apply the hash algorithm to the optical image, as received from the first image processing unit, to determine a computed hash value and compare the computed hash value to the signature to determine that the optical image is unmodified by artificial intelligence; or apply the checksum algorithm to the optical image, as received from the first image processing unit, to determine a computed checksum value and compare the computed checksum value to the signature to determine that the optical image is unmodified by artificial intelligence.

5. The apparatus of claims 2, 3, or 4, wherein: the first image processing unit comprises a front-end image processing unit; and the second image processing unit comprises one of multiple image processing units within an image processing pipeline of the SoC.

6. The apparatus of claim 5, wherein: the front-end image processing unit and the multiple image processing units within the image processing pipeline comprise image processing units associated with an indication that image processing is perforated without using artificial intelligence.

7. The apparatus of claims 5 or 6, wherein each image processing unit within the image processing pipeline is configured to: receive the optical image from a previous image processing unit; apply the algorithm to the pixels of the optical image to produce a computed signature; and compare the computed signature to a signature stored by the previous image processing unit to determine that the optical image is unmodified by artificial intelligence.

8. The apparatus of claim 7, wherein: each image processing unit within the image processing pipeline is configured to: apply an individual process to modify the optical image; and update the signature in the secure portion of the memory to reflect modification by the individual process applied to the optical image; and the individual process of each image processing unit within the image processing pipeline is configured to modify the optical image without adding a semantic object to the optical image and without deleting a semantic object from the optical image.

9. The apparatus of claims 5 to 8, wherein the front-end image processing unit is configured to: create a flag for the optical image; store the flag in the secure portion of the memory; and set the flag as true for the optical image received from the sensor.

10. The apparatus of claim 9, wherein each image processing unit within the image processing pipeline is configured to: review the flag upon receipt of the optical image; and if the flag is set as false, each image processing unit wi thin the image processing pipeline is configured to omit: applying the algorithm to the pixels of the optical image: and comparing the signature of the optical image.

11. The apparatus of claim 9 or 10. wherein each image processing unit within the image processing pipeline is configured to set the flag to false responsive to application of the algorithm to the pixels failing to match with the signature.

12. A method comprising: receiving, at a first image processing unit, an optical image from a sensor; generating a signature for the optical image; storing, in a secure portion of a memory, the signature; sending the optical image to a second image processing unit; and comparing, by the second image processing unit, the signature to the optical image to determine that the optical image is unmodified by artificial intelligence.

13. The method of claim 12, wherein: generating a signature for the optical image further comprises applying an algorithm to pixels of the optical image; and comparing the signature to the optical image further comprises applying the algorithm to pixels of the optical image to produce a computed signature and comparing the computed signature to the stored signature.

14. The method of claim 12 or 13, further comprising: processing, by the second image processing unit, the optical image, the processing of the optical image including modifying the optical image without adding a semantic object to the optical image and without deleting a semantic object from the optical image; and updating the signature stored in the secure portion of the memory to account for image changes resulting from the processing of the optical image by the second image processing unit.

15. The method of claim 12, 13, or 14, further comprising: creating, by the first image processing unit, a flag for the optical image; setting the flag as being true to indicate that the optical image is unmodified by artificial intelligence; storing the flag in the secure portion of the memory; reviewing, by the second image processing unit, the flag prior to the comparing of the signature to the optical image; and updating, by the second image processing unit, the flag as being false if the comparing of the signature to the optical image is unable to determine that the optical image is unmodified by artificial intelligence.

Citation Information

Patent Citations

  • Image signal provenance attestation

    US20210279469A1

  • Method of hashing a video stream

    US20230261879A1

  • Apparatus and method for performing image authentication

    US20240029460A1

  • On-device image authentication

    WO2023038617A1