The present invention relates to (i) a memory control device for writing image data, transferred from a host processor, into a frame memory and for reading the image data from the frame memory to transfer the image data to a display panel such as a liquid crystal display (LCD) and (ii) a mobile terminal including that memory control device.
In a case where image data is transferred from a host processor (hereinafter referred to simply as “host”) to a display panel such as an LCD, that image data is typically first stored temporarily in a frame memory (hereinafter referred to simply as “memory”) of an LCD controller (LCDC), and is then outputted to the display panel. This arrangement eliminates the need to transfer image data from the host to the display panel while the display data is not updated.
A seamless process such as reproducing a moving image, however, involves substantially simultaneous, parallel steps of (i) inputting image data from the host to the memory of the LCDC (write operation) and (ii) outputting the image data from the LCDC to the display panel (read operation).
Thus, in a case where it is impossible to compensate for the difference between the respective rates of image data transfer, incomplete image data stored in the memory is outputted to the display panel, that is, there occurs overtaking for image data (called “tearing”). Tearing lets incomplete image data be outputted to the display panel, with the result of flicker during image display.
Patent Literature 1 discloses a method for updating a frame buffer (memory) as a conventional technique for preventing such tearing. This method is for transmitting timing information through a communication link between a first processor and a second processor.
The above method is arranged such that the communication link is in a suspend mode, and that the first processor schedules time events to transmit timing information to the second processor. The above method is further arranged such that the first processor starts a link wakeup at the occurrence of a time event, that the second processor detects the link wakeup, and that the first processor and the second processor are synchronized with each other for the transmitted timing information on the basis of timing of the detected link wakeup.
Japanese Patent Application Publication, Tokukai, No. 2011-41290 A (Publication Date: Feb. 24, 2011)
The above conventional technique unfortunately has the following problems:
Conventional techniques involve substantially simultaneous, parallel operations of writing and reading image data into and from a memory for a single frame only as described above. This makes it impossible to stop reading image data from a display memory for a display output. The conventional technique disclosed in Patent Literature 1 above thus requires either (i) waiting until a time point at which no tearing is estimated to occur and then starting a write operation or (ii) in a case where a write operation is to start at a time point at which tearing is estimated to occur, suspending the write operation.
The case (i) above is, however, problematic as follows: It is necessary to wait until it is safe each time the host updates image data for display. It is, in the worst case, necessary to wait for a maximum of a time period corresponding to a single frame. This has a negative effect: The memory on the side of the host cannot be freed until the end of data transfer for an image data update. Thus, even in a case where the host has a double-buffer structure, it is necessary to wait before the start of preparing image data for a frame after next, which unfortunately causes frame dropping.
The case (i) above is further problematic as follows: Even in a case where there is no coming update of image data, the operation on the side of the host cannot be stopped until the end of image data transfer. This wastes electric power for a certain time period.
The case (ii) above is also problematic in that suspending a write operation causes frame dropping.
Further, Patent Literature 1 is silent about how to prevent tearing for a case in which image data is compressed and written into a frame memory, and is read and expanded for transfer to a display control section.
The present invention has been accomplished in view of the above problems. It is on object of the present invention to prevent tearing even in a case where image data is compressed for each frame to be written into a frame memory.
A memory control device according to a mode of the present invention is a memory control device, including: a frame memory having a predetermined recording capacity; a compression section for (i) compressing image data for a single frame, the image data being transferred from a host, into a size not larger than the recording capacity and (ii) writing the compressed image data into the frame memory; an expansion section for (i) reading the compressed image data from the frame memory, (ii) expanding the compressed image data, and (iii) transferring the expanded image data to a display control section; and a timing control section for, until an inhibit time period Ts passes from a start of reading compressed image data for a first frame, inhibiting a start of writing compressed image data for a second frame subsequent to the first frame, the inhibit time period Ts being so preset as to prevent coincidence between a range of a move of a read position over the frame memory and a range of a move of a write position over the frame memory.
A memory control device according to another mode of the present invention is a memory control device, including: a frame memory having a predetermined recording capacity; a compression section for (i) compressing image data for a single frame, the image data being transferred from a host, into a size not larger than an upper limit value Vsize and (ii) writing the compressed image data into the frame memory; and an expansion section for (i) reading the compressed image data from the frame memory, (ii) expanding the compressed image data, and (iii) transferring the expanded image data to a display control section, the predetermined recording capacity of the frame memory being so set as to prevent coincidence between a range of a move of a read position over the frame memory and a range of a move of a write position over the frame memory.
A mode of the present invention makes it possible to prevent tearing even in such a case where image data is compressed to be recorded in a frame memory.
Additional objects, features, and strengths of the present invention will be made clear by the description below. Further, the advantages of the present invention will be evident from the following explanation in reference to the drawings.
The description below deals with embodiments of the present invention with reference to
The description below deals with an image transfer system 1 as an embodiment of the present invention with reference to
The image transfer system 1, as illustrated in
(Host Processor 2)
The host processor 2 is a central processing unit (CPU) of the device (for example, a mobile terminal 10 in
(LCD Controller 3)
The LCD controller 3 has a mechanism for inputting and outputting image data, and carries out various processes such as (i) a write operation of writing image data, transferred from the host processor 2, into the frame memory 31 and (ii) a read operation of reading image data from the frame memory 31 to transfer the image data to the LCD 4. The LCD controller 3 (i) receives from the host processor 2 image data for a single frame (hereinafter referred to as “single-frame image data”), (ii) compresses the image data through a predetermined compression method, and (iii) writes the compressed image data into the frame memory 31. The LCD controller 3 also (i) reads compressed single-frame image data from the frame memory 31, (ii) expands the image data, and (iii) transfers the expanded image data to the LCD 4.
The LCD controller 3 (memory control device), as illustrated in
(Frame Memory 31)
The frame memory 31 is an image memory capable of storing single-frame image data compressed through a predetermined compression method. The frame memory 31 thus has a capacity (recording capacity) smaller in size than uncompressed single-frame image data transferred from the host processor 2. The frame memory 31 has a capacity represented by Vsize (upper limit value).
(Delay Control Section 32)
The delay control section 32 controls timing of the start of image data writing by the compression section 33 so that until a preset inhibit time period Ts passes after the expansion section 34 starts reading image data for a frame from the frame memory 31, the compression section 33 is inhibited from writing image data for a subsequent frame into the frame memory 31. The delay control section 32, after the inhibit time period Ts passes after the expansion section 34 starts reading image data for a frame, permits the compression section 33 to start writing image data for a subsequent frame. The inhibit time period Ts may be (i) not shorter than a critical time period Td described below and (ii) shorter than a read time period Tout. The critical time period Td may be determined on a worst-case assumption. The read time period Tout refers to a (fixed) time period extending from the start of a read operation to its end. A write time period Tin refers to a (fixed) time period extending from the start of a write operation to its end.
The delay control section 32, in a case where Tin>Tout, controls timing of the start of image data reading by the expansion section 34 so that until a preset output delay time period Outdly passes after the compression section 33 starts writing image data for a frame into the frame memory 31, the expansion section 34 is inhibited from reading image data for that frame from the frame memory 31.
(Compression Section 33)
The compression section 33 compresses single-frame image data received from the host processor 2 through a predetermined compression method, and writes the compressed single-frame image data into the frame memory 31. The compression method used by the compression section 33 serves to compress image data in such a manner that the image data is variable in length for each frame. Thus, the compressed image data may vary in size for each frame. Image data is written into the frame memory 31 at a variable rate, and read from the frame memory 31 at a variable rate. The write rate and read rate have an upper limit value and lower limit value, respectively. Further, the compression method used by the compression section 33 has a fixed compression ratio (for example, a compression ratio of 1/2). This ensures that any compressed single-frame image data has a size not larger than the upper limit value of Vsize. In a case where the compression ratio is 1/2, uncompressed image data (for a single frame) transferred from the host processor 2 has a size of Vsize×2.
(Expansion Section 34)
The expansion section 34 reads compressed single-frame image data from the frame memory 31, and expands the image data through a method corresponding to the compression method. The expansion section 34 transfers the expanded single-frame image data to the LCD 4.
(Control Register 35)
The control register 35, for example, stores various control commands supplied from the host processor 2, and transmits such stored control commands to the host processor 2. Examples of the control commands include commands to specify various pieces of data for use in, for example, setting such parameters for individual sections (circuits) as an image size, a line size, a frequency, and a transfer waiting time.
(LCD 4)
The LCD 4 displays image data transferred from the host processor 2 via the LCD controller 3.
The LCD 4 of the present embodiment is, for example, a liquid crystal display panel (oxide semiconductor liquid crystal panel) including thin film transistors (TFTs) each having a semiconductor layer made of an oxide semiconductor. The oxide semiconductor is, for example, an oxide of indium, gallium, and zinc (In—Ga—Zn—O).
[Characteristic Operation of Image Transfer System 1]
The image transfer system 1 is arranged such that the LCD controller 3 compresses image data received from the host processor 2 and writes the compressed image data into the frame memory 31. This arrangement allows the frame memory 31 to have a small capacity.
The present embodiment is restricted as follows: The compression section 33 uses a compression method with which compressed image data has a size not larger than the upper limit value of Vsize. Further, the LCD controller 3 receives single-frame image data from the host processor 2 over a fixed time period, whereas the LCD controller 3 transfers single-frame image data to the LCD 4 over a fixed time period as well. In other words, the LCD controller 3 writes single-frame image data into the frame memory 31 over a fixed time period (write time period Tin), whereas the LCD controller 3 reads single-frame image data from the frame memory 31 over a fixed time period (read time period Tout). However, the LCD controller 3 writes and reads single-frame image data into and from the frame memory 31 at respective rates each of which varies according to the content of the image even for a given image size. A higher compression ratio requires the LCD controller 3 to have a higher write rate and a higher read rate. Further, a change in the compression ratio during a write or read operation changes the write or read rate accordingly. In a case where compressed image data has a size of Vsize, the average write rate wp during the write time period Tin is Vsize/Tin. The LCD controller 3 writes single-frame image data into the frame memory 31 at a rate that is variable between a maximum write rate αwp and a minimum write rate βwp, where α and β are each a coefficient determined in advance according to the compression method. Further, in the case where compressed image data has a size of Vsize, the average read rate rp during the read time period Tout is Vsize/Tout. The LCD controller 3 reads single-frame image data from the frame memory 31 at a rate that is variable between a maximum read rate αrp and a minimum read rate βrp. The coefficient α for the maximum rate and the coefficient β for the minimum rate are each identical between a write operation and a read operation. In a case where the LCD controller 3 writes image data for a frame at a low rate, the LCD controller 3 reads that image data at a low rate as well. In a case where the LCD controller 3 writes image data for a frame at a high rate, the LCD controller 3 reads that image data at a high rate as well. Since image content differs between different frames, there should be no correlation between the write rate and the read rate across different frames.
The LCD controller 3 controls the timing of the start of a write operation to prevent tearing even in a case where the write rate and read rate change within the above limits. The write time period Tin and read time period Tout each depend on the specifications of the image transfer system 1. The description below deals with the operation of the LCD controller 3 for different cases in correspondence with the relationship in length between Tin and Tout.
(Case of Write Time Period Tin>Read Time Period Tout)
First, the LCD controller 3 starts writing image data for a first frame at the origin at the lower left corner in
Specifically, in a case where the LCD controller 3 writes image data at the minimum write rate βwp, the write pointer follows the path Lw1. The write rate, however, rises at a time point on the path Lw1 to meet the requirement of single-frame image data being written over the fixed write time period Tin. The path Lw1 shows how the write pointer moves in a case where the LCD controller 3 writes image data at the minimum write rate βwp until a certain time point and then at the maximum write rate αwp from the time point on. The path Lw1 indicates a case in which the write pointer moves over the frame memory 31 most slowly from the start of a write operation, that is, the LCD controller 3 writes image data most slowly.
In a case where the LCD controller 3 writes image data at the maximum write rate αwp from the start of the write operation, the LCD controller 3, at a time point, similarly starts writing the image data at the minimum write rate βwp to meet the requirement of single-frame image data being written over the fixed write time period Tin.
In
The expansion section 34 is permitted, an output delay time period Outdly after the start of writing image data for a first frame, to start reading the image data for the first frame. The beginning of the image data written for the first frame corresponds to the position on the frame memory 31 at which position the write operation started, so the expansion section 34 starts reading the image data for the first frame at the same position. The expansion section 34 reads single-frame image data over a fixed read time period Tout. This means that a read pointer (which indicates the position at which image data is being read) may similarly move within the parallelogrammatic region (indicated by a hatched portion in
In a case where image data is written at a low rate, that image data is read at a low rate as well, whereas in a case where image data is written at a high rate, that image data is read at a high rate as well. In other words, for any given image data for a frame, the write pointer wp1 and the read pointer rp1 follow respective paths similar to each other. Specifically, for any given image data, (i) in a case where the write pointer followed a path on which the write pointer begins writing image data at the maximum write rate αwp, the read pointer follows a path on which the read pointer begins reading image data at the maximum read rate αrp, and (ii) in a case where the write pointer followed a path on which the write pointer begins writing image data at the minimum write rate βwp, the read pointer follows a path on which the read pointer begins reading image data at the minimum read rate βrp.
A write operation and read operation for the same image data may be performed concurrently as illustrated in
With the output delay time period Outdly set as described above, in a case where image data for a first frame is written at a rate along the path Lw1, that image data is read at a rate along the path Lr1. Thus, even a low write rate will cause no tearing. The expansion section 34 may start a read operation later than the end of the output delay time period Outdly. In this case, the expansion section 34 ends a read operation at a time point that is later in accordance with the time period by which the start of the read operation was delayed with respect to the time point of the end of the write operation.
The expansion section 34 reads image data for a first frame most slowly in a case where the read pointer rp1 follows the path Lr1, on which the expansion section 34 begins reading image data at the minimum read rate βrp. The compression section 33 writes image data for a second frame most rapidly in a case where the write pointer wp2 follows the path Lw2, on which the compression section 33 begins writing image data at the maximum write rate αwp. As illustrated in
In a case where the write time period Tin>the read time period Tout, the critical time period Td in the formula below (Formula 1) may be calculated geometrically with reference to
In a case where, for instance, the compression method is such that α=41/24 and β=3/24, Td=0.447×Tout−0.033×Tin.
The inhibit time period Ts, during which a write operation is inhibited, may thus be (i) not shorter than the critical time period Td and (ii) shorter than the read time period Tout. The inhibit time period Ts being not shorter than the critical time period Td prevents tearing. The inhibit time period Ts being shorter than the read time period Tout permits the compression section 33 to start a write operation early. In a case where the inhibit time period Ts=the critical time period Td, both (i) tearing is prevent, and (ii) the host processor 2 is permitted earliest to transfer data. As described above, the present embodiment, on the basis of the range within which the read pointer rp1 may move and the range within which the write pointer wp2 may move, presets the inhibit time period Ts so that the read pointer rp1 moving over the frame memory 31 most slowly for a first frame will not be overtaken by the write pointer wp2 moving over the frame memory 31 most rapidly for a second frame. The present embodiment, in other words, presets the inhibit time period Ts so that the write pointer wp2 and the read pointer rp1 do not become coincident.
In the case where compressed image data has a size of the upper limit of Vsize, the read pointer for a first frame may be approached most closely by the write pointer for a second frame. Even in a case where compressed image data has a size of less than Vsize, no tearing occurs as long as the compression section 33 is inhibited from starting a write operation until the critical time period Td passes after the expansion section 34 starts reading the image data for the first frame.
The inhibit time period Ts may alternatively have a margin. For instance, the inhibit time period Ts may be set to be (i) not shorter than the critical time period Td and (ii) not longer than Td×11/10 so that the inhibit time period Ts has a margin of approximately 10% of the critical time period Td.
(Case of Write Time Period Tin<Read Time Period Tout)
First, the LCD controller 3 starts writing image data for a first frame at the origin at the lower left corner in
The expansion section 34 is permitted, immediately after the start of writing image data for a first frame, to start reading the image data for the first frame. The beginning of the image data written for the first frame corresponds to the position on the frame memory 31 at which position the write operation started, so the expansion section 34 starts reading the image data for the first frame at the same position.
In a case where image data is written at a low rate, that image data is read at a low rate as well, whereas in a case where image data is written at a high rate, that image data is read at a high rate as well. In other words, for any given image data for a frame, the write pointer wp1 and the read pointer rp1 follow respective paths similar to each other. Specifically, for any given image data, (i) in a case where the write pointer followed a path on which the write pointer begins writing image data at the maximum write rate αwp, the read pointer follows a path on which the read pointer begins reading image data at the maximum read rate αrp, and (ii) in a case where the write pointer followed a path on which the write pointer begins writing image data at the minimum write rate βwp, the read pointer follows a path on which the read pointer begins reading image data at the minimum read rate βrp.
Thus, as illustrated in
The expansion section 34 reads image data for a first frame most slowly in a case where the read pointer rp1 follows the path Lr1, on which the expansion section 34 begins reading image data at the minimum read rate βrp. The compression section 33 writes image data for a second frame most rapidly in a case where the write pointer wp2 follows the path Lw2, on which the compression section 33 begins writing image data at the maximum write rate αwp. As illustrated in
In a case where the write time period Tin<the read time period Tout, the critical time period Td in the formula below (Formula 2) may be calculated geometrically with reference to
In a case where, for instance, the compression method is such that α=41/24 and ρ=3/24, Td=0.967×Tout−0.553×Tin.
The inhibit time period Ts, during which a write operation is inhibited, may be (i) not shorter than Td and (ii) shorter than the read time period Tout. In a case where the inhibit time period Ts=the critical time period Td, both (i) tearing is prevent, and (ii) the host processor 2 is permitted earliest to transfer data.
In the case where compressed image data has a size of the upper limit of Vsize, the read pointer for a first frame may be approached most closely by the write pointer for a second frame. Even in a case where compressed image data has a size of less than Vsize, no tearing occurs as long as the compression section 33 is inhibited from starting a write operation until the critical time period Td passes after the expansion section 34 starts reading the image data for the first frame.
The critical time period Td in each of Formulae 1 and 2 above assumes that the compression section 33, when writing single-frame image data into the frame memory 31, starts the write operation at a position on the frame memory 31 which position follows the position at which the compression section 33 ended writing image data for the immediately previous frame.
Under the condition that the compression section 33 starts a write operation constantly at the same position on the frame memory 31 (for example, the first position), the critical time period Td is longer than indicated in Formulae 1 and 2 above. In this case, the critical time period Td=Tout−(β/α) Tin regardless of whether Tin>Tout or Tin<Tout. Under the above condition, the worst case is a case in which (i) compressed image data for a first frame has a size of βrp×Tout, and (ii) the compression section 33 starts writing image data for a second frame at the maximum write rate αwp.
(Flow of Timing Control)
With reference to
First, the delay control section 32 determines whether the compression section 33 will, upon receipt of image data, start a write operation at a time point within the inhibit time period Ts (step S71).
In a case where the compression section 33 will start a write operation at a time point within the inhibit time period Ts (Yes in S71), the LCD controller 3 transmits to the host processor 2 a low-level TE (tearing effect) signal indicative of the inhibit time period Ts (S72).
The host processor 2, upon receipt of a low-level TE signal, waits to transfer image data (S73). The LCD controller 3 also waits to write image data. The process then repeats the steps S71 through S73.
In a case where the compression section 33 will start a write operation at a time point outside the inhibit time period Ts (No in S71), the LCD controller 3 transmits to the host processor 2 a high-level TE signal indicative of a period other than the inhibit time period Ts (S74).
The host processor 2, upon receipt of a high-level TE signal, starts transfer of image data during a time period in which the TE signal has a high level (S75). The LCD controller 3, upon receipt of image data, compresses the image data and starts writing the compressed image data into the frame memory 31.
(Notification of Inhibit Time Period with TE Signal)
The host processor 2 does not start transfer of image data while the TE signal has a low level, and starts transfer of image data to the LCD controller 3 while the TE signal has a high level.
(Case of Tin<Tout)
(a) of
While the TE signal has a high level, (i) the host processor 2 transfers image data for the second frame, and (ii) the compression section 33 of the LCD controller 3 compresses the image data received and starts writing the compressed image data into the frame memory 31. The TE signal then falls to a low level at the time point at which the expansion section 34 starts a read operation on image data for the second frame on the basis of the vertical synchronizing signal Vsync.
(Case of Tin>Tout)
(b) of
In the case where the LCD 4 is an oxide semiconductor liquid crystal panel (A), the TE signal falls to a low level at the time point at which the expansion section 34 starts reading image data for the first frame, and rises to a high level when the inhibit time period Ts has passed after the TE signal fell to the low level.
In the case where the LCD 4 is a CGS liquid crystal panel (B), the TE signal falls to a low level at the time point at which the expansion section 34 ends reading image data for the first frame, and rises to a high level when the inhibit time period Ts has passed after the expansion section 34 started reading image data for the second frame.
The host processor 2 is permitted to start transfer of image data while the TE signal has a high level. An oxide semiconductor liquid crystal panel, which may have a refresh rate decreased (changed) to, for example, approximately 60 Hz to 1 Hz, allows the start of image data reading to be delayed (waited for). The oxide semiconductor liquid crystal panel (A) thus allows transfer of image data to start at a time point within a long time period as compared to the CGS liquid crystal panel (B). This allows the host processor 2 to have a higher degree of freedom for timing of the start of image data transfer, and can thus reduce the delay in the process of the host processor 2. This in turn prevents the host processor 2 from becoming unable to process image data, and thus prevents frame dropping in a display image.
The description below deals with another embodiment of the present invention. The present embodiment is identical to Embodiment 1 in terms of the configuration of the image transfer system, but is different from Embodiment 1 in the capacity of the frame memory 31 and the operation of the delay control section 32.
(Frame Memory 31)
The frame memory 31 has a capacity Vm larger than Vsize+Va. Va represents an additional capacity, which has a lower limit value that may be determined through a method described below. The capacity Vm of the frame memory 31 is smaller than twice Vsize.
(Delay Control Section 32)
The delay control section 32, in a case where Tin>Tout, controls timing of the start of image data reading by the expansion section 34 so that until a preset output delay time period Outdly passes after the compression section 33 starts writing image data for a frame into the frame memory 31, the expansion section 34 is inhibited from reading image data for that frame from the frame memory 31.
[Characteristic Operation of Image Transfer System]
The present embodiment is restricted similarly to Embodiment 1: The compression section 33 uses a compression method with which compressed image data has a size not larger than the upper limit value of Vsize. The write time period Tin and the read time period Tout are each fixed. A higher compression ratio requires the LCD controller 3 to have a higher write rate and a higher read rate. Further, a change in the compression ratio during a write or read operation changes the write or read rate accordingly. The LCD controller 3 writes single-frame image data into the frame memory 31 at a rate that is variable between a maximum write rate αwp and a minimum write rate βwp. The LCD controller 3 reads single-frame image data from the frame memory 31 at a rate that is variable between a maximum read rate αrp and a minimum read rate βrp. The coefficient α for the maximum rate and the coefficient β for the minimum rate are each identical between a write operation and a read operation. In a case where the LCD controller 3 writes image data for a frame at a low rate, the LCD controller 3 reads that image data at a low rate as well. In a case where the LCD controller 3 writes image data for a frame at a high rate, the LCD controller 3 reads that image data at a high rate as well. The compression section 33, when writing single-frame image data into the frame memory 31, starts the write operation at a position (address) on the frame memory 31 which position follows (which position is near) the position at which the compression section 33 ended writing image data for the immediately previous frame. Image data is written into the frame memory 31 in the order of the address from a write start position, and is read from the frame memory 31 in the order of the address from a read start position. The expansion section 34 starts a read operation on single-frame image data at a position at which the compression section 33 started the immediately previous write operation (that is, for the same frame). The LCD controller 3, after using the last position on the frame memory 31, returns to the first position on the frame memory 31 for a write or read operation. The frame memory 31 is used in a periodic boundary manner in a first-in first-out (FIFO) order. The use in a periodic boundary manner refers to the following manner: When image data has been written up to the last position (address) on the frame memory 31, subsequent image data is written from the first position (address) on the frame memory 31.
The LCD controller 3, immediately after the expansion section 34 started a read operation for a frame, permits the compression section 33 to start a write operation for a subsequent frame. To prevent tearing in such a case, the frame memory 31 has at least an additional capacity Va in addition to a capacity of the upper limit size Vsize of compressed single-frame image data. The capacity Vm of the frame memory 31 is smaller than twice the upper limit size Vsize of compressed single-frame image data.
The write time period Tin and read time period Tout each depend on the specifications of the image transfer system 1. The description below deals with an additional capacity necessary for the frame memory 31 for different cases in correspondence with the relationship in length between Tin and Tout. The necessary additional capacity depends on the relationship in length between Tin and Tout.
(Case of Write Time Period Tin>Read Time Period Tout)
As in the case of Embodiment 1 illustrated in
The description below deals with a case of, after starting reading image data for a first frame, writing image data for a subsequent second frame. This case assumes that the compression section 33 already ended writing the image data for the first frame (path Lw1) before the expansion section 34 starts reading the image data for the first frame. The (compressed) image data for the first frame and the (compressed) image data for the second frame each have a size of Vsize.
The expansion section 34 reads image data for a first frame most slowly in a case where the read pointer rp1 follows the path Lr1, on which the expansion section 34 begins reading image data at the minimum read rate βrp. The compression section 33 writes image data for a second frame most rapidly in a case where the write pointer wp2 follows the path Lw2, on which the compression section 33 begins writing image data at the maximum write rate αwp.
As illustrated in
In a case where the write time period Tin>the read time period Tout, the additional capacity Va in the formula below (Formula 3) may be calculated geometrically with reference to
In a case where, for instance, the compression method is such that α=41/24 and β=3/24, Va=(0.764 (Tout/Tin)−0.056) Vsize.
The capacity Vm of the frame memory 31 may thus be (i) larger than Vsize+Va and (ii) smaller than 2×Vsize. With this arrangement, the LCD controller 3, immediately after the expansion section 34 started a read operation on image data for a first frame, permits the compression section 33 to start a write operation on image data for a second frame. The above arrangement, in other words, prevents tearing without an inhibit time period, thereby permitting the host processor 2 to transfer data early. As described above, the present embodiment, on the basis of the range within which the read pointer rp1 may move and the range within which the write pointer wp2 may move, sets the capacity of the frame memory 31 so that the read pointer rp1 moving over the frame memory 31 most slowly for a first frame will not be overtaken by the write pointer wp2 moving over the frame memory 31 most rapidly for a second frame. The present embodiment, in other words, sets the capacity of the frame memory 31 so that the write pointer wp2 and the read pointer rp1 do not become coincident.
In the case where compressed image data has a size of the upper limit of Vsize, the read pointer for a first frame may be approached most closely by the write pointer for a second frame. Even in a case where compressed image data has a size of less than Vsize, no tearing occurs as long as the compression section 33 starts writing image data for a second frame after the expansion section 34 starts reading image data for a first frame.
The capacity of the frame memory 31 may have a margin of approximately 10%. For example, the capacity of the frame memory 31 may be set to (i) larger than Vsize+Va and (ii) not larger than (Vsize+Va)×11/10.
(Case of Write Time Period Tin<Read Time Period Tout)
As in the case of Embodiment 1 illustrated in
The description below deals with a case of, after starting reading image data for a first frame, writing image data for a subsequent second frame. This case assumes that the compression section 33 already ended writing the image data for the first frame before the expansion section 34 starts reading the image data for the first frame. The (compressed) image data for the first frame and the (compressed) image data for the second frame each have a size of Vsize.
The expansion section 34 reads image data for a first frame most slowly in a case where the read pointer rp1 follows the path Lr1, on which the expansion section 34 begins reading image data at the minimum read rate βrp. The compression section 33 writes image data for a second frame most rapidly in a case where the write pointer wp2 follows the path Lw2, on which the compression section 33 begins writing image data at the maximum write rate αwp.
As illustrated in
In a case where the write time period Tin<the read time period Tout, the additional capacity Va in the formula below (Formula 4) may be calculated geometrically with reference to
In a case where, for instance, the compression method is such that α=41/24 and ρ=3/24, Va=(0.764 (Tout/Tin)−0.056) Vsize.
The capacity Vm of the frame memory 31 may thus be (i) larger than Vsize+Va and (ii) smaller than 2×Vsize. With this arrangement, the LCD controller 3, immediately after the expansion section 34 started a read operation on image data for a first frame, permits the compression section 33 to start a write operation on image data for a second frame. The above arrangement, in other words, prevents tearing without an inhibit time period, thereby permitting the host processor 2 to transfer data early.
In the case where compressed image data has a size of the upper limit of Vsize, the read pointer for a first frame may be approached most closely by the write pointer for a second frame. Even in a case where compressed image data has a size of less than Vsize, no tearing occurs as long as the compression section 33 starts writing image data for a second frame after the expansion section 34 starts reading image data for a first frame.
[Summary of Critical Time Period Td and Additional Capacity Va]
[Variations of Write Inhibition During Inhibit Time Period Ts]
The description below deals with variations of write inhibition during the inhibit time period Ts with reference to
The example above uses the TE signal to inhibit a write operation. The description below deals with its variations.
A write operation may be inhibited by arranging predetermined sequence control between the host processor 2 and LCD controller 3 shown in
The term “predetermined sequence control” refers to control under which (i) the LCD controller 3 transmits request information, which serves to request the start of a write operation, to the host processor 2, (ii) the host processor 2 transmits permission information, which serves to permit the start of a write operation, to the LCD controller 3, and then (iii) the host processor 2 starts transferring image data to the LCD controller 3. Specific examples include control for causing the host processor 2 and the LCD controller 3 to wait to start image data transfer from the host processor 2 to the LCD controller 3 through (i) sequence control based on polling (handshake flag) by the control register 35, (ii) sequence control based on a bus turnaround (BTA) function in an MIPI command mode, (iii) sequence control based on a REQ (request) signal and/or ACK (acknowledge) signal, (iv) sequence control based on a HVBLK pulse signal, which does not change (toggle) during the inhibit time period Ts, (v) sequence control based on a HVBLK level signal for notification of the inhibit time period Ts with use of a level, or (vi) sequence control based on an asynchronous bus wait function for a case of an asynchronous bus.
The term “polling” refers to a communication mode or process mode of, in communication or software, sequentially and regularly polling a plurality of devices or programs and if a certain condition is satisfied, carrying out data transmission/receipt or data processing to prevent contention, determine (monitor) whether the device or program is ready for data transmission and receipt, and/or synchronize different processes.
Examples of the request information and permission information include the above-mentioned handshake flag, bus turnaround (BTA), REQ signal/ACK signal, HVBLK pulse signal, and HVBLK level signal. The description below deals in detail with these examples of the request information and permission information.
(Handshake Flag)
The host processor 2, when it is to transfer image data, changes the value of the handshake flag of the control register 35 from 0 to 1 and transmits request information to the LCD controller 3. Upon receipt of the request information, the LCD controller 3, when it has become ready for data transfer from the host processor 2, changes the handshake flag of the control register 35 from 1 back to 0 and transmits permission information to the host processor 2. The host processor 2, after transmitting the request information, monitors the handshake flag of the control register 35 through polling, and when the host processor 2 has recognized receipt of the permission information, starts transferring image data to the LCD controller 3. Normally, adjusting the time period between (i) a time point at which the value of the handshake flag is set to 1 and (ii) a time point at which the value of the handshake flag is set back to 0 can delay the time point of the start of a write operation (that is, the time point of the start of display serial interface [DSI] input), that is, such adjustment can inhibit a write operation.
(a) of
As illustrated in (a) of
At S12, the host processor 2 checks whether the handshake flag has a value of 1. If the handshake flag has a value of 1, the flow repeats S12. If the handshake flag does not have a value of 1 (that is, has a value of 0), the flow proceeds to S13, where the host processor 2 starts transferring image data to the LCD controller 3.
Next, as illustrated in (b) of
At S22, the delay control section 32 inhibits a write operation before the inhibit time period Ts passes, so that the flow repeats S22 (YES). The delay control section 32, once the inhibit time period Ts has passed, permits a write operation. The flow then proceeds to S23 (NO).
At S23, the control register 35 sets the value of the handshake flag to 0, and permits the host processor 2 to transfer image data.
(BTA)
The host processor 2, when it is to transfer image data, concedes a bus turnaround to the LCD controller 3 with use of a BTA function, and transmits request information to the LCD controller 3. Upon receipt of the request information, the LCD controller 3, when it has become ready for data transfer from the host processor 2, transmits a TE (tearing effect) event to the host processor 2, returns the bus turnaround to the host processor 2, and transmits permission information to the host processor 2. The host processor 2, when it has recognized receipt of the permission information, starts data transfer.
(a) of
As illustrated in (a) of
At S32, the host processor 2 checks whether it has received a TE event from the LCD controller 3. If the host processor 2 has received a TE event from the LCD controller 3, the flow proceeds to S33 (YES). If the host processor 2 has not received a TE event from the LCD controller 3, the flow repeats S32.
At S33, the host processor 2 starts transferring image data to the LCD controller 3.
Next, as illustrated in (b) of
At S42, the delay control section 32 inhibits a write operation before the inhibit time period Ts passes, so that the flow repeats S42 (YES). The delay control section 32, once the inhibit time period Ts has passed, permits a write operation. The flow then proceeds to S43 (NO).
At S43, the LCD controller 3 transmits a TE event to the host processor 2 and returns the bus turnaround to the host processor 2.
(REQ Signal/ACK Signal)
With reference to
(a) of
As illustrated in (a) of
At S52, the host processor 2 checks whether the ACK signal received from the LCD controller 3 has a low level (ACK=Low). If ACK=Low, the flow repeats S52 (YES). If ACK≠Low (that is, ACK=High), the flow proceeds to S53 (NO).
At S53, the host processor 2 sets the REQ signal back to REQ=Low. The flow then proceeds to S54.
At S54, the host processor 2 starts transferring image data to the LCD controller 3.
Next, as illustrated in (b) of
At S62, if the LCD controller 3 has received REQ=High from the host processor 2, the delay control section 32 inhibits a write operation before the inhibit time period Ts passes, so that the flow repeats S62 (YES). The delay control section 32, once the inhibit time period Ts has passed, permits a write operation. The flow then proceeds to S63 (NO).
At S63, the LCD controller 3 sets the ACK signal to a high (ACK=High) level and transmits the ACK signal to the host processor 2. The flow then proceeds to S64.
At S64, the LCD controller 3 waits to receive a VSS packet from the host processor 2. The flow then proceeds to S65.
At S65, the LCD controller 3 sets the ACK signal back to a low (ACK=Low) level.
(HVBLK Pulse Signal)
The LCD controller 3 outputs, at a predetermined cycle, a single HVBLK pulse signal having an extremely short time period between a rise to a high level and a fall to a low level. The LCD controller 3 keeps the HVBLK pulse signal high before the inhibit time period Ts passes, and sets the HVBLK pulse signal back to a low level after the inhibit time period Ts passes. The host processor 2 checks the level of the HVBLK pulse signal to wait for an edge (fall) of the HVBLK pulse signal, and if the host processor 2 has confirmed an edge (low level), starts transferring image data.
(HVBLK Level Signal)
The LCD controller 3 keeps the HVBLK level high before the inhibit time period Ts passes, and after the inhibit time period Ts passes, outputs a HVBLK level signal having a low level. The host processor 2 polls (monitors) the LCD controller 3 for the HVBLK level, and if the HVBLK level is low, starts transferring image data.
[Recap]
A memory control device (LCD controller 3) according to mode 1 of the present invention is a memory control device, including: a frame memory (31) having a predetermined recording capacity; a compression section (33) for (i) compressing image data for a single frame, the image data being transferred from a host (host processor 2), into a size not larger than the recording capacity and (ii) writing the compressed image data into the frame memory; an expansion section (34) for (i) reading the compressed image data from the frame memory, (ii) expanding the compressed image data, and (iii) transferring the expanded image data to a display control section (LCD 4); and a timing control section (delay control section 32) for, until an inhibit time period Ts passes from a start of reading compressed image data for a first frame, inhibiting a start of writing compressed image data for a second frame subsequent to the first frame, the inhibit time period Ts being so preset as to prevent coincidence between a range of a move of a read position over the frame memory and a range of a move of a write position over the frame memory.
The above arrangement makes it possible to prevent tearing even in such a case where image data is compressed to be recorded in a frame memory.
A memory control device according to mode 2 of the present invention is arranged as in mode 1 above, and may be further arranged such that the inhibit time period Ts is so preset that the read position for the compressed image data for the first frame which read position moves over the frame memory most slowly is not overtaken by the write position for the compressed image data for the second frame which write position moves over the frame memory most rapidly.
A memory control device according to mode 3 of the present invention is arranged as in mode 1 or 2 above, and may be further arranged such that the compression section has (i) a maximum write rate that is α times an average write rate and (ii) a minimum write rate that is β times the average write rate; the expansion section has (i) a maximum read rate that is α times an average read rate and (ii) a minimum read rate that is β times the average read rate; the compression section writes the compressed image data for the single frame over a fixed write time period Tin; the expansion section reads the compressed image data for the single frame over a fixed read time period Tout; and the inhibit time period Ts is (i) not shorter than a critical time period Td and (ii) shorter than the read time period Tout, the critical time period Td being, in a case where Tin>Tout, represented by [Math. 1] above, and, in a case where Tin<Tout, represented by [Math. 2] above.
The above arrangement makes it possible to prevent tearing even in such a case where image data is compressed to be recorded in a frame memory while the inhibit time period Ts is shorter than the read time period Tout.
A memory control device according to mode 4 of the present invention is arranged as in any one of modes 1 to 3 above, and may be further arranged such that the compression section compresses the image data for the single frame into a size not larger than an upper limit value Vsize; and the predetermined recording capacity is not smaller than Vsize and not larger than Vsize×11/10.
The above arrangement allows the frame memory to have a minimally required recording capacity.
A memory control device according to mode 5 of the present invention is a memory control device, including: a frame memory having a predetermined recording capacity; a compression section for (i) compressing image data for a single frame, the image data being transferred from a host, into a size not larger than an upper limit value Vsize and (ii) writing the compressed image data into the frame memory; and an expansion section for (i) reading the compressed image data from the frame memory, (ii) expanding the compressed image data, and (iii) transferring the expanded image data to a display control section, the predetermined recording capacity of the frame memory being so set as to prevent coincidence between a range of a move of a read position over the frame memory and a range of a move of a write position over the frame memory.
The above arrangement makes it possible to prevent tearing even in such a case where image data is compressed to be recorded in a frame memory.
A memory control device according to mode 6 of the present invention is arranged as in mode 5 above, and may be further arranged such that the compression section starts writing compressed image data for a second frame at a position that follows a position at which the compression section ended writing compressed image data for a first frame immediately previous to the second frame; and the predetermined recording capacity of the frame memory is so set that the read position for the compressed image data for the first frame which read position moves over the frame memory most slowly is not overtaken by the write position for the compressed image data for the second frame which write position moves over the frame memory most rapidly.
A memory control device according to mode 7 of the present invention is arranged as in mode 5 or 6 above, and may be further arranged such that the compression section has (i) a maximum write rate that is α times an average write rate and (ii) a minimum write rate that is β times the average write rate; the expansion section has (i) a maximum read rate that is α times an average read rate and (ii) a minimum read rate that is β times the average read rate; the compression section writes the compressed image data for the single frame over a fixed write time period Tin; the expansion section reads the compressed image data for the single frame over a fixed read time period Tout; and the predetermined recording capacity of the frame memory is (i) larger than a sum of Vsize and an additional capacity Va and (ii) smaller than twice Vsize, the additional capacity Va being a recording capacity that is, in a case where Tin>Tout, represented by [Math. 3] above, and, in a case where Tin<Tout, represented by [Math. 4] above.
The above arrangement makes it possible to prevent tearing even in such a case where image data is compressed to be recorded in a frame memory while the predetermined recording capacity of the frame memory is smaller than twice Vsize.
A memory control device according to mode 8 of the present invention is arranged as in mode 7 above, and may be further arranged such that the predetermined recording capacity of the frame memory is (i) larger than Vsize+Va and (ii) not larger than (Vsize+Va)×11/10.
The above arrangement allows the frame memory to have a minimally required recording capacity.
A memory control device according to mode 9 of the present invention is arranged as in mode 1 or 6 above, and may be further arranged such that the compression section starts writing the compressed image data for the second frame at a position on the frame memory which position is near a position at which the compression section ended writing the compressed image data for the first frame.
The above arrangement allows the frame memory to be used efficiently, and thus allows the frame memory to have a small size.
A mobile terminal according to mode 10 of the present invention is a mobile terminal, including a memory control device according to any one of modes 1 to 9.
The present invention is not limited to the description of the embodiments above, but may be altered in various ways by a skilled person within the scope of the claims. Any embodiment based on a proper combination of technical means disclosed in different embodiments is also encompassed in the technical scope of the present invention. Further, combining technical means disclosed in different embodiments can provide a new technical feature.
The present invention is applicable to a memory control device and a mobile terminal.
Number | Date | Country | Kind |
---|---|---|---|
2013-094719 | Apr 2013 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2014/059252 | 3/28/2014 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2014/174993 | 10/30/2014 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
7336317 | Yui | Feb 2008 | B2 |
8355587 | Chen | Jan 2013 | B2 |
20050105001 | Yui et al. | May 2005 | A1 |
20060034326 | Anderson et al. | Feb 2006 | A1 |
20060161691 | Katibian et al. | Jul 2006 | A1 |
20060164424 | Wiley et al. | Jul 2006 | A1 |
20060168496 | Steele et al. | Jul 2006 | A1 |
20060171414 | Katibian et al. | Aug 2006 | A1 |
20060179164 | Katibian et al. | Aug 2006 | A1 |
20060179384 | Wiley et al. | Aug 2006 | A1 |
20060288133 | Katibian et al. | Dec 2006 | A1 |
20070146810 | Kubo et al. | Jun 2007 | A1 |
20080036631 | Musfeldt | Feb 2008 | A1 |
Number | Date | Country |
---|---|---|
1992816 | Jul 2007 | CN |
2005-124167 | May 2005 | JP |
2007-178851 | Jul 2007 | JP |
2010-026394 | Feb 2010 | JP |
2011-041290 | Feb 2011 | JP |
2011-158532 | Aug 2011 | JP |
2014-052548 | Mar 2014 | JP |
Entry |
---|
Official Communication issued in International Patent Application No. PCT/JP2014/059252, mailed on Apr. 28, 2014. |
Number | Date | Country | |
---|---|---|---|
20160078851 A1 | Mar 2016 | US |