# US 7,079,159 B2 · Motion estimation apparatus, method, and machine-readable medium capable of detecting scrolling text and graphic data

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

- Number: US 7,079,159 B2
- Document ID: US7079159B2
- Status: Granted
- Kind: B2
- Application number: 10/686,737
- Filed: 2003-10-17
- Published: 2004-05-27
- Granted: 2006-07-18
- Earliest claimed: 2002-11-23
- Assignees: Samsung Electronics Co., Ltd.
- Inventors: Seung-joon Yang
- Web page: https://patentgrep.com/patent/US7079159B2

## CPC

- H04N 5/44504: {Circuit details of the additional information generator, e.g. details of the character or graphics signal generator, overlay mixing circuits}
- H04N 5/145: {Movement estimation (for video coding H04N19/51)}
- H04N 21/4385: Multiplex stream processing, e.g. multiplex stream decrypting
- H04N 21/44004: {involving video buffer management, e.g. video decoder buffer or video display buffer}
- H04N 21/4886: {for displaying a ticker, e.g. scrolling banner for news, stock exchange, weather data}
- H04N 21/8126: {involving additional data, e.g. news, sports, stocks, weather forecasts}
- H04N 21/440218: {by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 (conversion of standards in analogue television systems H04N7/01)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A motion estimation apparatus, method, and machine-readable medium capable of detecting scrolling text or graphic data, which can provide information of whether text or graphic data scrolling in a horizontal direction on a screen exists and information related thereto.

## Claims

### Claim 1

A motion estimation apparatus, comprising:
a line-wise motion estimation unit for calculating motion vectors indicating the extent of motions in a horizontal direction for individual lines of a predetermined search area with reference to a current field/frame and a reference field/frame;
a motion vector buffer for storing motion vectors for the individual lines;
a scroll detection unit for determining whether scroll motions exist in the current field/frame based on the motion vectors for the individual lines which are stored in the motion vector buffer;
a scroll line detection unit for determining whether the scroll motions exist in the individual lines of the search area, based on a result of the determination of the scroll detection unit; and
a demultiplexer to store corresponding motion vectors at positions allocated in the motion vector buffer to respective lines based on inputted line number information.

### Claim 2 (depends on 1)

The motion estimation apparatus as claimed in claim 1, wherein the line-wise motion estimation unit includes:
a pixel buffer for sequentially storing pixel data constructing lines to calculate the motion vectors in the reference field/frame;
a FIFO buffer for sequentially storing pixel data constructing lines to calculate the motion vectors in the current field/frame;
an SAD buffer for calculating and storing summed absolute difference (SAD) values based on estimations of the extent of motions, using the pixel data respectively stored in the pixel buffer and the FIFO buffer; and
a motion vector estimator for calculating the motion vectors based on the SAD values stored in the SAD buffer.

### Claim 3 (depends on 2)

The motion estimation apparatus as claimed in claim 2, wherein the motion vector estimator calculates the motion vectors in correspondence to a motion estimation position having the minimum value of the SAD values stored in the SAD buffer.

### Claim 4 (depends on 2)

The motion estimation apparatus as claimed in claim 2, further comprising:
a motion detector for determining the validity of the motion vectors calculated by the motion vector estimator; and
an output selector for selectively outputting only selected motion vectors based on a result of the validity decision of the motion detector.

### Claim 5 (depends on 4)

The motion estimation apparatus as claimed in claim 4, wherein the motion estimator determines that the motion vectors are valid if a difference between the maximum value and the minimum value of the SAD values stored in the SAD buffer is larger than a predetermined threshold value.

### Claim 6

A motion estimation apparatus, comprising:
a line-wise motion estimation unit for calculating motion vectors indicating the extent of motions in a horizontal direction for individual lines of a predetermined search area with reference to a current field/frame and a reference field/frame;
a motion vector buffer for storing motion vectors for the individual lines;
a scroll detection unit for determining whether scroll motions exist in the current field/frame based on the motion vectors for the individual lines which are stored in the motion vector buffer; and
a scroll line detection unit for determining whether the scroll motions exist in the individual lines of the search area, based on a result of the determination of the scroll detection unit,
wherein the scroll detection unit calculates a number of occurrences of a plurality of magnitudes of the motion vectors stored in the motion vector buffer, and determines that the scroll motions exist when motion vectors of certain magnitudes are determined to be more than a predetermined number of occurrences.

### Claim 7 (depends on 6)

The motion estimation apparatus as claimed in claim 6, wherein the scroll line detection unit determines that the scroll motions exist in corresponding lines when motion vectors, calculated line by line, correspond to the magnitudes of motion vectors determined to be more than the predetermined number of occurrences.

### Claim 8

A motion estimation method, comprising:
(a) calculating motion vectors indicating the extent of motions in a horizontal direction for individual lines of a predetermined search area with reference to a current field/frame and a reference field/frame;
(b) storing motion vectors for the individual lines;
(c) determining whether scroll motions exist in the current field/frame based on the stored motion vectors for the individual lines;
(d) determining whether the scroll motions exist in the individual lines of the search area, based on a result of the determination of operation (c); and
(e) storing corresponding motion vectors at positions allocated to respective lines based on inputted line number information.

### Claim 9 (depends on 8)

The motion estimation method as claimed in claim 8, wherein operation (a) further comprises:
(a1) sequentially storing pixel data constructing lines to calculate the motion vectors in the reference field/frame;
(a2) sequentially storing pixel data to calculate the motion vectors in the current field/frame;
(a3) calculating and storing summed absolute difference(SAD) values based on estimations of the extent of motions, using the pixel data respectively stored in the operations (a1) and (a2); and
(a4) calculating the motion vectors based on the stored SAD values.

### Claim 10 (depends on 9)

The motion estimation method as claimed in claim 9, wherein the operation (a4) calculates the motion vectors in correspondence to a motion estimation position having the minimum value of the stored SAD values.

### Claim 11 (depends on 9)

The motion estimation method as claimed in claim 9, further comprising:
determining the validity of the motion vectors calculated in the operation (a4); and
selectively outputting only valid motion vectors based on a result of the validity determination.

### Claim 12 (depends on 11)

The motion estimation method as claimed in claim 11, wherein the determining the validity determines the motion vectors as valid if a difference between the maximum value and the minimum value of the SAD values stored in a SAD buffer is larger than a predetermined threshold value.

### Claim 13

A motion estimation method, comprising:
(a) calculating motion vectors indicating the extent of motions in a horizontal direction for individual lines of a predetermined search area with reference to a current field/frame and a reference field/frame;
(b) storing motion vectors for the individual lines;
(c) determining whether scroll motions exist in the current field/frame based on the stored motion vectors for the individual lines; and
(d) determining whether the scroll motions exist in the individual lines of the search area, based on a result of the determination of operation (c),
wherein operation (c) calculates the number of occurrences of a plurality of magnitudes of the stored motion vectors, and determines that the scroll motions exist when motion vectors of certain magnitudes are determined to be more than a predetermined number of occurrences.

### Claim 14 (depends on 13)

The motion estimation method as claimed in claim 13, wherein operation (d) determines that the scroll motions exist in corresponding lines when motion vectors, calculated line by line, correspond to the magnitudes of motion vectors determined to be more than the predetermined number of occurrences.

### Claim 15 (depends on 4)

The motion estimation apparatus of claim 4, wherein, if the motion detector determines that a motion vector is invalid, the output selector outputs a constant to indicate invalidity.

### Claim 16 (depends on 11)

The motion estimation method of claim 11, further comprising:
if a motion vector is invalid, outputting a constant to indicate invalidity.

### Claim 17

A machine-readable medium that provides instructions, which, when executed by a machine, cause the machine to perform motion estimation operations comprising:
(a) calculating motion vectors indicating the extent of motions in a horizontal direction for individual lines of a predetermined search area with reference to a current field/frame and a reference field/frame;
(b) storing motion vectors for the individual lines;
(c) determining whether scroll motions exist in the current field/frame based on the stored motion vectors for the individual lines;
(d) determining whether the scroll motions exist in the individual lines of the search area, based on a result of the determination of operation (c); and
storing corresponding motion vectors at positions allocated to respective lines based on inputted line number information.

### Claim 18 (depends on 17)

The machine-readable medium of claim 17, wherein the instructions cause the machine to perform motion estimation operations further comprising:
(a1) sequentially storing pixel data constructing lines to calculate the motion vectors in the reference field/frame;
(a2) sequentially storing pixel data to calculate the motion vectors in the current field/frame;
(a3) calculating and storing summed absolute difference(SAD) values based on estimations of the extent of motions, using the pixel data respectively stored in operations (a1) and (a2); and
(a4) calculating the motion vectors based on the stored SAD values.

### Claim 19 (depends on 18)

The machine-readable medium of claim 18, wherein operation (a4) calculates the motion vectors in correspondence to a motion estimation position having the minimum value of the stored SAD values.

### Claim 20 (depends on 18)

The machine-readable medium of claim 18, wherein the instructions cause the machine to perform motion estimation operations further comprising:
determining the validity of the motion vectors calculated in operation (a4); and
selectively outputting only valid motion vectors based on a result of the validity determination.

### Claim 21 (depends on 20)

The machine-readable medium of claim 20, wherein the determining the validity determines the motion vectors as valid if a difference between the maximum value and the minimum value of the SAD values stored in a SAD buffer is larger than a predetermined threshold value.

### Claim 22

A machine-readable medium, that provides instructions, which, when executed by a machine, cause the machine to perform motion estimation operations comprising:
(a) calculating motion vectors indicating the extent of motions in a horizontal direction for individual lines of a predetermined search area with reference to a current field/frame and a reference field/frame;
(b) storing motion vectors for the individual lines;
(c) determining whether scroll motions exist in the current field/frame based on the stored motion vectors for the individual lines; and
(d) determining whether the scroll motions exist in the individual lines of the search area, based on a result of the determination of operation (c),
wherein operation (c) calculates a number of occurrences of a plurality of magnitudes of the stored motion vectors, and determines that the scroll motions exist when motion vectors of certain magnitudes are determined to be more than a predetermined number of occurrences.

### Claim 23 (depends on 22)

The machine-readable medium of claim 22, wherein operation (d) determines that the scroll motions exist in corresponding lines when motion vectors calculated line by line corresponds to the magnitudes of motion vectors are determined to be more than a predetermined number of occurrences.
