# US 12,223,766 B2 · Proximity framing in a video system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,223,766 B2
- Document ID: US12223766B2
- Status: Granted
- Kind: B2
- Application number: 17/971,527
- Filed: 2022-10-21
- Published: 2023-12-14
- Granted: 2025-02-11
- Earliest claimed: 2022-06-10
- Assignees: Hewlett-Packard Development Company, L.P.
- Applicants: Hewlett-Packard Development Company, L.P.
- Inventors: Nhu Quynh Pham Nguyen; Kishore Venkat Rao Goka; Joshua Raglin; Dhaval Patel; Sakshi Gupta; Venkateswarlu Lakkamraju; Krishna Balusu
- Web page: https://patentgrep.com/patent/US12223766B2

## CPC

- G06V 40/161: {Detection; Localisation; Normalisation}
- G06V 40/167: {using comparisons between temporally consecutive images}
- G06V 10/22: by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
- G06V 10/82: using neural networks
- G06V 20/40: in video content (extracting overlay text G06V20/62; video retrieval G06F16/70; processing of video elementary streams in video servers H04N21/234; processing of video elementary streams in video clients H04N21/44)
- G06V 20/46: {Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames}
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A method may include obtaining, using a head detection model and for an image of a video stream, head detection information, where the head detection information identifies heads detected in the image. Method may also include obtaining buffer bounding boxes. Obtaining the buffer bounding boxes may include obtaining head buffer bounding boxes for the heads detected in the image, and combining at least two of the head buffer bounding boxes into a proximity buffer bounding box. The method may furthermore include identifying a set of templates based on the buffer bounding boxes. Method may in addition include creating, individually, head frame definitions for the buffer bounding boxes using the set of templates, generating an image frame definition that combines the head frame definitions, and processing the video stream using the image frame definition.

## Claims

### Claim 1

A method comprising:
obtaining, using a head detection model (112) and for an image of a video stream (104), head detection information, wherein the head detection information identifies a plurality of heads detected in the image (501);
obtaining a plurality of buffer bounding boxes, wherein obtaining the plurality of buffer bounding boxes comprises:
obtaining a plurality of head buffer bounding boxes for the plurality of heads detected in the image, and
combining at least two of the plurality of head buffer bounding boxes into a proximity buffer bounding box (503);
identifying a set of templates (400) based on the plurality of buffer bounding boxes (505);
creating, individually, a plurality of head frame definitions for the plurality of buffer bounding boxes using the set of templates (507);
generating an image frame definition that combines the plurality of head frame definitions (617); and
processing the video stream using the image frame definition (621).

### Claim 2 (depends on 1)

The method of claim 1, wherein obtaining the plurality of buffer bounding boxes comprises:
making a detection that the at least two of the plurality of head buffer bounding boxes are vertically adjacent in the image, wherein combining the at least two of the plurality of head buffer bounding boxes is based on the detection.

### Claim 3 (depends on 1)

The method of claim 1, wherein obtaining the plurality of buffer bounding boxes comprises:
making a detection that the at least two of the plurality of head buffer bounding boxes are at least one of within a threshold distance and overlapping to each other in the image, wherein combining the at least two of the plurality of head buffer bounding boxes is based on the detection.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
obtaining, from the head detection information, a plurality of head detection bounding boxes for the plurality of heads detected in the image; and
adding a buffer around in the plurality of head detection bounding boxes to obtain the plurality of head buffer bounding boxes.

### Claim 5 (depends on 1)

The method of claim 1, wherein combining the at least two head buffer bounding boxes comprises:
generating a proximity buffer bounding box around the at least two head buffer bounding boxes;
generating a square region within the proximity buffer bounding box,
wherein the square region is aligned to a template in the set of templates.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
aligning a top of the square region to a top headline and a bottom of the square region to a bottom headline of the template to generate a head frame definition of the plurality of head frame definitions.

### Claim 7 (depends on 6)

The method of claim 6, wherein aligning comprises
defining a zoom amount for the buffer bounding box.

### Claim 8 (depends on 6)

The method of claim 6, further comprising:
determining, after aligning, that the head frame definition specifies a region not in the image;
adjusting at least one of a zoom amount and a location specified in the head frame definition to exclude the region.

### Claim 9 (depends on 5)

The method of claim 5, wherein the proximity buffer bounding box comprises:
a top edge matching a top edge of a topmost head buffer bounding box of the at least two head buffer bounding boxes,
a bottom edge matching a bottom edge of a bottom most head buffer bounding box of the at least two head buffer bounding boxes,
a left edge matching a left edge of a left most head buffer bounding box of the at least two head buffer bounding boxes, and
a right edge matching a right edge of a right most head buffer bounding box of the at least two head buffer bounding boxes.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
defining a plurality of columns for a layout based on a number of heads detected in the image;
assigning the proximity buffer bounding box to a first column of the plurality of columns, the column matching a location of at least two head buffer bounding boxes; and
assigning at least one remaining buffer bounding box of the plurality of bounding boxes to at least one remaining column of the plurality of columns.

### Claim 11 (depends on 9)

The method of claim 9, wherein assigning the at least one remaining buffer bounding box comprises:
assigning a subset of the plurality of head buffer bounding boxes to a second column of the layout.

### Claim 12 (depends on 9)

The method of claim 9, further comprising:
determining, after assigning the at least one remaining buffer bounding boxes, that a column of the plurality of columns is empty; and
expanding the first column responsive to determining that the column is empty.

### Claim 13 (depends on 11)

The method of claim 11, wherein the first column is expanded based on the proximity buffer bounding box having a greatest number of heads of the plurality of heads.

### Claim 14 (depends on 1)

The method of claim 1, wherein creating the plurality of head frame definitions comprises:
selecting a buffer bounding box of the plurality of buffer bounding boxes to obtain a selected bounding box,
creating a head frame definition for the selected bounding box using a template in the set of templates, the template corresponding to a location assigned to the buffer bounding box, and
adding the head frame definition to the image frame definition.

### Claim 15 (depends on 1)

The method of claim 1, further comprising:
monitoring the video stream for movement of the plurality of heads.

### Claim 16

A system comprising:
a video processor (106) comprising:
a head detection model (112) configured to generate head detection information for an image of a video stream, wherein the head detection information identifies a plurality of heads detected in the image,
a frame generator (116) configured to generate a plurality of head frame definitions for an image of an input video stream, wherein generating the plurality of head frame definitions comprises:
obtaining, using a head detection model and for an image of a video stream, head detection information, wherein the head detection information identifies a plurality of heads detected in the image;
obtaining a plurality of buffer bounding boxes, wherein obtaining the plurality of buffer bounding boxes comprises:
obtaining a plurality of head buffer bounding boxes for the plurality of heads detected in the image, and
combining at least two of the plurality of head buffer bounding boxes into a proximity buffer bounding box;
identifying a set of templates based on the plurality of buffer bounding boxes;
creating, individually, the plurality of head frame definitions for the plurality of buffer bounding boxes using the set of templates; and
an image framing processor (114) configured to process the video stream using the image frame definition.

### Claim 17 (depends on 15)

The system of claim 15, further comprising:
a camera (102) for capturing the video stream (104).

### Claim 18 (depends on 16)

The system of claim 16, wherein the video processor (106) is within a housing of the camera (102).

### Claim 19 (depends on 15)

The system of claim 15, wherein the video processor (106) further comprises:
a plurality of timers (124) to trigger reframing of the plurality of head frame definitions.

### Claim 20

A method comprising:
obtaining, using a head detection model and for an image of a video stream, head detection information, wherein the head detection information identifies a plurality of heads detected in the image;
obtaining a plurality of buffer bounding boxes, wherein obtaining the plurality of buffer bounding boxes comprises:
obtaining a plurality of head buffer bounding boxes for the plurality of heads detected in the image, and
combining at least two of the plurality of head buffer bounding boxes into a proximity buffer bounding box;
identifying a set of templates based on the plurality of buffer bounding boxes;
creating, individually, a plurality of head frame definitions for the plurality of buffer bounding boxes; and
processing the video stream using the plurality of head frame definitions.
