EP1792482B1 - Memory optimization for video processing - Google Patents
Memory optimization for video processing Download PDFInfo
- Publication number
- EP1792482B1 EP1792482B1 EP05782774A EP05782774A EP1792482B1 EP 1792482 B1 EP1792482 B1 EP 1792482B1 EP 05782774 A EP05782774 A EP 05782774A EP 05782774 A EP05782774 A EP 05782774A EP 1792482 B1 EP1792482 B1 EP 1792482B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- memory
- memory array
- data
- input
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Not-in-force
Links
- 230000015654 memory Effects 0.000 title claims description 112
- 238000012545 processing Methods 0.000 title claims description 42
- 238000005457 optimization Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims description 37
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 239000000872 buffer Substances 0.000 claims description 4
- 238000003491 array Methods 0.000 claims description 2
- 238000013507 mapping Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
Definitions
- the present invention relates generally to methods and apparatus for video processing, and more particularly relates to reducing memory usage for motion-compensated video scan-rate conversion.
- the required amount of memory has become particularly large in some of the sophisticated processing algorithms that operate on several input video fields and produce several output video fields, including fields that are intermediate results, which are stored for subsequent processing.
- memory storage requirements for multi-step digital signal processing operations for example, motion-compensated video scan rate conversion, that produce intermediate output data, which is then used as an input to a next step of the signal processing operation, are reduced by reordering operations and organizing memory allocations in a special manner to allow intermediate output at a particular execution time, to substantially share the same memory space as the intermediate output of a previous execution time.
- Fig. 1 illustrates a column division for an input video field, wherein the dark and solid frame indicates an original video field, 720 pixels wide, in memory. It is logically divided into 6 columns each 256 pixels wide, and there is a 128 pixel overlapping per line between two neighboring columns as shown. The dashed lines show the extension of the original video field on the left and right sides. The extended pixels have a constant value, either 0 or 255, and thus are not saved in the memory.
- Fig. 2 illustrates a column division for an output video field, wherein it is divided into 6 columns each 128 pixels wide. There is no overlapping of, or gaps between, the neighboring columns.
- Fig. 3 illustrates a memory mapping (in a forward scanning mode) of video fields V in2 ( t ) and V out0 ( t ), which share the same memory area, wherein the starting location of V out0 ( t ) is shifted by 64 pixels to the left of input field V in2 ( t ) (highlighted by the solid and dark frame), so the first column of the output field does not overwrite the second column of the input field before the input field is processed.
- Fig. 4 illustrates a memory mapping that is similar to that shown in Fig. 3 , but which shows the relative memory location between input field V in3 ( t ) and output field V out1 ( t ) in the forward scanning mode.
- Fig. 5 illustrates a memory mapping (in a reverse scanning mode) of fields V in2 ( t ) and V outr 0 ( t ), which share the same area of memory, wherein column 6 is processed first, followed by the processing of column 5, and column 1 is processed last.
- Column 6 of field V out 0 ( t ) starts in such a location that the first column of V out 0 ( t ) is shifted by 64 pixels to the right of the first column of field V in 2 ( t ).
- Fig. 6 illustrates a memory mapping of input field V in 3 ( t ) and output field V out 1 ( t ) in the reverse scanning mode, wherein the intermediate output field is shifted by 64 pixels to the right side of the input field.
- the present invention relates to reducing, or optimizing, the memory requirements for digital signal processing with recursive algorithms, and more particularly relates to reducing the memory requirements for video scan-rate conversion.
- One benefit of reducing, or optimizing, the memory requirements includes reduced system cost and lower power consumption.
- the memory used can be included with, i.e., internal to, the circuitry used for processing, or the memory may be external to such processing circuitry.
- 91 % of the memory that is otherwise required to store the intermediate video data can be eliminated from the system, or can be otherwise allocated within the system.
- Such memory saving is achieved at almost no additional hardware or design cost. Reduction of the required amount of memory does not affect the quality of video output produced by processing in accordance with the present invention.
- methods in accordance with the present invention can also be included in general DSP applications, which employ recursive algorithms and require a large amount of memory to store intermediate data.
- Motion-compensated video scan-rate conversion refers to a process consisting of both motion estimation (ME) and motion compensation (MC). While motion estimation is the process of extracting the motion vectors of a video field, motion compensation refers to the process of applying the motion vectors to generate a video field or frame.
- ME motion estimation
- MC motion compensation
- video data is typically in stored in an addressable memory such as, for example, a static random access memory (SRAM) or a dynamic random access memory (DRAM).
- SRAM static random access memory
- DRAM dynamic random access memory
- a typical logical arrangement for video data is one in which such an arrangement is representative of the layout of a display screen on which the video data will be presented.
- video data may be logically represented as consisting of a video field, with each field containing a certain number of lines, and each line containing a certain number of pixels.
- processing operations on that video data can be expressed, or described, in terms reflective of the layout of a display screen, such as "left" and "right", and "top” and “bottom”.
- One way to organize the addressing of these fields of video data is as memory arrays.
- the video data may thought of as occupying a two-dimensional array that corresponds to a display screen.
- the address of the memory location where the pixel data corresponding to the leftmost pixel of the top line of the display may be mapped to a screen address, for example (0,0), if screen addressing begins in the upper left-hand corner of the display screen.
- Logical operations of the video data may then be described in terms of display screen locations rather than in terms of actual physical memory addresses. It is also noted that mapping between physical and logical addresses is well-known in this field, and therefore the details thereof will not be further described herein.
- each pixel may be represented by an arbitrary number of bits or bytes, although some common arrangements include representing a pixel with eight bits of data (one byte) or with 32 bits of data (four bytes).
- scan-rate conversion is a process of either changing (e.g., increasing or decreasing) the number of pixel lines per video field, changing the number of fields per video sequence, or changing both the number of pixel lines per video field and the number of fields per video sequence simultaneously.
- Motion compensated scan-rate conversion is currently one of the most advanced techniques in video scan-rate conversion. It performs scan-rate conversion using motion information embedded in a video sequence and extracted by the aforementioned motion estimation (ME) process.
- ME motion estimation
- motion compensated scan-rate conversion delivers better video quality than its non-motion compensated counterparts.
- it requires fast computational resources and a large amount of memory to store video data, both of which result in higher power consumption and higher cost.
- Motion-compensated scan-rate conversion is performed on a per-input-video-field basis. That is, the motion compensation process is executed once every time a new field of video data is received.
- each execution takes four fields of video data as input: two of these video fields are external inputs that are received either from a video input device or from the output of other video processors; and the other two are recursive input generated internally by the previous execution.
- four fields of video data are used in the illustrative embodiment described herein, it is noted that the present invention is suitable for use in video processing applications in which more or fewer video fields are used.
- Each execution generates four fields of video data: two of these video output fields are motion-compensated video output; and the other two are intermediate video output data that are used as the recursive input for the next execution.
- V in 0 ( t ), V in1 ( t ), V in 2 ( t ) and V in 3 ( t ) are recursive input fields generated at the previous execution time, t - 1.
- the input fields at previous execution time, t - 1 can be denoted as V in 0 ( t -1), V in 1 (t -1), V in 2 ( t -1) and V in 3 (t -1).
- V in ⁇ 1 t V in ⁇ 0 ⁇ t - 1
- V in ⁇ 2 t V out ⁇ 0 ⁇ t - 1
- V in ⁇ 3 t V out ⁇ 1 ⁇ t - 1
- video input and output data are normally stored in external memories, that is, memories which are external to the chip or chips that perform the substantial portion of the computations associated with the motion-compensated video scan-rate conversion process. It is noted that even if the video input and output data are stored in an on-chip memory, although rare in real applications due to its high cost, the present invention can still be applied. Since there are eight fields of input/output video data required in each execution, conventional motion-compensation algorithms require a memory that can accommodate eight fields of video input and output data simultaneously. Various embodiments of the present invention reduce the amount of memory needed for motion-compensated video scan-rate conversion.
- a column-based approach is employed.
- a video field is logically divided into a number of columns and the apparatus processes these columns one by one.
- the width of an input column and the width of an output column are different.
- a method in accordance with the present invention is not limited to a particular size for the input and output columns, the following typical values will be assumed for ease of discussion: an output column that is 128 pixels wide, and an input column that is 256 pixels wide.
- FIG. 1 shows an example of how an input field that is 720-pixels wide, is divided into six input columns.
- the dark and solid frame indicates an original video field, which is 720 pixels wide, in external memory. It is logically divided into 6 columns that are each 256 pixels wide. There is an overlapping of 128 pixels per line between two neighboring columns as shown in Fig. 1 .
- the dashed lines show the extension of the original video field on the left and right sides.
- the extended pixels have a constant value, either 0 or 255, and thus are not saved in the external memory. Between two neighboring output columns, however, there is no overlapping.
- the column division for an output field is depicted in Fig. 2 . Referring to Fig. 2 , it can be seen that the output field is divided into 6 columns, each 128 pixels wide. There is no overlapping of, or gaps between, the neighboring columns.
- the order of processing, also known as scanning mode, of conventional motion-compensation algorithms is always from column 1 to column 2, to column 3, and so on until the last, or rightmost, column is processed.
- Video data are fetched from and stored to external memory line by line in sequential order. Sequential order means that when the motion-compensation process fetches or stores a line of video data, the next line it fetches or stores is the one at the next higher, adjacent memory address (i.e., the logical address for the next sequential line of the video field). Assume that the motion-compensation process operates on column K.
- the motion-compensation process fetches the first 24 lines of column in each of the four input fields (i.e., V in 0 ( t ), V in 1 ( t ), V in 2 ( t ) and V in 3 ( t )) from the external memory and saves them in a local buffers where the video data are processed.
- the motion-compensation process subsequently generates the first two lines of column for each of the four output fields (i.e., V out 0 ( t ), V out 1 ( t ), V out 2 ( t ) and V out 3 ( t )).
- the output video data are saved back to the external memory at the locations designated for these four video output fields to be stored.
- the motion-compensation process fetches two lines from each input field at a time, and produces two output lines for each output field accordingly. This process continues until the whole column is processed. When the processing of one column is completed, the motion-compensation process operates upon the next column. This is repeated until all of the columns in the input fields have been processed.
- embodiments of the present invention provide a different approach to the scanning mode, and a new way to store video data in memory.
- embodiments of the present invention provide a scheme of alternating scanning direction that uses a forward scanning mode and a reverse scanning mode alternately.
- the motion compensation process begins operating on the leftmost column, and ends its operation at the rightmost column.
- the motion compensation process operates on the rightmost column first, and continues in a right-to-left order completing its processing with the leftmost column.
- Alternating scanning modes means that if at execution time t, the scanning is in forward mode, then at execution t + 1, the scanning will be in reverse mode. The scanning is in forward mode again at execution t + 2 , and so on.
- the intermediate output field is stored in the memory such that the intermediate output field is shifted by 64 pixels to the left of the recursive input fields.
- Figs. 3 and 4 show the relative memory location between the recursive input and intermediate output fields in the forwarding scanning mode.
- the intermediate output V out 0 ( t ) and the recursive input V in 2 ( t ) share the same field memory, and the starting location of the output field is 64 pixels to the left side of the original input.
- the motion compensation process operating on the first column The first 24 lines of column 1 of V in 2 ( t ) are first loaded to a buffer where video data are processed. The first two lines of column 1 of V out 0 ( t ) are then produced and saved back to the external memory. As shown in Fig.
- V out 0 ( t ) the starting location of V out 0 ( t ) is deliberately shifted by 64 pixels to the left of the video field V in 2 ( t ), so that the first column of V out 0 ( t ) does not overwrite the second column of V in 2 ( t ), which needs to be processed following the processing of the first column.
- FIG. 5 Examples, in accordance with the present invention, of memory mappings of the motion compensation process in reverse scanning mode are shown in Figs. 5 and 6 .
- column 6 In reverse scanning mode, column 6 is processed first, followed by the processing of column 5.
- Column 1 is processed last.
- column 6 starts in such a location that the first column of V out 0 ( t ) is shifted by 64 pixels to the right side of the first column of field V in 2 ( t ). This is to make sure that output column of field V in 2 ( t ) does not overwrite input column of field before the input column is processed. This makes it possible for intermediate output field V out 0 ( t ) and recursive input field V in 2 ( t ) share the same memory area.
- the present invention provides methods of storing and retrieving intermediate data for processing that includes recursive use of the intermediate data.
- Such methods may include determining the memory addresses for a video field stored in a memory; determining the memory addresses for each of a plurality of input columns, the input columns having a first width, the input columns at least partially overlapping the video field; determining the memory addresses for each of a plurality of output columns, the output columns having a second width, the output columns at least partially overlapping the video field; reading a first set of input data from a first input column; producing a first set of output data based at least in part upon the first set of input data; and writing the first set of output data to the first output column; wherein the width of the second width is less than the first width, and the first output column overlaps a portion of the first input column.
- the present invention may be practiced with information processing configurations other than those described above.
- parameters include, but are not limited to, the number of bytes per pixel, the number of pixels per line, the number of lines per field, the number and width of input columns, the input column overlap width, the number and width of output columns, the size of the left-side extension of the input field, the size of the right-side extension of the input field, the number of fields of input data, and the number of fields of output data.
- the amount of memory that can be saved through embodiments of the present invention can be calculated by comparing the amount of memory required to store the intermediate output fields conventionally with the amount of memory required to store the intermediate output in accordance with the present invention.
- the amount of memory required to store other fields of input and output video data remain the same. It is noted that the amount of memory saving is dependent on the size of the video field.
- the only extra memory required to store the intermediate output fields are due to the 64 pixel left-shifting and 64 pixel right-shifting.
- Various embodiments of the present invention include methods and apparatus for external memory optimization in video signal processing in general, and motion-compensated video scan-rate conversion in particular.
- Memory optimization in accordance with the present invention acts to reduce cost and to reduce power consumption by reducing the required amount of external memory.
- An advantage of embodiments of the present invention is that the memory saving is achieved at almost no extra hardware or design cost.
- Another advantage of embodiments of the present invention is that the memory saving does not affect the video processing quality.
- DSP digital signal processing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Systems (AREA)
Description
- The present invention relates generally to methods and apparatus for video processing, and more particularly relates to reducing memory usage for motion-compensated video scan-rate conversion.
- Advances in semiconductor manufacturing technology and digital system architecture have resulted in very highly integrated circuits, which contain millions of transistors, along with various other components and interconnections. The integrated circuits that result from the aforementioned advances provide significant computational resources at relatively low costs. In turn, the availability of such integrated circuits has given rise to growth in the capabilities and varieties of consumer electronic products. One particular aspect of consumer electronic products is video processing.
- Because of the ever-increasing demand for improved video quality, more and more complex technologies have been employed in state-of-the-art products that incorporate, or include, video processing functionality, or capability. Use of these complex technologies often results in undesirable consequences in terms of both cost and power consumption. For example, such video processing capabilities typically require a large amount of memory in which to store video data, and further typically require fast computational resources. Both the extra memory and the high speed computational resources add to the cost and the power consumption of the products into which the video processing capabilities are incorporated.
- The required amount of memory has become particularly large in some of the sophisticated processing algorithms that operate on several input video fields and produce several output video fields, including fields that are intermediate results, which are stored for subsequent processing.
- What is needed are methods and apparatus for providing video processing capabilities while reducing the cost and power consumption of the products in which such capabilities are incorporated.
- Briefly, memory storage requirements for multi-step digital signal processing operations, for example, motion-compensated video scan rate conversion, that produce intermediate output data, which is then used as an input to a next step of the signal processing operation, are reduced by reordering operations and organizing memory allocations in a special manner to allow intermediate output at a particular execution time, to substantially share the same memory space as the intermediate output of a previous execution time.
-
Fig. 1 illustrates a column division for an input video field, wherein the dark and solid frame indicates an original video field, 720 pixels wide, in memory. It is logically divided into 6 columns each 256 pixels wide, and there is a 128 pixel overlapping per line between two neighboring columns as shown. The dashed lines show the extension of the original video field on the left and right sides. The extended pixels have a constant value, either 0 or 255, and thus are not saved in the memory. -
Fig. 2 illustrates a column division for an output video field, wherein it is divided into 6 columns each 128 pixels wide. There is no overlapping of, or gaps between, the neighboring columns. -
Fig. 3 illustrates a memory mapping (in a forward scanning mode) of video fields Vin2 (t) and Vout0 (t), which share the same memory area, wherein the starting location of Vout0 (t) is shifted by 64 pixels to the left of input field Vin2 (t) (highlighted by the solid and dark frame), so the first column of the output field does not overwrite the second column of the input field before the input field is processed. -
Fig. 4 illustrates a memory mapping that is similar to that shown inFig. 3 , but which shows the relative memory location between input field Vin3 (t) and output field Vout1 (t) in the forward scanning mode. -
Fig. 5 illustrates a memory mapping (in a reverse scanning mode) of fields Vin2 (t) and V outr0(t), which share the same area of memory, wherein column 6 is processed first, followed by the processing of column 5, andcolumn 1 is processed last. Column 6 of field V out0(t) starts in such a location that the first column of V out0(t) is shifted by 64 pixels to the right of the first column of field V in2(t). -
Fig. 6 illustrates a memory mapping of input field V in3(t) and output field V out1(t) in the reverse scanning mode, wherein the intermediate output field is shifted by 64 pixels to the right side of the input field. - Generally, the present invention relates to reducing, or optimizing, the memory requirements for digital signal processing with recursive algorithms, and more particularly relates to reducing the memory requirements for video scan-rate conversion. One benefit of reducing, or optimizing, the memory requirements includes reduced system cost and lower power consumption. It is noted that the memory used can be included with, i.e., internal to, the circuitry used for processing, or the memory may be external to such processing circuitry.
- In one illustrative embodiment of the present invention, for a video image size of 720 * 576, 91 % of the memory that is otherwise required to store the intermediate video data can be eliminated from the system, or can be otherwise allocated within the system. Such memory saving is achieved at almost no additional hardware or design cost. Reduction of the required amount of memory does not affect the quality of video output produced by processing in accordance with the present invention. In addition to the illustrative motion-compensated video scan-rate conversion process described below, methods in accordance with the present invention can also be included in general DSP applications, which employ recursive algorithms and require a large amount of memory to store intermediate data.
- Reference herein to "one embodiment", "an embodiment", or similar formulations, means that a particular feature, structure, operation, or characteristic described in connection with the embodiment, is included in at least one embodiment of the present invention. Thus, the appearances of such phrases or formulations herein are not necessarily all referring to the same embodiment. Furthermore, various particular features, structures, operations, or characteristics may be combined in any suitable manner in one or more embodiments.
- The adjective, "approximately", is used herein to mean that the values specified in conjunction therewith are nominal values, and may actually above or below the specified value by an amount within commonly found tolerances due to the manufacturing of the described apparatus. The symbol "~" is used herein to mean approximately.
- Motion-compensated video scan-rate conversion refers to a process consisting of both motion estimation (ME) and motion compensation (MC). While motion estimation is the process of extracting the motion vectors of a video field, motion compensation refers to the process of applying the motion vectors to generate a video field or frame.
- With respect to the processing of digitized video data, it will be appreciated that such video data is typically in stored in an addressable memory such as, for example, a static random access memory (SRAM) or a dynamic random access memory (DRAM). It will be further appreciated by those skilled in the art and having the benefit of this disclosure, that regardless of the physical arrangement of the memory, and regardless of the physical addressing scheme that is used, it is helpful to describe the stored video data in terms of a logical arrangement, or representation, of the data. A typical logical arrangement for video data is one in which such an arrangement is representative of the layout of a display screen on which the video data will be presented. For example, video data may be logically represented as consisting of a video field, with each field containing a certain number of lines, and each line containing a certain number of pixels. With such a logical representation of video data, wherein the logical representation matches the physical display on which it will be viewed, processing operations on that video data can be expressed, or described, in terms reflective of the layout of a display screen, such as "left" and "right", and "top" and "bottom". One way to organize the addressing of these fields of video data is as memory arrays. The video data may thought of as occupying a two-dimensional array that corresponds to a display screen. In such an arrangement, the address of the memory location where the pixel data corresponding to the leftmost pixel of the top line of the display, may be mapped to a screen address, for example (0,0), if screen addressing begins in the upper left-hand corner of the display screen. Logical operations of the video data may then be described in terms of display screen locations rather than in terms of actual physical memory addresses. It is also noted that mapping between physical and logical addresses is well-known in this field, and therefore the details thereof will not be further described herein.
- It will be appreciated that each pixel may be represented by an arbitrary number of bits or bytes, although some common arrangements include representing a pixel with eight bits of data (one byte) or with 32 bits of data (four bytes).
- Generally, scan-rate conversion is a process of either changing (e.g., increasing or decreasing) the number of pixel lines per video field, changing the number of fields per video sequence, or changing both the number of pixel lines per video field and the number of fields per video sequence simultaneously. Motion compensated scan-rate conversion is currently one of the most advanced techniques in video scan-rate conversion. It performs scan-rate conversion using motion information embedded in a video sequence and extracted by the aforementioned motion estimation (ME) process.
- Typically, motion compensated scan-rate conversion delivers better video quality than its non-motion compensated counterparts. However, largely due to its complexity, it requires fast computational resources and a large amount of memory to store video data, both of which result in higher power consumption and higher cost.
- Motion-compensated scan-rate conversion is performed on a per-input-video-field basis. That is, the motion compensation process is executed once every time a new field of video data is received. In an illustrative embodiment of the present invention, each execution takes four fields of video data as input: two of these video fields are external inputs that are received either from a video input device or from the output of other video processors; and the other two are recursive input generated internally by the previous execution. Although four fields of video data are used in the illustrative embodiment described herein, it is noted that the present invention is suitable for use in video processing applications in which more or fewer video fields are used.
- Each execution generates four fields of video data: two of these video output fields are motion-compensated video output; and the other two are intermediate video output data that are used as the recursive input for the next execution.
- For ease of explanation, let us use functions V in0(t), Vin1 (t), V in2(t) and V in3(t) to represent these four input fields respectively. All these functions have a variable t denoting the execution time at which these fields are taken as input. Function V in0(t) represents an external input field received at execution time t, and V in1(t) is also an external input field but is on which has been received at the immediately previous execution time, t -1. Functions V in2(t) and V in3(t) are recursive input fields generated at the previous execution time, t - 1.
- In accordance with the definitions above, the input fields at previous execution time, t - 1, can be denoted as V in0(t -1), V in1(t -1), V in2(t -1) and V in3(t -1).
- Similarly, let us denote the video data output fields as functions of time. The four output fields produced at execution time t are: V out0(t), V out1(t), V out2(t) and V out3(t), where V out0(t) and V out1(t) are intermediate output to be used as the recursive input fields at the next execution time, t +1, while V out2(t) and V out3(t) are the motion-compensated output at execution time t.
- Following the definitions above, the output fields at the previous execution time, t -1, can be denoted as V out0(t -1), V out1(t -1), V out2(t -1) and V out3(t -1), respectively. Mathematically, the relationship between the input and output fields at execution times t and t -1, where t ≥ 1, can be expressed by the following equations:
- For motion-compensation, video input and output data are normally stored in external memories, that is, memories which are external to the chip or chips that perform the substantial portion of the computations associated with the motion-compensated video scan-rate conversion process. It is noted that even if the video input and output data are stored in an on-chip memory, although rare in real applications due to its high cost, the present invention can still be applied. Since there are eight fields of input/output video data required in each execution, conventional motion-compensation algorithms require a memory that can accommodate eight fields of video input and output data simultaneously. Various embodiments of the present invention reduce the amount of memory needed for motion-compensated video scan-rate conversion.
- In one illustrative motion-compensated video scan-rate conversion apparatus, a column-based approach is employed. In a column-based approach, a video field is logically divided into a number of columns and the apparatus processes these columns one by one. The width of an input column and the width of an output column are different. Although a method in accordance with the present invention is not limited to a particular size for the input and output columns, the following typical values will be assumed for ease of discussion: an output column that is 128 pixels wide, and an input column that is 256 pixels wide.
- Motion-compensation algorithms require that the leftmost input column extend the original video field by 64 pixels on the left side. Further, if the last column of the original video field is not as wide as 256 pixels, the right side of the video field is extended to make the
last column 256 pixels wide.Fig. 1 shows an example of how an input field that is 720-pixels wide, is divided into six input columns. Referring toFig. 1 , the dark and solid frame indicates an original video field, which is 720 pixels wide, in external memory. It is logically divided into 6 columns that are each 256 pixels wide. There is an overlapping of 128 pixels per line between two neighboring columns as shown inFig. 1 . The dashed lines show the extension of the original video field on the left and right sides. The extended pixels have a constant value, either 0 or 255, and thus are not saved in the external memory. Between two neighboring output columns, however, there is no overlapping. The column division for an output field is depicted inFig. 2 . Referring toFig. 2 , it can be seen that the output field is divided into 6 columns, each 128 pixels wide. There is no overlapping of, or gaps between, the neighboring columns. - The order of processing, also known as scanning mode, of conventional motion-compensation algorithms is always from
column 1 tocolumn 2, to column 3, and so on until the last, or rightmost, column is processed. - The following explanation briefly describes how video data are fetched and stored when a column is conventionally processed. Video data are fetched from and stored to external memory line by line in sequential order. Sequential order means that when the motion-compensation process fetches or stores a line of video data, the next line it fetches or stores is the one at the next higher, adjacent memory address (i.e., the logical address for the next sequential line of the video field). Assume that the motion-compensation process operates on column K. At the beginning of the operation, the motion-compensation process fetches the first 24 lines of column in each of the four input fields (i.e., V in0(t), V in1(t), V in2(t) and V in3(t)) from the external memory and saves them in a local buffers where the video data are processed. The motion-compensation process subsequently generates the first two lines of column for each of the four output fields (i.e., V out0(t), V out1(t), V out2(t) and V out3(t)). The output video data are saved back to the external memory at the locations designated for these four video output fields to be stored. After the first two lines are produced for each output field, the motion-compensation process fetches two lines from each input field at a time, and produces two output lines for each output field accordingly. This process continues until the whole column is processed. When the processing of one column is completed, the motion-compensation process operates upon the next column. This is repeated until all of the columns in the input fields have been processed.
- As described in greater detail below, embodiments of the present invention provide a different approach to the scanning mode, and a new way to store video data in memory.
- As noted above, conventional algorithms, which use a simple and straightforward approach to storing video input and output data, require eight field memories to store the four input fields and four output fields. Various embodiments of the present invention reduce the amount of memory needed for motion compensation by making the two intermediate output fields (i.e., V out0(t) and V out1(t) ) and the two recursive input fields (i.e., V in0(t) and V in1(t) ) share the same regions of memory. For conventional motion compensation algorithms using a single scanning mode, however, it is impossible to share memory among the recursive input and intermediate output fields, because the intermediate output fields would always overwrite the recursive input fields before the recursive input fields are processed.
- In order for the intermediate output fields to share the memory of the recursive input fields without overwriting the input fields before the input fields are processed, embodiments of the present invention provide a scheme of alternating scanning direction that uses a forward scanning mode and a reverse scanning mode alternately.
- In the forward scanning mode, the motion compensation process begins operating on the leftmost column, and ends its operation at the rightmost column. In reverse scanning mode, the motion compensation process operates on the rightmost column first, and continues in a right-to-left order completing its processing with the leftmost column.
- Alternating scanning modes means that if at execution time t, the scanning is in forward mode, then at
execution t + 1, the scanning will be in reverse mode. The scanning is in forward mode again atexecution t + 2 , and so on. However, alternating the scanning modes alone cannot prevent the intermediate output fields from overwriting the recursive input fields before the recursive input fields are processed. In an illustrative embodiment of the present invention, the intermediate output field is stored in the memory such that the intermediate output field is shifted by 64 pixels to the left of the recursive input fields. -
Figs. 3 and4 show the relative memory location between the recursive input and intermediate output fields in the forwarding scanning mode. The intermediate output V out0(t) and the recursive input V in2(t) share the same field memory, and the starting location of the output field is 64 pixels to the left side of the original input. To see how this works, let us consider the motion compensation process operating on the first column. The first 24 lines ofcolumn 1 of V in2(t) are first loaded to a buffer where video data are processed. The first two lines ofcolumn 1 of V out0(t) are then produced and saved back to the external memory. As shown inFig. 3 , the starting location of V out0(t) is deliberately shifted by 64 pixels to the left of the video field V in2(t), so that the first column of V out0(t) does not overwrite the second column of V in2(t), which needs to be processed following the processing of the first column. - Examples, in accordance with the present invention, of memory mappings of the motion compensation process in reverse scanning mode are shown in
Figs. 5 and6 . In reverse scanning mode, column 6 is processed first, followed by the processing of column 5.Column 1 is processed last. When storing field V out0(t) to the external memory, column 6 starts in such a location that the first column of V out0(t) is shifted by 64 pixels to the right side of the first column of field V in2(t). This is to make sure that output column of field V in2(t) does not overwrite input column of field before the input column is processed. This makes it possible for intermediate output field V out0(t) and recursive input field V in2(t) share the same memory area. - From the foregoing it can be seen that the present invention provides methods of storing and retrieving intermediate data for processing that includes recursive use of the intermediate data. Such methods may include determining the memory addresses for a video field stored in a memory; determining the memory addresses for each of a plurality of input columns, the input columns having a first width, the input columns at least partially overlapping the video field; determining the memory addresses for each of a plurality of output columns, the output columns having a second width, the output columns at least partially overlapping the video field; reading a first set of input data from a first input column; producing a first set of output data based at least in part upon the first set of input data; and writing the first set of output data to the first output column; wherein the width of the second width is less than the first width, and the first output column overlaps a portion of the first input column.
- It will be appreciated the present invention may be practiced with information processing configurations other than those described above. With respect to video processing systems for example, there are a number of parameters that can be varied within the scope of the present invention. Such parameters include, but are not limited to, the number of bytes per pixel, the number of pixels per line, the number of lines per field, the number and width of input columns, the input column overlap width, the number and width of output columns, the size of the left-side extension of the input field, the size of the right-side extension of the input field, the number of fields of input data, and the number of fields of output data.
- The amount of memory that can be saved through embodiments of the present invention can be calculated by comparing the amount of memory required to store the intermediate output fields conventionally with the amount of memory required to store the intermediate output in accordance with the present invention. The amount of memory required to store other fields of input and output video data remain the same. It is noted that the amount of memory saving is dependent on the size of the video field.
- Using a conventional approach with a video field size of 288 lines by 720 pixels, the amount of memory required to store the two intermediate output fields is 2 * 720 * 288 = 414,720 bytes, assuming that each pixel is one 8-bit byte. In embodiments of the present invention, the only extra memory required to store the intermediate output fields are due to the 64 pixel left-shifting and 64 pixel right-shifting. The extra amount of memory required can be calculated as 2 * 64 * 288 = 36,864 bytes. Therefore, the amount of memory saving is 414,720 - 36,864 = 377,856 bytes when the field size is 288 lines by 720 pixels, with each pixel being one byte. The saving in percentage is thus: 377,856 / 414,720 * 100 % = 91.11%.
- Various embodiments of the present invention include methods and apparatus for external memory optimization in video signal processing in general, and motion-compensated video scan-rate conversion in particular. Memory optimization in accordance with the present invention acts to reduce cost and to reduce power consumption by reducing the required amount of external memory.
- An advantage of embodiments of the present invention is that the memory saving is achieved at almost no extra hardware or design cost.
- Another advantage of embodiments of the present invention is that the memory saving does not affect the video processing quality.
- It is noted that reduction of memory requirements in accordance with the present invention may also be applied to general digital signal processing (DSP) applications that employ recursive algorithms and require large amounts of memory to store intermediate data.
- It is to be understood that the present invention is not limited to the embodiments described above, but encompasses any and all embodiments within the scope of the subjoined Claims.
Claims (12)
- A method of digital signal processing, comprising: reading a first set of input data from a first memory array; processing the first set of input data to produce a first set of intermediate data; writing the first set of intermediate data to a second memory array; wherein a first portion of the second memory array overlaps a first portion of the first memory array, a second portion of the second memory array does not overlap the first memory array, and the first set of intermediate data is written to a portion of the second memory array that overlaps a portion of the first memory array from which at least a portion of the first set of input data was read.
- The method of Claim 1, wherein the input data represents video data, and processing the first set of input data comprises performing a motion-compensation operation.
- The method of Claim 1, wherein the processing is performed by circuitry that is co-located with the first and second memory arrays on a single chip.
- The method of Claim 1, wherein the processing is performed by circuitry that is located within a first integrated circuit chip and the memory is located within at least a second integrated circuit chip.
- The method of Claim 2, further comprising transferring the first set of input data to a buffer memory prior to processing.
- A method of storing and retrieving intermediate data for processing that includes recursive use of the intermediate data, comprising: determining the memory addresses for a video field stored in a memory; determining the memory addresses for each of a plurality of input columns, the input columns having a first width, the input columns at least partially overlapping the video field; determining the memory addresses for each of a plurality of output columns, the output columns having a second width, the output columns at least partially overlapping the video field; reading a first set of input data from a first input column; producing a first set of output data based at least in part upon the first set of input data; and writing the first set of output data to the first output column; wherein the width of the second width is less than the first width, and the first output column overlaps a portion of the first input column.
- The method of Claim 6, wherein producing a first set of output data comprises performing a motion-compensation operation.
- The method of Claim 6, wherein the first set of input data comprises video data.
- The method of Claim 8, wherein the first set of output data comprises motion-compensated video data.
- A system for motion-compensated video scan rate conversion, comprising: processing circuitry; a memory coupled to the processing circuitry; a first memory array disposed within the memory; a second memory array disposed within the memory, the second memory array partially overlapping the first memory array; wherein the processing circuitry is adapted to read a first set of input data from a first portion of the first memory array, produce a first set of intermediate output data, and write the first set of intermediate output data to a first portion of the second memory array such that the first set of intermediate output data partially overlaps the first portion of the first memory array.
- The system of Claim 10, further comprising: a third memory array disposed within the memory; a fourth memory array disposed within the memory, the fourth memory array partially overlapping the third memory array; wherein the processing circuitry is adapted to read a first set of input data from a first portion of the third memory array, produce a second set of intermediate output data, and write the second set of intermediate output data to a first portion of the fourth memory array such that the second set of intermediate output data partially overlaps the first portion of the third memory array.
- The system of Claim 11, wherein the memory is external to the processing circuitry, and further comprising a buffer memory coupled between the memory and the processing circuitry.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PL05782774T PL1792482T3 (en) | 2004-09-16 | 2005-09-16 | Memory optimization for video processing |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61075404P | 2004-09-16 | 2004-09-16 | |
US63922704P | 2004-12-23 | 2004-12-23 | |
PCT/IB2005/053053 WO2006030400A2 (en) | 2004-09-16 | 2005-09-16 | Memory optimization for video processing |
Publications (2)
Publication Number | Publication Date |
---|---|
EP1792482A2 EP1792482A2 (en) | 2007-06-06 |
EP1792482B1 true EP1792482B1 (en) | 2012-08-29 |
Family
ID=35355851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP05782774A Not-in-force EP1792482B1 (en) | 2004-09-16 | 2005-09-16 | Memory optimization for video processing |
Country Status (5)
Country | Link |
---|---|
US (1) | US8115874B2 (en) |
EP (1) | EP1792482B1 (en) |
DK (1) | DK1792482T3 (en) |
PL (1) | PL1792482T3 (en) |
WO (1) | WO2006030400A2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009115867A1 (en) * | 2008-03-18 | 2009-09-24 | Zoran (France) | Frame rate conversion with motion estimation in a plurality of resolution levels |
US9838701B2 (en) * | 2011-08-03 | 2017-12-05 | Mediatek Inc. | Method and video decoder for decoding scalable video stream using inter-layer racing scheme |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4827350A (en) * | 1987-05-30 | 1989-05-02 | Ricoh Company, Ltd. | Image reading apparatus having a plurality of image sensors |
US5029079A (en) * | 1988-08-04 | 1991-07-02 | Array Microsystems, Inc. | Apparatus and method for flexible control of digital signal processing devices |
US6205259B1 (en) * | 1992-04-09 | 2001-03-20 | Olympus Optical Co., Ltd. | Image processing apparatus |
US6731338B1 (en) * | 2000-01-10 | 2004-05-04 | Canon Kabushiki Kaisha | Reducing discontinuities in segmented SSAs |
US6937291B1 (en) * | 2000-08-31 | 2005-08-30 | Intel Corporation | Adaptive video scaler |
US7365783B2 (en) * | 2001-03-16 | 2008-04-29 | Olympus Corporation | Image pickup apparatus which stores initial defect data concerning image pickup device and data on later developed defects |
JP2003022687A (en) * | 2001-07-09 | 2003-01-24 | Mitsubishi Electric Corp | Semiconductor memory |
US6760807B2 (en) * | 2001-11-14 | 2004-07-06 | International Business Machines Corporation | System, apparatus and method providing adaptive write policy for disk array controllers |
JP3932872B2 (en) * | 2001-11-22 | 2007-06-20 | コニカミノルタホールディングス株式会社 | Electronics |
JP4563030B2 (en) * | 2001-11-23 | 2010-10-13 | エヌエックスピー ビー ヴィ | Signal processing apparatus for providing a plurality of output images in one pass |
JP3845579B2 (en) * | 2001-12-26 | 2006-11-15 | 株式会社東芝 | Driving method of display device |
JP2003243632A (en) * | 2002-02-19 | 2003-08-29 | Seiko Epson Corp | Ferroelectric memory device and method for manufacturing the same |
US6842369B2 (en) * | 2002-05-07 | 2005-01-11 | Hewlett-Packard Development Company, L.P. | Intermesh memory device |
-
2005
- 2005-09-16 WO PCT/IB2005/053053 patent/WO2006030400A2/en active Application Filing
- 2005-09-16 PL PL05782774T patent/PL1792482T3/en unknown
- 2005-09-16 US US11/575,487 patent/US8115874B2/en not_active Expired - Fee Related
- 2005-09-16 EP EP05782774A patent/EP1792482B1/en not_active Not-in-force
- 2005-09-16 DK DK05782774.3T patent/DK1792482T3/en active
Also Published As
Publication number | Publication date |
---|---|
WO2006030400A3 (en) | 2006-05-18 |
EP1792482A2 (en) | 2007-06-06 |
US8115874B2 (en) | 2012-02-14 |
DK1792482T3 (en) | 2012-12-10 |
WO2006030400A2 (en) | 2006-03-23 |
US20110099330A1 (en) | 2011-04-28 |
PL1792482T3 (en) | 2013-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7409528B2 (en) | Digital signal processing architecture with a wide memory bandwidth and a memory mapping method thereof | |
US5706243A (en) | Semiconductor memory and method of using the same, column decoder, and image processor | |
US8451901B2 (en) | High-speed motion estimation apparatus and method | |
US10169295B2 (en) | Convolution operation device and method | |
US20160378650A1 (en) | Electronic apparatus having parallel memory banks | |
US6850569B2 (en) | Effective motion estimation for hierarchical search | |
JP5035412B2 (en) | Memory controller and memory system using the same | |
KR100283413B1 (en) | Texture Mapping System | |
US20030222877A1 (en) | Processor system with coprocessor | |
JP2002304624A (en) | Filter processor and imaging device | |
Wang et al. | VLSI implementation of HEVC motion compensation with distance biased direct cache mapping for 8K UHDTV applications | |
EP1792482B1 (en) | Memory optimization for video processing | |
EP1575298B1 (en) | Data storage apparatus, data storage control apparatus, data storage control method, and data storage control program | |
JPH11219429A (en) | Storage device, writing method and reading method | |
US7401177B2 (en) | Data storage device, data storage control apparatus, data storage control method, and data storage control program | |
US6307969B1 (en) | Dynamic image encoding method and apparatus | |
US8731071B1 (en) | System for performing finite input response (FIR) filtering in motion estimation | |
US8350865B2 (en) | Method and system for efficiently organizing data in memory | |
KR102667134B1 (en) | Hardware accelerator for neural network including a single port memory and operation method thereof | |
US20070040842A1 (en) | Buffer memory system and method | |
US6631164B1 (en) | Addressing process for the storage of image blocks | |
US6195463B1 (en) | Multiresolution image processing and storage on a single chip | |
EP1726163A1 (en) | Video processing circuit and method of video processing | |
US10580112B2 (en) | Scalable and area efficient conversion of linear image data into multi-dimensional image data for multimedia applications | |
US20060007235A1 (en) | Method of accessing frame data and data accessing device thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20070416 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NXP B.V. |
|
DAX | Request for extension of the european patent (deleted) | ||
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: TRIDENT MICROSYSTEMS (FAR EAST) LTD. |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 573595 Country of ref document: AT Kind code of ref document: T Effective date: 20120915 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602005035904 Country of ref document: DE Effective date: 20121025 |
|
REG | Reference to a national code |
Ref country code: DK Ref legal event code: T3 |
|
REG | Reference to a national code |
Ref country code: SE Ref legal event code: TRGR |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: T3 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 573595 Country of ref document: AT Kind code of ref document: T Effective date: 20120829 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D Effective date: 20120829 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20121229 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20121130 Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20121231 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 |
|
REG | Reference to a national code |
Ref country code: PL Ref legal event code: T3 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: MC Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120930 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20121210 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20121129 |
|
26N | No opposition filed |
Effective date: 20130530 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: SD Effective date: 20130916 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602005035904 Country of ref document: DE Effective date: 20130530 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PUE Owner name: ENTROPIC COMMUNICATIONS, INC., US Free format text: FORMER OWNER: TRIDENT MICROSYSTEMS (FAR EAST) LTD., KY |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20131107 AND 20131113 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: TP Owner name: ENTROPIC COMMUNICATIONS, INC., US Effective date: 20131119 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20120829 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20120916 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20050916 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: IE Payment date: 20140929 Year of fee payment: 10 Ref country code: DK Payment date: 20140925 Year of fee payment: 10 Ref country code: CH Payment date: 20140929 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: PL Payment date: 20140904 Year of fee payment: 10 Ref country code: GB Payment date: 20140929 Year of fee payment: 10 Ref country code: SE Payment date: 20140929 Year of fee payment: 10 Ref country code: FR Payment date: 20140917 Year of fee payment: 10 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: NL Payment date: 20140926 Year of fee payment: 10 |
|
REG | Reference to a national code |
Ref country code: DK Ref legal event code: EBP Effective date: 20150930 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: SE Ref legal event code: EUG |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20150916 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150917 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MM Effective date: 20151001 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20160531 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150930 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150916 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150930 Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150916 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20151001 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150930 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150930 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20160928 Year of fee payment: 12 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20150916 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602005035904 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20180404 |