US20160330343A1 - Scanner interface and protocol - Google Patents
Scanner interface and protocol Download PDFInfo
- Publication number
- US20160330343A1 US20160330343A1 US14/705,609 US201514705609A US2016330343A1 US 20160330343 A1 US20160330343 A1 US 20160330343A1 US 201514705609 A US201514705609 A US 201514705609A US 2016330343 A1 US2016330343 A1 US 2016330343A1
- Authority
- US
- United States
- Prior art keywords
- scanlink
- frame
- video images
- packet
- mipi
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/04—Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2466—Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/00095—Systems or arrangements for the transmission of the picture signal
- H04N1/00114—Systems or arrangements for the transmission of the picture signal with transmission of additional information signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/0077—Types of the still picture apparatus
- H04N2201/0094—Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
Definitions
- the present disclosure relates generally to improving communication between scanners and a system controller and, more particularly, to an apparatus and method for transferring data over a Mobile Industry Processor Interface (MIPI).
- MIPI Mobile Industry Processor Interface
- ASIC Application Specific Integrated Circuit
- SO System on Chip
- ASIC/SOCs are expensive to develop (e.g., $1 million to $10 million) depending on size and technology, have long lead times (e.g., 15-24 months) and have fixed functionalities.
- the technology or protocols may change that may cause portions of the ASIC to be obsolete or require use of older and more expensive technologies even before the ASICs are finished being developed and manufactured.
- an apparatus and method for transferring data over a Mobile Industry Processor Interface comprising a scan bar for scanning an image, an analog front end (AFE) module in communication with the scan bar for receiving a plurality of video images of the image that is scanned by the scan bar, a translation logic module in communication with the AFE module to convert the plurality of video images into a scanlink frame using a MIPI communication protocol, wherein the scanlink frame comprises a frame start packet, a scanlink header packet, the plurality of video images and a frame end packet, a MIPI input interface in communication with the translation logic module to receive the scanlink frame and a processor in communication with the MIPI input interface to process the scanlink frame to generate a scanned image file using the scanlink frame.
- AFE analog front end
- Another disclosed feature of the embodiments is a method for transferring data over a MIPI comprising scanning an image to produce a plurality of video images, converting the plurality of video images into a scanlink frame using a MIPI communication protocol, wherein the scanlink frame comprises a frame start packet, a scanlink header packet, the plurality of video images and a frame end packet, sending the scanlink frame to a processor over a MIPI interface and generating, by the processor, a scanned image file using the scanlink frame.
- Another disclosed feature of the embodiments is a non-transitory computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions, which when executed by a processor, cause the processor to perform operations comprising scanning an image to produce a plurality of video images, converting the plurality of video images into a scanlink frame using a MIPI communication protocol, wherein the scanlink frame comprises a frame start packet, a scanlink header packet, the plurality of video images and a frame end packet, sending the scanlink frame to a processor over a MIPI interface and generating, by the processor, a scanned image file using the scanlink frame.
- FIG. 1 illustrates an example block diagram of an apparatus of the present disclosure
- FIG. 2 illustrates an example scanlink frame
- FIG. 3 illustrates an example timing diagram
- FIG. 4 illustrates a flowchart of an example method for transferring data over a MIPI
- FIG. 5 illustrates a high-level block diagram of a computer suitable for use in performing the functions described herein.
- the present disclosure broadly discloses an apparatus and method for transferring data over a MIPI within a multi-function device (MFD).
- MFD multi-function device
- ASIC Application Specific Integrated Circuit
- SOC System on Chip
- ASICs are expensive to develop (e.g., $1 million to $10 million) depending on size and technology, have long lead times (e.g., 15-24 months) and have fixed functionality.
- the technology or protocols may change that may cause portions of the ASIC to be obsolete or require use of older and more expensive technologies even before the ASICs are finished being developed and manufactured.
- Embodiments of the present disclosure remove the need to use ASICs in the system controller and leverage microprocessor technology that incorporates Mobile Industry Processor Interfaces (MIPI).
- MIPI Mobile Industry Processor Interfaces
- Microprocessor technology has advanced to the point where there is sufficient processing power in the processor core(s), graphics processing unit (GPU), and other specialized hardware engines to do the image processing in software instead of ASICs.
- Many of the current and future generations of microprocessors incorporate MIPI interfaces.
- Embodiments of the present disclosure allow data from a scanner to be transmitted to a microprocessor in a system controller (as opposed to an ASIC) within a MFD.
- the microprocessor may then process the data.
- the cost and time to develop an ASIC is eliminated.
- FIG. 1 illustrates an example apparatus 100 of the present disclosure.
- the apparatus 100 may be an MFD having scanning, printing, copying and faxing capabilities.
- the apparatus 100 may include a scanner 102 and a system controller 104 .
- the scanner 102 may include a light source or a lamp 106 , a scan bar 108 , a lens 112 , a charge coupled device (CCD) 114 , a timing generator 116 , an analog front end (AFE) module 118 , a translation logic 120 , a scanner microcontroller 132 and a platen motor 134 .
- CCD charge coupled device
- AFE analog front end
- the platen motor 134 may be coupled to the scan bar 108 and control the movement of the scan bar 108 over an image 110 .
- the scan bar 108 may scan the image 110 and transmit lines of video data through the lens 112 and the CCD 114 to the AFE module 118 .
- the AFE module 118 and the CCD 114 may be synchronized via the timing generator 116 .
- the AFE module 118 may collect the analog video images and convert the analog signals into a digital signal.
- the AFE module 118 supports a variety of different types of line array type sensors.
- the AFE market had never standardized a video output interface.
- a custom ASIC processor would be required to process the video images and transmit the processed video images to another custom ASIC processor in the system controller 104 over a proprietary connection and interface.
- the custom ASIC processor in the scanner 102 is replaced with the translation logic module 120 .
- the translation logic module 120 may convert the video image data from the AFE module 118 into a format that is compatible with a MIPI communication protocol.
- the translation logic module 120 may be implemented as a field programmable gate array (FPGA).
- the MIPI communication protocol may be a RAWxx format as defined by a MIPI Camera Serial Interface 2 (CSI-2) standard.
- the “xx” of the RAWxx format may represent a number of bits per pixel as defined by the MIPI CSI-2 standard.
- a new scanlink frame may be used to transmit the video images converted into the RAWxx format for transmission over a MIPI connection 122 .
- the format of the scanlink frame is discussed in further detail below with reference to FIG. 2 .
- the system controller 104 may part of a digital front end (DFE) of the apparatus 100 .
- the system controller 104 includes a central processing unit (CPU) 126 (also referred to as a processor or microprocessor). It should be noted that the processor 126 does not include and should not be interpreted to be equivalent to an ASIC processor.
- CPU central processing unit
- the processor 126 may be in communication with a MIPI input interface 124 .
- the MIPI connection 122 may be coupled to the MIPI input interface 124 and the translation logic module 120 .
- the system controller 104 may also include a system memory 128 and a video buffer 130 .
- the scanlink frames containing the video images may be transmitted from the scanner 102 to the system controller 104 via the MIPI connection 122 .
- the scanlink frames may be stored in the system memory 128 and the video images may be stored in the video buffer 130 as the processor 126 processes the video images to generate a scanned image file of the image 110 .
- the scanner microcontroller 132 may be in communication with the processor 126 , the translation logic module 120 , the AFE module 118 and the platen motor 134 .
- the scanner microcontroller 132 may send a signal to the AFE 118 and the translation logic module 120 to prepare for receiving video images from the scan bar 108 when the scanner microcontroller 132 starts the platen motor 134 .
- the scanner microcontroller 132 may begin and end each scan of the image 110 based on acknowledgment signals or error signals received from the processor 126 .
- An example timing diagram is illustrated in FIG. 3 and discussed below.
- calibration video images may also be sent before the video images of the image 110 using the same process as described above for sending the video images of the image 110 .
- a calibration strip may be placed in the scanner 102 and scanned by the scan bar 108 with the light source 106 turned off to collect black calibration video images.
- the black calibration video images may be translated into black calibration scanlink frames and transmitted to the processor 126 over the MIPI connection 122 .
- the black calibration video images may be used to calibrate offset of each pixel.
- the calibration strip may be scanned by the scan bar 108 with the light source 106 turned on to collect white calibration video images.
- the white calibration video images may be translated into white calibration scanlink frames and transmitted to the processor over the MIPI connection 122 .
- the white calibration video images may be used to calibrate a gain for each pixel.
- FIG. 2 illustrates an example of a scanlink frame 200 .
- the scanlink frame 200 includes a frame start packet 202 , a plurality of scan lines 206 1 to 206 n (also referred to herein individually and collectively as scan line or scan lines 206 ) and a frame end packet 204 .
- each one of the plurality of scan lines 206 1 to 206 n may include a start of line packet 208 , a data packet 210 or 214 and an end of line packet 212 .
- the data packet 210 of the first scan line 206 1 of each scanlink frame 200 that is transmitted may be a scanlink header packet.
- the scanlink header packet may include all the information necessary for the processor 126 to process the video images within the scanlink frame 200 to generate the scanned image.
- the scanlink header packet may include metadata related to the image 110 that is being scanned.
- the metadata may include a type of data that is being transmitted (e.g., black calibration video images, white calibration video images, normal video images, and the like), a type of color (e.g., black and white, color, grayscale, and the like), a page size, a CCD color registration offset, a data resolution (e.g., 3 ⁇ 3, 6 ⁇ 6, 12 ⁇ 12, and the like), or any other metadata that is needed by the processor 126 to process the video images.
- a type of data that is being transmitted e.g., black calibration video images, white calibration video images, normal video images, and the like
- a type of color e.g., black and white, color, grayscale, and the like
- a page size e.g., a CCD color registration offset, a data resolution (e.g., 3 ⁇ 3, 6 ⁇ 6, 12 ⁇ 12, and the like)
- a data resolution e.g., 3 ⁇ 3, 6 ⁇ 6, 12 ⁇ 12, and the like
- the remaining data packets 214 in the scan lines 206 2 to 206 n may each be a line of video images scanned by the scan bar 108 .
- the scan bar 108 may scan the image 110 on a line by line basis.
- each line scanned by the scan bar 108 may be a video image.
- a number of scan lines “n” may be a function of a number lines (e.g., video images) needed to scan the image 110 plus one (e.g., including the data packet 210 that is the scanlink header packet).
- the scan bar 108 scans 100 lines of video images
- the scanlink frame 200 would include 101 scan lines 206 (e.g., 1 scan line with the scanlink header plus 100 lines of video images).
- video images of each image that is scanned would be transmitted via the scanlink frame 200 .
- the black calibration video images would be transmitted as a black calibration scanlink frame and the white calibration video images would be transmitted as a white calibration scanlink frame.
- the black calibration scanlink frame and the white calibration scanlink frame would each include a data packet in the first scan line that is the scanlink header packet.
- the scanlink header packet for the black calibration scanlink frame and the white calibration scanlink frame would include metadata for the calibration strip that is scanned with the light off for and metadata for the calibration strip that is scanned with the light off, respectively.
- the design of the scanlink frame 200 allows any format and type of data to be transmitted over a single MIPI interface/channel.
- the metadata need by the processor 126 is also transmitted with the video images over the MIPI connection 122 and the MIPI input interface 124 .
- the design of the apparatus 100 does not require a side channel or separate channel to transmit the metadata to the processor 126 .
- the metadata of the image 110 is needed by the processor 126 to process the scanned video images and generate the scanned image file. Without the metadata, the processor 126 would be unable to process the video images in the scanlink frame 200 .
- Some designs may attempt to use a side channel to transmit the metadata separately. However, the user of the side channel adds additional wiring, hardware and software that are needed to control the side channel and coordinate the metadata with the video images.
- the embodiments of the present disclosure avoid these inefficient designs by creating the scanlink frame 200 that can send all of the necessary metadata and scanned video images over a single MIPI connection.
- FIG. 3 illustrates an example timing diagram 300 of various components within the apparatus 100 .
- the timing diagram 300 illustrates a timing between the lamp (Lamp_ON), the platen motor, the platen motor drive, a duplex automatic document handler (DADH) motor drive, a downstream image path, a scanlink frame acknowledgement output (SL_ACK output) and a scanlink frame error output (SL_ERROR output).
- the timing diagram 300 also includes an illustration of the scanlink frames 200 that are sent over the MIPI connection 122 (MIPI CSI2 Interface).
- the platen motor illustrates which direction the platen motor 134 is moving and the platen motor drive illustrates when the motor is on and off.
- the lamp, the platen motor, the platen motor drive and the DADH motor drive signals are generated within the scanner 102 .
- the downstream image path represents actions of a state machine executed by the processor 126 .
- the SL_ACK output and SL_ERROR output are generated by the processor 126 .
- the MIPI CSI2 Interface line is not a signal diagram, but illustrates as an example to help the reader in visualizing when the scanlink frames 200 are sent during the timing diagram 300 .
- the lamp is turned off as indicated by the low signal on Lamp_ON.
- the platen motor is in a forward (FWD) position as the platen motor drive is moved (platen motor drive signal is high) into position to scan a calibration strip.
- the DADH motor drive signal is low.
- a setup scanlink frame may be transmitted.
- the processor 126 receives the setup frame, the processor may perform the setup and generate a high SL_ACK output signal.
- the platen motor is held (HLD) until the scanning of the calibration strip is ready to begin.
- the platen motor may then be changed to a FWD position to scan the calibration strip with the lamp off to generate the black calibration video images (e.g., also referred to as the pixel offset calculation and offset scanlink frame).
- the processor receives the black calibration scanlink frame, generates a high signal for the SL_ACK output and the downstream image path begins processing the pixel offset calculation.
- the platen motor is moved to a reverse (REV) position and the platen motor drive is turned on to move the platen motor back to a starting position to scan the calibration strip for the white calibration video images.
- the lamp is turned on (Lamp_ON signal is changed to high) and remains on for the remaining scans.
- the platen motor is moved to a FWD position and the platen motor drive is turned on to scan the calibration strip with the lamp turned on.
- the calibration strip is scanned to generate the white calibration scanlink frame (e.g., also referred to as the pixel gain & error check or gain frame scanlink frame).
- the processor receives the white calibration scanlink frame and generates a high signal for the SL_ACK output and the downstream image path begins processing the pixel gain & error check.
- the platen motor is moved to a REV position and the platen motor drive is turned on to move the platen motor back to a home position.
- the DADH Motor drive is ramped up and turned on and the downstream image path sets up an image path for an image acquisition.
- the processor generates a high signal for the SL_ACK output to indicate it is ready.
- the platen motor is moved to a hold position as the DADH motor drive turns on to feed the image through the scanner.
- the scanlink frame with the video images scanned is transmitted to the processor.
- the processor generates a high signal for the SL_ACK output and the downstream image path processes the scan page.
- the lamp When the scanlink frame ends, the lamp is turned off, the platen motor is changed to a REV position, and the platen motor drive is turned on to move the platen motor back to a home position.
- the DADH motor drive is ramped down and turned off.
- the processor generates a high signal for the SL_ACK output that scanlink frame was received in its entirety.
- the downstream image path performs a cleanup and frees up resources and moves to an idle state.
- the processor may generate a SL_ERROR output signal. For example, in FIG. 3 , the high signal for SL_ERROR output illustrated in dashed lines may be generated and the SL_ACK output would remain low.
- the SL_ERROR output signal may be generated by the scanner microcontroller 132 if the SL_ACK output high signal is not received within a predefined time period or countdown period.
- the scanner microcontroller 132 may know a length of the scanlink frame that is transmitted. The predefined time period may begin counting down at a time when the scanlink frame should have been received by the processor 126 . If the predefined time period expires before receiving the SL_ACK output high signal then the scanner microcontroller 132 may generate an SL_ERROR high signal.
- the platen motor when the SL_ERROR high signal is received, the platen motor may be returned to the home position.
- the lamp may be turned off, the downstream image path may return to the setup and the DADH motor drive may return to an off position such that the scanner may start scanning an image from the beginning.
- FIG. 3 is only provided as an example timing diagram 300 .
- the timing of the various components within the apparatus 100 may vary and be implemented in additional ways that are within the scope of the present disclosure.
- the calibration video images and associated scanlink frames may be optional.
- calibration need not be performed before each image that is scanned.
- the calibration may be performed periodically (e.g., based on a pre-defined timer period or pre-defined number of image scans).
- FIG. 4 illustrates a flowchart of a method 400 for transferring data over a MIPI.
- one or more steps or operations of the method 400 may be performed by the apparatus 100 or a computer as illustrated in FIG. 5 and discussed below.
- the method 400 begins.
- the method 400 scans a calibration image.
- the scanner may need to be calibrated to process the video images of the image that is scanned.
- the calibration image may be performed periodically (e.g., every day, every week, every 1000 scans, and the like).
- the calibration image may be scanned with the light source turned off to obtain black calibration video images.
- the calibration image may be scanned with the light source turned on to obtain white calibration video images.
- the method 400 sends calibration video data over a MIPI interface.
- the black calibration video images may be formatted into a black calibration scanlink frame that is compatible with the MIPI interface.
- the white calibration video images may be formatted into a white calibration scanlink frame that is compatible with the MIPI interface.
- the black calibration scanlink frame and the white calibration scanlink frame may be transmitted to a processor via the MIPI interface.
- the method 400 scans an image to produce a plurality of video images.
- a scan bar may scan a plurality of scan lines of video images as the image is automatically moved below the scan bar, or vice versa.
- the method 400 converts the plurality of video images into a scanlink frame using a MIPI communication protocol.
- the plurality of video images may be generated by an AFE module.
- the video images may not be compatible with the MIPI interface.
- a translation logic module may be used to convert the plurality of video images into a RAWxx format that is compatible with the MIPI interface and package the converted video images into a scanlink frame.
- the scanlink frame may include a frame start packet, a scanlink header packet, the plurality of video images that are converted and a frame end packet.
- each scan line of the plurality of video images that are converted may be a line within the scanlink frame.
- the scanlink frame may include a number of lines that corresponds to the number of scan lines of the plurality of video images plus one to account for the scanlink header packet.
- each line may include a start of line packet, the video images of a scan line and an end of line packet.
- the scanlink header packet may include metadata associated with the image that is scanned.
- the metadata may include, for example, a type of data that is being transmitted, a type of color, a page size, a charged coupled device (CCD) color registration offset, a data resolution, and the like.
- CCD charged coupled device
- the novel scanlink frame of the present disclosure provides flexibility in allowing a variety of different types of data to be transmitted over the MIPI interface.
- no side channels or additional communication paths are needed to transmit the metadata to the processor for processing.
- the embodiments of the present disclosure provide an efficient architecture that utilizes the standardized protocol of MIPI.
- the method 400 sends the scanlink frame to a processor over a MIPI interface.
- the scanlink frame including the scanlink header packet and the lines of video images are transmitted to a processor of a system controller or DFE.
- the method 400 generates a scanned image file using the scanlink frame.
- a microprocessor or processor may be used to process the scanlink frame to generate the scanned image.
- the microprocessor or processor is not equivalent to an ASIC and should not be interpreted to include an ASIC.
- the method 400 ends.
- one or more steps, functions, or operations of the method 400 described above may include a storing, displaying and/or outputting step as required for a particular application.
- any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application.
- steps, functions, or operations in FIG. 4 that recite a determining operation, or involve a decision do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step.
- FIG. 5 depicts a high-level block diagram of a computer that can be transformed to into a machine that is dedicated to perform the functions described herein. Notably, no computer or machine currently exists that performs the functions as described herein. As a result, the embodiments of the present disclosure improve the operation and functioning of the computer to improve color accuracy in a scan, as disclosed herein.
- the computer 500 comprises one or more hardware processor elements 502 (e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor), a memory 504 , e.g., random access memory (RAM) and/or read only memory (ROM), a module 505 for transferring data over a MIPI, and various input/output devices 506 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device (such as a keyboard, a keypad, a mouse, a microphone and the like)).
- hardware processor elements 502 e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor
- a memory 504 e.g., random access memory (RAM) and/or read only memory (
- the computer may employ a plurality of processor elements.
- the computer may employ a plurality of processor elements.
- the method(s) as discussed above is implemented in a distributed or parallel manner for a particular illustrative example, i.e., the steps of the above method(s) or the entire method(s) are implemented across multiple or parallel computers, then the computer of this figure is intended to represent each of those multiple computers.
- one or more hardware processors can be utilized in supporting a virtualized or shared computing environment.
- the virtualized computing environment may support one or more virtual machines representing computers, servers, or other computing devices. In such virtualized virtual machines, hardware components such as hardware processors and computer-readable storage devices may be virtualized or logically represented.
- the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a programmable logic array (PLA), including a field-programmable gate array (FPGA), or a state machine deployed on a hardware device, a computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the method(s) discussed above can be used to configure a hardware processor to perform the steps, functions and/or operations of the above disclosed methods.
- ASIC application specific integrated circuits
- PDA programmable logic array
- FPGA field-programmable gate array
- instructions and data for the present module or process 505 for transferring data over a MIPI can be loaded into memory 504 and executed by hardware processor element 502 to implement the steps, functions or operations as discussed above in connection with the exemplary method 400 .
- a hardware processor executes instructions to perform “operations”, this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component (e.g., a co-processor and the like) to perform the operations.
- the processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor.
- the present module 505 for transferring data over a MIPI (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like.
- the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Facsimiles In General (AREA)
- Facsimile Scanning Arrangements (AREA)
Abstract
Description
- The present disclosure relates generally to improving communication between scanners and a system controller and, more particularly, to an apparatus and method for transferring data over a Mobile Industry Processor Interface (MIPI).
- Current multi-function device manufacturers use proprietary interfaces to transfer video data from a scanning device to a system controller. The system controller then processes the scanner video data using custom hardware typically implemented in an Application Specific Integrated Circuit (ASIC) or System on Chip (SO) devices.
- However, ASIC/SOCs are expensive to develop (e.g., $1 million to $10 million) depending on size and technology, have long lead times (e.g., 15-24 months) and have fixed functionalities. In addition, as the ASICs are being developed, the technology or protocols may change that may cause portions of the ASIC to be obsolete or require use of older and more expensive technologies even before the ASICs are finished being developed and manufactured.
- According to aspects illustrated herein, there are provided an apparatus and method for transferring data over a Mobile Industry Processor Interface (MIPI). One disclosed feature of the embodiments is an apparatus comprising a scan bar for scanning an image, an analog front end (AFE) module in communication with the scan bar for receiving a plurality of video images of the image that is scanned by the scan bar, a translation logic module in communication with the AFE module to convert the plurality of video images into a scanlink frame using a MIPI communication protocol, wherein the scanlink frame comprises a frame start packet, a scanlink header packet, the plurality of video images and a frame end packet, a MIPI input interface in communication with the translation logic module to receive the scanlink frame and a processor in communication with the MIPI input interface to process the scanlink frame to generate a scanned image file using the scanlink frame.
- Another disclosed feature of the embodiments is a method for transferring data over a MIPI comprising scanning an image to produce a plurality of video images, converting the plurality of video images into a scanlink frame using a MIPI communication protocol, wherein the scanlink frame comprises a frame start packet, a scanlink header packet, the plurality of video images and a frame end packet, sending the scanlink frame to a processor over a MIPI interface and generating, by the processor, a scanned image file using the scanlink frame.
- Another disclosed feature of the embodiments is a non-transitory computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions, which when executed by a processor, cause the processor to perform operations comprising scanning an image to produce a plurality of video images, converting the plurality of video images into a scanlink frame using a MIPI communication protocol, wherein the scanlink frame comprises a frame start packet, a scanlink header packet, the plurality of video images and a frame end packet, sending the scanlink frame to a processor over a MIPI interface and generating, by the processor, a scanned image file using the scanlink frame.
- The teaching of the present disclosure can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
-
FIG. 1 illustrates an example block diagram of an apparatus of the present disclosure; -
FIG. 2 illustrates an example scanlink frame; -
FIG. 3 illustrates an example timing diagram; -
FIG. 4 illustrates a flowchart of an example method for transferring data over a MIPI; and -
FIG. 5 illustrates a high-level block diagram of a computer suitable for use in performing the functions described herein. - To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
- The present disclosure broadly discloses an apparatus and method for transferring data over a MIPI within a multi-function device (MFD). As discussed above, current multi-function device manufacturers use proprietary interfaces to transfer video data from a scanning device to a system controller. The system controller then processes the scanner video data using custom hardware typically implemented in an Application Specific Integrated Circuit (ASIC) or System on Chip (SOC) device.
- However, ASICs are expensive to develop (e.g., $1 million to $10 million) depending on size and technology, have long lead times (e.g., 15-24 months) and have fixed functionality. In addition, as the ASICs are being developed, the technology or protocols may change that may cause portions of the ASIC to be obsolete or require use of older and more expensive technologies even before the ASICs are finished being developed and manufactured.
- Embodiments of the present disclosure remove the need to use ASICs in the system controller and leverage microprocessor technology that incorporates Mobile Industry Processor Interfaces (MIPI). Microprocessor technology has advanced to the point where there is sufficient processing power in the processor core(s), graphics processing unit (GPU), and other specialized hardware engines to do the image processing in software instead of ASICs. Many of the current and future generations of microprocessors incorporate MIPI interfaces.
- Embodiments of the present disclosure allow data from a scanner to be transmitted to a microprocessor in a system controller (as opposed to an ASIC) within a MFD. The microprocessor may then process the data. As a result, the cost and time to develop an ASIC is eliminated.
-
FIG. 1 illustrates anexample apparatus 100 of the present disclosure. It should be noted that theapparatus 100 may be an MFD having scanning, printing, copying and faxing capabilities. In one embodiment, theapparatus 100 may include ascanner 102 and asystem controller 104. In one embodiment, thescanner 102 may include a light source or alamp 106, ascan bar 108, alens 112, a charge coupled device (CCD) 114, atiming generator 116, an analog front end (AFE) module 118, atranslation logic 120, ascanner microcontroller 132 and a platen motor 134. - In one embodiment, the platen motor 134 may be coupled to the
scan bar 108 and control the movement of thescan bar 108 over animage 110. In one embodiment, thescan bar 108 may scan theimage 110 and transmit lines of video data through thelens 112 and theCCD 114 to the AFE module 118. The AFE module 118 and theCCD 114 may be synchronized via thetiming generator 116. The AFE module 118 may collect the analog video images and convert the analog signals into a digital signal. - Typically, the AFE module 118 supports a variety of different types of line array type sensors. The AFE market had never standardized a video output interface. As a result, a custom ASIC processor would be required to process the video images and transmit the processed video images to another custom ASIC processor in the
system controller 104 over a proprietary connection and interface. - In one embodiment, the custom ASIC processor in the
scanner 102 is replaced with thetranslation logic module 120. In one embodiment, thetranslation logic module 120 may convert the video image data from the AFE module 118 into a format that is compatible with a MIPI communication protocol. In one embodiment, thetranslation logic module 120 may be implemented as a field programmable gate array (FPGA). - In one embodiment, the MIPI communication protocol may be a RAWxx format as defined by a MIPI Camera Serial Interface 2 (CSI-2) standard. In one embodiment the “xx” of the RAWxx format may represent a number of bits per pixel as defined by the MIPI CSI-2 standard.
- In one embodiment, a new scanlink frame may be used to transmit the video images converted into the RAWxx format for transmission over a
MIPI connection 122. The format of the scanlink frame is discussed in further detail below with reference toFIG. 2 . - In one embodiment, the
system controller 104 may part of a digital front end (DFE) of theapparatus 100. In one embodiment, thesystem controller 104 includes a central processing unit (CPU) 126 (also referred to as a processor or microprocessor). It should be noted that theprocessor 126 does not include and should not be interpreted to be equivalent to an ASIC processor. - In one embodiment, the
processor 126 may be in communication with aMIPI input interface 124. TheMIPI connection 122 may be coupled to theMIPI input interface 124 and thetranslation logic module 120. In one embodiment, thesystem controller 104 may also include asystem memory 128 and avideo buffer 130. - In one embodiment, the scanlink frames containing the video images may be transmitted from the
scanner 102 to thesystem controller 104 via theMIPI connection 122. The scanlink frames may be stored in thesystem memory 128 and the video images may be stored in thevideo buffer 130 as theprocessor 126 processes the video images to generate a scanned image file of theimage 110. - In one embodiment, the
scanner microcontroller 132 may be in communication with theprocessor 126, thetranslation logic module 120, the AFE module 118 and the platen motor 134. Thescanner microcontroller 132 may send a signal to the AFE 118 and thetranslation logic module 120 to prepare for receiving video images from thescan bar 108 when thescanner microcontroller 132 starts the platen motor 134. In addition, thescanner microcontroller 132 may begin and end each scan of theimage 110 based on acknowledgment signals or error signals received from theprocessor 126. An example timing diagram is illustrated inFIG. 3 and discussed below. - In one embodiment, calibration video images may also be sent before the video images of the
image 110 using the same process as described above for sending the video images of theimage 110. For example, instead of theimage 110, a calibration strip may be placed in thescanner 102 and scanned by thescan bar 108 with thelight source 106 turned off to collect black calibration video images. The black calibration video images may be translated into black calibration scanlink frames and transmitted to theprocessor 126 over theMIPI connection 122. In one embodiment, the black calibration video images may be used to calibrate offset of each pixel. - Similarly, the calibration strip may be scanned by the
scan bar 108 with thelight source 106 turned on to collect white calibration video images. The white calibration video images may be translated into white calibration scanlink frames and transmitted to the processor over theMIPI connection 122. In one embodiment, the white calibration video images may be used to calibrate a gain for each pixel. - As noted above, the present disclosure uses a new frame format referred to as a scanlink frame.
FIG. 2 illustrates an example of ascanlink frame 200. In one embodiment, thescanlink frame 200 includes aframe start packet 202, a plurality of scan lines 206 1 to 206 n (also referred to herein individually and collectively as scan line or scan lines 206) and aframe end packet 204. In one embodiment, each one of the plurality of scan lines 206 1 to 206 n may include a start ofline packet 208, adata packet line packet 212. - In one embodiment, the
data packet 210 of the first scan line 206 1 of eachscanlink frame 200 that is transmitted may be a scanlink header packet. In one embodiment, the scanlink header packet may include all the information necessary for theprocessor 126 to process the video images within thescanlink frame 200 to generate the scanned image. For example, the scanlink header packet may include metadata related to theimage 110 that is being scanned. In one embodiment, the metadata may include a type of data that is being transmitted (e.g., black calibration video images, white calibration video images, normal video images, and the like), a type of color (e.g., black and white, color, grayscale, and the like), a page size, a CCD color registration offset, a data resolution (e.g., 3×3, 6×6, 12×12, and the like), or any other metadata that is needed by theprocessor 126 to process the video images. - In one embodiment, the remaining
data packets 214 in the scan lines 206 2 to 206 n may each be a line of video images scanned by thescan bar 108. For example, thescan bar 108 may scan theimage 110 on a line by line basis. In one embodiment, each line scanned by thescan bar 108 may be a video image. As a result, a number of scan lines “n” may be a function of a number lines (e.g., video images) needed to scan theimage 110 plus one (e.g., including thedata packet 210 that is the scanlink header packet). In other words, if thescan bar 108scans 100 lines of video images, then thescanlink frame 200 would include 101 scan lines 206 (e.g., 1 scan line with the scanlink header plus 100 lines of video images). - In one embodiment, video images of each image that is scanned would be transmitted via the
scanlink frame 200. For example, if calibration is needed and black calibration video images and white calibration video images are transmitted to theprocessor 126, then the black calibration video images would be transmitted as a black calibration scanlink frame and the white calibration video images would be transmitted as a white calibration scanlink frame. - In addition, the black calibration scanlink frame and the white calibration scanlink frame would each include a data packet in the first scan line that is the scanlink header packet. The scanlink header packet for the black calibration scanlink frame and the white calibration scanlink frame would include metadata for the calibration strip that is scanned with the light off for and metadata for the calibration strip that is scanned with the light off, respectively.
- As is evident from the description of the
scanlink frame 200, the design of thescanlink frame 200 allows any format and type of data to be transmitted over a single MIPI interface/channel. In other words, the metadata need by theprocessor 126 is also transmitted with the video images over theMIPI connection 122 and theMIPI input interface 124. As a result, the design of theapparatus 100 does not require a side channel or separate channel to transmit the metadata to theprocessor 126. - For example, the metadata of the
image 110 is needed by theprocessor 126 to process the scanned video images and generate the scanned image file. Without the metadata, theprocessor 126 would be unable to process the video images in thescanlink frame 200. Some designs may attempt to use a side channel to transmit the metadata separately. However, the user of the side channel adds additional wiring, hardware and software that are needed to control the side channel and coordinate the metadata with the video images. Thus, the embodiments of the present disclosure avoid these inefficient designs by creating thescanlink frame 200 that can send all of the necessary metadata and scanned video images over a single MIPI connection. -
FIG. 3 illustrates an example timing diagram 300 of various components within theapparatus 100. In one embodiment, the timing diagram 300 illustrates a timing between the lamp (Lamp_ON), the platen motor, the platen motor drive, a duplex automatic document handler (DADH) motor drive, a downstream image path, a scanlink frame acknowledgement output (SL_ACK output) and a scanlink frame error output (SL_ERROR output). The timing diagram 300 also includes an illustration of the scanlink frames 200 that are sent over the MIPI connection 122 (MIPI CSI2 Interface). - In one embodiment, the platen motor illustrates which direction the platen motor 134 is moving and the platen motor drive illustrates when the motor is on and off. In one embodiment, the lamp, the platen motor, the platen motor drive and the DADH motor drive signals are generated within the
scanner 102. In one embodiment, the downstream image path represents actions of a state machine executed by theprocessor 126. In one embodiment, the SL_ACK output and SL_ERROR output are generated by theprocessor 126. The MIPI CSI2 Interface line is not a signal diagram, but illustrates as an example to help the reader in visualizing when the scanlink frames 200 are sent during the timing diagram 300. - In one embodiment, the lamp is turned off as indicated by the low signal on Lamp_ON. The platen motor is in a forward (FWD) position as the platen motor drive is moved (platen motor drive signal is high) into position to scan a calibration strip. The DADH motor drive signal is low. In one embodiment, a setup scanlink frame may be transmitted. When the
processor 126 receives the setup frame, the processor may perform the setup and generate a high SL_ACK output signal. - At a later time, the platen motor is held (HLD) until the scanning of the calibration strip is ready to begin. The platen motor may then be changed to a FWD position to scan the calibration strip with the lamp off to generate the black calibration video images (e.g., also referred to as the pixel offset calculation and offset scanlink frame). The processor receives the black calibration scanlink frame, generates a high signal for the SL_ACK output and the downstream image path begins processing the pixel offset calculation.
- The platen motor is moved to a reverse (REV) position and the platen motor drive is turned on to move the platen motor back to a starting position to scan the calibration strip for the white calibration video images. The lamp is turned on (Lamp_ON signal is changed to high) and remains on for the remaining scans. The platen motor is moved to a FWD position and the platen motor drive is turned on to scan the calibration strip with the lamp turned on. The calibration strip is scanned to generate the white calibration scanlink frame (e.g., also referred to as the pixel gain & error check or gain frame scanlink frame). The processor receives the white calibration scanlink frame and generates a high signal for the SL_ACK output and the downstream image path begins processing the pixel gain & error check.
- The platen motor is moved to a REV position and the platen motor drive is turned on to move the platen motor back to a home position. The DADH Motor drive is ramped up and turned on and the downstream image path sets up an image path for an image acquisition. The processor generates a high signal for the SL_ACK output to indicate it is ready. The platen motor is moved to a hold position as the DADH motor drive turns on to feed the image through the scanner. The scanlink frame with the video images scanned is transmitted to the processor. The processor generates a high signal for the SL_ACK output and the downstream image path processes the scan page.
- When the scanlink frame ends, the lamp is turned off, the platen motor is changed to a REV position, and the platen motor drive is turned on to move the platen motor back to a home position. The DADH motor drive is ramped down and turned off. The processor generates a high signal for the SL_ACK output that scanlink frame was received in its entirety. The downstream image path performs a cleanup and frees up resources and moves to an idle state.
- In one embodiment, if the processor does not receive a scanlink frame or receives and incomplete scanlink frame, then the processor may generate a SL_ERROR output signal. For example, in
FIG. 3 , the high signal for SL_ERROR output illustrated in dashed lines may be generated and the SL_ACK output would remain low. - In one embodiment, the SL_ERROR output signal may be generated by the
scanner microcontroller 132 if the SL_ACK output high signal is not received within a predefined time period or countdown period. For example, thescanner microcontroller 132 may know a length of the scanlink frame that is transmitted. The predefined time period may begin counting down at a time when the scanlink frame should have been received by theprocessor 126. If the predefined time period expires before receiving the SL_ACK output high signal then thescanner microcontroller 132 may generate an SL_ERROR high signal. - In one embodiment, when the SL_ERROR high signal is received, the platen motor may be returned to the home position. In addition, the lamp may be turned off, the downstream image path may return to the setup and the DADH motor drive may return to an off position such that the scanner may start scanning an image from the beginning.
- It should be noted that
FIG. 3 is only provided as an example timing diagram 300. The timing of the various components within theapparatus 100 may vary and be implemented in additional ways that are within the scope of the present disclosure. For example, the calibration video images and associated scanlink frames may be optional. In other words, calibration need not be performed before each image that is scanned. The calibration may be performed periodically (e.g., based on a pre-defined timer period or pre-defined number of image scans). -
FIG. 4 illustrates a flowchart of amethod 400 for transferring data over a MIPI. In one embodiment, one or more steps or operations of themethod 400 may be performed by theapparatus 100 or a computer as illustrated inFIG. 5 and discussed below. - At
block 402 themethod 400 begins. Atoptional block 404, themethod 400 scans a calibration image. For example, the scanner may need to be calibrated to process the video images of the image that is scanned. In one embodiment, the calibration image may be performed periodically (e.g., every day, every week, every 1000 scans, and the like). - In one embodiment, the calibration image may be scanned with the light source turned off to obtain black calibration video images. In addition, the calibration image may be scanned with the light source turned on to obtain white calibration video images.
- At
optional block 406, themethod 400 sends calibration video data over a MIPI interface. In one embodiment, the black calibration video images may be formatted into a black calibration scanlink frame that is compatible with the MIPI interface. In addition, the white calibration video images may be formatted into a white calibration scanlink frame that is compatible with the MIPI interface. The black calibration scanlink frame and the white calibration scanlink frame may be transmitted to a processor via the MIPI interface. - At
block 408, themethod 400 scans an image to produce a plurality of video images. For example, a scan bar may scan a plurality of scan lines of video images as the image is automatically moved below the scan bar, or vice versa. - At
block 410, themethod 400 converts the plurality of video images into a scanlink frame using a MIPI communication protocol. In one embodiment, the plurality of video images may be generated by an AFE module. The video images may not be compatible with the MIPI interface. As a result, a translation logic module may be used to convert the plurality of video images into a RAWxx format that is compatible with the MIPI interface and package the converted video images into a scanlink frame. - As discussed above, the scanlink frame may include a frame start packet, a scanlink header packet, the plurality of video images that are converted and a frame end packet. In one embodiment, each scan line of the plurality of video images that are converted may be a line within the scanlink frame. In other words, the scanlink frame may include a number of lines that corresponds to the number of scan lines of the plurality of video images plus one to account for the scanlink header packet. In one embodiment, each line may include a start of line packet, the video images of a scan line and an end of line packet.
- In one embodiment, the scanlink header packet may include metadata associated with the image that is scanned. In one embodiment, the metadata may include, for example, a type of data that is being transmitted, a type of color, a page size, a charged coupled device (CCD) color registration offset, a data resolution, and the like.
- Notably, the novel scanlink frame of the present disclosure provides flexibility in allowing a variety of different types of data to be transmitted over the MIPI interface. In addition, no side channels or additional communication paths are needed to transmit the metadata to the processor for processing. Thus, the embodiments of the present disclosure provide an efficient architecture that utilizes the standardized protocol of MIPI.
- At
block 412, themethod 400 sends the scanlink frame to a processor over a MIPI interface. For example, the scanlink frame including the scanlink header packet and the lines of video images are transmitted to a processor of a system controller or DFE. - At
block 414, themethod 400 generates a scanned image file using the scanlink frame. In one embodiment, a microprocessor or processor may be used to process the scanlink frame to generate the scanned image. Notably, the microprocessor or processor is not equivalent to an ASIC and should not be interpreted to include an ASIC. Atstep 416 themethod 400 ends. - It should be noted that although not explicitly specified, one or more steps, functions, or operations of the
method 400 described above may include a storing, displaying and/or outputting step as required for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the methods can be stored, displayed, and/or outputted to another device as required for a particular application. Furthermore, steps, functions, or operations inFIG. 4 that recite a determining operation, or involve a decision, do not necessarily require that both branches of the determining operation be practiced. In other words, one of the branches of the determining operation can be deemed as an optional step. -
FIG. 5 depicts a high-level block diagram of a computer that can be transformed to into a machine that is dedicated to perform the functions described herein. Notably, no computer or machine currently exists that performs the functions as described herein. As a result, the embodiments of the present disclosure improve the operation and functioning of the computer to improve color accuracy in a scan, as disclosed herein. - As depicted in
FIG. 5 , thecomputer 500 comprises one or more hardware processor elements 502 (e.g., a central processing unit (CPU), a microprocessor, or a multi-core processor), amemory 504, e.g., random access memory (RAM) and/or read only memory (ROM), amodule 505 for transferring data over a MIPI, and various input/output devices 506 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or a compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, an input port and a user input device (such as a keyboard, a keypad, a mouse, a microphone and the like)). Although only one processor element is shown, it should be noted that the computer may employ a plurality of processor elements. Furthermore, although only one computer is shown in the figure, if the method(s) as discussed above is implemented in a distributed or parallel manner for a particular illustrative example, i.e., the steps of the above method(s) or the entire method(s) are implemented across multiple or parallel computers, then the computer of this figure is intended to represent each of those multiple computers. Furthermore, one or more hardware processors can be utilized in supporting a virtualized or shared computing environment. The virtualized computing environment may support one or more virtual machines representing computers, servers, or other computing devices. In such virtualized virtual machines, hardware components such as hardware processors and computer-readable storage devices may be virtualized or logically represented. - It should be noted that the present disclosure can be implemented in software and/or in a combination of software and hardware, e.g., using application specific integrated circuits (ASIC), a programmable logic array (PLA), including a field-programmable gate array (FPGA), or a state machine deployed on a hardware device, a computer or any other hardware equivalents, e.g., computer readable instructions pertaining to the method(s) discussed above can be used to configure a hardware processor to perform the steps, functions and/or operations of the above disclosed methods. In one embodiment, instructions and data for the present module or
process 505 for transferring data over a MIPI (e.g., a software program comprising computer-executable instructions) can be loaded intomemory 504 and executed byhardware processor element 502 to implement the steps, functions or operations as discussed above in connection with theexemplary method 400. Furthermore, when a hardware processor executes instructions to perform “operations”, this could include the hardware processor performing the operations directly and/or facilitating, directing, or cooperating with another hardware device or component (e.g., a co-processor and the like) to perform the operations. - The processor executing the computer readable or software instructions relating to the above described method(s) can be perceived as a programmed processor or a specialized processor. As such, the
present module 505 for transferring data over a MIPI (including associated data structures) of the present disclosure can be stored on a tangible or physical (broadly non-transitory) computer-readable storage device or medium, e.g., volatile memory, non-volatile memory, ROM memory, RAM memory, magnetic or optical drive, device or diskette and the like. More specifically, the computer-readable storage device may comprise any physical devices that provide the ability to store information such as data and/or instructions to be accessed by a processor or a computing device such as a computer or an application server. - It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/705,609 US9485381B1 (en) | 2015-05-06 | 2015-05-06 | Scanner interface and protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/705,609 US9485381B1 (en) | 2015-05-06 | 2015-05-06 | Scanner interface and protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
US9485381B1 US9485381B1 (en) | 2016-11-01 |
US20160330343A1 true US20160330343A1 (en) | 2016-11-10 |
Family
ID=57189494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/705,609 Active US9485381B1 (en) | 2015-05-06 | 2015-05-06 | Scanner interface and protocol |
Country Status (1)
Country | Link |
---|---|
US (1) | US9485381B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102391480B1 (en) * | 2017-11-06 | 2022-04-29 | 삼성디스플레이 주식회사 | Display driver integrated circuit and display device including the same |
JP7007160B2 (en) * | 2017-11-10 | 2022-01-24 | ソニーセミコンダクタソリューションズ株式会社 | Transmitter |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8950672B2 (en) * | 2011-09-28 | 2015-02-10 | Ncr Corporation | Methods and apparatus for control of an imaging scanner |
US8870073B2 (en) * | 2012-05-29 | 2014-10-28 | Ncr Corporation | Methods and apparatus for positioning an optical code for imaging scanning |
-
2015
- 2015-05-06 US US14/705,609 patent/US9485381B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9485381B1 (en) | 2016-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10277770B2 (en) | Image forming apparatus for controlling image reading apparatus depending on image processing capability of the image forming apparatus, image reading apparatus, control method thereof, and storage medium | |
EP3528490A1 (en) | Image data frame synchronization method, image signal processing device and terminal | |
US8351078B2 (en) | Image forming apparatus and image reading size setting method | |
US11363154B2 (en) | Image processing apparatus capable of performing plurality of pieces of processing in parallel, control method for the image processing apparatus, and storage medium | |
US9485381B1 (en) | Scanner interface and protocol | |
JP6175905B2 (en) | Information processing apparatus, information processing method, system, and program | |
US10057444B2 (en) | Mobile terminal, information processing system, and control method | |
US8810869B2 (en) | Image reading apparatus, image forming apparatus, image reading method and computer readable information recording medium | |
US20200374411A1 (en) | Image reading apparatus and method of controlling the same | |
JP6295741B2 (en) | Image forming apparatus | |
US9679231B2 (en) | Copier and method in which print processing proceeds prior to storing all read image data exceeding predetermined size when ACS is selected | |
CN113645366B (en) | Image forming device, imaging control method and storage medium thereof | |
US8849067B2 (en) | Image processing apparatus, computer-readable storage medium, and image processing method for improving image data transfer | |
US10798264B2 (en) | Image scanning apparatus and method for scanning thereof | |
US9185263B2 (en) | Image scanning apparatus and method | |
US20130077867A1 (en) | Image processing apparatus, image processing method, and method of controlling image processing apparatus | |
US9762770B2 (en) | Image processing apparatus having dynamically reconfigurable circuits to perform image processing, control method thereof, and storage medium storing computer program therefor | |
US11093150B2 (en) | Image processing apparatus | |
US20220286567A1 (en) | Image reading system, image reading device, and server device | |
US8792144B2 (en) | Image reading device and image reading method | |
JP5123770B2 (en) | Image processing apparatus and program | |
US20200084504A1 (en) | Image transmitting apparatus, image receiving apparatus, and non-transitory computer readable medium | |
CN119496855A (en) | Image scanning method, device, electronic device and storage medium | |
JP2019083496A (en) | Image reading device, image data transmission method, and program | |
JP2012138739A (en) | Image processing device, image formation device, image processing control method, image processing control program, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HUNTER, TIMOTHY M.;REEL/FRAME:035615/0702 Effective date: 20150420 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: SURCHARGE FOR LATE PAYMENT, LARGE ENTITY (ORIGINAL EVENT CODE: M1554); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS AGENT, DELAWARE Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:062740/0214 Effective date: 20221107 |
|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 062740/0214;ASSIGNOR:CITIBANK, N.A., AS AGENT;REEL/FRAME:063694/0122 Effective date: 20230517 |
|
AS | Assignment |
Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:064760/0389 Effective date: 20230621 |
|
AS | Assignment |
Owner name: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:065628/0019 Effective date: 20231117 |
|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:068261/0001 Effective date: 20240206 Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORK Free format text: SECURITY INTEREST;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:066741/0001 Effective date: 20240206 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CONNECTICUT Free format text: FIRST LIEN NOTES PATENT SECURITY AGREEMENT;ASSIGNOR:XEROX CORPORATION;REEL/FRAME:070824/0001 Effective date: 20250411 |