|Publication number||US7394466 B2|
|Application number||US 10/518,650|
|Publication date||Jul 1, 2008|
|Filing date||Jun 17, 2003|
|Priority date||Jun 20, 2002|
|Also published as||US20050231518, WO2004001668A1|
|Publication number||10518650, 518650, PCT/2003/57, PCT/PL/2003/000057, PCT/PL/2003/00057, PCT/PL/3/000057, PCT/PL/3/00057, PCT/PL2003/000057, PCT/PL2003/00057, PCT/PL2003000057, PCT/PL200300057, PCT/PL3/000057, PCT/PL3/00057, PCT/PL3000057, PCT/PL300057, US 7394466 B2, US 7394466B2, US-B2-7394466, US7394466 B2, US7394466B2|
|Original Assignee||Advanced Digital Broadcast Polska Sp. Z.O.O., Advanced Digital Broadcast, Ltd.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (6), Classifications (8), Legal Events (6)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This is a National Stage Application of International Patent Application No. PCT/PL 03/00057, with an international filing date of Jun. 17, 2003, which is based on Polish Patent Application No. P-354638, filed Jun. 20, 2002.
1. Field of the Invention
The present invention relates to a method for allocation of data for images in operating memory.
2. Brief Description of the Background of the Invention Including Prior Art
Images displayed on a screen are generated by a device, which outputs data in a form acceptable by a given display. Computer graphic cards or signal processors in digital TV set-top boxes are examples of such systems.
An image generated on a screen can be composed of various elements. It is the task of the graphic system to combine those elements and generate a resulting signal on the screen. These elements may include a text, an image or a video signal. The graphic processor reads the individual elements from a memory and combines them. To make it possible, the elements have to be stored in the memory in a suitable format. For an image, it is usually a set of bytes representing individual points of the image (pixels)—as well as additional information, such as the size of the image. It is a standard procedure to store the image in its entirety, in a single segment of memory, which assures speed and reliability of the image display process. Such an approach is unfortunately inefficient for systems with limited amount of operating memory.
1. Purposes of the Invention
It is an object of this invention to provide a method for allocation of data for images in operating memory that allows storing an image more efficiently.
This and other objects and advantages of the present invention will become evident from the description which follows.
2. Brief Description of the Invention
In a method for memory allocation for images, when storing data describing an image in operating memory, the image is divided into lines, and each line is described by a separate subset of data, from which at least one set of data is created, to which a free segment of an operating memory is assigned. The creation of sets of data is performed until data describing the whole image is assigned to the sets of data, and when reading the image, consecutive lines are read from the operating memory, until the whole image is read.
The sets of data can be created from the subsets of data describing the consecutive lines of the image to which no segment of operating memory has been assigned yet, and each created set of subsets of data is not larger than the free segment of memory in which the created set of data will be stored.
The created set of data can comprise data describing the whole image, and from this set of data at least one fragment is selected that is not larger than the free segment of memory, in which the selected fragment of the set of data will be stored.
The fragment selected from the set of data describing the whole image can be not smaller than the subset of data describing one line and not larger than a sum of subsets of data describing all the lines into which the image has been divided.
The selection of the fragment can be performed by dividing the set of data, comprising the subsets of data describing the lines to which no segment of operating memory has been assigned yet.
The selection of the fragment can be performed by decreasing the number of subsets of data describing the lines, to which no segment of operating memory has been assigned yet, by a predetermined number.
The predetermined number can be proportional to the number of subsets of data describing the lines, to which no segment of operating memory has been assigned yet.
Each line can be assigned a number.
Simultaneously with assigning the segments of operating memory to each line, the table of pointers to individual lines can be filled.
The table of pointers to individual lines can comprise the memory address of each line of the image.
The novel features which are considered as characteristic for the invention are set forth in the appended claims. The invention itself, however, both as to its construction and its method of operation, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.
The object of this invention is shown in implementation examples in the enclosed drawings, in which:
While storing the data describing the image 10 in the operating memory, a table of pointers is created. The pointers define the location of individual image lines in the operating memory. The table of pointers is then used by every function, which performs operations on the image. The functions for storing and reading the image from the operating memory are described below.
In the algorithm for storing data, it is first checked if there exists a memory segment in which data describing the whole image could be stored. If not, the image is divided Into smaller and smaller fragments comprising a certain number of subsets describing individual lines. It is also checked if there exists a memory segment large enough to store in it the currently processed image fragment. To limit the number of fragments into which the image will be divided, the algorithm searches for memory segments of maximum size.
In the algorithm for reading the image from the memory, the image displaying function displays the image line by line. In order to display each line, the function reads the line from the memory segment specified in the table of pointers to individual lines.
The remaining part of the algorithm is similar to algorithm from
The algorithm for reading the image from the memory is presented as a flowchart in
The algorithms described here can be implemented in any programming environment that provides image display functionality. In order to employ them, the existing functions need to be re-defined or modified in such a way that, while performing graphical operations, they always refer to the memory through the table of pointers to image lines. This holds for functions displaying individual image fragments, as well as functions displaying full-screen images.
It will be understood that each of the elements described above, or two or more together, may also find a useful application in other types of methods for allocation of data differing from the types described above.
While the invention has been illustrated and described as embodied in the context of a method for allocation of data for images in operating memory, it is not intended to be limited to the details shown, since various modifications may be made without departing in any way from the spirit of the present invention.
Without further analysis, the foregoing will so fully reveal the gist of the present invention that others can, by applying current knowledge, readily adapt it for various applications without omitting features that, from the standpoint of prior art, fairly constitute essential characteristics of the generic or specific aspects of this invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4942541||Jan 22, 1988||Jul 17, 1990||Oms, Inc.||Patchification system|
|US5784699 *||May 24, 1996||Jul 21, 1998||Oracle Corporation||Dynamic memory allocation in a computer using a bit map index|
|US5903280||Apr 25, 1997||May 11, 1999||Nec Corporation||Image display apparatus that reduces necessary memory capacity for operation|
|US5926227 *||Jul 28, 1997||Jul 20, 1999||Lsi Logic Corporation||Video decoder dynamic memory allocation system and method with error recovery|
|US6049330||Aug 28, 1997||Apr 11, 2000||Oak Technology, Inc.||Method and apparatus for optimizing storage of compressed images in memory|
|US6075545||Oct 29, 1997||Jun 13, 2000||Microsoft Corporation||Methods and apparatus for storing, accessing and processing images through the use of row and column pointers|
|U.S. Classification||345/543, 711/172, 711/171|
|International Classification||G06F12/00, G06T1/60, G06F12/02|
|May 22, 2008||AS||Assignment|
Owner name: ADVANCED DIGITAL BROADCAST POLSKA SP. Z O.O., POLA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WROBEL, PAWEL;REEL/FRAME:020983/0197
Effective date: 20041115
Owner name: ADVANCED DIGITAL BROADCAST, LTD., TAIWAN
Free format text: AGREEMENT TO ASSIGN;ASSIGNOR:ADVANCED DIGITAL BROADCAST POLSKA SP. Z O.O.;REEL/FRAME:020983/0415
Effective date: 20011130
|Sep 18, 2009||AS||Assignment|
Owner name: OSMOSYS S.A., SWITZERLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ADVANCED DIGITAL BROADCAST POLSKA SP. Z O.O.;ADVANCED DIGITAL BROADCAST, LTD.;REEL/FRAME:023254/0139
Effective date: 20090401
|Dec 11, 2009||AS||Assignment|
Owner name: VIDIOM SA, SWITZERLAND
Free format text: CHANGE OF NAME;ASSIGNOR:OSMOSYS S.A.;REEL/FRAME:023639/0205
Effective date: 20090929
|Jul 1, 2011||FPAY||Fee payment|
Year of fee payment: 4
|Sep 8, 2014||AS||Assignment|
Owner name: ADVANCED DIGITAL BROADCAST S.A., SWITZERLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VIDIOM SA;REEL/FRAME:033685/0480
Effective date: 20110101
|Jan 1, 2016||FPAY||Fee payment|
Year of fee payment: 8