IP Library Granted Patent US 12,712,671
Granted Patent B2
US 12,712,671 · App. 18/533,088 · Granted Aug 18, 2026

Scrolling motion detection within a video stream

Inventors: Jing Wu (Hangzhou, CN); Zhaofeng Jia (Saratoga, CA); Bo Ling (Saratoga, CA); Qiyong Liu (Hangzhou, CN)
Assignee: Zoom Communications, Inc.
H04L1/08H04L1/0009H04L1/0045H04L1/0076H04L1/1867H04L43/0829H04L65/403H04L65/70H04L65/80H04N7/15H04N7/152H04N19/136H04N19/172H04N19/177H04N19/179H04L1/007H04L2001/0093
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,712,671
App. No.
18/533,088
Granted
Aug 18, 2026
Kind
B2
Abstract

Scrolling motion is detected within a video stream to output an indication of a scrolling motion vector for use in encoding a current picture of the video stream. A first line of pixels within a motion region of the current picture is identified. A second line of pixels matching the first line of pixels is identified within a last played picture of the video stream. The scrolling motion vector is determined based on a comparison of lines of pixels nearby the second line of pixels within the last played picture. The indication of the scrolling motion vector is then output for use in encoding the current picture.

Claims (61)

1 . A method, comprising:

determining that more than a predefined threshold of blocks in a current frame of a video stream are text-graphic blocks;

classifying, in response to the determining, the current frame, prior to identifying a motion region of the current frame, as a text-graphic frame;

identifying, in response to classifying the current frame as a text-graphic frame, a first line of pixels within the motion region of the current frame;

identifying a second line of pixels matching the first line of pixels within a last played frame of the video stream;

determining, in response to classifying the current frame as a text-graphic frame, a scrolling motion vector for the current frame based on a comparison of lines of pixels near the second line of pixels; and

outputting an indication of the scrolling motion vector for encoding the current frame.

2 . The method of claim 1 , comprising:

recording a vertical motion vector as the scrolling motion vector when the lines of pixels match the second line of pixels.

3 . The method of claim 1 , wherein when the lines of pixels do not match the second line of pixels, comprising:

identifying a third line of pixels within the motion region;

identifying a fourth line of pixels matching the second line of pixels within the last played frame;

determining a new scrolling motion vector based on a comparison of lines of pixels near the fourth line of pixels; and

outputting an indication of the new scrolling motion vector for use in encoding the current frame.

4 . The method of claim 1 , wherein the first line of pixels is a colorful line that includes more than a threshold times of a neighbor color change.

5 . The method of claim 1 , comprising:

selecting the first line of pixels as a baseline to avoid misdetection caused by a mono background.

6 . The method of claim 1 , wherein the first line of pixels forms a vertical line.

7 . The method of claim 1 , comprising:

detecting the motion region in response to a mouse operation on a display.

8 . The method of claim 1 , comprising:

detecting the motion region based on a comparison of the current frame and a co-located block of the last played frame.

9 . A non-transitory computer readable medium storing instructions that, when executed by a processor, cause a performance of operations comprising:

determining that more than a predefined threshold of block in a current frame of a video stream are text-graphic blocks;

classifying, in response to the determining, the current frame, prior to identifying a motion region of the current frame, as a text-graphic frame;

identifying, in response to classifying the current frame as a text-graphic frame, a first line of pixels within the motion region of the current frame;

identifying a second line of pixels matching the first line of pixels within a last played frame of the video stream;

determining, in response to classifying the current frame as a text-graphic frame, a scrolling motion vector for the current frame based on a comparison of lines of pixels near the second line of pixels; and

outputting an indication of the scrolling motion vector for use in encoding the current frame.

10 . The non-transitory computer readable medium of claim 9 , the operations comprising:

recording a vertical motion vector as the scrolling motion vector when the lines of pixels the second line of pixels match.

11 . The non-transitory computer readable medium of claim 9 , wherein when the lines of pixels do not match the second line of pixels, the operations comprising:

identifying a third line of pixels within the motion region;

identifying a fourth line of pixels matching the second line of pixels within the last played frame;

determining a new scrolling motion vector based on a comparison of lines of pixels near the fourth line of pixels; and

outputting an indication of the new scrolling motion vector for use in encoding the current frame.

12 . The non-transitory computer readable medium of claim 9 , wherein the first line of pixels is a colorful line that includes more than a threshold times of a neighbor color change.

13 . The non-transitory computer readable medium of claim 9 , the operations comprising:

selecting the first line of pixels as a baseline to avoid misdetection caused by a mono background.

14 . The non-transitory computer readable medium of claim 9 , wherein the first line of pixels forms a vertical line.

15 . The non-transitory computer readable medium of claim 9 , the operations comprising:

detecting the motion region in response to a mouse operation on a display.

16 . The non-transitory computer readable medium of claim 9 , the operations comprising:

detecting the motion region based on a comparison of the current frame and a co-located block of the last played frame.

17 . A system, comprising:

a server device including a memory and a processor configured to execute instructions stored in the memory to:

determine that more than a predefined threshold of blocks in a current frame of a video stream are text-graphic blocks;

classify, in response to the determining, the current frame, prior to identifying a motion region of the current frame, as a text-graphic frame;

identify, in response to classifying the current frame as a text-graphic frame, a first line of pixels within the motion region of the current frame;

identify a second line of pixels matching the first line of pixels within a last played frame of the video stream;

determine, in response to classifying the current frame as a text-graphic frame, a scrolling motion vector for the current frame based on a comparison of lines of pixels near the second line of pixels; and

output an indication of the scrolling motion vector for use in encoding the current frame.

18 . The system of claim 17 , wherein the processor is configured to execute the instructions to:

record a vertical motion vector as the scrolling motion vector when the lines of pixels match the second line of pixels.

19 . The system of claim 17 , wherein when the lines of pixels do not match the second line of pixels the processor is configured to execute the instructions to:

identify a third line of pixels within the motion region;

identify a fourth line of pixels matching the second line of pixels;

determine a new scrolling motion vector based on a comparison of lines of pixels near the fourth line of pixels; and

output an indication of the new scrolling motion vector for use in encoding the current frame.

20 . The system of claim 17 , wherein the first line of pixels is a colorful line that includes more than a threshold times of a neighbor color change.

21 . The system of claim 17 , wherein the first line of pixels forms a vertical line.

Assignments (2)
CHANGE OF NAME Recorded Jan 7, 2025
From: ZOOM VIDEO COMMUNICATIONS, INC.
To: ZOOM COMMUNICATIONS, INC.
Reel/Frame 069839/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2023
From: WU, JING; JIA, ZHAOFENG; LING, BO; LIU, QIYONG
To: ZOOM VIDEO COMMUNICATIONS, INC.
Reel/Frame 065828/0384 →
Continuity (6)
Continuation 17591346 · Feb 2, 2022
Continuation 16798074 · Feb 21, 2020
Continuation 15986655 · May 22, 2018
Continuation 14462908 · Aug 19, 2014
Provisional Application 61867558 · Aug 19, 2013
Related Publication 20240195530A1 · Jun 13, 2024
References Cited (67)
US 5633657A · Falcon · 1997 [cited by examiner]
US 5659726A · Sandford, II et al. · 1997 [cited by applicant]
US 5928330A · Goetz et al. · 1999 [cited by applicant]
US 6115420A · Wang · 2000 [cited by applicant]
US 6169573B1 · Sampath-Kumar et al. · 2001 [cited by applicant]
US 6275471B1 · Bushmitch et al. · 2001 [cited by applicant]
US 6389572B1 · Garrabrant et al. · 2002 [cited by applicant]
US 6396816B1 · Astle et al. · 2002 [cited by applicant]
US 7406497B1 · Markowitz et al. · 2008 [cited by applicant]
US 7558432B2 · Zaharia et al. · 2009 [cited by applicant]
US 7787705B2 · Sun · 2010 [cited by examiner]
US 7856054B1 · Kasarabada et al. · 2010 [cited by applicant]
US 7995649B2 · Zuo et al. · 2011 [cited by applicant]
US 8045935B2 · Lakkis et al. · 2011 [cited by applicant]
US 8090574B2 · Mehrotra et al. · 2012 [cited by applicant]
US 8417812B1 · Gulati et al. · 2013 [cited by applicant]
US 8509555B2 · Meany · 2013 [cited by applicant]
US 8516346B2 · Kure et al. · 2013 [cited by applicant]
US 8520053B2 · Pun et al. · 2013 [cited by applicant]
US 8743743B1 · Mai et al. · 2014 [cited by applicant]
US 10609390B1 · Wu et al. · 2020 [cited by applicant]
US 20020010938A1 · Zhang et al. · 2002 [cited by applicant]
US 20020097800A1 · Ramanzin · 2002 [cited by applicant]
US 20020122488A1 · Takahashi et al. · 2002 [cited by applicant]
US 20030041165A1 · Spencer et al. · 2003 [cited by applicant]
US 20040008249A1 · Nelson et al. · 2004 [cited by applicant]
US 20040008774A1 · Takahashi et al. · 2004 [cited by applicant]
US 20040095950A1 · Shirogane et al. · 2004 [cited by applicant]
US 20050094732A1 · Mukherjee · 2005 [cited by applicant]
US 20050099869A1 · Crinon et al. · 2005 [cited by applicant]
US 20060048036A1 · Miura et al. · 2006 [cited by applicant]
US 20060222078A1 · Raveendran · 2006 [cited by applicant]
US 20060251093A1 · Curcio et al. · 2006 [cited by applicant]
US 20070019724A1 · Tourapis et al. · 2007 [cited by applicant]
US 20070019875A1 · Sung et al. · 2007 [cited by applicant]
US 20070064809A1 · Watanabe et al. · 2007 [cited by applicant]
US 20070183673A1 · Mietens · 2007 [cited by applicant]
US 20070201500A1 · Deshpande · 2007 [cited by applicant]
US 20080068446A1 · Barkley et al. · 2008 [cited by applicant]
US 20080165276A1 · Edanami · 2008 [cited by examiner]
US 20090007207A1 · Kashalkar et al. · 2009 [cited by applicant]
US 20090129405A1 · Lauwers et al. · 2009 [cited by applicant]
US 20090232408A1 · Meany · 2009 [cited by applicant]
US 20090327918A1 · Aaron et al. · 2009 [cited by applicant]
US 20100034366A1 · Basson et al. · 2010 [cited by applicant]
US 20100061446A1 · Hands et al. · 2010 [cited by applicant]
US 20100220927A1 · Kim · 2010 [cited by examiner]
US 20100232713A1 · Zhou et al. · 2010 [cited by applicant]
US 20100254458A1 · Amon et al. · 2010 [cited by applicant]
US 20110206126A1 · Kim · 2011 [cited by examiner]
US 20110310216A1 · Lee et al. · 2011 [cited by applicant]
US 20110317194A1 · Nakanishi · 2011 [cited by applicant]
US 20120050457A1 · Gu · 2012 [cited by applicant]
US 20120147958A1 · Ronca et al. · 2012 [cited by applicant]
US 20130051543A1 · Mcdysan et al. · 2013 [cited by applicant]
US 20130077681A1 · Chen et al. · 2013 [cited by applicant]
US 20130117662A1 · Shan · 2013 [cited by examiner]
US 20130156098A1 · Schwartz et al. · 2013 [cited by applicant]
US 20130208663A1 · Kanniappan et al. · 2013 [cited by applicant]
US 20130219272A1 · Balasubramanian et al. · 2013 [cited by applicant]
US 20130251031A1 · Yitschak et al. · 2013 [cited by applicant]
US 20140313989A1 · Doken et al. · 2014 [cited by applicant]
US 20140362979A1 · Kaplan et al. · 2014 [cited by applicant]
US 20140379351A1 · Raniwala · 2014 [cited by applicant]
US 20150012270A1 · Reynolds · 2015 [cited by applicant]
US 20150100843A1 · Muramoto et al. · 2015 [cited by applicant]
US 20160182598A1 · Cossa · 2016 [cited by applicant]