Tile-Based Image Processing for Client Data Size Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current image transmission protocols, such as JPIP, struggle to efficiently manage data size limitations on the client side, leading to incomplete or improperly rendered images due to the server's inability to dynamically adjust data transmission based on client requests for partial regions, resolution, and quality.
Innovation Solution
An image processing method that segments encoded data into tiles, allowing for flexible transmission of logical units and header data based on client requests, with the option to designate an upper limit value for data size, ensuring efficient data transfer and proper rendering of images by prioritizing central image regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the server transmits data in a preset transmission order without considering the size limitation of reception data on the client side, then the transmission process is simple, but the client may display only some of requested regions at high definition or display adjacent regions unnaturally at very low resolution
Solution Approach 1:
The transmission order of tiles is made dynamic rather than fixed. The server adjusts the transmission sequence based on real-time feedback about client-side reception data size limitations, switching between preset order and demand-driven order as needed to optimize both simplicity and quality
Solution Approach 2:
The system implements feedback mechanisms where the client informs the server about reception data size limitations, and the server responds by adjusting the transmission order accordingly. This feedback loop ensures that transmission simplicity does not compromise image rendering quality
2Manufacturing precision
If the server sets and encodes important regions every time it receives a request, then the important regions are highlighted, but the server cannot cope with various requests (partial region access, resolution switching, image quality switching, color/monochrome switching) from the client
Solution Approach 1:
The image is divided into multiple tiles that can be independently transmitted and processed. This segmentation allows the server to handle various requests (partial region access, resolution switching, quality switching) by selectively transmitting only the needed tiles without re-encoding the entire image each time
Solution Approach 2:
The server pre-divides the image into tiles and stores them in a ready-to-transmit state. When requests arrive, the server can immediately select and transmit appropriate tiles without performing time-consuming re-encoding operations, thus maintaining both region highlighting and request adaptability
3Reliability
If the client caches received fragmentary encoded data to decode the image, then the image can be displayed, but the client cannot transmit to the server side a request to limit the size of response data
Solution Approach 1:
The response data size is made dynamic rather than fixed. The server adjusts the amount of data transmitted based on client-side cache capabilities and reception limits, allowing the client to request size limitations while still receiving enough data for proper image decoding and display
Data Source
AI summary
A transmission request for encoded data necessary to obtain a desired image is received (S801). It is determined whether the upper limit value of the data quantity of encoded data of a tile to be sent back in response to the transmission request is designated (S802). When the upper limit value is designated, encoded data of tiles to be sent back are referred to in a desired tile order. Of data of logical units which form the encoded data of a tile to be referred to, data of a logical unit corresponding to the transmission request and header data of the logical unit are output to a memory. The data size is counted in an output order, and a data group which is output until the counting result exceeds the upper limit value is sent back (S806 and S807).


