IP Library Granted Patent US 7,277,588
Granted Patent B2
US 7,277,588 · App. 11/406,061 · Granted Oct 2, 2007

Quantization and compression of information in a direct acyclic graph

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,277,588
App. No.
11/406,061
Granted
Oct 2, 2007
Kind
B2
Abstract

A technique wherein the number and position of a quantization parameter node is determined in response to the quantization parameters and a preselected error. The size of scene graph and the corresponding amount of memory required to store the scene graph can be reduced by selective placement of quantization parameter nodes in a scene graph. The scene graph is traversed depth first to establish an order and then traversed in reverse. At each node, a calculation relating to (1) the relative cost of inserting a quantization parameter node and (2) the relative savings that result from insertion of a quantization node is performed. Quantization parameter nodes are selectively placed in response to a result of these calculations. The maximum degree of acceptable error value is chosen for each quantization type. This error value limits the number of quantization parameter nodes that can be placed in a scene graph.

Claims (31)

1. A method for compressing a scene graph in a multimedia presentation, the method comprising:

ordering a plurality of graph nodes in the screen graph in a first direction;

traversing said ordered graph nodes in a second direction, the second direction being a reverse of said first direction, wherein the step of traversing comprises determining, for each traversed ordered graph node that has a successive sibling node lying in the second direction, whether to insert a quantization parameter node immediately following said each traversed ordered node, each quantization parameter node being capable of affecting compression of ordered nodes lying in the first direction from said each quantization parameter node; and

inserting the quantization node between said each traversed ordered graph node and the successive sibling node lying in the second direction in response to the step of determining.

2. The method of compressing according to claim 1 , wherein the step of determining comprises costs of inserting a single quantization parameter node controlling compression of the successive sibling node and of said each traversed ordered graph node to the cost of inserting separate quantization parameter nodes to control compression of the successive sibling node and of said each traversed ordered graph node.

3. The method of compressing according to claim 2 , wherein the step of comparing comprises:

calculating a first cost of inserting a first quantization parameter node between said each traversed ordered graph node and the successive sibling node lying in the second direction, the first quantization parameter node controlling compression of said each traversed ordered graph node;

calculating a second cost of inserting a second quantization parameter node lying immediately adjacent to the successive sibling node in the second direction, the second quantization parameter node controlling compression of the successive sibling node while the first quantization parameter node controls compression of said each traversed ordered graph node; and

calculating a third cost of inserting a third quantization parameter node lying immediately adjacent to the successive sibling node in the second direction, the third quantization parameter node controlling compression of the successive sibling node and of said each traversed ordered graph node.

4. The method of compressing according to claim 3 , wherein the step of comparing further comprises:

summing the first cost and the second cost to obtain a combined cost; and

deciding whether the third cost is greater than the combined cost.

5. A system for compressing a scene graph in a multi-media presentation, the system comprising a memory storing computer instructions and a processor coupled to the memory, the processor being capable of executing the instructions, wherein the instructions, when executed by the processor, cause the processor to perform the following steps:

ordering graph nodes of a plurality of nodes in the scene graph in a first direction to obtain ordered graph nodes;

selecting one or more ranges of quantization values for one or more quantization types of the ordered graph nodes;

traversing the ordered graph nodes in a second direction, the second direction being a reverse of the first direction, wherein the step of traversing comprises determining, for each traversed ordered graph node that has a successive sibling node lying in the second direction, whether to insert a quantization parameter node immediately following said each traversed ordered node, each quantization parameter node being capable of affecting compression of ordered nodes lying in the first direction from said each quantization parameter node; and

inserting the quantization node between said each traversed ordered graph node and the successive sibling node lying in the second direction in response to the step of determining.

6. The system according to claim 5 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of determining, to compare costs of inserting a single quantization parameter node controlling compression of the successive sibling node and of said each traversed ordered graph node to the cost of inserting separate quantization parameter nodes to control compression of the successive sibling node and of said each traversed ordered graph node.

7. The system according to claim 6 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of comparing, to:

calculate a first cost of inserting a first quantization parameter node between said each traversed ordered graph node and the successive sibling node lying in the second direction, the first quantization parameter node controlling compression of said each traversed ordered graph node;

calculate a second cost of inserting a second quantization parameter node lying immediately adjacent to the successive sibling node in the second direction, the second quantization parameter node controlling compression of the successive sibling node while the first quantization parameter node controls compression of said each traversed ordered graph node; and

calculate a third cost of inserting a third quantization node lying immediately adjacent to the successive sibling node in the second direction, the third quantization parameter node controlling compression of the successive sibling node and of each traversed ordered graph node.

8. The system according to claim 7 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of comparing, to:

sum the first and the second cost to obtain a combined cost; and

decide whether the third cost is greater than the combined cost.

9. The system according to claim 8 , wherein the instructions, when executed by the processor, cause the processor to insert the quantization node between said each traversed ordered graph node and the successive sibling node lying in the second direction when the third cost is greater than the combined cost.

10. The system according to claim 9 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of selecting, to select the one or more ranges of quantization values for a quantization type affecting object position.

11. The system according to claim 9 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of selecting, to select the one or more ranges of quantization values for a quantization type affecting object size.

12. The system of claim 9 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of selecting, to select the one or more ranges of quantization values for a quantization type affecting color and intensity.

13. The system according to claim 9 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of selecting, to select the one or more ranges of quantization values for a quantization type affecting scale in transformation.

14. The system according to claim 9 , wherein the instructions, when executed by the processor, cause the processor, in the course of performing the step of selecting, to select the one or more ranges of quantization values for a quantization type affecting angles.

Assignments (11)
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2025
From: CITIBANK, N.A., AS AGENT
To: MK SYSTEMS USA INC.
Reel/Frame 073070/0114 →
SECURITY INTEREST Recorded May 20, 2022
From: MK SYSTEMS USA INC.
To: CITIBANK, N.A., AS AGENT
Reel/Frame 060134/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: ENVIVIO INC.
To: TELEFONAKTIEBOLAGET LM ERICSSON
Reel/Frame 052450/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
To: LEONE MEDIA INC.
Reel/Frame 052451/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: LEONE MEDIA INC.
To: MK SYSTEMS US HOLDCO INC.
Reel/Frame 052451/0355 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: MK SYSTEMS US HOLDCO INC.
To: MK SYSTEMS US SUB-HOLDCO INC.
Reel/Frame 052451/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2020
From: MK SYSTEMS US SUB-HOLDCO INC.
To: MK SYSTEMS USA INC.
Reel/Frame 052451/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2020
From: FISHER, YUVAL; SIGNES, JULIEN; DENIAU, ERIC
To: ENVIVIO, INC.
Reel/Frame 052418/0948 →
SECURITY INTEREST Recorded Jun 5, 2018
From: ENVIVIO, INC.
To: SILICON VALLEY BANK
Reel/Frame 047230/0307 →
SECURITY AGREEMENT Recorded Dec 8, 2010
From: ENVIVIO, INC.
To: SILICON VALLEY BANK
Reel/Frame 025453/0329 →
SECURITY AGREEMENT Recorded Nov 19, 2007
From: ENVIVIO INC.
To: VENTURE LENDING & LEASING IV, INC.; VENTURE LENDING & LEASING V, INC.
Reel/Frame 020156/0559 →