# US 7,612,691 B2 · Encoding and decoding systems

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

- Number: US 7,612,691 B2
- Document ID: US7612691B2
- Status: Granted
- Kind: B2
- Application number: 11/677,936
- Filed: 2007-02-22
- Published: 2007-06-14
- Granted: 2009-11-03
- Earliest claimed: 2002-02-04
- Assignees: Microsoft Corporation
- Inventors: Nick Vicars-Harris
- Web page: https://patentgrep.com/patent/US7612691B2

## CPC

- H04N 21/235: Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N 19/12: Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/467: characterised by the embedded information being invisible, e.g. watermarking
- H04N 19/61: in combination with predictive coding
- H04N 19/85: using pre-processing or post-processing specially adapted for video compression
- H04N 21/431: Generation of visual interfaces {for content selection or interaction}; Content or additional data rendering
- H04N 21/435: Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
- H04N 21/4398: {involving reformatting operations of audio signals (details of audio signal transcoding G10L19/173)}
- H04N 21/4402: involving reformatting operations of video signals for household redistribution, storage or real-time display {(details of conversion of video standards at pixel level H04N7/01; video transcoding H04N19/40; adapting incoming signals to the display format of the display terminal G09G5/005; media handling at the source in data packet switching networks H04L65/764)}
- H04N 21/8193: {dedicated tools, e.g. video decoder software or IPMP tool}
- H04N 5/602: {for digital sound signals}
- H04N 21/426: Internal components of the client {; Characteristics thereof} (H04N5/44 takes precedence)
- Y10S 707/99942: Manipulating data structure, e.g. compression, compaction, compilation
- Y10S 707/99943: Generating database or data structure, e.g. via user interface
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

Methods and systems enable uncompressed source data, corresponding to previously-compressed data, to be manipulated or otherwise modified, prior to being rendered by a rendering application. For example, audio data can be modified to include additional audio content, and/or video data can be modified to include additional video content. Accordingly, when the modified or manipulated source data is rendered by the rendering application, it can contain additional information that was not part of the previously-compressed data.

## Claims

### Claim 1

A computing system comprising:
one or more computer-readable media;
one or more processors;
computer-readable instructions on the one or more computer-readable which, when executed by the one or more processors, cause the one or more processors to execute a method comprising:
receiving compressed data that has been compressed using a first encoder having an associated first decoder that can be used to uncompress the compressed data;
providing the compressed data to at least one second decoder that is different from the first decoder, wherein the at least one second decoder comprises a wrapper for the first decoder;
uncompressing the compressed data to provide uncompressed data by providing the compressed data to the wrapped first decoder; and
operating on the uncompressed data to provide modified uncompressed data.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the instructions further cause the one or more processors to render the modified uncompressed data using a rendering application.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein said providing the compressed data to the second decoder comprises searching for an ID tag associated with the compressed data and which corresponds to the second decoder.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein said uncompressing comprises providing the compressed data to the wrapped first decoder so that the wrapped first decoder can uncompress the compressed data, and further wherein the instructions cause the one or more processors to provide the modified uncompressed data to the second decoder so that the second decoder can provide the modified uncompressed data to a rendering application for rendering.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the compressed data comprises audio data.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the compressed data comprises video data.

### Claim 7 (depends on 1)

The computing system of claim 1, wherein the compressed data comprises both audio data and video data.

### Claim 8

A computing system comprising;
one or more computer-readable media;
one or more processors;
computer-readable instructions on the one or more computer-readable which, when executed by the one or more processors, cause the one or more processors to execute a method comprising:
receiving a compressed file that has been compressed using a first encoder having an associated first decoder that can be used to uncompress the compressed file, the compressed file comprising at least one ID tag that is associated with a second decoder that is different from the first decoder and that serves as a wrapper for the first decoder;
searching for said at least one ID tag to identify the second decoder;
providing the compressed file to the second decoder so that the compressed file can be uncompressed;
using the second decoder, providing the compressed file to the first decoder;
uncompressing the compressed file using the first decoder to provide an uncompressed file;
providing the uncompressed file to a modification module;
modifying the uncompressed file using the modification module to provide a modified uncompressed file;
providing the modified uncompressed file to the second decoder;
using the second decoder, providing the modified uncompressed file to a rendering application; and
rendering the modified uncompressed file on a client device using the rendering application.

### Claim 9 (depends on 8)

The computing system of claim 8, wherein said searching is performed by the rendering application.

### Claim 10 (depends on 8)

The computing system of claim 8, wherein said compressed file comprises compressed audio data.

### Claim 11 (depends on 8)

The computing system of claim 8, wherein said compressed file comprises compressed video data.

### Claim 12 (depends on 8)

The computing system of claim 8, wherein said compressed file comprises both compressed audio data and compressed video data.

### Claim 13 (depends on 8)

The computing system of claim 8, wherein said compressed file comprises a compressed media file.

### Claim 14

A computing system comprising:
one or more computer-readable media;
one or more processors;
computer-readable instructions on the one or more computer-readable which, when executed by the one or more processors, cause the one or more processors to execute a method comprising:
receiving a file comprising compressed data and information associated with an encoder that compressed source data corresponding to the compressed data, said information being configured for use in locating a first decoder that corresponds to the encoder and which can be used to uncompress the compressed data;
searching for the information;
replacing the information with different information that is associated with a second decoder that is different from the first decoder and which can be used, at least in part, to uncompress the compressed data, wherein the second decoder comprises a wrapper for the first decoder.

### Claim 15 (depends on 14)

The computing system of claim 14, wherein both said information and said different information comprise respective ID tags.

### Claim 16 (depends on 14)

The computing system of claim 14, wherein said compressed data comprises audio data.

### Claim 17 (depends on 14)

The computing system of claim 14, wherein said compressed data comprises video data.

### Claim 18 (depends on 14)

The computing system of claim 14, wherein said compressed data comprises both audio data and video data.
