IP Library Granted Patent US 12,332,439
Granted Patent B2
US 12,332,439 · App. 18/337,258 · Granted Jun 17, 2025

Method and system for filtering a panoramic video signal using visual fixation

Inventor: Jean Mayrand (Chambly, CA)
Assignee: 3649954 Canada Inc.
G02B27/017G06F3/011G06V40/20H04N23/69H04N23/698G02B2027/0138
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,332,439
App. No.
18/337,258
Granted
Jun 17, 2025
Kind
B2
Abstract

Methods and apparatus for filtering panoramic video signals using visual fixation are disclosed. A panoramic video signal organized into indexed frames is displayed and durations of visual fixations of a viewer of the display are measured by means of detecting the viewer's gaze positions and identifying clusters of adjacent gaze positions. For each visual fixation attaining a prescribed duration threshold, a segment of the panoramic video signal corresponding to a respective view region of prescribed shape and dimensions is extracted to form a filtered video signal. Contents of successive frames of the panoramic signal are cyclically supplied to a bank of content-filtering units operating concurrently to produce individual content-filtered frames which are concatenated for transmission to respective destinations.

Claims (112)

1. A method of video-content filtering for selective dissemination comprising:

acquiring a panoramic signal organized into indexed frames;

generating a display of the panoramic signal;

initializing a pivotal gaze position and a pivotal frame index as default values, and a gaze count to equal zero;

detecting gaze positions at regular time intervals;

measuring durations of visual fixations of a viewer of the display based on detecting the viewer's gaze positions;

for each visual fixation attaining a prescribed duration threshold:

determining a respective pivotal gaze position;

extracting a segment of the panoramic signal corresponding to a view region, of prescribed shape and dimensions, surrounding the respective pivotal gaze position; and

transmitting said segment to an information-dissemination facility.

2. The method of claim 1 wherein said acquiring comprises performing, at an acquisition module, processes of:

receiving a source signal from a panoramic signal source;

detecting a baseband signal from the source signal; and

producing said panoramic signal from the baseband signal.

3. The method of claim 2 wherein said acquiring comprises one of:

determining indices of individual frames from said baseband signal, subject to an indication that said source signal contains frame indices; and

inserting a cyclical frame index into content of each frame to produce said frame-indexed frames.

4. The method of claim 2 wherein said generating comprises supplying said panoramic signal to a virtual-reality headset, at a content controller, configured to detect gaze positions of an operator wearing the virtual-reality headset.

5. The method of claim 1 wherein said measuring comprises counting successive adjacent detected gaze positions where pairwise displacement of any pair of gaze-positions is within a predefined proximity threshold.

6. The method of claim 1 wherein said determining comprises recurrently performing processes of:

detecting a current gaze position at a current frame index;

evaluating a displacement of the current gaze position from the pivotal gaze position;

subject to establishing that the displacement exceeds a prescribed proximity threshold, setting:

the pivotal gaze position to equal the current gaze position;

the pivotal frame index to equal the current frame index;

and

the gaze count to equal 1;

subject to establishing that the displacement does not exceed the prescribed proximity threshold, increasing the gaze count by unity; and

where the gaze count equals a prescribed count performing said extracting based on said pivotal gaze position and pivotal frame index.

7. The method of claim 1 further comprising defining, at a view adaptor, a view boundary of said view region surrounding said respective pivotal gaze position.

8. The method of claim 7 wherein said extracting comprises:

cyclically supplying contents of successive frames of said panoramic signal to a plurality of content-filtering units operating concurrently, to produce individual content-filtered frames according to said view boundary, so that each content-filtering unit processes one frame at a time; and

cyclically concatenating said individual content-filtering frames for transmission.

9. The method of claim 8 wherein each said content-filtering unit performs processes of:

retaining pixels within said view boundary of each frame of said successive frames to produce frame segments of interest;

reframing said frame segments according to a specified frame format; and

optionally, compressing said content-filtered frames.

10. The method of claim 8 wherein the plurality of content-filtering units comprises at least a number, N, of content filtering units, determined as a ratio of evaluated processing time per frame per content-filtering unit to a frame duration.

11. The method of claim 4 wherein said extracting comprises performing, at a view adaptor collocated with the content controller, processes of:

repeatedly:

receiving, from said acquisition module, frame-indexed content data; and

placing said frame-indexed content data in a circular content buffer;

repeatedly:

receiving, from said content controller, a pivotal gaze position and a respective pivotal frame index; and

directing said respective pivotal frame index to a view-region-definition module and a memory controller of said circular content buffer;

accessing said circular content buffer to read respective content data corresponding to said respective frame index;

receiving a view-region definition from the view-region-definition module; and

supplying said respective content data and view-region definition to a content filter.

12. The method of claim 11 further comprising provisioning said circular content buffer to store frame content data extracted from the panoramic signal over a moving time window spanning an integer number, ϕ, of frames determined as:

ϕ=(κ min ×ν)+1,

κ min being a prescribed threshold of visual-fixation count κ, and ν being a predefined inter-gaze number of frames.

13. The method of claim 1 wherein said acquiring comprises performing at each of a first acquisition module collocated with a content controller and a second acquisition module collocated with a view adaptor, processes of:

receiving a source signal from a panoramic signal source;

detecting a baseband signal from the source signal; and

producing said panoramic signal, from the baseband signal, said panoramic signal comprising frame-indexed content indexed as source.

14. The method of claim 13 wherein said extracting comprises performing, at a view adaptor, processes of:

repeatedly:

receiving, from said second acquisition module, frame-indexed content data; and

placing said frame-indexed content data in a circular content buffer;

repeatedly:

receiving, from said content controller, a pivotal gaze position and a respective frame index; and

storing said pivotal gaze position and respective frame index in a circular control buffer;

repeatedly:

sequentially reading stored pivotal gaze position and a respective frame index from said circular control buffer; and

directing said respective frame index to a view-region-definition module and a memory controller of said circular content buffer;

accessing said circular content buffer to read respective content data corresponding to said respective frame index;

receiving a view-region definition from the view-region-definition module; and

supplying said respective content data and view-region definition to a content filter.

15. The method of claim 14 further comprising provisioning said circular content buffer to store frame content data extracted from the panoramic signal over a moving time window spanning an integer number, Φ, of frames, where:

Φ=┌(κ min ×ν)+((Δ 1 +Δ 3 −Δ 2 )/ f t )+1┐, wherein

κ min is a prescribed threshold of visual-fixation count κ, ν is a predefined inter-gaze number of frames, f t is a frame duration, Δ 1 is a transfer delay of said source signal from the panoramic signal source to the content controller, Δ 2 is a transfer delay of said source signal from the panoramic signal source to the view adaptor, Δ 3 is a transfer delay of said pivotal gaze positions from the content controller to the view adaptor.

16. An apparatus for content-filtering of video signals comprising:

an acquisition module configured to receive a modulated carrier from a panoramic signal source and generate a baseband panoramic signal organized into indexed frames;

a content controller comprising:

a device for producing a panoramic display of the baseband panoramic signal; and

a refresh module configured to measure durations of visual fixations of a viewer of the panoramic display, based on detecting the viewer's gaze positions, and determine a pivotal gaze position and a respective pivotal frame index for each visual fixation attaining a prescribed duration threshold;

and

a view adaptor comprising:

a module for computing a boundary of a view region, of prescribed shape and dimensions, surrounding said pivotal gaze position; and

an array of content-filtering units operating concurrently to extract segments, corresponding to the view region, of specific frames of the baseband panoramic signal starting with a frame of said respective pivotal frame index and ending upon determining a new pivotal frame index of a subsequent pivotal gaze position.

17. The apparatus of claim 16 wherein each said content-filtering unit is configured to reframe said segments according to a specified frame format to produce filtered frames; and

optionally, compress said filtered frames.

18. The apparatus of claim 17 further comprising:

a circular content buffer holding content data of the baseband panoramic signal over a moving time window spanning a predefined number of frame periods;

a first cyclical-access mechanism for sequentially transferring said specific frames of the baseband panoramic signal to individual content-filtering units of the array of content-filtering units; and

a second cyclical-access mechanism for sequentially transferring said filtered frames to a respective destination.

19. The apparatus of claim 18 wherein said circular content buffer is provisioned to store frame content data extracted from the baseband panoramic signal over a moving time window spanning an integer number, ϕ, of frames determined as:

ϕ=(κ min ×ν)+1,

wherein:

κ min is a count of successive adjacent gaze positions within said prescribed duration threshold, where pairwise displacement of any pair of gaze-positions is within a predefined proximity threshold; and

ν is a predefined inter-gaze number of frames.

20. A system for content-filtering of video signals comprising:

a first acquisition module configured to receive a modulated carrier from a panoramic signal source and generate a baseband panoramic signal organized into indexed frames;

a content controller, collocated with the first acquisition module, comprising:

a device for producing a panoramic display of the baseband panoramic signal; and

a refresh module configured to measure durations of visual fixations of a viewer of the panoramic display, based on detecting the viewer's gaze positions, and determine a pivotal gaze position and a respective pivotal frame index for each visual fixation attaining a prescribed duration threshold;

a repeater for retransmitting the modulated carrier received at the first acquisition module to a second acquisition module configured to generate a replica of said baseband panoramic signal;

and

a view adaptor comprising:

a module for computing a boundary of a view region, of prescribed shape and dimensions, surrounding said pivotal gaze position; and

an array of content-filtering units operating concurrently to extract segments, corresponding to the view region, of specific frames of the replica of said baseband panoramic signal starting with a frame of said respective pivotal frame index and ending upon determining a new pivotal frame index of a subsequent pivotal gaze position.

21. The system of claim 20 wherein each said content-filtering unit is configured to

reframe segments according to a specified frame format to produce filtered frames; and

optionally, compress said filtered frames.

22. The system of claim 21 further comprising:

a circular content buffer holding content data of the replica of the baseband panoramic signal over a moving time window spanning a predefined number of frame periods;

a first cyclical-access mechanism for sequentially transferring said specific frames of the baseband panoramic signal to individual content-filtering units of the array of content-filtering units; and

a second cyclical-access mechanism for sequentially transferring said filtered frames to a respective destination.

23. The system of claim 22 wherein said circular content buffer is provisioned to store frame content data extracted from the baseband panoramic signal over a moving time window spanning an integer number, ϕ*, of frames determined as:

ϕ*=┌(κ min ×ν)+((Δ 1 +Δ 3 −Δ 2 )/ f t )+1┐,

wherein:

κ min is a count of successive adjacent gaze positions within said prescribed duration threshold, where pairwise displacement of any pair of gaze-positions is within a predefined proximity threshold; ν is a predefined inter-gaze number of frames, f t is a frame duration, Δ 3 is a transfer delay of said pivotal gaze positions from the content controller to the view adaptor, and Δ 4 is a transfer delay from said repeater to the view adaptor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2023
From: MAYRAND, JEAN
To: 3649954 CANADA INC.
Reel/Frame 063987/0161 →
Continuity (9)
Continuation In Part 17701547 · Mar 22, 2022
Continuation In Part 16908592 · Jun 22, 2020
Continuation In Part 15452841 · Mar 8, 2017
Continuation In Part 15340193 · Nov 1, 2016
Continuation In Part 15259962 · Sep 8, 2016
Provisional Application 62361627 · Jul 13, 2016
Provisional Application 62249599 · Nov 2, 2015
Provisional Application 62216326 · Sep 9, 2015
Related Publication 20230350202A1 · Nov 2, 2023
References Cited (129)
US 6219089B1 · Driscoll, Jr. et al. · 2001 [cited by applicant]
US 6466254B1 · Furlan · 2002 [cited by applicant]
US 6844990B2 · Artonne et al. · 2005 [cited by applicant]
US 7463280B2 · Steuart, III · 2008 [cited by applicant]
US 7872665B2 · Grover · 2011 [cited by applicant]
US 7883415B2 · Larsen · 2011 [cited by examiner]
US 7975063B2 · Lefebvre · 2011 [cited by applicant]
US 7975283B2 · Bedingfield, Sr. · 2011 [cited by applicant]
US 8264524B1 · Davey · 2012 [cited by applicant]
US 8493436B2 · Lyon et al. · 2013 [cited by applicant]
US 8645932B2 · Wright et al. · 2014 [cited by applicant]
US 8767014B2 · Vaught · 2014 [cited by applicant]
US 9002313B2 · Sink et al. · 2015 [cited by applicant]
US 9298986B2 · Ferlatte et al. · 2016 [cited by applicant]
US 9392212B1 · Ross · 2016 [cited by applicant]
US 9838668B2 · Prechti et al. · 2017 [cited by applicant]
US 9900626B2 · Jayaram · 2018 [cited by applicant]
US 9918136B2 · Cole · 2018 [cited by applicant]
US 10048751B2 · Jaafar · 2018 [cited by examiner]
US 10176683B2 · Meganathan · 2019 [cited by applicant]
US 10277813B1 · Thomas · 2019 [cited by applicant]
US 10390064B2 · Dury · 2019 [cited by applicant]
US 10402938B1 · Newman · 2019 [cited by applicant]
US 10536671B1 · Crookham et al. · 2020 [cited by applicant]
US 10601889B1 · Doron · 2020 [cited by applicant]
US 10630971B2 · Gupta et al. · 2020 [cited by applicant]
US 10645290B2 · Besley et al. · 2020 [cited by applicant]
US 10652452B2 · Gong et al. · 2020 [cited by applicant]
US 10880519B2 · Natarajan · 2020 [cited by applicant]
US 11126001B2 · Otsuka · 2021 [cited by examiner]
US 11681145B2 · Mayrand · 2023 [cited by examiner]
US 20050104878A1 · Kaye · 2005 [cited by applicant]
US 20050104879A1 · Kaye · 2005 [cited by applicant]
US 20050146521A1 · Kaye · 2005 [cited by applicant]
US 20050231505A1 · Kaye · 2005 [cited by applicant]
US 20060187305A1 · Triverdi · 2006 [cited by applicant]
US 20080024594A1 · Ritchey · 2008 [cited by applicant]
US 20100149073A1 · Chaum · 2010 [cited by applicant]
US 20100157018A1 · Lampotang · 2010 [cited by applicant]
US 20100217673A1 · Vandewalle · 2010 [cited by applicant]
US 20100226535A1 · Kimchi · 2010 [cited by examiner]
US 20110238856A1 · Lefebvre · 2011 [cited by applicant]
US 20120117584A1 · Gordon · 2012 [cited by applicant]
US 20120120194A1 · Newton · 2012 [cited by applicant]
US 20130013803A1 · Bichot et al. · 2013 [cited by applicant]
US 20130044181A1 · Baker · 2013 [cited by applicant]
US 20130141523A1 · Banta et al. · 2013 [cited by applicant]
US 20130212521A1 · Fedoseyeva · 2013 [cited by applicant]
US 20130227160A1 · Labonte et al. · 2013 [cited by applicant]
US 20130272374A1 · Eswaran · 2013 [cited by applicant]
US 20130278715A1 · Nutsch et al. · 2013 [cited by applicant]
US 20130279751A1 · Bruna et al. · 2013 [cited by applicant]
US 20140320592A1 · Amadio et al. · 2014 [cited by applicant]
US 20140376609A1 · Barkley et al. · 2014 [cited by applicant]
US 20150049112A1 · Liu · 2015 [cited by applicant]
US 20150055937A1 · Van Hoff · 2015 [cited by examiner]
US 20150085061A1 · Sun et al. · 2015 [cited by applicant]
US 20150116359A1 · Kajita et al. · 2015 [cited by applicant]
US 20150116451A1 · Xu et al. · 2015 [cited by applicant]
US 20150156096A1 · Roh · 2015 [cited by applicant]
US 20150212576A1 · Ambrus · 2015 [cited by applicant]
US 20150243078A1 · Watson et al. · 2015 [cited by applicant]
US 20150229492A1 · Karaoguz · 2015 [cited by applicant]
US 20150244944A1 · Tokutake · 2015 [cited by applicant]
US 20150249813A1 · Cole · 2015 [cited by applicant]
US 20150334383A1 · Newton · 2015 [cited by applicant]
US 20150346812A1 · Cole · 2015 [cited by applicant]
US 20150350628A1 · Sanders · 2015 [cited by applicant]
US 20160027215A1 · Burns et al. · 2016 [cited by applicant]
US 20160105649A1 · Pettegrew · 2016 [cited by applicant]
US 20160150212A1 · Moura · 2016 [cited by applicant]
US 20160151026A1 · Shibasaki · 2016 [cited by applicant]
US 20160189334A1 · Mason · 2016 [cited by applicant]
US 20160191798A1 · Yoo · 2016 [cited by applicant]
US 20160219262A1 · Cole · 2016 [cited by applicant]
US 20160277772A1 · Campbell · 2016 [cited by applicant]
US 20160286138A1 · Kim · 2016 [cited by applicant]
US 20160353089A1 · Gallup et al. · 2016 [cited by applicant]
US 20160353146A1 · Weaver · 2016 [cited by applicant]
US 20160360180A1 · Cole · 2016 [cited by applicant]
US 20160373734A1 · Cole · 2016 [cited by applicant]
US 20160373791A1 · White · 2016 [cited by applicant]
US 20160379606A1 · Kollin · 2016 [cited by applicant]
US 20160381110A1 · Barnett et al. · 2016 [cited by applicant]
US 20170001111A1 · Willette · 2017 [cited by applicant]
US 20170001112A1 · Gilmore · 2017 [cited by applicant]
US 20170001122A1 · Leung · 2017 [cited by applicant]
US 20170003740A1 · Verfaillie · 2017 [cited by applicant]
US 20170003784A1 · Garg · 2017 [cited by applicant]
US 20170006074A1 · Oates, III · 2017 [cited by applicant]
US 20170006322A1 · Dury · 2017 [cited by applicant]
US 20170038942A1 · Rosenfeld · 2017 [cited by applicant]
US 20170041544A1 · Kobayashi · 2017 [cited by applicant]
US 20170041570A1 · Takahashi et al. · 2017 [cited by applicant]
US 20170045941A1 · Tokubo et al. · 2017 [cited by applicant]
US 20170092008A1 · Djorgovski · 2017 [cited by applicant]
US 20170105053A1 · Todd · 2017 [cited by applicant]
US 20170139578A1 · Dickerson · 2017 [cited by applicant]
US 20170213469A1 · Elchik · 2017 [cited by applicant]
US 20170238055A1 · Chang · 2017 [cited by applicant]
US 20170263046A1 · Patney · 2017 [cited by applicant]
US 20170308116A1 · Rondinelli · 2017 [cited by applicant]
US 20170316608A1 · Khalid · 2017 [cited by applicant]
US 20170318325A1 · Ortiz · 2017 [cited by applicant]
US 20170339416A1 · Hendry · 2017 [cited by applicant]
US 20170344843A1 · Wang · 2017 [cited by applicant]
US 20170358141A1 · Stafford · 2017 [cited by applicant]
US 20170365102A1 · Huston · 2017 [cited by applicant]
US 20170366812A1 · Abbas · 2017 [cited by applicant]
US 20170374411A1 · Lederer · 2017 [cited by applicant]
US 20180007352A1 · Chang · 2018 [cited by applicant]
US 20180014140A1 · Milevski · 2018 [cited by applicant]
US 20180227487A1 · Heo · 2018 [cited by applicant]
US 20180357245A1 · Garg · 2018 [cited by applicant]
US 20180367835A1 · Hamidi-Rad · 2018 [cited by applicant]
US 20190050664A1 · Yang · 2019 [cited by applicant]
US 20190281255A1 · Natarajan · 2019 [cited by examiner]
US 20190297363A1 · Chirokov · 2019 [cited by applicant]
US 20200177849A1 · Shimada et al. · 2020 [cited by applicant]
US 20200336524A1 · Tinsman · 2020 [cited by applicant]
CN 101778104 · 2010 [cited by applicant]
WO 2004004320 · 2004 [cited by applicant]
WO 2014191990 · 2014 [cited by applicant]
WO 2019013016 · 2019 [cited by applicant]
Sankaranarayanan K., Davis J.W. (2011) PTZ Camera Modeling and Panoramic View Generation via Focal Plane Mapping. In: Kimmel R., Klette R., Sugimoto A. (eds) Computer Vision—ACCV 2010. ACCV 2010. Lecture Notes in Comput… [cited by applicant]
Lisanti, G., Masi, I., Pernici, F. et al. Continuous localization and mapping of a pan-tilt-zoom camera for wide area tracking. Machine Vision and Applications 27, 1071-1085 (2016). [cited by applicant]
Anonymous, “How to Cast or Mirror an Oculus Go Headset to a Mobile Phone”, InstaVR, Nov. 1, 2018, online: <https://www.instavr.co/articles/general/how-to-cast-or-mirror-an-oculus-go-headset-to-a-mobile-phone>. [cited by applicant]
Azure Kinect, Wikipedia, https://en.wikipedia.org/wiki/Azure_Kinect Feb. 24, 2019. [cited by applicant]
Microsoft unveils next-generation HoloLens headset and $399 ‘Azure Kinect’ camera for developers, by Nat Levy (https://www.geekwire.com/author/natlevy/) Feb. 24, 2019. [cited by applicant]