IP Library Granted Patent US 12,223,654
Granted Patent B1
US 12,223,654 · App. 17/381,109 · Granted Feb 11, 2025

Implementing image modification functions using variable scanning orders

Inventors: Chien Cheng Liu (San Jose, CA); Cheng-Chiang Chen (San Jose, CA); Yunqing Chen (Los Altos, CA)
Assignee: META PLATFORMS, INC.
G06T7/11G06T3/60G06T2207/20021G06T2207/20132
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,223,654
App. No.
17/381,109
Granted
Feb 11, 2025
Kind
B1
Abstract

According to examples, a system for implementing image modification functions via use of variable scanning orders is described. The system may include a processor and a memory storing instructions. The processor, when executing the instructions, may cause the system to partition an image into a plurality of image blocks, identify one or more image blocks of the plurality of image blocks associated with a region of interest (ROI), and scan the one or more image blocks in an image modification order. The processor, when executing the instructions, may then arrange the one or more image blocks according to the image modification order to form a modified image including the region of interest (ROI) and crop the region of interest (ROI) in the modified image to form a new image.

Claims (50)

1. A system, comprising:

a processor;

a memory storing instructions, which when executed by the processor, cause the processor to:

partition an image into a plurality of image blocks;

identify one or more image blocks of the plurality of image blocks associated with a region of interest (ROI), including identifying a remaining portion of an image block and processing the remaining portion of the image block with image blocks in a next row;

scan the one or more image blocks in an image modification order, comprising scanning the one or more of the image blocks in a column from bottom to top and scanning each column of a plurality of columns from left to right;

arrange the one or more image blocks according to the image modification order to form a modified image including the region of interest (ROI), comprising arranging image blocks from each scanned column as rows on top of each other; and

crop the region of interest (ROI) in the modified image to form a new image.

2. The system of claim 1 , wherein the image modification order further comprises a triple function image modification.

3. The system of claim 2 , wherein the triple function image modification comprises:

a first function;

a second function; and

a third function,

wherein the first function is rotation, the second function is horizontal flipping, and the third function is vertical flipping.

4. The system of claim 3 , wherein:

scanning the one or more image blocks further comprises scanning image blocks in a column from top to bottom and scan each column of a plurality of columns from right to left; and

arranging the one or more image blocks further comprises arranging image blocks from each scanned column as rows placed on top of each other.

5. A method for implementing image modification functions via use of variable scanning orders, comprising:

partitioning an image into a plurality of image blocks;

identifying one or more image blocks of the plurality of image blocks associated with a region of interest (ROI), including identifying a remaining portion of an image block and processing the remaining portion of the image block with image blocks in a next row,

scanning the one or more image blocks in an image modification order, comprising scanning the one or more of the image blocks in a row from right to left and scanning each row of a plurality of row from top to bottom; and

arranging the one or more image blocks according to the image modification order to form a modified image including the region of interest (ROI), comprising arranging image blocks from each scanned row as rows on top of each other.

6. The method of claim 5 , wherein the image modification order further comprises a dual function image modification.

7. The method of claim 6 , wherein the dual function image modification comprises:

a first function; and

a second function,

wherein the first function is horizontal flipping and the second function is vertical flipping.

8. The method of claim 7 , wherein scanning the one or more image blocks further comprises scanning image blocks in a column from bottom to top and scanning each row of a plurality of row from right to left, and wherein arranging the one or more image blocks further comprises arranging image blocks from each scanned row as rows on top of each other.

9. The method of claim 6 , wherein the dual function image modification comprises:

a first function; and

a second function,

wherein the first function is rotation and the second function is vertical flipping.

10. The method of claim 9 , wherein scanning the one or more image blocks further comprises scanning the one or more of the image blocks in a column from bottom to top and scanning each column of a plurality of columns from right to left, and wherein arranging the one or more image blocks further comprises arranging image blocks from each scanned row as rows on top of each other.

11. The method of claim 6 , wherein the dual function image modification comprises:

a first function; and

a second function,

wherein the first function is rotation and the second function is horizontal flipping.

12. The method of claim 11 , wherein scanning the one or more image blocks further comprises scanning the one or more of the image blocks in a column from top to bottom, scanning each column of a plurality of columns from left to right, and wherein arranging the one or more image blocks further comprises arranging image blocks from each scanned column as rows on top of each other.

13. A non-transitory computer-readable storage medium having an executable stored thereon, which when executed instructs a processor to:

partition an image into a plurality of image blocks;

identify one or more image blocks of the plurality of image blocks associated with a region of interest (ROI), including identifying a remaining portion of an image block and processing the remaining portion of the image block with image blocks in a next row;

scan the one or more image blocks in an image modification order, wherein scanning image blocks includes scanning the one or more of the image blocks in a row from left to right and scanning each row of a plurality of rows from bottom to top;

arrange the one or more image blocks according to the image modification order to form a modified image including the region of interest (ROI), wherein arranging the one or more image blocks includes arranging image blocks from each scanned row as rows on top of each other; and crop the region of interest (ROI) in the modified image to form a new image.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the image modification order is a single function image modification.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the image modification order further comprises a function, wherein the function is rotation.

16. The non-transitory computer readable storage medium of claim 15 , wherein scanning the one or more image blocks further comprises scanning the one or more of the image blocks in a column from bottom to top and scanning each column of a plurality of columns from left to right, and wherein arranging the one or more image blocks further comprises arranging image blocks from each scanned column as rows on top of each other.

17. The non-transitory computer-readable storage medium of claim 14 , wherein the image modification order further comprises a function, wherein the function is horizontal flipping.

18. The non-transitory computer-readable storage medium of claim 17 , wherein scanning the one or more image blocks further comprises scanning the one or more of the image blocks in a row from right to left and scanning each row of a plurality of row from top to bottom, and wherein arranging the one or more image blocks further comprises arranging image blocks from each scanned row as rows on top of each other.

19. The non-transitory computer-readable storage medium of claim 14 , wherein the single function image modification comprises a function, wherein the function is vertical flipping.

20. The non-transitory computer-readable storage medium of claim 13 , wherein the image modification order further comprises a dual function image modification.

Assignments (2)
CHANGE OF NAME Recorded Dec 17, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058536/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2021
From: LIU, CHIEN CHENG; CHEN, CHENG-CHIANG; CHEN, YUNQING
To: FACEBOOK, INC.
Reel/Frame 057571/0933 →
References Cited (17)
US 7636497B1 · Chambers · 2009 [cited by examiner]
US 8406297B2 · Lu et al. · 2013 [cited by applicant]
US 8515194B2 · Srinivasan et al. · 2013 [cited by applicant]
US 9888247B2 · Rintaluoma et al. · 2018 [cited by applicant]
US 20010043758A1 · Yamaguchi · 2001 [cited by examiner]
US 20080143749A1 · Weybrew · 2008 [cited by examiner]
US 20100104221A1 · Yeung · 2010 [cited by examiner]
US 20100232504A1 · Feng · 2010 [cited by applicant]
US 20100254617A1 · Hwang · 2010 [cited by examiner]
US 20110206275A1 · Takahashi · 2011 [cited by examiner]
US 20130027584A1 · Zerwick · 2013 [cited by examiner]
US 20130135351A1 · Tripathi · 2013 [cited by examiner]
US 20160073113A1 · Rintaluoma · 2016 [cited by examiner]
US 20160275650A1 · Case · 2016 [cited by examiner]
US 20170372452A1 · Wang · 2017 [cited by examiner]
US 20180146158A1 · Bogusz · 2018 [cited by examiner]
US 20210375361A1 · Seiler · 2021 [cited by examiner]