This application is based upon and claims the benefit of priority from the prior Japanese Patent Application No. 2009-183870, filed on Aug. 6, 2009, the entire contents of which are incorporated herein by reference.
The invention relates to a semiconductor integrated circuit to display images.
A typical method for outputting a still image or a moving image to a display device is that image data of each frame is stored in a frame memory and then the image data is read from the frame memory to display the image. In this case, the data writing is performed into the frame memory while incrementing writing address sequentially.
Image display functions of equipment such as a cellular phone have been complicated increasingly, recently. For example, such processing as magnification/reduction or rotation of an original image has been required. Japanese Patent Application Publication No. 2007-133188 (FIGS. 1, pp. 7 to 8) discloses equipment which connects a scaler to a frame memory. The equipment performs magnification/reduction of an image data read out from the frame memory so that the read out image is magnified/ scaled down.
In the case of displaying a moving image, it is necessary to display the image at a constant frame rate. The higher the frame rate is, the smoother the displayed moving image is. Accordingly, recent cellular phones employ a system, that a one-segment broadcasting image of an original frame rate of 15 frames/second is displayed at 60 frames/second, for example. This system shortens the frame display interval so that it also shortens the lapse of time from a time point when the image data is read from a frame memory to a time point when the read image data is outputted to a display device.
However, the equipment disclosed in the above mentioned patent publication performs image processing on image data read out from a frame memory using a scaler so that the equipment is difficult to increase the frame rate to achieve a higher operation speed.
An aspect of the present invention provides a semiconductor integrated circuit comprising a normal bus, an extension bus having the same bit width as the normal bus, a frame memory having a memory width equal to an integer multiple of the number of bits of the normal bus, a line buffer having a plurality of line regions to store pixel data of input image data, a line buffer writing control portion to control a direction in which the pixel data is to be written to the line buffer, a line buffer reading control portion to read out the pixel data stored in the line buffer and to output the read out pixel data to the normal bus and the extension bus selectively, a frame memory writing control portion to control a destination in the frame memory to which the pixel data obtained from the normal bus and the extension bus is to be written, and an address control portion to control a writing address in the frame memory, wherein the line buffer writing control portion controls the writing direction in the line buffer in accordance with an image rotation command signal, the line buffer reading control portion divides the read out pixel data and outputs the divided pixel data to the normal bus and the extension bus respectively, and the frame memory writing control portion controls the writing destination in the frame memory of the pixel data obtained from the normal bus and the extension bus.
Hereinafter, embodiments of the invention will be described with reference to the drawings. In the drawings, the same reference numerals denote the same portions respectively.
A first embodiment of a semiconductor integrated circuit according to the invention will be described with reference to
As shown in
The normal bus 10 is a parallel type and is used for transferring pixel data and versatile data. The extension bus 11 is a parallel type and is used for processing images. The line buffer 2 stores pixel data of a plurality of lines of inputted image data into a plurality of line regions L1 to L4. In the embodiment, four lines are used.
The line buffer writing control portion 3 controls a direction in which the pixel data is written to the line buffer 2, in accordance with a 90-degree image rotation command signal.
The line buffer reading control portion 4 determines whether a destination, to which the image data read from the line buffer 2 is to be outputted, should be only the normal bus or both of the normal bus and the extension bus, in accordance with the image rotation command signal and an image magnification command signal.
The frame memory writing control portion 5 controls a destination in the frame memory 1, to which the image data inputted through the normal bus or the extension bus is to be written, in accordance with the image rotation command signal and the image magnification command signal.
The address control portion 6 controls a writing address in the frame memory 1, in accordance with the image magnification command signal.
The frame memory reading control portion 7 changes the image data read from the frame memory 1 into display image data and outputs the data to a display device (not shown).
The embodiment will hereinafter be described for an example where the bus width (number of bits) of the normal bus 10 is the same as the number of bits of image data, 24 bits, for example. However, the bit width of the normal bus 10 is not limited to 24 bits. For example, the bus width of the normal bus 10 may be the same as the number of bits of a plurality of pixels.
Further, the bus width (number of bits) of the extension bus 11 matches that of the normal bus 10.
The number of bits of the memory width of the frame memory 1 is set to an integer multiple of the number of bits of the normal bus 10. The frame memory 1 is divided into memory blocks. In the embodiment, the frame memory 1 is divided into four memory blocks M1 to M4, for example. The number of bits of the block width of each of the memory blocks M1 to M4 corresponds to an integer multiple of the number of bits of the normal bus 10.
If the number of bits of the normal bus 10 corresponds to an integer multiple of the number of bits of the pixel data as described above, the number of bits of the width of each of the memory blocks M1 to M4 of the frame memory 1 is also equal to the number of bits of the pixel data or an integer multiple of the number of bits of the pixel data.
In the embodiment, one piece of image data is stored in lines of any one of the memory blocks M1 to M4.
Therefore, it is easy to perform address control when image data is written to the frame memory 1 or the image data is read from the frame memory 1.
In the embodiment, the “image data writing direction” indicates either a direction in which one line of image data is to be written sequentially in incremental order of addresses starting from an initial address of each of the line regions L1 to L4, or a direction in which the image data is to be written from L1 toward L4 over the same addresses. Writing in the former direction is referred to as “address-direction writing” and writing in the latter direction writing as “line-direction writing”.
The line buffer writing control portion 3 performs address-direction writing if 90-degree rotation is instructed by the image rotation command signal. If the rotation is not instructed, i.e., in the case of normal display, the line buffer writing control portion 3 performs line-direction writing.
The line buffer reading control portion 4 controls whether the output destination of image data read from the line buffer 2 should be only the normal bus 10 or both of the normal bus 10 and the extension bus 11, in accordance with the image rotation command signal and the image magnification command signal.
Unlike the case of writing to the line buffer 2, the direction in which the image data is read from the line buffer 2 is always from L1 toward L4 (line direction) over the same addresses irrespective of whether the image is rotated or not, or magnified or not.
If the image is not rotated nor magnified, that is, in the case of normal image display, the line buffer reading control portion 4 outputs the image data read from the line buffer 2 only to the normal bus 10.
If 90-degree rotation is instructed by the image rotation command signal, the line buffer reading control portion 4 reads two addresses of the image data from the line buffer 2 simultaneously and distributes each address of the data to each of the normal bus 10 and the extension bus 11.
If image magnification is instructed by the image magnification command signal, the line buffer reading control portion 4 reads the image data from the line buffer 2 sequentially and outputs the same data to both of the normal bus 10 and the extension bus 11.
In accordance with the image rotation command signal and the image magnification command signal, the frame memory writing control portion 5 controls the destination in the frame memory 1 to which the image data input from the normal bus 10 and the extension bus 11 is to be input.
If 90-degree rotation is instructed by the image rotation command signal, the frame memory writing control portion 5 sets writing destinations of the image data, which are outputted to the normal bus 10 and the extension bus 11, to different ones of the memory blocks M1 to M4 in the frame memory 1.
The frame memory writing control portion 5 writes the image data output to the normal bus 10 into the memory block M1 and the image data output to the extension bus 11 into the memory block M2, for example. In this case, the writing bit order is set to be the same in the respective memory blocks.
If image magnification is instructed by the image magnification command signal, the frame memory writing control portion 5 controls a writing bit position in the frame memory 1 such that the writing destination of the image data outputted to the normal bus 10 and the writing destination of the image data outputted to the extension bus 11 neighbor each other.
The address control portion 6 controls selection of writing addresses in the frame memory 1 in accordance with the image magnification command signal. The address control portion 6 simultaneously selects consecutive addresses corresponding to a vertical magnification factor specified by the image magnification command signal. If the vertical magnification factor is two, for example, the address control portion 6 selects two consecutive addresses simultaneously. In this manner, the identical image data is written into those consecutive addresses.
A relationship between the image display processing and the frame memory writing operation in the embodiment will be described using a detailed example.
Operations, which performed in normal display, will be described with reference to
In the case of normal display, the line buffer writing control portion 3 writes the pixel data of pixels 1 to 25 into the line buffer 2 in the line direction as shown in
Subsequently, the line buffer reading control portion 4 reads the pixel data 1 to 25 from the line buffer 2 in the line direction and outputs the pixel data to the normal bus 10 as shown in
The data output to the normal bus are sequentially written into the memory block M1 of the frame memory 1 under a condition that the writing destination is controlled by the frame memory writing control portion 5, as shown in
The image data read from the frame memory 1 is normally displayed by the frame memory reading control portion 7 as shown in
Operations for rotating an input image by 90 degrees clockwise and for displaying the image will be described with reference to
In order to rotate an input image shown in
Subsequently, the line buffer reading control portion 4 simultaneously reads two addresses of image data from the line buffer 2 and distributes each of the two addresses to the normal bus 10 and the extension bus 11.
The frame memory writing control portion 5 sets the mutually different memory blocks in the frame memory 1 as a writing destination of the image data outputted from the normal bus 10 and a writing destination of the image data outputted from the extension bus 11. As shown in
In this case, when the frame memory reading control portion 7 reads the image data from the frame memory 1, the image data are read from the memory blocks M1, M2 alternately. By such alternate reading, output image data rotated by 90 degrees clockwise is obtained and displayed as shown in
Operations, where an input image is magnified four times (two times vertically and two times horizontally) and the magnified image is displayed, will be described with reference to
In order to magnify an input image shown in
Subsequently, the line buffer reading control portion 4 reads the written image data from the line buffer 2 and, as shown in
The writing bit positions in the memory frame 1 of the image data output to the normal bus 10 and the extension bus 11 respectively are controlled by the frame memory writing control portion 5 in accordance with the horizontal magnification factor of “2” such that those output data have their writing destinations neighboring each other horizontally in
In accordance with the vertical magnification factor of “two (2)”, the address control portion 6 sequentially selects two addresses consecutive vertically in
As a result, as shown in
In order to display an image, the frame memory reading control portion 7 conducts control so that the image data is read from the memory blocks M1, M2 in the frame memory 1 alternately. The image data read from the frame memory 1 is displayed as a fourfold magnified image as shown in
In the embodiment, the directions, in which writing and reading are performed in the line buffer 2, are changed to shift the arrangement order of pixel data to be output to the buses 10, 11 and to control the column-directional writing addresses in the frame memory 1, in accordance with a type of display such as rotated display or enlarged display. By conducting such control, it is possible to efficiently write the image data for rotated display or magnified display into the frame memory 1 while rotating or magnifying the image data.
A comparative example may be thought, in which image data processed for magnification or rotation in advance is written into a frame memory and then the written data is read from the frame memory to output the read data as it is to a display device. However, in this case, the magnified image requires a larger amount of data to be written into the frame memory. In addition, the rotated image causes the writing addresses in the frame memory to be updated irregularly for each rotational processing. As a result, the efficiency of writing into the frame memory is deteriorated. In contrast, in the embodiment, as described above, the data can be written into the frame memory efficiently.
The embodiment is arranged so that two identical image data may be written into a frame memory in order to display the identical image data on two display devices.
In a semiconductor integrated circuit in the embodiment, a frame memory writing control portion is provided with an image copy command signal.
In
An example, where image writing is performed into the frame memory 1 by the frame memory writing control portion 5a, will be described.
In this example, such processing as shown in
The frame memory writing control portion 5a designates the memory blocks M1, M3 of the frame memory 1, for example, in order to determine destinations to which the pixel data outputted to the normal bus 10 is to be written.
As a result, as shown in
To display the image, the data read from the memory blocks M1, M3 by a frame memory reading control portion 7 are outputted to display devices different from each other. By such output, an output image 1 is displayed on one of the display devices. An output image 2, which is identical to the output image 1, is displayed on the other display device as shown in
In the embodiment, two identical image data can be written into the frame memory easily.
In the embodiment, in the case of only magnifying or copying an input image without rotating the image, data of an input image can be transferred directly to a normal bus 10 and an extension bus 11 without being stored in a line buffer 2.
In the case of only magnifying an input image without rotating the image, data of the input image is transferred to both of the normal bus 10 and the extension bus 11. Further, in the case of only copying an input image without rotating the image, data of the input image is transferred to the normal bus 10.
The input image data transferred to the normal bus 10 or the extension bus 11 is magnified and copied in the same processing as that described in the first and second embodiments.
In the embodiment, the line buffer is not used in the processing of magnifying or copying an image without rotating the image, so that writing can be performed to the frame memory 1 speedily.
Moreover, in the embodiment, power consumption can be reduced for an amount decreased by no use of the line buffer 1.
In the embodiment, it is possible to write data for displaying a right and left reversed image or a top and bottom reversed image into a frame memory.
When a right and left reversing command signal is received, a frame memory writing control portion 5b designates destinations in a frame memory 1 to which image data are to be written, in order opposite to the regular order.
In a case where the writing destinations are designated in an ascending order of bit numbers starting from one bit number in blocks M1 to M4 of the frame memory 1 for a normal display, for example, the control portion 5b designates writing destinations in a descending order of bit numbers, when conduct right and left reversing display is instructed.
As shown in
Therefore, an image read from the frame memory 1 by the frame memory reading control portion 7 is displayed right and left reversely as shown in
When a top and bottom reversing command signal is received, an address control portion 6a generates addresses in order opposite to the normal case.
The address control portion 6a normally generates addresses in a direction from an initial address toward a final address but, if instructed to conduct top and bottom reversed display, generates the addresses in an order from the final address toward the initial address.
In this example, the final address is the bottom line of the memory block M4 in the frame memory 1, so that the image data output to the normal bus 10 is written upward starting from the bottom line of the memory block M4.
Therefore, the image data read from the frame memory 1 by the frame memory reading control portion 7 is as shown in
In the embodiment, it is possible to write the data for displaying right and left reversed images and the data for displaying top and bottom reversed images into the frame memory 1 easily.
The above embodiments are described with the example where command signals which instruct various types of display are inputted independently on each other. It is possible to input command signals simultaneously which instruct a plurality of types of display, and to perform processing collectively in accordance with the command signals so as to write results of the processing into the frame memory 1.
For example, operations to be performed in a case will be described. The case is that it is requested that input image should be rotated by 90 degrees clockwise and magnified fourfold, and then data of a right and left reversed image should be written into a frame memory 1, in the semiconductor integrated circuit of the fourth embodiment, with reference to
In accordance with the 90-degree clockwise rotation command signal, the line buffer writing control portion 3 writes an input image pixel data 1 to 25 shown in
Subsequently, in accordance with the image magnification command signal, the line buffer reading control portion 4 reads the image data from the line buffer 2, and, as shown in
In accordance with the image magnification command signal and the right and left reversing display command signal, the frame memory writing control portion 5b controls writing bit positions in the frame memory 1 so that destinations to which the image data output to the normal bus 10 and the extension bus 11 are to be written may neighbor each other horizontally in
On the other hand, the address control portion 6a sequentially selects a pair of vertically consecutive addresses in
As a result, as shown in
In order to display the image, the frame memory reading control portion 7 reads the image data from the memory blocks M1, M2 in the frame memory 1 alternately. The image data read from the frame memory 1 corresponds to the image obtained by rotating the input image by 90 degrees clockwise, by magnifying the image four times and further by right and left-reversing the image, as shown in
As described above, in response to the instruction for processing a plurality of types of image display, those types of image display can be processed collectively and the processed image data can be written into the frame memory. Therefore, it is possible to keep up almost the same writing efficiency as that in the case of processing a single type of image display.
Other embodiments or modifications of the present invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and example embodiments be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following.
Number | Date | Country | Kind |
---|---|---|---|
2009-183870 | Aug 2009 | JP | national |