IP Library › Granted Patent US 12,462,427
Granted Patent B2
US 12,462,427 · App. 18/262,813 · Granted Nov 4, 2025

Accurate camera-display calibration for telepresence videoconferencing

Inventor: John D. Perreault (Mountain View, CA)
Assignee: GOOGLE LLC
G06T7/80H04N13/327G06T2207/30204G06T2207/30244
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,462,427
App. No.
18/262,813
Granted
Nov 4, 2025
Kind
B2
Abstract

Techniques of calibrating telepresence videoconferencing displays and cameras include providing 6 DoF camera locations and orientation vectors in display reference frame based on a plurality of images that indicate specified mirror-plane points of a mirror and specified reflected display plane points. In some implementations, the specified mirror-plane points are located at fiducial markers printed on the mirror. In some implementations, the specified reflected display plane points are located in a checkerboard pattern of fiducial markers on the display.

Claims (42)

1 . A method comprising:

receiving image data representing a plurality of images, each of the plurality of images indicating (i) a specified point in a plane of a mirror held at a respective mirror pose of a plurality of mirror poses with respect to a camera and (ii) a specified point in a virtual image display plane, the virtual image display plane including an image of a display;

determining a position and orientation of the camera in a reference frame of the display based on the specified point in the plane of the mirror and the specified point in the virtual image display plane; and

causing an image on the display to be presented to a user according to the determined position and orientation of the camera.

2 . The method as in claim 1 , wherein the specified point in the plane of the mirror is located at a fiducial marker printed on the mirror.

3 . The method as in claim 2 , wherein the fiducial marker is printed on mirror directly using an ultraviolet printer.

4 . The method as in claim 1 , wherein the specified point in the virtual image display plane is disposed in a checkerboard pattern of fiducial markers in the virtual image display plane.

5 . The method as in claim 4 , wherein receiving the image data includes:

performing an inversion operation on the checkerboard pattern of fiducial markers to produce an inverted checkerboard pattern, and

wherein determining the position and orientation of the camera in a reference frame of the display includes:

recording a position of a specified point disposed in the inverted checkerboard pattern.

6 . The method as in claim 4 , wherein determining the position and orientation of the camera in a reference frame of the display includes:

determining a camera location in the plane of the mirror, the camera location in the plane of the mirror being based on a position of a point in the checkerboard pattern in the virtual image display plane.

7 . The method as in claim 6 , wherein the camera location in a plane of the mirror is a constant times the position of the point in the checkerboard pattern in the virtual image display plane, the constant being based on the specified point in the plane of the mirror, the position of a point in the checkerboard pattern in the virtual image display plane, and an orientation of the mirror.

8 . The method as in claim 1 , wherein determining the position and orientation of the camera in a reference frame of the display includes:

determining a position and an orientation of the display in the plane of the mirror.

9 . The method as in claim 1 , wherein determining the position and orientation of the camera in a reference frame of the display includes:

averaging positions of the camera in the reference frame of the display over the plurality of mirror poses.

10 . The method as in claim 9 , further comprising averaging rotations of the camera in the reference frame of the display over the plurality of mirror poses, including:

generating a quarternion projection matrix corresponding to a mirror pose; and

computing an eigenfunction corresponding to a largest eigenvalue of the quarternion projection matrix.

11 . A computer program product comprising a nontransitory storage medium, the computer program product including code that, when executed by processing circuitry, causes the processing circuitry to perform a method, the method comprising:

receiving image data representing a plurality of images, each of the plurality of images indicating (i) a specified point in a plane of a mirror held at a respective mirror pose of a plurality of mirror poses with respect to a camera and (ii) a specified point in a virtual image display plane, the virtual image display plane including an image of a display;

determining a position and orientation of the camera in a reference frame of the display based on the specified point in the plane of the mirror and the specified point in the virtual image display plane; and

causing an image on the display to be presented to a user according to the determined position and orientation of the camera.

12 . The computer program product as in claim 11 , wherein the specified point in the plane of the mirror is located at a fiducial marker printed on the mirror.

13 . The computer program product as in claim 12 , wherein the fiducial marker is printed on mirror directly using an ultraviolet printer.

14 . The computer program product as in claim 11 , wherein the specified point in the virtual image display plane are disposed in a checkerboard pattern of fiducial markers in the virtual image display plane.

15 . The computer program product as in claim 14 , wherein receiving the image data includes:

performing an inversion operation on the checkerboard pattern of fiducial markers to produce an inverted checkerboard pattern, and

wherein determining the position and orientation of the camera in a reference frame of the display includes:

recording a position of a specified point disposed in the inverted checkerboard pattern.

16 . The computer program product as in claim 14 , wherein determining the position and orientation of the camera in a reference frame of the display includes:

determining a camera location in the plane of the mirror, the camera location in the plane of the mirror being based on a position of a point in the checkerboard pattern in the virtual image display plane.

17 . The computer program product as in claim 16 , wherein the camera location in a plane of the mirror is a constant times the position of the point in the checkerboard pattern in the virtual image display plane, the constant being based on the specified point in the plane of the mirror, the position of a point in the checkerboard pattern in the virtual image display plane, and an orientation of the mirror.

18 . The computer program product as in claim 11 , wherein determining the position and orientation of the camera in a reference frame of the display includes:

determining a position and an orientation of the display in the plane of the mirror.

19 . The computer program product as in claim 11 , wherein determining the position and orientation of the camera in a reference frame of the display includes:

averaging positions of the camera in the reference frame of the display over the plurality of mirror poses.

20 . The computer program product as in claim 19 , further comprising averaging rotations of the camera in the reference frame of the display over the plurality of mirror poses, including:

generating a quarternion projection matrix corresponding to a mirror pose; and

computing an eigenfunction corresponding to a largest eigenvalue of the quarternion projection matrix.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2023
From: PERREAULT, JOHN D.
To: GOOGLE LLC
Reel/Frame 064515/0756 →
Continuity (1)
Related Publication 20240338851A1 · Oct 10, 2024
References Cited (19)
US 9684953B2 · Kuster · 2017 [cited by examiner]
US 10841537B2 · Valli · 2020 [cited by examiner]
US 20100128105A1 · Halavy · 2010 [cited by examiner]
US 20120120184A1 · Fornell · 2012 [cited by examiner]
US 20140085501A1 · Tran · 2014 [cited by examiner]
US 20190108683A1 · Valli · 2019 [cited by examiner]
US 20210021748A1 · Cutler · 2021 [cited by examiner]
US 20210021784A1 · Cutler · 2021 [cited by examiner]
US 20210021785A1 · Cutler · 2021 [cited by examiner]
CN 113345029A · 2021 [cited by applicant]
WO 2021038478A1 · 2021 [cited by applicant]
International Search Report and Written Opinion for PCT Application No. PCT/US2022/075813, mailed on Mar. 30, 2023, 17 pages. [cited by applicant]
Jones, Andrew, et al., “Achieving Eye Contact in a One-to-Many 3D Video Teleconferencing System”, ACM Transactions on Graphics, vol. 28, No. 3, Article 64;, Aug. 2009, 8 pages. [cited by applicant]
Kumar, Ram Krishan, et al., “Simple Calibration of Non-Overlapping Cameras With a Mirror”, IEEE;, 2008, 7 pages. [cited by applicant]
Rodrigues, Rui, et al., “Camera Pose Estimation Using Images of Planar Mirror Reflections”, ECCV 2010, Part IV, LNC 6314; Springer-Verlag Berlin Heidelberg;, 2010, pp. 382-395. [cited by applicant]
Santo, Hiroaki, et al., “Light Structure From Pin Motion: Geometric Point Light Source Calibration”, International Journal of Computer Vision (2020) 128;, Mar. 13, 2020, 1889-1912. [cited by applicant]
Sturm, Peter, et al., “How to Compute the Pose of an Object Without a Direct View?”, ACCV 2006, LNCS 3852;, 2006, 11 pages. [cited by applicant]
Takahashi, Kosuke, et al., “A New Mirror-Based Extrinsic Camera Calibration Using an Orthogonality Constraint”, IEEE, https://ieeexplore.ieee.org/document/6247783, 2012, pp. 1051-1058. [cited by applicant]
Takahashi, Kosuke, et al., “Camera Calibration Based on Mirror Reflections”, IPSJ SIG Technical Report;, 2018, 16 pages. [cited by applicant]