IP Library Granted Patent US 12,355,995
Granted Patent B2
US 12,355,995 · App. 18/755,515 · Granted Jul 8, 2025

Content-based client side video transcoding

Inventors: Liu Liu (Marina Del Rey, CA); Chao Pang (Marina Del Rey, CA); Rong Yan (Marina Del Rey, CA)
Assignee: Snap Inc.
H04N19/40H04L65/70H04L65/762H04N5/77H04N5/9261H04N9/8042H04N19/137H04N19/14H04N19/146H04N19/162H04N19/179H04N21/2662H04N21/4223H04N21/4334H04N21/4402H04W88/181
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,355,995
App. No.
18/755,515
Granted
Jul 8, 2025
Kind
B2
Abstract

Among other things, embodiments of the present disclosure improve the functionality of electronic messaging and imaging software and systems by automating the client-side transcoding of video data based on content. For example, an appropriate transcoding configuration can be selected for video data having complex motion or textures. Accordingly, video quality can be improve when complex motions or textures are present.

Claims (32)

1. A system comprising:

a processor;

a user interface coupled to the processor, the user interface comprising an image capture device; and

memory coupled to the processor and storing instructions that, when executed by the processor, cause the system to perform operations comprising:

determining a complexity between at least two frames of captured video data, the captured video data including a field of view;

determining a particular bitrate that corresponds to a video quality metric for the complexity determined between the at least two frames; and

selecting a transcoding configuration that applies the particular bitrate among a plurality of bitrates to the video data causing generation of transcoded video data using the particular bitrate.

2. The system of claim 1 , wherein determining a complexity includes determining the complexity within the field of view of the image capture device.

3. The system of claim 1 , further comprising: generating the transcoded video data based on the selected transcoded configuration.

4. The system of claim 1 , wherein the transcoding configuration is selected from a plurality of transcoding configurations of varying bitrates.

5. The system of claim 1 , wherein the bitrate applied to the transcoded video is selected to correspond to a video quality metric.

6. The system of claim 5 , wherein the bitrate applied is based on predefined mappings between at least one video quality metric and the transcoding configuration.

7. The system of claim 1 , wherein determining the complexity within the field of view of the image capture device includes detecting motion within the field of view.

8. The system of claim 7 , wherein determining the complexity within the field of view of the image capture device includes determining that the detected motion exceeds a predetermined threshold.

9. The system of claim 1 , wherein determining the complexity within the field of view of the image capture device includes detecting a texture within the field of view.

10. The system of claim 1 , wherein determining the complexity within the field of view of the image capture device includes determining an average difference between a plurality of frames in the captured video data and a plurality of frames in the video data.

11. The system of claim 1 , wherein determining the complexity within the field of view of the image capture device includes determining a square error between a plurality of frames in the captured video data and a plurality of frames in the video data.

12. The system of claim 1 , wherein determining the complexity within the field of view of the image capture device includes determining a peak signal-to-noise ratio between a first frame in the video data and a second frame in the video data.

13. The system of claim 1 , wherein the bitrate applied to the transcoded video is one of: a fixed bitrate, or a variable bitrate.

14. The system of claim 1 , wherein generating the transcoded video includes transcoding the video according to a predetermined transcoding profile to generate the transcoded video at a predetermined bitrate.

15. The system of claim 1 , wherein the operations further comprise encoding the captured video data to generate encoded video data, wherein the complexity is determined based on the encoded video data.

16. The system of claim 15 , wherein the complexity is determined based on a comparison between at least a portion of the captured video data and at least a portion of the encoded video data.

17. The system of claim 15 , wherein encoding the captured video data is performed using one or more of: a frame by frame encoding, and an encoding of a collection of frames.

18. The system of claim 15 , wherein the captured video data is compressed, wherein a difference between the captured video data and the encoded video data results in a larger difference for compression artifacts between frames than non-compression artifacts.

19. A computer-implemented method comprising:

determining a complexity between at least two frames of captured video data, the captured video data including a field of view;

determining a particular bitrate that corresponds to a video quality metric for the complexity determined between the at least two frames; and

selecting a transcoding configuration that applies the particular bitrate among a plurality of bitrates to the video data causing generation of transcoded video data using the particular bitrate.

20. A non-transitory computer-readable medium storing instructions that, when executed by a computer system, cause the computer system to perform operations comprising:

determining a complexity between at least two frames of captured video data, the captured video data including a field of view;

determining a particular bitrate that corresponds to a video quality metric for the complexity determined between the at least two frames; and

selecting a transcoding configuration that applies the particular bitrate among a plurality of bitrates to the video data causing generation of transcoded video data using the particular bitrate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2024
From: LIU, LIU; PANG, CHAO; YAN, RONG
To: SNAP INC.
Reel/Frame 067851/0037 →
Continuity (5)
Continuation 18452016 · Aug 18, 2023
Continuation 17322407 · May 17, 2021
Continuation 15622336 · Jun 14, 2017
Provisional Application 62448465 · Jan 20, 2017
Related Publication 20240348808A1 · Oct 17, 2024
References Cited (116)
US 6038295A · Mattes · 2000 [cited by applicant]
US 6980909B2 · Root et al. · 2005 [cited by applicant]
US 7173651B1 · Knowles · 2007 [cited by applicant]
US 7295614B1 · Shen et al. · 2007 [cited by applicant]
US 7411493B2 · Smith · 2008 [cited by applicant]
US 7535890B2 · Rojas · 2009 [cited by applicant]
US 8131597B2 · Hudetz · 2012 [cited by applicant]
US 8199747B2 · Rojas et al. · 2012 [cited by applicant]
US 8332475B2 · Rosen et al. · 2012 [cited by applicant]
US 8718333B2 · Wolf et al. · 2014 [cited by applicant]
US 8724622B2 · Rojas · 2014 [cited by applicant]
US 8874677B2 · Rosen et al. · 2014 [cited by applicant]
US 8909679B2 · Root et al. · 2014 [cited by applicant]
US 8995433B2 · Rojas · 2015 [cited by applicant]
US 9040574B2 · Wang et al. · 2015 [cited by applicant]
US 9055416B2 · Rosen et al. · 2015 [cited by applicant]
US 9100656B2 · Metoevi et al. · 2015 [cited by applicant]
US 9100806B2 · Rosen et al. · 2015 [cited by applicant]
US 9100807B2 · Rosen et al. · 2015 [cited by applicant]
US 9191776B2 · Root et al. · 2015 [cited by applicant]
US 9204252B2 · Root · 2015 [cited by applicant]
US 9443227B2 · Evans et al. · 2016 [cited by applicant]
US 9489661B2 · Evans et al. · 2016 [cited by applicant]
US 9491134B2 · Rosen et al. · 2016 [cited by applicant]
US 9769527B2 · Frusina et al. · 2017 [cited by applicant]
US 9860569B1 · Wilms et al. · 2018 [cited by applicant]
US 10255946B1 · Andrizzi et al. · 2019 [cited by applicant]
US 10419738B1 · Phillips · 2019 [cited by examiner]
US 11019349B2 · Liu et al. · 2021 [cited by applicant]
US 11778209B2 · Liu et al. · 2023 [cited by applicant]
US 20020122603A1 · Boroczky et al. · 2002 [cited by applicant]
US 20020131512A1 · Boroczky et al. · 2002 [cited by applicant]
US 20030123747A1 · Yang et al. · 2003 [cited by applicant]
US 20030206591A1 · Yang et al. · 2003 [cited by applicant]
US 20050089043A1 · Seckin et al. · 2005 [cited by applicant]
US 20050097209A1 · Mcdonagh et al. · 2005 [cited by applicant]
US 20050099492A1 · Orr · 2005 [cited by applicant]
US 20060170778A1 · Ely et al. · 2006 [cited by applicant]
US 20060215766A1 · Wang et al. · 2006 [cited by applicant]
US 20060238444A1 · Wang et al. · 2006 [cited by applicant]
US 20060238445A1 · Wang et al. · 2006 [cited by applicant]
US 20090196339A1 · Hirabayashi · 2009 [cited by applicant]
US 20100074333A1 · Au et al. · 2010 [cited by applicant]
US 20100097473A1 · Park et al. · 2010 [cited by applicant]
US 20110202598A1 · Evans et al. · 2011 [cited by applicant]
US 20120155553A1 · Liao et al. · 2012 [cited by applicant]
US 20120209924A1 · Evans et al. · 2012 [cited by applicant]
US 20130148741A1 · Steinberg et al. · 2013 [cited by applicant]
US 20130192506A1 · Buzzi · 2013 [cited by applicant]
US 20130272374A1 · Shastri et al. · 2013 [cited by applicant]
US 20130286868A1 · Oyman et al. · 2013 [cited by applicant]
US 20130343450A1 · Solka et al. · 2013 [cited by applicant]
US 20150089026A1 · Payette et al. · 2015 [cited by applicant]
US 20160021380A1 · Li et al. · 2016 [cited by applicant]
US 20160212482A1 · Balko · 2016 [cited by applicant]
US 20160234496A1 · Panda et al. · 2016 [cited by applicant]
US 20160249079A1 · Malone et al. · 2016 [cited by applicant]
US 20170318335A1 · Ding et al. · 2017 [cited by applicant]
US 20180014090A1 · Venkatraman et al. · 2018 [cited by applicant]
US 20180124146A1 · Chen et al. · 2018 [cited by applicant]
US 20180213243A1 · Liu et al. · 2018 [cited by applicant]
US 20190190976A1 · Chen · 2019 [cited by examiner]
US 20190288911A1 · Amini · 2019 [cited by examiner]
US 20190387224A1 · Phillips · 2019 [cited by examiner]
US 20190387237A1 · Phillips · 2019 [cited by examiner]
US 20210385470A1 · Liu et al. · 2021 [cited by applicant]
US 20230396785A1 · Liu et al. · 2023 [cited by applicant]
CA 2887596A1 · 2015 [cited by applicant]
CN 103379335A · 2013 [cited by applicant]
CN 105187835A · 2015 [cited by applicant]
CN 110192395A · 2019 [cited by applicant]
CN 110192395B · 2021 [cited by applicant]
EP 1622384A2 · 2006 [cited by applicant]
EP 3571847B1 · 2023 [cited by applicant]
KR 20080090335A · 2008 [cited by applicant]
KR 102356924B1 · 2022 [cited by applicant]
WO WO2016134345A1 · 2016 [cited by applicant]
WO WO2018136219 · 2018 [cited by applicant]
“U.S. Appl. No. 15/622,336, Corrected Notice of Allowability mailed Feb. 25, 2021”, 3 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Examiner Interview Summary mailed Jul. 8, 2020”, 3 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Final Office Action mailed Apr. 3, 2020”, 19 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Final Office Action mailed Apr. 18, 2019”, 17 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Non Final Office Action mailed Jul. 12, 2018”, 15 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Non Final Office Action mailed Aug. 6, 2020”, 20 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Non Final Office Action mailed Aug. 22, 2019”, 16 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Notice of Allowance mailed Jan. 26, 2021”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Response filed Jan. 14, 2019 to Non Final Office Action mailed Jul. 12, 2018”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Response filed Jan. 22, 2020 to Non Final Office Action mailed Aug. 22, 2019”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Response filed Jul. 6, 2020 to Final Office Action mailed Apr. 3, 2020”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Response filed Jul. 18, 2019 to Final Office Action mailed Apr. 18, 2019”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 15/622,336, Response filed Oct. 28, 2020 to Non Final Office Action mailed Aug. 6, 2020”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/322,407, Final Office Action mailed Feb. 24, 2023”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 17/322,407, Non Final Office Action mailed Sep. 27, 2022”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/322,407, Notice of Allowance mailed May 25, 2023”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/322,407, Response filed Apr. 19, 2023 to Final Office Action mailed Feb. 24, 2023”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 17/322,407, Response filed Dec. 27, 2022 to Non Final Office Action mailed Sep. 27, 2022”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 18/452,016, Corrected Notice of Allowability mailed May 3, 2024”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/452,016, Non Final Office Action mailed Mar. 14, 2024”, 21 pgs. [cited by applicant]
“U.S. Appl. No. 18/452,016, Notice of Allowance mailed Apr. 11, 2024”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 18/452,016, Response filed Apr. 3, 2024 to Non Final Office Action mailed Mar. 14, 2024”, 7 pgs. [cited by applicant]
“Chinese Application Serial No. 201780083935.2, Office Action mailed Nov. 6, 2020”, w/ English Translation, 13 pgs. [cited by applicant]
“Chinese Application Serial No. 201780083935.2, Response filed Mar. 1, 2021 to Office Action mailed Nov. 6, 2020”, w/ English Claims, 12 pgs. [cited by applicant]
“European Application Serial No. 17870639.6, Communication Pursuant to Article 94(3) EPC mailed Sep. 21, 2020”, 6 pgs. [cited by applicant]
“European Application Serial No. 17870639.6, Response filed Feb. 1, 2021 to Communication Pursuant to Article 94(3) EPC mailed Sep. 21, 2020”, 6 pgs. [cited by applicant]
“European Application Serial No. 17870639.6, Response to Communication pursuant Rules 161(1) and 162 EPC filed Mar. 5, 2020”, 10 pgs. [cited by applicant]
“European Application Serial No. 17870639.6, Summons to Attend Oral Proceedings mailed Sep. 29, 2022”, 11 pgs. [cited by applicant]
“European Application Serial No. 23180168.9, Extended European Search Report mailed Sep. 22, 2023”, 14 pgs. [cited by applicant]
“European Application Serial No. 23180168.9, Response filed Apr. 17, 2024 to Extended European Search Report mailed Sep. 22, 2023”, 22 pgs. [cited by applicant]
“International Application Serial No. PCT/US2017/068902, International Preliminary Report on Patentability mailed Aug. 1, 2019”, 8 pgs. [cited by applicant]
“International Application Serial No. PCT/US2017/068902, International Search Report mailed Jun. 11, 2018”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT/US2017/068902, Written Opinion mailed Jun. 11, 2018”, 6 pgs. [cited by applicant]
“Korean Application Serial No. 10-2019-7023632, Notice of Preliminary Rejection mailed Mar. 19, 2021”, w/ English Translation, 6 pgs. [cited by applicant]
“Korean Application Serial No. 10-2019-7023632, Notice of Preliminary Rejection mailed Aug. 4, 2020”, w/ English Translation, 19 pgs. [cited by applicant]
“Korean Application Serial No. 10-2019-7023632, Response filed Jun. 21, 2021 to Notice of Preliminary Rejection mailed Mar. 19, 2021”, w/ English Claims, 20 pgs. [cited by applicant]
“Korean Application Serial No. 10-2019-7023632, Response filed Nov. 4, 2020 to Notice of Preliminary Rejection mailed Aug. 4, 2020”, w/ English Claims, 31 pgs. [cited by applicant]
Leyden, John, “This SMS will self-destruct in 40 seconds”, [Online] Retrieved from the Internet: <URL: http://www.theregister.co.uk/2005/12/12/stealthtext/>, (Dec. 12, 2005), 1 pg. [cited by applicant]