DATA PROCESSING APPARATUS FOR TRANSMITTING/RECEIVING COMPRESSED DISPLAY DATA WITH IMPROVED ERROR ROBUSTNESS AND RELATED DATA PROCESSING METHOD
A data processing apparatus has a compressor and an output interface. The compressor performs compression upon an input display data to generate a compressed display data, wherein an error-resilient coding tool is involved in the compression. The output interface packs an output display data derived from the compressed display data into an output bitstream, and outputs the output bitstream via a display interface, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA).
This application claims the benefit of U.S. provisional application No. 61/954,667, filed on Mar. 18, 2014 and incorporated herein by reference.
BACKGROUNDThe disclosed embodiments of the present invention relate to transmitting display data over a display interface, and more particularly, to a data processing apparatus for transmitting/receiving compressed display data with improved error robustness and a related data processing method.
A display interface is disposed between a first chip and a second chip to transmit display data from the first chip to the second chip for further processing. For example, the first chip may be a host application processor, and the second chip may be a driver integrated circuit (IC). The display data may include image data, video data, graphic data, and/or OSD (on-screen display) data. Besides, the display data may be single view data for two-dimensional (2D) display or multiple view data for three-dimensional (3D) display. When a display panel supports a higher display resolution, 2D/3D display with higher resolution can be realized. Hence, the display data transmitted over the display interface would have a larger data size/data rate, which increases the power consumption of the display interface inevitably. If the host application processor and the driver IC are both located at a portable device (e.g., a smartphone) powered by a battery device, the battery life is shortened due to the increased power consumption of the display interface. Thus, there is a need for an innovative design which can effectively reduce the power consumption of the display interface.
SUMMARYIn accordance with exemplary embodiments of the present invention, a data processing apparatus for transmitting/receiving compressed display data with improved error robustness and a related data processing method are proposed.
According to a first aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes a compressor and an output interface. The compressor is arranged to perform compression upon an input display data to generate a compressed display data, wherein an error-resilient coding tool is involved in the compression. The output interface is arranged to pack an output display data derived from the compressed display data into an output bitstream, and output the output bitstream via a display interface, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA).
According to a second aspect of the present invention, an exemplary data processing apparatus is disclosed. The exemplary data processing apparatus includes an input interface and a de-compressor. The input interface is arranged to receive an input bitstream from a display interface, and un-pack the input bitstream into an input display data, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA). The de-compressor is arranged to perform decompression upon a compressed display data derived from the input display data to generate a de-compressed display data, wherein an error detection and an error concealment are involved in the decompression.
According to a third aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes: utilizing a compressor to perform compression upon an input display data to generate a compressed display data, wherein an error-resilient coding tool is involved in the compression; packing an output display data derived from the compressed display data into an output bitstream; and outputting the output bitstream via a display interface, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA).
According to a fourth aspect of the present invention, an exemplary data processing method is disclosed. The exemplary data processing method includes: receiving an input bitstream from a display interface, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA); un-packing the input bitstream into an input display data; and utilizing a de-compressor to perform decompression upon a compressed display data derived from the input display data and generate a de-compressed display data, wherein an error detection and an error concealment are involved in the decompression.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
Certain terms are used throughout the description and following claims to refer to particular components. As one skilled in the art will appreciate, manufacturers may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following description and in the claims, the terms “include” and “comprise” are used in an open-ended fashion, and thus should be interpreted to mean “include, but not limited to . . . ”. Also, the term “couple” is intended to mean either an indirect or direct electrical connection. Accordingly, if one device is coupled to another device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
The concept of the present invention is to apply data compression upon display data and then transmit compressed display data over a display interface. As the data size/data rate of the compressed display data is smaller than that of the original un-compressed display data, the power consumption of the display interface is reduced correspondingly. However, bit error(s) may occur during data transmission between an encoder side (e.g., an application processor) and a decoder side (e.g., a driver IC). When data compression is applied to the display data, error pixels resulting from bit error(s) introduced during compressed data transmission will be propagated and shown on a display apparatus, where the size of an error propagation area is related to a compression unit size. To improve error robustness of the display data compression, the present invention further proposes adding at least one error-resilient coding tool to a compressor and/or configuring a de-compressor to have an error detection and error concealment capability. Further details will be described as below.
The application processor 102 is coupled to the display interface 103, and supports un-compressed data transmission and compressed data transmission. When the application processor 102 is used to transmit un-compressed data to the driver IC 104, the application processor 102 generates an output display data D_OUT1 according to a source display data D_IN1 provided by an external data source 105, where the output display data D_OUT1 is derived from un-compressed display data D1, and the un-compressed display data D1 is derived from the source display data D_IN1. When the application processor 102 is used to transmit compressed data to the driver IC 104, the application processor 102 generates the output display data D_OUT1 according to the source display data D_IN1 provided by the external data source 105, where the output display data D_OUT1 is derived from compressed display data D1′, the compressed display data D1′ is derived from an input display data D3, and the input display data D3 is derived from the un-compressed display data D1 or the source display data D_IN1. When the application processor 102 enables one of the un-compressed data transmission and the compressed data transmission, the application processor 102 further transmits the output display data D_OUT1 over the display interface 103. By way of example, but not limitation, the data source 105 may be a camera sensor, a memory card or a wireless receiver, and the source display data D_IN1 may include image data, video data, graphic data, and/or OSD data. Further, the source display data D_IN1 may be single view data for 2D display or multiple view data for 3D display.
As shown in
The compressor 117 is configured to perform display data compression. Hence, the compressor 117 performs compression upon the input display data D3 to generate the compressed display data D1′. In one exemplary design, the input display data D3 may be the source display data D_IN1 provided by the data source 105. In another exemplary design, the input display data D3 may be the un-compressed display data D1 provided by the other circuitry 118.
The multiplexer of the other circuitry 118 receives the un-compressed display data D1 and the compressed display data D1′, and selectively outputs the un-compressed display data D1 or the compressed display data D1′ according to the operation mode of the application processor 102. For example, the display controller 112 controls the operation of the application processor 102. Hence, when the application processor 102 is operated under a compression mode, the multiplexer is controlled by the display controller 112 to output the compressed display data D1′ to be the output display data D_OUT1; and when the application processor 102 is operated under a non-compression mode, the multiplexer is controlled by the display controller 112 to output the un-compressed display data D1 to be the output display data D_OUT1. As the present invention focuses on the error-robust display data compression, further description of the other circuit 118 is omitted here for brevity. The output interface 114 is arranged for packing/packetizing the output display data D_OUT1 into an output bitstream according to the transmission protocol of the display interface 103, and transmits the output bitstream to the driver IC 104 via the display interface 103.
Concerning the error-robust display data compression, at least one error-resilient coding tool is involved in the compression performed by the compressor 117. For example, the compressor 117 may employ at least one of the proposed error-resilient coding tools, including compression-unit interleaving, data partitioning, constrained coding reference and redundancy information insertion, to achieve the error-robust display data compression. Further details of the proposed error-resilient coding tools are described as below.
To mitigate the image quality degradation caused by the error propagation, the compressor 117 can be configured to perform the display data compression with compression-unit interleaving, as illustrated in sub-diagram (B) of
The data segments derived from partitioning and organizing the compressed data of the compression unit may include at least a first data segment with a first priority and a second data segment with a second priority. The compressor 117 configures error detection and correction capability of the first data segment and the second data segment based on the priority order of the first priority and the second priority. For example, the priority of the transport header of the output bitstream is higher than the priority of the compression header of the compression unit, the priority of the compression header of the compression unit is higher than the priority of the sub-stream header in the compression payload of the compression unit, and the priority of the sub-stream header in the compression payload of the compression unit is higher than the priority of the sub-stream payload in the compression payload of the compression unit. The compressor 115 configures an error correction code or a cyclic redundancy check (CRC) checksum to improve the error resilience, where the error detection and correction capability depends on the priority order. For example, the compressor 117 generates an error correction code for a data segment with a higher priority, but does not generate an error correction code for a data segment with a lower priority. For another example, the compressor 117 generates an error correction code with stronger error detection and correction capability for a data segment with a higher priority, and generates an error correction code with weaker error detection and correction capability for a data segment with a lower priority. However, these are for illustrative purposes only, and are not meant to be limitations of the present invention.
To mitigate the image quality degradation caused by the error propagation, the compressor 117 can be configured to perform the display data compression with constrained coding reference for prediction, as illustrated in sub-diagram (B) of
To mitigate the image quality degradation caused by the error propagation, the compressor 117 can be configured to perform the display data compression with constrained coding reference for rate control, as illustrated in sub-diagram (B) of
When the error-resilient coding tool involved in the compression is the redundant information insertion, the redundant information may include a re-synchronization marker, an error correction code, and/or a copy of at least a portion of the compressed display data.
Please refer to
As shown in
The de-compressor 127 performs decompression upon the compressed display data D2′ derived from the input display data D_IN2 to generate the de-compressed display data D4, where an error detection and an error concealment are involved in the decompression. The de-compressor 127 may detect bit error(s) in the compressed display data D2′ through a bitstream-level detection, or detect bit error(s) in the de-compressed display data D4 through a pixel-level detection.
In one exemplary design of the bitstream-level detection, the de-compressor 127 detects error(s) in the compressed display data D2′ by checking at least one error correction code (e.g., at least one CRC checksum) of the compressed display data D2′. For example, as shown in
Concerning the pixel-level detection, the de-compressor 127 detects error(s) in the de-compressed display data D4 by checking smoothness of at least one boundary, wherein the at least one boundary is between two de-compressed compression units, or is between two de-compressed coding units in the same compression unit. When a compressed compression unit (or a compressed coding unit) has bit error(s), the error propagation will degrade the image quality of a corresponding de-compressed compression unit (or de-compressed coding unit). The boundary between a corrupted compression unit (or corrupted coding unit) and a neighboring compression unit (or neighboring coding unit) will have unnatural image characteristics. Hence, when a smoothness level at a boundary between two de-compressed compression units (or two de-compressed coding units in the same compression unit) is lower than a threshold, the de-compressor 127 may determine that at least one of the de-compressed compression units (or de-compressed coding units) has error(s). When the smoothness level at the boundary between two de-compressed compression units (or two de-compressed coding units in the same compression unit) is not lower than the threshold, the de-compressor 127 may determine that both of the de-compressed compression units (or de-compressed coding units) are error-free.
After the error detection performed by the de-compressor 127 detects occurrence of error(s), the de-compressor 127 is operative to perform an error concealment operation to conceal corrupted de-compressed compression units to avoid image quality degradation.
When the driver IC 104 is operated in the image/command mode to drive the display panel 106, the compressed display data D2′ is stored into the display buffer 1104, the de-compressor 127 de-compresses the compressed display data D2′ read from the display buffer 1104 to generate the de-compressed display data D4 to a second input port P2 of the MUX 1106, and the MUX 1106 outputs the de-compressed display data D4 received at the second input port P2 to the display panel 106. In addition, the switch 1102 is controlled by the error detection performed by the de-compressor 127. For example, when the de-compressor 127 detects error(s) during processing of a current frame, the de-compressor 127 may control the switch 1102 to disconnect the display buffer 1104 from a compressed data input, such that the remaining compressed data of the current frame is not stored into the display buffer 1104. When the compressed data of a next frame (e.g., re-transmitted compressed data of the current frame) is available at the compressed data input, the de-compressor 127 may control the switch 1102 to connect the display buffer 1104 to the compressed data input, thereby allowing the compressed data of the next frame (e.g., re-transmitted compressed data of the current frame) to overwrite data of the corrupted frame in the display buffer 1104. However, this is for illustrative purposes only, and is not meant to be a limitation of the present invention. The switch 1102 shown in
Regarding the examples shown in
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Claims
1. A data processing apparatus comprising:
- a compressor, arranged to perform compression upon an input display data to generate a compressed display data, wherein an error-resilient coding tool is involved in the compression; and
- an output interface, arranged to pack an output display data derived from the compressed display data into an output bitstream, and output the output bitstream via a display interface, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA).
2. The data processing apparatus of claim 1, wherein the input display data comprises a display data of a frame, and the error-resilient coding tool comprises:
- partitioning a region in the frame into a plurality of sub-regions; and
- selecting interleaved sub-regions from the sub-regions to form one compression unit.
3. The data processing apparatus of claim 1, wherein the compressed display data comprises a compression data of a compression unit in a frame, and the error-resilient coding tool comprises:
- partitioning and organizing the compressed data of the compression unit into a plurality of data segments, wherein the data segments include at least a first data segment with a first priority and a second data segment with a second priority; and
- configuring error detection and correction capability of the first data segment and the second data segment based on a priority order of the first priority and the second priority.
4. The data processing apparatus of claim 1, wherein the input display data comprises a display data of a frame, and the error-resilient coding tool comprises:
- blocking an intra compression-unit prediction provided by a first coding unit in a compression unit of the frame from being used for encoding a second coding unit in the compression unit, wherein the second coding unit is different from the first coding unit.
5. The data processing apparatus of claim 1, wherein the input display data comprises a display data of a frame, and the error-resilient coding tool comprises:
- blocking an inter compression-unit prediction provided by a coding unit in a first compression unit of the frame from being used for encoding a coding unit in a second compression unit of the frame, wherein the first compression unit is different from the second compression unit.
6. The data processing apparatus of claim 1, wherein the input display data comprises a display data of a frame, and the error-resilient coding tool comprises:
- blocking a remaining bit budget left from encoding of a first coding unit in a compression unit of the frame from being used for configuring a bit budget allocated to a second coding unit in the compression unit, wherein the second coding unit is different from the first coding unit.
7. The data processing apparatus of claim 1, wherein the input display data comprises a display data of a frame, and the error-resilient coding tool comprises:
- blocking a remaining bit budget left from encoding of a coding unit in a first compression unit of the frame from being used for configuring a bit budget allocated to a coding unit in a second compression unit of the frame, wherein the first compression unit is different from the second compression unit.
8. The data processing apparatus of claim 1, wherein the error-resilient coding tool comprises:
- inserting at least one re-synchronization marker into the compressed display data, wherein the at least one re-synchronization marker is uniquely identifiable in the compressed display data.
9. The data processing apparatus of claim 1, wherein the error-resilient coding tool comprises:
- calculating at least one error correction code according to the compressed display data; and
- adding the at least one error correction code to the compressed display data.
10. The data processing apparatus of claim 1, wherein the error-resilient coding tool comprises:
- generating a copy of at least a portion of the compressed display data to the output interface.
11. A data processing apparatus comprising:
- an input interface, arranged to receive an input bitstream from a display interface, and un-pack the input bitstream into an input display data, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA); and
- a de-compressor, arranged to perform decompression upon a compressed display data derived from the input display data to generate a de-compressed display data, wherein an error detection and an error concealment are involved in the decompression.
12. The data processing apparatus of claim 11, wherein the error detection comprises:
- detecting error(s) in the compressed display data by checking at least one error correction code of the compressed display data.
13. The data processing apparatus of claim 11, wherein the error detection comprises:
- detecting error(s) in the compressed display data by checking occurrence of at least one illegal syntax in the compressed display data.
14. The data processing apparatus of claim 11, wherein the error detection comprises:
- detecting error(s) in the de-compressed display data by checking smoothness of at least one boundary, wherein the at least one boundary is between two de-compressed compression units, or is between two de-compressed coding units in a same compression unit.
15. The data processing apparatus of claim 11, wherein the de-compressed display data comprises a de-compressed data of a frame, and the error concealment comprises:
- concealing a first de-compressed compression unit with error(s) by a second de-compressed compression unit, wherein the first de-compressed compression unit and the second de-compressed compression unit are in the frame.
16. The data processing apparatus of claim 11, wherein the de-compressed display data comprises a de-compressed data of a frame, and the error concealment comprises:
- concealing a first de-compressed compression unit with error(s) by an interpolated compression unit, wherein the interpolated compression unit is derived from interpolating at least one second de-compressed compression unit, and the first de-compressed compression unit and the at least one second de-compressed compression unit are in the frame.
17. The data processing apparatus of claim 11, wherein the de-compressed display data comprises a de-compressed data of a first frame and a de-compressed data of a second frame, and the error concealment comprises:
- concealing a first de-compressed compression unit with error(s) by a second de-compressed compression unit, wherein the first de-compressed compression unit is in one of the first frame and the second frame, and the second de-compressed compression unit is in another of the first frame and the second frame.
18. A data processing method comprising:
- utilizing a compressor to perform compression upon an input display data to generate a compressed display data, wherein an error-resilient coding tool is involved in the compression;
- packing an output display data derived from the compressed display data into an output bitstream; and
- outputting the output bitstream via a display interface, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA).
19. A data processing method comprising:
- receiving an input bitstream from a display interface, wherein the display interface is one of a display serial interface (DSI) standardized by a Mobile Industry Processor Interface (MIPI) and an embedded display port (eDP) standardized by a Video Electronics Standards Association (VESA);
- un-packing the input bitstream into an input display data; and
- utilizing a de-compressor to perform decompression upon a compressed display data derived from the input display data to generate a de-compressed display data, wherein an error detection and an error concealment are involved in the decompression.
Type: Application
Filed: Mar 18, 2015
Publication Date: Nov 24, 2016
Inventors: Chi-Cheng Ju (Hsinchu City), Tsu-Ming Liu (Hsinchu City)
Application Number: 15/114,408