KR20080092418A - 이미지 및 비디오 프로세싱을 위한 메모리 구성 방법 및제어기 구조 - Google Patents

이미지 및 비디오 프로세싱을 위한 메모리 구성 방법 및제어기 구조 Download PDF

Info

Publication number
KR20080092418A
KR20080092418A KR1020087019235A KR20087019235A KR20080092418A KR 20080092418 A KR20080092418 A KR 20080092418A KR 1020087019235 A KR1020087019235 A KR 1020087019235A KR 20087019235 A KR20087019235 A KR 20087019235A KR 20080092418 A KR20080092418 A KR 20080092418A
Authority
KR
South Korea
Prior art keywords
memory
image
pixel data
word
memory word
Prior art date
Application number
KR1020087019235A
Other languages
English (en)
Other versions
KR101232523B1 (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 KR20080092418A publication Critical patent/KR20080092418A/ko
Application granted granted Critical
Publication of KR101232523B1 publication Critical patent/KR101232523B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

본 개시는 이미지 프로세싱에 유용한 메모리에 대한 구성 방법을 설명한다. 구성 방법의 이점을 취하는 메모리 제어기 구조 또한 설명된다. 구성 방법 및 제어기 구조는 고성능, 비디오 시퀀스를 형성하는 이미지의 고 품질 이미지 프로세싱에 특히 유용하나, 다른 이미지 프로세싱 세팅에 적용될 수도 있다. 메모리의 설명되는 기술 및 구성 구조는 또한 비디오 디바이스의 다른 저장 애플리케이션에 대해 메모리가 공유되게 한다.
이미지 프로세싱, 메모리 워드, 메모리 제어기, 프론트-엔드 비디오 프로세싱

Description

이미지 및 비디오 프로세싱을 위한 메모리 구성 방법 및 제어기 구조 {MEMORY ORGANIZATIONAL SCHEME AND CONTROLLER ARCHITECTURE FOR IMAGE AND VIDEO PROCESSING}
본 발명은 이미지 및 비디오 프로세싱에 관련되고, 더 상세하게는 비디오 시퀀스의 이미지 프레임 프로세싱에 대한 메모리 저장 기술에 관련된다.
디지털 비디오 성능은 디지털 텔레비젼, 디지털 직접 방송 시스템, 무선 통신 디바이스, 휴대용 디지털 단말기 (PDA), 랩탑 컴퓨터, 데스크탑 컴퓨터, (가끔씩 "워키-토키 (walkie-talkies)" 라고 지칭되는) 직접 양 방향 통신 디바이스, 셀룰러, 위성 또는 지상기반 무선전화기와 같은 무선전화기를 포함하는 넓은 범위의 디바이스에 편입될 수도 있다. 이러한 디바이스는 전체적인 비디오 시퀀스의 모션을 생성하고, 수정하고, 송신하고, 저장하고, 재생하는 종래 아날로그 비디오 시스템을 상당히 개선하게 할 수 있다.
많은 비디오 프로세싱 및 코딩 기술이 디지털 비디오 시퀀스를 통신하기 위해서 확립되어져 왔다. 예를 들어, 동화상 전문가 그룹 (MPEG) 은 MPEG-1, MPEG-2, MPEG-4 를 포함하는 다수의 비디오 코딩 표준을 개발해 왔다. 다른 표준은 ITU H.263 표준 및 ITU H.264 표준을 포함한다. 또한, 다수의 독점 표준 이 다양한 회사에 의해서 개발되어져 왔고, 새로운 표준이 계속 나타나고 발전하고 있다.
이러한 비디오 표준의 다수는 데이터 압축을 사용한다. 예를 들어, 다수의 비디오 코딩 기술은 인터 프레임 압축을 제공하기 위해 시간의 또는 인터 프레임 상관관계를 개발하여 데이터를 압축하기 위해 설계된 그래픽 및 비디오 압축 알고리즘을 사용한다. 인터 프레임 압축 기술은 이미지 프레임의 픽셀 기반 표시를 모션 표시로 변환시켜 프레임의 데이터 여분을 이용한다. 추가적으로, 비디오 압축 기술은 이미지 프레임 내의 모션 표시가 더 압축될 수 있는 인트라 프레임 압축을 허용하는, 공간의 또는 인트라 프레임 상관관계라 지칭되는 이미지 프레임 사이에서의 유사성을 종종 사용한다. 인트라 프레임 압축은 일반적으로 이산 코사인 변환 (DCT) 변환과 같은 스틸 이미지를 압축하는 종래의 프로세스에 기초한다.
그러나 비디오 압축을 수행하기 이전에, 다수의 "프론트-엔드 (front-end)" 이미지 프로세싱 기술이 비디오 시퀀스의 이미지 프레임상에서 종종 수행된다. 예를 들어, 프론트-엔드 이미지 프로세싱 기술은 종종 이미지 센서로부터 생성된 이미지에 사용된다. 이러한 이미지 프로세싱 기술의 예는 몇 개만 예를 들면, 디모자이크 (demosaicing), 렌즈 롤오프 수정 (lens rolloff correction), 스케일링, 컬러 수정, 컬러 변환 및 공간의 필터링을 포함한다. 프로세싱은 톤 재생, 컬러 포화, 색조 재생 및 선명도와 같은 시각적 이미지 품질 속성을 개선할 수도 있다.
예를 들어, 비디오 애플리케이션에 사용되는 일부 이미지 센서는 각각의 센서의 표면에 배열되는 컬러 필터 어레이 (CFA) 를 사용하여 장면을 샘플링한다. 다양한 CFA 패턴이 사용될 수도 있고, 디지털 시그널 프로세서 (DSP) 는 각각의 포토사이트 (photosite) 에 대한 3 가지 컬러 값을 얻기 위해서 사용될 수도 있다. 그러나 고 품질 컬러 비디오 이미지를 얻기 위해서, 이미지 프로세싱 기술이 필요할 수도 있다. 이러한 이미지 프로세싱 기술은 기술은 일반적으로 이미지 압축 또는 비디오 코딩 유닛에 의한 다른 비디오 코딩에 앞서게 되므로 여기에서 프론트-엔드 이미지 프로세싱으로 지칭된다. 그러나 다른 문헌에서는, 프로세싱이 이미지 센서에 의해서 이미지가 캡쳐링된 이후에 일어나기 때문에 이러한 이미지 프로세싱 기술을 "포스트 (post) 프로세싱" 으로 지칭할 수도 있다.
불행하게도, 이러한 이미지 프로세싱 단계는 실시간 비디오 텔레포니 (VT) 애플리케이션에서 실시간 비디오 인코딩에 문제를 제공할 수 있다. 예를 들어, 비디오 시퀀스의 실시간 송신을 보증하기 위해서, 모든 이미지 프로세싱이 매우 빠르게 수행될 필요가 있다. 따라서, 일반적으로 다수의 상이한 이미지 프로세싱 모듈에 의해서 광대한 이미지 프로세싱이 실행될 수 있도록, 실시간 이미지 프로세싱은 매우 큰 대역폭 메모리 및 큰 메모리 용량을 필요로 할 수도 있다. 불행하게도, 메모리 대역폭 및 메모리 공간은 대부분의 비디오 코딩 디바이스에 대해서 제한적이다.
요약
본 개시는 이미지 프로세싱에 유용한 메모리에 대한 구성 방법을 설명한다. 구성 방법은 비디오 시퀀스를 형성하는 이미지의 고 품질, 고 성능 이미지 프로세싱에 특히 유용하지만, 다른 이미지 프로세싱 세팅에 적용될 수도 있다. 설명된 메모리의 기술 및 구성 구조는 또한 메모리가 비디오 디바이스의 다른 저장 애플리케이션에 대해 공유되게 한다.
본 개시에 따라서, 메모리 워드는 다수의 이미지에 대한 픽셀 데이터를 포함하게 정의된다. 예를 들어, 각각의 메모리 워드는 프로세싱 파이프라인 또는 비디오 시퀀스에서의 다수의 일련의 이미지에 대한 픽셀 데이터를 포함할 수도 있다. 메모리의 인접 메모리 워드는 일련의 이미지의 인접 픽셀에 대한 데이터를 포함할 수도 있다. 메모리 제어기 구조는 또한 상이한 이미지의 픽셀 데이터가 병렬의 이미지 프로세싱에 대한 상이한 이미지 프로세싱 모듈에 전송될 수 있도록 각각의 메모리 워드로부터의 픽셀 데이터의 분리를 촉진하게 설명된다. 본 개시에 따르면, 공유된 메모리 워드에서 이미지 데이터의 배열은 이미지 센서 프로세싱을 가속화할 수 있으며, 실시간 비디오 텔레포니 (VT) 애플리케이션에 특히 바람직 할 수도 있다. 추가하여, 여기에 설명된 메모리 구성 방법 및 제어기 구조는 또한 디바이스의 디지털 시그널 프로세서 (DSP) 에 의해 실행되는 32 비트 또는 64 비트 명령들 또는 다른 유형의 논 픽셀 (non-pixel) 정보와 같은 다른 정보를 메모리 워드 내에 저장하는 능력을 지원할 수도 있다. 그러므로, 여기에 설명되는 메모리 배열 및 제어기 구조는 프론트-엔드 비디오 프로세싱 및 다른 애플리케이션에 대해서 메모리가 공유될 수 있도록 할 수도 있다.
일 실시형태에서, 본 개시는 제 1 이미지의 제 1 픽셀 데이터 및 제 2 이미 지의 제 1 픽셀 데이터를 포함하는 제 1 메모리 워드를 메모리에 저장하는 단계, 제 1 이미지의 제 2 픽셀 데이터 및 제 2 이미지의 제 2 픽셀 데이터를 포함하는 제 2 메모리 워드를 메모리에 저장하는 단계를 포함하는 방법을 제공한다.
다른 실시형태에서, 본 개시는 제 1 이미지의 제 1 픽셀 데이터 및 제 2 이미지의 제 1 픽셀 데이터를 포함하는 제 1 메모리 워드, 및 제 1 이미지의 제 2 픽셀 데이터 및 제 2 이미지의 제 2 픽셀 데이터를 포함하는 제 2 메모리 워드를 포함하는 메모리 및 메모리 액세스 사이클 동안 제 1 및 제 2 이미지의 제 1 픽셀 데이터를 전달하는 제 1 메모리 워드를 액세스하는 제어기를 포함하는 디바이스를 제공한다.
다른 실시형태에서, 본 개시는 제 1 이미지의 제 1 픽셀 데이터 및 제 2 이미지의 제 1 픽셀 데이터를 포함하는 제 1 메모리 워드, 및 제 1 이미지의 제 2 픽셀 데이터 및 제 2 이미지의 제 2 픽셀 데이터를 포함하는 제 2 메모리 워드를 포함하는 메모리를 제공한다.
본 발명의 하나 이상의 실시형태의 상세한 설명은 도면과 함께 아래의 상세한 설명에 설명될 것이다. 본 발명의 다른 특성, 목적 및 이점은 상세한 설명, 도면 및 청구항으로부터 명확해 질 것이다.
도 1 은 여기에 설명되는 메모리 구성 기술을 구현할 수도 있는 예시적인 디바이스를 나타내는 블럭도이다.
도 2 는 여기에 설명되는 메모리 구성 기술을 구현할 수도 있는 예시적인 디 바이스를 나타내는 다른 블럭도이다.
도 3 및 4 는 본 개시에 따라서 예시적인 메모리 구성을 설명하는 다이어그램이다.
도 5 는 본 개시에 따라서 상이한 이미지의 픽셀 데이터로 구성된 예시적인 메모리 워드를 설명하는 다이어그램이다.
도 6 은 여기에 설명된 메모리 워드를 지원하고 메모리가 다른 목적에 대해 사용될수 있게 하는 예시적인 제어기 구조를 나타내는 블럭도이다.
도 7 은 본 개시의 일 실시형태에 따르는 예시적인 프로세스를 나타내는 흐름도이다.
본 개시는 다수의 상이한 이미지에 대한 픽셀 데이터가 메모리 워드에 포함되는 메모리에 대한 구성 방법을 설명한다. 다르게 언급하면, 주어진 메모리 워드는 다수의 이미지에 대한 픽셀 데이터를 포함하도록 정의될 수도 있다. 다수의 이미지의 연속적인 픽셀은 메모리의 인접 행에 저장되고, 각각의 행은 하나 이상의 이미지에 대한 픽셀 데이터를 포함하는 메모리 워드로 정의된다. 메모리 워드의 이미지 데이터의 정렬은, 본 개시에 따르면, 특히 실시간 비디오 텔레포니 (VT) 에 바람직한 프론트-엔드 이미지 프로세싱을 가속화할 수 있다. 상이한 이미지의 픽셀 데이터가 병렬의 이미지 프로세싱에 대한 상이한 이미지 프로세싱 모듈로 전송되게 하기 위해서, 메모리 제어기 구조는 또한 각각의 메모리 워드로부터의 픽셀 데이터의 분리를 용이하게 하게 설명된다. 어떤 실시형태에서, 주어진 메모리 워드는 다수의 이미지에 대한 이미지 데이터가 다수의 이미지 프로세싱 동작을 위해서 공유된 메모리 워드로부터 동시에 디멀티플렉싱 (즉, 분배) 될 수도 있는 다수의 병렬 프로세싱 동작에 의해서 "공유" 될 수도 있다. 이것은 효과 면에서, 다수의 이미지 프로세싱 동작이 공유된 메모리 워드를 동시에 액세스하게 하고 메모리 워드의 상이한 부분 내에 요약된 상이한 이미지를 프로세싱하게 한다.
설명된 메모리 구성 방법 및 제어기 구조는 디바이스의 디지털 시그널 프로세서 (DSP) 에 의해 실행되는 32 비트 또는 64 비트 명령, 캐쉬 (cache) 에 저장된 정보, 다른 유형의 데이터와 같은 다른 정보를 저장하는 능력을 지원할 수도 있다. 달리 언급하면, 메모리 구성 방법은 메모리가 많은 애플리케이션에 사용되게 하는 상대적으로 넓은 메모리 워드 (예를 들어, 64 비트 길이) 를 허용하게 한다. 동일한 시간에, 바람직한 메모리 제어기 구조는 (예를 들어, 다수의 이미지 픽셀을 주어진 메모리 워드로부터 분리하는 것과 같이) 상대적으로 긴 메모리 워드를 더 작은 유닛으로 분리하도록 하고, 그 결과 다수의 이미지의 픽셀은 프론트-엔드 이미지 프로세싱 모듈에 의해 병렬 프로세싱될 수 있다. 이 방법에서, 설명된 구성 방법 및 제어기 구조는 특히 실시간 비디오 텔레포니 (VT) 애플리케이션에 바람직한 프론트-엔드 이미지 프로세싱을 가속화할 수도 있다.
도 1 은 예시적인 비디오 코딩 디바이스 (2) 의 블럭도를 나타낸다. 비디오 코딩 디바이스 (2) 는 비디오 데이터를 코딩하고 송신할 수 있는 디지털 비디오 디바이스의 일부를 형성할 수도 있다. 비디오 데이터는 비디오 카메라로부터 캡쳐될 수도 있고, 비디오 아카이브 (archive) 로부터 회수될 수도 있으며, 다른 방법으로 얻어질 수도 있다. 코딩 디바이스 (2) 는 디지털 텔레비전, 디지털 직접 방송 시스템, 무선 통신 디바이스, 휴대용 디지털 단말기 (PDA), 랩탑 컴퓨터, 데스크탑 컴퓨터, 디지털 카메라, 디지털 레코딩 디바이스, 네트워크 가능 디지털 텔레비전, 셀룰러 또는 위성 무선 전화기, 또는 VT 성능을 갖는 임의의 원격 통신 디바이스와 같은 디바이스 내에 구현될 수도 있다. 코딩 디바이스 (2) 는 MPEG-4, ITU-T H.263, ITU-T H.264 또는 임의의 다른 비디오 코딩 표준과 같은 비디오 코딩 표준을 따를 수도 있다. 코딩 디바이스 (2) 는 모션 추정 및 모션 보정과 같은 인터 프레임 코딩 기술을 지원할 수도 있으며, 공간 추정 및 인트라 프레임 코딩에 사용되는 인트라 예측 코딩 기술과 같은 다른 기술을 지원할 수도 있다.
도 1 에 나타난 것과 같이, 코딩 디바이스 (2) 는 비디오 시퀀스를 코딩하기 위한 비디오 코딩 장치 (4) 및 이러한 코딩 전과 후에 비디오 시퀀스를 저장하기 위한 비디오 메모리 (14) 를 포함한다. 디바이스 (2) 는 또한 코딩된 시퀀스를 다른 디바이스에 송신하는 송신기 (16) 및 비디오 카메라와 같이 비디오 시퀀스를 캡쳐링하고 메모리 (14) 에 캡쳐된 시퀀스를 저장하는 비디오 캡쳐 디바이스 (12) 를 포함할 수도 있다. 코딩 디바이스 (2) 의 다양한 요소는 통신 버스 (15) 를 통해서 통신적으로 커플링될 수도 있다. 다수의 다른 요소가 또한 코딩 디바이스 (10) 에 포함될 수도 있으나, 간략화를 위해서 도 1 에 특별히 나타내진 않는다. 도 1 에 나타난 구조는 단지 예시에 불과하며, 여기에 설명된 기술은 다양한 다른 구조와 함께 구현될 수도 있다.
비디오 메모리 (14) 는 상대적으로 큰 메모리 공간을 일반적으로 포함한다. 예를 들어, 비디오 메모리 (14) 는 다이나믹 랜덤 액세스 메모리 (DRAM), 또는 플래시 메모리를 포함할 수도 있다. 메모리 (14) 는 "NOR" 또는 "NAND" 메모리 기술이라고 지칭되는 기술에 기초할 수도 있고, 또는 다른 데이터 저장 기술에 기초할 수도 있다. 다른 예에서, 비디오 메모리 (14) 는 비휘발성 메모리 또는 다른 유형의 데이터 저장 유닛을 포함할 수도 있다.
비디오 코딩 장치 (4) 는 하드웨어, 소프트웨어, 펌웨어의 조합, 및/또는 하나 이상의 마이크로프로세서, 디지털 시그널 프로세서 (DSP), 주문형 직접 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA), 또는 그들의 다양한 조합을 포함하는 모바일 무선 전화기에 대한 소위 "칩셋 (chip set)" 이라 지칭되는 것을 포함할 수도 있다. 비디오 코딩 장치 (4) 는 일반적으로 로컬 메모리 (8) 에 커플링되는 비디오 코더 (6) 를 포함한다. 비디오 코더 (6) 는 디지털 비디오 데이터를 인코딩하고 디코딩하는 인코더/디코더 (CODEC) 를 포함할 수도 있다. 로컬 메모리 (8) 는 비디오 메모리 (14) 에 비교하여 더 작고 더 빠른 메모리 공간을 포함할 수도 있다. 예를 들어, 로컬 메모리 (8) 는 동기 다이나믹 랜덤 액세스 메모리 (SDRAM) 을 포함할 수도 있다. 로컬 메모리 (8) 는 프로세서 집약 코딩 프로세스 동안 데이터에 매우 빠른 액세스를 제공하기 위해서 비디오 코딩 장치 (4) 의 다른 컴포넌트에 집적 "온칩 (on-chip)" 메모리를 포함할 수도 있다. 그러나, 메모리 (14 및 8) 는 동일한 메모리 부분으로 결합될 수도 있으며, 다수의 다른 구성으로 구현될 수도 있다.
비디오 코딩 장치 (4) 는 메모리 패치를 제어하고 로컬 메모리 (8) 에 다시 쓰는 메모리 제어기 (10) 을 포함한다. 도 1 에 나타난 구조는 단지 예시에 불과하며, 메모리 (8) 및 메모리 제어기 (10) 에 구현된 기술은 또한 다른 구조에 적용될 수도 있으며, 외부 메모리 (14) 의 구성에 적용될 수도 있다.
예시적으로, 비디오 코더 (6) 는 프론트-엔드 비디오 프로세싱 유닛 (18) 및 비디오 코딩 유닛 (19) 를 포함할 수도 있다. 프론트-엔드 비디오 프로세싱 유닛 (18) 은 일반적으로 이미지 품질을 개선시키기 위해서 비디오 시퀀스의 프레임상에서 하나 이상의 이미지 프로세싱 기술을 수행하고, 그로 인해 비디오 시퀀스의 품질을 개선시킨다. 예를 들어, 프론트-엔드 비디오 프로세싱 유닛 (18) 은 디모자이크 (demosaicing), 렌즈 롤오프 수정 (lens rolloff correction), 스케일링, 컬러 수정, 컬러 변환 및 공간의 필터링과 같은 기술을 수행할 수도 있다. 추가하여, 프론트-엔드 비디오 프로세싱 유닛 (18) 은 다른 기술을 수행할 수도 있다. 일반적으로, 유닛 (18) 에 의해 수행되는 기술은 비디오 코더 (6) 에 의한 코딩에 일반적으로 앞서는 기술이므로 "프론트-엔드" 이미지 프로세싱 기술로 지칭된다.
비디오 캡쳐 디바이스 (12) 는 각각의 센서의 표면에 배열되는 컬러 필터 어레이 (CFA) 를 포함하는 이미지 센서를 포함할 수도 있다. 이 경우에, 유닛 (18) 에 의해 수행되는 프론트-엔드 이미지 프로세싱은 디바이스 (12) 에 의해 캡쳐링되는 비디오 시퀀스의 품질을 향상할 수 있다. 예를 들어, 비디오 코더 (6) 는 이미지 캡쳐 디바이스 (12) 에 의해 캡쳐되는 이미지의 프론트-엔드 프로세싱을 수행하는 유닛 (18) 을 정의하도록 프로그램되는 DSP 를 포함할 수도 있다. 여기에 설명된 것과 같이, 메모리 (8) 에 구현된 구성 방법은 이미지 프로세싱 대역폭 효율을 개선시킬 수 있고, 이러한 프론트-엔드 이미지 프로세싱 목적 및 다른 저장 목적을 위해 메모리 (8) (또는 메모리 (14)) 의 동일 영역이 사용되게 할 수 있다.
비디오 코딩 유닛 (19) 은 인터 프레임 압축 또는 인트라 프레임 압축과 같은 하나 이상의 비디오 압축 기술을 포함할 수도 있는 비디오 코딩을 수행한다. 예를 들어, 비디오 코딩 유닛 (19) 은 인터 프레임 압축을 제공하기 위해서 시간적인 또는 인터 프레임 데이터 상호관계를 이용하는 모션 추정 및 모션 보정 기술을 구현할 수도 있다. 다른 방법으로 또는 추가적으로, 비디오 코딩 유닛 (19) 은 인트라 프레임 압축을 제공하기 위해서 공간적인 또는 인트라 프레임 데이터 상호관계를 이용하는 공간 추정 및 인트라 예측 기술을 수행할 수도 있다. 모션 보정 (또는 인트라 예측) 의 출력은 "레지듀얼 (residual)" 로 지칭되고, 일반적으로 코딩될 현재 비디오 블럭과 모션 추정 또는 공간 추정에 의해 식별되는 예측 블럭 사이의 차이의 데이터 표시 블럭을 포함한다.
비디오 코딩 유닛 (19) 이 레지듀얼을 생성하기 위해서 모션 보정 (또는 인트라-예측) 을 수행한 후에, 일련의 추가적인 단계가 또한 레지듀얼을 더 코딩하고 데이터를 더 압축하기 위해서 수행될 수 있다. 수행될 추가적인 단계는 사용되는 코딩 표준에 의존할 수도 있지만, 일반적으로 "레지듀얼 코딩" 을 참조한다. 어떤 경우든, 비디오 코딩 유닛 (19) 은 예를 들어, 비디오 디바이스 (2) 의 송신기 (16) 를 통해, 다른 디바이스로 비디오 시퀀스를 전달하는데 필요한 데이터의 양을 감소시키기 위해서 하나 이상의 이러한 비디오 압축 기술을 수행한다.
본 개시의 기술은 프론트-엔드 비디오 프로세싱 유닛 (18) 에 의한 이미지 프로세싱 동안 쉽게 적용가능하다. 특히, 본 개시는 로컬 메모리 (8) (또는 외부 메모리 (14) 와 같은 유사 메모리) 에 대한 구성 기술을 고려하고 이는 이미지 프로세싱 대역폭 효율을 개선할 수 있고 메모리 (8) (또는 메모리 (14)) 의 같은 영역이 다른 저장 목적을 위해 (예를 들어, 비디오 압축을 위해 또는 심지어 논-비디오 애플리케이션을 위해) 사용될 수 있게 한다. 추가적으로, 본 개시는 메모리 (8) (또는 메모리 (14)) 에서의 데이터 구성 방법을 이용할 수 있는 메모리 제어기 (10) 에 대한 구조를 제시한다. 비록 프론트-엔드 이미지 프로세싱에 관련하여 예시적인 목적으로 설명되지만, 여기에 설명된 메모리 구조는 다수의 이미지가 프로세싱되는 다른 환경에 적용될 수도 있다.
도 2 는 여기에 설명된 메모리 구성 기술을 구현할 수 있는 예시적인 디바이스 (20) 를 나타내는 다른 블럭도이다. 이 예시에서, 디바이스 (20) 는 메모리 (22) 및 메모리 (22) 에 대한 액세스를 제어하는 메모리 제어기 (24) 를 포함한다. 메모리 제어기 (24) 는 (28A, 28B 및 28C 로 분류되고 "모듈 (28)" 로 통칭되는) 다수의 이미지 프로세싱 모듈을 포함하는 이미지 프로세싱 유닛 (26) 에 커플링될 수도 있다. 이미지 프로세싱 유닛 (26) 은 임의 개수의 이미지 프로세싱 모듈 (28) 을 포함할 수도 있으며, 간략화를 위해서 3 개의 모듈이 설명된다 . 모듈 (28) 은 디모자이크 모듈, 렌즈 롤오프 수정 모듈, 스케일링 모듈, 컬러 수정 모듈, 컬러 변환 모듈 및 공간 필터링 모듈, 또는 다수의 다른 프론트-엔드 이미지 프로세싱 모듈을 포함할 수도 있다. 게다가, 모듈 (28) 은 같은 함수를 수행하는 다수의 이미지 프로세싱 모듈을 포함할 수도 있고, 상이한 이미지 상에서 함수가 병렬로 수행되도록 할 수도 있다.
본 개시의 기술에 따르면, 다수의 상이한 이미지와 관련된 픽셀은 같은 메모리 워드에 저장될 수 있고, 메모리 워드는 모듈 (28) 에 의해 병렬로 프로세싱될 수 있는 이러한 픽셀로 분리될 수 있다. 어떤 실시형태에서, 상이한 이미지와 결합된 이미지 데이터는 동시에 메모리 (22) 로부터 읽혀지고, 모듈 (28) 에 분배될 수 있다. 효과 면에서, 이것은 모듈 (28) 이 메모리 (22) 를 효율적인 방법으로 공유하게 한다.
메모리 제어기 (24) 는 또한 디지털 시그널 프로세서 (DSP ; 25), 또는 다른 유형의 하드웨어, 프로세서, 또는 로직 회로와 같은 다른 디바이스에 커플링될 수도 있다. 이 방법에서, 메모리 (22) 의 컨텐츠는 상이한 유형의 하드웨어, 프로세서, 및 프로세싱 유닛에 사용될 수도 있다. 특히 본 개시는 융통성이 있어 다른 유형의 데이터도 메모리 (22) 에 저장될 수 있는 메모리 (22) 의 컨텐츠의 이미지 프로세싱에 매우 유용한 메모리 구성 방법을 고려한다.
디바이스 (20) 는 도 1 의 디바이스 (2) 에 대응할 수도 있으나, 본 개시는 이 관점에 특히 제한되지는 않는다. 예를 들어, 메모리 (22) 는 메모리 (8 또는 14) 에 대응할 수도 있고, 메모리 제어기 (24) 는 메모리 제어기 (10) 에 대응할 수도 있다. 이미지 프로세싱 유닛 (26) 은 프론트-엔드 비디오 프로세싱 유닛 (18) 에 대응할 수도 있고 DSP (25) 는 비디오 코딩 유닛 (19) 에 대응할 수도 있다. 그러나, 도 2 에 나타난 구조는 다수의 디바이스 및 시스템에 더 일반적으로 적용가능하며 도 1 의 디바이스 2 에 한정될 필요는 없다.
본 개시에 따라서, 메모리 (22) 는 각각의 메모리 워드가 다수의 상이한 이미지와 함께 결합되는 픽셀 데이터를 저장하기 위해 사용될 수도 있는 메모리 워드로 구성된다. 예를 들어, 메모리 (22) 에 있는 메모리 워드 각각은 몇몇의 이미지에 대한 픽셀 데이터를 지원하도록 정의될 수도 있고, 비록 현재 저장되는 이미지의 개수가 적다고 해도, 주어진 워드는 픽셀 데이터로 충분히 채워질 필요가 없다. 일 예로서, 몇몇의 상이한 이미지에 대한 각각의 제 1 픽셀은 제 1 메모리워드에 저장될 수도 있다. 각각의 상이한 이미지에 대한 각각의 다음의 픽셀은 제 2 메모리 워드에 저장될 수도 있다. 그러므로, 몇몇의 이미지의 연속적인 픽셀은 메모리 (22) 의 인접 행에 저장될 수 있고, 각각의 행은 몇몇의 이미지에 대한 픽셀 데이터를 포함하는 메모리 워드로 정의된다.
메모리 제어기 (24) 는 메모리 (22) 의 메모리 워드로부터의 데이터 추출을 허용하도록 구성되고, 이로 인해 하나의 메모리 워드의 상이한 데이터는 병렬 프로세싱을 위해 상이한 모듈 (28) 로 동시에 전송될 수도 있다. 모듈 (28) 의 각각은 다른 모듈의 프로세싱 시간과 실질상 유사한 (또는 동일한) 시간 인터벌에서 각각의 데이터를 프로세스하도록 구성될 수도 있다. 이것은 이미지 데이터의 효율적인 동시 진행 프로세싱을 가능하게 한다.
그러나, 특정 메모리 워드가 실행가능 명령과 같은 논-픽셀 데이터를 저장하기 위해 사용되는 경우, 메모리 제어기 (24) 는 전체 메모리 워드 (이 경우에는 명령) 를 DSP (25) 로 전송되는 것을 허용한다. 다른 논-픽셀 정보 또한 메모리 워드에 저장될 수도 있다. 메모리 제어기 (24) 는 메모리 워드의 콘텐츠를 정의하는 커맨드 (command) 를 수신할 수 있고, 주어진 메모리 워드가 다수의 상이한 이미지에 대한 픽셀 데이터를 저장하기 위해서 사용되는 경우, 메모리 제어기 (24) 는 이러한 픽셀 데이터를 메모리 워드로부터 동시에 분리하여 상이한 이미지에 관련된 픽셀 데이터가 병렬로 프로세싱되도록 할 수 있다.
도 3 은 본 개시에 따르는 예시적인 메모리 구성을 나타내는 예시적인 다이어그램이다. 도 3 의 데이터 구조 (30) 는 메모리 (22) 에 저장될 수도 있다. 도 3 에 도시되는 것과 같이, 데이터 구조 (30) 의 각각의 행은 다수의 상이한 이미지 (즉, 0 개 이상의 이미지) 에 대한 픽셀 데이터를 포함하는 메모리 워드를 포함한다. 예를 들어, 제 1 행 (제 1 메모리 워드) 은 이미지 P 에 대한 픽셀 데이터 P0, 이미지 Q 에 대한 픽셀 데이터 Q0, 이미지 R 에 대한 픽셀 데이터 R0 를 포함할 수도 있다. P0 은 이미지 P 의 제 1 픽셀을 나타낼 수도 있으며, Q0 은 이미지 Q 의 제 1 픽셀을 나타낼 수도 있고, R0 은 이미지 R 의 제 1 픽셀을 나타낼 수도 있다. 다른 이미지의 제 1 픽셀 또한 포함될 수도 있다. 예를 들어, 메모리 워드가 64 비트 길이이고 각각의 픽셀은 8 비트를 포함하는 경우, 8 개의 상이한 이미지에 대한 8 개의 상이한 픽셀이 단일 메모리 워드에 저장될 수도 있다.
유사하게, 제 2 행 (제 2 메모리 워드) 은 이미지 P 에 대한 픽셀 데이터 P1, 이미지 Q 에 대한 픽셀 데이터 Q1, 이미지 R 에 대한 픽셀 데이터 R1 를 포함할 수도 있다. P1 은 이미지 P 의 제 2 픽셀을 나타낼 수도 있으며, Q1 은 이미지 Q 의 제 2 픽셀을 나타낼 수도 있고, R1 은 이미지 R 의 제 2 픽셀을 나타낼 수도 있다. 그러므로, 이미지 P, Q 및 R 의 인접 픽셀은 메모리의 인접 행에 저장될 수도 있다. 비록 주어진 이미지에 대한 하나 이상의 픽셀이 주어진 메모리 워드에 저장될 수도 있지만, 각각의 행은 다수의 상이한 이미지에 대한 오직 하나의 픽셀 만큼의 데이터를 포함할 수도 있다.
도 3 의 데이터 구조 (30) 의 예에서, 모든 메모리 워드가 이미지 P, Q 및 R 에 대한 픽셀 데이터를 저장 가능하다. 이 경우에, 각각의 이미지는 N+1 개의 픽셀을 포함할 수도 있으며, N+1 은 이미지의 저장고로 할당되는 행의 개수를 나타낸다. 아래에 더 자세히 설명되는 것처럼, 예를 들어, 적은 개수의 이미지가 프로세스되고 각각의 메모리 워드에 여분의 공간이 존재하는 경우에는, 메모리 워드의 하나 이상의 섹션 (또는 슬롯) 은 어떠한 데이터도 포함하지 않을 수도 있다. 동일한 구성 방법이 단일 이미지를 프로세싱하고 저장하기 위해 사용될 수도 있으며, 이 경우에 각각의 메모리 워드는 데이터의 오직 하나의 픽셀만을 포함할 수도 있다. 그러나 이 경우에 각각의 메모리 워드의 여분의 공간은 일반적으로 사용되지 않을 수도 있다.
또한, 도 3 의 메모리 (22) 내에서와 같이 각각의 N+1 개의 행에 대해서, 데이터 구조 (30) 가 인접 메모리 공간 내에서 반복될 수도 있고, 이로 인해 도 4 에 더 설명되는 것과 같이 공유된 메모리 워드를 사용하여 추가적인 이미지의 그룹이 저장되는 것을 허용한다.
도 4 는 본 개시에 따르는 메모리 구조를 설명하는 다른 예시적인 다이어그램을 나타낸다. 도 4 의 데이터 구조 (40) 는 메모리 (22) 에 저장될 수도 있고 본 개시에 따르는 메모리의 논리 구성을 나타낸다. 도 4 에 나타난 것과 같이, 데이터 구조 (40) 의 각각의 행은 다수의 상이한 이미지에 대한 픽셀 데이터를 포함하는 메모리 워드를 포함한다. 그러나 이 경우에, N+1 개의 행의 제 1 행 (N+1 개의 메모리 워드의 제 1 메모리 워드) 은 이미지 P, Q 및 R 에 대한 픽셀 데이터를 포함하고, 그 다음의 행 (그 다음의 메모리 워드) 은 이미지 X, Y 및 Z 에 대한 픽셀 데이터를 포함한다.
도 3 및 4 에 도시된 메모리 워드의 행의 구성은 프론트-엔드 이미지 프로세싱에 대해 매우 유리할 수 있다. 이 경우에, 메모리 제어기 (24) 는 상이한 이미지에 대한 픽셀 데이터를 동시에 분리하도록 구성될 수 있고, 상이한 이미지에 대한 픽셀 데이터를 이미지 프로세싱 유닛 (26) 의 상이한 이미지 프로세싱 모듈 (28) 로 포워딩할 수 있다. 그러므로, 다수의 이미지는 이미지 프로세싱 유닛 (26) 에 의해서 병렬로 프로세싱될 수 있고, 메모리 (22) 가 다수의 모듈 (28) 에 의해서 효율적으로 공유되도록 할 수 있다. 또한, 메모리 (22) 의 데이터 구조 (30, 도 3) 의 전체 넓이를 가로지르면서, 메모리 제어기 (24) 가 이미지 P, Q 및/또는 R 의 모든 픽셀에 액세스 된다는 것을 확신할 수 있다. 그러므로, 각각의 메모리 워드에는 각각의 이미지의 하나의 픽셀이 포함되는 것이 바람직하나, 데이터 구조 (30) 의 인접 메모리 워드에 이미지의 모든 픽셀이 포함될 수도 있다. 이 경우에, 데이터 구조 (30) 를 통과하는 하나의 경로는 이미지 프로세싱 유닛 (26) 에 의한 데이터 구조 (30) 에서의 임의의 주어진 이미지의 프로세싱을 확실하게 할 수 있다.
동시에, 데이터 구조 (30 및 40) 에서의 메모리 워드 (행) 의 상대적으로 넓은 폭은 이러한 데이터가 논-픽셀 데이터 또는 다른 유형의 데이터를 저장하는데 사용되도록 허용할 수도 있다. 메모리에 저장될 수도 있는 다른 유형의 데이터의 예시는 그래픽 깊이 정보, 그래픽 버퍼의 z-버퍼 정보, 또는 컴퓨터 실행가능 소프트웨어 명령을 포함한다. 다른 예시에서, 저장된 데이터는 논-비디오 애플리케이션을 포함하는 임의의 목적에 사용되는 캐시를 포함할 수도 있다. 제어 시그널은 임의의 메모리 워드의 본질을 정의하도록 메모리 제어기 (24) 에 의해 수신될 수도 있다. 64 비트 메모리 워드에 대해서, 어떤 워드는 실행을 위해 DSP (25) 로 포워딩되고 액세스될 수 있는 실행가능 소프트웨어 명령일 수도 있다. (도 3 및 4 에 도시된 것과 같이) 다른 메모리 워드는 상이한 이미지에 대한 픽셀 데이터를 포함할 수도 있다. 다른 워드는 그래픽 버퍼 정보 또는 캐시와 같은 다른 유형의 데이터를 포함할 수도 있다. 중요한 것은, 메모리 제어기 (24) 는 메모리 (22) 의 메모리 워드의 이러한 상이한 유형의 정보를 지원하도록 구성된다. 메모리 (22) 는 다양한 물리적 구성 중 어느 것을 취할 수도 있다. 예를 들어, 메모리 (22) 는 8 비트 길이 메모리 모듈의 8 개의 뱅크 (bank) 를 구성할 수도 있다. 다른 예에서, 메모리 (22) 는 32 비트 길이의 워드 어드레싱 가능한 (addressable) 메모리 모듈의 2 개의 뱅크를 구성할 수도 있다. 다른 예에서, 메모리 (22) 는 64 비트 길이의 워드 어드레싱 가능한 메모리를 제공하는 단일 메모리 모듈을 구성할 수도 있다.
도 5 는 본 개시에 따르는 상이한 유형의 데이터로 구성된 메모리 워드 (51-55) 를 설명하는 다른 다이어그램을 나타낸다. 메모리 워드 (51, 52, 53 및 54) 는 여기에 설명된 것과 같이 몇몇의 이미지에 대한 픽셀 데이터를 포함한다. 예를 들어, 메모리 워드 (51) 은 8 개의 상이한 이미지의 픽셀 0 을 포함한다. 유사하게, 메모리 워드 (52) 는 8 개의 상이한 이미지의 픽셀 1 을 포함하고, 메모리 워드 (53) 은 8 개의 상이한 이미지의 픽셀 2 를 포함하고, 메모리 워드 (54) 는 8 개의 상이한 이미지의 픽셀 N 을 포함한다. 그러나 어떤 경우에, 8 개 보다 더 적은 개수의 픽셀이 메모리 워드 (51 내지 54) 에 저장될 수도 있다. 이 경우에 하나 이상의 픽셀 "슬롯" 은 비어 있을 수도 있으며, 또는 null 데이터로 저장될 수도 있다.
메모리 워드 (51 내지 54) 의 픽셀 "슬롯" 각각은 특정 프론트-엔드 이미지 프로세싱 모듈에 대응할 수도 있다. 특히, 8 개의 이미지의 각각은 메모리 워드 각각의 같은 "슬롯" 에 저장되는 하나의 픽셀을 가질 수도 있다. 이러한 방법으로, 이미지가 특정 이미지 프로세싱 모듈에 전송될 필요가 있는 경우, 이미지는 대응하는 메모리 워드 (51 내지 54) 의 "슬롯" 에 저장될 수 있다. 그 후, 메모리 워드 (51 내지 54) 를 통과하는 하나의 경로는 주어진 이미지의 픽셀이 필요하다면 프로세스될 수 있는 것을 확실히 할 수 있다. 다른 예시에서, 동일한 픽셀이 다수의 이미지 프로세싱 모듈로 전송될 수도 있다.
기존의 프론트-엔드 이미지 프로세싱은 일반적으로 순차적이다. 이것은, 다음의 프로세스가 주어진 이미지와 관련하여 수행되기 전에 제 1 프로세스가 종종 완전히 수행된다. 본 개시는 순차적인 프론트-엔드 이미지 프로세싱을 수행하는 능력을 지원하지만, 이러한 프로세스가 다수의 상이한 이미지 시퀀스에 관련하여 병렬로 수행되는 것을 허용한다. 도 5 를 다시 참조하면, 예를 들어, 이미지 1 은 제 1 이미지 프로세싱 모듈에 대응하는 메모리 워드 (51 내지 54) 의 메모리 슬롯에 저장될 수도 있고, 이미지 2 는 상이한 이미지 프로세싱 모듈에 대응하는 메모리 워드 (51 내지 54) 의 메모리 슬롯에 저장될 수도 있다. 다른 이미지는 메모리 워드 (51 내지 54) 의 메모리 슬롯에 유사하게 저장될 수도 있다.
순차적인 프론트-엔드 이미지 프로세싱을 따라 주어진 이미지는 메모리 워드의 몇몇의 슬롯을 반드시 통과할 수도 있고, 그 다음 메모리에 다시 쓸 수도 있다. 다르게 말하면, 도 5 에서 이미지 2 (메모리 워드 (51 내지 54) 의 제 2 슬롯에 저장된) 는 상이한 슬롯 (제 1 슬롯과 같은) 에 이전에 저장되었을 수도 있고, 프로세싱된 후에, 제 2 슬롯에 다시 쓰여질 수도 있다. 이 방법에서, 모든 이미지는 순차적인 방법으로 프로세싱될 수도 있다. 그러나 메모리 구성 방법은 이러한 일련의 프로세싱이 몇몇의 이미지를 병렬로 수행하도록 (이미지가 프로세싱 및 다시 쓰기를 통해 메모리 워드의 상이한 슬롯을 가로지르게 하는 소위 이미징 프로세싱 파이프라인을 반드시 만들게) 허용한다. 메모리 제어기 (24) 는 픽셀 추적을 용이하게 하고, 각각의 메모리 워드로부터 픽셀 분리를 용이하게 하고, 적절한 모듈 (28) 로 픽셀 포워딩을 용이하게 하고, 상이한 메모리 워드로 픽셀 다시 쓰기를 용이하게 하는 로직을 포함한다.
도 6 은 메모리 제어기 (24, 도 2) 의 일 예시적인 실시형태인 메모리 제어기 (60) 의 블럭도를 나타낸다. 메모리 제어기 (60) 는 메모리에 저장된 메모리 워드로부터 동시 데이터 추출을 용이하게 하는 메모리 출력 로직 (61) 을 포함하고, 이로 인해 주어진 메모리 워드에서 데이터의 상이한 부분은 상이한 프로세싱 모듈로 포워딩될 수 있다. 추가적으로, 메모리 제어기 (60) 는 프로세싱된 데이터를 수신하고 프로세싱된 데이터를 메모리로 다시 쓰일 수 있는 메모리 워드와 결합하는 메모리 입력 로직 (62) 을 포함한다. 제어 시그널 (63 및 64) 은 어떻게 메모리로 데이터가 유입되고 메모리로부터 나오는지를 제어하기 위해서, 각각 로직 (61 및 62) 으로 전송된다.
예를 들어, 메모리 워드가 메모리로부터 수신되면, 출력 로직 (61) 은 데이터를 하나 이상의 상이한 모듈로 전송될 수 있는 다양한 서브 부분으로 분리할 수 있다. 도 6 의 예시에서, 메모리 워드는 도 5 의 메모리 워드 (51 내지 55) 중 하나를 포함할 수도 있다. 예를 들어, 메모리 워드 (51) 가 메모리로부터 수신되는 경우, 메모리 제어기의 출력 로직 (61) 은 8 개의 상이한 이미지의 픽셀 데이터로 분리할 수 있다. 제어 시그널 (63) 은 어떤 유형의 데이터가 메모리 워드에 포함되는지를 식별한다. 그러므로, (도 5 의 메모리 워드 (51) 에 도시된 것과 같은) 8 개의 상이한 이미지에 대한 픽셀 데이터는 (도 6 에 도시된 것과 같은) 제 1 데이터, 제 2 데이터, 제 3 데이터, 제 4 데이터, 제 5 데이터, 제 6 데이터, 제 7 데이터 및 제 8 데이터에 대응할 수도 있다. 메모리 출력 로직 (61) 은 주어진 메모리 워드의 상이한 데이터를 상이한 프로세싱 모듈로 포워딩 할 수 있다.
반면에, 논-픽셀 정보를 포함하는 메모리 워드 (55) 가 메모리로부터 수신되는 경우, 메모리 제어기의 출력 로직 (61) 은 이러한 정보를 어디로 전송할지를 결정할 수도 있다. 예를 들어, 메모리 워드 (55) 가 컴퓨터 실행 가능 명령인 경우, 메모리 워드 (55) 는 공동 프로세싱 모듈 (예를 들어, 실행을 위한 DSP (25, 도 2) 에 포워딩 될 수도 있다. 다시 제어 시그널 (63) 은 어떤 유형의 데이터가 메모리 워드에 포함되어 있는지를 식별하고, 이 경우에는 메모리 워드 (55) 가 DSP (25) 에 의해 실행되는 컴퓨터 실행가능 명령과 같은 논 픽셀 데이터를 포함하는 것을 식별한다.
메모리 입력 로직 (62) 은 데이터를 메모리로 다시 쓰도록 출력 로직 (61) 의 역 프로세스를 일반적으로 수행한다. 그러므로, 8 개의 상이한 이미지의 8 개의 픽셀이 8 개의 상이한 모듈에 의해 프로세싱되는 경우, 메모리 입력 로직 (62) 는 상이한 이미지의 프로세싱된 픽셀 데이터를 수신할 수도 있고 프로세싱된 픽셀 데이터를 메모리에 다시 쓰여지는 메모리 워드와 결합할 수도 있다. 다른 방법에서, 프로세싱된 데이터가 논-픽셀 데이터에 대응하는 경우, 제어 시그널 (64) 는 데이터를 식별할 수도 있고, 논-픽셀 데이터로 메모리에 저장될 수도 있다. 이 경우에, 메모리 제어기 (60) 는 메모리 워드의 다수의 상이한 이미지의 픽셀 데이터의 처리를 허용하고, 또한 메모리의 공동 데이터 구조에 저장된 메모리 워드로부터 논-픽셀 데이터를 추출하고 저장하는 능력을 제공한다.
도 7 은 본 개시의 실시형태에 따르는 프로세스를 설명한다. 도 7 은 도 2 의 문맥에서 설명될 것이다. 도 7 에서 나타나는 것과 같이, 메모리 (22) 는 제 1 이미지의 제 1 픽셀 데이터 및 제 2 이미지의 제 1 픽셀 데이터를 포함하는 제 1 메모리 워드를 저장한다 (단계 70). 달리 표현하면, 메모리 워드는 2 개 이상의 상이한 이미지에 대한 픽셀 데이터를 포함한다. 메모리 (22) 는 또한 제 1 이미지의 제 2 픽셀 데이터 및 제 2 이미지의 제 2 픽셀 데이터를 포함하는 제 2 메모리 워드를 저장한다 (단계 71). 그러므로, 메모리 (22) 에 저장된 연속적인 메모리 워드는 상이한 이미지의 인접 픽셀을 저장할 수도 있다.
예를 들어, 메모리 사이클에서, 메모리 제어기 (24) 는 메모리 (22) 로부터 제 1 메모리 워드를 액세스한다 (단계 72). 제어기 (24) 에 의한 메모리 액세스는 (예를 들어, 이미지 프로세싱 유닛 (26) 으로부터 전달된) 프론트-엔드 이미지 프로세싱 커맨드에 응답할 수도 있다. 메모리 제어기 (24) 는 제 1 이미지의 제 1 픽셀 데이터를 제 1 이미지 프로세싱 모듈 (예를 들어, 모듈 28A) 로 전달하고 제 2 이미지의 제 1 픽셀 데이터를 제 2 이미지 프로세싱 모듈 (예를 들어, 모듈 28B) 로 전달한다 (단계 73). 모듈 (28A) 및 모듈 (28B) 는 동시에 제 1 및 제 2 이미지의 제 1 픽셀 데이터를 프로세스하고 (단계 74), 프로세싱된 결과를 메모리 제어기 (24) 에 되돌려 보낸다. (예를 들어, 다른 메모리 사이클에서 (단계 75)) 그 후 메모리 제어기 (24) 는 공동 메모리 워드에 있는 제 1 및 제 2 이미지의 제 1 픽셀 데이터의 프로세싱된 버젼을 저장한다. 프로세싱된 버젼은 최초 메모리 워드와 상이한 메모리 워드에 저장될 수도 있고, 픽셀 데이터의 프로세싱된 버젼은 메모리 워드의 상이한 각각의 슬롯에 이동될 수도 있고, 이로 인해 이러한 데이터의 그 다음의 프로세싱은 이미지 프로세싱 모듈 (28) 의 상이한 모듈에서 일어날 것이다.
(예를 들어, 다른 메모리 사이클에서 (단계 76)) 그 후 메모리 제어기 (24) 는 메모리 (22) 로 부터의 제 2 메모리 워드를 액세스하고, 제 1 이미지의 제 2 픽셀 데이터를 제 1 이미지 프로세싱 모듈 (예를 들어, 모듈 (28A)) 로 전달하고 제 2 이미지의 제 2 픽셀 데이터를 제 2 이미지 프로세싱 모듈 (예를 들어, 모듈 (28B)) 로 전달한다 (단계 77). 이 방법에서, 모듈 (28A 및 28B) 는 이미지 프로세싱에 대한 동일한 이미지의 연속적인 픽셀을 수신한다. 모듈 (28A 및 28B) 는 제 1 및 제 2 이미지의 제 2 픽셀 데이터를 동시에 프로세싱하고 (단계 78), 프로세싱된 결과를 메모리 제어기 (24) 에 되돌려 준다. (예를 들어, 다른 메모리 사이클에서 (단계 79)) 그 후, 메모리 제어기 (24) 는 공동 메모리 워드에 있는 제 1 및 제 2 이미지의 제 2 픽셀 데이터의 프로세싱된 버젼을 저장한다. 프로세스는 메모리 (22) 에 저장된 많은 연속적인 메모리 워드에 대해 계속되고, 모듈 (28A 및 28B) 는 상이한 이미지의 모든 픽셀을 프로세싱할 수 있다.
비록 도 7 이 흐름도를 설명하고 있지만, 본 개시에 따라서, 메모리 액세스는 일반적으로 임의 이미지 프로세싱과 함께 병렬로 발생함을 주목해야 할 것이다. 메모리 읽기/쓰기 사이에 아이들 (idle) 사이클이 없음을 확실하게 할 수 있다. 그러므로 도 7 의 흐름도는 스텝이 순차적으로 수행되는 것을 요구하는 것으로 간주되어서는 안된다. 그보다는, 도 7 에 나타난 하나 이상의 스텝은 동시에 수행될 수도 있다. 일반적으로 임의 시간에 이미지 프로세싱 모듈은 프로세싱에 대한 사이클을 사용하고, 동시 메모리 액세스는 프로세싱 시간의 효율적인 이용을 촉진하도록 수행될 수 있다.
메모리 사이클 동안, 메모리 워드는 메모리로부터 추출되고, 픽셀로 분리되고, 상이한 픽셀은 프로세싱을 위해 포워딩된다. 다음의 메모리 사이클 동안, 픽셀의 프로세싱된 버젼은 결합되고 공동 메모리 워드에 다시 저장된다. 프로세스는 픽셀 추출 및 그 후의 다시 쓰기와 함께 메모리에 저장된 일련의 메모리 워드를 통한 사이클링에 의해 메모리 워드의 모든 픽셀이 프로세싱될 때까지 계속된다. 그러나, 메모리 액세스는 일반적으로 프로세싱 모듈에 의해 수행되는 이미지 프로세싱과 함께 병렬로 발생한다.
각각의 이미지의 모든 픽셀은 인접 메모리 워드에 저장될 수 있다. 이 방법에서, 메모리 워드에 저장된 주어진 이미지가 프로세스될 필요가 있는 경우, 메모리 워드를 통과하는 완전한 경로는 주어진 모듈이 이미지의 모든 픽셀을 수신하는 것을 확실하게 할 수 있다. 또한, 다수의 이미지의 픽셀이 메모리 워드에 저장되는 경우, 메모리 워드를 통과하는 완전한 경로는 몇몇의 일련의 이미지 프로세싱 기술이 상이한 이미지에 관하여 병렬로 수행되도록 혀용할 수도 있다.
본 개시에 따르면, 메모리 워드에 있는 이미지 데이터의 배열은 실시간 VT 애플리케이션에 특히 바람직한 프론트-엔드 이미지 프로세싱 대역폭 효율을 개선할 수 있다. 메모리 제어기에 대한 설명된 구조는 각각의 메모리 워드로부터의 픽셀 데이터의 분리를 특히 용이하게 하고, 상이한 이미지의 픽셀 데이터가 병렬 이미지 프로세싱에 대한 상이한 이미지 프로세싱 모듈로 전송되도록 한다. 추가적으로, 여기에 설명된 메모리 구성 방법은 DSP 에 의해 실행되는 32 비트 또는 64 비트 명령과 같은 다른 정보, 또는 다른 애플리케이션에 사용되는 데이터를 저장하는 능력을 지원한다. 예를 들어, 프론트-엔드 이미지 프로세싱에서 픽셀의 저장에 사용되지 않는 경우, 동일한 메모리는 그래픽 버퍼로 사용될 수도 있다. 이 경우에, 설명된 메모리 제어기 구조는 상대적으로 긴 메모리 워드가 더 작은 유닛으로 분리될 수 있게 (예를 들어, 주어진 메모리 워드로부터 몇몇의 이미지의 픽셀로 분리되게) 허용하고, 이로 인해 몇몇의 이미지의 픽셀은 프론트-엔드 이미지 프로세싱 모듈에 의해 병렬로 프로세싱될 수 있다. 이 방법에서, 설명된 구성 방법 및 제어기 구조는 실시간 VT 애플리케이션에 대해 특히 바람직한 프론트-엔드 이미지 프로세싱을 가속화할 수도 있으며, (예를 들어, 프론트-엔드 비디오 프로세싱이 수행되지 않는 경우에) 메모리에 유연성을 제공하여 다른 목적에 대해 사용될 수 있게 한다.
그럼에도 불구하고, 다양한 변형이 여기에 설명된 기술에 적용될 수도 있다. 예를 들어, 어떤 경우에, 메모리 제어기는 동일한 픽셀 데이터를 하나 이상의 이미지 프로세싱 모듈로 전달하도록 구성될 수도 있다. 또한, 2D 공간 필터링의 어떤 경우에, 하나 이상의 이미지 프로세싱 모듈은 입력 (예를 들어, 인접 이미지 또는 이미지의 인접 픽셀과 관련되는 몇몇 픽셀) 의 몇몇 라인을 수신할 수도 있고, 입력의 몇몇 라인에 기초하여 출력 (이 경우에는 필터링된 출력) 의 하나의 라인을 출력할 수도 있다. 이러한 그리고 다른 실시형태는 다음의 청구항의 범위 내에 있다.

Claims (31)

  1. 제 1 이미지의 제 1 픽셀 데이터 및 제 2 이미지의 제 1 픽셀 데이터를 포함하는 제 1 메모리 워드를 메모리에 저장하는 단계; 및
    상기 제 1 이미지의 제 2 픽셀 데이터 및 상기 제 2 이미지의 제 2 픽셀 데이터를 포함하는 제 2 메모리 워드를 상기 메모리에 저장하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 제 1 이미지의 제 3 픽셀 데이터 및 상기 제 2 이미지의 제 3 픽셀 데이터를 포함하는 제 3 메모리 워드를 상기 메모리에 저장하는 단계를 더 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 제 1 메모리 워드는 제 3 이미지의 제 1 픽셀 데이터를 더 포함하고,
    상기 제 2 메모리 워드는 상기 제 3 이미지의 제 2 픽셀 데이터를 더 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 제 1 및 제 2 메모리 워드는 상기 메모리의 인접 행들을 포함하는, 방 법.
  5. 제 1 항에 있어서,
    상기 제 1 및 제 2 이미지의 인접 픽셀은 상기 메모리의 상기 인접 행들에 저장되고, 상기 제 1 및 제 2 메모리 워드 각각은 다수의 이미지로부터의 픽셀을 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 제 1 픽셀 데이터 및 상기 제 2 픽셀 데이터를 동시에 회수하기 위해서 메모리 액세스 사이클 동안 상기 메모리로부터 상기 제 1 메모리 워드에 액세스하는 단계;
    상기 메모리 액세스 사이클 동안 상기 제 1 메모리 워드의 액세스에 응답하여 상기 제 1 이미지의 상기 제 1 픽셀 데이터를 제 1 이미지 프로세싱 모듈에 전달하는 단계; 및
    상기 메모리 액세스 사이클 동안 상기 제 1 메모리 워드의 액세스에 응답하여 상기 제 2 이미지의 상기 제 1 픽셀 데이터를 제 2 이미지 프로세싱 모듈에 전달하는 단계를 더 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 제 1 이미지 프로세싱 모듈의 상기 제 1 이미지의 상기 제 1 픽셀 데이 터를 프로세싱하는 단계; 및
    상기 제 2 이미지 프로세싱 모듈의 상기 제 2 이미지의 상기 제 1 픽셀 데이터를 동시에 프로세싱하는 단계를 더 포함하는, 방법.
  8. 제 7 항에 있어서,
    공동 메모리 워드에서 상기 제 1 이미지의 상기 제 1 픽셀 데이터의 프로세싱된 버젼을 상기 제 2 이미지의 상기 제 1 픽셀 데이터의 프로세싱된 버젼과 결합하는 단계; 및
    상이한 메모리 액세스 사이클 동안 상기 공동 메모리 워드를 상기 메모리에 다시 저장하는 단계를 더 포함하는, 방법.
  9. 제 1 항에 있어서,
    메모리 액세스 사이클 동안 상기 메모리로부터의 상기 제 1 메모리 워드에 액세스하는 단계;
    상기 메모리 액세스 사이클 동안 상기 제 1 메모리 워드의 액세스에 응답하여 상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터를 이미지 프로세싱 모듈에 전달하는 단계;
    상기 이미지 프로세싱 모듈에서 상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터를 프로세싱하는 단계; 및
    상이한 메모리 액세스 사이클 동안 상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터의 프로세싱된 버젼을 상기 메모리에 다시 저장하는 단계를 더 포함하고,
    상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터의 상기 프로세싱된 버젼은 상기 메모리의 공동 메모리 워드에 저장되는, 방법.
  10. 제 1 항에 있어서,
    상기 메모리에 논-픽셀 (non-pixel) 데이터를 저장하는 단계를 더 포함하는, 방법.
  11. 제 1 항에 있어서,
    상기 제 1 메모리 워드는 프로세서에 의해 실행 가능한 명령의 폭에 일치하고,
    상기 방법은, 상기 제 1 메모리 워드의 전체 폭을 픽셀 데이터로 채우기 위해서 상기 제 1 이미지 및 상기 제 2 이미지를 포함하는 다수의 이미지로부터 제 1 픽셀 데이터를 저장하는 단계를 더 포함하는, 방법.
  12. 제 1 이미지의 제 1 픽셀 데이터 및 제 2 이미지의 제 1 픽셀 데이터를 포함하는 제 1 메모리 워드 및 상기 제 1 이미지의 제 2 픽셀 데이터 및 상기 제 2 이미지의 제 2 픽셀 데이터를 포함하는 제 2 메모리 워드를 포함하는 메모리; 및
    메모리 액세스 사이클 동안 상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데 이터를 전달하기 위해 상기 제 1 메모리 워드에 액세스하는 제어기를 포함하는, 디바이스.
  13. 제 12 항에 있어서,
    상기 메모리는 상기 제 1 이미지의 제 3 픽셀 데이터 및 상기 제 2 이미지의 제 3 픽셀 데이터를 포함하는 제 3 메모리 워드를 포함하는, 디바이스.
  14. 제 12 항에 있어서,
    상기 제 1 메모리 워드는 제 3 이미지의 제 1 픽셀 데이터를 더 포함하고,
    상기 제 2 메모리 워드는 상기 제 3 이미지의 제 2 픽셀 데이터를 더 포함하는, 디바이스.
  15. 제 12 항에 있어서,
    상기 제 1 및 제 2 메모리 워드는 상기 메모리의 인접 행들을 포함하는, 디바이스.
  16. 제 12 항에 있어서,
    상기 제 1 및 제 2 이미지의 인접 픽셀은 상기 메모리의 상기 인접 행들에 저장되고, 상기 제 1 및 제 2 메모리 워드 각각은 비디오 시퀀스의 다수의 이미지로부터의 픽셀을 포함하는, 디바이스.
  17. 제 12 항에 있어서,
    제 1 이미지 프로세싱 모듈; 및
    제 2 이미지 프로세싱 모듈을 더 포함하고,
    상기 제어기는, 상기 메모리 액세스 사이클 동안 상기 제 1 메모리 워드의 액세스에 응답하여 상기 제 1 이미지의 상기 제 1 픽셀 데이터를 제 1 이미지 프로세싱 모듈에 전달하고,
    상기 제어기는, 상기 메모리 액세스 사이클 동안 상기 제 1 메모리 워드의 액세스에 응답하여 상기 제 2 이미지의 상기 제 1 픽셀 데이터를 제 2 이미지 프로세싱 모듈에 전달하는, 디바이스.
  18. 제 17 항에 있어서,
    상기 제 1 이미지 프로세싱 모듈은 상기 제 1 이미지의 상기 제 1 픽셀 데이터를 프로세싱하고, 그리고
    상기 제 2 이미지 프로세싱 모듈은 상기 제 2 이미지의 상기 제 1 픽셀 데이터를 동시에 프로세싱하는, 디바이스.
  19. 제 18 항에 있어서,
    상기 제어기는, 공동 메모리 워드에서 상기 제 1 이미지의 상기 제 1 픽셀 데이터의 프로세싱된 버젼을 상기 제 2 이미지의 상기 제 1 픽셀 데이터의 프로세 싱된 버젼과 결합하고, 그리고
    상기 제어기는, 상이한 메모리 액세스 사이클 동안 상기 공동 메모리 워드를 상기 메모리에 다시 저장하는, 디바이스.
  20. 제 12 항에 있어서,
    이미지 프로세싱 모듈을 더 포함하고,
    상기 제어기는 상기 메모리 액세스 사이클 동안 상기 제 1 메모리 워드의 액세스에 응답하여 상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터를 상기 이미지 프로세싱 모듈에 전달하고,
    상기 이미지 프로세싱 모듈은 상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터를 프로세싱하고, 그리고
    상기 제어기는 상이한 메모리 액세스 사이클 동안 상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터의 프로세싱된 버젼을 상기 메모리에 다시 저장하고,
    상기 제 1 및 제 2 이미지의 상기 제 1 픽셀 데이터의 상기 프로세싱된 버젼은 상기 메모리의 공동 메모리 워드에 저장되는, 디바이스.
  21. 제 12 항에 있어서,
    상기 메모리는 논-픽셀 데이터를 더 포함하는, 디바이스.
  22. 제 12 항에 있어서,
    명령들을 실행 가능한 프로세서를 더 포함하고,
    상기 제 1 메모리 워드는 상기 명령들과 관련된 폭에 일치하고,
    상기 메모리는 상기 제 1 메모리 워드의 전체 폭을 다수의 이미지로부터의 픽셀 데이터로 채우기 위해서 상기 제 1 이미지 및 상기 제 2 이미지를 포함하는 상기 다수의 이미지로부터 제 1 픽셀 데이터를 저장하는, 디바이스.
  23. 제 1 이미지의 제 1 픽셀 데이터 및 제 2 이미지의 제 1 픽셀 데이터를 포함하는 제 1 메모리 워드; 및
    상기 제 1 이미지의 제 2 픽셀 데이터 및 상기 제 2 이미지의 제 2 픽셀 데이터를 포함하는 제 2 메모리 워드를 포함하는, 메모리.
  24. 제 23 항에 있어서,
    상기 제 1 이미지의 제 3 픽셀 데이터 및 상기 제 2 이미지의 제 3 픽셀 데이터를 포함하는 제 3 메모리 워드를 더 포함하는, 메모리.
  25. 제 23 항에 있어서,
    상기 제 1 메모리 워드는 제 3 이미지의 제 1 픽셀 데이터를 더 포함하고,
    상기 제 2 메모리 워드는 상기 제 3 이미지의 제 2 픽셀 데이터를 더 포함하는, 메모리.
  26. 제 23 항에 있어서,
    상기 제 1 및 제 2 메모리 워드는 상기 메모리의 인접 행들을 포함하는, 메모리.
  27. 제 23 항에 있어서,
    상기 제 1 및 제 2 이미지의 인접 픽셀은 상기 메모리의 상기 인접 행들에 저장되고, 상기 제 1 및 제 2 메모리 워드 각각은 비디오 시퀀스의 다수의 이미지로부터의 픽셀을 포함하는, 메모리.
  28. 제 23 항에 있어서,
    상기 메모리에 저장된 논-픽셀 데이터를 더 포함하는, 메모리.
  29. 제 23 항에 있어서,
    상기 메모리 워드는 64 비트로 구성되고,
    상기 제 1 및 제 2 픽셀 각각은 8 비트로 구성되는, 메모리.
  30. 제 29 항에 있어서,
    상기 제 1 메모리 워드는 제 3 이미지의 제 1 픽셀 데이터를 포함하고 상기 제 2 메모리 워드는 상기 제 3 이미지의 제 2 픽셀 데이터를 포함하고,
    상기 제 1 메모리 워드는 제 4 이미지의 제 1 픽셀 데이터를 포함하고 상기 제 2 메모리 워드는 상기 제 4 이미지의 제 2 픽셀 데이터를 포함하고,
    상기 제 1 메모리 워드는 제 5 이미지의 제 1 픽셀 데이터를 포함하고 상기 제 2 메모리 워드는 상기 제 5 이미지의 제 2 픽셀 데이터를 포함하고,
    상기 제 1 메모리 워드는 제 6 이미지의 제 1 픽셀 데이터를 포함하고 상기 제 2 메모리 워드는 상기 제 6 이미지의 제 2 픽셀 데이터를 포함하고,
    상기 제 1 메모리 워드는 제 7 이미지의 제 1 픽셀 데이터를 포함하고 상기 제 2 메모리 워드는 상기 제 7 이미지의 제 2 픽셀 데이터를 포함하고, 그리고
    상기 제 1 메모리 워드는 제 8 이미지의 제 1 픽셀 데이터를 포함하고 상기 제 2 메모리 워드는 상기 제 8 이미지의 제 2 픽셀 데이터를 포함하는, 메모리.
  31. 제 29 항에 있어서,
    상기 메모리는 512 개 이상의 메모리 워드를 정의하는 512 개 이상의 행을 포함하고,
    상기 메모리 워드 각각은 2 개 이상의 이미지의 픽셀 데이터를 포함하는, 메모리.
KR1020087019235A 2006-01-05 2007-01-05 이미지 및 비디오 프로세싱을 위한 메모리 구성 방법 및제어기 구조 KR101232523B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/327,241 US8045021B2 (en) 2006-01-05 2006-01-05 Memory organizational scheme and controller architecture for image and video processing
US11/327,241 2006-01-05
PCT/US2007/060188 WO2007117722A2 (en) 2006-01-05 2007-01-05 Memory organizational scheme and controller architecture for image and video processing

Publications (2)

Publication Number Publication Date
KR20080092418A true KR20080092418A (ko) 2008-10-15
KR101232523B1 KR101232523B1 (ko) 2013-02-12

Family

ID=38223921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087019235A KR101232523B1 (ko) 2006-01-05 2007-01-05 이미지 및 비디오 프로세싱을 위한 메모리 구성 방법 및제어기 구조

Country Status (6)

Country Link
US (1) US8045021B2 (ko)
EP (1) EP1992162B1 (ko)
JP (1) JP5139322B2 (ko)
KR (1) KR101232523B1 (ko)
CN (1) CN101443808B (ko)
WO (1) WO2007117722A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011856A (ja) * 2011-06-01 2013-01-17 Canon Inc 撮像システムおよびその制御方法
CN102930501B (zh) * 2012-10-12 2014-12-10 四川虹微技术有限公司 一种控制dibr系统中图像存储的多口内存控制器
US9424490B2 (en) * 2014-06-27 2016-08-23 Microsoft Technology Licensing, Llc System and method for classifying pixels
CN104184963B (zh) * 2014-09-05 2017-10-13 无锡英斯特微电子有限公司 光电导航系统中高效资源利用的方法
CN106201363B (zh) * 2016-07-26 2023-01-31 四川大学 视频流像素级数据随机实时访问的存储器及存储方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541075A (en) * 1982-06-30 1985-09-10 International Business Machines Corporation Random access memory having a second input/output port
EP0255280A3 (en) 1986-07-24 1990-10-24 Gec Avionics Limited Data storage
JPS63204595A (ja) 1987-02-20 1988-08-24 Fujitsu Ltd マルチプレ−ンビデオram構成方式
US5083257A (en) * 1989-04-27 1992-01-21 Motorola, Inc. Bit plane partitioning for graphic displays
US5265172A (en) * 1989-10-13 1993-11-23 Texas Instruments Incorporated Method and apparatus for producing optical flow using multi-spectral images
JP3317316B2 (ja) 1994-05-24 2002-08-26 富士写真フイルム株式会社 画像処理装置
US5585863A (en) * 1995-04-07 1996-12-17 Eastman Kodak Company Memory organizing and addressing method for digital video images
EP0892972A1 (en) 1996-04-12 1999-01-27 Intergraph Corporation High-speed video frame buffer using single port memory chips where pixel intensity values for display regions are stored at consecutive addresses of memory blocks
JPH10334226A (ja) 1997-06-04 1998-12-18 Hitachi Ltd 画像データ記憶装置
JPH11205747A (ja) * 1998-01-20 1999-07-30 Victor Co Of Japan Ltd シャフリング回路およびデシャフリング回路
DE19917092A1 (de) * 1999-04-15 2000-10-26 Sp3D Chip Design Gmbh Verfahren zur Rasterisierung eines Graphikgrundelements
US6675187B1 (en) * 1999-06-10 2004-01-06 Agere Systems Inc. Pipelined linear array of processor elements for performing matrix computations
JP3959407B2 (ja) 2004-05-24 2007-08-15 株式会社日立製作所 画像処理装置及び画像処理システム

Also Published As

Publication number Publication date
EP1992162A2 (en) 2008-11-19
US20070153095A1 (en) 2007-07-05
WO2007117722A3 (en) 2008-12-18
CN101443808B (zh) 2013-01-23
US8045021B2 (en) 2011-10-25
JP5139322B2 (ja) 2013-02-06
WO2007117722A2 (en) 2007-10-18
CN101443808A (zh) 2009-05-27
EP1992162B1 (en) 2018-07-18
JP2009522698A (ja) 2009-06-11
KR101232523B1 (ko) 2013-02-12

Similar Documents

Publication Publication Date Title
US7536487B1 (en) Low power memory hierarchy for high performance video processor
US8009729B2 (en) Scaler architecture for image and video processing
KR100997619B1 (ko) 소형 또는 대형 화상의 처리를 위한 소형 라인 버퍼의 사용을 용이하게 하는 기술
US8311088B2 (en) Method and system for image processing in a microprocessor for portable video communication devices
KR101232523B1 (ko) 이미지 및 비디오 프로세싱을 위한 메모리 구성 방법 및제어기 구조
US6850569B2 (en) Effective motion estimation for hierarchical search
US8443413B2 (en) Low-latency multichannel video port aggregator
KR101615466B1 (ko) 비디오 분석 및 인코딩을 위한 복수의 비디오 채널의 캡쳐
FR2728092A1 (fr) Procede pour le decodage d'images comprimees
US10146679B2 (en) On die/off die memory management
US9179156B2 (en) Memory controller for video analytics and encoding
KR100710305B1 (ko) 비디오 디코딩 장치의 데이터 관리기
Tanskanen et al. Parallel, memory access schemes for H. 263 encoder
GB2398951A (en) Storage of slices of video frames
KR100730689B1 (ko) 동영상 데이터 인코더 및 그 제어 방법
US20130322551A1 (en) Memory Look Ahead Engine for Video Analytics
Matoba et al. Real-time continuous recording technique using FBTC in digital still cameras

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20110124

Effective date: 20121107

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 7