IP Library › Granted Patent US 9,509,991
Granted Patent B2
US 9,509,991 · App. 13/959,157 · Granted Nov 29, 2016

Processing and reproduction of frames

Inventors: Tuomas Karkkainen (Turku, FI); Ossi Kalevo (Toijala, FI)
Assignee: GURULOGIC MICROSYSTEMS OY
H04N19/00569H04N19/507H04N19/85
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 9,509,991
App. No.
13/959,157
Granted
Nov 29, 2016
Kind
B2
Abstract

A processor is configured to receive input data, divide an individual frame into blocks, compare the blocks with corresponding blocks of a first prediction frame for and identify changed blocks. In order to obtain an efficient solution for processing and reproducing frames, the processor is configured to include in generated intermediate data the blocks identified as changed blocks, and generate a change indicator indicating the positions in the individual frame of the identified changed blocks and identified unchanged blocks.

Claims (54)

1. A processor configured to:

receive input data,

divide an individual frame included in the input data into blocks,

compare the blocks of the individual frame with corresponding blocks of a first prediction frame for detecting differences in the compared blocks,

identify as changed blocks the blocks of the individual frame for which differences have been detected,

identify as unchanged blocks the blocks of the individual frame for which no differences have been detected, and

generate intermediate data, wherein for at least one processed individual frame the processor is configured to:

include in the intermediate data the blocks identified as changed blocks and a header indicating frame size associated with the generated intermediate data, and

generate a change indicator indicating in the order that the individual frame is processed for each block with one single bit whether the block is a changed block or an unchanged block

for at least one processed individual frame drop the blocks identified as unchanged blocks by not including them into the generated intermediate data,

forward the intermediate data including the header to an encoder requiring information about the frame size, directly or after storage in a memory, and

forward the change indicator to a reproducer directly or after storage in a memory.

2. The processor according to claim 1 , wherein for each processed individual frame the processor is configured to include in the generated intermediate data also the blocks identified as unchanged blocks.

3. The processor according to claim 1 , wherein for each processed individual frame the processor is configured to modify the first prediction frame such that when processing of a subsequent individual frame is carried out at least the blocks identified as changed blocks in the previous processed individual frame have been modified in the first prediction frame to correspond to the corresponding blocks of the previously processed individual frame.

4. The processor according to claim 1 , wherein for each processed individual frame the processor is configured to modify the first prediction frame by utilizing a signal indicating the content of the changed blocks of the intermediate data after an encoding and decoding operation.

5. The processor according to claim 1 , wherein the processor is configured to generate and include in the intermediate data a frame size indicator for the processed individual frame size of the changed blocks included in the intermediate data.

6. The processor according to claim 1 , wherein the processor is configured to:

divide the individual frame included in the input data into blocks of different size, and

generate the change indicator to additionally indicate the size of the blocks of the processed individual frame.

7. The processor according to claim 1 , wherein the processor is configured to compare the detected differences to a threshold, and to identify as changed blocks the blocks of the individual frame whose detected differences exceeds the threshold, and to identify as unchanged blocks the blocks of the individual frame whose detected differences do not exceed the threshold.

8. The processor according to claim 1 , wherein the processor is configured to forward to a reproducer a global change information indication for use as a second prediction frame when intermediate data is processed by the reproducer.

9. A reproducer configured to:

receive intermediate data with a header indicating frame size associated with the generated intermediate data, and

modify a second prediction frame by utilizing the received intermediate data, and

generate output data that includes the content of the modified second prediction frame, wherein the reproducer is configured to:

obtain from the received intermediate data blocks identified as changed blocks,

receive from a processor directly or after storage in a memory a change indicator indicating in the order that the second prediction frame is processed for each block with a single bit whether the block should be modified or should not be modified,

receive said intermediate data including a header from a decoder directly or after storage in a memory, and;

carry out said modifying by including the obtained changed blocks in the second prediction frame in the positions of the blocks that according to the change indicator should be modified.

10. A reproducer according to claim 9 , wherein:

the reproducer is configured to receive an indication of the size of the different blocks of the second prediction frame via the change indicator, and

to carry out said modifying of the prediction frame ( 9 ) by taking into account the indicated size of the different blocks.

11. A reproducer according to claim 9 , wherein the reproducer is configured to receive a global change information indication for use as the second prediction frame when intermediate data is processed by the reproducer.

12. A method of processing received input data, comprising:

dividing an individual frame included in the input data into blocks,

comparing the blocks of the individual frame with corresponding blocks of a first prediction frame for detecting differences in the compared blocks,

identifying as changed blocks the blocks of the individual frame for which differences have been detected,

identifying as unchanged blocks the blocks of the individual frame for which no differences have been detected, and

generating intermediate data, wherein for at least one processed individual frame the method comprises:

including in the generated intermediate data the blocks identified as changed blocks and a header indicating frame size associated with the generated intermediate data, and

generating a change indicator indicating in the order that the individual frame is processed for each block with a single bit whether the block is a changed block or an unchanged block,

dropping of the blocks identified as unchanged blocks by not including them into the generated data,

forwarding the intermediate data including the header requiring information about the frame size to an encoder directly or after storage in a memory, and

forwarding the change indicator to a reproducer directly or after storage in a memory.

13. A non-transitory computer readable medium storing a computer program executable by a processor, and comprising computer program instructions, which, when executed by the processor, cause the processor to perform the method according to claim 12 .

14. A method of producing output data comprising:

receive intermediate data with a header indicating frame size associated with the intermediate data, and

modifying a second prediction frame by utilizing the received intermediate data, and

generating the output data to include the content of the modified second prediction frame, wherein the method comprises:

obtaining from the received intermediate data blocks identified as changed blocks,

receiving from a processor directly or after storage in a memory a change indicator indicating in the order the second prediction frame is processed for each block with one single bit whether the block should be modified or should not be modified,

receive said intermediate data including the header from a decoder directly or after storage in a memory, and

carrying out said modifying by including the obtained changed blocks in the second prediction frame in the positions of the blocks that according to the change indicator should be modified.

15. A non-transitory computer readable medium storing a computer program executable by a processor, and comprising computer program instructions, which, when executed by the processor, cause the processor to perform the method according to claim 14 .

Assignments (3)
SECURITY INTEREST Recorded Apr 6, 2026
From: GL IP PROTECT LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075366/0123 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2026
From: GURULOGIC MICROSYSTEMS OY
To: GL IP PROTECT LLC
Reel/Frame 074092/0232 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2013
From: KARKKAINEN, TUOMAS; KALEVO, OSSI
To: GURULOGIC MICROSYSTEMS OY
Reel/Frame 030943/0033 →
Priority Claims (2)
FI 20045290 · Aug 12, 2004 · national
EP 13172237 · Jun 17, 2013 · regional
Continuity (5)
Continuation In Part 13461029 · May 1, 2012
Continuation In Part 13430821 · Mar 27, 2012
Continuation In Part 13430821
Continuation 11660037
Related Publication 20130315307A1 · Nov 28, 2013