EP1555828A1 - Method for pre-processing block based digital data - Google Patents

Method for pre-processing block based digital data Download PDF

Info

Publication number
EP1555828A1
EP1555828A1 EP04000626A EP04000626A EP1555828A1 EP 1555828 A1 EP1555828 A1 EP 1555828A1 EP 04000626 A EP04000626 A EP 04000626A EP 04000626 A EP04000626 A EP 04000626A EP 1555828 A1 EP1555828 A1 EP 1555828A1
Authority
EP
European Patent Office
Prior art keywords
data
block
filter
pixels
pixel
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.)
Withdrawn
Application number
EP04000626A
Other languages
German (de)
French (fr)
Inventor
Alexander Scholz
Altfried Dilly
Jörg Schwendowius
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Deutschland GmbH
Original Assignee
Sony International Europe GmbH
Sony Deutschland GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony International Europe GmbH, Sony Deutschland GmbH filed Critical Sony International Europe GmbH
Priority to EP04000626A priority Critical patent/EP1555828A1/en
Priority to US11/036,274 priority patent/US7756207B2/en
Publication of EP1555828A1 publication Critical patent/EP1555828A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Definitions

  • the present invention relates to a method for pre-processing block-based digital data and in particular to a method for pre-processing block-based digital video data. More particular, the present invention relates to a method and a circuit for realizing a cash buffer for filtering block-based digital data and in particular block-based digital video data.
  • the present invention applies to the field of processing digital data and in particular to the field of processing digital video data.
  • a data selection is necessary in the sense that provided digital data or provided digital video data to be processed based on a block structure have to be arranged and/or selected by building blocks of said digital data or said digital video data. Therefore, it is necessary to filter the incoming or provided digital data or digital video data in a two-dimensional manner, i.e. by using a digital spatial two-dimensional filter or two-dimensional FIR filter with respect to the provided or incoming digital data items or digital data pixels.
  • the object is achieved by a method for pre-processing block-based digital data according to the characterizing features of independent claim 1. Preferred embodiments are defined within the dependent subclaims.
  • the object is further achieved by a system for pre-processing block-based digital data according to claim 20 as well as by a computer programmed product and a computer-readable storage medium according to independent claims 21 and 22, respectively.
  • the inventive method for pre-processing block-based digital data is in particular designed for pre-processing block-based digital video data. According to the present invention it is provided that for at least one data block of digital data for each data item or a data pixel a data sub-arrangement or data sub-matrix is provided, generated, and/or used as an assigned data filter arrangement or data filter matrix. I.e.
  • a data sub-arrangement or data sub-matrix that is assigned for or to said respective data item or data pixel within said respective data block of said data arrangement or data matrix is provided, generated, and/or used as a assigned data filter arrangement or data filter matrix.
  • a pre-processing step is performed for each of said data items or data pixels within said at least one data block based on the respective data filter arrangement or data filter matrix for the respective data item or data pixel within said at least one data block.
  • a step of selecting, constructing and/or supplying said data filter arrangements or data filter matrices is essentially based on operations of data shifting and/or register shifting only.
  • said respective data item or data pixel and said assigned data filter arrangement or data filter matrix are chosen to be based on a certain positional relationship with respect to each other and/or with respect to the respective data block to be pre-processed.
  • said respective data item or data pixel is positioned in a central region of the respective assigned data filter arrangement or data filter matrix.
  • said respective data item or data pixel is the central data item or data pixel of the respective assigned data filter arrangement or data filter matrix.
  • said respective data arrangement or data matrix are chosen and designed to have a rectangular form of a given certain number of lines or rows and of a given certain number of columns of data items or data pixels.
  • said step of selecting, constructing and/or supplying said data filter arrangements and/or said data filter matrices and in particular said operations of data shifting and/or register shifting are essentially based on and/or are essentially performed using an embedding data block which contains and/or embeds said respective data block to be pre-processed - or a copy thereof - and said data filter arrangements and/or data filter matrices - or copies thereof - and which is common for all of said data filter arrangements and/or for all of said data filter matrices assigned to each of said data items and/or data pixels of said data block to be pre-processed.
  • said embedding data block is used to evaluate and to pre-process the selected data block to be pre-processed. It is a further basic aspect of the present invention to choose and design the respective embedding data block.
  • the data of said embedding data block has to be chosen and stored only one time. Based on the embedding data block the respective shifting operations or register shifting operations lead to the data filter arrangements or data filter matrices in a straightforward and sequential manner.
  • said embedding data block is chosen and/or designed to have a rectangular form of M + K - 1 lines or rows and of L + J - 1 columns of digital items or digital pixels of said data arrangement and/or of said data matrix.
  • a common and fixed filter mask area within said embedding data block may be used for said step of selecting, constructing, and/or supplying said data filter arrangements and/or said data filter matrices.
  • said filter mask arrangement may be chosen to be simply connected corner block, in particular of rectangular form and/or of K lines or rows and of J columns of data items or data pixels of said embedding data block.
  • said respective data block is pre-processed row by row or line by line, in particular starting with a top row or top line of said data block to be pre-processed and/or in particular pre-processing the rows or lines of said data block in their sequential order.
  • the processing can also be performed starting with a button row and pre-processing the rows of the data block inverse to their sequential order.
  • a pre-processing column by column is possible either from left to right or from right to left in their sequential order inverted to their sequential order, respectively.
  • each row or line (column) the respective data items or data pixels are pre-processed in their sequential order with respect to the columns (rows or lines) of the data block to be pre-processed, in particular starting with a first or most left data item or data pixel in the respective row or line.
  • the shift operations may be chosen from the group, which consists of the following operations:
  • the step of selecting, constructing, and/or supplying said data filter arrangement and/or said data filter matrices is realized by the following steps:
  • a shift register is used to realize and/or to store said embedding data block and in particular said common filter mask area.
  • Said shift register has in particular M + K - 1 lines or rows and L + J - 1 columns of pixel registers or pixel storing elements.
  • each of said pixel storing elements or pixel registers may be provided with a 3-input multiplexers as to realize a selection of one of the above described shift operations (a) and/or (b).
  • a system, apparatus, or device which is adapted and/or designed to realize and/or to perform the inventive method for pre-processing block-based digital data and the steps thereof.
  • a computer program product which comprises computer program means being adapted to realize and/or to perform the inventive method for pre-processing block-based digital data and/or the inventive system for pre-processing block-based digital data when it is executed on a computer, a digital processing means and/or the like.
  • a computer readable storage medium is provided and comprises the inventive computer program product.
  • the present invention particularly relates inter alia to a method and to a circuit of cache buffering for filtering block based video data.
  • the here described invention applies to a digital video processing system, where each field out of a sequence of video fields is split into a number of rectangular blocks with a size of L x M pixels each.
  • Such video processing systems are used for e.g. motion estimation or format conversion applications. This is according to the fact that block based video field processing helps minimizing the data access bandwidth to the main video memory.
  • This invention describes the method and structure of a cache buffer that enables a simple processing of video blocks with a size of L x M pixels by a digital spatial 2D FIR filter with J x K parallel input pixels e.g. used for noise reduction or picture sharpness improvement.
  • the here described cache buffer has a simple and regular structure, which makes it easy to implement in programmable logic or ASIC.
  • This invention describes a method of filtering video data in a block based video processing system by a spatial 2D filter.
  • a possible solution of the problem could be, to store the video data in a fixed register-matrix and select the filter input data by multiplexers.
  • This approach would increase the number of logic gates and signal delay time significantly, especially at filters with many parallel input pixels, where wide-range multiplexers are needed.
  • the here described idea of storing pixel data in a shift register, whose output lines are directly connected to the input of the filter helps to keep the number of logic gates low and allows an easy adaptation to different filter sizes. Due to the scaleable architecture, the signal delay time and therefore the system speed are not influenced by the filter size.
  • the present invention therefore covers inter alia a shift register with above mentioned properties and structure and a state-machine to control the switching behavior of this shift register.
  • Fig. 1 is a schematical block diagram that elucidates some basic aspects of the inventive method for pre-processing block-based digital data.
  • a first step S1 said digital data to be pre-processed are received and/or supplied in the form of a digital data stream DS.
  • a certain data block DB to be pre-processed is selected.
  • an embedding data block EDB is generated and/or initialized. Any shift operation or data shift operation according to the present invention is performed on the embedding data block EDB which is a copy of a respective data section contained in or embedded in the received data stream DS.
  • a filter mask area FMA is generated, selected, and/or assigned.
  • Said filter mask area is common for all pixels of the selected data block DB to be pre-processed and consequently common for all data filter arrangements and/or data filter matrices for each of said pixels within said data block DB on the basis of which the pre-processing of each of said respective pixels within said data block DB is performed within a following step S5.
  • Step S5 may be followed by an optional pre-processing step S6 which is indicated in Fig. 2.
  • After having finished the processing of the entire data block DB it is checked on whether or not a further data block DB has to be pre-processed in which case the processing of Fig. 1 branches again to the second step S2 of selecting a further data block DB to be pre-processed. Otherwise, the process shown in Fig. 1 ends.
  • Fig. 2 schematically describes the relationship between the different data structures used within the inventive method for pre-processing block-based digital data.
  • Digital data are - as already indicated with respect to Fig. 1 - as a digital data stream DS.
  • a processed digital data stream PDS is obtained.
  • the digital data stream DS is built up by data fields DF1, ..., DFn.
  • Each data field DF1, ..., DFn is built up by a data matrix DM1, ..., DMn.
  • a certain given data field DF1 is subjected to a pre-processing step. Therefore the respective data matrix DM1 is selected.
  • a certain data block DB to be pre-processed is selected.
  • the respective data arrangement or data matrix DM1 and therefore the data block DB to be pre-processed is built up by respective data items or data pixels DPk,j which are selected as selected data items or data pixels X in their sequential order.
  • the embedding data block EDB is chosen and designed to be an embedding for the selected data block DB to be pre-processed as well as for the respective data filter arrangements or data filter matrices Fk,j which have to be constructed for each of the selected pixels X, X' of the selected data block DB, DB'.
  • a filter mask area FMA is selected within the embedding data block EDB at a fixed position. Therefore a common filter mask area FMA for all possible data filter arrangements and/or data filter matrices Fk,j is built up.
  • the data which coincide with the respective filter mask area FMA are copied and used as said data filter arrangement and/or as said data filter matrix Fk,j for each of the pixels X, X' which are selected from the data block DB, DB'.
  • the copied data within the embedding data block EDB are shifted in a way that the fixedly positioned filter mask area FMA sees the respective data within the embedding data block which correspond to the respective data filter arrangement and/or the respective data filter matrix Fk,j which corresponds to the selected data item or data pixel X, X' of the plurality of pixels DPk,j within the copy DB' of the data block DB, thereby selecting and providing the data section defined by the filter mask area FMA within the embedding data block EDB as a data filter arrangement or data filter matrix Fk,j on the basis of which the pre-processing step S5 of Fig.
  • Fig. 3 to 4D schematically describe several aspects of the signals and/or data structures used within the present invention.
  • a data block DB of 8 x 4 pixels is filtered by a 7 x 5 filter or data filter arrangement or data filter matrix Fk,j.
  • J x K 35 parallel input data pixels DPk,j are needed to be processed to give one resultant pre-processed data pixel PX in a processed data block PBK said pre-processed data pixel PX corresponding to said given data pixel X.
  • the resultant pixel PX is usually located in the center of the J x K matrix, therefore J and K are usually odd numbers.
  • the J x K filter Fk,j moves over the L x M data block DB by shifting the data pixels DPk,j through the fixedly positioned filter mask area FMA. This is realized in the following way:
  • the pre-processing starts with the upper left pixel of the L x M data block DB.
  • the processing order of the L x M data pixels is from left to right.
  • the pre-processing continues with the first pixel of the next line until all L x M pixels are processed.
  • the example shows the embodiment of an 8 x 4-pixel video-processing block with a 7 x 5 FIR-filter mask or filter mask area FMA. Including overlapping pixels from adjacent blocks, a total of 14 x 8 pixels are involved in the processing.
  • the first 7 pixels of the first 5 lines are connected to the 7 x 5 filter.
  • Fig. 4A shows the initial state of the shift register after reload operation. New pixel positions after the first shift operation are shown in Fig. 4B.
  • the second pixel of each line now moved to the first position of the 7 x 5-filter mask, the third pixel to the second position and so on. This is equivalent to moving the 7 x 5-filter mask one position to the right.
  • All shift and reload operations may be controlled by a state-machine or state machine process as is shown in Fig. 5.
  • the state-machine switches back to the "Shift by 1 Position"-state until the second line is processed and so on.
  • the state-machine receives the trigger condition "next block", which means another restart of the whole block processing cycle.
  • FIG. 6A A structure of a possible cache buffer realizing the embedding data block EDB is shown in Fig. 6A.
  • Each box represents a pixel of n parallel bits of e.g. typical values of 8 or 10 bits per pixel.
  • the first J pixels of the first K lines are directly connected to the J x K filter input.
  • the cache buffer is organized as shift register. It consists of [(M+K)-1] lines with each line containing [(L+J)-1] pixels. All lines and pixels are connected in a way that the last pixel of a line is followed by the first pixel of the next line and so on.
  • the J x K filter mask Instead of moving the J x K filter over the L x M block, which would need large multiplexers at the filter input, the J x K filter mask always stays at the same position relative to the shift register, while the pixels are shifted. After each shift operation, the pixels in the J x K filter input array move to the new position needed for the calculation of the next result pixel.
  • a 3-input multiplexer is assigned to each pixel in order to select the appropriate shift operation.
  • Fig. 6B illustrates the respective operation (a) and the respective operation (b) as described above.
  • the register loading strategy depends on the video data processing speed of the implemented filter.
  • Blank positions inside the shift register can be refilled continuously with new video data of the next processing block as shown in Fig. 8A.
  • previous block data can be replaced by the block data of the next processing block.
  • video signal processing has to be interrupted in order to avoid invalid filter input data mixed from the previous and next video block.
  • next block video data has to be copied from a swap buffer to the filter processing area of the shift register in a single step operation.
  • some additional helper registers might be necessary. After performing the swap operation the shift register is shown in Fig. 8B. All next block data have been copied to the processing area of the shift register and the processing of the first video pixel of the next video block can be started. In order to keep the shift register running without further interruption, blank positions of the shift register have to be filled with the rest of next block video data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

The present invention relates to a method for pre-processing block-based digital data, wherein a pre-processing step (S5, S6) is performed for each digital pixel (X) based on a respective data filter arrangement or data filter matrix (Fk,j) for the respective data pixel (X) within at least one data block (DB) and wherein a step (S5) of selecting, constructing and/or supplying said data filter arrangements or data filter matrices (Fk,j) is essentially based on operations of data shifting and / or register shifting only. <IMAGE>

Description

The present invention relates to a method for pre-processing block-based digital data and in particular to a method for pre-processing block-based digital video data. More particular, the present invention relates to a method and a circuit for realizing a cash buffer for filtering block-based digital data and in particular block-based digital video data.
The present invention applies to the field of processing digital data and in particular to the field of processing digital video data. In known video processing methods and video processing systems before processing said digital data and in particular said digital video data sometimes a data selection is necessary in the sense that provided digital data or provided digital video data to be processed based on a block structure have to be arranged and/or selected by building blocks of said digital data or said digital video data. Therefore, it is necessary to filter the incoming or provided digital data or digital video data in a two-dimensional manner, i.e. by using a digital spatial two-dimensional filter or two-dimensional FIR filter with respect to the provided or incoming digital data items or digital data pixels.
It is an object of the present invention to provide a method for pre-processing digital data or digital video data and a system for realizing said method, which have a particular simple and reliable structure.
The object is achieved by a method for pre-processing block-based digital data according to the characterizing features of independent claim 1. Preferred embodiments are defined within the dependent subclaims. The object is further achieved by a system for pre-processing block-based digital data according to claim 20 as well as by a computer programmed product and a computer-readable storage medium according to independent claims 21 and 22, respectively.
The inventive method for pre-processing block-based digital data is in particular designed for pre-processing block-based digital video data. According to the present invention it is provided that for at least one data block of digital data for each data item or a data pixel a data sub-arrangement or data sub-matrix is provided, generated, and/or used as an assigned data filter arrangement or data filter matrix. I.e. in more detail: According to the present invention it is provided that for at least one data block of digital data - said data block being contained or embedded in a data arrangement or a data matrix of data items or data pixels - for each data item or a data pixel of said data items or data pixels of said at least one data block within said data arrangement or data matrix a data sub-arrangement or data sub-matrix that is assigned for or to said respective data item or data pixel within said respective data block of said data arrangement or data matrix is provided, generated, and/or used as a assigned data filter arrangement or data filter matrix. Further, a pre-processing step is performed for each of said data items or data pixels within said at least one data block based on the respective data filter arrangement or data filter matrix for the respective data item or data pixel within said at least one data block. According to the present invention a step of selecting, constructing and/or supplying said data filter arrangements or data filter matrices is essentially based on operations of data shifting and/or register shifting only.
It is therefore a basic idea of the present invention to realize and/or provide the data filter arrangements or data filter matrices that are necessary for a step of pre-processing the data items or data pixels of a given data block of digital data by using data shift operations and/or register shift operations only. Therefore, only a single process of data loading is necessary with respect to the respective data block and the embedding data arrangement. Further, the shift operations or register shift operations have a particular simple structure and can be realized by compared simple technical means, thereby realizing a simple, reliable and less time-consuming strategy for selecting, constructing and/or supplying the necessary data filter arrangements.
According to a preferred embodiment of the present invention said respective data item or data pixel and said assigned data filter arrangement or data filter matrix are chosen to be based on a certain positional relationship with respect to each other and/or with respect to the respective data block to be pre-processed.
It is of particular advantage if said respective data item or data pixel is positioned in a central region of the respective assigned data filter arrangement or data filter matrix.
More advantageously, said respective data item or data pixel is the central data item or data pixel of the respective assigned data filter arrangement or data filter matrix.
According to a preferred embodiment of the inventive method for pre-processing block-based digital data said respective data arrangement or data matrix are chosen and designed to have a rectangular form of a given certain number of lines or rows and of a given certain number of columns of data items or data pixels.
It is of further advantage to design the respective data block to be pre-processed with a given certain number M of lines or rows and a given certain number L of columns of M x L data items or data pixels.
It is of further advantage to choose or design said data filter arrangement or said data filter matrix with a rectangular form having a given certain - in particular odd - number K of lines or rows and a given certain - in particular odd - number J of columns of data items or data pixels.
According to a preferred embodiment of the inventive method for pre-processing block-based digital data said step of selecting, constructing and/or supplying said data filter arrangements and/or said data filter matrices and in particular said operations of data shifting and/or register shifting are essentially based on and/or are essentially performed using an embedding data block which contains and/or embeds said respective data block to be pre-processed - or a copy thereof - and said data filter arrangements and/or data filter matrices - or copies thereof - and which is common for all of said data filter arrangements and/or for all of said data filter matrices assigned to each of said data items and/or data pixels of said data block to be pre-processed. According to the particular measure said embedding data block is used to evaluate and to pre-process the selected data block to be pre-processed. It is a further basic aspect of the present invention to choose and design the respective embedding data block. The data of said embedding data block has to be chosen and stored only one time. Based on the embedding data block the respective shifting operations or register shifting operations lead to the data filter arrangements or data filter matrices in a straightforward and sequential manner.
According to a further aspect of the present invention said embedding data block is chosen and/or designed to have a rectangular form of M + K - 1 lines or rows and of L + J - 1 columns of digital items or digital pixels of said data arrangement and/or of said data matrix.
Additionally or alternatively, for all data filter arrangements and/or for all data filter matrices for a given data block to be pre-processed a common and fixed filter mask area within said embedding data block may be used for said step of selecting, constructing, and/or supplying said data filter arrangements and/or said data filter matrices.
Further additionally or alternatively, said filter mask arrangement may be chosen to be simply connected corner block, in particular of rectangular form and/or of K lines or rows and of J columns of data items or data pixels of said embedding data block.
According to a preferred embodiment of the inventive method for pre-processing block-based digital data said respective data block is pre-processed row by row or line by line, in particular starting with a top row or top line of said data block to be pre-processed and/or in particular pre-processing the rows or lines of said data block in their sequential order. Of course, the processing can also be performed starting with a button row and pre-processing the rows of the data block inverse to their sequential order. Alternatively also a pre-processing column by column is possible either from left to right or from right to left in their sequential order inverted to their sequential order, respectively.
In all these cases within each row or line (column) the respective data items or data pixels are pre-processed in their sequential order with respect to the columns (rows or lines) of the data block to be pre-processed, in particular starting with a first or most left data item or data pixel in the respective row or line.
It is of further advantage when according to a further preferred embodiment of the present invention within said step of selecting, constructing and/or supplying said data filter arrangements and/or said data filter matrices an order is used which corresponds to the order of pre-processing said respective data items and/or data pixels within said respective data block to be pre-processed. According to this measure a direct correspondence or assignment between the pixels of the data block to be pre-processed and the data filter arrangements and/or data filter matrices is realized in a particular simple and reliable manner.
According to a further preferred embodiment of the present invention the shift operations may be chosen from the group, which consists of the following operations:
  • (a) All data items and/or data pixels of the embedding data block are shifted one step to the left, i.e. in each line to the next lower indexed column (j := j - 1) and in the case of a data item and/or data pixel of a first column (j =1) to the last column (j = L + J - 1) of the next lower indexed row or line (k := k - 1). The respective data item and/or data pixel is cancelled from the embedding data block if it is in the first column (j = 1) of the first line (k = 1).
  • (b) All data items and/or data pixels of the embedding data block are shifted by one row or line to the top, i.e. for each line (k = 1, ..., M + K - 1) all data items and/or data pixels of the last L-1 columns are shifted J steps to the left, i.e. to the respective J-times lower indexed column [j := j - J). Simultaneously, for each but the first line (k = 2, ..., M + K - 1) all data items and/or data pixels of the first J columns (j = 1, ..., J) are shifted to the last J columns (J = L, ..., L + J - 1) of the next lower indexed row or line (k := k - 1). In the case of the first line (k = 1) the respective data items and/or data pixels of the first J columns are cancelled from the embedding data block.
  • According to the present invention the step of selecting, constructing, and/or supplying said data filter arrangement and/or said data filter matrices is realized by the following steps:
    • The respective embedding data block is loaded.
    • The data block DB to be pre-processed is pre-processed by starting with the most left upper data item and/or data pixel of said data block DB to be pre-processed, i.e. with the data item and/or data pixel of said data block DB to be pre-processed having row and column indices 1 and 1 within the data block DB to be pre-processed. This is done by using the section of the embedding data block as a respective data filter arrangement and/or data filter matrix which is given by or corresponding to said common filter mask area which is in particular in a fixed spatial relationship to the embedding data block for all data filter arrangements and/or for all data filter matrices, i.e. for all pixels within said data block to be pre-processed.
    • The further data blocks and/or data pixels are pre-processed by applying the shift operation (a) - as described above - (L-1) times for all M lines, whereas the shift operation (b) - as described above - is applied (M-1) times. In other words, the further data blocks and/or data pixels are pre-processed by sequentially (M-1) times applying for each line (L-1) times the shift operation (a) followed by an shift operation (b) and by using the respective section of the embedding data block as a respective data filter arrangement and/or data filter matrix which is given by and/or corresponding to said common filter mask area after each of said shift operation (a) and after each of said shift operation (b).
    According to a further preferred embodiment a shift register is used to realize and/or to store said embedding data block and in particular said common filter mask area. Said shift register has in particular M + K - 1 lines or rows and L + J - 1 columns of pixel registers or pixel storing elements.
    In this case each of said pixel storing elements or pixel registers may be provided with a 3-input multiplexers as to realize a selection of one of the above described shift operations (a) and/or (b).
    It is of further advantage to control the inventive method for pre-processing block-based digital data by a state machine and/or by a state machine process.
    According to a further aspect of the present invention a system, apparatus, or device is provided which is adapted and/or designed to realize and/or to perform the inventive method for pre-processing block-based digital data and the steps thereof.
    According to another aspect of the present invention a computer program product is provided which comprises computer program means being adapted to realize and/or to perform the inventive method for pre-processing block-based digital data and/or the inventive system for pre-processing block-based digital data when it is executed on a computer, a digital processing means and/or the like.
    Additionally, a computer readable storage medium is provided and comprises the inventive computer program product.
    In the following these and further aspects of the present invention will be explained in further detail:
    The present invention particularly relates inter alia to a method and to a circuit of cache buffering for filtering block based video data.
    The here described invention applies to a digital video processing system, where each field out of a sequence of video fields is split into a number of rectangular blocks with a size of L x M pixels each. Such video processing systems are used for e.g. motion estimation or format conversion applications. This is according to the fact that block based video field processing helps minimizing the data access bandwidth to the main video memory. This invention describes the method and structure of a cache buffer that enables a simple processing of video blocks with a size of L x M pixels by a digital spatial 2D FIR filter with J x K parallel input pixels e.g. used for noise reduction or picture sharpness improvement. The here described cache buffer has a simple and regular structure, which makes it easy to implement in programmable logic or ASIC.
    This invention describes a method of filtering video data in a block based video processing system by a spatial 2D filter. A possible solution of the problem could be, to store the video data in a fixed register-matrix and select the filter input data by multiplexers. However this approach would increase the number of logic gates and signal delay time significantly, especially at filters with many parallel input pixels, where wide-range multiplexers are needed. The here described idea of storing pixel data in a shift register, whose output lines are directly connected to the input of the filter, helps to keep the number of logic gates low and allows an easy adaptation to different filter sizes. Due to the scaleable architecture, the signal delay time and therefore the system speed are not influenced by the filter size.
    The present invention therefore covers inter alia a shift register with above mentioned properties and structure and a state-machine to control the switching behavior of this shift register.
    In the following these and further aspects of the present invention will be described in further detail by taking reference to the accompanying figures.
    Fig. 1
    is a schematical block diagram demonstrating several basic aspects of the inventive method for pre-processing block-based digital data.
    Fig. 2
    demonstrates some relationships of the different data structures used within the present invention.
    Fig. 3 - 4D
    schematically describe further aspects of the data structures used within the present invention.
    Fig. 5
    is a schematical block diagram of a state machine or a state machine process used within the present invention.
    Fig. 6A, B
    are schematical diagrams of a shift register and of its operation which both can be used to realize the present invention.
    Fig. 7A, B
    demonstrate by means of schematical block diagrams data shift operations, which can be used within the present invention.
    Fig. 8A, B
    are schematical block diagrams demonstrating further details of preferred embodiments of the present invention.
    In the following, similar elements, structures and functionalities are denoted by the same reference symbols. A detailed description is not given in each case of their occurrence.
    Fig. 1 is a schematical block diagram that elucidates some basic aspects of the inventive method for pre-processing block-based digital data.
    Within a first step S1 said digital data to be pre-processed are received and/or supplied in the form of a digital data stream DS. Within a second step S2 a certain data block DB to be pre-processed is selected. Within a third step S3 an embedding data block EDB is generated and/or initialized. Any shift operation or data shift operation according to the present invention is performed on the embedding data block EDB which is a copy of a respective data section contained in or embedded in the received data stream DS. Within a fourth step S4 a filter mask area FMA is generated, selected, and/or assigned. Said filter mask area is common for all pixels of the selected data block DB to be pre-processed and consequently common for all data filter arrangements and/or data filter matrices for each of said pixels within said data block DB on the basis of which the pre-processing of each of said respective pixels within said data block DB is performed within a following step S5. Step S5 may be followed by an optional pre-processing step S6 which is indicated in Fig. 2. After having finished the processing of the entire data block DB it is checked on whether or not a further data block DB has to be pre-processed in which case the processing of Fig. 1 branches again to the second step S2 of selecting a further data block DB to be pre-processed. Otherwise, the process shown in Fig. 1 ends.
    Fig. 2 schematically describes the relationship between the different data structures used within the inventive method for pre-processing block-based digital data.
    Digital data are - as already indicated with respect to Fig. 1 - as a digital data stream DS. After pre-processing the digital data contained in the digital data stream DS a processed digital data stream PDS is obtained. The digital data stream DS is built up by data fields DF1, ..., DFn. Each data field DF1, ..., DFn is built up by a data matrix DM1, ..., DMn. In the situation shown in Fig. 2 a certain given data field DF1 is subjected to a pre-processing step. Therefore the respective data matrix DM1 is selected. Within said data matrix or data arrangement DM1 a certain data block DB to be pre-processed is selected. The respective data arrangement or data matrix DM1 and therefore the data block DB to be pre-processed is built up by respective data items or data pixels DPk,j which are selected as selected data items or data pixels X in their sequential order.
    It is important to choose and select an embedding data block EDB which is a copy of the respective data region within the respective selected data matrix DM1 of the provided data stream DS. The embedding data block EDB is chosen and designed to be an embedding for the selected data block DB to be pre-processed as well as for the respective data filter arrangements or data filter matrices Fk,j which have to be constructed for each of the selected pixels X, X' of the selected data block DB, DB'. Additionally a filter mask area FMA is selected within the embedding data block EDB at a fixed position. Therefore a common filter mask area FMA for all possible data filter arrangements and/or data filter matrices Fk,j is built up. The data which coincide with the respective filter mask area FMA are copied and used as said data filter arrangement and/or as said data filter matrix Fk,j for each of the pixels X, X' which are selected from the data block DB, DB'.
    By using data shift operations only which are applied to the embedding data block EDB the copied data within the embedding data block EDB are shifted in a way that the fixedly positioned filter mask area FMA sees the respective data within the embedding data block which correspond to the respective data filter arrangement and/or the respective data filter matrix Fk,j which corresponds to the selected data item or data pixel X, X' of the plurality of pixels DPk,j within the copy DB' of the data block DB, thereby selecting and providing the data section defined by the filter mask area FMA within the embedding data block EDB as a data filter arrangement or data filter matrix Fk,j on the basis of which the pre-processing step S5 of Fig. 1 is performed so as to yield on the basis of said data filter arrangement or data filter matrix Fk,j a pre-processed selected data item or data pixel X which corresponds to the respective pre-processed data pixel DPk,j within the pre-processed digital data stream PDS.
    These relationships hold for each of said selected data pixels or data items X within the selected data block DB to be pre-processed, and further for all selected data blocks DB of a selected data arrangement or data matrix DM1 constituting the data fields DF1 within the received digital data stream DS.
    Fig. 3 to 4D schematically describe several aspects of the signals and/or data structures used within the present invention.
    The pre-processing of a data block of L x M data pixels DPk,j by a 2-dimensional J x K sized FIR filter is shown in Fig. 3.
    As an example a data block DB of 8 x 4 pixels is filtered by a 7 x 5 filter or data filter arrangement or data filter matrix Fk,j. This means that for each pixel X of the data block DB to be pre-processed J x K = 35 parallel input data pixels DPk,j are needed to be processed to give one resultant pre-processed data pixel PX in a processed data block PBK said pre-processed data pixel PX corresponding to said given data pixel X. The resultant pixel PX is usually located in the center of the J x K matrix, therefore J and K are usually odd numbers. The J x K filter Fk,j moves over the L x M data block DB by shifting the data pixels DPk,j through the fixedly positioned filter mask area FMA. This is realized in the following way:
    The pre-processing starts with the upper left pixel of the L x M data block DB. The processing order of the L x M data pixels is from left to right. At the end of each line or row, the pre-processing continues with the first pixel of the next line until all L x M pixels are processed. Dependent on the values J and K of the filter, data pixels from adjacent blocks are involved in the processing. Therefore, a total amount of [(L+J)-1] x [(M+K)-1] data pixels is needed to process a block of L x M data pixels.
    All mentioned shift operations and their effect on the filter input are demonstrated in Fig. 4A - 4D.
    The example shows the embodiment of an 8 x 4-pixel video-processing block with a 7 x 5 FIR-filter mask or filter mask area FMA. Including overlapping pixels from adjacent blocks, a total of 14 x 8 pixels are involved in the processing. The first 7 pixels of the first 5 lines are connected to the 7 x 5 filter. Fig. 4A shows the initial state of the shift register after reload operation. New pixel positions after the first shift operation are shown in Fig. 4B. The second pixel of each line now moved to the first position of the 7 x 5-filter mask, the third pixel to the second position and so on. This is equivalent to moving the 7 x 5-filter mask one position to the right. The pixel shift is continued (L -1) times, until the last pixel of the first line is processed. At the end of the first line, pixels are in the position shown in Fig. 4C. Now the filter mask jumps to the beginning of the next line. As the video-processing filter has a width of J = 7 pixels, all pixels inside the shift register are therefore shifted left by 7 positions. This brings the pixels of the former second line to the first line of the 7 x 5-filter as is shown in Fig. 4D. Then processing continues with the second line of the 8x4 block and so on, until all pixels in the 8 x 4 block are processed.
    All shift and reload operations may be controlled by a state-machine or state machine process as is shown in Fig. 5.
    During "Load Reg"-state all registers of the [(L+J)-1) × [(M+K)-1] array are reinitialized. Parallel or sequential register reload is possible. After register loading, the state-machine switches to the "Shift by 1 position"-state. In this state, all pixels are shifted one position to the left, which means that they are replaced by their right neighbor pixel. Shifting pixels left is equivalent to moving the J x K filter in Fig. 3 one position to the right. After processing all pixels of the first line, processing continues with the first pixel of the second line. This is achieved by shifting all pixels J positions to the left. Afterwards the state-machine switches back to the "Shift by 1 Position"-state until the second line is processed and so on. At the end of the last line in an L x M block, the state-machine receives the trigger condition "next block", which means another restart of the whole block processing cycle.
    A structure of a possible cache buffer realizing the embedding data block EDB is shown in Fig. 6A.
    Each box represents a pixel of n parallel bits of e.g. typical values of 8 or 10 bits per pixel. The first J pixels of the first K lines are directly connected to the J x K filter input. The cache buffer is organized as shift register. It consists of [(M+K)-1] lines with each line containing [(L+J)-1] pixels. All lines and pixels are connected in a way that the last pixel of a line is followed by the first pixel of the next line and so on. Instead of moving the J x K filter over the L x M block, which would need large multiplexers at the filter input, the J x K filter mask always stays at the same position relative to the shift register, while the pixels are shifted. After each shift operation, the pixels in the J x K filter input array move to the new position needed for the calculation of the next result pixel. A 3-input multiplexer is assigned to each pixel in order to select the appropriate shift operation.
    Fig. 6B illustrates the respective operation (a) and the respective operation (b) as described above.
    Three different operations are possible:
  • 1. Load new cache content, i.e. a new data block DB to be pre-processed. Thereby, replace all data pixels by completely new values.
  • 2. Process or pre-process a next data pixel of a given data block DB. Therefore, shift all data pixels one position to the left, wherein the first data pixel of each line is shifted to the end of the upper line as is shown in Fig. 7A.
  • 3. Perform a line jump. This is done by shifting all data pixels J positions to the left, wherein the first J data pixels of each line or row are moved to the last J positions of the upper line or row as is shown in Fig. 7B.
  • The register loading strategy depends on the video data processing speed of the implemented filter.
    Blank positions inside the shift register can be refilled continuously with new video data of the next processing block as shown in Fig. 8A. After processing the last pixel of the previous video block, previous block data can be replaced by the block data of the next processing block. During the time needed for video data replacement, video signal processing has to be interrupted in order to avoid invalid filter input data mixed from the previous and next video block.
    If it is not possible to interrupt video data processing during data replacement time, at least some lines of next block video data have to be copied from a swap buffer to the filter processing area of the shift register in a single step operation. In order to have enough next block video data in the swap buffer, some additional helper registers might be necessary. After performing the swap operation the shift register is shown in Fig. 8B. All next block data have been copied to the processing area of the shift register and the processing of the first video pixel of the next video block can be started. In order to keep the shift register running without further interruption, blank positions of the shift register have to be filled with the rest of next block video data.
    Reference Symbols
    B
    blank pixel
    DB
    data block to be processed/pre-processed
    DB'
    copy data block to be processed/pre-processed
    DP, DPk,j
    data item/data pixel belonging to row/line k and column j
    DP', DPk,j'
    copy of data item/data pixel belonging to row/line k and column j
    DS
    input data stream of digital data to be processed/pre-processed
    DS'
    output or processed/pre-processed data stream
    DF, DF1
    data field of data stream; (1=1, ..., n)
    DF', DF1'
    processed/pre-processed data field of processed/pre-processed data stream
    DM, DM1
    data arrangement/matrix for data field DF, DF1; (1= 1, ..., n)
    DM', DM1'
    processed/pre-processed data arrangement/matrix for data field DF, DF1; (1=1, ..., n)
    EDB
    embedding data block, shift register area/block
    Fk,j
    data filter arrangement/matrix belonging to data pixel DPk,j
    FMA
    filter mask, filter mask area
    J
    number of rows/lines of data filter arrangement/matrix Fk,j and/or of filter mask area FMA
    K
    number of columns of data filter arrangement/matrix Fk,j and/or of filter mask area FMA
    L
    number of columns of data block DB, DB', PDB
    M
    number of rows/lines of data block DB, DB', PDB
    PDB
    processed/pre-processed data block
    PDP, PDPk,j
    processed/pre-processed data item/pixel belonging to row/line and column j
    X
    selected data item/pixel of data block DB
    X'
    copy of selected data item/pixel of data block DB'

    Claims (22)

    1. Method for pre-processing block-based digital data, in particular block-based digital video data,
      wherein for at least one data block (DB) of digital data said data block (DB) being contained or embedded in a data arrangement or data matrix (DM1, ..., DMn) of data items and/or data pixels (DPk,j) for each data item or data pixel (X) of said data items or data pixels (DPk,j) of said at least one data block (DB) within said data arrangement or data matrix (DM1, ..., DMn) a data sub-arrangement or data sub-matrix assigned for or to said respective data item or data pixel (X) within said respective data block (DB) of said data arrangement or data matrix (DM 1, ..., DMn) is used as a assigned data filter arrangement or data filter matrix (Fk,j),
      wherein a processing step (S5, S6) is performed for each of said data items or data pixels (DPk,j) based on the respective data filter arrangement or data filter matrix (Fk,j) for the respective data item or data pixel (X) within said at least one data block (DB), and
      wherein a step (S5) of selecting, constructing and/or supplying said data filter arrangements and/or data filter matrices (Fk,j) is essentially based on operations of data shifting and/or of register shifting only.
    2. Method according to claim 1,
      wherein said respective data item or data pixel (X) and said assigned data filter arrangement or data filter matrix (Fk,j) are chosen to be based on a certain and/or fixed positional relationship with respect to each other and with respect to said respective data block (DB).
    3. Method according to any one of the preceding claims,
      wherein said respective data item or data pixel (X) is in a central region of the respective assigned data filter arrangement or data filter matrix (Fk,j).
    4. Method according to any one of the preceding claims,
      wherein said respective data item or data pixel (X) is the central data item or data pixel of the respective assigned data filter arrangement or data filter matrix (Fk,j).
    5. Method according to any one of the preceding claims,
      wherein said respective data arrangement or data matrix (DM1, ..., DMn) has a rectangular form of a given certain number of lines or rows and of a given certain number of columns of data items or data pixels (DPk,j).
    6. Method according to any one of the preceding claims,
      wherein said respective data block (DB) is chosen and designed to have a given certain number M of lines or rows and a given certain number L of columns of M x L items or data pixels (DPk,j).
    7. Method according to anyone of the preceding claims,
      wherein said data filter arrangement or said data filter matrix (Fk,j) has a rectangular form with a given certain - in particular odd - number K of lines or rows and a given certain - in particular odd - number J of columns of data items or data pixels (DPk,j).
    8. Method according to any one of the preceding claims,
      wherein said step (S5) of selecting, constructing and/or supplying said data filter arrangements and/or said data filter matrices (Fk,j) and in particular said operations of data shifting and/or said operations of register shifting are essentially based on and/or are essentially performed with respect to an embedding data block (EDB) which contains and/or embeds said respective data block (DB) to be pre-processed - or a copy (DB') thereof - and said data filter arrangements and/or data filter matrices (Fk,j) and which is common for all data filter arrangements and/or data filter matrices (Fk,j) - or a copy (Fk,j') thereof - assigned for each of said data items or data pixels (X) of said data block (DB) to be pre-processed.
    9. Method according to claim 8,
      wherein said embedding data block (EDB) is chosen and/or designed to have a rectangular form of M + K - 1 lines or rows and of L + J - 1 columns of data items or data pixels (DPi,j) of said data arrangement and/or of said data matrices (DM1, ..., DMn).
    10. Method according to any one of the preceding claims 8 or 9,
      wherein for all data filter arrangements and/or for all data filter matrices (Fk,j) for a given data block (DB) to be pre-processed a common and fixed filter mask area (FMA) within said embedding data block (EDB) is used for said step (S5) of selecting, constructing and/or supplying said data filter arrangements and/or data filter matrices (Fk,j).
    11. Method according to claim 10,
      wherein said filter mask area (FMA) is chosen and/or designed to be a simply connected corner block, in particular of rectangular form and/or of K lines or rows and of J columns of data items or data pixels (DPk,j) of said embedding data block (EDB).
    12. Method according to any one of the preceding claims,
      wherein said respective data block (DB) is pre-processed row by row, in particular starting with a top row of said data block (DB) to be pre-processed and/or in particular by pre-processing the rows or lines of said data block (DB) in their sequential order.
    13. Method according to claim 12,
      wherein within each row or line the respective data items and/or data pixels (X) are pre-processed in their sequential order with respect to the columns of the data block (DB) to be pre-processed, in particular starting with a first or most left data item and/or data pixel (X) in the respective row or line.
    14. Method according to any one of the preceding claims,
      wherein within said step (S5) of selecting, constructing and/or supplying said data filter arrangements and/or said data filter matrices (Fk,j) an order is used which corresponds to the order of pre-processing said respective data items and/or data pixels (X) within said respective data block (DB) to be pre-processed.
    15. Method according to claim 14,
      wherein the data shift operations and/or the register shift operations are chosen from the group which consists from the following operations:
      (a) shift all data items and/or data pixels (DPk,j) of the embedding data block (EDB) one step to the left, i.e. in each line (k = 1, ..., M + K - 1) to the next lower indexed column (j := j - 1), in the case of a data item and/or a data pixel (DPk,j) of a first column (j = 1) to the last column (j = L + J - 1) of the next lower indexed row or line (k := k - 1), or cancel the respective data item and/or data pixel (DPk,j) from the embedding data block (EDB) if it is in the first column (j = 1) of the first line (k = 1), and
      (b) shift all data items and/or data pixels (DPk,j) of the embedding data block (EDB) one row or line to the top, i.e. for each line (k = 1, ..., M + K - 1) shift all data items and/or data pixels (DPk,j) of the last L-1 columns J-times to the left, i.e. to the respective J-times lower indexed column (j := j - J) and simultaneously for each but the first line (k = 2, ..., M + K - 1) shift all data items and/or data pixels (DPk,j) of the first J columns (j = 1, ..., J) to the last J columns (j = L, ..., L + J - 1) of the next lower indexed row or line (k: = k - 1), for the first line (k = 1) cancel the data item and/or data pixel (DPk,j) of the first J columns (j = 1, ..., J).
    16. Method according to claim 15,
      wherein the step of selecting, constructing and/or supplying said data filter arrangements and/or said data filter matrices (Fk,j) is realized by the following consecutive steps:
      generating and/or loading (S3) the respective embedding data block (EDB),
      pre-processing (S5, S6) the data block (DB) to be pre-processed starting with the most left upper data item and/or data pixel (DPk,j), i.e. with the data item and/or data pixel (DPk,j) with k = 1, j = 1 by using the section of the embedding data block (EDB) as a respective data filter arrangement and/or data filter matrix (Fk,j) which is given by and/or corresponding to the common filter mask area (FMA), and
      pre-processing (S5, S6) the further data items and/or data pixels (DPk,j) by sequentially (M - 1)-times applying for each line (L - 1)-times the shift operation (a) followed by an shift operation (b), and by using the section of the embedding data block (EDB) as a respective data filter arrangement, and/or data filter matrix (Fk,j) which is given by and/or corresponding to the common filter mask area (FMA) after each of said shift operations (a) and (b).
    17. Method according to any one of the preceding claims,
      wherein a shift register - in particular with the M + K - 1 lines or rows and L + J - 1 columns of pixel registers - is used to realize and/or to store said embedding data block (EDB) and in particular said common filter mask area (FMA).
    18. Method according to claim 17,
      wherein each pixel register if provided with a 3-input multiplexer so as to select one of the shift operations (a) and/or (b).
    19. Method according to any one of the preceding claims,
      which if controlled or controllable by a state machine or a state machine process.
    20. System for pre-processing block-based digital data,
      which is adapted and/or designed to realize the method for pre-processing block-based digital data according to any one of the claims 1 to 19 and / or the steps thereof.
    21. Computer program product,
      comprising computer program means which is adapted to realize and/or to perform the method for pre-processing block-based digital data according to any one of the preceding claims 1 to 19 and/or the system of claim 20, when it is executed on a computer, a digital signal processing means, and/or the like.
    22. Computer readable storage medium,
      comprising a computer program product according to claim 21.
    EP04000626A 2004-01-14 2004-01-14 Method for pre-processing block based digital data Withdrawn EP1555828A1 (en)

    Priority Applications (2)

    Application Number Priority Date Filing Date Title
    EP04000626A EP1555828A1 (en) 2004-01-14 2004-01-14 Method for pre-processing block based digital data
    US11/036,274 US7756207B2 (en) 2004-01-14 2005-01-13 Method for pre-processing block based digital data

    Applications Claiming Priority (1)

    Application Number Priority Date Filing Date Title
    EP04000626A EP1555828A1 (en) 2004-01-14 2004-01-14 Method for pre-processing block based digital data

    Publications (1)

    Publication Number Publication Date
    EP1555828A1 true EP1555828A1 (en) 2005-07-20

    Family

    ID=34610169

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    EP04000626A Withdrawn EP1555828A1 (en) 2004-01-14 2004-01-14 Method for pre-processing block based digital data

    Country Status (2)

    Country Link
    US (1) US7756207B2 (en)
    EP (1) EP1555828A1 (en)

    Families Citing this family (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US8031782B2 (en) * 2008-08-29 2011-10-04 ADC2 Technologies LLC Systems and methods for compression, transmission and decompression of video codecs
    EP2549472A1 (en) 2011-07-19 2013-01-23 Research In Motion Limited Method and system for displaying using buffer swapping
    US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators

    Citations (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US4665556A (en) * 1983-02-09 1987-05-12 Hitachi, Ltd. Image signal processor
    EP0222405A2 (en) * 1985-11-13 1987-05-20 Sony Corporation Data processor
    WO2000038068A1 (en) * 1998-12-22 2000-06-29 Koninklijke Philips Electronics N.V. Cache with access to a moving two-dimensional window

    Family Cites Families (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    DE4227733A1 (en) * 1991-08-30 1993-03-04 Allen Bradley Co Configurable cache memory for data processing of video information - receives data sub-divided into groups controlled in selection process
    FR2719398B1 (en) * 1994-04-27 1996-07-19 Sgs Thomson Microelectronics Device and method for addressing a cache memory of a mobile image compression circuit.
    US7313185B2 (en) * 2003-08-01 2007-12-25 Microsoft Corporation Sequential motion pattern representation

    Patent Citations (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US4665556A (en) * 1983-02-09 1987-05-12 Hitachi, Ltd. Image signal processor
    EP0222405A2 (en) * 1985-11-13 1987-05-20 Sony Corporation Data processor
    WO2000038068A1 (en) * 1998-12-22 2000-06-29 Koninklijke Philips Electronics N.V. Cache with access to a moving two-dimensional window

    Non-Patent Citations (4)

    * Cited by examiner, † Cited by third party
    Title
    BULL D R ET AL: "Bit-serial digital filter architecture using RAM-based delay operators", IEE PROCEEDINGS: CIRCUITS DEVICES AND SYSTEMS, INSTITUTION OF ELECTRICAL ENGINEERS, STENVENAGE, GB, vol. 141, no. 5, 1 October 1994 (1994-10-01), pages 371 - 6, XP006001539, ISSN: 1350-2409 *
    CHAKRABARTI C ET AL: "Median filter architecture based on sorting networks", PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS. SAN DIEGO, MAY 10 - 13, 1992, PROCEEDINGS OF THE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS. (ISCAS), NEW YORK, IEEE, US, vol. 4 CONF. 25, 3 May 1992 (1992-05-03), pages 1069 - 1072, XP010061416, ISBN: 0-7803-0593-0 *
    DEMASSIEUX N ET AL: "VLSI ARCHITECTURE FOR A ONE CHIP VIDEO MEDIAN FILTER", INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING. ICASSP. TAMPA, FLORIDA, MAR. 26 - 29, 1985, NEW YORK, IEEE, US, vol. 3 CONF. 10, 26 March 1985 (1985-03-26), pages 1001 - 1004, XP000745527 *
    FADAVI-ARDEKANI J ET AL: "Architecture, applications, and design of a video FIR filter IC", PAGE(S) 622-626, XP010084887 *

    Also Published As

    Publication number Publication date
    US20050281338A1 (en) 2005-12-22
    US7756207B2 (en) 2010-07-13

    Similar Documents

    Publication Publication Date Title
    US20070189618A1 (en) Method and apparatus for processing sub-blocks of multimedia data in parallel processing systems
    EP1927949A1 (en) Array of processing elements with local registers
    EP2346255B1 (en) Image decoding apparatus and image decoding method
    EP0887802B1 (en) Method for operating a memory
    KR20060060919A (en) Deblocking Filter and Filtering Method to Eliminate Blocking Effect in H.264 / MFP-4
    KR100308270B1 (en) Data transposition system
    EP1555828A1 (en) Method for pre-processing block based digital data
    KR0184906B1 (en) Digital video signal arrangement apparatus
    JP6589878B2 (en) Predictive image generation apparatus and predictive image generation method
    KR100874949B1 (en) Single instruction multiple data processor and memory array structure for it
    KR100437177B1 (en) Moving amount estimating device
    US20090185754A1 (en) Image processing circuit and image processing apparatus
    US5638310A (en) Pixel matrix filter
    EP1927950A1 (en) Array of processing elements with local registers
    JP5738639B2 (en) Data processing apparatus and data processing method
    JP2009218975A (en) Image processing apparatus
    JP3788563B2 (en) Image data scaling device
    JP4135605B2 (en) Image processing device
    JP3726971B2 (en) Parallel processor device
    JP3553376B2 (en) Parallel image processor
    KR100269425B1 (en) Output data rearrangement device of frame memory
    KR100235488B1 (en) Apparatus for rearranging data output from a frame memory according to scanning pattern of a frame memory
    JP3698501B2 (en) Motion vector detection device
    US7835584B1 (en) Method and apparatus for processing video data
    JP2001022923A (en) Image data processor

    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

    AK Designated contracting states

    Kind code of ref document: A1

    Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

    AX Request for extension of the european patent

    Extension state: AL LT LV MK

    RAP1 Party data changed (applicant data changed or rights of an application transferred)

    Owner name: SONY DEUTSCHLAND GMBH

    17P Request for examination filed

    Effective date: 20051221

    AKX Designation fees paid

    Designated state(s): DE FR GB

    RAP1 Party data changed (applicant data changed or rights of an application transferred)

    Owner name: SONY DEUTSCHLAND GMBH

    STAA Information on the status of an ep patent application or granted ep patent

    Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

    18D Application deemed to be withdrawn

    Effective date: 20100803