US10600145B2 - Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation - Google Patents

Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation Download PDF

Info

Publication number
US10600145B2
US10600145B2 US14/488,621 US201414488621A US10600145B2 US 10600145 B2 US10600145 B2 US 10600145B2 US 201414488621 A US201414488621 A US 201414488621A US 10600145 B2 US10600145 B2 US 10600145B2
Authority
US
United States
Prior art keywords
image data
scaling
lines
scaled
scaled image
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.)
Active, expires
Application number
US14/488,621
Other versions
US20150170330A1 (en
Inventor
Sung-Chul Yoon
Min-Soo Kim
Jae-Sop KONG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Assigned to SAMSUNG ELECTRONICS CO., LTD. reassignment SAMSUNG ELECTRONICS CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KIM, MIN-SOO, KONG, JAE-SOP, YOON, Sung-Chul
Publication of US20150170330A1 publication Critical patent/US20150170330A1/en
Application granted granted Critical
Publication of US10600145B2 publication Critical patent/US10600145B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • G06T3/0006
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/02Affine transformations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/606Rotation of whole images or parts thereof by memory addressing or mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2628Alteration of picture size, shape, position or orientation, e.g. zooming, rotation, rolling, perspective, translation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas

Definitions

  • the inventive concept relates generally to image processors, computing systems comprising image processors, and related methods of operation.
  • An image processor processes image data to be displayed on a display device.
  • the image processor typically performs transformations on the image data, such as rotation, scaling, and/or translation.
  • the image processor may comprise dedicated components or modules, such as a rotator for rotating image data, scaling logic for scaling down the image data in a horizontal or vertical direction, and so on.
  • an image processor typically performs transformations on image data in an “on-the-fly” manner.
  • source image data is read from a system memory, a transformation is performed on the source image data and a result of the transformation is output directly to a display controller.
  • Image processors may perform transformations on image data in a deferred manner rather than in the “on-the-fly” manner, while risking an increase in overall system power consumption.
  • results of transformations performed on source image data are output to a system memory and then transmitted from the system memory to a display controller.
  • the deferred manner can support applications that require high performance, but may increase the power consumption of a system.
  • an image processor comprises first scaling logic that receives image data comprising a first number of lines and generates first scaled image data by scaling down the image data in a first direction, a rotation buffer that has storage capacity for storing a second number of lines less than the first number of lines and stores the first scaled image data in a rotated state, and second scaling logic that generates second scaled image data by scaling down the first scaled image data in a second direction different from the first direction.
  • a computing system comprises a system memory that stores a source image, an image processor that performs a rotation/scaling-down operation on the source image, and a system bus that connects the system memory and the image processor.
  • a method comprises receiving image data comprising a first number of lines, generating first scaled image data by scaling down the image data in a first direction, storing the first scaled image data in a rotation buffer that has storage capacity for storing a second number of lines less than the first number of lines and that stores the first scaled image data in a rotated state, and generating second scaled image data by scaling down the first scaled image data in a second direction different from the first direction.
  • FIG. 1 is a block diagram illustrating a read Direct Memory Access (DMA) device according to an embodiment of the inventive concept.
  • DMA Direct Memory Access
  • FIG. 2 is a diagram illustrating rotation/scaling-down operations performed by the read DMA device illustrated in FIG. 1 .
  • FIG. 3 is a block diagram illustrating a read DMA device according to another embodiment of the inventive concept.
  • FIG. 4 is a graph illustrating the performance of the read DMA device illustrated in FIG. 1 or 3 .
  • FIG. 5 is a block diagram of an image processor according to an embodiment of the inventive concept.
  • FIG. 6 is a block diagram of an image processor according to another embodiment of the inventive concept.
  • FIG. 7 is a block diagram of an image processor according to another embodiment of the inventive concept.
  • FIG. 8 is a block diagram illustrating a computing system comprising an image processor, according to an embodiment of the inventive concept.
  • FIG. 9 is a flowchart illustrating an image processing method according to an embodiment of the inventive concept.
  • a feature is referred to as being, e.g., “on”, “connected to” or “coupled to” another feature, it can be directly on, connected or coupled to the other feature or intervening features may be present. In contrast, where a feature is referred to as being “directly on”, “directly connected to” or “directly coupled to” another feature, there are no intervening features present.
  • the term “and/or” includes any and all combinations of one or more of the associated listed items.
  • FIG. 1 is a block diagram illustrating a read DMA device 100 according to an embodiment of the inventive concept.
  • read DMA device 100 comprises first scaling logic 110 , a rotation buffer 120 , and second scaling logic 130 .
  • Read DMA device 100 reads data of a source image from a system memory by accessing the system memory via a system bus.
  • First scaling logic 110 receives image data of a first number of lines from the system memory.
  • First scaling logic 110 scales down the image data of the first number of lines in a first direction, thereby generating first scaled image data.
  • the first direction may be, for example, a horizontal direction.
  • the first scaled image data comprises a second number of lines, where the first number of lines is N times greater than the second number of lines (N>1).
  • first scaling logic 110 performs first directional scaling-down on the image data of the first number of lines at a scaling ratio of 1/N.
  • Rotation buffer 120 receives the first scaled image data from first scaling logic 110 .
  • Rotation buffer 120 has storage capacity for storing fewer lines than the first number of lines, and it temporarily stores the first scaled image data.
  • rotation buffer 120 comprises a line memory capable of storing up to as many lines as the second number of lines.
  • Rotation buffer 120 stores the first scaled image data in a rotated state.
  • Rotation buffer 120 may use various known methods such as a normal method in which image data is output by linearly scanning the system memory, a mirroring method in which image data is output by scanning the system memory so as to correspond to an image mirrored in a predetermined axis, for example, the X-axis, the Y-axis or the XY-axis, or a rotation method in which image data is output by scanning the system memory so as to correspond to an image rotated by a predetermined angle of, for example, 0°, 90°, 180° or 270°.
  • Second scaling logic 120 receives the first scaled image data from rotation buffer 120 . Second scaling logic 120 scales down the first scaled image data in a second direction to generate second scaled image data. In some embodiments, the second direction is a vertical direction. Second scaling logic 120 performs second directional scaling-down on the first scaled image at a scaling ratio of 1/N. Second scaling logic 120 outputs the seconds scaled image data to outside read DMA device 100 (e.g., to an output buffer).
  • FIG. 2 is a diagram illustrating rotation/scaling-down operations performed by read DMA device 100 . More specifically, FIG. 2 illustrates a source image stored in the system memory, a first scaled image generated by first scaling logic 110 of read DMA device 100 , and a second scaled image generated by second scaling logic 130 of read DMA device 100 .
  • Data of the source image may be arranged in a matrix, and it may be divided into a plurality of lines comprising image data arranged in each column. In the description that follows, it is assumed that each of the plurality of lines includes four units of image data.
  • Read DMA device 100 issues a request for image data of a first line L 1 and image data of a second line L 2 to the system memory.
  • Read DMA device 100 reads the image data of first line L 1 and the image data of second line L 2 by scanning the data of the source image in a column direction. That is, read DMA device 100 may scan the data of the source image in consideration of the state of rotation of the source image.
  • First scaling logic 110 of read DMA device 100 performs horizontal scaling-down on the image data of first line L 1 and the image data of second line L 2 at a scaling ratio of 1/2, thereby obtaining a first scaled image that includes four units of data forming a single line.
  • the first scaled image data may be rearranged in a row direction and stored in rotation buffer 120 of read DMA device 100 .
  • Second scaling logic 120 of read DMA device 100 performs vertical scaling-down on the first scaled image data at a scaling ratio of 1/2, thereby obtaining a second scaled image including two units of image data forming a single line.
  • read DMA device 100 may obtain a rotated, 1/2 horizontally and vertically scaled-down image of the source image.
  • Read DMA device 100 illustrated in FIG. 1 can perform a rotation/scaling-down operation on image data having a number of lines greater than the storage capacity of the line memory. That is, read DMA device 100 can increase burst length without a need to increase the storage capacity of the line memory, and can thus support an “on-the-fly” rotation/scaling-down operation. Also, because read DMA device 100 does not need to increase the storage capacity of the line memory to increase burst length, read DMA device 100 can support a cost-effective rotation/scaling-down operation.
  • Read DMA device 100 is illustrated as using a scaling ratio of 1/2, but the inventive concept is not limited to this ratio.
  • the scaling ratio of read DMA device 100 may vary depending on the burst length supported by the system memory.
  • burst length indicates the size of data that can be read from the system memory at a time.
  • Read DMA device 100 is illustrated in FIG. 2 as scaling down image data by averaging the image data, but the inventive concept is not limited to averaging. Alternatively, read DMA device 100 could use various well-known scaling methods other than that set forth herein.
  • FIG. 3 is a block diagram illustrating a read DMA device according to another embodiment of the inventive concept.
  • the read DMA device of FIG. 3 has some similar features to the read DMA device of FIG. 1 , so the following description will focus on features that are different from those of FIG. 1 .
  • a read DMA device 200 comprises first scaling logic 110 , rotation buffer 120 , second scaling logic 130 , and control logic 140 .
  • Read DMA device 200 similar to the device of FIG. 1 , reads data of a source image from a system memory by accessing the system memory via a system bus.
  • First scaling logic 110 receives image data of a first number of lines from the system memory, and it generates first scaled image data by scaling down the image data of the first number of lines in a first direction.
  • Rotation buffer 120 has storage capacity for storing fewer lines than the first number of lines, and it temporarily stores the first scaled image data in a rotated state.
  • Second scaling logic 130 generates second scaled image data by scaling down the first scaled image data in a second direction, and it outputs the second scaled image data to outside read DMA device 200 .
  • Control logic 140 controls general operations of read DMA device 200 .
  • Control logic 140 typically stores the scaling ratio of first scaling logic 110 or the scaling ratio of second scaling logic 130 .
  • Control logic 140 transmits a control command including the stored scaling ratio to first scaling logic 110 second scaling logic 140 .
  • first scaling logic 110 and second scaling logic 140 perform a scaling-down operation by using the scaling ratio in the control command.
  • Control logic 140 may include a Special Function Register (SFR) for storing the scaling ratio of first scaling logic 110 or second scaling logic 130 .
  • SFR Special Function Register
  • FIG. 4 is a graph illustrating the performance of read DMA device 100 or 200 .
  • the horizontal axis represents latency
  • the vertical axis represents bandwidth.
  • the performance of read DMA device 100 or 200 may be evaluated according to a point P of intersection between a performance curve and a bus parameter line.
  • Bus parameters that may affect the performance of read DMA device 100 or 200 may include, for instance, burst length, bus width, and others. Burst length, among other factors, depends highly on the storage capacity of a line memory due to the properties of an “on-the-fly” rotation/scaling-down operation. As indicated mentioned above, read DMA device 100 or 200 can increase burst length without the need to increase the storage capacity of a line memory, and can thus support applications that require high performance.
  • FIG. 5 is a block diagram illustrating an image processor according to an embodiment of the inventive concept.
  • an image processor 1100 comprises a read DMA block 200 and an output buffer 300 .
  • Read DMA block 200 is connected to a system bus, and it reads data of a source image from a system memory by accessing the system memory via the system bus.
  • Read DMA block 200 has the same structure as read DMA device 200 of FIG. 3 .
  • Output buffer 300 is connected to read DMA block 200 .
  • Output buffer 300 receives second scaled image data from read DMA block 200 .
  • Output buffer 300 comprises various elements such as a flip-flop circuit, a latch circuit, a Static Random Access Memory (SRAM), etc., and it temporarily stores the second scaled image data.
  • Output buffer 300 may output the second scaled image data to outside image processor 1100 (e.g., to a display controller).
  • the second scaled image data is transmitted directly to the display controller without passing through the system memory. That is, image processor 1100 is driven in an “on-the-fly” manner.
  • FIG. 6 is a block diagram illustrating an image processor according to another embodiment of the inventive concept.
  • the image processor of FIG. 6 has many features similar to that of FIG. 5 , so the following description will focus primarily on features that are different from those of FIG. 5 .
  • an image processor 1200 comprises a read DMA block 100 , a third scaling logic 400 , a control logic 500 and an output buffer 300 .
  • Read DMA block 100 is connected to a system bus. Read DMA block 100 reads data of a source image from a system memory by accessing the system memory via the system bus. Read DMA block 100 has the same structure as read DMA device 100 of FIG. 1 .
  • Third scaling logic 400 is connected to read DMA block 100 .
  • Third scaling logic 400 receives second scaled image data from read DMA block 100 .
  • Third scaling logic 400 performs additional scaling on the second scaled image data. More specifically, third scaling logic 400 may perform horizontal/vertical scaling.
  • Third scaling logic 400 scales down the second scaled image data at a scaling ratio of 1/M (M>1). Accordingly, image processor 1200 performs scaling-down at a fractional scaling ratio.
  • Control logic 500 controls general operations of image processor 1200 .
  • Control logic 500 stores the scaling ratio of read DMA block 100 (e.g., the scaling ratio of first scaling logic 110 or the scaling ratio of second scaling logic 130 ) or the scaling ratio of third scaling logic 400 .
  • Control logic 500 transmits a control command including the stored scaling ratio to read DMA block 100 and third scaling logic 400 .
  • read DMA block 100 and third scaling logic 400 perform a scaling-down operation using the scaling ratio in the control command.
  • Control logic 500 comprises an SFR for storing the scaling ratio of read DMA block 100 or third scaling logic 400 .
  • Output buffer 300 is connected to third scaling logic 400 .
  • Output buffer 300 receives third scaled image data from third scaling logic 400 .
  • Output buffer 300 temporarily stores the third scaled image data, and it outputs the third scaled image data to outside image processor 1200 .
  • FIG. 7 is a block diagram illustrating an image processor according to another embodiment of the inventive concept.
  • the image processor of FIG. 7 has many features similar to that of FIG. 6 , so the following description will focus primarily on features that are different from those of FIG. 6 .
  • an image processor 1300 comprises a read DMA block 100 , a third scaling logic 400 , a control logic 500 , an output buffer 300 and a write DMA block 600 .
  • Read DMA block 100 is connected to a system bus, and it reads data of a source image from a system memory by accessing the system memory via the system bus.
  • Read DMA block 100 has the same structure as read DMA device 100 of FIG. 1 .
  • Third scaling logic 400 receives second scaled image data from read DMA block 100 , and it performs additional scaling on the second scaled image data at a scaling ratio of 1/M (M>1).
  • Control logic 500 controls operations of image processor 1300 , stores the scaling ratio of read DMA block 100 or the scaling ratio of third scaling logic 400 , and transmits a control command including the stored scaling ratio to read DMA block 100 and third scaling logic 400 .
  • Output buffer 300 receives third scaled image data from third scaling logic 400 , temporarily stores the third scaled image data, and outputs the third scaled image data to outside image processor 1300 .
  • Write DMA block 600 is connected to third scaling logic 400 .
  • Write DMA block 600 receives the third scaled image data from third scaling logic 400 .
  • Write DMA block 600 outputs the third scaled image data to outside image processor 1300 (e.g., to the system memory).
  • image processor 1100 of FIG. 5 is modified to further include write DMA block 600 .
  • write DMA block 600 is also connected to read DMA block 200 , receives the second scaled image data, and outputs the second scaled image data to outside image processor 1300 .
  • Image processors 1100 and 1300 of FIGS. 5 and 7 may selective use an “on-the-fly” manner or a deferred manner.
  • FIG. 8 is a block diagram illustrating a computing system comprising an image processor, according to an embodiment of the inventive concept.
  • a computing system 1000 comprises a core processor 1200 , a system memory 1300 , a display controller 1400 , an image processor 1100 , an interface device 1500 and a peripheral device 1600 .
  • System bus 1700 is a path via which data is transmitted.
  • Core processor 1200 may include a single core or a plurality of cores, and may process data by using the core(s).
  • core processor 1200 comprises a multi-core processor such as a dual-core processor, a quad-core processor, or a hexa-core processor.
  • Core processor 1200 may also include a cache memory (not illustrated) disposed in or outside core processor 1200 .
  • System memory 1300 stores commands and/or data.
  • System memory 1300 serves as a main memory of computing system 1000 .
  • system memory 1300 comprises a Low Power Double Data Rate (LPDDR) Dynamic Random Access Memory (DRAM).
  • LPDDR Low Power Double Data Rate
  • DRAM Dynamic Random Access Memory
  • System memory 1300 may store a source image on which a rotation/scaling-down operation is to be performed.
  • Display controller 1400 controls a display device (not illustrated) to display images.
  • Image processor 1100 performs a rotation/scaling-down operation on the source image.
  • Computing system 1000 is illustrated in FIG. 8 as including the same image processor as that illustrated in FIG. 5 .
  • computing system 1000 may include image processor 1200 or 1300 of FIG. 6 or 7 .
  • Image processor 1100 , 1200 , or 1300 performs a rotation/scaling-down operation on the source image, and it outputs a result of the rotation/scaling-down operation to system memory 1300 or directly to display controller 1400 .
  • Interface device 1500 transmits data to or receives data from a communication network (not illustrated).
  • interface device 1500 comprises an antenna (not illustrated) or a wired or wireless transceiver (not illustrated).
  • Peripheral device 1600 may comprise, e.g., a serial communication device, a memory management device, an audio processing device, etc.
  • the computing system may also include a nonvolatile memory device such as a One Time Programmable Read Only Memory (OTPROM), an Electrically Erasable Programmable Read Only Memory (EEPROM), a flash memory, etc.
  • OTPROM One Time Programmable Read Only Memory
  • EEPROM Electrically Erasable Programmable Read Only Memory
  • flash memory etc.
  • Computing system 1000 may be provided as an element of an arbitrary mobile system, such as a mobile phone, a smart phone, a Personal Digital Assistant (PDA), a tablet, etc., in the form of, for example, a System-On-Chip (SOC).
  • a mobile phone such as a mobile phone, a smart phone, a Personal Digital Assistant (PDA), a tablet, etc.
  • PDA Personal Digital Assistant
  • PDA Personal Digital Assistant
  • tablet a tablet
  • SOC System-On-Chip
  • FIG. 9 is a flowchart illustrating an image processing method according to an embodiment of the inventive concept.
  • First scaled image data is generated by scaling down the data of the first number of lines of the source image data in a first direction at a scaling ratio of 1/N (N>1) (S 720 ).
  • the first direction may be a horizontal direction.
  • the first scaled image data includes a second number of lines, and the first number of lines is N times greater than the second number of lines.
  • the first scaled image data is temporarily stored in a rotation buffer having storage capacity for storing up to as many lines as the second number of lines (S 730 ).
  • the first scaled image data may be stored in a rotated state.
  • the rotation buffer may include a line memory having storage capacity for storing up to as many lines as the second number of lines.
  • Second scaled image data is generated by scaling down the first scaled image data in a second direction at a scaling ratio of 1/N (S 740 ).
  • the second direction may be a vertical direction.
  • the second scaled image data may be additionally scaled down at a scaling ratio of 1/M (M>1) (S 750 ).
  • the result of rotation/scaling-down performed on the source image is output to a system memory or a display controller (S 760 ).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

An image processor comprises first scaling logic that receives image data comprising a first number of lines and generates first scaled image data by scaling down the image data in a first direction, a rotation buffer that has storage capacity for storing a second number of lines less than the first number of lines and stores the first scaled image data in a rotated state, and second scaling logic that generates second scaled image data by scaling down the first scaled image data in a second direction different from the first direction.

Description

CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2013-0155256 filed on Dec. 13, 2013, the subject matter of which is hereby incorporated by reference in its entirety.
BACKGROUND OF THE INVENTION
The inventive concept relates generally to image processors, computing systems comprising image processors, and related methods of operation.
An image processor processes image data to be displayed on a display device. The image processor typically performs transformations on the image data, such as rotation, scaling, and/or translation. To perform these transformations, the image processor may comprise dedicated components or modules, such as a rotator for rotating image data, scaling logic for scaling down the image data in a horizontal or vertical direction, and so on.
To reduce power consumption, an image processor typically performs transformations on image data in an “on-the-fly” manner. In the “on-the-fly” manner, source image data is read from a system memory, a transformation is performed on the source image data and a result of the transformation is output directly to a display controller.
Although the “on-the-fly” manner can reduce power consumption, it also suffers from various shortcomings. For example, it is difficult for some image processors to support “on-the-fly” transformations because increases in the storage capacity of system memories and the bandwidths of system buses generally cannot keep up with increases in the resolution of displays and short burst lengths, which are inherent in certain “on-the-fly” transformations using line memories. To continue to support “on-the-fly” transformations with short burst lengths, image processors may need to include a considerable number of line memories, and may have scaling ratio limitations.
Image processors may perform transformations on image data in a deferred manner rather than in the “on-the-fly” manner, while risking an increase in overall system power consumption. In the deferred manner, results of transformations performed on source image data are output to a system memory and then transmitted from the system memory to a display controller. The deferred manner can support applications that require high performance, but may increase the power consumption of a system.
SUMMARY OF THE INVENTION
In one embodiment of the inventive concept, an image processor comprises first scaling logic that receives image data comprising a first number of lines and generates first scaled image data by scaling down the image data in a first direction, a rotation buffer that has storage capacity for storing a second number of lines less than the first number of lines and stores the first scaled image data in a rotated state, and second scaling logic that generates second scaled image data by scaling down the first scaled image data in a second direction different from the first direction.
In another embodiment of the inventive concept, a computing system comprises a system memory that stores a source image, an image processor that performs a rotation/scaling-down operation on the source image, and a system bus that connects the system memory and the image processor.
In another embodiment of the inventive concept, a method comprises receiving image data comprising a first number of lines, generating first scaled image data by scaling down the image data in a first direction, storing the first scaled image data in a rotation buffer that has storage capacity for storing a second number of lines less than the first number of lines and that stores the first scaled image data in a rotated state, and generating second scaled image data by scaling down the first scaled image data in a second direction different from the first direction.
These and other embodiments of the inventive concept may allow an image processor to support both applications that require high performance and applications that require low power consumption.
BRIEF DESCRIPTION OF THE DRAWINGS
The drawings illustrate selected embodiments of the inventive concept. In the drawings, like reference numbers indicate like features.
FIG. 1 is a block diagram illustrating a read Direct Memory Access (DMA) device according to an embodiment of the inventive concept.
FIG. 2 is a diagram illustrating rotation/scaling-down operations performed by the read DMA device illustrated in FIG. 1.
FIG. 3 is a block diagram illustrating a read DMA device according to another embodiment of the inventive concept.
FIG. 4 is a graph illustrating the performance of the read DMA device illustrated in FIG. 1 or 3.
FIG. 5 is a block diagram of an image processor according to an embodiment of the inventive concept.
FIG. 6 is a block diagram of an image processor according to another embodiment of the inventive concept.
FIG. 7 is a block diagram of an image processor according to another embodiment of the inventive concept.
FIG. 8 is a block diagram illustrating a computing system comprising an image processor, according to an embodiment of the inventive concept.
FIG. 9 is a flowchart illustrating an image processing method according to an embodiment of the inventive concept.
DETAILED DESCRIPTION
Embodiments of the inventive concept are described below with reference to the accompanying drawings. These embodiments are provided as teaching examples and should not be construed to limit the scope of the inventive concept.
The terminology used herein is for the purpose of describing embodiments only and is not intended to be limiting of the inventive concept. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Terms such as “comprises”, “comprising,” “includes”, “including”, etc., where used herein, specify the presence of stated features but do not preclude the presence or addition of one or more other features.
Where a feature is referred to as being, e.g., “on”, “connected to” or “coupled to” another feature, it can be directly on, connected or coupled to the other feature or intervening features may be present. In contrast, where a feature is referred to as being “directly on”, “directly connected to” or “directly coupled to” another feature, there are no intervening features present. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
Although the terms first, second, etc. are used herein to describe various features, the described features should not be limited by these terms. Rather, these terms are used merely to distinguish one feature from another. Thus, a first feature could be termed a second feature, and vice versa, without departing from the present teachings.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and this specification and should not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
FIG. 1 is a block diagram illustrating a read DMA device 100 according to an embodiment of the inventive concept.
Referring to FIG. 1, read DMA device 100 comprises first scaling logic 110, a rotation buffer 120, and second scaling logic 130.
Read DMA device 100 reads data of a source image from a system memory by accessing the system memory via a system bus. First scaling logic 110 receives image data of a first number of lines from the system memory. First scaling logic 110 scales down the image data of the first number of lines in a first direction, thereby generating first scaled image data. The first direction may be, for example, a horizontal direction.
The first scaled image data comprises a second number of lines, where the first number of lines is N times greater than the second number of lines (N>1). In other words, first scaling logic 110 performs first directional scaling-down on the image data of the first number of lines at a scaling ratio of 1/N.
Rotation buffer 120 receives the first scaled image data from first scaling logic 110. Rotation buffer 120 has storage capacity for storing fewer lines than the first number of lines, and it temporarily stores the first scaled image data. In some embodiments, rotation buffer 120 comprises a line memory capable of storing up to as many lines as the second number of lines.
Rotation buffer 120 stores the first scaled image data in a rotated state. Rotation buffer 120 may use various known methods such as a normal method in which image data is output by linearly scanning the system memory, a mirroring method in which image data is output by scanning the system memory so as to correspond to an image mirrored in a predetermined axis, for example, the X-axis, the Y-axis or the XY-axis, or a rotation method in which image data is output by scanning the system memory so as to correspond to an image rotated by a predetermined angle of, for example, 0°, 90°, 180° or 270°.
Second scaling logic 120 receives the first scaled image data from rotation buffer 120. Second scaling logic 120 scales down the first scaled image data in a second direction to generate second scaled image data. In some embodiments, the second direction is a vertical direction. Second scaling logic 120 performs second directional scaling-down on the first scaled image at a scaling ratio of 1/N. Second scaling logic 120 outputs the seconds scaled image data to outside read DMA device 100 (e.g., to an output buffer).
FIG. 2 is a diagram illustrating rotation/scaling-down operations performed by read DMA device 100. More specifically, FIG. 2 illustrates a source image stored in the system memory, a first scaled image generated by first scaling logic 110 of read DMA device 100, and a second scaled image generated by second scaling logic 130 of read DMA device 100.
Data of the source image may be arranged in a matrix, and it may be divided into a plurality of lines comprising image data arranged in each column. In the description that follows, it is assumed that each of the plurality of lines includes four units of image data.
Read DMA device 100 issues a request for image data of a first line L1 and image data of a second line L2 to the system memory. Read DMA device 100 reads the image data of first line L1 and the image data of second line L2 by scanning the data of the source image in a column direction. That is, read DMA device 100 may scan the data of the source image in consideration of the state of rotation of the source image.
First scaling logic 110 of read DMA device 100 performs horizontal scaling-down on the image data of first line L1 and the image data of second line L2 at a scaling ratio of 1/2, thereby obtaining a first scaled image that includes four units of data forming a single line. The first scaled image data may be rearranged in a row direction and stored in rotation buffer 120 of read DMA device 100.
Second scaling logic 120 of read DMA device 100 performs vertical scaling-down on the first scaled image data at a scaling ratio of 1/2, thereby obtaining a second scaled image including two units of image data forming a single line.
By performing the above described rotation/scaling-down operation on all the lines of the source image, read DMA device 100 may obtain a rotated, 1/2 horizontally and vertically scaled-down image of the source image.
Read DMA device 100 illustrated in FIG. 1 can perform a rotation/scaling-down operation on image data having a number of lines greater than the storage capacity of the line memory. That is, read DMA device 100 can increase burst length without a need to increase the storage capacity of the line memory, and can thus support an “on-the-fly” rotation/scaling-down operation. Also, because read DMA device 100 does not need to increase the storage capacity of the line memory to increase burst length, read DMA device 100 can support a cost-effective rotation/scaling-down operation.
Read DMA device 100 is illustrated as using a scaling ratio of 1/2, but the inventive concept is not limited to this ratio. For example, the scaling ratio of read DMA device 100 may vary depending on the burst length supported by the system memory. The term “burst length”, as used herein, indicates the size of data that can be read from the system memory at a time.
Read DMA device 100 is illustrated in FIG. 2 as scaling down image data by averaging the image data, but the inventive concept is not limited to averaging. Alternatively, read DMA device 100 could use various well-known scaling methods other than that set forth herein.
FIG. 3 is a block diagram illustrating a read DMA device according to another embodiment of the inventive concept. The read DMA device of FIG. 3 has some similar features to the read DMA device of FIG. 1, so the following description will focus on features that are different from those of FIG. 1.
Referring to FIG. 3, a read DMA device 200 comprises first scaling logic 110, rotation buffer 120, second scaling logic 130, and control logic 140.
Read DMA device 200, similar to the device of FIG. 1, reads data of a source image from a system memory by accessing the system memory via a system bus. First scaling logic 110, receives image data of a first number of lines from the system memory, and it generates first scaled image data by scaling down the image data of the first number of lines in a first direction. Rotation buffer 120 has storage capacity for storing fewer lines than the first number of lines, and it temporarily stores the first scaled image data in a rotated state.
Second scaling logic 130 generates second scaled image data by scaling down the first scaled image data in a second direction, and it outputs the second scaled image data to outside read DMA device 200.
Control logic 140 controls general operations of read DMA device 200. Control logic 140 typically stores the scaling ratio of first scaling logic 110 or the scaling ratio of second scaling logic 130. Control logic 140 transmits a control command including the stored scaling ratio to first scaling logic 110 second scaling logic 140. In response to the receipt of the control command, first scaling logic 110 and second scaling logic 140 perform a scaling-down operation by using the scaling ratio in the control command. Control logic 140 may include a Special Function Register (SFR) for storing the scaling ratio of first scaling logic 110 or second scaling logic 130.
FIG. 4 is a graph illustrating the performance of read DMA device 100 or 200. In FIG. 4, the horizontal axis represents latency, and the vertical axis represents bandwidth.
Referring to FIG. 4, the performance of read DMA device 100 or 200 may be evaluated according to a point P of intersection between a performance curve and a bus parameter line.
Bus parameters that may affect the performance of read DMA device 100 or 200 may include, for instance, burst length, bus width, and others. Burst length, among other factors, depends highly on the storage capacity of a line memory due to the properties of an “on-the-fly” rotation/scaling-down operation. As indicated mentioned above, read DMA device 100 or 200 can increase burst length without the need to increase the storage capacity of a line memory, and can thus support applications that require high performance.
FIG. 5 is a block diagram illustrating an image processor according to an embodiment of the inventive concept.
Referring to FIG. 5, an image processor 1100 comprises a read DMA block 200 and an output buffer 300. Read DMA block 200 is connected to a system bus, and it reads data of a source image from a system memory by accessing the system memory via the system bus. Read DMA block 200 has the same structure as read DMA device 200 of FIG. 3.
Output buffer 300 is connected to read DMA block 200. Output buffer 300 receives second scaled image data from read DMA block 200. Output buffer 300 comprises various elements such as a flip-flop circuit, a latch circuit, a Static Random Access Memory (SRAM), etc., and it temporarily stores the second scaled image data. Output buffer 300 may output the second scaled image data to outside image processor 1100 (e.g., to a display controller).
The second scaled image data is transmitted directly to the display controller without passing through the system memory. That is, image processor 1100 is driven in an “on-the-fly” manner.
FIG. 6 is a block diagram illustrating an image processor according to another embodiment of the inventive concept. The image processor of FIG. 6 has many features similar to that of FIG. 5, so the following description will focus primarily on features that are different from those of FIG. 5.
Referring to FIG. 6, an image processor 1200 comprises a read DMA block 100, a third scaling logic 400, a control logic 500 and an output buffer 300.
Read DMA block 100 is connected to a system bus. Read DMA block 100 reads data of a source image from a system memory by accessing the system memory via the system bus. Read DMA block 100 has the same structure as read DMA device 100 of FIG. 1.
Third scaling logic 400 is connected to read DMA block 100. Third scaling logic 400 receives second scaled image data from read DMA block 100. Third scaling logic 400 performs additional scaling on the second scaled image data. More specifically, third scaling logic 400 may perform horizontal/vertical scaling. Third scaling logic 400 scales down the second scaled image data at a scaling ratio of 1/M (M>1). Accordingly, image processor 1200 performs scaling-down at a fractional scaling ratio.
Control logic 500 controls general operations of image processor 1200. Control logic 500 stores the scaling ratio of read DMA block 100 (e.g., the scaling ratio of first scaling logic 110 or the scaling ratio of second scaling logic 130) or the scaling ratio of third scaling logic 400. Control logic 500 transmits a control command including the stored scaling ratio to read DMA block 100 and third scaling logic 400. In response to the receipt of the control command, read DMA block 100 and third scaling logic 400 perform a scaling-down operation using the scaling ratio in the control command. Control logic 500 comprises an SFR for storing the scaling ratio of read DMA block 100 or third scaling logic 400.
Output buffer 300 is connected to third scaling logic 400. Output buffer 300 receives third scaled image data from third scaling logic 400. Output buffer 300 temporarily stores the third scaled image data, and it outputs the third scaled image data to outside image processor 1200.
FIG. 7 is a block diagram illustrating an image processor according to another embodiment of the inventive concept. The image processor of FIG. 7 has many features similar to that of FIG. 6, so the following description will focus primarily on features that are different from those of FIG. 6.
Referring to FIG. 7, an image processor 1300 comprises a read DMA block 100, a third scaling logic 400, a control logic 500, an output buffer 300 and a write DMA block 600.
Read DMA block 100 is connected to a system bus, and it reads data of a source image from a system memory by accessing the system memory via the system bus. Read DMA block 100 has the same structure as read DMA device 100 of FIG. 1.
Third scaling logic 400 receives second scaled image data from read DMA block 100, and it performs additional scaling on the second scaled image data at a scaling ratio of 1/M (M>1). Control logic 500 controls operations of image processor 1300, stores the scaling ratio of read DMA block 100 or the scaling ratio of third scaling logic 400, and transmits a control command including the stored scaling ratio to read DMA block 100 and third scaling logic 400.
Output buffer 300 receives third scaled image data from third scaling logic 400, temporarily stores the third scaled image data, and outputs the third scaled image data to outside image processor 1300.
Write DMA block 600 is connected to third scaling logic 400. Write DMA block 600 receives the third scaled image data from third scaling logic 400. Write DMA block 600 outputs the third scaled image data to outside image processor 1300 (e.g., to the system memory).
In some embodiments, image processor 1100 of FIG. 5 is modified to further include write DMA block 600. In some embodiments, write DMA block 600 is also connected to read DMA block 200, receives the second scaled image data, and outputs the second scaled image data to outside image processor 1300.
Image processors 1100 and 1300 of FIGS. 5 and 7 may selective use an “on-the-fly” manner or a deferred manner.
FIG. 8 is a block diagram illustrating a computing system comprising an image processor, according to an embodiment of the inventive concept.
Referring to FIG. 8, a computing system 1000 comprises a core processor 1200, a system memory 1300, a display controller 1400, an image processor 1100, an interface device 1500 and a peripheral device 1600.
Core processor 1200, system memory 1300, display controller 1400, image processor 1100, interface device 1500, and peripheral device 1600 are connected to one another via a system bus 1700. System bus 1700 is a path via which data is transmitted.
Core processor 1200 may include a single core or a plurality of cores, and may process data by using the core(s). In some embodiments, core processor 1200 comprises a multi-core processor such as a dual-core processor, a quad-core processor, or a hexa-core processor. Core processor 1200 may also include a cache memory (not illustrated) disposed in or outside core processor 1200.
System memory 1300 stores commands and/or data. System memory 1300 serves as a main memory of computing system 1000. In some embodiments, system memory 1300 comprises a Low Power Double Data Rate (LPDDR) Dynamic Random Access Memory (DRAM). System memory 1300 may store a source image on which a rotation/scaling-down operation is to be performed.
Display controller 1400 controls a display device (not illustrated) to display images.
Image processor 1100 performs a rotation/scaling-down operation on the source image. Computing system 1000 is illustrated in FIG. 8 as including the same image processor as that illustrated in FIG. 5. Alternatively, computing system 1000 may include image processor 1200 or 1300 of FIG. 6 or 7. Image processor 1100, 1200, or 1300 performs a rotation/scaling-down operation on the source image, and it outputs a result of the rotation/scaling-down operation to system memory 1300 or directly to display controller 1400.
Interface device 1500 transmits data to or receives data from a communication network (not illustrated). In some embodiments, interface device 1500 comprises an antenna (not illustrated) or a wired or wireless transceiver (not illustrated).
Peripheral device 1600 may comprise, e.g., a serial communication device, a memory management device, an audio processing device, etc.
Although not specifically illustrated in FIG. 8, the computing system may also include a nonvolatile memory device such as a One Time Programmable Read Only Memory (OTPROM), an Electrically Erasable Programmable Read Only Memory (EEPROM), a flash memory, etc.
Computing system 1000 may be provided as an element of an arbitrary mobile system, such as a mobile phone, a smart phone, a Personal Digital Assistant (PDA), a tablet, etc., in the form of, for example, a System-On-Chip (SOC).
FIG. 9 is a flowchart illustrating an image processing method according to an embodiment of the inventive concept.
Referring to FIG. 9, data of a first number of lines of a source image is received from a system memory (S710). First scaled image data is generated by scaling down the data of the first number of lines of the source image data in a first direction at a scaling ratio of 1/N (N>1) (S720). As indicated above, the first direction may be a horizontal direction. The first scaled image data includes a second number of lines, and the first number of lines is N times greater than the second number of lines.
The first scaled image data is temporarily stored in a rotation buffer having storage capacity for storing up to as many lines as the second number of lines (S730). The first scaled image data may be stored in a rotated state. The rotation buffer may include a line memory having storage capacity for storing up to as many lines as the second number of lines.
Second scaled image data is generated by scaling down the first scaled image data in a second direction at a scaling ratio of 1/N (S740). As already mentioned above, the second direction may be a vertical direction.
The second scaled image data may be additionally scaled down at a scaling ratio of 1/M (M>1) (S750). The result of rotation/scaling-down performed on the source image is output to a system memory or a display controller (S760).
The foregoing is illustrative of embodiments and is not to be construed as limiting thereof. Although a few embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible in the embodiments without materially departing from the scope of the inventive concept. Accordingly, all such modifications are intended to be included within the scope of the inventive concept as defined in the claims.

Claims (20)

What is claimed is:
1. An image processor comprising:
first scaling logic that:
receives, from a system memory, image data comprising a first number of lines in a first direction, each of the first number of lines having a number of image data units in a second direction different from the first direction, and
generates first scaled image data, having a second number of lines in the first direction that is less than the first number of lines, each of the second number of lines having the number of image data units in the second direction, wherein the first scaled image data is generated by scaling down the image data in the first direction by averaging the image data and by not scaling down the image data in the second direction;
a rotation buffer that has storage capacity for storing the second number of lines and stores the first scaled image data in a rotated state; and
second scaling logic that generates second scaled image data by scaling down the first scaled image data by averaging the first scaled image data, which is stored in the rotation buffer, in the second direction, wherein
a ratio for scaling down the image data in the first direction varies depending on a burst length supported by the system memory, wherein the burst length indicates a size of data that can be read from the system memory at a time.
2. The image processor of claim 1, wherein the first number of lines is N times greater than the second number of lines (N>1) and the first scaling logic generates the first scaled image data by scaling down the image data of the first number of lines in the first direction with a scaling ratio of 1/N.
3. The image processor of claim 2, wherein the second scaling logic generates the second scaled image data by scaling down the first scaled image data in the second direction with the scaling ratio of 1/N.
4. The image processor of claim 1, wherein the first direction is a horizontal direction and the second direction is a vertical direction.
5. The image processor of claim 1, wherein the rotation buffer comprises a line memory having storage capacity for storing a maximum of the second number of lines.
6. The image processor of claim 1, further comprising third scaling logic that receives the second scaled image data from the second scaling logic and performs additional scaling on the second scaled image data.
7. The image processor of claim 1, further comprising a register that stores the ratio for scaling down the image data in the first direction or a ratio for scaling down the image data in the second direction.
8. The image processor of claim 1, further comprising a write Direct Memory Access (DMA) block that receives the second scaled image data from the second scaling logic and outputs the second scaled image data to the system memory.
9. The image processor of claim 1, further comprising an output buffer that receives the second scaled image data from the second scaling logic and outputs the second scaled image data to a display controller.
10. The image processor of claim 9, wherein the second scaled image data is transmitted directly to the display controller without passing through the system memory.
11. The image processor of claim 1, wherein the rotation buffer is different from the system memory.
12. A computing system comprising:
a system memory that stores a source image;
an image processor that performs a rotation/scaling-down operation on the source image; and
a system bus that connects the system memory and the image processor,
wherein the image processor comprises:
first scaling logic that:
receives image data of a first number of lines in a first direction, each of the first number of lines having a number of image data units in a second direction different from the first direction, and
generates first scaled image data, having a second number of lines in the first direction that is less than the first number of lines, each of the second number of lines having the number of image data units in the second direction, wherein the first scaled image data is generated by scaling down the image data by averaging the image data in the first direction and by not scaling down the image data in the second direction;
a rotation buffer that has storage capacity for storing the second number of lines and that stores the first scaled image data in a rotated state; and
second scaling logic that generates second scaled image data by scaling down the first scaled image data by averaging the first scaled image data, which is stored in the rotation buffer, in the second direction, wherein
a ratio for scaling down the image data in the first direction varies depending on a burst length supported by the system memory, wherein the burst length indicates a size of data that can be read from the system memory at a time.
13. The computing system of claim 12, wherein the first number of lines is N times greater than the second number of lines (N>1), and the first scaling logic generates the first scaled image data by scaling down the image data of the first number of lines in the first direction with a scaling ratio of 1/N.
14. The computing system of claim 13, wherein the second scaling logic generates the second scaled image data by scaling down the first scaled image data in the second direction with the scaling ratio of 1/N.
15. The computing system of claim 12, further comprising:
a display controller that controls a display device,
wherein the second scaled image data is transmitted directly to the display controller without passing through the system memory.
16. The computing system of claim 12, wherein the rotation buffer is different from the system memory.
17. A method comprising:
receiving, from a system memory, image data comprising a first number of lines in a first direction, each of the first number of lines having a number of image data units in a second direction different from the first direction;
generating first scaled image data, having a second number of lines that is less than the first number of lines, each of the second number of lines having the number of image data units in the second direction, wherein the first scaled image data is generated by scaling down the image data in the first direction and by not scaling down the image data in the second direction;
storing the first scaled image data in a rotation buffer that has storage capacity for storing the second number of lines and that stores the first scaled image data in a rotated state;
generating second scaled image data by scaling down the first scaled image data, which is stored in the rotation buffer, in the second direction; and
generating third scaled image data, having a third number of lines that is less than the second number of lines, by scaling down the second scaled image data, wherein
a ratio for scaling down the image data in the first direction varies depending on a burst length supported by the system memory, wherein the burst length indicates a size of data that can be read from the system memory at a time.
18. The method of claim 17, wherein the first number of lines is N times greater than the second number of lines (N>1), and the first scaled image data is generated by scaling down the image data of the first number of lines in the first direction with a scaling ratio of 1/N.
19. The method of claim 18, wherein the second scaled image data is generated by scaling down the first scaled image data in the second direction with the scaling ratio of 1/N.
20. The method of claim 19, wherein the first direction is a horizontal direction and the second direction is a vertical direction.
US14/488,621 2013-12-13 2014-09-17 Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation Active 2034-11-02 US10600145B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0155256 2013-12-13
KR1020130155256A KR102114233B1 (en) 2013-12-13 2013-12-13 Image processor

Publications (2)

Publication Number Publication Date
US20150170330A1 US20150170330A1 (en) 2015-06-18
US10600145B2 true US10600145B2 (en) 2020-03-24

Family

ID=53369080

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/488,621 Active 2034-11-02 US10600145B2 (en) 2013-12-13 2014-09-17 Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation

Country Status (2)

Country Link
US (1) US10600145B2 (en)
KR (1) KR102114233B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558536B2 (en) * 2015-04-01 2017-01-31 Apple Inc. Blur downscale
US20180350026A1 (en) * 2017-05-30 2018-12-06 Qualcomm Incorporated Memory footprint and power efficient multi-pass image processing architecture
CN112862673B (en) * 2019-11-12 2024-06-14 上海途擎微电子有限公司 Adaptive image scaling method, adaptive image scaling device, and storage device
CN112822545A (en) * 2019-11-15 2021-05-18 西安诺瓦星云科技股份有限公司 Image display method, device and system and video controller

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020115A (en) 1989-07-10 1991-05-28 Imnet Corporation Methods and apparatus for dynamically scaling images
US5854641A (en) * 1996-09-27 1998-12-29 Apple Computer, Inc. Method and apparatus for display image rotation
US5867608A (en) 1995-11-07 1999-02-02 Sun Microsystems, Inc. Method and apparatus for scaling images
US20020159656A1 (en) * 2001-04-26 2002-10-31 Hiroyuki Matsuki Image processing apparatus, image processing method and portable imaging apparatus
US6580435B1 (en) * 2000-06-28 2003-06-17 Intel Corporation Overlay early scan line watermark access mechanism
US6801674B1 (en) * 2001-08-30 2004-10-05 Xilinx, Inc. Real-time image resizing and rotation with line buffers
US20050174457A1 (en) * 2004-02-06 2005-08-11 Canon Kabushiki Kaisha Image sensing apparatus and its control method
US20050286762A1 (en) * 2004-06-29 2005-12-29 Hyun-Sang Park Method and multimedia processor for processing a rotated image
US20060181550A1 (en) * 2005-02-17 2006-08-17 Canon Kabushiki Kaisha Image processing apparatus and method
US20060284876A1 (en) * 2005-06-15 2006-12-21 Low Yun S Method and apparatus for programming an input/output device over a serial bus
JP2007067917A (en) 2005-08-31 2007-03-15 Matsushita Electric Ind Co Ltd Image data processing device
KR20080072217A (en) 2007-02-01 2008-08-06 삼성전자주식회사 Image processing device
US20080226180A1 (en) * 2007-03-15 2008-09-18 Via Technologies, Inc. Method and apparatus for buffering output pixel data of a joint photographic experts group image
KR20080095672A (en) 2007-04-25 2008-10-29 삼성전자주식회사 Image processing apparatus and image rotating method having image rotating function
US20090015717A1 (en) * 2007-07-09 2009-01-15 Arnao Michael A Image resizer and resizing method
JP2009198639A (en) 2008-02-20 2009-09-03 Seiko Epson Corp Image display apparatus and scroll control method and scroll control program for image display apparatus, electronic equipment having image display apparatus
US20100156917A1 (en) * 2008-12-22 2010-06-24 Electronics And Telecommunications Research Institute Image processing apparatus and method for managing frame memory in image processing
JP2010218263A (en) 2009-03-17 2010-09-30 Ricoh Co Ltd Image processing apparatus and method
US7839424B1 (en) 2006-07-13 2010-11-23 Marvell International Ltd. Horizontal strip column-first two-dimensional scaling
US20110102465A1 (en) 2009-11-03 2011-05-05 Sung Jin Cho Image processor, electronic device including the same, and image processing method
US20110148888A1 (en) * 2009-12-23 2011-06-23 Jacobs Robert A Method and apparatus for controlling multiple display panels from a single graphics output
US20110298982A1 (en) * 2010-06-08 2011-12-08 Stmicroelectronics, Inc. De-rotation adaptor and method for enabling interface of handheld multi-media device with external display
US20130222413A1 (en) * 2012-02-24 2013-08-29 Brijesh Tripathi Buffer-free chroma downsampling
US20130223764A1 (en) * 2012-02-24 2013-08-29 Brijesh Tripathi Parallel scaler processing
US20140063069A1 (en) * 2012-09-04 2014-03-06 Vijay G. Prabakaran Frame Timing Synchronization for an Inline Scaler Using Multiple Buffer Thresholds
US8792749B2 (en) * 2003-09-16 2014-07-29 Realtek Semiconductor Corp. Scaling device and method capable of controlling data flow quantity

Patent Citations (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020115A (en) 1989-07-10 1991-05-28 Imnet Corporation Methods and apparatus for dynamically scaling images
US5867608A (en) 1995-11-07 1999-02-02 Sun Microsystems, Inc. Method and apparatus for scaling images
US5854641A (en) * 1996-09-27 1998-12-29 Apple Computer, Inc. Method and apparatus for display image rotation
US6580435B1 (en) * 2000-06-28 2003-06-17 Intel Corporation Overlay early scan line watermark access mechanism
US20020159656A1 (en) * 2001-04-26 2002-10-31 Hiroyuki Matsuki Image processing apparatus, image processing method and portable imaging apparatus
US6801674B1 (en) * 2001-08-30 2004-10-05 Xilinx, Inc. Real-time image resizing and rotation with line buffers
US8792749B2 (en) * 2003-09-16 2014-07-29 Realtek Semiconductor Corp. Scaling device and method capable of controlling data flow quantity
US20050174457A1 (en) * 2004-02-06 2005-08-11 Canon Kabushiki Kaisha Image sensing apparatus and its control method
US20050286762A1 (en) * 2004-06-29 2005-12-29 Hyun-Sang Park Method and multimedia processor for processing a rotated image
US20060181550A1 (en) * 2005-02-17 2006-08-17 Canon Kabushiki Kaisha Image processing apparatus and method
US20060284876A1 (en) * 2005-06-15 2006-12-21 Low Yun S Method and apparatus for programming an input/output device over a serial bus
JP2007067917A (en) 2005-08-31 2007-03-15 Matsushita Electric Ind Co Ltd Image data processing device
US7839424B1 (en) 2006-07-13 2010-11-23 Marvell International Ltd. Horizontal strip column-first two-dimensional scaling
KR20080072217A (en) 2007-02-01 2008-08-06 삼성전자주식회사 Image processing device
US20080226180A1 (en) * 2007-03-15 2008-09-18 Via Technologies, Inc. Method and apparatus for buffering output pixel data of a joint photographic experts group image
KR20080095672A (en) 2007-04-25 2008-10-29 삼성전자주식회사 Image processing apparatus and image rotating method having image rotating function
US8111331B2 (en) 2007-07-09 2012-02-07 Cisco Technology, Inc. Image resizer and resizing method
US20090015717A1 (en) * 2007-07-09 2009-01-15 Arnao Michael A Image resizer and resizing method
JP2009198639A (en) 2008-02-20 2009-09-03 Seiko Epson Corp Image display apparatus and scroll control method and scroll control program for image display apparatus, electronic equipment having image display apparatus
US20100156917A1 (en) * 2008-12-22 2010-06-24 Electronics And Telecommunications Research Institute Image processing apparatus and method for managing frame memory in image processing
JP2010218263A (en) 2009-03-17 2010-09-30 Ricoh Co Ltd Image processing apparatus and method
US20110102465A1 (en) 2009-11-03 2011-05-05 Sung Jin Cho Image processor, electronic device including the same, and image processing method
US20110148888A1 (en) * 2009-12-23 2011-06-23 Jacobs Robert A Method and apparatus for controlling multiple display panels from a single graphics output
US20110298982A1 (en) * 2010-06-08 2011-12-08 Stmicroelectronics, Inc. De-rotation adaptor and method for enabling interface of handheld multi-media device with external display
US20130222413A1 (en) * 2012-02-24 2013-08-29 Brijesh Tripathi Buffer-free chroma downsampling
US20130223764A1 (en) * 2012-02-24 2013-08-29 Brijesh Tripathi Parallel scaler processing
US20140063069A1 (en) * 2012-09-04 2014-03-06 Vijay G. Prabakaran Frame Timing Synchronization for an Inline Scaler Using Multiple Buffer Thresholds

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Korean Office Action dated Nov. 14, 2019 Relating to Korean Application No. 10-2013-0155256.

Also Published As

Publication number Publication date
KR20150069164A (en) 2015-06-23
US20150170330A1 (en) 2015-06-18
KR102114233B1 (en) 2020-05-25

Similar Documents

Publication Publication Date Title
US10296217B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US10860222B2 (en) Memory devices performing refresh operations with row hammer handling and memory systems including such memory devices
CN107533525B (en) Universal die implementation for memory devices with independent interface paths
EP2788882B1 (en) Auto-ordering of strongly ordered, device, and exclusive transactions across multiple memory regions
US9483430B2 (en) Semiconductor memory device and I/O control circuit therefor
KR102444201B1 (en) Software mode register access for platform margining and debug
DE112017006599T5 (en) PROGRAMMABLE DATA STRUCTURE FOR REPEAT WRITE TO A MEMORY
US20170076768A1 (en) Memory device, memory module, and memory system
US10600145B2 (en) Image processor, for scaling image data in two directions. Computing system comprising same, and related method of operation
US10983792B2 (en) Memory device that performs internal copy operation
JP2016509280A (en) Multi-mode memory access technique for graphics processing unit based memory transfer operations
US20130111102A1 (en) Semiconductor memory devices
US20170140808A1 (en) Memory device having latency control circuit for controlling data write and read latency
US20160063668A1 (en) Semiconductor device
KR20170131127A (en) Memory device shared by two or more processors and su|ystem incluing the same
KR20160061704A (en) Memory device having page state inform function
US9449673B2 (en) Memory device and memory system having the same
TWI564787B (en) First data in response to second read request
KR101785189B1 (en) Data writing method and memory system
US20170357466A1 (en) Data storage device and operating method thereof
US20190087932A1 (en) Memory device and memory system including the same
US8006029B2 (en) DDR flash implementation with direct register access to legacy flash functions
US20080133820A1 (en) DDR flash implementation with row buffer interface to legacy flash functions
US11226762B2 (en) Memory command that specifies one of multiple possible write data values where the write data is not transported over a memory data bus
KR20170057628A (en) Signal processing circuit

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:YOON, SUNG-CHUL;KIM, MIN-SOO;KONG, JAE-SOP;REEL/FRAME:033759/0836

Effective date: 20140915

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCV Information on status: appeal procedure

Free format text: NOTICE OF APPEAL FILED

STCV Information on status: appeal procedure

Free format text: APPEAL BRIEF (OR SUPPLEMENTAL BRIEF) ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: AWAITING TC RESP., ISSUE FEE NOT PAID

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

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