KR20050010912A - 화상 스트립 및 순환적 어드레싱 배열을 이용하여 화상데이터를 처리하는 방법 및 장치 - Google Patents

화상 스트립 및 순환적 어드레싱 배열을 이용하여 화상데이터를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20050010912A
KR20050010912A KR10-2004-7020288A KR20047020288A KR20050010912A KR 20050010912 A KR20050010912 A KR 20050010912A KR 20047020288 A KR20047020288 A KR 20047020288A KR 20050010912 A KR20050010912 A KR 20050010912A
Authority
KR
South Korea
Prior art keywords
strips
memory
working memory
strip
address
Prior art date
Application number
KR10-2004-7020288A
Other languages
English (en)
Other versions
KR100853912B1 (ko
Inventor
게 닝
마크 호프만
가비 이
Original Assignee
아나로그 디바이시즈 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아나로그 디바이시즈 인코포레이티드 filed Critical 아나로그 디바이시즈 인코포레이티드
Publication of KR20050010912A publication Critical patent/KR20050010912A/ko
Application granted granted Critical
Publication of KR100853912B1 publication Critical patent/KR100853912B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Memory System (AREA)
  • Image Input (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

다른 프로세서들과 조합된, 상대적으로 높은 속도의 순환적 메모리 장치로서, 화상 처리 효율을 향상시킨다. 이를 위하여, 초기 메모리에 저장된 화상 데이타를 처리하는 방법 및 장치는 화상을 복수의 연속적인 스트립으로 분할한다. 제1 복수의 스트립은 순환적 어드레싱 배열을 갖는 작업 메모리에 저장되고, 이 작업 메모리는 초기 메모리보다 빠르고 복수의 순차적인 어드레스 위치를 갖는다. 제1 복수의 스트립은 연속적이며 개시 어드레스를 갖는다. 또한, 제1 복수의 스트립은 연속적인 방식으로 작업 메모리에 저장되고, 개시 어드레스에 대해 작업 메모리를 통해 처리된다.

Description

화상 스트립 및 순환적 어드레싱 배열을 이용하여 화상 데이터를 처리하는 방법 및 장치{METHOD AND APPARATUS FOR IMAGE DATA PROCESSING USING IMAGE STRIPS AND CIRCULAR ADDRESSING ARRANGEMENT}
현대의 컴퓨터 시스템이 갖는 많은 이점 중에서 생생한 그래픽 디스플레이를 생성하는 이점이 있다. 이에 따라, 컴퓨터 시스템은 사진 및 그래픽 디자인과 같은 다양한 그래픽 예술 분야에서 널리 이용되는 도구가 되어 왔다. 그러나, 이러한 목적으로 컴퓨터를 더 많이 사용함에 따라 설계가 더 복잡해지고 이에 따라 그래픽 화상을 생성하는 소프트웨어가 복잡해졌다.
컴퓨터 시스템에 보다 많은 처리력을 부가함으로써 이러한 예술 분야에서의 요구에 응하였다. 예를 들어, 많은 컴퓨터 시스템은 메인 프로세서 상에서의 계산 부담을 줄이도록 특별히 설계된 전용 그래픽 프로세서를 구비한다. 따라서, 이러한 많은 컴퓨터는 메인 메모리(즉, RAM) 또는 캐시와 같은 다른 컴퓨터 컴포넌트들의 속도를 초과하는 처리 속도를 갖는다. 실제로, 종래의 많은 퍼스널 컴퓨터는, 메인 프로세서 자체의 속도가 메인 메모리 및 캐시의 속도를 초과하는 메인 프로세서를 구비하고 있다. 따라서, 프로세서 속도가 증가하였지만, 메인 메모리 및 캐시는 컴퓨터 시스템 내에서 처리 병목 현상을 발생할 수 있어, 불필요하게 화상 래스터화(rasterization) 프로세스를 방해하게 된다.
발명의 개요
본 발명의 일 측면에 따르면, 다른 프로세스와 조합하여 비교적 고속의 순환형 메모리 장치는 화상 처리 효율을 개선한다. 이를 위해, 초기 메모리에 저장된 화상 데이터를 처리하는 방법 및 장치는 화상을 복수의 연속적인 스트립으로 논리적으로 분할한다. 제1 복수의 스트립은 순환적 어드레싱 배열을 갖는 작업 메모리(working memory) 저장되고, 여기서 작업 메모리는 초기 메모리보다 빠르며 복수의 순차적인 어드레스 위치를 갖는다. 제1 복수의 스트립은 연속적이며 개시 어드레스를 갖는다. 또한, 제1 복수의 스트립은 작업 메모리에 연속적인 방식으로 저장되며, 개시 어드레스에 대해 작업 메모리를 통해 처리된다.
일부 실시예들에서, 제1 복수의 스트립은, (복수의 스트립에서) 상이한 스트립들의 연속적인 부분들이 작업 메모리의 연속 어드레스 위치에 저장될 때 연속적인 방식으로 저장되는 것으로 고려된다. 순환성을 유지하기 위해, 작업 메모리는 제1 메모리 위치 및 최종 메모리 위치를 가질 수 있으며, 여기서 제1 메모리 위치는 최종 메모리 위치와 논리적으로 연속된다. 또한, 처리가 진행되는 동안, 개시 어드레스로부터의 오프셋을 계산할 수 있다.
다른 실시예들에서, 제1 복수의 스트립이 처리됨에 따라 작업 메모리에 새로운 스트립이 저장된다. 이 새로운 스트립은 제1 복수의 스트립과 연속적이다. 따라서, 제1 복수의 스트립으로부터 적어도 하나의 스트립은 그 새로운 스트립과 함께 처리될 수 있다. 작업 메모리는 주어진 수의 스트립 영역들로 분할될 수 있으며, 각 스트립의 화상 데이터는 화상 데이터의 복수의 로우(row)를 포함한다. 이러한 실시예에서, 스트립은, 주어진 수의 스트립 영역들에 기초하여 작업 메모리에서의 저장을 위해 복수의 로우를 이동시킴으로써 저장될 수 있다.
본 발명의 다른 측면에 따라, 복수의 연속적인 스트립으로 논리적으로 분할되어 있는 초기 메모리에 저장되어 있는 화상 데이터를 처리하는 장치는, 순환적인 방식으로 작업 메모리에 액세스하기 위한 어드레스 관리자를 포함한다. 작업 메모리는 초기 메모리보다 빠르며 복수의 순차적인 어드레스 위치들을 갖는다. 또한, 이 장치는 작업 메모리에 제1 복수의 스트립을 저장하는 데이터 전송 장치를 포함하며, 여기서 제1 복수의 스트립은 연속적이며 개시 어드레스를 갖고 있다. 제1 복수의 스트립은 작업 메모리에 연속적인 방식으로 저장된다. 이 장치는 개시 어드레스에 대하여 작업 메모리를 통해 제1 복수의 스트립을 처리하기 위한 프로세서를 더 포함한다.
본 발명의 예시적인 실시예를, 컴퓨터 판독가능한 프로그램 코드를 갖는 컴퓨터 이용가능한 매체를 갖는 컴퓨터 프로그램 제품으로서 구현한다. 컴퓨터 판독가능 코드는 종래의 프로세스에 따른 컴퓨터 시스템에 의해 판독 및 활용될 수 있다.
본 발명은 일반적으로 메모리 관리에 관한 것으로서, 보다 상세하게는 그래픽 처리 시스템에서의 메모리 효율을 개선하는 것에 관한 것이다.
첨부 도면을 참조하여 다음에 따르는 추가 설명에 의해 본 발명의 상기한 설명 및 이점을 이해할 것이며, 첨부 도면에서,
도 1은 예시적인 실시예를 구현할 수 있는 예시적 컴퓨터 시스템을 개략적으로 나타낸다.
도 2는 본 발명의 예시적인 실시예에 따라 처리될 수 있는 그래픽 화상의 프레임을 개략적으로 나타낸다.
도 3은 화상을 처리하는데 사용될 수 있는 2개의 메모리 장치를 나타낸다.
도 4a는 도 3에 도시한 제2 (캐시) 메모리의 구성의 추가적인 상세를 나타낸다.
도 4b는 도 4a에 도시된 제2 메모리의 또 다른 논리도를 도시한다.
도 5는 도 2에 도시된 화상을 처리하는 예시적 방법을 도시한다.
도 6은 도 3, 도 4a, 및 도 4b에 도시된 제2 메모리를 횡단하는 예시적 방법을 도시한다.
본 발명의 예시적 실시예에서, 컴퓨터 시스템에 있는 화상 데이터는 보다 느린 메모리로부터 처리를 위해 원형으로 구성된 보다 빠른 메모리로 전송된다. 예시적 실시예가 이하에 상세히 설명된다.
도 1은 예시적 실시예가 구현될 수 있는 예시적 컴퓨터 시스템을 개략적으로 도시한다. 도 1의 예시적 컴퓨터 시스템(100)은 단지 설명을 목적으로 논의되는 것이지 본 발명을 한정하는 것으로 고려되어서는 안된다. 이하의 설명이 특정 컴퓨터 시스템을 설명하는데 공통적으로 사용되는 용어들을 언급하고 있지만, 상세한개념은 도 1에 도시된 구조와 다른 구조를 갖는 시스템을 포함하는 다른 컴퓨터 시스템에 동일하게 적용된다.
컴퓨터(100)는 종래의 마이크로프로세서를 구비한 CPU(105), 정보를 일시적으로 저장하는 메인 메모리(110)(예를 들면, 당 분야에서 "RAM"으로 공통적으로 호칭되는 랜덤 액세스 메모리), 및 판독 전용 정보를 영구적으로 저장하는 ROM(115)을 포함한다. 부가하여, 컴퓨터(100)는 또한 시스템 RAM(110)을 제어하는 메모리 콘트롤러(120), 및 시스템 RAM(110)에 대한 직접 메모리 액세스를 제어하는 직접적인 메모리 액세스(DMA) 콘트롤러(160)를 또한 구비한다. 컴퓨터(100)는 또한 다양한 내부 컴포넌트를 연결하기 위한 메인 버스(130)를 포함한다.
디스켓(142), (통상, 당 분야에서 "DVD"로 호칭되는) 디비털 휘발성 디스크(도시 생략), CD-ROM(147), 및 하드 디스크(152)와 같은 비휘발성 저장 매체에 의해 대용량 저장 장치가 제공될 수 있다. 또한, 디스켓(142) 및 CD-ROM(147) 같은 분리형 매체를 통해 또는 네트워크 접속을 통해 컴퓨터 시스템(100)으로 데이터 및 소프트웨어가 교환될 수 있다.
컴퓨터(200)로의 사용자 입력은 많은 장치에 의해 제공될 수 있다. 예를 들면, 키보드(156) 및 마우스(157)는 키보드 및 마우스 콘트롤러(155)에 의해 버스(130)에 접속될 수 있다. 디지털 카메라, 펜 및/또는 태블릿, 및 음성 입력용의 마이크로폰등의 다른 입력 장치가 버스(130) 및 적당한 콘트롤러를 통해 컴퓨터(100)에 접속될 수 있다.
컴퓨터 시스템(100)은 바람직하게는 (워싱턴, 레드몬드의 마이크로소프트사에 의해 배포된) WINDOWS NT®운영 체계 등의 운영 체계 소프트웨어에 의해 제어되고 조정된다. 컴퓨터 시스템 컨트롤 기능 중에서, 운영 체계는 시스템 리소스의 할당을 제어하고 프로세스 스케쥴링, 메모리 관리, 네트워킹, 및 I/O 서비스 등의 시스템 작업을 수행한다. 그 중에서도 특히, (메모리 관리와 관련되는) 예시적 실시예는 운영 체계의 부분으로서, 또는 개별 유틸리티로서 구현될 수 있다.
도 2는 본 발명의 예시적 실시예에 따라 처리될 수 있는 그래픽 화상(162)의 프레임을 개략적으로 도시한다. 그래픽 화상(162)는 디지털 카메라, 또는 비디오 피드(feed) 같은 임의의 공지된 소스로부터 생성된 디지털화된 화상일 수 있다. 예를 들면, 화상(162)는 종래의 MPEG 표준에 따른 압축 동작의 애플리케이션과 같은 일부 처리들을 요구할 수 있다.
이러한 목적을 위해, 그래픽 화상(162)은 복수의 연속적인 데이터 스트립(이하, "스트립"이라 함)으로 논리적으로 분할되는데, 이는 복수의 연속적인 데이터 셀(이하, "셀"이라 함)을 형성하도록 논리적으로 고려된다. 각각의 스트립은, 화상(162)의 각 부분을 형성하는 이차원 어레이의 픽셀로 구성된다. 도 2에 도시된 예에서, 화상(162)는 7개의 스트립을 갖는 2개의 로우로 분할된다. 7개의 스트립의 각 로우는 6개의 셀을 형성한다. 스트립은 스트립(A-N)으로 식별되는 한편, 셀은 셀(1-12)로 식별된다. 하나의 셀은 2개의 연속적인 스트립으로 구성된다. 예를 들면, 스트립(A) 및 스트립(B)는 셀(1)을 형성한다. 이하의 테이블은 도 2의셀 및 그들의 대응 스트립을 도시한다:
셀들의 각 로우에서 각각의 중간 셀(즉, 로우에서 제1 셀도 아니고 최종 셀도 아닌)이 이전 및 이후의 셀과 중첩하도록 셀이 형성된다. 예를 들면, 셀(2)은 스트립(B 및 C)으로 형성되지만, 셀(3)은 스트립(C 및 D)로 형성된다. 따라서, 셀(2 및 3)은 스트립(C)을 공유한다. 유사한 방법으로, 셀(1 및 2)는 스트립(B)를 공유한다. 하기에 상세히 논의되는 바와 같이, 이러한 중첩은 컴퓨터(100)의 내부 메모리 시스템에서 파이프라이닝(pipelining)을 가능하게 함으로써 병렬 처리를 용이하게 한다. 처리 속도를 향상시키는 등의 스트립의 논리적 할당의 장점은, 본 기술 분야의 숙련자들에게는 명백하다.
그러나, 도 2의 논리적 스트립과 셀에 대한 논의는 예시적인 것이며, 스트립과 셀의 수가 만족되어야 한다는 것을 의미하는 것은 아니다. 몇몇 실시예에서, 예를 들어, 셀은 세 개의 스트립 또는 하나의 스트립으로 형성될 수 있다. 따라서, 특정 스트립과 셀 크기/수에 대한 논의는 본 발명의 다양한 실시예의 범위를한정시키지 않는다.
도 2에 도시한 화상(162)의 스트립과 셀이 논리적으로 형성된 이후에 그 화상(162)이 고속 메모리에서 처리된다. 도 3은 그러한 논리적으로 분리된 화상(162)을 처리하기 위해 사용될 수도 있는 두 개의 메모리 장치를 보여준다. 하이(high) 레벨에서, 화상(162)은 초기에는 초기 메모리 장치(초기 메모리(164))에 저장된 다음, 스트립 방식으로 스트립내 작업 메모리 장치(작업 메모리(166))로 전송된다. 작업 메모리(166)는 초기 메모리(164)보다 빠른 속도를 갖는다. CPU(105)는 작업 메모리(166)에서 화상(162)을 처리한다.
특히, 도 3을 참조하면, 초기 메모리(164)는 전체 화상(162)을 저장하는 외부 SDRM(synchronous dynamic random access memory)일 수도 있다. DMA 콘트롤러는 화상(162)의 스트립을, 예를 들어 내부 캐시인 작업 메모리(166)로 전송한다. 화상(162)을 전송하고 처리하는 방법에 대해서는 도 5 및 6을 참조하여 보다 상세하게 설명한다. 그러나, SDRAM과 캐시를 설명하지만, 그러한 상대적인 속도를 갖는 다른 타입의 메모리가 사용될 수도 있다. 따라서, 처리를 위해 보다 고속의 메모리에 데이터를 전송하는 임의의 보다 저속의 메모리 장치도 많은 실시예를 충촉시킨다.
도 4a는 도 3에 도시한 제2 (캐시) 메모리의 구성을 상세하게 보여준다. 작업 메모리(166)는, 화상(162)내 하나의 픽셀에 대한 데이터를 각각 저장하는 소정의 수의 어드레스 위치(또한 "메모리 위치"로 불림)를 구비하도록 구성된다. 예를 들어, 도 4a에 도시한 작업 메모리(166)는 96 픽셀의 데이터에 대한 어드레스 위치를 갖는다. 각 어드레스 위치는, 초기 메모리(164)로부터 수신된 처리되지 않은 화상 데이터를 저장하기 위해 적절한 크기로 만들어진다. 따라서, 각 어드레스 위치는 색(예를 들어, 레드, 그린 및 블루), 투명도, 깊이, 및 소정의 픽셀에 대해 요구되는 다른 데이터를 저장하기 위한 충분한 공간을 구비한다.
처리 동안, 각 어드레스 위치는 연속하여 트래버스(traverse)될 수도 있다. 예를 들어, 판독될 제1 어드레스 위치가 어드레스 위치 0이면, 판독될 제2 어드레스 위치는 어드레스 위치 1이 될 것이며, 판독될 그 다음 어드레스 위치는 어드레스 위치 2 등이 될 것이다. 대안적인 실시예에서, 어드레스 위치는 연속하여 처리되지 않는다. 그러나, 다른 실시예에서, 기본 어드레스가 선택되며("개시 어드레스"로 불리며, 이하에서 설명함), 처리는 그 기본 어드레스와 관련하여 진행된다. 좀 더 구체적으로 설명하면, 처리는 기본 어드레스와 관련된 오프셋으로 수행된다. 예를 들어, 기본 어드레스가 어드레스 위치 4이면, 어드레스 위치 6-8을 처리하기 위하여, 로직은 기본 어드레스로부터의 어드레스 위치 오프셋 2-4를 처리하도록 지정한다.
예시적인 실시예에 따르면, 작업 메모리(166)는 순환적 메모리가 되도록 구성된다. 따라서, 어드레스 위치 95가 판독, 스킵, 또는 트래버스된 후, 처리는 어드레스 위치 0으로 다시 되돌아간다. 또한, 작업 메모리(166)는, 화상(162)내 스트립에 대응하는 두 개 이상의 그룹으로 논리적으로 분할된다. 좀더 구체적으로 설명하면, 도 4a에 도시한 작업 메모리(166)는 세 개의 동일한 크기의 블록으로 분할된다. 본 명세서에서, 그 블록들은 제1 블록(166A), 제2 블록(166B) 및 제3 블록(166C)로 표현된다. 각 메모리 블록은, 화상 데이터의 스트림과 동일한 수의 어드레스 위치를 구비하도록 구성된다. 예시적인 실시예에서, 각 메모리 블록은, 화상(162)의 스트립과 같은 정확한 2차원적 크기를 갖도록 구성된다.
도 4b는 도 4a에 도시한 작업 메모리(166)의 또다른 논리도를 보여준다. 특히, 포인터 또는 장치를 트래버스하는 다른 메모리에 대해, 작업 메모리(166)는 어드레스 위치의 1차원적 배열로 나타낸다. 도시한 예에서, 어드레스 위치 95가 트래버스된 후, 어드레스 위치 0이 판독/스킵되거나 트래버스된다. 그럼에도 불구하고, 연속적인 화상 데이터는 도 4a에 도시한 바와 같이 어드레스 위치에 저장된다.
본 발명의 다른 구성요소와 비슷한 방식으로, 도 4a 및 4b에 도시한 어드레스 위치의 전체 수가 예시된다. 따라서, 상이한 수의 어드레스 위치와 분할이 사용될 수도 있고, 상이한 크기의 메모리가 사용될 수도 있다. 그래서, 특정 크기에 대한 논의는 본 발명의 범위를 한정하지 않는다.
도 5는 도 2에 도시한 화상(162)을 처리하는 예시적인 방법을 보여준다. 본 방법은 단계 500에서 시작하는데, 화상(162)은 다수의 스트립으로 논리적으로 분리된다. 예를 들어, 화상(162)은 도 2에 도시한 바와 같이 분리될 수도 있다. 화상(162)의 크기에 따라, 화상(162)은 스트립의 하나 이상의 로우로 분리될 수도 있으며, 상술한 각각의 로우는 다수의 중첩하는 셀을 형성한다. 따라서 나머지 단계들은 화상(162)내 각각의 로우에 대해 실행된다.
구체적으로 설명하면, 연속적인 스트립의 제1 복수의 세트는, 초기 메모리(164)(즉, 레벨 2 메모리와 같은 저속 메모리)로부터 작업 메모리(166)(즉,레벨 1 메모리와 같은 고속 메모리)로 전송된다. 예시적인 실시예에 있어서, 스트립 A와 B(즉, 셀 1)는, 먼저 작업 메모리(166)의 제1 및 제2 블록(166A,166B)으로 로드된다. 도면에 도시된 바와 같이, 이 스트립들은 연속적인 방식으로 작업 메모리(166)로 로딩된다. 좀더 구체적으로 설명하면, 두 개의 연속 스트립 사이의 연속하는 픽셀들은, 작업 메모리(166)내 연속하는 어드레스 위치들에 저장된다. 도시된 예에서, 2개의 연속적인 스트립은 동일한 로우에서 연속적인 픽셀을 갖는다.
이를 위해, DMA 콘트롤러는 2D-DMA로서 구성된다. 무엇보다도, 이 콘트롤러는 2개의 동작을 예시적으로 수행한다. 즉, 1) 셀(즉, 스트립 세트)을 FIFO(first-in, first-out) 파이프 상으로 로드하는 로드("load") 동작, 및 2) FIFO 파이프로부터 작업 메모리(166)내로 화상 데이터의 어레이를 픽셀의 2차원적 어레이(즉, 스트립 또는 셀)로서 저장하는 저장("store") 동작이다. 상기한 바와 같이, 각 스트립은 화상(162)의 일부를 형성하는 픽셀 데이터의 2차원 어레이임을 주목하길 바란다. 따라서, 이들 동작은, 스트립 데이터 포맷이 초기 메모리(164)에 저장될 때 유지되는 것을 보장한다.
예시적인 실시예에서, 상기한 2개의 DMA 동작을 위한 소프트웨어 시맨틱은 아래와 같을 수 있다.
제1 세트의 스트립이 로딩된 후, 한 쌍의 포인터가 단계(504)에서 설정된다. 보다 상세하게, 시스템은, 주어진 셀의 (작업 메모리(166) 내의) 제1 어드레스 위치를 지시하는 기본 포인터, 및 기본 포인터에 대하여 오프셋된 (작업 메모리(166) 내의) 어드레스 위치를 지시하는 판독 포인터를 갖도록 구성된다. 초기에, 양 포인터는 동일한 어드레스 위치를 가리킨다. 예를 들어, 이 포인터들은 초기에 스트립 A에서 제1 어드레스 위치를 가리키도록 설정되어 있다. (후술할) 도 6에 도시한 바와 같이, 기본 포인터는, 새로운 셀이 처리될 때마다 한 세트의 어드레스 위치 수를 증분하는 한편, 판독 포인터는 그러한 셀이 트래버스될 때마다 각 셀에서 한번씩 연속적으로 증분한다.
따라서, 방법은 단계(506)로 진행되고, 여기서 도 6을 참조하여 후술될 방법에 따라 현재 세트의 스트립(즉, 처리되는 현재 셀)이 처리된다. 이후, 단계(508)에서 처리되고 있는 로우가 처리될 추가의 스트립들을 갖고 있는지 여부가 결정된다. 그 로우를 위한 추가 스트립이 처리되지 않는 것이라면, (그 로우를 위한) 프로세스가 종료된다.
반대로, 추가 스트립이 처리될 것이라면, 프로세스는 단계(510)로 진행하여, 여기서 다음 세트의 스트립이 작업 메모리(166)에 저장된다. 도 2에 나타낸 예에서, 데이터의 단일 스트립(예를 들어, C)은 작업 메모리(166)의 다음 연속 블록에 저장되고, 이 경우 연속 블록은 이제 작업 메모리(166)의 제3 블록(166C)으로 된다. 이후, 프로세스는 단계(504)로 돌아가, 여기서 포인터가 리셋된다. 이를 위해, 기본 포인터 및 판독 포인터는 그 다음 셀의 제1 어드레스 위치(예를 들어, 스트립 B의 제1 메모리 위치)를 지시하도록 설정된다. 따라서, (스트립 B와 C로 구성되는) 그 다음 셀이 처리되고, 이에 따라 데이터(즉, 스트립 B)가 재사용될 수 있게 된다. 이 방법은 전체 로우가 처리될 때까지 반복된다. 화상(162)이 추가 로우를 갖고 있으면, 그 방법은 그 다음 로우를 위해 반복된다.
예시적인 실시예에 있어서, 도 5의 방법의 다양한 단계들이 상이한 순서 또는 실질적으로 동일한 순서로 수행된다. 예를 들면, 현재의 스트립의 세트가 처리되고 있는 동안에(단계 500), CPU(105)는 추가의 스트립을 처리할지의 여부를 결정할 수 있고(단계 508), 만약 더 처리하기를 원한다면, 작업 메모리(166)의 다음 블럭에 그 스트립들을 저장할 것이다(단계 510). 따라서, 일부 실시예들은 거의 병렬 동작으로 이들 3개의 단계들을 하나로 결합한다.
도 6은 단계 506에서 기술된 현재의 스트립의 세트들을 처리하는 방법을 도시한다. 방법은 단계 600에서 시작하며, 여기서 기본 및 판독 포인터를 위치시킨다. 이 단계는 프로세스에서 함축적일 수 있으며, 따라서 다양한 실시예들에서 필요로하는 단정적인 단계는 아니다. 그 다음에 프로세스는 단계 602로 진행되어, 처리를 위해 어드레스 위치들의 세트를 판독한다. 그 목적을 위하여, 판독 포인터는 증분되어 기본 포인터로부터의 어드레스 위치들의 세트 수를 판독한다. 여기에서 논의된 예시에서는, 판독 포인터가 8회 증분되어 그것의 현재 셀 내의 처음의 8개 어드레스 위치들의 각각을 판독한다. 따라서, 이 단계는 본 방법이 셀 데이타를 갖는 작업 메모리(166)의 2개의 인접한 블럭들의 부분들을 판독할 수 있게 한다.
어드레스 위치들의 세트를 판독한 후에, 그 다음에 판독 포인터는 다음의 계속되는 어드레스 위치들의 세트를 스킵한다(단계 604). 도시된 예에서, 판독 포인터는 다음의 4개의 어드레스 위치들을 스킵한다. 따라서 이 단계는 본 방법이 셀 데이타가 없는 작업 메모리(166)의 한 블럭을 스킵할 수 있게 한다. 그 다음에 단계 606에서, 판독 포인터가 기준 포인터에 의해 지시되는 것(즉, 기본 어드레스에서)과 동일한 어드레스를 가리키고 있는지가 결정된다. 가리키고 있다면, 전체 셀이 작업 메모리(166)에 저장된 것이기 때문에, 본 방법은 종료한다. 거꾸로, 판독포인터가 상이한 어드레스 위치를 가리키고 있다면, 프로세스는 단계 602로 돌아가고, 여기서 다음 어드레스들의 세트 번호를 판독한다. 따라서, 본 방법은 전체 셀이 작업 메모리(166)에 저장될 때까지 반복된다. 상술한 바와 같이, 어드레스 위치를 판독한 후에, CPU(105)는 일부의 화상 데이타를 압축하는 것과 같은 처리 기능들을 수행한다.
따라서, 도 5 및 도 6에서 기술된 방법은 2차원 어레이의 화소 데이타가 작업 메모리(166)에 저장될 수 있게 한다. 기본 포인터로부터 판독/저장 프로세스들을 시작하는 것 및 작업 메모리(166)를 순환형 메모리로서 구성하는 것은 이것을 매우 효율적으로 달성될 수 있게 한다.
이하는 도 4a에 도시된 작업 메모리(166)에서 여기에 기술된 방법들을 9회 반복하는 것을 보여주는 예시이다. 특히, 본 예시는 화상 처리의 9회의 반복을 통한 작업 메모리(166)의 콘텐트를 보여준다. 화상(162)은 로우로 순차적으로 어드레싱된 화소들을 갖는다. 즉, 각각의 로우는 64개의 순차적으로 어드레싱된 화소 위치들을 갖는다. 본 예시의 파라미터들은 다음과 같다:
화상 크기: 64×64
스트립 크기: 4×8
스트립의 개수: 로우 당 16개 스트립, 8로우의 스트립, 총 128개 스트립
셀 크기: 8×8 (2개 스트립)
원형 어드레싱 크기: 3*4*8
이하의 예에서, 화상(162)의 각각의 화소는 이하의 포맷: "a(로우, 컬럼)"으로 식별된다. 따라서 "a(0,1)"과 같은 표시는, 화상(162)의 로우 0 및 컬럼 1에 위치한 화소에 대한 화소 데이타를 나타낸다. 또한, 작업 메모리(166)의 제1 컬럼의 각 메모리 위치의 어드레스 번호는 작업 메모리(166)의 제1 컬럼의 좌측에 인접하여 나열된다. 물론, 예시된 작업 메모리(166)의 모든 어드레스들이 도 4a를 참조하여 확정될 수 있다. 끝으로, 각 반복의 기준 어드레스는 대문자화했고 밑줄 쳤으지며, 화상 데이타를 수신하는 메모리 부분은 굵은 글씨로 표시했다.
시뮬레이션 출력:
상술한 바와 같이, 이들 및 관련된 프로세스들은 미리선택된 시간에 스트립들 내의 로우들을 논리적으로 시프팅시키는 효과를 갖는다. 특히, 이러한 시프팅은 작업 메모리(166)의 블럭들의 수에 기초하여 수행된다. 위의 예에서, 3개 스트립들의 제1 세트가 저장된 후에, 제2 세트의 스트립들은 작업 메모리에 저장되는 경우에 한 로우 만큼 하향하여 시프트된다. 그 다음의 3개의 연속된 세트의 스트립들이 작업 메모리(166)에 저장되는 경우에, 이들은 2개 로우 만큼씩 시프트된다. 이 프로세스는 3개 세트당 1로우 씩(논의되는 예에서), 화상의 로우에서 모든 셀들이 처리될 때까지 반복된다.
당업자들은 예시적인 실시예들을 단지 예로서 셀들의 로우에 대해 논의하였음을 이해해야 한다. 그외의 셀들의 구성들도 이용할 수 있다. 예를 들면, 셀들의 컬럼에도 유사한 원리가 적용된다. 따라서, 다양한 실시예들은 셀의 로우에 한정되는 것을 의도하는 것은 아니다.
상술한 이익 외에도, 예시적인 실시예들은 CPU(105)가 포인터들을 기억하고 있을 것을 요구하지 않는다. 대신에, 간단한 모듈로(modulo) 커맨드 및 카운터를 사용하여 일정한 조건을 만족시킬 때까지(예를 들어, 판독 포인터가 기준 포인터가 가리키는 것과 동일한 어드레스 위치를 가리킴) 포인터들을 증분시킬 수 있다. 따라서, CPU 사용이 최적화된다. 또한, 다른 스트립이 로딩되고 있는 동안에(즉, 파이프라이닝) 화상 데이타의 한 셀을 처리하는 것은 시스템 성능도 개선시킬 수 있다.
본 발명의 다양한 실시예들은 적어도 부분적으로 임의의 종래의 컴퓨터 프로그래밍 언어로 구현될 수 있다. 예를 들면, 일부 실시예들은 절차적 프로그래밍 언어(예를 들어, "C") 또는 객체 지향 프로그래밍 언어(예를 들어, "C++")로 구현될 수 있다. 본 발명의 그외의 실시예들은 미리프로그래밍된 하드웨어 구성요소들(예를 들어, 애플리케이션 특정 집적 회로, FPGA, 및 디지탈 신호 프로세서), 또는 그외의 관련 컴포넌트들로서 구현될 수 있다.
대안적인 실시예에서, 개시된 장치 및 방법은 컴퓨터 시스템과 함께 사용하기 위한 컴퓨터 프로그램 제품으로서 구현될 수 있다. 그러한 구현은 컴퓨터 판독가능한 매체(예를 들어, 디스켓, CD-ROM, ROM, 또는 고정된 디스크) 등의 유형 매체 상에 고정되거나, 또는 모뎀, 또는 매체를 통해 네트워크에 접속된 통신 어댑터와 같은 그외의 인터페이스 장치를 통해 컴퓨터 시스템으로 전송가능한 일련의 컴퓨터 명령어들을 포함할 수 있다. 매체는 유형 매체(예를 들어, 광학 또는 아날로그 통신 라인들) 또는 무선 기술(예를 들어, 마이크로웨이브, 적외선, 또는 그외의 전송 기술들)로 구현된 매체 중 어느 하나일 수 있다.
일련의 컴퓨터 명령어들은 시스템에 대하여 여기에 앞에서 기술한 기능성의 전부 또는 일부를 구현한다. 당업자들은 다수의 컴퓨터 아키텍쳐들 또는 운영 시스템에서 사용하기 위해 이러한 컴퓨터 명령어들을 다수의 프로그래밍 언어 안에 기입할 수 있다는 것을 알아야만 한다. 또한, 이러한 명령어들은 반도체, 자기, 광학 제품 등의 임의의 메모리 장치 또는 그외의 메모리 장치들에 저장될 수 있으며, 광학, 적외선, 마이크로웨이브, 또는 그외의 전송 기술들과 같은 임의의 통신 기술을 사용하여 전송될 수 있다.
이러한 컴퓨터 프로그램 제품은 첨부되는 인쇄 또는 전자 문서화(예를 들어, 상품화된(shrink wrapped) 소프트웨어)를 갖는 분리가능한 매체로서 분포되거나, 컴퓨터 시스템으로 프리로드(preload)되거나(예를 들어, 시스템 ROM 또는 고정된디스크 상에서), 또는 서버 또는 전자 게시판으로부터 네트워크(예를 들어, 인터넷 또는 WWW(World Wide Web))를 통해 분포될 수 있음이 예상된다. 물론, 본 발명의 일부 실시예들은 소프트웨어(예를 들어, 컴퓨터 프로그램 제품) 및 하드웨어 둘 다의 결합으로서 구현될 수도 있다. 본 발명의 또 다른 실시예들은 전체적으로 하드웨어로서, 또는 전체적으로 소프트웨어(예를 들어, 컴퓨터 프로그램 제품)로서 구현될 수도 있다.
본 발명의 다양한 예시의 실시예들을 개시하였지만, 당업자들에게는 본 발명의 진정한 범위로부터 벗어나지 않으면서 다양한 변경 및 수정을 행하여 본 발명의 이점의 일부를 달성할 수 있음은 명백하다. 이들 및 그외의 명백한 변경들은 첨부된 청구범위에 의해 포함되는 것을 의도한다.

Claims (21)

  1. 초기 메모리에 저장된 화상 데이타를 처리하는 방법으로서,
    상기 화상을 복수의 연속적인 스트립(contiguous strips)으로 논리적으로 분할하는 단계;
    순환적 어드레싱 배열(circular addressing arrangement)을 갖는 작업 메모리에 제1 복수의 스트립을 저장하는 단계 - 상기 작업 메모리는 상기 초기 메모리보다 빠르고 복수의 순차적인 어드레스 위치를 갖고, 상기 제1 복수의 스트립은 연속적이며 개시 어드레스를 갖고, 상기 제1 복수의 스트립은 연속적인 방식으로 상기 작업 메모리에 저장됨 - ; 및
    상기 개시 어드레스에 대해 상기 작업 메모리를 통해 상기 제1 복수의 스트립를 처리하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    연속적인 방식으로 상기 제1 복수의 스트립을 저장하는 상기 단계는 상기 작업 메모리의 연속적인 어드레스 위치들에 상기 복수의 스트립 중 상이한 스트립들의 연속적인 부분들을 저장하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 작업 메모리는 제1 메모리 위치 및 최종 메모리 위치를 갖고, 상기 제1 메모리 위치는 상기 최종 메모리 위치와 논리적으로 연속적인 방법.
  4. 제1항에 있어서,
    상기 처리 단계는 상기 개시 어드레스로부터의 오프셋을 계산하는 방법.
  5. 제1항에 있어서,
    상기 제1 복수의 스트립이 처리됨에 따라, 상기 작업 메모리에 새로운 스트립을 저장하는 단계를 더 포함하고, 상기 새로운 스트립은 상기 제1 복수의 스트립과 연속적인 방법.
  6. 제5항에 있어서,
    상기 제1 복수의 스트립으로부터의 적어도 하나의 스트립을 상기 새로운 스트립과 함께 처리하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 작업 메모리는 주어진 수의 스트립 영역들로 분할되고, 각 스트립 내의 상기 화상 데이타는 화상 데이타의 복수의 로우(row)를 포함하고, 상기 저장 단계는 상기 주어진 수의 스트립 영역들에 기초하여 상기 작업 메모리에 저장하기 위해 상기 복수의 로우를 이동시키는 단계를 더 포함하는 방법.
  8. 초기 메모리에 저장된 화상 데이타를 처리하기 위해 컴퓨터 시스템에 사용하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은 컴퓨터 판독가능한 프로그램 코드가 저장된 컴퓨터 사용가능한 매체를 포함하고, 상기 컴퓨터 판독가능한 프로그램 코드는,
    상기 화상을 복수의 연속적인 스트립으로 논리적으로 분할하기 위한 프로그램 코드;
    순환적 어드레싱 배열을 갖는 작업 메모리 내에 제1 복수의 스트립을 저장하기 위한 프로그램 코드 - 상기 작업 메모리는 상기 초기 메모리보다 빠르고 복수의 순차적인 어드레스 위치를 갖고, 상기 제1 복수의 스트립은 연속적이며 개시 어드레스를 갖고, 상기 제1 복수의 스트립은 연속적인 방식으로 상기 작업 메모리 내에 저장됨 - ; 및
    상기 개시 어드레스에 대해 상기 작업 메모리를 통해 상기 제1 복수의 스트립을 처리하기 위한 프로그램 코드
    를 포함하는 컴퓨터 프로그램 제품.
  9. 제8항에 있어서,
    연속적인 방식으로 상기 제1 복수의 스트립을 저장하기 위한 상기 프로그램 코드는 상기 작업 메모리의 연속적인 어드레스 위치들에 상기 복수의 스트립 중 상이한 스트립들의 연속적인 부분들을 저장하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램 제품.
  10. 제8항에 있어서,
    상기 작업 메모리는 제1 메모리 위치 및 최종 메모리 위치를 갖고, 상기 제1 메모리 위치는 상기 최종 메모리 위치와 논리적으로 연속적인 컴퓨터 프로그램 제품.
  11. 제8항에 있어서,
    처리를 위한 상기 프로그램 코드는 상기 개시 어드레스로부터의 오프셋을 계산하는 컴퓨터 프로그램 제품.
  12. 제8항에 있어서,
    상기 제1 복수의 스트립이 처리됨에 따라, 상기 작업 메모리에 새로운 스트립을 저장하기 위한 프로그램 코드를 더 포함하고, 상기 새로운 스트립은 상기 제1 복수의 스트립과 연속적인 컴퓨터 프로그램 제품.
  13. 제12항에 있어서,
    상기 제1 복수의 스트립으로부터의 적어도 하나의 스트립을 상기 새로운 스트립과 함께 처리하기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  14. 제8항에 있어서,
    상기 작업 메모리는 주어진 수의 스트립 영역들로 분할되고, 각 스트립 내의 상기 화상 데이타는 화상 데이타의 복수의 로우를 포함하고, 상기 저장을 위한 프로그램 코드는 상기 주어진 수의 스트립 영역들에 기초하여 상기 작업 메모리에 저장하기 위해 상기 복수의 로우를 이동시키기 위한 프로그램 코드를 더 포함하는 컴퓨터 프로그램 제품.
  15. 초기 메모리에 저장된 화상 데이타를 처리하기 위한 장치로서, 상기 화상 데이타는 복수의 연속적인 스트립으로 논리적으로 분할되고, 상기 장치는,
    순환적 방식으로 작업 메모리에 액세스하기 위한 어드레스 관리자 - 상기 작업 메모리는 상기 초기 메모리보다 빠르고 복수의 순차적인 어드레스 위치들을 가짐 - ;
    상기 작업 메모리에 제1 복수의 스트립을 저장하기 위한 데이타 전달 장치 - 상기 제1 복수의 스트립은 연속적이며 개시 어드레스를 갖고, 상기 제1 복수의 스트립은 연속적인 방식으로 상기 작업 메모리에 저장됨 - ; 및
    상기 개시 어드레스에 대해 상기 작업 메모리를 통해 상기 제1 복수의 스트립을 처리하기 위한 프로세서
    를 포함하는 장치.
  16. 제15항에 있어서,
    상기 데이타 전달 장치는 상기 작업 메모리의 연속적인 어드레스 위치들에 상기 복수의 스트립 중 상이한 스트립들의 연속적인 부분들을 저장하는 장치.
  17. 제15항에 있어서,
    상기 작업 메모리는 제1 메모리 위치 및 최종 메모리 위치를 갖고, 상기 제1 메모리 위치는 상기 최종 메모리 위치와 논리적으로 연속적인 장치.
  18. 제15항에 있어서,
    상기 프로세서는 상기 개시 어드레스로부터의 오프셋을 계산하는 장치.
  19. 제15항에 있어서,
    상기 데이타 전달 장치는 상기 제1 복수의 스트립이 처리됨에 따라, 상기 작업 메모리에 새로운 스트립을 저장하고, 상기 새로운 스트립은 상기 제1 복수의 스트립과 연속적인 장치.
  20. 제19항에 있어서,
    상기 프로세서는 상기 제1 복수의 스트립으로부터의 적어도 하나의 스트립을 상기 새로운 스트립과 함께 처리하는 장치.
  21. 제15항에 있어서,
    상기 작업 메모리는 주어진 수의 스트립 영역들로 분할되고, 각 스트립 내의 상기 화상 데이타는 화상 데이타의 복수의 로우를 포함하고, 상기 데이타 전달 장치는 상기 주어진 수의 스트립 영역들에 기초하여 상기 작업 메모리에 저장하기 위해 상기 복수의 로우를 이동시키는 장치.
KR1020047020288A 2002-06-13 2003-04-23 초기 메모리에 저장된 화상 데이타를 처리하는 방법, 컴퓨터 판독가능 기록매체 및 장치 KR100853912B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/170,604 2002-06-13
US10/170,604 US6771271B2 (en) 2002-06-13 2002-06-13 Apparatus and method of processing image data
PCT/US2003/012693 WO2003107272A1 (en) 2002-06-13 2003-04-23 Method and apparatus for image data processing using image strips and circular addressing arrangement

Publications (2)

Publication Number Publication Date
KR20050010912A true KR20050010912A (ko) 2005-01-28
KR100853912B1 KR100853912B1 (ko) 2008-08-25

Family

ID=29732539

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047020288A KR100853912B1 (ko) 2002-06-13 2003-04-23 초기 메모리에 저장된 화상 데이타를 처리하는 방법, 컴퓨터 판독가능 기록매체 및 장치

Country Status (9)

Country Link
US (1) US6771271B2 (ko)
EP (1) EP1532582B1 (ko)
JP (1) JP4690723B2 (ko)
KR (1) KR100853912B1 (ko)
CN (1) CN100545863C (ko)
AT (1) ATE331257T1 (ko)
AU (1) AU2003276589A1 (ko)
DE (1) DE60306388T2 (ko)
WO (1) WO2003107272A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188212B2 (en) * 2004-05-06 2007-03-06 International Business Machines Corporation Method and system for storing data in an array of storage devices with additional and autonomic protection
US7093157B2 (en) * 2004-06-17 2006-08-15 International Business Machines Corporation Method and system for autonomic protection against data strip loss
US20060245642A1 (en) * 2005-04-29 2006-11-02 Stmicroelectronics S.R.L. Software implemented image generating pipeline using a dedicated digital signal processor
US7822891B2 (en) * 2006-06-13 2010-10-26 Broadcom Corporation System and method for transferring a multidimensional array of data to a non-contiguous buffer
JP4789753B2 (ja) * 2006-08-28 2011-10-12 富士通セミコンダクター株式会社 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US20140307055A1 (en) 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo
CN111193837B (zh) * 2019-12-31 2021-11-02 西安翔腾微电子科技有限公司 多维图像数据的传输方法、装置、电子设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2142797B (en) 1983-05-24 1987-06-24 Canon Kk Apparatus enabling efficient utilization of a memory for storing image data of plural pages
JPH0814842B2 (ja) 1986-03-25 1996-02-14 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン イメ−ジ処理方法及び装置
JPS63271606A (ja) * 1987-04-30 1988-11-09 Fanuc Ltd デ−タ処理方式
US4965751A (en) 1987-08-18 1990-10-23 Hewlett-Packard Company Graphics system with programmable tile size and multiplexed pixel data and partial pixel addresses based on tile size
JPH01291387A (ja) 1988-05-19 1989-11-22 Hitachi Ltd 画像処理装置
FR2677206A1 (fr) * 1991-05-31 1992-12-04 Philips Electro Grand Public Dispositif pour visualiser des vues partielles d'une image.
JPH07271966A (ja) * 1994-03-29 1995-10-20 Japan Radio Co Ltd データ記憶方法並びにこれを用いたスクロール方法及びデータ出力方法
JPH10224797A (ja) * 1997-02-04 1998-08-21 Hitachi Ltd 動きベクトル検出装置及びそれを用いた動画像符号化装置
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
JPH11288384A (ja) * 1998-04-01 1999-10-19 Canon Inc データ格納方法及び装置
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
JP3626019B2 (ja) * 1998-09-03 2005-03-02 松下電器産業株式会社 リングバッファへの画像データの読み込み制御方法と、この読み込みを制御する制御装置
US6411302B1 (en) * 1999-01-06 2002-06-25 Concise Multimedia And Communications Inc. Method and apparatus for addressing multiple frame buffers

Also Published As

Publication number Publication date
EP1532582B1 (en) 2006-06-21
US20030231183A1 (en) 2003-12-18
CN1669051A (zh) 2005-09-14
KR100853912B1 (ko) 2008-08-25
JP2005530246A (ja) 2005-10-06
CN100545863C (zh) 2009-09-30
EP1532582A1 (en) 2005-05-25
DE60306388T2 (de) 2007-06-21
WO2003107272A1 (en) 2003-12-24
AU2003276589A1 (en) 2003-12-31
US6771271B2 (en) 2004-08-03
ATE331257T1 (de) 2006-07-15
JP4690723B2 (ja) 2011-06-01
DE60306388D1 (de) 2006-08-03

Similar Documents

Publication Publication Date Title
CN1324473C (zh) 具有图形上下文管理器的图形渲染装置、方法和系统
CN103026402B (zh) 显示压缩超级切片图像
JP4416694B2 (ja) データ転送調停装置およびデータ転送調停方法
CN1329870C (zh) 任意形状图像的基于块的旋转
US20170177741A1 (en) Accessing an n-way linked list
WO2019084788A1 (zh) 用于神经网络的运算装置、电路及相关方法
KR100853912B1 (ko) 초기 메모리에 저장된 화상 데이타를 처리하는 방법, 컴퓨터 판독가능 기록매체 및 장치
JP2015222932A (ja) 画像処理装置および画像処理方法
CN117271136A (zh) 数据处理方法、装置、设备和存储介质
KR100371253B1 (ko) 화상생성방법및장치
JPS63159961A (ja) ダイレクトメモリアクセス転送制御装置
CN114218152B (zh) 流处理方法、处理电路和电子设备
CN116166185A (zh) 缓存方法、图像传输方法、电子设备及存储介质
EP2199919B1 (en) Method for processing data using triple buffering
US9715715B2 (en) Efficient cache preloading
KR20050006489A (ko) 화상형성시스템에 있어서 영상처리방법 및 장치
JPH01315880A (ja) 画像データ処理装置およびその作動方法
US6166724A (en) Method and apparatus for sequencing palette updates in a video graphics system
US7916151B1 (en) Partial texture loads
JP4790545B2 (ja) 画像処理装置、画像処理方法
JP2003132347A (ja) 画像処理装置
KR20020026246A (ko) 데이터 처리 장치 및 이를 구성하는 방법 및 이에 대한컴퓨터 프로그램 제품
JPH10171766A (ja) グラフィックアクセラレータ
JP6099418B2 (ja) 半導体装置及びそのデータ処理方法
JP2010182139A (ja) 描画制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130723

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150717

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170811

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 11