IP Library Granted Patent US 7,606,310
Granted Patent B1
US 7,606,310 · App. 12/102,694 · Granted Oct 20, 2009

Video compression and encoding method

Assignee: On2 Technologies, Inc.
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 7,606,310
App. No.
12/102,694
Granted
Oct 20, 2009
Kind
B1
Abstract

A method of compressing video data having at least one frame having at least one block and each block having an array of pixels is provided. The method transforms the pixels of each block into coefficients and creates an optimal transmission order of the coefficients. The method also optimizes the speed of processing compressed video data by partitioning the data bitstream and coding each partition independently. The method also predicts fractional pixel motion by selecting an interpolation method for each given plurality or block of pixels depending upon at least one metric related to each given block and varies the method from block to block. The method also enhances error recovery for a current frame using a frame prior to the frame immediately before the current frame as the only reference frame for lessening quality loss during data transmission. Enhanced motion vector coding is also provided.

Claims (26)

1. A method for encoding motion vectors in video compression, comprising the steps of:

Subdividing an image into a set of partitions, and for a given partition;

a) Examining motion vectors of partitions surrounding said given partition in said image that have been encoded prior to said given partition

b) Counting how many times each motion vector appears in the partitions surrounding said given partition and producing a plurality of tallies of each of said motion vectors; and

c) Using a subset of said tallies to determine which motion vector is re-used as a reference to encode a motion vector of said given partition.

2. The method of claim 1 , wherein said motion vectors of partitions surrounding said given partition are examined in an order based on proximity to said given partition.

3. The method of claim 1 , wherein the counts from step b) are distance weighted.

4. A method for encoding motion vectors in video compression, comprising the steps of:

Subdividing an image into a set of partitions, and for a given partition:

a) Examining motion vectors of partitions surrounding said given partition in said image that have been encoded prior to said given partition;

b) Counting how many times each motion vector appears in the surrounding partitions and producing a plurality of tallies of each of said motion vectors;

c) Using a subset of said tallies as a context for losslessly encoding which motion vector is re-used as a reference motion vector; and

d) Using said reference motion vector to encode a motion vector of said given partition.

5. The method of claim 4 , wherein said motion vectors of partitions surrounding said given partition are examined in an order based on proximity to said given partition.

6. The method of claim 4 , wherein the counts from step b) are distance weighted.

7. The method of claim 4 , further comprising the steps of:

Creating an N dimensional array as the lossless encoding context of step c) where N is the number of different motion vectors used in neighboring partitions; and

Using the count of each different motion vector to index each dimension of the array,

Wherein a value stored in the array is a set of probabilities that determines which motion vector to use as a reference.

8. A method for encoding motion vectors in video compression, comprising the steps of:

Subdividing an image into a set of partitions, and for a given partition:

a) Examining motion vectors of partitions surrounding said given partition in said image that have been encoded prior to said given partition;

b) Counting how many times each motion vector appears in the surrounding partitions and producing a plurality of tallies of each of said motion vectors; and

c) Using a subset of said tallies as a context for losslessly encoding a new motion vector for said given partition.

9. The method of claim 8 , wherein said motion vectors of partitions surrounding said given partition are examined in an order based on proximity to said given partition.

10. The method of claim 8 , wherein the counts from step b) are distance weighted.

Assignments (5)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2012
From: MURPHY, TIM
To: GOOGLE INC.
Reel/Frame 027965/0274 →
MERGER Recorded Nov 19, 2010
From: ON2 TECHNOLOGIES, INC.
To: ON2 TECHNOLOGIES, LLC
Reel/Frame 025378/0190 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2010
From: ON2 TECHNOLOGIES, LLC
To: GOOGLE INC.
Reel/Frame 025378/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2009
From: AMERES, ERIC L.; GRANGE, ADRIAN W.; WILKINS, PAUL G.; BANKOSKI, JAMES B.; XU, YAOWU
To: ON2 TECHNOLOGIES, INC.
Reel/Frame 023032/0128 →
Continuity (2)
Continuation 1117062900 · Jun 28, 2005
Provisional Application 6058387200 · Jun 28, 2004