Video Memory Having Internal Programmable Scanning Element

- Broadcom Corporation

A data storage element, which includes an interface module configured to receive at least some image data, and includes video memory configured to store the image data, and also includes a scanning element configured to continuously scan the image data and to internally reorganize the image data stored in the video memory, wherein the image data is continuously scanned and internally reorganized prior to the image data being output from the video memory, and includes a processing unit configured to control the operation of the scanning element, and also includes a reorganizational buffer module configured to temporarily store the image data, and farther includes an output bus configured to output the image data after the image data has been internally reorganized by the scanning element.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application No. 61/549,495, filed Oct. 20, 2011, which is incorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention generally relates to video memory, and more specifically to a video memory having a programmable scanning element.

2. Related Art

The demands of image processing expose the inherent shortcomings of conventional memory architecture, such as common fixed length input/output (I/O) buses, fixed length addressing and standard read/write control. In particular, many image processing tasks require reading relatively large portions of memory (via such fixed addressing and output constructs) even when only a small portion thereof is actually needed. Therefore, /O bus bandwidth constraints place serious limitations on these conventional image processing systems.

Conventional image processing systems are generally comprised of memory, which stores image data, and a processor, which processes the image data. In these systems, the memory is typically implemented using synchronous dynamic random access memory (SDRAM). However, SDRAM has a bandwidth limited output. Therefore, only a relatively small number of bits can be transmitted at a time between the SDRAM and the image processor. Thus, in conventional video processing systems, the speed at which the image data can be transmitted between the SDRAM and the image processor is limited by the bandwidth of the SDRAM.

To process the stored image data, a large number of pixels must be transmitted to the image processor from the memory. For every pixel that is transmitted, the surrounding neighborhood of each pixel must also be transmitted, which generally requires transmitting large amounts of additional data to the image processor. Therefore, the image processor processes the image on a pixel-by-pixel basis, which increases the overall time that it takes to transmit the image data between the SDRAM and the image processor. Therefore, each of these aforementioned characteristics, coupled with the limited bandwidth associated with the SDRAM, result in it taking a relatively long time to transmit all of the required image data between the memory and the image processor. Consequently, these conventional image processing systems are rendered relatively inefficient.

Thus, a need exists for video memory that is capable of organizing image data such that it can be transmitted to the processing element in a faster and more efficient manner.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

Embodiments of the invention are described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left most digit(s) of a reference number identifies the drawing in which the reference number first appears.

FIG. 1 illustrates a block diagram of a data processing system that includes the data storage element having the scanning element according to an exemplary embodiment of the present invention.

FIG. 2 illustrates a block diagram of a data storage element having a scanning element according to an exemplary embodiment of the present invention.

FIG. 3 illustrates a block diagram of a plurality of different reorganization techniques implemented by the scanning element according to an exemplary embodiment of the present invention.

FIG. 4 is a flowchart of exemplary operational steps of reorganizing image data according to an exemplary embodiment of the present invention.

Embodiments of the invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the reference number

DETAILED DESCRIPTION OF THE INVENTION

The following Detailed Description refers to accompanying drawings to illustrate exemplary embodiments consistent with the invention. References in the Detailed Description to “one exemplary embodiment,” “an exemplary embodiment,” “an example exemplary embodiment,” etc., indicate that the exemplary embodiment described may include a particular feature, structure, or characteristic, but every exemplary embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same exemplary embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an exemplary embodiment, it is within the knowledge of those skilled in the relevant art(s) to affect such feature, structure, or characteristic in connection with other exemplary embodiments whether or not explicitly described.

The exemplary embodiments described herein are provided for illustrative purposes, and are not limiting. Other exemplary embodiments are possible, and modifications may be made to the exemplary embodiments within the spirit and scope of the invention. Therefore, the Detailed Description is not meant to limit the invention. Rather, the scope of the invention is defined only in accordance with the following claims and their equivalents.

Embodiments of the invention may be implemented in hardware, firmware, software, or any combination thereof Embodiments of the invention may also be implemented as instructions stored on a machine-readable medium, which may be read and executed by one or more processors. A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computing device). For example, a machine-readable medium may include read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), and others. Further, firmware, software, routines, instructions may be described herein as performing certain actions. However, it should be appreciated that such descriptions are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.

The following Detailed Description of the exemplary embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge of those skilled in relevant art(s), readily modify and/or adapt for various applications such exemplary embodiments, without undue experimentation, without departing from the spirit and scope of the invention. Therefore, such adaptations and modifications are intended to be within the meaning and plurality of equivalents of the exemplary embodiments based upon the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by those skilled in relevant art(s) in light of the teachings herein.

Although the description of the present invention is to be described in terms of video memory, those skilled in the relevant art(s) will recognize that the present invention may be applicable to other storage devices without departing from the spirit and scope of the present invention.

An Exemplary Data Processing System

FIG. 1 illustrates a block diagram of a data processing system 100 that includes a data storage element 102 having a scanning element 104 according to an exemplary embodiment of the present invention. Data processing system 100 also includes an interface module 106, an input/output (I/O) bus 118 and an image processing device 116.

Interface module 106 acquires image data 108.1 and 108.2 from one or more image capturing devices (e.g., a camera 110 or other sensor device) or from a network 112. However, other image capturing devices and various types of networks may be possible without departing from the spirit and scope of the present disclosure. Interface module 106 outputs image data 108.1 and 108.2 as captured image data 114. Captured image data 114 is then input into data storage element 102.

Prior to transmitting reorganized image data 120 to an image processing device 116, scanning element 104 is configured to scan and/or reorganize captured image data 114 to form reorganized image data 120.

Scanning element 104 may perform the scanning and/or reorganization of captured image data 114 when captured image data 114 is read out from data storage element 102 by image processing device 116, when captured image data 114 is written to data storage element 102, or when reorganized image data 120 is written back to data storage element 102. Therefore, captured image data 114 can be written to data storage element 102 when it is received from interface module 106, and reorganized image data 120 can be written back to data storage element 102 when reorganized image data 120 is received at I/O bus 118. Reorganized image data 120 may be written back to data storage element 102 because, in some embodiments, after image processing device 116 processes reorganized image data 120, a portion of reorganized image data 114 may be written back to data storage element 102 for storage or for later processing. Thus, by having scanning element 104 perform the scanning and/or reorganization of reorganized image data 120 when it is written back into data storage element 102 from image processing device 116, reorganized image data 120 can be written in a more efficient manner instead of merely writing it in a sequential manner.

In particular, when either captured image data 114 or reorganized image data 120 is written to data storage element 102, scanning element 104 may transpose, restructure, rotate, or remap the image data, to provide some examples. Scanning element 104 may also scan for matches contained within the image data, gather samples (sub-sets) of the image data and reorganize the samples in a more efficient manner, modify memory content, such that when a match or a pattern is detected, the image data is reorganized/shrunk in order to conserve space, select and group subparts, or apply compression to the image data. Each of these techniques allow both captured image data 112 and reorganized image data 120 to be written to data storage element 102 in a more efficient manner. Although the present disclosure recites various scanning and reorganization techniques that may be performed by scanning element 104, this is for illustrative purposes only, and is not meant to limit the disclosure in any way. The operation of scanning element 104 is described in further detail below. Those skilled in the relevant art(s) will recognize that scanning element 104 may be implemented to perform numerous other reorganizational techniques and transformations.

Scanning element 104 may further perform the scanning and/or reorganization of captured image data 114 when captured image data 114 is written to data storage element 102 by interface module 106. In such an exemplary embodiment, interface module 106 inputs captured image data 114 line-after-line into data storage element 102. Again, by implementing scanning element 204, as described herein, captured image data 114 can be reorganized in a manner that would allow image processing device 116 to be able to retrieve reorganized image data 120 much more efficiently.

Image processing device 116 may perform at least some processing of reorganized image data 120 such that image processing device 116 outputs either an image defined by captured image data 114 or a set of parameters related to the image, to provide some examples. However, is will be apparent to those skilled in the relevant art(s) that image processing device 116 may perform other processing operations and output other parameters without departing from the spirit and scope of the present disclosure. In an exemplary embodiment, image processing device 116 may be a digital signal processor (DSP), to provide an example; however, other types of image processing devices may be possible without departing from the spirit and scope of the present disclosure.

Data processing system 100 may also include a display 122 electrically connected to image processing device 116. Display 122 receives an output signal from image processing device 116 and displays the output in a user-friendly manner. In an exemplary embodiment, display 122 may be any device capable of outputting the image or the set of parameters related to the image, which are output from image processing device 116.

An Exemplary Data Storage Element Having a Scanning Element

FIG. 2 illustrates a block diagram of a data storage element 200 having a scanning element 108 according to an exemplary embodiment of the present invention. Data storage element 200 may represent an exemplary embodiment of data storage element 102. Data storage element 200 includes an interface module 202, video memory 206 and an input/output (I/O) bus 218.

Interface module 202 is configured to receive image data 214. Image data 214 may be received from an image capturing device (e.g., a camera or other sensor device) or from a network. I/O bus 218 is configured to transmit reorganized image data 220 to image processing device 116 (not shown in FIG. 2) and to receive reorganized image data 220 from image processing device 116 following an initial transfer of reorganized image data 220 to image processing device 116.

Video memory 206 is configured to store image data 214 received by data storage element 200. Video memory 206 may be implemented as either static memory (a type of semiconductor memory that does not need to be periodically refreshed), dynamic memory (a type of volatile memory that must be periodically refreshed due to an inherent capacitor charge leakage) or a combination of both static memory and dynamic memory. For example, video memory 206 may be synchronous dynamic random access memory (SDRAM), which is dynamic random access memory (DRAM) that is synchronized with a system bus. In embodiments, video memory 206 may also include video/image memory, double data rate synchronous dynamic random-access memory (DDR SDRAM), DDR2 SDRAM, or DDR3 SDRAM. As would be appreciated by a person of ordinary skill in the art, other types of memory may be used in embodiments of the present invention.

Scanning element 204 is configured to scan and/or reorganize image data 214 stored in video memory 206 using a variety of different techniques, as described herein. In particular, the different scanning and/or reorganization techniques may include one or more of the following: transposition, data restructuring, rotation, bit slicing, remapping, zooming in/out, or by performing a Hilbert Scan, to provide some examples. Scanning element 204 may also scan for matches contained within image data 214, gather samples (sub-sets) of image data 214 and reorganize the samples in a more efficient manner, modify memory content, such that when a match or a pattern is detected, image data 214 is reorganized/shrunk in order to conserve the limited bandwidth, select and group subparts, or apply compression to image data 214. However, those skilled in the relevant art(s) will recognize that scanning element 204 may be implemented to perform numerous other reorganizational techniques and transformations.

Scanning element 204 performs these various scanning and reorganization techniques, along with other functions, in order to offload functionalities normally requiring the use of image processing device 116. Therefore, by offloading these functionalities, image processing device 116 can be dedicated to other tasks.

As discussed previously in this disclosure, the speed with which data storage element 200 can transmit reorganized image data 220 to image processing device 116 is limited by the bandwidth of I/O bus 218. Thus, I/O bus 218 can only transmit a relatively small number of bits at any given time between data storage element 200 and image processing device 116. Consequently, scanning element 204 performs the various scanning and/or reorganization techniques on image data 214 to put image data 214 into a format that makes for a more efficient transmission between data storage element 200 and image processing device 116. In particular, reorganized image data 220 may be configured in such a manner that only a portion of reorganized image data 220 would need to be transmitted between data storage element 200 and image processing device 116.

Accordingly, scanning element 204 performs the scanning and/or reorganization of image data 214 prior to reorganized image data 220 being transferred to image processing device 116, which minimizes the bandwidth constraints on I/O bus 218. Therefore, reorganized image data 220 (which may comprise only a sub-section of image data 214) can be transmitted between data storage element 200 and image processing device 116 much more quickly than the transmission of image data 214, which has not been reorganized.

Although scanning element 204 is shown in FIG. 2 as a functional block, this is for illustrative purposes only, and is not meant to limit the disclosure in any way. Those skilled in the relevant art(s) will recognize that scanning element 204 may be implemented in hardware, firmware, software, or any combination thereof. Further, scanning element 204 may exist at a single location outside of a general memory storage array structure or may be distributed throughout the array. In an exemplary embodiment, scanning element 204 may also be placed within an imager array (e.g., a CMOS imager array) as the imager array can act like a memory device itself.

Data storage element 200 also includes a processing unit 212, which controls the operation of the scanning element 204. Processing unit 212 is a programmable processing unit, which may be programed by any acceptable means that allow for scanning element 204 to perform the various scanning and/or reorganization techniques disclosed herein. Processing unit 212 instructs scanning element 204 as to which scanning or reorganization technique should be employed and when to switch between the various techniques. Further, processing unit 212 may be positioned either internal or external to data storage element 200.

Processing unit 212 may instruct scanning element 204 as to when, during the image processing, to conduct the various scanning and/or reorganization techniques. In embodiments, scanning element 204 may perform the scanning and/or reorganization of image data 214 when it is read out from video memory 206 by image processing device 116, when image data 214 is written to video memory 206, or when image data, such as reorganized image data 220, is written back to video memory 206 after being processed by image processing device 116. Therefore, image data can be written to video memory 206 in two different ways—when image data 214 is received at interface module 202 and when reorganized image data 220 is received at I/O bus 218. In an exemplary embodiment, after image processing device 116 processes reorganized image data 220, often times a portion of reorganized image data 220 must be written back to video memory 206. Thus, by allowing scanning element 204 to perform the scanning and/or reorganization of reorganized image data 220 when it is written back into video memory 206, reorganized image data 220 can be written in a more efficient manner, as discussed previously in this disclosure. In particular, reorganized image data 220 may be configured such that only a portion of reorganized image data 220 would need to be transmitted back to the storage element 200, because image processing device 116 can scan for matches or select groups or subparts within reorganized image data 220. Therefore, scanning element 204 allows for image data (both image data 214 and reorganized image data 220) to be written to video memory 206 in a variety of different ways, besides solely having to write the image data in a sequential manner.

In an exemplary embodiment, data storage element 200 may also include a reorganizational buffer module 216. Reorganizational buffer module 216 may be positioned between interface module 202 and I/O bus 218, and may also be positioned between scanning element 204 and processing unit 212. Reorganizational buffer 216 may also be configured to temporarily store image data 214.

Exemplary Reorganization Schemes

FIG. 3 illustrates a block diagram of reorganization techniques that may be performed by video memory 206 (not shown in FIG. 3) according to an exemplary embodiment of the present invention.

A scanning element 300, contained within video memory 206, receives image data 302 as described above. Additionally, scanning element 300 performs various scanning and/or reorganization techniques, along with other functions, in order to offload functionalities normally requiring the use of image processing device 116 (not shown in FIG. 3). Therefore, scanning element 300 performs the various scanning and/or reorganization techniques on image data 302 to put image data 302 into a format that makes for a more efficient transmission between data storage element 102 (not shown in FIG. 3) and image processing device 116 over the limited bandwidth associated with I/O bus 118 (not shown in FIG. 3).

The scanning and reorganization techniques performed by scanning element 300 may include one or more of the following: transposition 306, data restructuring 308, rotation 310, bit slicing 312, remapping 314, zooming in/out 316, or by performing a Hilbert Scan 318, to provide some examples; however, other techniques may be possible without departing from the spirit and scope of the present disclosure.

Both transposition 306 and rotation 310 generally refer to methods of swapping columns for rows in a data matrix, such that the image data 302 may be read out differently from how it was read into video memory 206. Bit slicing 312 refers to a technique for constructing a signal from sequences of smaller bit widths, and data restructuring 308 is a process that is carried out to restructure source data into target data during a data transformation.

In embodiments, data restructuring 308 may be implemented in data warehousing. For example, data restructuring 308 may include implementing a set of processes to run large data warehouses. This set of processes may include Extract, Transform, and Load (ETL). There are generally four types of data restructuring operations: trimming, flattening, stretching and grafting.

Remapping 314 refers to a collection of transformations that can be implemented to proportionally enhance or minimize a data matrix. Additionally, remapping 314 may include affine transformations, which are transformations that preserve straight lines and ratios of distances. However, affine transformations do not necessarily preserve angles or lengths. Affine transformations may include contraction, expansion, dilation, reflection, rotation, shear, similarity transformations, spiral similarities, and translation, as well as the combinations thereof. Remapping 314 may also include perspective transformations, which are transformations that project points onto an image plane along lines that emanate from a single point.

Hilbert Scan 318 refers to type of image compression, which is guided by a Hilbert space filling curve.

Scanning element 300 may perform rotation 310 of image data 302 when image data 302 is read out from video memory 206 by image processing device 116. In conventional image processing systems, to perform a rotation of image data 302, image data 302 is read out from video memory 106 row-by-row and then a rotation of image data 302 is performed by image processing device 116. This process requires image processing device 116 to perform a significant amount of complex processing, which requires a substantial amount of resources. However, in embodiments of the present invention, image data 302 is rotated internally within data storage element 102 using rotation 310 process. In this technique, scanning element 300 reorganizes the stored image data into the appropriate rotated format. Thus, reorganized image data 304 is provided to I/O bus 118, and subsequently transmitted to image processing device 116. For example, image data 302 may be transmitted in column-by-column format rather than in row-by-row format. Thus, this reorganization of image data 302 eliminates the need to perform the rotation at image processing device 116. Data processing system 100 (not shown in FIG. 3) can thus function more efficiently because image processing device 116 is freed up to carry out other functionalities. In an exemplary embodiment, the internal reorganization of image data 302 may be performed by way of a special instruction sent to video memory 206 from processing unit 212 (not shown in FIG. 3), as disclosed herein.

In embodiments, rather than reorganizing image data 302, scanning element 300 may scan image data 302 when it is read out from video memory 206 to determine if a desired sub-image is present within image data 302. To perform a similar scan of image data 302 without scanning element 300, a large number of pixels would need to be transmitted to image processing device 116. However, transmitting this large number pixels is complicated and inefficient given the limited bandwidth of I/O bus 118. In most instances, the entire amount of image data 302 is not needed to detect whether the desired sub-image is present within image data 302. Instead, by implementing scanning element 300, image data 302 can be internally reorganized and only a sub-set of image data 302 (enough to determine whether the desired sub-image is present) would then be transmitted to image processing device 116. Therefore, reorganized image data 304, which would represent a smaller amount of data compared to image data 302, could be sent to image processing device 116 much more efficiently.

Another technique for efficiently transmitting image data 302 between data storage element 102 and image processing device 116 is to have scanning element 300 scan for matches contained within image data 302. For example, scanning element 300 may scan image data 302 as it is written to video memory 106, and then upon detection of a match, scanning element 300 may reorganize image data 302 into a sub-set of image data 302, to provide an example. Also, upon detection of a match, scanning element 300 may indicate that a match has been detected, and this indication may result in significantly less data being transmitted between data storage element 102 and image processing device 116.

Scanning element 300 may also gather samples (sub-sets) of image data 302 and reorganize the samples in a more efficient manner, which may also require less data to be transferred. Additionally, scanning element 300 may modify memory content, such that when a match or a pattern is detected, image data 302 is reorganized/shrunk in order to conserve the limited bandwidth of I/O bus 118. Further, scanning element 300 may select and group subparts with image data 302, apply compression to image data 302 before it is transmitted to image processing device 116, and may provide security and encryption support to image data 302. Although the present disclosure recites various scanning and reorganization techniques that may be performed by scanning element 300, this is for illustrative purposes only, and is not meant to limit the disclosure in any way. Those skilled in the relevant art(s) will recognize that scanning element 300 may be implemented to perform numerous other reorganizational techniques and transformations.

An Exemplary Method of Reorganizing Image Data

FIG. 4 is a flowchart of exemplary operational steps of reorganizing image data according to an exemplary embodiment. The disclosure is not limited to this operational description. Rather, it will be apparent to persons skilled in the relevant art(s) from the teachings herein that other operational control flows are within the scope and spirit of the present disclosure. The following discussion describes the steps in FIG. 4. The flowchart of FIG. 4 is described with reference to embodiments of FIGS. 1-3. However, a method 400 is not limited to these embodiments.

Method 400 begins at step 420, where at least some image data is acquired. Image data 114 may be acquired from one or more image capturing devices (a camera or other sensor device) or from a network.

The method then proceeds to block 422, where a decision is made as to where reorganization of image data 114 will take place. This decision may be based on a particular type data included within image data 114, on a predefined user input, or based on processing or storage requirements, to provide some examples; however, other factors could contribute to the decision made at block 422 without departing from the spirit and scope of the present disclosure.

The method either proceeds to step 424 where image data 114 is written to data storage element 102 or the method proceeds to step 426.

In step 426, scanning element 104 scans and/or reorganizes image data 114 while image data 114 is written to data storage element 102 to form reorganized image data 120. During step 426, scanning element 104 determines what techniques to apply to image data 114. In particular, scanning element 104 may apply one or more of the techniques discussed above to image data 114. However, those skilled in the relevant art(s) will recognize that scanning element 104 may also be implemented to perform other reorganizational techniques and transformations.

If the decision is made to proceed to step 424 and to write image data 114 to data storage element 102, then the method proceeds to block 428. At block 428 another decision is made as to whether to scan and/or reorganize image data 114 when it is read out from data storage element 102 or not. This decision may be based on a particular type data included within image data 114, on a predefined user input, or based on processing, or storage requirements, to provide some examples; however, other factors could contribute to the decision made at block 428 without departing from the spirit and scope of the present disclosure.

The method either proceeds to step 430 where image data 114 is read out from data storage element 102 in the same format as it was written to data storage element 102 in step 424, or the method proceeds to step 432.

In step 432, scanning element 104 scans and/or reorganized image data 114 while image data 114 is read out from data storage element 102 to form reorganized image data 120. During step 432, scanning element 104 determines what techniques to apply to image data 114. In particular, scanning element 104 may apply one or more of the techniques discussed above to image data 114.

If the decision is made to proceed to step 430 and to read out image data 114 from data storage element 102, then the method proceeds to step 434. In step 434, image data 114 is transmitted to image processing device 116 in the same format as it was written to data storage element 102. The method then proceeds to step 436.

In step 436, after image processing device 116 processes image data 114, image data 114 is written back to data storage element 102. Additionally in step 436, scanning element 104 scans and/or reorganizes image data 114 while image data 114 is written back to data storage element 102 such that reorganized image data 120 can be rewritten to data storage element 102 in a more efficient manner than with image data 114. During step 436, scanning element 104 determines what techniques to apply to image data 114. In particular, scanning element 104 may apply one or more of the techniques discussed above to image data 114.

At block 422, if the decision is instead made to proceed to step 426 and to scan and/or reorganize image data 114 while image data 114 is written to data storage element 102, then the method proceeds to step 446.

In step 446, reorganized image data 120 is read out from data storage element 102. The method then proceeds to step 438. Additionally, at block 428, if the decision is instead made to instead proceed to step 432 and to scan and/or reorganize image data 114 while image data 114 is lead out from data storage element 102, then the method also proceeds to step 438.

In step 438, reorganized image data 120 is transmitted to image processing device 116 in a more efficient manner than image data 114. In particular, reorganized image data 120 requires less transfer-time than image data 114. The transfer-time is defined as the length of time that it takes to transmit all of the required data (either image data 114 or reorganized image data 120) between data storage element 102 and image processing device 116.

The method then proceeds to block 440, where a decision is again made as to whether to display reorganized image data 120 or to write it back to data storage element 102. This decision may be based on a particular type data included within image data 114, on a predefined user input, or based on processing or storage requirements, to provide some examples; however, other factors could contribute to the decision made at block 440 without departing from the spirit and scope of the present disclosure.

The method either proceeds to step 442 where, after image processing device 116 processes reorganized image data 120, reorganized image data 120 is written back to data storage element 102. Additionally in step 442, scanning element 104 again scans and/or reorganizes reorganized image data 120 while reorganized image data 120 is written back to data storage element 102 such that reorganized image data 120 can be rewritten to data storage element 102 in a more efficient manner than with image data 114. During step 442, scanning element 104 determines what techniques to apply to image data 114. In particular, scanning element 104 may apply one or more of the techniques discussed above to image data 114.

Alternatively, the method proceeds to step 444 where display 122 receives an output signal from image processing device 116 and displays the output signal in a user-friendly manner.

CONCLUSION

It is to be appreciated that the Detailed Description section, and not the Abstract section, is intended to be used to interpret the claims. The Abstract section may set forth one or more, but not all exemplary embodiments, of the invention, and thus, are not intended to limit the invention and the appended claims in any way.

The invention has been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries may be defined so long as the specified functions and relationships thereof are appropriately performed.

It will be apparent to those skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus the invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims

1. A data storage element, comprising:

an interface module configured to receive image data;
video memory, coupled to the interface module, configured to store the received image data;
a scanning element configured to scan the received image data, to select a reorganization technique from a plurality of reorganization techniques, and to reorganize the received image data according to the selected technique to create reorganized image data, when the image data is read out from the video memory by an image processing device; and
an output configured to output the reorganized image data to the image processing device.

2. The data storage element of claim 1, further comprising:

a processing unit configured to control the operation of the scanning element;
a buffer module configured to temporarily store the received image data; and
an input configured to receive the reorganized image data from the image processing device.

3. The data storage element of claim 2, wherein the scanning element is configured to reorganize the image data by performing a data transformation.

4. The data storage element of claim 2, wherein the scanning element is configured to reorganize the image data by encrypting the image data.

5. The data storage element of claim 2, wherein the processing unit is external to the data storage element.

6. The data storage element of claim 1, wherein the video memory is static memory.

7. The data storage element of claim 2, wherein the video memory is further configured to store the reorganized image data received from the image processing device.

8. The data storage element of claim 1, wherein the video memory is dynamic memory.

9. A data storage element, comprising:

an interface module configured to receive image data;
video memory, coupled to the interface module, configured to store reorganized image data;
a scanning element configured to scan the received image data, to select a reorganization technique from a plurality of reorganization techniques, and to reorganize the received image data according to the selected technique to create the reorganized image data, when the received image data is written to the video memory; and
an output configured to output the reorganized image data to an image processing device.

10. The data storage element of claim 9, further comprising:

a processing unit configured to control the operation of the scanning element;
a buffer module configured to temporarily store the received image data; and
an input configured to receive the reorganized image data from the image processing device.

11. The data storage element of claim 10, wherein the scanning element is configured to reorganize the image data by performing a data rotation.

12. The data storage element of claim 10, wherein the scanning element is configured to reorganize the image data by compressing the image data.

13. The data storage element of claim 10, wherein the processing unit is external to the data storage element.

14. The data storage element of claim 9, wherein the video memory is dynamic memory.

15. The data storage element of claim 9, wherein the video memory is further configured to store the reorganized image data received from the image processing device.

16. A method of reorganizing image data in a data storage element, comprising:

acquiring the image data at the data storage element;
reorganizing the image data, by a scanning element in the data storage element, according to a selected reorganization technique from a plurality of reorganization techniques to form reorganized image data; and
transmitting the reorganized image data, to an image processing device.

17. The method of claim 16, further comprising:

receiving, by the data storage element, at least some of the reorganized image data from the image processing device;
rearranging the at least some of the reorganized image data, by the scanning element in the data storage element, according to a predefined technique to form rearranged image data; and
writing the reorganized image data and the rearranged image data to video memory within the data storage element.

18. The method of claim 16,

wherein the acquiring includes receiving the image data at an interface module and storing the image data at the data storage element, and
wherein the transmitting includes outputting the reorganized image data from an output positioned at the data storage element.

19. The method of claim 18, further comprising:

selecting, by a processing unit, the selected reorganization technique from the plurality of reorganization techniques.

20. The method of claim 19, wherein the plurality of reorganizing and rearranging techniques include one or more data transformations.

Patent History
Publication number: 20130101275
Type: Application
Filed: Mar 30, 2012
Publication Date: Apr 25, 2013
Applicant: Broadcom Corporation (Irvine, CA)
Inventors: Ilia VITSNUDEL (Even Yehoda), Noam SOREK (Zichron Yacoov)
Application Number: 13/435,909
Classifications
Current U.S. Class: Video Processing For Reproducing (e.g., Decoding, Etc.) (386/353); 386/E05.028
International Classification: H04N 5/93 (20060101);