IP Library › Granted Patent US 12,288,373
Granted Patent B2
US 12,288,373 · App. 17/882,738 · Granted Apr 29, 2025

Method of processing image, electronic device, storage medium, and program product

Inventors: Zihao Liang (Beijing, CN); Jian Ouyang (Beijing, CN); Wei Qi (Beijing, CN); Jing Wang (Beijing, CN)
Assignee: KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
G06V10/44G06T3/4038
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,288,373
App. No.
17/882,738
Granted
Apr 29, 2025
Kind
B2
Abstract

The present disclosure provides a method of processing an image, an electronic device, and a storage medium, which may be used in a field of artificial intelligence, especially in a field of image processing, etc. The method includes: acquiring an input image containing a plurality of rows of pixels; performing, by using a plurality of dedicated processing units, a pixel extraction in parallel on each row of pixels of the plurality of rows of pixels in the input image, so as to obtain row data for each row of pixels; and stitching the row data for each row of pixels, so as to obtain an output image.

Claims (53)

1. A method of processing an image, comprising:

acquiring an input image containing a plurality of rows of pixels;

performing, by using a plurality of dedicated processing units, a pixel extraction in parallel on each row of pixels of the plurality of rows of pixels in the input image, obtaining row data for each row of pixels; and

stitching the row data for each row of pixels, obtaining an output image, wherein

the input image contains at least one channel, and each of the at least one channel comprises a plurality of rows of pixels;

the performing a pixel extraction in parallel comprises:

padding on an edge of at least one side of the input image, obtaining a padded input image; and

performing, by using the plurality of dedicated processing units, the pixel extraction in parallel on each row of pixels of the plurality of rows of pixels in each channel of the padded input image, obtaining row processing data for each row of pixels in the channel; and

the stitching row data for each row of pixels comprises:

stitching the row processing data for each row of pixels in the channel, obtaining channel data for the channel; and

stitching the channel data for each channel, obtaining the output image.

2. The method of claim 1 , wherein the performing a pixel extraction in parallel further comprises:

determining, based on a width of a convolution kernel used in performing the pixel extraction, a number of pixels being extracted each time the pixel extraction is performed on each row of pixels by each of the plurality of dedicated processing units.

3. The method of claim 1 , wherein the performing a pixel extraction in parallel further comprises:

determining, based on a stride in a width direction of a convolution kernel used in performing the pixel extraction, a pixel being extracted each time the pixel extraction is performed on each row of pixels by each of the plurality of dedicated processing units.

4. The method of claim 1 , wherein the performing a pixel extraction in parallel further comprises:

determining, based on a stride in a height direction of a convolution kernel used in performing the pixel extraction, an order of performing the pixel extraction on the plurality of rows of pixels by each of the plurality of dedicated processing units.

5. An electronic device, comprising:

at least one processor; and

a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions, when executed by the at least one processor, cause the at least one processor to implement operations of processing an image, comprising:

acquiring an input image containing a plurality of rows of pixels;

performing, by using a plurality of dedicated processing units, a pixel extraction in parallel on each row of pixels of the plurality of rows of pixels in the input image, obtaining row data for each row of pixels; and

stitching the row data for each row of pixels, obtaining an output image, wherein

the input image contains at least one channel, and each of the at least one channel comprises a plurality of rows of pixels;

the performing a pixel extraction in parallel comprises:

padding on an edge of at least one side of the input image, obtaining a padded input image; and

performing, by using the plurality of dedicated processing units, the pixel extraction in parallel on each row of pixels of the plurality of rows of pixels in each channel of the padded input image, obtaining row processing data for each row of pixels in the channel; and

the stitching row data for each row of pixels comprises:

stitching the row processing data for each row of pixels in the channel, obtaining channel data for the channel; and

stitching the channel data for each channel, obtaining the output image.

6. The electronic device of claim 5 , wherein the instructions, when executed by the at least one processor, cause the at least one processor further to implement operation of:

determining, based on a width of a convolution kernel used in performing the pixel extraction, a number of pixels being extracted each time the pixel extraction is performed on each row of pixels by each of the plurality of dedicated processing units.

7. The electronic device of claim 5 , wherein the instructions, when executed by the at least one processor, cause the at least one processor further to implement operation of:

determining, based on a stride in a width direction of a convolution kernel used in performing the pixel extraction, a pixel being extracted each time the pixel extraction is performed on each row of pixels by each of the plurality of dedicated processing units.

8. The electronic device of claim 5 , wherein the instructions, when executed by the at least one processor, cause the at least one processor further to implement operation of:

determining, based on a stride in a height direction of a convolution kernel used in performing the pixel extraction, an order of performing the pixel extraction on the plurality of rows of pixels by each of the plurality of dedicated processing units.

9. A non-transitory computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions allow a computer to implement operations of processing an image, comprising:

acquiring an input image containing a plurality of rows of pixels;

performing, by using a plurality of dedicated processing units, a pixel extraction in parallel on each row of pixels of the plurality of rows of pixels in the input image, obtaining row data for each row of pixels; and

stitching the row data for each row of pixels, obtaining an output image, wherein

the input image contains at least one channel, and each of the at least one channel comprises a plurality of rows of pixels;

the performing a pixel extraction in parallel comprises:

padding on an edge of at least one side of the input image, obtaining a padded input image; and

performing, by using the plurality of dedicated processing units, the pixel extraction in parallel on each row of pixels of the plurality of rows of pixels in each channel of the padded input image, obtaining row processing data for each row of pixels in the channel; and

the stitching row data for each row of pixels comprises:

stitching the row processing data for each row of pixels in the channel, obtaining channel data for the channel; and

stitching the channel data for each channel, obtaining the output image.

10. The storage medium of claim 9 , wherein the computer instructions allow the computer further to implement operation of:

determining, based on a width of a convolution kernel used in performing the pixel extraction, a number of pixels being extracted each time the pixel extraction is performed on each row of pixels by each of the plurality of dedicated processing units.

11. The storage medium of claim 9 , wherein the computer instructions allow the computer further to implement operation of:

determining, based on a stride in a width direction of a convolution kernel used in performing the pixel extraction, a pixel being extracted each time the pixel extraction is performed on each row of pixels by each of the plurality of dedicated processing units.

12. The storage medium of claim 9 , wherein the computer instructions allow the computer further to implement operation of:

determining, based on a stride in a height direction of a convolution kernel used in performing the pixel extraction, an order of performing the pixel extraction on the plurality of rows of pixels by each of the plurality of dedicated processing units.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2022
From: LIANG, ZIHAO; OUYANG, JIAN; QI, WEI; WANG, JING
To: KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
Reel/Frame 060742/0263 →
Priority Claims (1)
CN 202111161724.0 · Sep 30, 2021 · national
Continuity (1)
Related Publication 20220383611A1 · Dec 1, 2022
References Cited (17)
US 12094182B2 · Georgescu · 2024 [cited by examiner]
US 20150086134A1 · Hameed et al. · 2015 [cited by applicant]
US 20200302215A1 · Sombatsiri · 2020 [cited by applicant]
US 20200349420A1 · Ovsiannikov · 2020 [cited by examiner]
US 20200349672A1 · Cochran · 2020 [cited by examiner]
US 20210037168A1 · Mathur · 2021 [cited by examiner]
US 20220084660A1 · Georgescu · 2022 [cited by examiner]
US 20220350514A1 · Dazzi · 2022 [cited by examiner]
US 20240160689A1 · Sun · 2024 [cited by examiner]
CN 108681984A · 2018 [cited by applicant]
CN 110555802A · 2019 [cited by applicant]
WO WO2019109795A1 · 2019 [cited by examiner]
WO WO2024027039A1 · 2024 [cited by examiner]
Official Communication issued in corresponding Chinese Patent Application No. 202111161724.0, mailed on Dec. 23, 2024, 7 pages. [cited by applicant]
Gao et al., “A Deep Learning Frame on Embedded Multicore Processors Based on Caffe and Its Parallel Implementation”, Journal of Xi an Jiaotong Univeristy vol. 52 No. 6, Jun. 2018, 7 pages. [cited by applicant]
Zhao, “Research on special heterogeneous accelerator of convolutional neural network based on FPGA”, Shandong Univeristy, Thesis for Master Degree, Jun. 3, 2020, 85 pages. [cited by applicant]
Bose et al., “Fully Embedding Fast Convolutional Networks on Pixel Processor Arrays”, Computer Vision—ECCV 2020, Oct. 2020, pp. 1-16. [cited by applicant]