(a) Field of the Invention
The invention relates to a remote multiple image processing apparatus, particularly to a remote multiple image processing apparatus for multiple users.
(b) Description of the Related Art
Currently, a usual computer can not be operated remotely by multiple users under the three dimensional image processing mode due to the limitations such as the graphic card and the transmission bandwidth limitation, etc. Therefore, it is inconvenient in use for some locations, such as a small office or home local area network.
Therefore, in order to solve the above-mentioned problem, one object of the invention is to provide a remote multiple image processing apparatus via usual transmission cables, such as network cables, to transmit data.
One object of the invention is to provide a remote multiple image processing apparatus to reduce production cost.
One object of the invention is to provide a remote multiple image processing apparatus to reduce purchasing cost for consumers.
One object of the invention is to provide a remote multiple image processing apparatus to greatly extend the transmission distance.
One object of the invention is to provide a remote multiple image processing apparatus to reduce bandwidth usage effectively.
One object of the invention is to provide a remote multiple image processing apparatus for multiple users simultaneously.
One embodiment of the invention provides a remote multiple image processing apparatus. The remote multiple image processing apparatus comprises a graphic processing unit, a memory unit, an image compression unit, a transmission unit, and a transmission medium. The graphic processing unit receives at least an image frame including a plurality of image blocks, and determines the degree of the difference between the current input image block and the previous input image block. The memory unit, coupling to the graphic processing unit, stores the current image blocks. The image compression unit, coupling to the memory unit, compresses the image blocks to generate a compressed datum. The transmission unit, coupling to the image compression unit, transforms the compressed datum into at least a data packet. The transmission medium outputs the data packet.
Furthermore, another embodiment of the invention provides a remote multiple image processing method. The method comprises the following steps. At first, at least an image frame including a plurality of image blocks is received. The degree of the difference between the current input image block and the previous input image block is determined. The current input image block and the previous input image block each comprise a color datum and a flag datum. Then, the current input image block is stored and compressed to generate a compressed datum. Following that, the compressed datum is transformed into a data packet and then the data packet is transmitted. It should be noted that, when the color data of the current input image block and the previous input image block are different, the flag data are updated stored in the memory unit. Whether the current input image block is compressed or not is determined by the flag data.
One embodiment of the invention provides a remote multiple image processing apparatus. The remote multiple image processing apparatus comprises a de-multiplexer and at least one client processing circuit. The de-multiplexer receives a data packet and outputs the data packet according to a command. The client processing circuit comprises at least a transmission unit and at least a de-compression unit. The transmission unit receives the data packet and transforms the data packet into a compressed datum. The de-compression unit, coupling to the transmission unit, decompresses the compressed datum to generate an image frame datum.
The remote multiple image processing apparatus and method thereof according to the embodiments of the invention determine the difference between the current input image block and the previous input image block, use the compression unit to compress the block being different, and finally use the transmission unit for output. Accordingly, the remote multiple image processing apparatus and method thereof according to the embodiments of the invention not only reduce the bandwidth usage during transmission but also perform long-distance data transmission via the transmission medium, such as network cables or optical fibers on the premise of low cost. Furthermore, in the transmission device of the embodiment, the physical layer circuit can be implemented by the current device having the physical layer circuit to achieve the purpose of reducing production cost.
On the other hand, the server and the client of the remote multiple image processing apparatus utilize the transmission medium, de-multiplexer, and client processing circuit to operate in coordination so that each remote user can share the resource of the same computer only by connecting the display device with a remote client processing apparatus. Since the server of the remote multiple image processing apparatus utilizes the compression technology to accelerate the transmission rate, multiple users can remotely share the resource of the same computer under the three dimensional image mode so that each display device can function like a computer for each user. Thus, for an office or home local area network, multiple computers and multiple display devices are not needed and space for multiple computers can be saved because only one computer and multiple display devices are needed. The usage of apparatuses can be used simultaneous and more effectively. Therefore, the remote multiple image processing apparatus and method thereof according to the embodiments of the invention can greatly reduce design budget and production cost under the same or better transmission efficiency as that in the prior technology.
Please refer to
The server of the remote multiple image processing apparatus 100 comprises a graphic processing unit 101, a memory unit 102, a compression unit 103 and a transmission unit 104. The coupling relationship of the above units is shown in
The graphic processing unit 101 receives an input frame Mn (n is an integer and less than infinity) via the PCIe interface. The input frame Mn comprises a plurality of image blocks BK. In this embodiment, as shown in
Since the server of the remote multiple image processing apparatus 100 needs to serve multiple users (Client_1˜Client_n), the image data volume for transmission is very large. In one embodiment, in order to normally transmit the image data, the flag data portion Fd is used to determine how to compress so as to achieve the purpose of saving bandwidths. Certainly, the compression method is not limited to the above example and any current or future compression method can be used.
For example, the detailed operational principle of using a flag to compress data is given in the following.
At first, the graphic processing unit 101 receives an input frame M0 via the PCIe interface and stores Cd_M0 and Fd_M0 of the frame M0 in the memory unit 102. At the same time, the data of the frame M0 are transmitted via the compression unit 103, the transmission unit 104 and the transmission medium 105 to the client for display.
In one embodiment, the method for storing data in the memory unit 102 is shown on the right-hand side of
Then, the graphic processing unit 101 again receives an input frame M1 and compares the color datum Cd_M1 of the input frame M1 with the color datum Cd_M0 of the frame M0 temporarily stored in the memory unit 102. That is, the pixel of the input frame M1 is compared to the corresponding pixel at the same position of the input frame M0. For example, when the color datum of the first image block BK1 of the input frame M0 is the same as that of the first image block BK1 of the input frame M1, no storing or updating operation will be done for the color datum Cd_M0 and the flag datum Fd_M0 stored in the memory unit 102 and thus the flag datum Fd_M0 is still logic 0.
On the contrary, when the color datum of the first image block BK1 of the input frame M 1 is different from that of the first image block BK1 of the input frame M 0, the color datum Cd_M0 and the flag datum Fd_M0 stored in the memory unit 102 are updated and thus the color datum Cd_M0 is updated to Cd_M1 and the flag datum Fd_M0 is updated to Fd_M1. It should be noted that those who are skilled in the art should understand that any other frame M can be processed in the same manner as described in the above. Thus, the details will not be given hereafter.
As described in the above, the compression unit 103 determines the image block BK with the flag datum Fd being logic 1 in the memory unit 102 and then compresses the image block BK with the flag datum Fd being logic 1 to generate a compressed datum C. Then, the compressed datum C is transmitted to the data link layer 104a to be appended with a header and a cyclic redundancy check (CRC) or error correction code (ECC) and then assembled to generate a data packet N for being transmitted to the physical layer circuit 104b. The physical layer circuit 104b then processes the transmission of the data packet N via the transmission medium 105. On the other hand, the image block being logic 0 in the memory unit 102 will not be compressed by the compression unit 103 and does not need to be repeatedly transmitted by the transmission unit 104. Thus, the server of the remote multiple image processing apparatus 100 does not have to repeatedly process the same content of the image data and transmit the same data to the client so as to accelerate the processing speed and reduce the bandwidth usage.
It should be noted that the method for compressing the image blocks BK1˜BKn by the compression unit 103 according to the embodiment can use a sequentially compressing, non-sequentially compressing, compressing m blocks (m is a positive integer and m≦n) each time, selectively compressing (compressing with a preset priority), or any current or future compression method. The physical layer circuit 104b of the embodiment can be implemented by the current device having the physical layer circuit, such as a modulator-demodulator (modem), IP sharing, router, etc., with or without modification. Therefore, the design budget and production cost can be reduced. Certainly, the physical layer circuit 104b can also be designed by research staff or be implemented by the circuit having the physical layer to be developed in the future. Besides, the physical layer circuit 104b of the embodiment can be operated at various different transmission rates, such as 10M bit, 100M bit, 1 giga bit or higher transmission rate (transmission rate can be preset by the designer). The transmission medium 105 of the embodiment can be the network cable or optical fiber. For example, the cables with the common specification of CAT-5, CAT-5e, CAT-6 or other higher rate can be used because of low cost. Therefore, production cost can be greatly reduced under the same or better transmission efficiency compared to the prior art. Certainly, the invention is not limited to this example and can use any current or future popular transmission cables. In one embodiment, the data packet N is a network packet or a packet without internet protocol (IP) data while in another embodiment the data packet N can be any data packet with any current or future specification.
In addition, in another embodiment, the image block BK also includes a preset number of pixels. In other words, If any pixel of the image block BK1 (including a preset number of pixels) of the input frame M1 is different from the corresponding pixel of the image block BK1 (including a preset number of pixels) of the input frame M0, the compression unit 103 compresses the image block BK1 directly to generate a compressed datum C and transmits the compressed datum C to the transmission unit 104 for processing to generate the data packet N for output. On the contrary, when the data of the image block BK1 (including a preset number of pixels) of the input frame M1 are the same as those of the image block BK1 (including a preset number of pixels) of the input frame M0, the compression unit 103 does not perform compression and the transmission unit 104 does not transmit any data packet, either, in order to reduce the bandwidth usage.
In another embodiment, the image block BK may be a whole frame. If any pixel in the input frame M1 is different from that in the input frame M0, the compression unit 103 compresses the input frame M1 directly and the compressed datum C is processed by the transmission unit 104 to generate a data packet N and the data packet N is outputted. On the contrary, if all of the pixel data of the input frame M1 are same as those of the input frame M0, the compression unit 103 does not perform compression and the transmission unit 104 does not transmit any data packet, either, in order to reduce the bandwidth usage in the manner.
In another embodiment, the image block BK may be a whole frame. If any pixel in the input frame M1 is different from that in the input frame M0, the compression unit 103 does not perform the compression. The compression unit 103 only narrows down the area of the image block BK into the area having different pixels between the input frame M1 and the input frame M0. Then, the compression unit 103 may compress the areas having different pixels between the frame M1 and M0 so as to reduce the bandwidth usage.
It should be noted that the above memory unit 102 is implemented by the dynamic random access memory (DRAM). Certainly, the memory unit 102 can be implemented by a built-in frame buffer in the graphic processing unit 101. In other words, the screen image for each different user (client) is processed by the same graphic processing unit 101 and then stored in the different position of its built-in frame buffer for subsequent processing like compression and transmission. The operational principles for compression and transmission are the same as the above and will not be described hereafter.
Furthermore, in this embodiment, the storage position of the flag Fd is from the additional memory space while in another embodiment the bit not being used by the pixel can be used to store the flag Fd. For example, if the screen is full color, red, green, and blue (R/G/B) primary colors are represented by 8 bits and thus 24 bits are used. If one pixel is represented by 32 bits, there are 8 bits available. The remote multiple image processing apparatus according to the embodiment of the invention can use these available spaces to store the flag Fd so that the hardware cost can be reduced.
On the other hand, in one embodiment, the flag Fd does not need to record the change of every pixel precisely. In order to accelerate the processing speed, the flag Fd indicates the combined change of a block of the frame, a row of the frame, or several rows of the frame. As long as there is change on some pixel within these regions, the flag of the whole region can be set to logic 1 (having variation). In the same manner, the remote multiple image processing apparatus according to the embodiment of the invention can reduce the time for comparing the flags to accelerate the processing speed.
Step S202: start;
Step S204: determining if the current image block is different from the previous image block and then jumping to S206 if yes and to S205 if no;
Step S205: jumping to Step S214 without processing the image block;
Step S206: storing the current image block;
Step S208: compressing the current image block and generating a compressed datum;
Step S210: transforming the compressed datum into a data packet;
Step S212: transmitting the data packet via a transmission medium;
Step S214: end.
The server and the client of the remote multiple image processing apparatus according to the embodiments of the invention utilize the transmission medium, de-multiplexer, and client processing circuit to operate in coordination so that each remote user can share the resource of the same computer only by connecting the display device with a remote client processing apparatus. Since the server of the remote multiple image processing apparatus utilizes the compression technology to accelerate the transmission rate, multiple users can remotely share the resource of the same computer under the three dimensional image mode so that each display device can function like a computer for each user. Thus, for an office or home local area network, multiple computers and multiple display devices are not needed and space for multiple computers can be saved because only one computer and multiple display devices are needed. The usage of apparatuses can be more effectively. Besides, the remote multiple image processing apparatus and method thereof according to the embodiments of the invention not only reduce the bandwidth usage during transmission but also perform long-distance data transmission via the transmission medium, such as network cables or optical fibers on the premise of low cost. Furthermore, in the transmission device of the embodiment, the physical layer circuit can be implemented by the current device having the physical layer circuit to achieve the purpose of reducing production cost.
Although the present invention has been fully described by the above embodiments, the embodiments should not constitute the limitation of the scope of the invention. Various modifications or changes can be made by those who are skilled in the art without deviating from the spirit of the invention.