WO2004068849A1 - Modular architecture having reusable front end for processing digital video data - Google Patents
Modular architecture having reusable front end for processing digital video data Download PDFInfo
- Publication number
- WO2004068849A1 WO2004068849A1 PCT/US2004/002713 US2004002713W WO2004068849A1 WO 2004068849 A1 WO2004068849 A1 WO 2004068849A1 US 2004002713 W US2004002713 W US 2004002713W WO 2004068849 A1 WO2004068849 A1 WO 2004068849A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- video
- commands
- data
- accordance
- vfe
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
- H04N11/042—Codec means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
Definitions
- This disclosure relates to techniques for processing digital video data.
- these devices typically include a digital viewfinder or other display, an image sensor for video data capture, and image processing functions to perform specialized image manipulation, as well as compression and decompression of the digital video data in accordance with one or more of a variety of video compression standards or processes.
- image processing functions to perform specialized image manipulation, as well as compression and decompression of the digital video data in accordance with one or more of a variety of video compression standards or processes.
- Providing these digital video capabilities often requires a significant amount of specialized hardware, software, or both.
- a device such as an encoder, a decoder or an encoder/decoder (CODEC)
- CODEC encoder/decoder
- a device includes an innovative architecture in which functionality is partitioned between a video front end ( E) and a video back end (VBE).
- the NFE encapsulates functionality and image operations to support a variety of applications, and presents a flexible inter-processor interface by which an external master device can easily control these operations.
- This partitioning insulates the NBE from a variety of implementation-specific functions, such as interfacing directly with camera interface hardware, performing color conversion and other image processing functions necessary to drive viewfinder, or operations. Consequently, the techniques described herein may provide a distributed video system that eases integration of digital video capabilities within new devices.
- the NFE may easily be reused in different applications with any desired image sensor, display, and back-end software or firmware, or combination thereof, to easily integrate video data capabilities into new products or devices.
- a system comprises a video front end (NFE) having a programmable interface to receive commands, wherein the NFE captures video input data and pre-process the video input data to produce video output data in accordance with the commands.
- the system further comprises a video back end (NBE) to generate an encoded sequence of video data from the video output data of the NFE, and a controller to provide commands to the NFE via the interface to control the desirable preprocessing of the video input data.
- NFE video front end
- NBE video back end
- a device comprises a video front end (NFE) executing within an operating environment provided by the device and includes a programmable interface to receive commands from an external device.
- the NFE captures video input data and pre-process the video input data in accordance with the commands to produce video output data for encoding by a video back end and video display data for display by a display device.
- a device comprises means for programmatically receiving commands from a master device, and means for capturing and pre-processing video input data to produce video output data and video display data in accordance with the commands.
- the device further comprises means for generating an encoded sequence of video data from the video output data.
- a method comprises programmatically receiving commands from a master device via an inter-processor interface, and capturing and preprocessing video input data via a slave device in accordance with the commands to produce video output data in a first image format and video display data in a second image format.
- the method further comprises communicating the video output data to an encoder for generation of an encoded sequence of video data; and communicating the video display data to an output device for display.
- FIG. 1 is a block diagram illustrating an example digital video device incorporating a video encoder/decoder (CODEC) that is partitioned between a video front end (NFE) and a video back end (NBE).
- CDEC video encoder/decoder
- FIG 2 is a block diagram illustrating an example embodiment of the NFE of FIG.
- FIG. 3 is a state diagram illustrating example operation of the NFE in further detail.
- FIG. 4 is a flowchart illustrating example operation of a digital video device.
- FIG. 1 is a block diagram illustrating an example digital video device 10 incorporating a video encoder/decoder (CODEC) 12 that is partitioned between a video front end (NFE) 14 and a video back end (NBE) 16.
- Device 10 may operate as a source device that transmits an encoded sequence of video data to a receiving device (not shown). Similarly, device 10 may operate as a receive device capable of receiving and decoding video data.
- Example devices include servers located on a computer network, workstations or other desktop computing devices, and mobile computing devices, such as laptop computers, a personal digital assistant (PDA), a wireless communication device, and the like.
- PDA personal digital assistant
- Other examples include digital television broadcasting satellites, digital televisions, digital video cameras or other recording devices, digital video telephones, wireless video devices, and the like.
- digital video device 10 is illustrated as a wireless device, such as a cellular phone.
- the techniques described herein are not limited to wireless devices, and may be readily applied to other digital video devices.
- Controller 24 provides primary control over the components of CODEC 12, including NFE 14, and coordinates communication with the other components of digital video device 10. Controller 24 directs CODEC 12 to perform many of the computationally intensive tasks required for encoding and decoding digital video sequences.
- CODEC 12 may take the form of a digital signal processor (DSP), and may have a dedicated memory 41 for storing instructions and data.
- DSP digital signal processor
- CODEC 12 may include dedicated hardware, software, firmware, or combinations thereof.
- controller 24 may take the form of an embedded microprocessor, specialized hardware, software, e.g., a control software module, or combinations thereof.
- CODEC 12 and controller 24, as well as other components of device 10 may be implemented in one or more application-specific integrated circuit (ASIC), as multiple discrete components, or combinations thereof.
- Digital video device 10 also includes a number of different peripherals, such as a display or viewfinder 17 and an image sensor 23. Under the direction of controller 24, CODEC 12 captures video input data 30 (NID) from image sensor 23, and communicates the video input data to NFE 14.
- NFE video input data 30
- Camera interface 22 is responsible for abstracting the interface details of image sensor 23. For example, in response to controls and configuration data 27 from NFE 14, camera interface 22 synchronizes horizontal and vertical reference signals in the data received from image sensor 23.
- Camera interface 22 may also include limited functionality to processes the video data, such as by masking pixels.
- NFE 14 of CODEC 12 encapsulates functionality and pre-processing operations to support a variety of camera or camcorder applications, and includes a flexible inter-processor interface for controlling these operations.
- the primary task of NFE 14 is to process incoming video input data 30 in real-time.
- NFE 14 receives video input data 30, and processes the data to produce video output data (NOD) 35 into acceptable format for NBE 16 based on commands and configuration parameters 25 received from controller 24.
- NFE 14 formats video input data 30 to produce video display data (NDD) 37 in a form suitable for display by viewfinder 17, which may comprise any output device for displaying the NDD, e.g., a liquid crystal display (LCD) for a camcorder or a mobile phone screen.
- NFE 14 stores video output data 35 and video display data 37 within video memory 15 for access by VBE 16 and controller 24, respectively.
- VFE 14 provides status information 26 via the inter-processor interface to indicate the status of pending commands.
- NFE 14 may perform complex image processing operations on video input data 30, such as converting color video frames to black-and-white format, modifying contrast or luminance characteristics of the data, digitally enhancing or modifying lighting conditions for the captured data, performing a digital zoom operation, image sensor processing and compensation, e.g., white balancing, automatic gain control, and gamma correction, and modifying the captured video data to simulate halos, sunsets, star filters or other filter effects.
- NFE 14 may reduce the frame rate or image size of the captured video input data 30.
- NFE 14 presents an inter-processor application-programming interface (API) that allows controller 24 to easily control and reconfigure NFE 14.
- API application-programming interface
- the API provides an inter-processor interface, allowing NFE 14 to act as a slave to controller 24.
- NBE 16 may comprise any software application, hardware unit, or the like, that encodes or decodes video data. More specifically, NBE 16 may utilize video output data 35 to generate an encoded bit stream of video sequences. When operating as an encoder, NBE 16 encodes video output data 35, and may buffer the encoded bit stream within video memory 15, e.g., for wireless transmission via transmitter / receiver 18 and antenna 19.
- NBE 16 may comprise a JPEG still image encoder for a digital camera, an MPEG video encoder for a digital camcorder, and the like.
- NBE may be, therefore, a proprietary encoder or decoder, or may processes video output data 35 in accordance with one or more of a variety of data compression standards, such as MPEG-1, MPEG-2, or MPEG-4 by The Moving Picture Experts Group (MPEG), QuickTimeTM by Apple Computer of Cupertino California, Video for WindowsTM developed by Microsoft Corporation of Redmond, Washington, IndeoTM developed by Intel Corporation, RealVideoTM from RealNetworks, Inc. of Seattle, Washington, and CinepakTM developed by SuperMac Inc, H.263, H.264, JPEG 2000, and the like.
- MPEG-1, MPEG-2, or MPEG-4 by The Moving Picture Experts Group (MPEG), QuickTimeTM by Apple Computer of Cupertino California, Video for WindowsTM developed by Microsoft Corporation of Redmond, Washington, IndeoTM developed by Intel Corporation, RealVideoTM from RealNetworks, Inc. of Seattle, Washington, and CinepakTM developed by SuperMac Inc, H.263, H.264, JPEG 2000, and the like.
- VBE 16 may operate as a decoder. More specifically, VBE 16 may receive a bit stream of encoded video sequences from receiver / transmitter 18, and process the bit stream to produce decoded video sequences for processing and display by VFE 14. VFE 14 and VBE 16 may exchange control signals 28 to trigger video processing operations. For example, controller 24 or VFE 14 may trigger encoding operations by VBE 16. When operating as a decoder, controller 24 or VBE 16 may trigger operations by VFE 14. VFE 14 and VBE 16 may be provided as standalone hardware or software modules, e.g., software modules for execution by a DSP, or combinations thereof.
- Memories 21, 41 stores instruction and data for use by controller 24 and CODEC 12, respectively. Although illustrated as separate memories, memories 21, 41 may be a common memory device. Memories 21, 41 may comprise read-only memory (ROM), synchronous dynamic random access memory (SDRAM), non- volatile static random access memory (SRAM), Flash memory, electrically erasable programmable read-only memory (EEPROM), and the like. Video memory 24 may take the form of Video Dynamic Memory Access (VDMA). As illustrated, memories 15, 21 may be external to CODEC 12 and coupled to controller 24.
- VDMA Video Dynamic Memory Access
- VFE 14 Partitioning the functionality of CODEC 12 into VFE 14 and VBE 16, as described, insulates VBE 16 for having to perform a variety of implementation-specific functions, such as interfacing directly with camera interface hardware 22, performing color conversion and other image processing functions necessary to drive viewfinder 17, or other implementation-specific operations. Consequently, VFE 14 may be viewed as performing implementation-specific image processing functions, while VBE 16 can perform implementation-independent image processing functions. [0026] In addition, the partitioning may provide increased flexibility to ease integration of digital video capabilities within new devices.
- VFE 14 the functional partitioning between VFE 14 and VBE 16 yields a distributed video system, and allows a designer to easily reuse VFE 14 with any desired back-end software or firmware, or combination thereof, to integrate video data capabilities into new products or devices.
- new video compression standards may easily be supported by coupling VFE 14 with a new VBE 16.
- a designer may reuse VFE 14 as a common module with any desired different VBEs or other application software or firmware, even proprietary VBEs, to integrate digital video capabilities within a new device.
- the flexibility and configurability of VFE 14 allows the VFE to be easily used with different image sensors and display devices. Consequently, VFE 14 may easily be reused and embedded within multiple devices with little or no change, and may ease design and production of new devices, such as a JPEG-based still digital camera, or a cellular phone that integrates MPEG-based video capture and communication.
- FIG. 2 is a block diagram illustrating an example embodiment of VFE 14 (FIG. 1) in further detail.
- VFE 14 may include a number of functional modules 30A - 30F, and a common application programming interface (API) 32 by which controller 24 may programmatically configure the modules.
- modules 30B- 30F may be used both to pre-process video data for encoding by VBE 16, and for postprocessing decoded video sequences produced by VBE 16.
- modules 30 may be used in a variety of applications.
- Modules 30 may be implemented as software modules for execution within an operating environment provided by CODEC 12, e.g., on a DSP. However, modules 30 may be implemented in hardware, firmware, software, or combinations thereof.
- Camera driver 30A interfaces directly with camera interface hardware 22, and programs the hardware to capture one or more video frames from image sensor 32.
- camera driver 30A issues commands 27 and, in response, receives video input data 30.
- camera driver 30A programmably configures camera interface hardware 22 to start and stop video capture.
- camera driver 30A defines an image frame dimension, e.g., lines per frame and pixels per line, and an image window for data collection, a data format, e.g., little or big Endian.
- camera driver 30A may issue commands 27 to direct camera interface hardware 22 to perform initial sub- sampling along the space domain and the time domain to reduce the image size and frame rate.
- Camera driver 30A processes video input data 30, and stores the processed data to video memory 15 (FIG. 1) in a standard form for backend processing by VBE 16.
- Camera driver 30A may, for example, store the image in YCbCr (Luminance- Chrominance) 4:2:2 format, which means that the chrominance values for the image data is sub-sampled only in the horizontal direction.
- camera driver 30 may process a color image or frame of size 352x288 pixels to produce a frame in which the luminance data remain 352x288, but the chrominance values are sub-sampled to a size of 176x288 pixels.
- Frame rate control module 30B provides functionality to down sample or up sample the sequence of video data captured by image sensor 23 and produced by camera interface 22, i.e., video input data 30, to a desirable frame rate.
- Frame rate control module 30B may, for example, down sample or up sample the incoming video frames of video input data 30 by a fractional or integer factor, giving VFE 14 flexibility for use in a wide range of applications.
- Image processing module 30C allows controller 24 to programmably select and apply frame-by-frame image processing functions to incoming video input data 30.
- controller 24 may issue commands via API 32 to select functions like conversion of color video frames to black-and-white format, modify contrast or luminance characteristics of the data, digitally enhance or modify lighting conditions for the captured data, perform a digital zoom operation, image sensor processing and compensation, e.g., white balancing, automatic gain control, and gamma correction, and modify the captured video data to simulate halos, sunsets, star filters or other filter effects.
- Image processing module 30C may apply these functions to pre-process video input data 30 for encoding by VBE 16, or to post-process decoded video sequences produced by VBE 16.
- image processing module 30C may apply these functions to enhance the decoded video sequences produced by VBE 16 from a received video bit stream.
- Image size control module 30E provides functionality to down sample or up sample an image size to a desirable image size. Moreover, image size control module 30E may down sample the image size and retain the aspect ratio, or achieve a different desirable aspect ratio. For example, a VGE image having resolution of 640x480 may be sub-sampled to CLF format having a resolution 352x288. Image size control module 30E may, for example, down-sample the image size of video input data 30 by a fractional or integer factor, giving VFE 14 flexibility for use in a wide range of applications. [0034] Viewfinder driver 30D provides functionality for driving viewfinder 17 with video display data 35.
- Viewfinder 17 may require video display data 35 in a format that is significantly different from the format of video input data 30 or video output data 35.
- viewfinder 17 may require video display data 35 at different frame rate or image size.
- Viewfinder driver 30D may make use of frame rate control module 30C and image size control module 30E to processes video input data 30 and produce video display data 35 in a form suitable for display by viewfinder 17.
- Color conversion module 30F provides functionality for converting video input data 30 to a different color space, e.g., a different format for representing the color image data.
- color conversion module 30F may process video input data 30 to produce video output data 35 in YCbCr (Luminance-Chrominance) 4:2:2 format for use by VBE 16.
- color conversion module may also process video input data 30 to produce video display data 35 in RGB format for display by viewfinder 17.
- color conversion module may control the color depth of the format produced, e.g., 16-bit, 18-bit, and 24-bit depth.
- Controller 24 programmatically configures and interacts with modules 30 of VFE 14 by issuing commands in accordance with API 32.
- API 32 supports the following commands:
- CONFIG - The CONFIG command is used to program VFE 14, and allows controller 24 to specify a wide range of parameters for controlling the functionality of modules 30.
- the CAPTURE command initiates the capture and processing of video input data 30 via VFE 14
- IDLE - The IDLE command directs NFE 30 to halt capture of video input data 30.
- controller 24 may write the commands to memory within CODEC 12. More specifically, CODEC 12 may include a command (CMD) register 37 for holding the pending command, and a command (CMD) buffer 36 for holding any parameters associated with the command. Upon writing a command and associated parameters to command register 37 and command buffer 36, respectfully, controller 24 issues an interrupt to VFE 14 to indicate a command is pending.
- command register 37 comprises a single 32-bit buffer to store a command header for the particular command being issued.
- Command buffer 36 comprises buffer having a size of cable of storing twenty-three 32-bit words.
- VFE 12 utilizes message (MSG) register 38 to indicate the status of pending commands, e.g., whether the command has been completed, or whether an illegal command was encountered. VFE 12 issues interrupts to controller 24 to indicate the availability of new status information within message register 38. Controller 24 accesses message register 38 to verify that the previous command has been completely processed prior to issuing a subsequent command.
- MSG message
- message register 38 stores status messages in eight 32-bit words as follows: Table 1
- the CONFIG command includes an extensive parameter list that allows controller 24 to easily programmatically configure VFE 14 as necessary to support the video capabilities required by device 10. More specifically, controller 24 writes command buffer 36 with a twenty-three (23) word parameter list, as illustrated in the following table:
- FIG. 3 is a state diagram illustrating example operation of VFE 14 in further detail.
- state machine 60 includes three states: LNIT state 62, DLE state
- VFE 14 Upon initial power-up or a hardware reset, VFE 14 enters INIT state 62. For VFE
- controller 24 must issue a CONFIG command to programmatically configure VFE 14, as described above.
- VFE 14 transitions to DDLE state 64.
- VFE 14 accepts all three possible commands from controller 24 without generation of an error: the CONFIG command, the CAPTURE command and the DDLE command. Controller 24 may, for example, issue the CONFIG command to reprogram VFE 14. Upon receiving and processing the CONFIG command, VFE 14 returns to DDLE state 64. An DDLE command is essentially ignored as VFE 14 is already operating within DDLE state 64.
- VFE 14 Upon receiving a CAPTURE command, VFE 14 transitions to CAPTURE state 66 and executes the parameters programmed by the most recent CONFIG command. While in CAPTURE state 66, VFE 14 starts the camera interface hardware 22, and begins receiving and processing video input data 30.
- VFE 14 examines the parameters associated with the CAPTURE command to determine whether snapshot mode is enabled. If snapshot mode is enabled, VFE 14 captures a single video frame of video input data 30, and immediately returns to DDLE state 64 upon capturing the frame. If snapshot mode is not enabled, VFE 14 remains in CAPTURE state 64 and continuously receives and processes video frames. [0046] More specifically, VFE 14 receives video input data 30, and processes the data to produce video output data 35 into acceptable format for VBE 16 based on commands and configuration parameters 23 received from controller 24. In addition, VFE 14 formats video input data 30 to produce video display data 35 in a form suitable for display by viewfinder 17, and stores video output data 35 within video memory 15 for access by VBE 16 or controller 24.
- VFE 14 While operating in capture mode 66, VFE 14 invokes functional modules 30A - 30F based on the programmable parameters provided by controller 24. For example, as described above, camera driver 30A programmably configures camera interface hardware 22 to start and stop video capture. Frame rate control module 30B processes video input data 30 captured by image sensor 23 and produced by camera interface 22 to a desirable frame rate.
- Image processing module 30C may perform complex image processing operations on video input data 30 based on the parameters provided by controller 24 via the CONFIG command.
- Viewfinder driver 30D processes video input data 30 from video memory 15 lo produce video display data 35 in a form suitable for display by viewfinder 17.
- Image size control module 30E provides functionality to down sample an image size to a desirable image size.
- Color conversion module 30F provides functionality for converting video input data 30 to a different color space, e.g., a different format for representing the color image data, as may be required by VBE 16 or viewfinder 17.
- VFE 14 terminate image capture and returns to DDLE state 64 upon receiving an DDLE command from controller 66.
- FIG. 4 is a flowchart illustrating example operation of digital video device 10.
- controller 24 programmatically configures CODEC 12 via commands 25 via the inter-processor interface of VFE 14 (70). In this manner, controller 24 may be viewed as a master device, and CODEC 12 as a slave device.
- VFE 14 captures and pre-processes video input data 30 in accordance with the commands to produce video output data 35 in a first image format and video display data in a second image format (72). During the process VFE 14 generates the video output data and the video display data in accordance with programmable formats, e.g., programmable frame rates, image sizes, and color spaces. VFE 14 communicates the video output data to VBE 16 for generation of an encoded sequence of video data (74), and communicates the video display data to controller 24 for display on viewfinder 17 (76). In similar fashion, VFE 14 may receive decoded video sequences from VBE 16, and process and display the decoded video sequences in accordance with commands 25 provided by controller 24.
- programmable formats e.g., programmable frame rates, image sizes, and color spaces.
- VFE 14 communicates the video output data to VBE 16 for generation of an encoded sequence of video data (74), and communicates the video display data to controller 24 for display on viewfinder 17 (76).
- VFE 14
- VFE video front end
- VBE video back end
- the VFE encapsulates functionality and pre-processing operations to support a variety of camera or camcorder applications, and presents a flexible inter-processor by which an external master device can easily control these operations.
- This partitioning yields a distributed video system that insulates the VBE from a variety of implementation-specific functions, such as interfacing directly with camera interface hardware, performing color conversion and other image processing functions necessary to drive viewfinder, or other implementation-specific operations. Consequently, the techniques described herein may provide increased flexibility to ease integration of digital video capabilities within new devices. For example, a designer may easily reuse the VFE with any desired back-end software or firmware, or combination thereof, to integrate video data capabilities into new products or devices.
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04707075A EP1588553A1 (en) | 2003-01-30 | 2004-01-30 | Method and system for validating financial instruments |
JP2006503202A JP2006516868A (en) | 2003-01-30 | 2004-01-30 | Modular architecture with reusable front end for processing digital video data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/355,814 US8159548B2 (en) | 2003-01-30 | 2003-01-30 | Modular architecture having reusable front end for processing digital video data |
US10/355,814 | 2003-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2004068849A1 true WO2004068849A1 (en) | 2004-08-12 |
WO2004068849A8 WO2004068849A8 (en) | 2005-10-06 |
Family
ID=32770633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2004/002713 WO2004068849A1 (en) | 2003-01-30 | 2004-01-30 | Modular architecture having reusable front end for processing digital video data |
Country Status (6)
Country | Link |
---|---|
US (2) | US8159548B2 (en) |
EP (1) | EP1588553A1 (en) |
JP (2) | JP2006516868A (en) |
KR (1) | KR20050098287A (en) |
CN (1) | CN100421454C (en) |
WO (1) | WO2004068849A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8009729B2 (en) | 2005-11-30 | 2011-08-30 | Qualcomm Incorporated | Scaler architecture for image and video processing |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8159548B2 (en) | 2003-01-30 | 2012-04-17 | Qualcomm Incorporated | Modular architecture having reusable front end for processing digital video data |
US7577636B2 (en) * | 2003-05-28 | 2009-08-18 | Fernandez Dennis S | Network-extensible reconfigurable media appliance |
KR101022470B1 (en) * | 2004-01-13 | 2011-03-15 | 삼성전자주식회사 | Digital Camera capable of recording and playing visual signal |
US20060002475A1 (en) * | 2004-07-02 | 2006-01-05 | Fuchs Robert J | Caching data for video edge filtering |
US8155703B2 (en) * | 2004-10-01 | 2012-04-10 | Broadcom Corporation | Wireless device having a configurable camera interface to support digital image processing |
JP4944465B2 (en) * | 2006-03-22 | 2012-05-30 | キヤノン株式会社 | Communication system and method |
KR100842573B1 (en) * | 2006-11-21 | 2008-07-01 | 삼성전자주식회사 | Device and method for controlling camera in wireless terminal |
US8139632B2 (en) * | 2007-03-23 | 2012-03-20 | Advanced Micro Devices, Inc. | Video decoder with adaptive outputs |
US8479253B2 (en) * | 2007-12-17 | 2013-07-02 | Ati Technologies Ulc | Method, apparatus and machine-readable medium for video processing capability communication between a video source device and a video sink device |
KR20120067199A (en) * | 2010-12-15 | 2012-06-25 | 한국전자통신연구원 | Apparatus for encoding video and method for contolling thereof |
CN104272750B (en) * | 2012-05-31 | 2018-11-02 | 英特尔公司 | Video post-processing on the platform of the interface without Video post-processing request of the processing from video player |
US9432614B2 (en) * | 2013-03-13 | 2016-08-30 | Qualcomm Incorporated | Integrated downscale in video core |
CN105282600B (en) * | 2014-12-31 | 2021-11-19 | 郭磊 | High-definition low-code-rate digital video compressor |
DE102015120369B3 (en) | 2015-11-25 | 2016-11-03 | Pilz Gmbh & Co. Kg | Step mat for securing a technical system |
BE1024519B1 (en) * | 2016-04-12 | 2018-03-28 | Evs Broadcast Equipment Sa | Modular software-based video production server, video production server operation method, and distributed video production system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0483745A2 (en) * | 1990-10-31 | 1992-05-06 | Hitachi, Ltd. | Digital colour signal processing with clock signal control for a video camera |
JPH08237550A (en) * | 1994-12-16 | 1996-09-13 | Symbios Logic Inc | Total image sensor array for electronic camera |
JPH11215426A (en) * | 1997-11-19 | 1999-08-06 | Ricoh Co Ltd | Automatic focusing system |
EP0975155A2 (en) * | 1998-07-17 | 2000-01-26 | Sony Corporation | Imaging apparatus and recording/reproducing apparatus |
US20020191090A1 (en) * | 1998-05-29 | 2002-12-19 | Mohammad A. Safai | Authentication Stamping in a Digital Camera |
US6657668B1 (en) * | 1997-11-19 | 2003-12-02 | Ricoh Company, Ltd. | Method, system, and computer readable medium for controlling automatic focusing of a digital camera |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01316881A (en) * | 1988-06-17 | 1989-12-21 | Mitsubishi Electric Corp | Image processing device |
JP3103151B2 (en) * | 1990-09-03 | 2000-10-23 | 富士写真フイルム株式会社 | Electronic still camera and operation control method thereof |
JPH06125411A (en) * | 1992-10-09 | 1994-05-06 | Ricoh Co Ltd | Picture processor |
JPH07226911A (en) * | 1994-02-15 | 1995-08-22 | Eastman Kodak Japan Kk | Electronic still camera |
JP3461194B2 (en) * | 1994-02-28 | 2003-10-27 | キヤノン株式会社 | Imaging device and data processing method |
JP3893480B2 (en) * | 1994-09-28 | 2007-03-14 | 株式会社リコー | Digital electronic camera |
TW339418B (en) * | 1995-11-30 | 1998-09-01 | Sanyo Electric Co | Method for controlling a video camera |
US6005613A (en) * | 1996-09-12 | 1999-12-21 | Eastman Kodak Company | Multi-mode digital camera with computer interface using data packets combining image and mode data |
US6535243B1 (en) * | 1998-01-06 | 2003-03-18 | Hewlett- Packard Company | Wireless hand-held digital camera |
US20020176009A1 (en) * | 1998-05-08 | 2002-11-28 | Johnson Sandra Marie | Image processor circuits, systems, and methods |
US6593963B1 (en) * | 1998-05-29 | 2003-07-15 | Agilent Technologies, Inc. | Programmable control of operational signals in a digital camera |
JP2000115688A (en) * | 1998-09-30 | 2000-04-21 | Canon Inc | Digital camera system with printing function, image processing method and recording medium with control program for image processing recorded therein |
JP3033575B1 (en) * | 1999-02-17 | 2000-04-17 | 日本電気株式会社 | Image processing device |
JP2002010277A (en) * | 1999-12-20 | 2002-01-11 | Texas Instr Inc <Ti> | System and method for digital still camera |
JP2002189993A (en) | 2000-12-21 | 2002-07-05 | Olympus Optical Co Ltd | Portable information recording and reproducing device |
JP2002320208A (en) * | 2001-04-20 | 2002-10-31 | Nobuyuki Suzuki | Image-transmitting system |
US7184080B2 (en) * | 2001-06-25 | 2007-02-27 | Texas Instruments Incorporated | Automatic white balancing via illuminant scoring |
US8159548B2 (en) | 2003-01-30 | 2012-04-17 | Qualcomm Incorporated | Modular architecture having reusable front end for processing digital video data |
KR100486736B1 (en) * | 2003-03-31 | 2005-05-03 | 삼성전자주식회사 | Method and apparatus for blind source separation using two sensors |
US7454010B1 (en) | 2004-11-03 | 2008-11-18 | Acoustic Technologies, Inc. | Noise reduction and comfort noise gain control using bark band weiner filter and linear attenuation |
-
2003
- 2003-01-30 US US10/355,814 patent/US8159548B2/en active Active
-
2004
- 2004-01-30 CN CNB2004800056092A patent/CN100421454C/en not_active Expired - Fee Related
- 2004-01-30 KR KR1020057014156A patent/KR20050098287A/en not_active Application Discontinuation
- 2004-01-30 EP EP04707075A patent/EP1588553A1/en not_active Withdrawn
- 2004-01-30 WO PCT/US2004/002713 patent/WO2004068849A1/en active Search and Examination
- 2004-01-30 JP JP2006503202A patent/JP2006516868A/en not_active Withdrawn
-
2010
- 2010-07-30 JP JP2010172419A patent/JP5307086B2/en not_active Expired - Fee Related
-
2012
- 2012-03-08 US US13/415,632 patent/US8804000B2/en not_active Expired - Lifetime
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0483745A2 (en) * | 1990-10-31 | 1992-05-06 | Hitachi, Ltd. | Digital colour signal processing with clock signal control for a video camera |
JPH08237550A (en) * | 1994-12-16 | 1996-09-13 | Symbios Logic Inc | Total image sensor array for electronic camera |
US6509927B1 (en) * | 1994-12-16 | 2003-01-21 | Hyundai Electronics America Inc. | Programmably addressable image sensor |
JPH11215426A (en) * | 1997-11-19 | 1999-08-06 | Ricoh Co Ltd | Automatic focusing system |
US6657668B1 (en) * | 1997-11-19 | 2003-12-02 | Ricoh Company, Ltd. | Method, system, and computer readable medium for controlling automatic focusing of a digital camera |
US20020191090A1 (en) * | 1998-05-29 | 2002-12-19 | Mohammad A. Safai | Authentication Stamping in a Digital Camera |
EP0975155A2 (en) * | 1998-07-17 | 2000-01-26 | Sony Corporation | Imaging apparatus and recording/reproducing apparatus |
Non-Patent Citations (2)
Title |
---|
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 07 31 March 1999 (1999-03-31) * |
PATENT ABSTRACTS OF JAPAN vol. 1999, no. 13 30 November 1999 (1999-11-30) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8009729B2 (en) | 2005-11-30 | 2011-08-30 | Qualcomm Incorporated | Scaler architecture for image and video processing |
Also Published As
Publication number | Publication date |
---|---|
US20040151242A1 (en) | 2004-08-05 |
CN1757226A (en) | 2006-04-05 |
JP5307086B2 (en) | 2013-10-02 |
US8159548B2 (en) | 2012-04-17 |
US8804000B2 (en) | 2014-08-12 |
CN100421454C (en) | 2008-09-24 |
JP2006516868A (en) | 2006-07-06 |
KR20050098287A (en) | 2005-10-11 |
EP1588553A1 (en) | 2005-10-26 |
US20120167156A1 (en) | 2012-06-28 |
JP2011010331A (en) | 2011-01-13 |
WO2004068849A8 (en) | 2005-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8804000B2 (en) | Modular architecture having reusable front end for processing digital video data | |
US10242714B2 (en) | Interface for application-specified playback of panoramic video | |
US5982459A (en) | Integrated multimedia communications processor and codec | |
US6263396B1 (en) | Programmable interrupt controller with interrupt set/reset register and dynamically alterable interrupt mask for a single interrupt processor | |
KR100382015B1 (en) | Moving picture transmitting apparatus and moving picture communicating apparatus | |
US20060244839A1 (en) | Method and system for providing multi-media data from various sources to various client applications | |
CN1981519B (en) | Method and system for displaying a sequence of image frames | |
US20080101455A1 (en) | Apparatus and method for multiple format encoding | |
US20110261061A1 (en) | Method and system for processing image data on a per tile basis in an image sensor pipeline | |
US6446155B1 (en) | Resource bus interface | |
WO2023125657A1 (en) | Image processing method and apparatus, and electronic device | |
CN111741343B (en) | Video processing method and device and electronic equipment | |
Talla et al. | Using DaVinci technology for digital video devices | |
JP2003348447A (en) | Image output apparatus | |
CN112887653B (en) | Information processing method and information processing device | |
US20040119718A1 (en) | Image processing device | |
CN116980554A (en) | Display equipment and video conference interface display method | |
US20030174768A1 (en) | System and method for processing a high definition television (HDTV) image | |
US10362221B1 (en) | Lighting correction for motion detection and temporal filtering | |
JPH08287006A (en) | Portable computer and card to be used for the computer | |
WO2023065077A1 (en) | Remote control method, photographing device, control device, system and storage medium | |
KR101298645B1 (en) | Apparatus to generate broadcasting videos using application graphics | |
CN116127995A (en) | Code scanning method, device, apparatus and computer readable storage medium | |
JP2006222617A (en) | Remote photography system, remote display controller, and remote photographic device | |
US20110234918A1 (en) | Projector and projecting image adjusting method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DPEN | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed from 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2004707075 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020057014156 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006503202 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20048056092 Country of ref document: CN |
|
CFP | Corrected version of a pamphlet front page |
Free format text: UNDER (54) PUBLISHED TITLE REPLACED BY CORRECT TITLE; UNDER (57) PUBLISHED ABSTRACT REPLACED BY CORRECT ABSTRACT |
|
WWP | Wipo information: published in national office |
Ref document number: 1020057014156 Country of ref document: KR |
|
WWP | Wipo information: published in national office |
Ref document number: 2004707075 Country of ref document: EP |
|
DPE2 | Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101) |