+

US20130101275A1 - Video Memory Having Internal Programmable Scanning Element - Google Patents

Video Memory Having Internal Programmable Scanning Element Download PDF

Info

Publication number
US20130101275A1
US20130101275A1 US13/435,909 US201213435909A US2013101275A1 US 20130101275 A1 US20130101275 A1 US 20130101275A1 US 201213435909 A US201213435909 A US 201213435909A US 2013101275 A1 US2013101275 A1 US 2013101275A1
Authority
US
United States
Prior art keywords
image data
storage element
data
data storage
reorganized
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.)
Abandoned
Application number
US13/435,909
Inventor
Ilia Vitsnudel
Noam Sorek
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.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Broadcom Corp
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 Broadcom Corp filed Critical Broadcom Corp
Priority to US13/435,909 priority Critical patent/US20130101275A1/en
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SOREK, NOAM, VITSNUDEL, ILIA
Publication of US20130101275A1 publication Critical patent/US20130101275A1/en
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: BROADCOM CORPORATION
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BROADCOM CORPORATION
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/042Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by opto-electronic means

Definitions

  • the invention generally relates to video memory, and more specifically to a video memory having a programmable scanning element.
  • SDRAM synchronous dynamic random access memory
  • 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 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).
  • 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.
  • 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.
  • 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 .
  • I/O input/output
  • 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 .
  • image capturing devices e.g., a camera 110 or other sensor device
  • 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 .
  • scanning element 104 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.
  • 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.
  • 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.
  • scanning element 104 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 .
  • interface module 106 inputs captured image data 114 line-after-line into data storage element 102 .
  • 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.
  • 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.
  • DSP digital signal processor
  • 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.
  • 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 .
  • 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.
  • 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.
  • SDRAM synchronous dynamic random access memory
  • DRAM dynamic random access memory
  • video memory 206 may also include video/image memory, double data rate synchronous dynamic random-access memory (DDR SDRAM), DDR2 SDRAM, or DDR3 SDRAM.
  • DDR SDRAM double data rate synchronous dynamic random-access memory
  • DDR2 SDRAM DDR2 SDRAM
  • DDR3 SDRAM DDR3 SDRAM
  • 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.
  • 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 .
  • 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.
  • 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 .
  • 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 .
  • 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 .
  • 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.
  • 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.
  • an imager array e.g., a CMOS imager array
  • 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.
  • 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 .
  • reorganized image data 220 can be written in a more efficient manner, as discussed previously in this disclosure.
  • 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.
  • 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 .
  • 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
  • data restructuring 308 is a process that is carried out to restructure source data into target data during a data transformation.
  • data restructuring 308 may be implemented in data warehousing.
  • 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 .
  • 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.
  • 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.
  • reorganized image data 304 is provided to I/O bus 118 , and subsequently transmitted to image processing device 116 .
  • image data 302 may be transmitted in column-by-column format rather than in row-by-row format.
  • 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.
  • 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.
  • 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 .
  • a large number of pixels would need to be transmitted to image processing device 116 .
  • transmitting this large number pixels is complicated and inefficient given the limited bandwidth of I/O bus 118 .
  • the entire amount of image data 302 is not needed to detect whether the desired sub-image is present within image data 302 .
  • 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.
  • 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 .
  • scanning element 300 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.
  • 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.
  • step 424 image data 114 is written to data storage element 102 or the method proceeds to 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 .
  • scanning element 104 determines what techniques to apply to image data 114 .
  • scanning element 104 may apply one or more of the techniques discussed above to image data 114 .
  • scanning element 104 may also be implemented to perform other reorganizational techniques and transformations.
  • step 424 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 .
  • 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.
  • step 430 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 .
  • 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 .
  • scanning element 104 determines what techniques to apply to image data 114 .
  • scanning element 104 may apply one or more of the techniques discussed above to image data 114 .
  • 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 .
  • 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 .
  • step 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 .
  • step 446 reorganized image data 120 is read out from data storage element 102 .
  • the method then proceeds to step 438 .
  • step 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 .
  • reorganized image data 120 is transmitted to image processing device 116 in a more efficient manner than image data 114 .
  • 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.
  • step 442 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 .
  • step 444 display 122 receives an output signal from image processing device 116 and displays the output signal in a user-friendly manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automatic Focus Adjustment (AREA)
  • Studio Devices (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Image Processing (AREA)

Abstract

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.

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 (20)

What is claimed is:
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.
US13/435,909 2011-10-20 2012-03-30 Video Memory Having Internal Programmable Scanning Element Abandoned US20130101275A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/435,909 US20130101275A1 (en) 2011-10-20 2012-03-30 Video Memory Having Internal Programmable Scanning Element

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161549495P 2011-10-20 2011-10-20
US13/435,909 US20130101275A1 (en) 2011-10-20 2012-03-30 Video Memory Having Internal Programmable Scanning Element

Publications (1)

Publication Number Publication Date
US20130101275A1 true US20130101275A1 (en) 2013-04-25

Family

ID=48135540

Family Applications (5)

Application Number Title Priority Date Filing Date
US13/361,579 Abandoned US20130100334A1 (en) 2011-10-20 2012-01-30 Method and System for an Adaptive Auto-Focus Algorithm
US13/397,240 Active 2032-08-01 US8749607B2 (en) 2011-10-20 2012-02-15 Face equalization in video conferencing
US13/435,909 Abandoned US20130101275A1 (en) 2011-10-20 2012-03-30 Video Memory Having Internal Programmable Scanning Element
US13/628,750 Abandoned US20130101162A1 (en) 2011-10-20 2012-09-27 Multimedia System with Processing of Multimedia Data Streams
US13/655,910 Abandoned US20130100026A1 (en) 2011-10-20 2012-10-19 Proximity Screen Display and User Interface

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/361,579 Abandoned US20130100334A1 (en) 2011-10-20 2012-01-30 Method and System for an Adaptive Auto-Focus Algorithm
US13/397,240 Active 2032-08-01 US8749607B2 (en) 2011-10-20 2012-02-15 Face equalization in video conferencing

Family Applications After (2)

Application Number Title Priority Date Filing Date
US13/628,750 Abandoned US20130101162A1 (en) 2011-10-20 2012-09-27 Multimedia System with Processing of Multimedia Data Streams
US13/655,910 Abandoned US20130100026A1 (en) 2011-10-20 2012-10-19 Proximity Screen Display and User Interface

Country Status (3)

Country Link
US (5) US20130100334A1 (en)
CN (1) CN103226279A (en)
TW (1) TW201329554A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI724788B (en) * 2020-02-14 2021-04-11 國立清華大學 Method for integrating processing-in-sensor and in-memory computing and system thereof
CN113269211A (en) * 2020-02-14 2021-08-17 郑桂忠 Method and system for integrating in-sensor processing unit and in-memory arithmetic unit

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479677B2 (en) * 2012-09-05 2016-10-25 Intel Corproation Protocol for communications between platforms and image devices
KR101417387B1 (en) * 2012-11-01 2014-07-09 주식회사 팬택 Portable Device and Method for providing User Interface thereof
US9246898B2 (en) * 2012-11-20 2016-01-26 Utility Associates, Inc. System and method for securely distributing legal evidence
KR101956073B1 (en) * 2012-12-20 2019-03-08 삼성전자주식회사 3d volumetric display device for providing user interface using visual indicator and method thereof
US9483118B2 (en) * 2013-12-27 2016-11-01 Rovi Guides, Inc. Methods and systems for selecting media guidance functions based on tactile attributes of a user input
US10136061B2 (en) 2015-01-30 2018-11-20 Microsoft Technology Licensing, Llc Automatic processing of automatic image capture parameter adjustment
CN105138962A (en) * 2015-07-28 2015-12-09 小米科技有限责任公司 Image display method and image display device
TWI579826B (en) * 2016-03-30 2017-04-21 佳世達科技股份有限公司 Display device and oreration method thereof
JP7022686B2 (en) * 2016-06-30 2022-02-18 株式会社ニコン camera
US9881194B1 (en) * 2016-09-19 2018-01-30 Hand Held Products, Inc. Dot peen mark image acquisition
US10049625B1 (en) * 2016-12-21 2018-08-14 Amazon Technologies, Inc. Context-based rendering
CN107086027A (en) * 2017-06-23 2017-08-22 青岛海信移动通信技术股份有限公司 Character displaying method and device, mobile terminal and storage medium
KR102646750B1 (en) 2018-03-21 2024-03-13 삼성전자주식회사 Method for adjusting focus based on spread-level of display object and electronic device implementing the same
CN109521547B (en) * 2018-12-21 2021-03-26 广州医软智能科技有限公司 Variable-step-length automatic focusing method and system
CN113938599B (en) * 2020-07-14 2024-03-08 浙江宇视科技有限公司 Electric lens focusing method and device, electronic equipment and storage medium
JP7556233B2 (en) * 2020-08-25 2024-09-26 富士フイルムビジネスイノベーション株式会社 Display control device, display device and program
USD1070830S1 (en) * 2023-01-27 2025-04-15 Gn Audio A/S Video bar
USD1070798S1 (en) * 2023-01-27 2025-04-15 Gn Audio A/S Video bar
USD1070800S1 (en) * 2023-01-27 2025-04-15 Gn Audio A/S Video bar
CN116320595A (en) * 2023-02-08 2023-06-23 联想(北京)有限公司 Recording method and device for multimedia data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496277B1 (en) * 1999-07-23 2002-12-17 Xerox Corporation Data flow control and storage facility for an image reproduction system
US20030090729A1 (en) * 2001-10-01 2003-05-15 Xerox Corporation Rank-order error diffusion image processing
US20060077489A1 (en) * 2004-08-20 2006-04-13 Xerox Corporation Uniformity compensation in halftoned images
US20060184522A1 (en) * 2005-02-15 2006-08-17 Mcfarland Max E Systems and methods for generating and processing evolutionary documents
US20090307249A1 (en) * 2006-05-31 2009-12-10 Storwize Ltd. Method and system for transformation of logical data objects for storage

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5260736A (en) * 1991-09-04 1993-11-09 Fuji Photo Film Co., Ltd. Auto focus control device
US6236431B1 (en) * 1993-05-27 2001-05-22 Canon Kabushiki Kaisha Video camera apparatus with distance measurement area adjusted based on electronic magnification
US7538815B1 (en) * 2002-01-23 2009-05-26 Marena Systems Corporation Autofocus system and method using focus measure gradient
US7187413B2 (en) * 2002-07-25 2007-03-06 Lockheed Martin Corporation Method and system for using an image based autofocus algorithm
WO2004015476A1 (en) * 2002-08-07 2004-02-19 Matsushita Electric Industrial Co., Ltd. Focusing device
JP2005055618A (en) * 2003-08-01 2005-03-03 Seiko Precision Inc Projector, focusing method and focusing program for the same
JP2005156971A (en) * 2003-11-26 2005-06-16 Tamron Co Ltd Autofocusing device, camera provided with the same, and camera body
DE602005023284D1 (en) * 2004-03-15 2010-10-14 Cambridge Mechatronics Ltd AUTOFOCUS FOR CAMERA
US7515201B2 (en) * 2004-06-16 2009-04-07 Hoya Corporation Focus detection method and focus detection apparatus
DE602006006582D1 (en) * 2005-08-08 2009-06-10 Mep Imaging Technologies Ltd ADAPTIVE EXPOSURE CONTROL
US7956929B2 (en) * 2005-10-31 2011-06-07 Broadcom Corporation Video background subtractor system
TW200723077A (en) * 2005-12-14 2007-06-16 Elan Microelectronics Corp Movement detection method for multiple objects on a capacitive touchpad
JP4979595B2 (en) * 2005-12-28 2012-07-18 オリンパス株式会社 Imaging system, image processing method, and image processing program
KR100780957B1 (en) * 2006-08-21 2007-12-03 삼성전자주식회사 Image Selection Device and Method
US8144186B2 (en) * 2007-03-09 2012-03-27 Polycom, Inc. Appearance matching for videoconferencing
KR100897768B1 (en) * 2007-05-01 2009-05-15 삼성전자주식회사 Auto focusing method and devices that can use the method
JP5302322B2 (en) * 2007-10-19 2013-10-02 クォルコム・メムズ・テクノロジーズ・インコーポレーテッド Display with integrated photovoltaic
US8432372B2 (en) * 2007-11-30 2013-04-30 Microsoft Corporation User input using proximity sensing
WO2010036249A1 (en) * 2008-09-24 2010-04-01 Nikon Corporation Autofocus technique utilizing gradient histogram distribution characteristics
JP4620150B2 (en) * 2008-10-23 2011-01-26 株式会社東芝 Electronic device and video processing method
US8289286B2 (en) * 2008-12-19 2012-10-16 Verizon Patent And Licensing Inc. Zooming keyboard/keypad
US8294858B2 (en) * 2009-03-31 2012-10-23 Intel Corporation Integrated photovoltaic cell for display device
US8655146B2 (en) * 2009-03-31 2014-02-18 Broadcom Corporation Collection and concurrent integration of supplemental information related to currently playing media
TW201118823A (en) * 2009-11-27 2011-06-01 Univ Nat Taiwan Transflective display device
US8120838B2 (en) * 2010-05-19 2012-02-21 Au Optronics Corporation Electrophoretic display device
JP5569329B2 (en) * 2010-10-15 2014-08-13 大日本印刷株式会社 Conference system, monitoring system, image processing apparatus, image processing method, image processing program, etc.
US20120306767A1 (en) * 2011-06-02 2012-12-06 Alan Stirling Campbell Method for editing an electronic image on a touch screen display

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496277B1 (en) * 1999-07-23 2002-12-17 Xerox Corporation Data flow control and storage facility for an image reproduction system
US20030090729A1 (en) * 2001-10-01 2003-05-15 Xerox Corporation Rank-order error diffusion image processing
US20060077489A1 (en) * 2004-08-20 2006-04-13 Xerox Corporation Uniformity compensation in halftoned images
US20060184522A1 (en) * 2005-02-15 2006-08-17 Mcfarland Max E Systems and methods for generating and processing evolutionary documents
US20090307249A1 (en) * 2006-05-31 2009-12-10 Storwize Ltd. Method and system for transformation of logical data objects for storage

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI724788B (en) * 2020-02-14 2021-04-11 國立清華大學 Method for integrating processing-in-sensor and in-memory computing and system thereof
US11048650B1 (en) * 2020-02-14 2021-06-29 National Tsing Hua University Method and system for integrating processing-in-sensor unit and in-memory computing unit
CN113269211A (en) * 2020-02-14 2021-08-17 郑桂忠 Method and system for integrating in-sensor processing unit and in-memory arithmetic unit

Also Published As

Publication number Publication date
US20130100235A1 (en) 2013-04-25
US20130100334A1 (en) 2013-04-25
US8749607B2 (en) 2014-06-10
US20130100026A1 (en) 2013-04-25
CN103226279A (en) 2013-07-31
TW201329554A (en) 2013-07-16
US20130101162A1 (en) 2013-04-25

Similar Documents

Publication Publication Date Title
US20130101275A1 (en) Video Memory Having Internal Programmable Scanning Element
US8482573B2 (en) Apparatus and method for processing data
US8918589B2 (en) Memory controller, memory system, semiconductor integrated circuit, and memory control method
US7512287B2 (en) Method and apparatus for efficient image rotation
WO2004046959A3 (en) Method and system for retrieving a medical picture
JP2011258207A (en) Processing system, data structure, and data processing method for simultaneous retrieval of multi-dimensional data without data conflict
US8269786B2 (en) Method for reading and writing image data in memory
US20140184630A1 (en) Optimizing image memory access
US20110157465A1 (en) Look up table update method
KR100817057B1 (en) Mapping method and video system for mapping pixel data included in same pixel data group to same bank address of memory
US20100165151A1 (en) Processing image frames in different formats with reduced memory requirements in digital still cameras
CN105427235A (en) Image browsing method and system
US20090189919A1 (en) Image scaling method
US20120106860A1 (en) Image processing device and image processing method
KR101068829B1 (en) Image pickup device and image rotation processing method
JP2020160828A (en) Image data processing device for affine transformation of two-dimensional image
JP2000311241A (en) Image processor
KR950016327A (en) Digital Memory for Display Systems
US6205251B1 (en) Device and method for decompressing compressed video image
CN107168660B (en) Image processing cache system and method
US11972504B2 (en) Method and system for overlapping sliding window segmentation of image based on FPGA
US20060236000A1 (en) Method and system of split-streaming direct memory access
US12445748B2 (en) Image signal processor and imaging system including the same
US20100254618A1 (en) Method for Accessing Image Data and Related Apparatus
CN112532894B (en) Image processing method, device and system

Legal Events

Date Code Title Description
AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VITSNUDEL, ILIA;SOREK, NOAM;REEL/FRAME:027966/0608

Effective date: 20120329

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001

Effective date: 20170119

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载