KR20190013151A - Multi-thread Based Big Image Display Acceleration Method - Google Patents
Multi-thread Based Big Image Display Acceleration Method Download PDFInfo
- Publication number
- KR20190013151A KR20190013151A KR1020170097297A KR20170097297A KR20190013151A KR 20190013151 A KR20190013151 A KR 20190013151A KR 1020170097297 A KR1020170097297 A KR 1020170097297A KR 20170097297 A KR20170097297 A KR 20170097297A KR 20190013151 A KR20190013151 A KR 20190013151A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- buffer
- image buffer
- image data
- chip
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Abstract
Description
본 발명은 대용량 이미지 표시 가속화 시스템에 대한 것으로, 보다 구체적으로, 대용량 칩 이미지를 처리하기 위한 대용량 이미지 표시 가속화 시스템 및 방법에 관한 것이다. The present invention relates to a large capacity image display acceleration system, and more particularly, to a large capacity image display acceleration system and method for processing a large capacity chip image.
사용자와의 대화방식으로 데이터를 교환하면서 설계를 지원하는 캐드 소프트웨어는 기본적으로 그래픽 사용자 인터페이스를 제공한다. 일반적으로 반도체 설계에 사용되는 데이터의 종류로는 C 코드, Verilog 코드, EDIF 형식 파일, GDSII 형식 파일 등으로서 순수한 텍스트 데이터이거나 그림으로 표현되는 좌표 데이터이다. 또한, 대용량의 이미지 데이터를 직접 사용하는 캐드툴은 역공학 캐드 소프트웨어만이 사용되고 있다.The CAD software that supports the design while exchanging data with the user interactively provides a graphical user interface by default. Generally, the data used in the semiconductor design are C code, Verilog code, EDIF format file, GDSII format file, and the like, which are pure text data or coordinate data represented by pictures. In addition, CAD tools that directly use large amounts of image data are used only by reverse engineering CAD software.
하지만, 역공학 캐드 소프트웨어는 타기업의 기술 도용을 감시하기 위한 특수한 용도로만 사용되기 때문에 몇 개 국가만이 자체 기술로 개발한 소수의 제품만이 존재한다. 이로 인해 역공학 캐드 소프트웨어 자체는 제공하지 않고, 역공학 설계 서비스만 제공하는 경우와 고가의 라이센스로 역공학 캐드 소프트웨어를 리스하는 서비스만 존재하며, 역공학 캐드 소프트웨어의 구현 기술은 소수의 기업 고유의 자산으로 외부에 노출하고 있지 않고 있다.However, since the reverse engineering CAD software is used only as a special purpose to monitor technology abuse of other companies, only a few countries have only a few products developed with their own technology. As a result, only the reverse engineering CAD software itself is provided, only the reverse engineering design service is provided, and only the service that leases the reverse engineering CAD software with the expensive license exists, and the implementation technology of the reverse engineering CAD software is a small number It is not exposed to the outside as assets.
종래기술은 패키지를 디캡하여 나타나는 칩의 표면 이미지를 현미경으로 확대 촬영하여 얻은 이미지들을 붙여 획득한 대용량의 칩 이미지로부터 전자회로를 추출하는 과정에서 역공학 캐드 소프트웨어를 사용하였을 때, 칩 이미지가 너무 크기 때문에 컴퓨터 메모리에 모두 올릴 수 없을 뿐만 아니라, 처리 속도가 느려서 사용자가 수작업으로 회로를 추출 하는 것이 불가능하였다.In the prior art, when the reverse engineering CAD software is used in the process of extracting an electronic circuit from a large-capacity chip image obtained by attaching images obtained by enlarging a surface image of a chip, which is obtained by decapsulating a package, by a microscope, Therefore, not only can not all be put in the computer memory, but the processing speed is slow and it is impossible for the user to manually extract the circuit.
본 발명은 상술한 요구에 부응하기 위하여 안출된 것으로, 본 발명은 여러 계층의 대용량 칩 이미지를 배경으로 전자회로를 추출하는 역공학 전용 캐드 소프트웨어의 칩 이미지 처리에 관련된 특허이다. 특히, 본 발명은 패키지를 디캡하여 나타나는 칩의 표면 이미지를 현미경으로 확대 촬영하여 얻은 이미지들을 붙여 획득한 대용량의 칩 이미지로부터 전자회로를 추출하는 역공학 캐드 소프트웨어에 적용하는 기술이다. 칩 이미지는 대용량이기 때문에 칩 이미지 전체를 컴퓨터 메모리에 탑재할 수 없고, 혹시 가능하더라도 이미지 처리 속도가 크게 저하되어 사용자가 실시간으로 전자회로를 추출하는 것이 불편한 경우 숨겨진 이미지 버퍼와 해쉬테이블과 멀티스레드 기술을 도입하여 이미지 표시 처리를 가속화 시키는 새로운 알고리즘을 제안한다. The present invention has been devised in order to meet the above-mentioned demand, and the present invention is a patent relating to chip image processing of CAD software for reverse engineering, which extracts electronic circuits in the background of a multi-layer large capacity chip image. In particular, the present invention is a technology applied to reverse engineering CAD software for extracting electronic circuits from a large-capacity chip image obtained by attaching images obtained by enlarging a surface image of a chip, which is obtained by decapsulating a package, by a microscope. Since the chip image is large in size, it is impossible to mount the entire chip image in the computer memory. If it is inconvenient for the user to extract the electronic circuit in real time because the image processing speed deteriorates even if it is possible, a hidden image buffer, a hash table, We propose a new algorithm to accelerate image display processing.
본 발명에 따르면, 대용량 칩 이미지를 행렬 격자로 나누고 격자 행렬 번호, 파일 포인터 및 이미지 좌표를 매핑하는 해쉬 테이블을 통해 전체 칩 이미지를 스캔할 필요없이 필요한 부분의 이미지 데이터만을 읽으므로, 대용량 칩 이미지 표시 속도를 높일 수 있다.According to the present invention, since only a necessary portion of image data is read without dividing a large chip image into a matrix grid and scanning a whole chip image through a hash table mapping a grid matrix number, a file pointer and image coordinates, It can speed up.
본 발명의 실시예에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템은 칩 이미지를 저장하는 칩 이미지 저장부; 상기 칩 이미지를 화면의 해상도 크기를 기준으로 격자구조로 나누었을 때의 상기 칩 이미지 상에서의 위치를 행렬 번호 및 파일 포인터로 나타내는 해쉬 테이블 및 상기 칩 이미지 중 사용자가 상기 화면에 표시하고자 하는 부분의 이미지 데이터를 저장하는 가시적 이미지 버퍼를 포함하는 메모리; 및 상기 칩 이미지 중 사용자가 화면에 표시하고자 하는 부분의 위치를 상기 해쉬 테이블에 기초하여 결정하는 표시 좌표 결정 모듈, 및 상기 표시 좌표 결정 모듈에서 결정한 화면에 표시하고자 하는 부분의 위치에 해당하는 이미지 데이터를 상기 가시적 이미지 버퍼에 저장하도록 제어하는 버퍼 프로세스 제어 모듈을 포함하는 제어부를 포함할 수 있다.According to an embodiment of the present invention, there is provided a system for accelerating a large image display using a multithread, comprising: a chip image storage unit for storing a chip image; A hash table in which a position on the chip image when the chip image is divided into a grid structure based on a resolution size of a screen is represented by a matrix number and a file pointer, and a hash table in which a user wants to display an image A memory including a visible image buffer for storing data; And a display coordinate determination module that determines a position of a portion of the chip image that the user intends to display on the screen based on the hash table and a display coordinate determination module that determines image coordinates of the image data corresponding to the position of the portion to be displayed on the screen determined by the display coordinate determination module And a buffer process control module for controlling to store the image data in the visible image buffer.
이 경우, 상기 메모리는 상기 가시적 이미지 버퍼와 이웃하는 영역의 이미지 데이터를 저장하는 비가시적 이미지 버퍼 및 상기 비가시적 이미지 버퍼에 이웃하는 영역의 이미지 데이터를 저장하는 예측 이미지 버퍼를 더 포함하며, 상기 제어부는 상기 사용자의 화면 이동 방향의 통계 기록에 따라 사용자가 이동할 방향을 예측하는 사용자 이동 예측 모듈을 더 포함하며, 상기 가시적 이미지 버퍼와 이웃하여 배치되는 영역의 이미지 데이터를 상기 비가시적 이미지 버퍼에 저장하며, 상기 비가시적 이미지 버퍼와 상기 이동할 방향으로 이웃하여 배치되는 이미지 데이터를 상기 예측 이미지 버퍼에 저장하도록 제어할 수 있다. In this case, the memory further includes an invisible image buffer storing image data of an area adjacent to the visible image buffer, and a predicted image buffer storing image data of an area neighboring the invisible image buffer, Further comprising a user movement prediction module for predicting a direction in which the user moves in accordance with the statistical recording of the screen movement direction of the user, wherein the image data of the area neighboring the visible image buffer is stored in the invisible image buffer , And control to store the invisible image buffer and the image data arranged adjacent to the moving direction in the predictive image buffer.
또한, 상기 제어부는 다중 스레드를 통하여 대용량 이미지 표시 가속화 시스템이 병렬 처리를 수행하도록 제어하며, 상기 다중 스레드는 상기 비가시적 이미지 버퍼의 이미지 데이터를 상기 가시적 이미지 버퍼에 복사하거나, 상기 예측 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하거나 또는 상기 가시적 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하는 버퍼 복사 프로세스; 및 상기 해쉬 테이블에 기초하여 결정된 위치의 이미지 데이터를 읽고 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼 중 어느 하나에 저장하는 버퍼 읽기 프로세스를 포함할 수 있다.Also, the control unit controls the multi-threaded image processing system to perform parallel processing, and the multithreaded processor copies the image data of the invisible image buffer into the visible image buffer, or the image of the predictive image buffer A buffer copy process of copying data into the invisible image buffer or copying the image data of the visible image buffer into the invisible image buffer; And a buffer reading process of reading image data at a position determined based on the hash table and storing the image data in either the visible image buffer, the invisible image buffer, or the predicted image buffer.
또한, 상기 다중 스레드는, 상기 버퍼 읽기 프로세스 보다 상기 버퍼 복사 프로세스가 우선권을 갖도록 구성될 수 있다.Also, the multithread may be configured such that the buffer copy process has priority over the buffer read process.
또한, 상기 버퍼 읽기 프로세스는, 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼에 가장 최근에 실행된 사용자의 이동 방향으로 이웃하는 영역에 해당하는 이미지 데이터를 읽을 때에 상기 다중 스레드에서 우선권을 갖도록 구성될 수 있다.In addition, the buffer reading process may further include, when reading image data corresponding to an area neighboring the moving direction of the user most recently executed in the visible image buffer, the invisible image buffer, or the predictive image buffer, . ≪ / RTI >
또한, 상기 다중 스레드에서 병렬로 실행되는 스레드의 전체 개수는 프로세서에서 연산이 가능한 코어의 개수에 의해 결정되도록 구성될 수 있다.In addition, the total number of threads executed in parallel in the multithread may be configured to be determined by the number of cores that can be operated on by the processor.
또한, 상기 칩 이미지 중 표시할 영역의 확대 또는 축소 비율에 따라 매핑되는 행렬 번호의 개수가 달라지도록 구성될 수 있다.In addition, the number of matrix numbers mapped according to the enlargement or reduction ratio of the area to be displayed among the chip images may be changed.
한편, 본 발명에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 방법은, 칩 이미지를 화면의 해상도 크기를 기준으로 격자구조로 나누었을 때의 상기 칩 이미지 상에서의 위치를 행렬 번호 및 파일 포인터를 포함하는 해쉬 테이블로 저장하는 단계; 상기 칩 이미지 중 사용자가 화면에 표시하고자 하는 부분의 위치를 상기 해쉬 테이블에 기초하여 결정하는 단계; 상기 결정하는 단계에서 결정된 화면에 표시하고자 하는 부분의 위치에 해당하는 이미지 데이터를 가시적 이미지 버퍼에 저장하는 단계; 및 상기 가시적 이미지 버퍼에 저장된 이미지를 표시하는 단계를 포함할 수 있다.Meanwhile, a method for accelerating a large-capacity image display using multithread according to the present invention is a method for accelerating a large-capacity image display using a multithread, wherein a position on the chip image when a chip image is divided into a grid structure based on a resolution size of a screen is represented by a hash Storing as a table; Determining a position of a portion of the chip image that the user wants to display on the screen based on the hash table; Storing image data corresponding to a position of a portion to be displayed on a screen determined in the determining step in a visible image buffer; And displaying the image stored in the visible image buffer.
이 경우, 다중 스레드를 이용한 대용량 이미지 표시 가속화 방법은 상기 가시적 이미지 버퍼와 이웃하는 영역의 이미지 데이터를 비가시적 이미지 버퍼에 저장하는 단계; 상기 사용자의 화면 이동 방향의 통계 기록에 따라 사용자가 이동할 방향을 예측하는 단계; 및 상기 비가시적 이미지 버퍼에 상기 예측하는 단계에서 예측된 이동하는 방향으로 이웃하는 영역의 이미지 데이터를 예측 이미지 버퍼에 저장하는 단계를 더 포함할 수 있다.In this case, a method for accelerating a large image display using a multithread includes storing image data of an area neighboring the visible image buffer in an invisible image buffer; Estimating a direction in which the user moves according to the statistical recording of the screen movement direction of the user; And storing the image data of the area neighboring in the moving direction predicted in the predicting step in the invisible image buffer in the predictive image buffer.
또한, 다중 스레드를 이용한 대용량 이미지 표시 가속화 방법은 상기 비가시적 이미지 버퍼의 이미지 데이터를 상기 가시적 이미지 버퍼에 복사하거나, 상기 예측 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하거나 또는 상기 가시적 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하는 버퍼 복사 단계; 및 상기 해쉬 테이블에 기초하여 결정된 위치의 이미지 데이터를 읽고 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼 중 어느 하나에 저장하는 버퍼 읽기 단계를 더 포함하며, 상기 버퍼 복사 단계 및 상기 버퍼 읽기 단계는 다중 스레드를 통하여 병렬적으로 처리될 수 있다.Also, a method for accelerating a large image display using a multithread may include copying the image data of the invisible image buffer to the visible image buffer, copying the image data of the predictive image buffer to the invisible image buffer, A buffer copy step of copying the image data of the image data into the invisible image buffer; And a buffer reading step of reading image data at a position determined based on the hash table and storing the image data in either the visible image buffer, the invisible image buffer, or the predicted image buffer, The read phase can be handled in parallel through multiple threads.
또한, 상기 버퍼 복사 단계는 상기 버퍼 읽기 단계보다 상기 다중 스레드에서 우선권을 갖을 수 있다.In addition, the buffer copying step may have priority over the multithreading step than the buffer reading step.
또한, 상기 버퍼 읽기 단계는, 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼에 가장 최근에 실행된 사용자의 이동 방향으로 이웃하는 영역에 해당하는 이미지 데이터를 읽을 때에 상기 다중 스레드에서 우선권을 갖도록 구성될 수 있다.In addition, the buffer reading step may include, when reading image data corresponding to a region neighboring the moving direction of the user most recently executed in the visible image buffer, the invisible image buffer, or the predictive image buffer, . ≪ / RTI >
또한, 상기 다중 스레드에서 스레드의 전체 개수는 프로세서에서 연산이 가능한 코어의 개수에 의해 결정될 수 있다.Also, the total number of threads in the multithread may be determined by the number of cores that can be operated on by the processor.
또한, 상기 해쉬 테이블은, 상기 칩 이미지 중 표시할 영역의 확대 또는 축소 비율에 따라 매핑되는 행렬 번호의 개수가 달라질 수 있다.In the hash table, the number of matrix numbers mapped according to the enlargement or reduction ratio of the area to be displayed among the chip images may be changed.
상기한 바와 같이 이루어진 본 발명에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템은 대용량 칩 이미지를 행렬 격자로 나누며, 전체 칩 이미지의 격자 행렬 번호, 파일 포인터 및 이미지 좌표를 매핑하는 해쉬 테이블을 통해, 컴퓨터 메모리 용량이 제한되어 칩 이미지 전체를 컴퓨터 메모리에 탑재할 수 없을 경우 또는 이미지 처리 속도가 크게 저하되는 부분을 해결할 수 있다.The large-capacity image display acceleration system using the multithread according to the present invention divides a large-capacity chip image into a matrix grid, and through a hash table mapping a grid matrix number, a file pointer and an image coordinate of the entire chip image, The memory capacity is limited so that the entire chip image can not be mounted in the computer memory or the image processing speed is greatly reduced.
또한, 사용자의 이미지 처리 속도가 느려지거나, 컴퓨터의 성능에 상관없이, 이미지를 표시하는 기능은 정상적으로 실행될 수 있다. 물론 이러한 효과들에 의해 본 발명의 범위가 한정되는 것은 아니다.Further, the function of displaying an image can be normally executed irrespective of the performance of the computer or the performance of the image processing of the user is slowed down. Of course, the scope of the present invention is not limited by these effects.
도 1은 본 발명의 실시예에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템의 블록도이다.
도 2는 본 발명의 실시예에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템을 설명하는 도면이다.
도 3은 본 발명의 실시예에 따른 다중 스레드에서 수행되는 프로세스에 관한 블록도이다.
도 4는 본 발명의 실시예에 따른 다중 스레드의 프로세스 우선권에 관한 순서도이다.
도 5는 본 발명의 실시예에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 방법에 대한 순서도이다.1 is a block diagram of a multi-threaded large image display acceleration system in accordance with an embodiment of the present invention.
2 is a view for explaining a large-capacity image display acceleration system using a multithread according to an embodiment of the present invention.
3 is a block diagram of a process performed in a multi-thread according to an embodiment of the present invention.
4 is a flow diagram of multi-threaded process priority according to an embodiment of the present invention.
5 is a flowchart illustrating a method of accelerating a large-capacity image display using a multithread according to an exemplary embodiment of the present invention.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있는 것으로, 이하의 실시예는 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 또한, 설명의 편의를 위하여 도면에서는 구성 요소들이 그 크기가 과장 또는 축소될 수 있다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, Is provided to fully inform the user. In addition, for convenience of explanation, components may be exaggerated or reduced in size.
그러나, 이하의 실시예는 이 기술분야에서 통상적인 지식을 가진 자에게 본 발명이 충분히 이해되도록 제공되는 것으로서 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 기술되는 실시예에 한정되는 것은 아니다.However, it should be understood that the following embodiments are provided so that those skilled in the art will be able to fully understand the present invention, and that various modifications may be made without departing from the scope of the present invention. It is not.
도 1은 본 발명의 실시예에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템의 블록도이다.1 is a block diagram of a multi-threaded large image display acceleration system in accordance with an embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 대용량 이미지 표시 가속화 시스템(100)은 제어부(110), 메모리(130) 및 칩 이미지 저장부(140)를 포함할 수 있다.Referring to FIG. 1, a large-capacity image
이 경우, 제어부(110)는 표시 좌표 결정 모듈(113), 사용자 이동 예측 모듈 (115) 및 버퍼 프로세스 제어 모듈(117)을 포함할 수 있다.In this case, the
본 발명에 따른 제어부, 모듈은 프로세서 상에서 실행되는 소프트웨어 프로그램 또는 전용 로직 회로를 이용한 하드웨어 모듈 등 다양한 형태로 구현될 수 있다.The control unit and the module according to the present invention may be implemented in various forms such as a software program executed on the processor or a hardware module using the dedicated logic circuit.
표시 좌표 결정 모듈(113)은 대용량 칩 이미지를 디스플레이 화면 크기에 기초하여 격자 구조로 나누고, 격자 행렬 번호를 획득하며, 획득된 행렬 번호에 대응하는 위치에 해당하는 이미지 데이터의 포인터들을 매핑하여 해쉬 테이블(230)로 해쉬 테이블에 저장한다. 이 경우, 해쉬 테이블(230)의 저장은 최초 수행시 1회만 수행될 수 있다.The display
또한, 사용자가 화면에 칩 이미지의 적어도 일부를 표시하려고 할 때에 해쉬 테이블(230)에 기초하여 전체 칩 이미지 중 표시할 부분을 결정하여 이하에서 설명할 가상적 이미지 버퍼, 비가상적 이미지 버퍼들 및 예측 이미지 버퍼에 저장할 이미지 데이터를 결정한다. In addition, when the user tries to display at least a part of the chip image on the screen, the portion to be displayed of the entire chip image is determined based on the hash table 230 and the virtual image buffer, the non-virtual image buffers, And determines the image data to be stored in the buffer.
사용자 이동 예측 모듈 (115)은 사용자가 컴퓨터 화면으로 보는 칩 이미지(200)를 좌우 방향 또는 상하 방향으로 이동할 지를 미리 예측하여, 칩 이미지 상에서 비가시적 이미지 버퍼(215)에 저장된 이미지 데이터에 이웃한 부분의 이미지 데이터를 예측 이미지 데이터로서 준비할 수 있다.The user
예를 들어, 사용자 이동 예측 모듈(115)은 사용자가 상단으로 이동될 것으로 예측되는 경우에 칩 이미지 상에서 비가시적 이미지 상단 버퍼에 저장된 칩 이미지의 위쪽 부분을 에측 이미지로서 예측 이미지 버퍼에 저장하도록 제어할 수 있다.For example, the user
이 경우, 사용자 이동 예측 모듈(115)은 예측 이미지 버퍼(218)의 개수를 여분의 메모리 용량에 따라 결정할 수 있다. In this case, the user
또한, 사용자 이동 예측 모듈(115)은 사용자의 이동 기록 통계에 기초하여 사용자의 이동을 예측할 수 있다. 예를 들어, 사용자가 통계적으로 오른쪽으로 많이 이동했을 경우, 비가상적 이미지 우측 버퍼에 저장된 칩 이미지의 오른쪽 부분을 예측 이미지로서 예측 이미지 버퍼(118)에 저장할 수 있다. 따라서, 사용자가 예측과 같이 실제 오른쪽으로 칩 이미지를 이동시켜 볼 경우에 이동 속도가 빨라질 수 있다. In addition, the user
또는 사용자 이동 예측 모듈(115)은 사용자가 최근 이동한 방향에 기초하여 사용자의 이동 방향을 예측할 수도 있다.Or the user
또한, 사용자가 컴퓨터 화면상의 칩 이미지(100)를 상하좌우 골고루 이동할 경우, 에측 이미지 버퍼(118)는 비가시적 이미지 버퍼에 저장된 칩 이미지의 상하좌우의 이미지를 고르게 저장할 수 있다. In addition, when the user moves the
버퍼 프로세스 제어 모듈(117)은 프로세서 상의 다중 스레드(220)에서 수행될 버퍼와 관련된 프로세스를 제어할 수 있다. 예를 들어, 버퍼와 관련된 프로세스는 버퍼 읽기 프로세스(223) 및 버퍼 복사 프로세스(225)를 포함할 수 있다.한편, 메모리(130)는 해당 칩 이미지를 표시하는 디바이스, 예를 들어, 컴퓨터 상의 비휘발성 메모리를 의미한다. 또한, 칩 이미지 저장 모듈(140)는 전체 칩 이미지(200)를 저장할 수 있는 대용량의 저장장치를 의미 예를 들어, 하드 디스크 등의 비휘발성 메모리일 수 있다. Buffer
도 2는 본 발명의 실시예에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 장치의 동작을 설명하기 위한 도면이다.2 is a view for explaining the operation of the multi-threaded large image display acceleration apparatus according to the embodiment of the present invention.
도 2를 참조하면, 표시 좌표 결정 모듈(113)은 디스플레이의 화면 해상도 크기를 기본 단위로 하여, 전체 칩 이미지(200)를 행과 열로 구성된 격자구조로 나눌 수 있다. 여기서 표시 좌표 결정 모듈(113)은 전체 칩 이미지(200)를 격자 크기로 실제 분할하는 것이 아니며 해쉬 테이블(230)을 구축하는데 필요한 정보를 얻기 위하여 격자구조로 구분하는 것이다.Referring to FIG. 2, the display
이 때, 해쉬 테이블(230)은 메모리 상에 상주하면서 전체 칩 이미지를 표시할 화면의 해상도 크기를 기본단위로 나누었을 때, 전체 칩 이미지 상에서 해당 영역의 위치 정보를 저장한 테이블이다. 이 경우, 해쉬 테이블(230)은 상술한 격자 행렬의 행렬 번호와 대응하는 칩 이미지 데이터의 포인터를 저장할 수 있다.In this case, the hash table 230 is a table in which the position information of the corresponding area is stored on the entire chip image when the size of the resolution of the screen on which the entire chip image is displayed is divided by the basic unit. In this case, the hash table 230 may store the pointer of the chip image data corresponding to the matrix number of the above-mentioned lattice matrix.
본 발명에서 가시적 이미지 버퍼, 비가시적 이미지 버퍼는 해당 해쉬 테이블(230)에 기초하여 이미지 데이터를 저장하게 된다. In the present invention, the visible image buffer and the non-visible image buffer store image data based on the corresponding hash table 230.
예컨대, 칩 이미지(200)는 파일로 저장되어 있어, 종래 기술에 따르면 임의의 격자에 해당하는 이미지 데이터를 읽기 위하여 처음부터 스캔하여 찾아야했다. 그러나, 본 발명과 같이 전체 칩 이미지(200)를 행렬 격자구조로 나누어 해쉬 테이블(230)에 해당 행렬 격자에 대한 위치 정보를 저장해 둘 경우, 해쉬 테이블(230)을 통하여 해당 격자 위치의 칩 이미지 데이터에 직접 접근하여 독립적으로 읽을 수 있으며, 이로 인해 데이터를 읽는 속도가 현저히 증가할 수 있다.For example, the
이미지 버퍼(210)는 가시적 이미지 버퍼(213), 비가시적 이미지 버퍼(215) 및 예측 이미지 버퍼(218)를 포함할 수 있다. 이 경우, 이미지 버퍼(210)는 컴퓨터 화면 해상도와 동일한 크기의 이미지 데이터를 복수 개 저장할 수 있다. The
여기서, 가시적 이미지 버퍼(213)는 컴퓨터 화면에 나타나는 이미지 데이터를 저장할 수 있으며 또한, 가시적 이미지 버퍼(113)에 저장된 데이터는 컴퓨터 화면에 바로 표시될 수 있다.Here, the
비가시적 이미지 버퍼(115)는 가시적 이미지 버퍼(113)의 상하좌우에 바로 이웃하여 배치될 수 있는 이미지를 저장할 수 있다. 예컨대, 비가시적 이미지 버퍼(215)는 사용자가 현재 이미지 상에서 회로 추출 수작업을 진행하는 동안 여유의 컴퓨팅 자원을 활용하여, 칩 이미지(200) 데이터를 읽고 저장할 수 있다. 이로 인해, 비가시적 이미지 버퍼(215)의 사용은 백그라운드에서 처리되고 사용자의 회로 추출 수작업이 많은 용량의 컴퓨팅 자원을 활용하지 않아, 사용자의 작업을 방해하지 않을 수 있다. The
또한, 비가시적 이미지 버퍼(215)는 메모리에 저장되어 숨겨져 있지만 가시적 이미지 버퍼(213)로 이동하면 컴퓨터 화면에 나타나게 될 수 있으며, 이처럼 사용자가 컴퓨터 화면에 나타난 칩 이미지(200)의 이동에 대비하여 미리 준비할 수 있다.In addition, although the
예측 이미지 버퍼(218)는 사용자의 화면 이동을 예측하여, 사용자가 이동하는 방향에 해당되는 예측 이미지 데이터를 생성할 수 있다.The
또한, 예측 이미지 버퍼(218)는 사용자가 컴퓨터 화면으로 보는 칩 이미지(200)를 좌우 방향 또는 상하 방향으로 이동하는 경우를 미리 예측하여, 비가시적 이미지 버퍼(215)에 이웃하여 예측 이미지 데이터를 준비할 수 있다.The
예를 들어, 예측 이미지 버퍼(218)는 사용자가 컴퓨터 화면의 칩 이미지(200)의 이동 방향에 따라, 비가시적 이미지 우측 버퍼의 오른쪽, 비가시적 이미지 좌측 버퍼의 왼쪽, 비가시적 이미지 상단 버퍼의 위쪽, 비가시적 이미지 하단 버퍼의 아래쪽에 배치될 수 있다. 여기서, 본 명세서에서는 “버퍼”가 배치된 다는 것은 버퍼가 전체 칩 이미지 상에서 사용자가 지정한 위치에 대응하는 해쉬 테이블(230) 상의 해당 격자의 위치에 해당하는 이미지 데이터를 버퍼에 저장한다는 의미로 해석되어야 한다. For example, the
또한, 본 명세서에서 이웃하는 영역이라는 의미는 사용자가 방향을 선택할 경우에 다음에 나타낼 이미지 데이터에 해당하는 영역을 의미한다.The term " neighboring region " in this specification means an area corresponding to image data to be displayed next when a user selects a direction.
또한, 예측 이미지 버퍼(218)의 개수는 컴퓨터 메모리 용량에 의해 결정될 수 있으며, 예컨대, 예측 이미지 버퍼(218)가 배치되는 위치는 사용자의 이동 기록 통계에 의해 결정될 수 있다. In addition, the number of prediction image buffers 218 may be determined by computer memory capacity, e.g., the location at which the
본 발명의 또하나의 특징은 다중 스레드(220)를 이용하여 버퍼에서 일어나는 버퍼 읽기 프로세스와 버퍼 복사 프로세스를 병렬 처리할 수 있다는 점이다.Another aspect of the present invention is that it is possible to parallelize the buffer read process and the buffer copy process occurring in the buffer using the
예를 들어, 다중 스레드(220)는 전체 칩 이미지(200) 중 사용자가 표시하고자 하는 영역의 이미지 데이터를 읽어 크기 및 위치 정보를 변환한 후, 이미지 버퍼(210)에 저장하는 프로세스를 수행할 수 있다. 이 때, 다중 스레드(220)에서 병렬로 실행되는 스레드의 총 개수는 프로세서 내에 존재하는 멀티 코어의 개수와 동일한 개수의 스레드를 생성할 수 있다.For example, the multithread 220 can process the
버퍼 복사 프로세스(223)는 이미지 버퍼 사이의 이미지 데이터를 복사하는 프로세스이다. The
예를 들어, 버퍼 복사 프로세스(223)는 컴퓨터 화면의 칩 이미지(200)가 오른쪽으로 이동하는 경우, 이미지 버퍼(110)에 저장된 이미지 데이터로서 왼쪽에 인접한 이미지 버퍼(200)에 저장된 데이터를 그대로 복사할 수 있으며, 이로 인해, 파일로부터 데이터를 읽지 않고 메모리상에 존재하는 데이터의 복사를 수행하여 처리속도가 빠를 수 있다. For example, when the
버퍼 읽기 프로세스(225)는 전체 칩 이미지(200)에서 해쉬 테이블(230)이 매핑하는 일부 격자에 저장된 이미지 데이터를 읽어 이미지 버퍼(210)에 저장할 수 있다. The buffer read
또한, 버퍼 읽기 프로세스(225)는 파일에서 데이터를 읽고, 해쉬 테이블(230)을 이용하여 이미지 구간을 결정하며, 이미지 축소 또는 확대 계산을 수행할 수 있다. The buffer read
또한 버퍼 읽기 프로세스(225)는 가장 최근에 실행된 컴퓨터 화면 칩 이미지(200)의 이동 방향에 해당하는 이미지 버퍼(210)에 대하여 가장 높은 우선권을 주어 처리할 수 있다.In addition, the buffer read
한편, 버퍼 복사 프로세스(223)와 버퍼 읽기 프로세스(225) 중 스레드로 병렬 처리하는 과정에서 버퍼 복사 프로세스(223)가 버퍼 읽기 프로세스(225) 보다 우선권을 가질 수 있는데, 다중 스레드(220)의 프로세스 우선권에 관한 설명은 도 4에서 상세히 후술하기로 한다.The
해쉬 테이블은(230) 칩 이미지(200)의 각 격자 이미지 데이터 위치 및 크기 속성을 추출하고 이를 저장할 수 있다. 보다 구체적으로, 해쉬 테이블(230)은 전체 칩 이미지(100)의 격자 행렬값과 이미지 상의 위치 좌표값 및 파일 포인터 값 사이의 관계를 매핑할 수 있으며, 이로 인해 소프트웨어가 원하는 위치의 격자에 해당되는 이미지를 직접 찾아 접근하여 데이터 검색 속도가 향상될 수 있다.The hash table 230 may extract and store the respective grid image data location and size attributes of the
또한, 해쉬 테이블(230)은 이미지 버퍼(210)에 저장할 이미지 데이터를 전체 칩 이미지(200)에서 빠르게 찾아 접근할 수 있도록 정보를 제공할 수 있다.In addition, the hash table 230 can provide information so that the image data to be stored in the
한편, 해쉬 테이블(230)은 하나의 이미지 버퍼(210)가 하나의 칩 이미지(200)의 격자 이미지 데이터와 항상 일대일 대응하지 않을 수 있으며, 예컨대 칩 이미지(200)를 컴퓨터 화면에 나타낼 때 확대하거나 축소하는 비율에 따라 일대다로 매핑 될 수 있다.Meanwhile, the hash table 230 may not correspond to the one-to-one correspondence between the one
예컨대, 칩 이미지(200)와 이미지 버퍼(210)가 일대다로 매핑되는 경우, 이미지 상의 위치 좌표값은 변경될 수 있다.For example, when the
또한, 이미지 버퍼(200)와 격자간의 대응관계는 이미지를 처리하는 프로세서가 담당하여 처리할 수 있으며, 예컨대 해쉬 테이블(230)은 최초에 한번만 계산하여 구출할 수 있다.Also, the correspondence between the
한편, 본 발명은 여러 계층의 대용량 칩 이미지를 배경으로 전자회로를 추출하는 역공학 전용 캐드 소프트웨어가 실행되는 컴퓨터 메모리 용량이 제한되어, 칩 이미지(200) 전체를 컴퓨터 메모리에 탑재할 수 없거나, 이미지 처리 속도가 크게 저하되는 단점을 해결할 수 있다. 또한, 사용자가 사용하는 컴퓨터의 성능이 부족한 경우 및 칩 이미지(200)가 커서 이미지 처리 속도가 느려질 수 있으나, 이미지를 표시하는 기능은 정상적으로 실행될 수 있다. 또한, 본 발명은 사용자와 대화 방식으로 작동하면서 이미지를 처리하는 일반 소프트웨어에도 적용이 가능할 수 있다.In the meantime, the present invention is limited in the capacity of a computer memory in which CAD software for reverse engineering, which extracts electronic circuits from a plurality of layers of large-capacity chip images, is executed, so that the
도 4는 다중 스레드의 프로세스 우선권에 관한 순서도이다.4 is a flow diagram of process priority of a multi-thread.
먼저, 다중 스레드(220)는 버퍼 복사 프로세서(223) 또는 버퍼 읽기 프로세서(225)가 동시에 수행되고 있는지 확인한다. (단계 S300)First, the multi-thread 220 checks whether the
만약, 동시에 수행되고 있다면, 버퍼 복사 프로세서(223)를 먼저 실행한다. (단계 S310)If it is concurrently executing, the
예컨대, 버퍼 복사 프로세스(223)는 이미지 데이터를 복사하는 태스크 처리 속도가 빠르기 때문에 실행 우선권이 높을 수 있다. For example, the
버퍼 복사 프로세서(223)를 실행한 후, 버퍼 읽기 프로세서(225)를 실행한다. (단계 S320)After executing the
예컨대, 버퍼 읽기 프로세스(225)의 새로운 이미지 데이터를 생성하는 태스크는 처리 속도가 느리기 때문에 우선권이 낮을 수 있다. For example, the task of generating new image data in the buffer read
이와 같이, 버퍼 복사 프로세스(223)와 버퍼 읽기 프로세스(225) 중 스레드로 병렬 처리하는 과정에서 버퍼 복사 프로세스(223)가 버퍼 읽기 프로세스(225) 보다 우선권을 가질 수 있다. As described above, the
한편, 버퍼 복사 프로세서(223)만 실행되었을 경우, 우선권에 상관없이, 버퍼 복사 프로세스(223)를 실행한다.또한, 버퍼 읽기 프로세서(225)만 실행되었을 경우, 우선권에 상관없이, 버퍼 읽기 프로세스(225)를 실행한다. (단계 S330)On the other hand, when only the
도 5는 본 발명의 실시예에 따른 다중 스레드를 이용한 대용량 이미지 표시 가속화 방법에 대한 순서도이다.5 is a flowchart illustrating a method of accelerating a large-capacity image display using a multithread according to an exemplary embodiment of the present invention.
먼저, 컴퓨터의 화면의 해상도 크기를 기본 단위로 하여, 전체 칩 이미지(200)를 행과 열로 구성된 격자구조로 나누고, 칩 이미지 상에서 각 격자의 위치 정보를 해쉬 테이블(230)에 매핑시켜 저장시킬 수 있다. (단계 S400) 이 경우, 해쉬 테이블에는 전체 칩 이미지(200)의 격자 행렬값과 이미지 상의 위치 좌표값 및 파일 포인터 값 사이의 관계가 매핑되어 저장될 수 있다. First, the
종래 기술에서는 칩 이미지(200)가 파일로 저장되어 있어, 임의의 격자에 해당하는 이미지 데이터를 읽으려면 처음부터 스캔하여 찾아야 하였다. 그러나, 상술한 해쉬 테이블을 이용할 경우에는 해쉬 테이블(230)을 활용하여 격자에 해당하는 이미지 데이터에 직접 접근하여 독립적으로 읽을 수 있으며, 이로 인해 데이터를 검색하고 읽는 속도가 증가할 수 있다.In the prior art, the
한편, 제어부(110)는 해쉬 테이블에 기초하여 전체 칩 이미지(200) 중 사용자가 화면에 나타내고자 하는 부분에 해당하는 이미지 데이터를 읽어 크기 및 위치 정보를 변환한 후, 이미지 버퍼(210)에 저장할 수 있다. (단계 S410)On the other hand, the
이 경우, 크기 및 위치는 사용자가 지정하는 화면 배율 및 위치에 따라 결정된다. 사용자는 방향키 등을 통하여 방향을 지정하여 현재 지정된 위치에서 다른 위치로 이동할 수 있다. 이미지 버퍼(210)는, 가시적 이미지 버퍼, 비가시적 이미지 버퍼 및 예측 이미지 버퍼로 구분될 수 있으며, 사용자에 의하여 위치가 변한 경우에는 다시 변한 위치에 기초하여 이미지 버퍼(210)에 이미지 데이터를 업데이트 할 수 있다. (단계 S420)In this case, the size and position are determined according to the screen magnification and position designated by the user. The user can specify a direction through a direction key or the like to move from a currently specified position to another position. The
이미지 버퍼(210)는, 컴퓨터 화면에 나타나는 이미지 데이터는 가시적 이미지 버퍼(213)에 저장하고, 상하좌우에 인접한 이미지 데이터는 비가시적 이미지 버퍼(215)에 저장된다.The
이 때, 사용자의 화면 이동 방향의 통계 기록에 따라 사용자의 이동 방향을 예측하여 추가적으로 예측 이미지 버퍼를 상하좌우 방향으로 할당할 수 있다. (단계 S430)At this time, the moving direction of the user may be predicted according to the statistical recording of the screen moving direction of the user, and the prediction image buffer may be further allocated in the up, down, left, and right directions. (Step S430)
따라서, 본 발명에 따르면, 해쉬 테이블(230)을 사용하여, 소프트웨어가 원하는 위치의 격자에 해당되는 이미지를 직접 찾아 접근하여 데이터 검색 속도가 향상될 수 있으며, 이미지 버퍼(210)에 저장할 이미지 데이터를 전체 칩 이미지에서 빠르게 찾아 접근할 수 있도록 정보를 제공할 수 있다.Therefore, according to the present invention, by using the hash table 230, the data retrieval speed can be improved by the software directly searching for and accessing the image corresponding to the grid at the desired position, and the image data to be stored in the
한편, 본 발명의 상세한 설명 및 첨부도면에서는 구체적인 실시예에 관해 설명하였으나, 본 발명은 개시된 실시예에 한정되지 않고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다. 따라서, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들을 포함하는 것으로 해석되어야 할 것이다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Various substitutions, modifications, and variations are possible without departing from the scope of the invention. Accordingly, the scope of the present invention should be construed as being limited to the embodiments described, and it is intended that the scope of the present invention encompasses not only the following claims, but also equivalents thereto.
200: 칩 이미지
210: 이미지 버퍼
213: 가시적 이미지 버퍼
215: 비가시적 이미지 버퍼
220: 다중 스레드
223: 버퍼 복사 프로세스
225: 버퍼 읽기 프로세스
230: 해쉬 테이블200: chip image
210: image buffer
213: Visible image buffer
215: Invisible image buffer
220: Multithreaded
223: Buffer copy process
225: Buffer Reading Process
230: Hash table
Claims (14)
상기 칩 이미지를 화면의 해상도 크기를 기준으로 격자구조로 나누었을 때의 상기 칩 이미지 상에서의 위치를 행렬 번호 및 파일 포인터로 나타내는 해쉬 테이블 및 상기 칩 이미지 중 사용자가 상기 화면에 표시하고자 하는 부분의 이미지 데이터를 저장하는 가시적 이미지 버퍼를 포함하는 메모리; 및
상기 칩 이미지 중 사용자가 화면에 표시하고자 하는 부분의 위치를 상기 해쉬 테이블에 기초하여 결정하는 표시 좌표 결정 모듈, 및 상기 표시 좌표 결정 모듈에서 결정한 화면에 표시하고자 하는 부분의 위치에 해당하는 이미지 데이터를 상기 가시적 이미지 버퍼에 저장하도록 제어하는 버퍼 프로세스 제어 모듈을 포함하는 제어부를 포함하는 것을 특징으로 하는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템.
A chip image storage unit for storing a chip image;
A hash table in which a position on the chip image when the chip image is divided into a grid structure based on a resolution size of a screen is represented by a matrix number and a file pointer, and a hash table in which a user wants to display an image A memory including a visible image buffer for storing data; And
A display coordinate determination module that determines a position of a portion of the chip image that the user wants to display on the screen based on the hash table and a display coordinate determination module that determines image data corresponding to a position of a portion to be displayed on the screen determined by the display coordinate determination module And a buffer process control module for controlling the image buffer to store the image data in the visible image buffer.
Large Image Display Acceleration System using Multi - thread.
상기 메모리는 상기 가시적 이미지 버퍼와 이웃하는 영역의 이미지 데이터를 저장하는 비가시적 이미지 버퍼 및 상기 비가시적 이미지 버퍼에 이웃하는 영역의 이미지 데이터를 저장하는 예측 이미지 버퍼를 더 포함하며,
상기 제어부는 상기 사용자의 화면 이동 방향의 통계 기록에 따라 사용자가 이동할 방향을 예측하는 사용자 이동 예측 모듈을 더 포함하며, 상기 가시적 이미지 버퍼와 이웃하여 배치되는 영역의 이미지 데이터를 상기 비가시적 이미지 버퍼에 저장하며, 상기 비가시적 이미지 버퍼와 상기 이동할 방향으로 이웃하여 배치되는 이미지 데이터를 상기 예측 이미지 버퍼에 저장하도록 제어하는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템.
The method according to claim 1,
Wherein the memory further comprises an invisible image buffer storing image data of an area neighboring the visible image buffer and a predicted image buffer storing image data of an area neighboring the invisible image buffer,
Wherein the control unit further includes a user movement prediction module for predicting a direction in which the user moves in accordance with the statistical recording of the screen movement direction of the user, wherein the control unit controls the invisible image buffer to store the image data of the area neighboring the visible image buffer And stores the image data arranged in the invisible image buffer and the moving direction in the predictive image buffer,
Large Image Display Acceleration System using Multi - thread.
상기 제어부는 다중 스레드를 통하여 대용량 이미지 표시 가속화 시스템이 병렬 처리를 수행하도록 제어하며,
상기 다중 스레드는 상기 비가시적 이미지 버퍼의 이미지 데이터를 상기 가시적 이미지 버퍼에 복사하거나, 상기 예측 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하거나 또는 상기 가시적 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하는 버퍼 복사 프로세스; 및
상기 해쉬 테이블에 기초하여 결정된 위치의 이미지 데이터를 읽고 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼 중 어느 하나에 저장하는 버퍼 읽기 프로세스를 포함하는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템.
3. The method of claim 2,
The control unit controls the large-capacity image display acceleration system to perform parallel processing through the multithread,
Wherein the multithread is configured to copy the image data of the invisible image buffer to the visible image buffer, copy the image data of the predictive image buffer to the invisible image buffer, or copy the image data of the invisible image buffer to the non- Buffer copy process to copy to buffer; And
And a buffer reading process of reading image data at a position determined based on the hash table and storing the image data in either the visible image buffer, the invisible image buffer, or the predicted image buffer.
Large Image Display Acceleration System using Multi - thread.
상기 다중 스레드는, 상기 버퍼 읽기 프로세스 보다 상기 버퍼 복사 프로세스가 우선권을 갖도록 구성되는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템.
The method of claim 3,
Wherein the multithread is configured such that the buffer copy process has priority over the buffer read process.
Large Image Display Acceleration System using Multi - thread.
상기 버퍼 읽기 프로세스는, 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼에 가장 최근에 실행된 사용자의 이동 방향으로 이웃하는 영역에 해당하는 이미지 데이터를 읽을 때에 상기 다중 스레드에서 우선권을 갖도록 구성되는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템.
The method of claim 3,
Wherein the buffer read process is adapted to have priority in the multithread when reading image data corresponding to an area neighboring the moving direction of the most recently executed user in the visible image buffer, the invisible image buffer, or the predictive image buffer Configured,
Large Image Display Acceleration System using Multi - thread.
상기 다중 스레드에서 병렬로 실행되는 스레드의 전체 개수는 프로세서에서 연산이 가능한 코어의 개수에 의해 결정되도록 구성되는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템.
The method of claim 3,
Wherein the total number of threads executing in parallel in the multithreaded processor is configured to be determined by the number of cores that are operable in the processor,
Large Image Display Acceleration System using Multi - thread.
상기 칩 이미지 중 표시할 영역의 확대 또는 축소 비율에 따라 매핑되는 행렬 번호의 개수가 달라지는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 시스템.
The method according to claim 1,
Wherein a number of matrix numbers mapped according to an enlargement or reduction ratio of an area to be displayed among the chip images is varied,
Large Image Display Acceleration System using Multi - thread.
상기 칩 이미지 중 사용자가 화면에 표시하고자 하는 부분의 위치를 상기 해쉬 테이블에 기초하여 결정하는 단계;
상기 결정하는 단계에서 결정된 화면에 표시하고자 하는 부분의 위치에 해당하는 이미지 데이터를 가시적 이미지 버퍼에 저장하는 단계; 및
상기 가시적 이미지 버퍼에 저장된 이미지를 표시하는 단계를 포함하는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 방법.
Storing a position on the chip image as a hash table including a matrix number and a file pointer when a chip image is divided into a lattice structure based on a resolution size of a screen;
Determining a position of a portion of the chip image that the user wants to display on the screen based on the hash table;
Storing image data corresponding to a position of a portion to be displayed on a screen determined in the determining step in a visible image buffer; And
And displaying an image stored in the visible image buffer.
A method for accelerating large image display using multithreading.
상기 가시적 이미지 버퍼와 이웃하는 영역의 이미지 데이터를 비가시적 이미지 버퍼에 저장하는 단계;
상기 사용자의 화면 이동 방향의 통계 기록에 따라 사용자가 이동할 방향을 예측하는 단계; 및
상기 비가시적 이미지 버퍼에 상기 예측하는 단계에서 예측된 이동하는 방향으로 이웃하는 영역의 이미지 데이터를 예측 이미지 버퍼에 저장하는 단계를 더 포함하는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 방법.
9. The method of claim 8,
Storing image data of an area neighboring the visible image buffer in an invisible image buffer;
Estimating a direction in which the user moves according to the statistical recording of the screen movement direction of the user; And
And storing the image data of the area neighboring in the moving direction predicted in the predicting step in the invisible image buffer in the predictive image buffer.
A method for accelerating large image display using multithreading.
상기 비가시적 이미지 버퍼의 이미지 데이터를 상기 가시적 이미지 버퍼에 복사하거나, 상기 예측 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하거나 또는 상기 가시적 이미지 버퍼의 이미지 데이터를 상기 비가시적 이미지 버퍼에 복사하는 버퍼 복사 단계; 및
상기 해쉬 테이블에 기초하여 결정된 위치의 이미지 데이터를 읽고 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼 중 어느 하나에 저장하는 버퍼 읽기 단계를 더 포함하며,
상기 버퍼 복사 단계 및 상기 버퍼 읽기 단계는 다중 스레드를 통하여 병렬적으로 처리되는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 방법.
9. The method of claim 8,
Copying the image data of the invisible image buffer to the invisible image buffer, copying the image data of the predictive image buffer to the invisible image buffer, or copying the image data of the invisible image buffer to the invisible image buffer Buffer copying step; And
Further comprising a buffer reading step of reading image data at a position determined based on the hash table and storing the image data in either the visible image buffer, the invisible image buffer, or the predicted image buffer,
Wherein the buffer copy step and the buffer read step are performed in parallel through multiple threads,
A method for accelerating large image display using multithreading.
상기 버퍼 복사 단계는 상기 버퍼 읽기 단계보다 상기 다중 스레드에서 우선권을 갖는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 방법.
11. The method of claim 10,
Wherein the buffer copying step has a priority in the multi-
A method for accelerating large image display using multithreading.
상기 버퍼 읽기 단계는, 상기 가시적 이미지 버퍼, 상기 비가시적 이미지 버퍼 또는 상기 예측 이미지 버퍼에 가장 최근에 실행된 사용자의 이동 방향으로 이웃하는 영역에 해당하는 이미지 데이터를 읽을 때에 상기 다중 스레드에서 우선권을 갖도록 구성되는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 방법.
11. The method of claim 10,
Wherein the buffer reading step includes a step of reading the image data corresponding to the area neighboring the moving direction of the most recently executed user in the visible image buffer, the invisible image buffer, or the predictive image buffer so as to have priority in the multithread Configured,
A method for accelerating large image display using multithreading.
상기 다중 스레드에서 스레드의 전체 개수는 프로세서에서 연산이 가능한 코어의 개수에 의해 결정되는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 방법.
11. The method of claim 10,
Wherein the total number of threads in the multithread is determined by the number of cores available for operation in the processor,
A method for accelerating large image display using multithreading.
상기 해쉬 테이블은, 상기 칩 이미지 중 표시할 영역의 확대 또는 축소 비율에 따라 매핑되는 행렬 번호의 개수가 달라지는,
다중 스레드를 이용한 대용량 이미지 표시 가속화 방법.
9. The method of claim 8,
Wherein the hash table has a number of matrix numbers mapped according to an enlargement or reduction ratio of an area to be displayed among the chip images,
A method for accelerating large image display using multithreading.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170097297A KR101964973B1 (en) | 2017-07-31 | 2017-07-31 | Multi-thread Based Big Image Display Acceleration Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170097297A KR101964973B1 (en) | 2017-07-31 | 2017-07-31 | Multi-thread Based Big Image Display Acceleration Method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190013151A true KR20190013151A (en) | 2019-02-11 |
KR101964973B1 KR101964973B1 (en) | 2019-08-07 |
Family
ID=65370528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170097297A KR101964973B1 (en) | 2017-07-31 | 2017-07-31 | Multi-thread Based Big Image Display Acceleration Method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101964973B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102174429B1 (en) | 2020-01-09 | 2020-11-04 | 조성희 | Turning-hottapping gate valve |
KR102571702B1 (en) * | 2022-08-31 | 2023-08-29 | 한전케이피에스 주식회사 | Apparatus and method for analysis image |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11174952A (en) * | 1997-12-11 | 1999-07-02 | Fumio Mizoguchi | Reading method for map data in lookahead and map scrolling method |
JP2009219148A (en) * | 1999-04-29 | 2009-09-24 | Mitsubishi Electric Research Laboratories Inc | Video display system and method for double-buffering image data for displaying it on television display screen |
JP2013157759A (en) * | 2012-01-30 | 2013-08-15 | Nippon Hoso Kyokai <Nhk> | Video distribution device, terminal device and program thereof, and video distribution system |
JP2014106715A (en) * | 2012-11-27 | 2014-06-09 | Fujitsu Ltd | Control program of processing unit, control method of processing unit, and processing unit |
-
2017
- 2017-07-31 KR KR1020170097297A patent/KR101964973B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11174952A (en) * | 1997-12-11 | 1999-07-02 | Fumio Mizoguchi | Reading method for map data in lookahead and map scrolling method |
JP2009219148A (en) * | 1999-04-29 | 2009-09-24 | Mitsubishi Electric Research Laboratories Inc | Video display system and method for double-buffering image data for displaying it on television display screen |
JP2013157759A (en) * | 2012-01-30 | 2013-08-15 | Nippon Hoso Kyokai <Nhk> | Video distribution device, terminal device and program thereof, and video distribution system |
JP2014106715A (en) * | 2012-11-27 | 2014-06-09 | Fujitsu Ltd | Control program of processing unit, control method of processing unit, and processing unit |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102174429B1 (en) | 2020-01-09 | 2020-11-04 | 조성희 | Turning-hottapping gate valve |
KR102571702B1 (en) * | 2022-08-31 | 2023-08-29 | 한전케이피에스 주식회사 | Apparatus and method for analysis image |
Also Published As
Publication number | Publication date |
---|---|
KR101964973B1 (en) | 2019-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9373308B2 (en) | Multi-viewport display of multi-resolution hierarchical image | |
CN102750664B (en) | Based on the queuing to texture requests of register | |
EP0871933B1 (en) | Method and apparatus to display objects using windows | |
US9053529B2 (en) | System and method for capturing digital images | |
US9761204B1 (en) | System and method for accelerated graphic rendering of design layout having variously sized geometric objects | |
US20140368547A1 (en) | Controlling Element Layout on a Display | |
US11170555B2 (en) | Graphics processing systems | |
JP5368254B2 (en) | Image file generation device, image processing device, image file generation method, image processing method, and data structure of image file | |
US20060230362A1 (en) | Information management program product allowing enhanced searchability | |
JP2007025958A (en) | Preview display device, preview display method and preview display program | |
WO2011114114A1 (en) | Memory management system and method | |
KR101964973B1 (en) | Multi-thread Based Big Image Display Acceleration Method | |
CN109410118B (en) | Rapid loading and displaying method for massive point cloud data | |
JP2008096725A (en) | Display control unit, display control method, and program | |
JP2013167797A (en) | Image forming device and control method thereof | |
US20120011421A1 (en) | Fail analysis system and method for semiconductor device | |
KR100247720B1 (en) | Method and system for generating a global hit test data structure using scan line compression of windows in a graphical user interface | |
JPH10293759A (en) | Document managing device | |
JP6233034B2 (en) | Substrate analysis program, information processing apparatus, and substrate analysis method | |
CN101620743B (en) | Graphics processing with hidden surface removal | |
US11487134B2 (en) | Display processing device, and display processing method | |
EP3321793A1 (en) | Method and system for real-time slide displaying of scanned image | |
US20150123981A1 (en) | Image data forming apparatus and control method therefor | |
TWI246052B (en) | Large graphic data high-speed describing method | |
US20050052459A1 (en) | Method and system for rendering macropixels in a graphical image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |