KR100233765B1 - 화상 기억 방법 및 그 장치 - Google Patents
화상 기억 방법 및 그 장치 Download PDFInfo
- Publication number
- KR100233765B1 KR100233765B1 KR1019910001728A KR910001728A KR100233765B1 KR 100233765 B1 KR100233765 B1 KR 100233765B1 KR 1019910001728 A KR1019910001728 A KR 1019910001728A KR 910001728 A KR910001728 A KR 910001728A KR 100233765 B1 KR100233765 B1 KR 100233765B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- memory
- pixels
- blocks
- address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Input (AREA)
- Memory System (AREA)
- Image Processing (AREA)
Abstract
“화상 처리를 위한 메모리 기억 방법 및 이 방법을 실행하기 위한 장치”
이 방법으로 화상은 화소 수로 표시된 크기(H, V)가 2의 정수 제곱인 블록 단위로 처리되고, 다른 블록의 내용(화소)은 차례로 메모리에 기억된다.
상기 화상 내의 상기 화소의 위치 x, y로부터 메모리 내의 화소 위치를 계산하기 위한 장치는 x, y 각각으로부터 최상위 비트 m 및 p(m 및 p는 2m = H 및 2P = V인 정수)를 추출하는 두 개의 요소 연산자(11, 12)와, 연산자(12)에 의해 제공된 수직 성분(ADBLOCV)과 화상 라인 내의 블록 수(NBLOCH)를 곱하는 승산기(19) 및 승산기에 의해 제공된 결과와 연산자(11)에 의해 제공된 좌표(ADBLOCH)를 합하는 가산기(20)로 구성된다.
용도 : 화상 처리, 특히 가변 영상비를 갖고 있는 화상 처리.
Description
제1도는 통상 “비트맵” 방법으로 지칭되는 방법의 결점을 도시한 도면.
제2도는 화상에서의 블록 기재 모드를 도시한 도면.
제3도는 메모리에서의 블록 기재 장치를 도시한 도면.
제4도는 어드레스를 계산하는 장치의 회로도.
제5도는 이동이 보상된 블록의 화상내의 위치를 도시한 도면.
제6도는 제5도의 블록 E에 의해 점유되는 메모리 내의 위치를 도시한 도면.
제7도는 이동이 보상된 블록의 화소의 어드레스를 메모리에서 계산하기 위한 장치를 도시한 도면.
제8도 내지 제11도는 제7도의 각 모듈을 더욱 상세히 도시한 도면.
제12도는 제7도 및 제8도의 장치 GENADR에 의해 실시되는 동작에 대한 타이밍도.
제13도 및 제14도는 이동이 보상되지 않은 블록의 경우에 대한 제7도 장치의 간략한 실시예를 도시한 도면.
* 도면의 주요부분에 대한 부호의 설명
24 : 메모리 25,26 : 화상
27,28 : 카운터 29,30 : 비교기
본 발명은 화상 처리 시스템의 메모리 내의 기억을 관리하는 방법에 관한 것이며, 상기 메모리는 동적이고 버스트형으로 액세스되는 행렬로 구성되어 있고, 상기 시스템에서 화상들은 블록 단위로 처리되며, 각각의 블록은 정사각형 또는 직사각형이며 수평 및 수직 방향으로 다수의 화소(H*V)를 구비하고, 한 블록 내의 화소에 대한 기재는 블록내의 연속적인 병렬 라인 내에서 화소들을 차례로 고려함으로써 행해진다.
또한 본 발명은 블록 단위로 처리된 화상을 기억하기 위해 버스트형으로 액세스되는 행렬로 구성된 동적 메모리를 갖춘 장치에 관한 것이며, 상기 블록 각각은 화소수로 표현된 수평 및 수직 치수가 2의 정수 제곱인 정사각형 또는 직사각형이며, 블록에 포함된 화소에 대한 기재는 상기 블록의 연속한 병렬 라인에 대해 화소를 고려함으로써 행해진다.
저속 정보 성분 화상 압축 알고리즘에서, 시간 처리는 상당한 기억 용량을 필요로 하기 때문에 매우 중요하다. 또한, 이러한 형태의 알고리즘에서, 한편으로는 알고리즘의 실행 능력의 저하를 방지하고 다른 한편으로는 인코딩 및 디코딩 시스템의 복잡성에 대한 한계를 설정하기 위해 단위 시간당 처리될 화소의 수가 정해진다. 직접적인 결과는 화상에서 인코드될 화소의 수와 따라서 이것을 기억하는데 필요한 워드수가 제한된다는 것이다.
가변 화상 포맷(영상비(aspect ratio))을 사용하는 것이 바람직한 어떤 화상 압축 응용에 있어서는, 화상의 가변 포맷과 디코딩 처리 동안 화상을 수신하도록 의도된 메모리의 고정 치수간의 타당성을 발견하는 것이 필요로 되는 것이 입증되었다. 이러한 경우는 화상 포맷이 가변인 인터랙티브 콤팩트 디스크(“CDI”)등의 멀티미디어 응용에서 나타난다.
블록에 기초한 압축된 화상 디코더의 실현에 있어서 중요한 점 중 한가지는 대량의 어드레스가 메모리를 액세스할 필요가 있다는 사실이다. 비용 및 집적도의 이유로, 통상 사용되는 메모리는 “행” 어드레스의 제 1 시간 주기 동안의 공급과 사용된 메모리의 형태에 의존하는 지연 후에 “열” 어드레스의 제 2 시간 주기 동안의 공급으로 이루어지는 두 개의 시간-주기에서의 액세스와, 최종적으로 추가적인 지연 후에 정보에 대한 액세스가 이루어지는 것을 특징으로 하는 동적 메모리이다. 판독될 정보 성분이 동일 행 또는 연속한 “열” 어드레스에 위치될 때에 “니블(nibble)”로 지칭되는 모드를 이용하거나, 판독될 정보 성분이 임의의 어드레스에 위치될 때에 “정적 열 모드” 또는 “페이지 모드”로 지칭되는 버스트 모드를 이용함으로써 액세스가 더 신속하게 이루어질 수 있다. 이들 두 경우에 있어서, 제 1 정보에 대한 액세스는 상술된 두 개의 시간 주기에 상응하지만, 후속 정보 성분에 대한 액세스는 단지 제 2 시간 주기만을 필요로 한다.
다른 단점은 라인당 화소 수 또는 화상당 라인수가 메모리부의 행수 또는 열수의 배수 또는 약수가 아니면 메모리 영역의 사용에 있어서 효율성이 떨어진다는 점이다.
문서 EP-A-O 085 210에는 특정한 요소의 집단에 대한 탐색을 용이하게 할 목적으로 연속적인 화상 라인에 대한 메모리 내에서의 어드레스 점프를 사용하는 특정한 어드레싱 모드의 사용에 대해 기술되어 있다. 그러나, 상기 문서에서는 화상이 일종의 바둑판 패턴을 형성하는 규칙적인 블록으로 분할된다는 사실은 고려하지 않았다.
본 발명은 화상 압축 알고리즘이 수평 및 수직 치수가 화상치수의 약수인 블록에 근거하고 있다는 개념에 기초를 둔다. 또한, 본 발명은 또한 사용된 메모리에서 버스트형 액세스 모드가 존재하는 것을 유리하게 이용한다. 이와 같이, 본 발명에 의하면, 각 블록에 대한 완전한 기재는 블록이 기재되는 순서로 메모리 내에 위치되고, 블록은 차례로 기억된다.
본 발명은 특히 화상이 가변 포맷을 가질 때 유리하다. 화상의 형태 요소(form factor)에는 관계없이 화상 기억에 필요한 메모리 용량만을 사용할 수 있다. 본 발명은 또한 화상에서 블록에 대한 보다 빠른 액세스를 가능하게 한다.
서로 다른 블록의 내용은 한계값까지 열 어드레스를 증분시킴으로써 메모리에 위치되며, 다음에 이 어드레스는 0으로 조정되고 행 어드레스가 증분된다.
블록은 2의 정수제곱인 화소 수로 표현된 수평 및 수직 치수를 가지며, 주어진 화소를 포함하는 블록의 개시 어드레스 메모리는 화상에서 상기 화소의 x, y 좌표로부터 수평 또는 수직 방향으로 각각 상기 x 또는 y좌표 중 하나를 피제수로 하고, 상기 치수(H 또는 V)를 제수로 하는 ‘정수 제산’ 및 “모듈로”에 의해 계산되며, 이들 동작은 정수 제산의 결과로서 상기 2의 (m 또는 p)제곱보다 높은 차수의 비트를 제공하고, 모듈로 동작의 결과로서 이와 동일한 2의 제곱과 같거나 적은 차수의 비트를 제공하는 이분법에 의해 2진 워드로 표시되는 이들 값을 가져온다.
화상의 블록 단위 처리를 위하여 각 블록이 각각 2의 정수(m. p) 제곱인 화소수로 표현된 수평 및 수직 치수(H, V)를 가지며, 블록에 포함된 화소에 대한 기재는 블록의 연속 병렬 라인 내에서 화소를 고려함으로써 행해지고, 각 블록에 대한 완전한 기재는 블록의 기재 순서로 메모리에 기억되며, 블록이 메모리에 차례로 위치되는, 서문(preamble)에서 기술된 형의 장치는, 상기 블록의 화소의 x, y 좌표로부터 메모리내의 블록 번호를 계산하기 위한 수단을 구비하며, 상기 수단은 x 및 y 값을 나타낸 2진 워드로부터 m 및 p 보다 높은 웨이트를 갖는 비트를 추출하는 두 연산자로 형성되며, 상기 장치는 또한 화상 라인당 블록 수 및 y 를 표시하는 2진 워드에서 상기 연산자중 하나에 의해 추출된 비트(이 비트는 화소를 포함하는 블록의 화상에서 수직 좌표를 표시함)로 형성된 2진 워드가 피승수로서 인가되는 승산기와, 상기 승산기에 의해 제공된 결과치와 x를 표시하는 2진 워드로부터 상기 연산자중 나머지에 의해 추출된 비트(이 비트는 화소를 포함하는 블록의 화상에서 수평 좌표를 표시함)로 형성된 2진 워드가 함께 가산할 목적으로 인가되는 가산기를 포함한다.
또한. 본 발명의 장치는 화상에서 어드레스 x, y 로부터 블록내 화소에 관련하는 어드레스를 계산하는 수단을 포함하며, 상기 수단은 x 및 y 값을 나타내는 2 진 워드로부터 최하위 웨이트를 갖는 m 및 p 비트를 추출하는 두 연산자로 형성되며, 추출된 블록의 두 그룹은 상기 두 연산자중 하나에 의해 y로부터 추출된 비트 그룹을 좌측으로 시프트시키고 상기 두 연산자중 나머지에 의해 x로부터 추출된 비트 그룹과 연결시키는(concatenate) 다른 연산자에 인가된다.
본 발명의 장치는 또한 화소를 포함하는 블록 번호와 블록 내 화소에 관계하는 어드레스로부터 메모리 내 화소의 행 및 열 어드레스를 계산하는 수단을 구비하며, 상기 수단은 블록 번호를 나타내는 2진 워드에서 최하위 웨이트의 “e” 비트를 분리시키는 연산자로 형성되며, 여기서 “e”는 2의 “e” 제곱이 메모리 행당 블록 수와 동일하게 되는 정수이며, 이들 “e” 비트는 연결(concatenation) 요소에 전달되어 “e” 비트가 좌측으로 시프트되어 블록의 화소에 관련되는 어드레스를 표시하는 비트와 연결되어 수평 방향으로 탐색된 어드레스 즉 메모리 열 번호를 제공하고, (“e” 보다 높은 웨이트를 갖는) 다른 비트는 수직 방향으로 탐색된 어드레스 즉 메모리 행 번호를 제공한다.
블록 단위로 처리된 화상은 따라서 (바둑판과 같은) 규칙적인 배열의 블록 네트워크를 구성하게 된다. 그럼에도 불구하고, 특히 공지되어 있는 이동 보상 방법을 적용할 때 압축된 화상의 디코딩은 화상의 블록 네트위크의 블록 H*V에 정확히 상응하는 블록 데이터뿐만 아니라 네트워크 블록에 대해 수평 또는 수직 방향으로 시프트되어 있는 블록에 대한, 즉 네트워크의 상이한 4개 블록에 속하는 블록에 대한 액세스를 필요로 한다. 이러한 의미에서, 상기 네트워크 블록에 대해 시프트 된 화상 블록내에 포함된 화소의 메모리 어드레스의 계산에 있어서, 계산은 기준 블록으로 표시된 네트워크의 블록 어드레스 및 이 기준 블록에 대해 시프트된 블록 시프트로부터 화상에서 수평 방향으로 포함된 블록 수를 인식함으로써 행해지며, 본 발명의 장치는 하나 또는 다수의 다음의 어셈블리를 포함한다.
- 즉 시프트된 블록의 시프트로부터 블록이 기준 블록에 비해 수평 및 수직 방향으로 얼마나 멀리 시프트되었는가와, 시작점을 포함하는 네트워크 블록에 대한 블록의 상대위치를 수평 및 수직으로 계산하기 위한 제 1 수단.
- 시프트된 블록의 시프트, 기준블록의 어드레스 및 수평 방향으로의 각 화상의 블록 수로부터, 시프트된 블록의 시작점을 포함하는 화상 내의 블록 번호를 계산하기 위한 제 2 수단.
- 블록 번호가 상기 수단에 의해 제공된 블록 내의 화소에 대한 어드레스의 두 성분을 발생시키기 위한 제 3 수단.
- 메모리 블록 내에 관련된 “선형” 어드레스를 공급하기 위하여 화소에 대하여 어드레스의 수직성분 비트를 좌측으로 시프트하여 상기 관련 어드레스의 수평성분의 비트와 연결시키는 제 4 수단(“선형 어드레스”는 맨 처음부터 블록의 모든 화소를 연속적으로 번호화함으로써 계산된다는 사실을 의미하는 것으로 이해됨).
- 블록 번호를 표시하는 2진 워드에서 최하위 “e” 비트를 분리시키는 연산자를 구성하는 제 5 수단으로서, 여기서 “e”는 2의 “e” 제곱이 각 메모리 행의 블록수와 동일한 정수이며, 이들 “e” 비트는 연결 요소로 전달되며, 여기서 이들 “e”비트는 좌측으로 시프트되어 상기 수단에 의해 공급된 비트와 연결되어 수평 방향으로 탐색된 어드레스 성분 (메모리 열 번호)을 제공하고, 상기 2진 워드의 다른 비트는 수직 방향으로 탐색된 어드레스 성분(메모리 행 번호)을 제공한다.
상기 제 1 수단은, 기준 블록에 대해 시프트된 블록 시프트의 수평 방향의 값을 나타내는 2진 워드 내의 m 개의 최하위 비트를 분리하는 연산자와, 기준 블록에 대해 시프트된 블록 시프트의 수직 방향의 시프트 값을 나타내는 2진 워드의 p 개 최하위 비트를 분리하는 연산자로 구성되는 것이 바람직하다.
상기 제 2 수단은, 수직 방향의 기준 블록의 값과 수직 방향의 블록 시프트 값의 합을 산출하는 제 1 가산기와, 상기 제 1 가산기에 의해 산출된 결과에 수평 방향으로의 화상당 블록 수의 값을 곱하는 승산기와, 수평 방향의 기준 블록의 어드레스 값과 수평 방향의 블록의 시프트 값의 합을 산출하는 제 2 가산기와, 제 2 가산기에 의해 공급된 값과 승산기에 의해 공급된 값의 합을 산출하는 제 3 가산기로 구성되는 것이 바람직하다.
상기 제 3 수단은 아래 요소들의 그룹으로부터 하나 이상으로 구성되는 것이 좋다 .
- 시작점을 포함하는 네트워크의 블록에 대해 시프트된 블록의 수평 방향의 상대위치의 값 또는 0값에서 선택된 값을 공급하기 위한 멀티플렉서와, 멀티플렉서에 의해 공급된 값으로 초기화될 수 있으며, 클록의 속도로 화소에 대한 어드레스의 수평 성분을 공급하는 카운터를 포함하는 그룹.
- 동일한 방법으로 구성되며 수직 방향의 대응 요소를 처리하는 그룹.
- 시작점을 포함하는 네트워크의 블록에 대해 시프트된 블록의 수평 방향의 상대 위치의 값을 표현하는 2진 워드의 2의 보수를 제공하는 연산부와, 0 또는 상기 2의 보수로부터 선택된 값을 공급하는 멀티플렉서와 멀티플렉서에 의해 공급된 값으로 초기화될 수 있으며, 클록의 속도로 화소에 관한 어드레스의 수평 성분을 공급하는 카운터를 포함하는 그룹.
-동일한 방법으로 구성되며 수직 방향의 대응 요소를 처리하는 그룹.
실시예를 설명하는 첨부도면을 참고로 한 다음의 설명으로부터, 본 발명이 어떻게 실시될 수 있는지를 잘 이해할 수 있을 것이다.
제1도에서, 박스(24)는 행 R 및 열 C로 구성된 메모리를 나타낸다. “비트 맵:(bit map) 구성이 사용될 때 메모리의 행 길이는 거기에 기억되는 화상(25)의 폭을 포함하기에 충분해야 한다. 그러나, 화면 포맷이 변경될 수 있고 예를 들어 폭은 작지만 높이가 큰 화상(26)이 사용되는 것이 바람직하다면, 메모리의 행의 수는 화상(26)을 포함하기에 충분해야 한다. 또한, 라인당 화소의 수 또는 화상당 라인의 수는 메모리 부분의 열의 수 또는 행의 수의 배수 또는 약수가 아니므로 메모리는 화상(26)의 높이 때문에 화상(25)의 폭에 대응하는 것보다 약간 큰 크기로 한다. 메모리는 화상(25 또는 26)만을 포함할 때에도 박스(24)로 표시되는 화상을 포함할 수 있다. 예를 들어, 만약 수평 포맷 및 수직 포맷이 1/2, 1 또는 2의 비율로 변동해야 한다면, 표시될 화소의 수만을 포함하는 것보다 4배 더 큰 메모리를 갖는 것이 필요하다.
제2도는 화상의 처리를 블록으로 도시하는데, 여기서 도시된 두 개의 블록은 모두 8의 수평 치수 H와 수직 치수 V를 갖는다. 화소의 기재가 메모리에서 처리되고 배치되는 순서는 화살표로 표시되었다. 눈금은 x 및 y 방향으로의 화상에서의 화소의 좌표를 표시한다. 도면에서는 화상의 좌상부의 2개의 블록을 도시하고 있으며 몇 개의 다른 블록이 있음을 그 일부를 도시하여 암시하고 있다. 그러므로 화상은 바둑판과 같이 규칙적으로 분포된 블록의 네트워크로 구성된다.
512열의 “수평” 크기 MEMDIMH과 512형의 “수직” 크기 MEMDIMV를 가진 위와 같은 구성의 메모리가 제3도에 도식적으로 도시되었으며, 여기에는 블록의 기재가 배열된 위치가 표시되어 있다. 수평 및 수직이란 개념은 단지 간략화하기 위해 사용되는 것이며 메모리 소자의 물리적 배열과는 무관하다고 이해하여야 한다. 실제로 이들은 행렬의 2개의 차원을 의미하는 것에 불과하다. BLOC 0 및 BLOC 1으로 표시된 블록은 예를 들어, 제2도에 도시된 화상의 좌상부의 제 1 및 제 2 블록 내용의 기재의 메모리 내의 각각의 위치에 대응한다.
제3도의 배치는, 메모리의 행이 정수 개의 블록을 포함하며(여기서는 8 블록: 0 내지 7) 행당 블록 수가 메모리 행의 수(이 경우 512행: 0 내지 511)에 곱해진 값이 블록의 전체수(정수)와 동일한 경우에 대응한다.
이상적인 경우가 아니라면, 만약 임의의 순간에 메모리 행의 여유가 블록의 완전한 기재를 위해서 충분치 않다면, 상기 블록의 기재 개시를 다음 행으로 미루는 것으로 충분하다. 그러나, 기재의 간략화를 위해, 메모리의 수평 치수 MEMDIVH는 H*V의 배수라 가정하고, MEMDIMH/H*V와 같은 정수는 k로 표시한다. 이러한 가정은 실제로 MEMDIMH, H, V가 항상 2의 거듭제곱이므로, 완전히 실제적이다.
불명확함을 피하기 위해, 더욱 정밀한 기재가 없는 경우, “위치”란 말은 화상에서의 위치를 의미할 때 사용되며, “어드레스”란 말은 메모리에서의 위치를 의미할 때 사용된다.
기억되는 화상은 수평 및 수직 치수 IMADIMH 및 IMADIMV를 가지며, 여기서 IMADIMH는 H의 배수이고 IMADIMV는 V의 배수이다. 메모리는 화상의 모든 화소를 기억하기에 충분히 크다고 가정한다. 즉, MEMDIMH * MEMDIMV>IMADIMH * IMADIMV.
여기서 H는 2의 m제곱이고, V는 2의 p제곱이며, “div”는 정수 제산의 연산자이고, “mod”는 모듈로 연산자인 것으로 하자.
어드레싱 모드는 블록 H*V를 기초로 하기 때문에, 영상에서 블록 H*V의 수는 화상에서 화소 x, y의 좌표로부터 제 1 시간 주기에서 결정된다. 따라서 화상에서 블록 H*V의 제 1 소자의 수평 및 수직 성분, ADBLOCH 및 ADBLOCV는 다음과 같이 계산된다.
(1) ADBLOCH = x div H
(2) ADBLOCV = y div V
이로부터 화상에서의 블록 번호 NUMBLOC가 유도되며, (제3도의) 좌상부 제 1 블록에서부터 시작되는 연속적인 순차로 계산된다.
(3) NUMBLOC = (IMADIMH div H) * ADBLOCV + ADBLOCH
각 화소의 좌표로부터, 블록 내의 화소의 관련 어드레스 ADRELH, ADRELV가 계산된다.
(4) ADRELH = x mod H
(5) ADRELV = y mod V
(6) ADREL = ADRELV + H + ADRELH
본 발명에 따른 어드레스 동작에 있어 화상의 블록의 어드레스 BLOCH 및 BLOCV의 계산은 블록 번호 NUMBLOC를 근거로 행해진다.
(7) BLOCH = (NUMBLOC mod k) * (H*V)
(8) BLOCV = (NUMBLOC div k)
이제 화상의 화소에 대한, 메모리 행의 어드레스 ADRX 및 메모리열의 어드레스 ADRY를 계산하기 위한 모든 이용 가능한 요소를 갖게 된다.
(9) ADRX = BLOCH + ADREL
(10) ADRY = BLOCV
화상에서 화소의 x, y 좌표를 분리함으로서, 앞서 이루어진 계산으로부터 ADRX 및 ADRY의 계산을 실현하는 모드를 이제 제14도를 참고로 설명하겠다.
IMADIMH는 2의 a제곱이고, IMADIMV는 2의 b제곱이며, MEMDIMH는 2의 알파(alpha) 제곱이고, MEMDIMV은 2의 베타(beta) 제곱이며, 2의 e 제곱은 k라고 하면, 화상을 기억시킬 수 있는 조건은, alpha + beta > a + b 이다.
위의 예에서 8*8 화소의 블록이 선택되었지만, 이 방법은 H와 V가 다른 값을 갖는 경우에도 사용될 수 있다.
H, V 및 k에 대해 선택된 값은 2의 정수 제곱이다. 이 경우에 연산 div 및 mod는 단순한 방법으로 실현된다. 이는 비트 필드를 MSB 및 LSB로 표시된 2개의 비트 필드로 분할하는 것으로 충분하며, 이는 각각 연산 div 및 mod의 결과가 되는 값을 공급한다(비트 분리 지점은 제수 H, V 또는 k 값에 의존한다). 이 이분법은 제4도(및 제9도와 제13도)에서 “OP”로 표시된 모듈에 의해 실현된다. 모듈 “CONC”는 2개의 비트 필드 MSB와 LSB를 연결(concatenation)함으로써 비트 필드를 발생시킨다. 다른 모듈, 즉 “+”(가산기) 및 “*”(승산기)는 기술에 숙련된 사람에게 공지되어 있다.
반대의 경우가 기술되지 않는 한, 연산자 모듈 OP는 8의 정수 제산을 실행하며, 즉 상기 분리는 제 3 및 제 4 비트 사이에서 실행된다.
처리될 화소의 좌표 x 및 y로부터, a 와이어 및 b 와이어가 각각 제공되는 접속부(13, 14)로 전달되며, 각각의 모듈 OP(11, 12)는 a-m 와이어, m 와이어, b-p 와이어 및 p 와이어가 제공되는 접속부를 통해, 상술된 식(1), (2), (4), (5)에 따라 값 ADBLOCH, ADRELH, ADBLOCV, ADRELV를 공급한다.
ADRELV 및 ADRELH로부터, 모듈 CONC(23)는 H를 곱하는 것에 대응하도록 m 위치만큼 ADRELV 비트를 시프트하며, 상술된 식 (6)을 실행하기 위해 이를 ADRELH 비트와 연결하고, 따라서 p+m 와이어가 제공된 접속부를 통해 ADREL을 공급한다.
각각 a 및 b 와이어가 제공된 접속부(15, 1)를 통해 값 IMADIMH와 IMADIMV로부터, 제수로서 V를 사용하는 모듈 OP(18)는 b-p 와이어가 제공된 접속부를 통해 화상 내의 수직 블록 수를 표시하는 값 NBLOCV를 공급하며, 제수로서 H를 사용하는 모듈 OP(17)는 a-m 와이어가 제공된 접속부를 통해 식(3)의 IMADIMH div H와 동일한 값 NBLOCH, 즉 화상 내의 수평 블록 수를 공급한다. 식(3)을 실행하기 위해, 이 값은 승산기(19)에서 ADBLOV가 곱해지며, 곱셈의 결과는 가산기(20)에 의해 ADBLOCH에 가산되어 가산기가 NUMBLOC를 공급한다.
값 NUMBLOC는 제수가 k인 모듈(21)에 의해 처리되며, 결과적으로 식 (8) 및 (10)과 NUMBLOC mod k (모듈 OP가 최하위 비트 “e”를 분리하므로 a : 2e = k이다)에 따라 BLOCV = ADRY를 공급한다. 모듈 CONC(22)에서, 상기 최종 값의 비트는 m+p 위치를 통해 시프트되고, 이는 식 (7)을 산출하기 위해 H*V 만큼 곱하는 것과 ADREL과 연결하는 것에 대응되며 식 (9)를 실현하여 ADRX를 공급한다.
“화소의 기재”는 통칭으로 색도 뿐만 아니라 휘도와 관계될 수도 있다.
상술된 다이어그램은 식들의 필수적인 처리를 가능하게 하는 단계를 설명한다. 시스템의 표시 회로(본 발명의 부분이 아닌)가 화상으로 표시되는 화소의 좌표 x, y를 발생시킬 때, 위에서 상술된 어드레싱 장치는 메모리 내의 화소의 어드레스 ADRX 및 ADRY를 계산하며 결과적으로 화상을 표시하기 위해 사용된다.
이동 보상 방법이 사용될 때, 압축된 화상의 디코딩은 네트워크에 대해 수평 및/또는 수직 방향으로 시프트된(즉, 네트워크의 블록에 관계된) 블록에 대한 액세스를 요구하며, 제7도 내지 제12도를 참고로 하여 후에 기술될 다른 수단이 사용될 때는 결과적으로 이 네트워크의 최대 4개의 다른 블록에 속하게 된다. 예를 들면, 이는 제5도의 블록 E에 관계되며, 화소는 4개의 블록 A, B, C, D에 속한다. 또한, 표시 장치는 화상의 라인(또는 라인의 세션)을 형성하는 화소의 어셈블리를 액세스하는 것이 가능해야만 한다.
실제의 표시 전에, 디코딩 장치는 3원색(R, G, B)에 의해 정의되는 화소를 발생시키기 위해 “색도 + 색차”(Y, U, V)의 형태로 화상의 화소를 판독해야만 한다. 한편, 장소를 절약하기 위해 비디오 라인의 일부만이 디코딩 장치 내에 임시로 기억된다. 블록 단위로 어드레싱하는 장치는 동일한 비디오 라인에 속하며 결과적으로 동일한 버스트로 액세스할 수 있는 MEMDIMH/V 화소의 메모리의 하나의 동일한 열을 배치하는 것을 가능하게 한다. MEMDIMH/V와 같은 크기의 메모리가 사용되면, 저장 메모리와 디코딩 장치 사이에서의 최적 전달 성능을 얻을 수 있다.
아래에 따르는 순서로 구성되는 동작이 “버스트 형 액세스”로 표시된다.
- “행 어드레스” 및 대응 신호 “RAS(row address selection)”를 메모리에 전달
- “열 어드레스” 및 대응 신호 “CAS(column address selection)”를 메모리에 전달
- 액세스하기를 원하고 동일한 열에 위치하는 모든 화소에 대한 “열” 어드레스의 연속을 메모리에 전달
“비트 맵” 어드레싱 장치에서, 블록 H*V에 대한 액세스는 H 화소의 V 버스트 형 액세스에 의해 실행된다. 화상이 블록 단위로 어드레스되는 장치에서 H*V의 크기를 갖는 블록에 대한 액세스는 액세스하기를 원하는 블록이 정확히 블록 경계에 위치할 때에는 H*V 화소의 하나의 신호의 버스트 억세스로 실행되고, 블록이 다수의 블록에 걸쳐 있을 때에는 최대 네 번의 버스트 억세스로 실행된다.
예를 들면, 화상 내의 블록의 물리적인 배열을 보여주고 있는 제5도의 블록 E를 액세스하기 위하여 블록 A의 시작 어드레스가 선택되어 이 블록 A 내의 관련된 어드레스(4, 47, 54, 55, 2, 3)에 연속적으로 더해지고, 다음에 블록 B의 시작 어드레스가 블록 B 내의 관련된 어드레스(40-45, 45-53, 5-1)에 연속적으로 더해진다. 이는 블록 C와 D에 대해서 계속된다.
제6도는 동일한 순서를 보여주지만, 이 경우는 메모리 위치가 고려된다. 즉, 앞 문단에서 언급된 바와 같이, 블록 A, B, C, D와 각 블록 내에서 화소의 상대 위치가 찾아진다.
크기 V가 4보다 확실히 큰 블록이 처리되는 경우에, 본 발명에 따른 어드레싱 장치는 “비트 맵” 어드레싱에서 보다 더 빠른 방법으로 H*V 크기의 이동이 보상된 블록을 액세스할 수 있게 하고, 메모리 블록에 정확히 대응하는 블록을 액세스할 수 있게 하며, 이 액세스는 값 H 및 V에 관계없이 더 빠르다.
후술할 장치는 메모리의 특정한 어드레싱에 관련된 어드레싱 방법을 동작하게 하는 것에 대응한다. 이 특정한 어드레싱(행당, 블록당, …)은 어드레스 계산이 필수적으로 실현되기에 적합하도록 된 특별한 장치의 사용을 가능하게 한다.
이동이 보상된 블록의 처리를 위해, 제5도에 나타난 블록과 같이 수평 방향으로 DX 만큼 시프트되고 수직 방향으로 DY 만큼 시프트된 메모리 블록의 어드레스와 같은 시작 어드레스를 갖는 블록에 관련된 화소의 어드레스를 발생시키기 위한 어드레싱 장치가 사용된다. 여기에서 E는 블록 A에 대하여 DX=+6과 DY=+5로 이동이 보상된 블록이다. 이 장치는 제7도를 참고로 설명된다. 입력에서 이 장치는 NBLOCH 및 NBLOCV, 즉 제4도 회로의 모듈(17, 18)에 의해 계산된 수직 및 수평 방향의 블록 수 H*V와 이동이 보상된 블록의 수평 및 수평 방향의 변위 또는 시프트 DX, DY를 수신한다. 이는 이동이 보상된 블록을 수신하기 위한 버퍼 메모리 내의 동일한 화소의 열 및 행 어드레스 BUFADRH와 열 BUFADRV 뿐 아니라 저장된 화소의 행 및 열 어드레스 ADRX와 ADRY를 발생시킨다.
블록 동기화 신호 CBLK를 수신하자마자, 제8도에서 더 자세히 도시된 장치 CNTRBLK는 카운터 CNTR (27, 28)에서 현재 블록 번호를 계산한다. 이 번호는 값 NBLOCH 및 NBLOCV에 대해, 비교기(29, 30)에서 수평 및 수직 방향으로 비교된다. 상기 비교기(29)는 화상의 각 라인의 끝부분에서 0으로 카운터(27)를 리셋하며, 동시에 1만큼 카운터(28)를 증분한다. 상기 비교기(30)는 화상의 마지막 블록이 처리되는 것을 표시하는 신호 FINIMA를 발생한다. 장치 CNTRBLK는 제4도의 장치에서 실행되는 것과 같이, 현재 블록의 개시 어드레스 ADBLOCH, ADBLOCV를 발생시키지만, 여기에서는 화소 어드레스 x, y로 부터가 아니라 블록 동기화 신호로부터 발생시킨다.
장치 OFCAL은 이동 보상 때문에 현재 블록의 블록 및 화소 어드레스에 더해지는 블록 OFBLKX, OFBLKY의 시프트 또는 “오프셋” 및 화소 OFPELK, OFPELY의 시프트 또는 “오프셋”을 계산하는 것을 그 과제로 하며 제9도에 도시되어 있다. 이는 기준 블록에 대해 시프트된 블록의 수평 방향 시프트 값 DX를 표시하는 2진 워드의 m 개의 최하위 비트를 분리하는 블록 OP(31)과 기준 블록에 대해 시프트된 블록의 수직 방향 시프트 값 DY를 표시하는 2진 워드의 p 개의 최하위 비트를 분리하는 블록 OP(37)에 의해 구성된다. 최하위 비트는 값 OFPELX 및 OFPELY를 공급한다. 상기 시프트 DX 및 DY는 본 장치와는 독립적인(그리고 본 발명의 일부가 아닌) 이동 검출 장치에 의해 공급되며, 이 장치가 산출하는 시프트는 8화소를 넘을 수도 있어, 시프트된 블록이 그 시작점을 기준 블록의 외부에 가질 수도 있게 된다(달리 말하면, “g-m”이 0이 아니다).
블록 E(제5도)의 복구를 위해, 블록 A, B, C 및 D에 위치한 화소를 액세스하는 것이 필요하다. 이 때문에, addx 및 addy로 표시되는 2개의 비트가 네 개의 구획 A, B, C, D 중 어느 것에 작용하는지를 지시하기 위한 역할을 한다. 이들 비트 addx 및 addy는 시프트값 OFPELX 및 OFPELY와, A로부터 B에 이르는 경로와 C로부터 D에 이르는 경로 동안의 블록 변화를 지시하는 동기화 신호 CK로부터 결정된다. 이러한 목적을 위해 사용된 매우 단순한 회로(제7도)는 신호 CK를 계산하는 카운터(37)에 의해 구성된다. 이 카운터는 0에서 3까지 센 후에 다시 0으로 내려간다. 결과적으로 계산된 수는 두 개의 비트로 나타난다. 카운터(37)의 출력에서, 최하위 비트는 addx에 관계되며 최상위 비트는 addy에 관계된다. 따라서, 블록 A를 액세스하는 동안, addx 및 addy는 0의 값을 가지며, 블록 B의 액세스 동안에는 addx는 1을 갖고 addy는 0을 가진다. 블록 C의 액세스 동안에, addx는 0이고 addy는 1을 가지며, 마지막으로 블록 D의 액세스 동안에는, addx 및 addy 1을 가진다. 시프트가(한방향 또는 다른 방향으로) 블록 수의 합과 정확히 같게되는 경우를 고려해볼 때, 2진 워드 OFPELX 또는 OFPELY중 하나의 비트는 0이 되며, 이들 값 OFPLEX 및 OFPLEY는 각각 OR-게이트(33, 39)의 입력(각 워드의 비트 수만큼의 입력이 있다)에 병렬로 전송되는 바, 이 게이트(35, 39)의 출력 신호는 각각 AND-게이트(40, 41)의 제어 입력에 전송되고, 비트 addx 및 addy가 유효하게 될 각 게이트(40, 41)를 통과한다.
마지막으로, 비트 addx 및 addy는 모듈 “x”(제9도)에 의해 각각 모듈(31, 32)의 출력 값(최상위 비트)에 가산되어 OFBLKX 및 OFBLKY가 공급되게 된다.
제10도에 보다 상세히 도시된 장치 NUMBLK는, 수직 방향의 기준 블록의 어드레스 값(ADBLOCV)과 수직 방향으로 시프트된 블록의 시프트 값(OFBLKY)을 더하는 제1 가산기(33)와, 제1 가산기에 의해 산출된 결과에 수평 방향의 각 화상의 블록수(HBLOCH) 값을 곱하는 승산기(34)와, 수평 방향의 기준 블록의 어드레스 값(ADBLOCH)과 수평 방향으로 시프트된 블록의 시프트 값(OFPELX)을 더하는 제2 가산기(35) 및 제2 가산기에 의해 산출된 값과 승산기에 의해 산출된 값을 더하는 제3 가산기(36)로 구성된다.
제11도에 보다 상세히 도시된 장치 GENADR은 이동이 보상된 블록 내에서 화소의 상대 어드레스를 발생시키는 기능을 한다. 또한 제5도 및 제6도를 참조할 수 있는데, 제5도 및 제6도는 시프트된 화상 블록이 속하는 각 메모리 블록의 장치 GENDAR에 의해 발생될 어드레스들의 순서를 설명하는데 이용될 수 있는 예를 보여주고 있다. 도시되지 않았으며, 또한 본 발명의 부분을 형성하지 않고, 본 기술 분야에서 통상의 지식을 가진 자이면 쉽게 이해할 수 있는 제어 장치는 동작 섹션에 대해 제어 신호를 발생시키는 기능을 하는 바, 신호 CPELX, CPELY, CPELH 및 CPELV는 카운터 A, B, C 및 D를 각각 증분시키는 클록 신호이고, 신호 LOADX, LOADY, LOADH 및 LOADV는 카운터 A, B, C 및 D에 각각 초기값을 로딩하는 신호이며, 신호 SELDEPX, SELDEPY, SELDEPH 및 SELDEPV는 멀티플렉서 MUX에 의해 전송되는 변수의 선택을 제어하는 신호인데, 이 변수는 0이거나 또는 OFPELX, OFPELY, OFPELX의 2의 보수 및 OFPELY의 2의 보수이다.
먼저, 모두 블록 A에 있는 동일한 메모리 행에 위치된 화소 46, 47, 54, 55, 62 및 63을 액세스한다. 이를 위해서, 카운터 A CNTR에는 신호 SELDEPX와 LOADX에 따라 값 OFPELX가 로딩되고, 이와 유사하게 신호 SEPDEPY와 LOADY에 따라 카운터 BCNTR에는 값 OFPELY가 로딩된다. 신호 SELDEPH, SELDEPV, LOADH 및 LOADV의 경우에 대해서도 같은 방식으로 카운터 C CNTR과 카운터 D CNTR에 도면에서 “0”으로 표시된 것과 같이 0이 로딩된다. 메모리 내에서 액세스된 각각의 새로운 화소에서 카운터 A CYTR과 카운터 C CNTR이 증분된다. 카운터 A CNTR의 계수값이 H에 도달할 때, OVERFX가 1로 세트되어 이 결과 카운터 B CNTR과 카운터 D CNTR이 증분되고, 카운터 A CNTR에 OFPELX가 로딩되고 카운터 C CNTR에 0이 로딩되는 한편 카운터 A CNTR 및 카운터 C CNTR을 다시 증분시키기 시작하는 바, 이 주기는 OVERFY를 1로 세트하도록 카운터 B CNTR의 계수가 V에 도달할 때까지 연속된다. 이 경우에, 블록 A 내에서 액세스하고자 하는 모든 화소가 얻어져, 카운터 C CNTR 및 카운터 D CNTR에 의해 공급되는 어드레스의 일시적인 버퍼 저장장치에 배열된다.
그리고 나서, 블록 B의 화소들에 대한 어드레스를 수행한다. 이를 위해서, 먼저 제어 신호 SELDEPX 및 LOADX에 따라 카운터 A CNTR에 0이 로딩되고, 카운터 B CNTR과 카운터 D CNTR에 블록 A의 액세스의 경우에서와 같은 방식으로 로딩이 실행된다. 카운터 C CNTR에는 제어 신호 SELDEPH 및 LOADH에 따라 OFPELX의 2의 보수가 로딩되고, 카운터 B CNTR의 계수값이 V보다 크거나 같을 때까지 블록 A를 액세스하는 절차와 유사한 반복적인 절차가 발생된다. 그 후, 블록 C의 화소들은, 카운터 C CNTR 및 카운터 B CNTR에 0을 로딩하고, 카운터 A CNTR에 OFPELY를 로딩하고 카운터 D CNTR에 OFPELY의 2의 보수를 로딩함으로써 액세스되며, 카운터 D CNTR의 계수값이 V보다 크거나 같을 때까지 반복적인 절차가 다시 발생한다.
마지막으로, 블록 D의 화소들은 카운터 A CNTR 및 카운터 B CNTR에 0을 로딩하고, 항상 동일한 제어 신호에 따라 카운터 A CNTR 및 카운터 C CNTR에 각각 OFPLEX와 OFPLEY의 2의 보수를 로딩함으로써 액세스되며, 카운터 D CNTR의 계수값이 V보다 크거나 같을 때까지 반복적인 절차가 다시 발생하는바, 이는 관련 화소 블록으로의 액세스를 종결짓는다.
카운터 C 및 D는 같은 방식으로 동작하므로 이들 모드들을 구체적으로 설명할 필요는 없다. 즉, 상기한 X 또는 Y로 표시된 신호들을 H 또는 V로 표시된 신호로 대치하고, 카운터들에 로딩될 초기값들이 기준 2/COMPL을 갖는 모듈에 의해 발생되는 OFPELX 및 OFPELY의 2의 보수임을 나타냄으로써 충분하다. 이들 카운터들은 시프트된 블록네의 화소와 관계되는 어드레스인 값 BUFADRH 및 BUFADRV를 공급하며, 블록의 처리에 사용되는 버퍼 메모리에 대해 어드레스하는 것을 가능하게 한다.
장치 GENADR의 동작 모드는 제12도로 설명되는데, 여기에 본 장치와 관계되며, 제5도 및 제6도에 보인 예에 대응하는 제어 신호들이 나타나 있다. 신호 CPELX는 클록 신호로서 주기가 화소의 처리 시간과 대응한다. 라인 MUXX는 승산기의 동작을 나타내는 것으로서, 이 승산기의 출력은 블록 A의 6개의 화소(46, 47, 54, 55, 62, 63)에 대응하는 6주기 동안 OFPELX (=+6)로 설정되고, 다른 블록 B 및 D의 경우에는 0으로 설정되며, 블록 C의 경우에는 위치 OFPELX로 세트된다. 신호 LOADX는 블록 A의 화소(46) 전, 블록 A의 화소 전, 블록 B의 화소(40) 전 등에 카운터 A CNTR에 승산기의 승산값이 로딩되는 것을 제어한다. 신호 AVERFX는 카운터 A CNTR의 계수값이 8(=H)(즉, 6에서 초기화된 후 두 시간 주기 후)에 도달될 때 트리거(trigger)되며, 마지막으로 라인 ADRELH는 결과 즉, 기준 블록 내의 화소인 블록 A의 화소(46, 47, 54, 55, 62, 63)와 블록 B의 화소(40-46, 48) 등과 관계되는 어드레스를 지시한다. 수직 방향의 상대 어드레스와 관계되는 연속된 라인들은 신호 LOADX와 일치하여 클록 CPELY가 트리거되는 것을 제외하고는 상기와 같은 방식으로 설명될 수 있다. 예컨데, 블록 B에서 화소(45)로부터 화소(45)로 진행될 때, 값 “48”은 카운터 A CNTR로 로딩되고 동시에 카운터 B CNTR이 증분되어야만 한다.
블록에서 수평 및 수직 좌표에 근거하여 화소에 관련되는 어드레스를 형성하는 장치 BLKADREL과 블록 번호와 블록 내의 화소의 상대 어드레스에 근거하여 각 화소의 어드레스를 형성하는 기능을 갖는 장치 MEMADR은 제4도에서 도시된 동일한 참조번호를 갖는 것과 동일하다.
0의 시프트가 있는 경우, 상술된 장치는 항상 동일한 메모리 블록 내에 위치하는 화소의 어드레스가 발생됨으로써 상당히 간단하게 될 수 있다. 이동이 보상된 블록의 어드레스를 계산하기 위한 상술된 장치와 유사한 구조를 갖는 제13도에서 도시된 것과 같은 어드레싱 장치가 사용된다. 모듈 CNTRBLK, NUMBLK, MEMADR, OP는 상술된 같은 참조번호를 갖는 모듈과 동일하다. 모듈 ADRBLK는 제14도에서 상세히 도시된다. 이는 클록 신호 CPEL에 응답하여 카운트다운하고, 제어신호 LOAD의 작용하에서 H*V 값으로 초기화되는 다운카운터로 구성된다. 공급되는 계수값은 ADREL이며 이는 신호 OVERF를 공급함으로써 최대 계수 용량에 도달되었음을 표시한다.
Claims (10)
- 화상 처리 시스템의 메모리 내의 기억을 관리하는 방법에 있어서, 상기 메모리는 동적이며, 행렬로 구성되어 있고, 버스트형으로 액세스할 수 있으며, 화상들은 블록 단위로 처리되고, 각각의 블록은 정사각형 또는 직사각형이며 수평 및 수직 방향으로 각각 복수의 화소를 포함하며, 블록내의 화소들은 블록내의 연속적인 병렬 라인 내에서 화소들을 차례로 고려함으로써 기재되고, 화소의 수로 표시되는 블록의 수평 및 수직 크기는 2의 정수 제곱이며, 메모리 내에서 : - 블록의 라인들이 메모리의 동일한 열에 차례로 들어가도록 블록의 다른 화소들은 메모리의 연속적인 위치로 들어가고, - 복수의 블록의 기재는 메모리의 같은 열에 차례로 그 번호 순으로 저장되며, - 주어진 화소를 포함하는 블록 번호는 화상 내의 그 화소의 x, y 좌표로부터 계산되며, 상기 계산은 - 수평 좌표를 블록의 수평 크기로 정수 제산하여, 화소를 포함하는 블록의 화상 내 수평 위치를 공급하고, - 수직 좌표를 블록의 수직 크기로 정수 제산하여 수직 위치를 공급하며, - 상기 수평 위치가 상기 수직 위치와 화상의 라인당 블록 수를 곱한 것에 더해져서 결과적으로 블록 번호를 공급하여 이루어지는 것을 특징으로 하는 화상 처리 시스템의 메모리 내의 기억 관리 방법.
- 제1항에 있어서, - 다른 블록들의 내용은 열 어드레스를 그 최대값까지 증분함으로씨 메모리 내에 저장되고, - 그 후에 상기 어드레스는 0으로 조정되고, 행 어드레스가 증분되며, 이를 되풀이하는 것을 특징으로 하는 화상 처리 시스템의 메모리 내의 기억 관리 방법.
- 제1항에 있어서, 정수 제산의 결과로 차수가 상기 2의 제곱보다 높은 비트를 공급하며, 모듈로 동작의 결과로 차수가 상기 동일한 2의 제곱보다 낮거나 같은 비트를 공급하는 이분법에 의해 2진 워드로 나타나는 값들에 대한 동작이 수행되는 것을 특징으로 하는 화상 처리 시스템의 메모리 내의 기억 관리 방법.
- 버스트형으로 액세스되는 행렬로 구성되고 블록 단위로 처리되는 화상을 저장하기 위한 동적 메모리가 제공되는 장치에 있어서, 각 블록은 다수의 화소로 표시되는 수평 또는 수직 치수(H, V)가 각각 2의 정수(m, p) 제곱인 정사각형 또는 직사각형이며, 블록내에 포함된 화소들의 기재는 상기 블록내의 연속 병렬 라인들에 대하여 상기 화소들을 고려함으로써 실행되며, 각 블록의 완전한 기재는 블록의 기재 순으로 메모리 내에 저장되고, 블록들은 차례로 메모리 내에 저장되며, 상기 장치는, x, y 값을 나타내는 2진 워드로부터 각각 m 및 p보다 높은 차수의 비트를 추출하는 두 개의 요소(material) 연산자(OP11, OP12)에 의해 형성되며, 상기 블록의 화소의 x. y 좌표로부터 메모리 내의 블록 번호(NUMBLOC)를 계산하는 수단과, 한편으로는 각 화상 라인의 블록 수(NBLOCH)가, 다른 한편으로는 y를 나타내는 2진 워드로부터 상기 연산자들 중 하나에 의하여 추출된 비트들(이 비트들은 화소를 포함하는 블록의 화상 내에서의 수직 좌표(ADBLOCV)를 나타낸다)에 의해 형성된 2진 워드가 승수로 인가되는 승산기(19)와, 한편으로는 상기 승산기로부터의 결과가, 다른 한편으로는 x를 나타내는 2진 워드로부터 상기 다른 연산자에 의해 추출된 비트들(이 비트들은 화소를 포함하는 블록의 화상 내에서의 수평 좌표(ADBLOCH)를 나타낸다)에 의해 형성된 2진 워드가 더해지기 위하여 인가되는 가산기(20)를 포함하는 것을 특징으로 하는 장치.
- 버스트형으로 액세스되는 행렬로 구성되고 블록 단위로 처리되는 화상을 저장하기 위한 동적 메모리가 포함된 장치에 있어서, 각 블록은 다수의 화소로 표시되는 수평 또는 수직 치수(H, V)가 각각 2의 정수(m, p) 제곱인 정사각형 또는 직사각형이며, 블록내의 화소들의 기재는 상기 블록내의 연속 병렬 라인들 내에서 상기 화소들을 고려함으로써 실행되며, 각 블록의 완전한 기재는 블록의 기재 순으로 메모리 내에 저장되고, 블록들은 차례로 메모리 내로 들어가며, 상기 장치는 화상 내에서의 x, y 좌표로부터 블록내의 화소의 상대 어드레스(ADREL)를 계산하는 수단을 포함하며, 상기 수단은 x 및 y 값을 나타내는 2진 워드로부터 각각 최하위 p 및 m 비트를 추출하는 두 개의 요소 연산자(OP11, OP12)에 의해 형성되며, 블록들의 추출된 두 그룹은 다른 요소 연산자(CONC)로 인가되어, 상기 다른 요소 연산자는 상기 두 연산자 중 하나에 의해 y로부터 추출된 비트 그룹(ADRELV)을 m 비트만큼 왼쪽으로 시프트하고, 이를 상기 두 연산자 중 다른 것에 의해 x로부터 추출된 비트 그룹(ADRELH)과 연결하는 것을 특징으로 하는 장치.
- 버스트형으로 액세스되는 행렬로 구성되고 블록 단위로 처리되는 화상을 저장하기 위한 동적 메모리가 제공되는 장치에 있어서, 각 블록은 다수의 화소로 표시되는 수평 또는 수직 치수(H, V)가 각각 2의 정수(m, p) 제곱인 정사각형 또는 직사각형이며, 블록내에 포함된 화소들의 기재는 상기 블록내의 연속 병렬 라인들에 대하여 상기 화소들을 고려함으로써 실행되며, 각 블록의 완전한 기재는 블록의 기재 순으로 메모리 내에 저장되고, 블록들은 차례로 메모리 내에 저장되며, 메모리에 대한 액세스는 블록의 시작 어드레스를 기초로 하여 조직되며, 상기 장치는 화소를 포함하고 있는 블록 번호(NUMBLOC)와 블록 내의 화소의 상대 어드레스(ADREL)로부터 메모리 내의 화소의 행 및 열 어드레스(ADRX, ADRY)를 계산하는 수단을 포함하며, 상기 수단은 블록 번호(NUMBLOC)를 나타내는 2진 워드 내에서 “e” 최하위 비트를 분리하는 연산자(OP2l)에 의해 구성되며, 여기에서 “e”는 2의 “e” 제곱이 각 메모리 행의 블록 수와 같은 정수이고, 이 “e” 비트는 연결 요소(CONC 22)로 전달되어 왼쪽으로 시프트되고 블록 내의 상대 어드레스를 나타내는 비트(ADREL)와 연결되어, 수평 방향에서 탐색된 어드레스 성분(ADRX), 즉 메모리 열의 수와 수직 방향에서 탐색된 어드레스 성분(ADRY)을 공급하는 다른 비트(이는 “e”보다 상위에 있다), 즉 메모리 열의 수를 공급하는 것을 특징으로 하는 장치.
- 버스트형으로 액세스되는 행렬로 구성되고 블록 단위로 처리되는 화상을 저장하기 위한 동적 메모리가 제공되는 장치에 있어서, 화상은 블록들의 네트워크로부터 연속적으로 형성되고, 각 블록은 다수의 화소로 표시되는 수평 또는 수직 치수(H, V)가 각각 2의 정수(m, p) 제곱인 정사각형 또는 직사각형이며, 블록내에 포함된 화소들의 기재는 상기 블록내의 연속 병렬 라인들에 대하여 상기 화소들을 고려함으로써 실행되며, 각 블록의 완전한 기재는 블록의 기재 순으로 메모리 내에 저장되고, 상기 네트워크의 블록에 대해 시프트된 화상의 블록 내에 포함된 화소들의 메모리 내의 어드레스(ADRELH, ADRELV)를 계산하기 위하여 블록들은 차례로 메모리 내에 저장되며, 상기 계산은 화상 내에서 수평 방향으로 포함된 블록 수(NBLOCH)를 앎으로써 기준 블록이 되는 네트워크의 상기 블록(A)의 어드레스(ADBLOCH, ADBLOCV)와 상기 기준 블록에 대해 시프트된 블록의 시프트(DX, DY)로부터 이루어지며, 상기 장치는 하나 또는 복수의 다음의 어셈블리 즉, - 시프트된 블록의 시프트(DX, DY)로부터 블록이 기준 블록(A)에 관하여 수평 및 수직 방향으로 얼마나 멀리 시프트되었는지(OFBLKX, OFBLKY)를 계산하고, 상기 블록의 상대 위치(OFPELX, OFPELY)를 이 블록의 시작점을 포함하고 있는 네트워크 블록(B)에 관하여 수평 및 수직 방향으로 계산하는 제1 수단(OFCAL). - 시프트된 블록의 시프트(OFBLKX, OFBLKY), 기준 블록의 어드레스(ADBLOCH, ADBLOCV) 및 수평 방향의 각 화상의 블록 수(NBLOCH)로부터, 시프트된 블록의 시작점을 포함하는 화상 내의 블록(B) 번호(NUMBLOC)를 계산하는 제2 수단(NUMBLK). - 블록 번호가 상기 수단(NUMBLK)에 의해 공급되는 블록 내의 화소에 대한 어드레스의 두 성분(ADRELH, ADRELV)을 발생시키는 제3 수단(GENADR). - 메모리 블록내의 관련 “선형” 어드레스(ADREL)를 제공하기 위하여, 상기 어드레스의 수직 성분(ADRELV)의 비트들을 상기 화소에 대하여 왼쪽으로 시프트하고, 상기 관련 어드레스의 수평 성분(ADRELH)의 비트와 연결하는 제4 수단(BLKADREL). - 블록 번호(NUMBLOC)를 가리키는 2진 워드 내에서 최하위 “e” 비트를 분리하는 연산자(OP)로 구성되며, 여기에서 “e”는 2의 “e” 제곱이 각 메모리 행의 블록수와 같은 정수이고, 이 “e” 비트는 연결 요소(CONC 22)로 전달되어 왼쪽으로 시프트되고, 수평 방향에서 탐색된 어드레스 성분(ADRX)(메모리 열의 수)을 공급하기 위하여 상기 수단에 의하여 공급되는 비트들(ADREL)과 연결되고, 상기 2진 워드의 다른 비트들은 수직 방향에서 탐색된 어드레스 성분(ADRY)(메모리 열의 수)을 공급하는 제5 수단(MEMADR)을 포함하는 것을 특징으로 하는 장치.
- 제7항에 있어서, 상기 제1 수단(OFCAL)이 기준 블록에 대해 시프트된 블록의 수평 방향 시프트(DX) 값을 표현하는 2진 워드 내에서 최하위 m 비트를 분리하는 연산자(OP 31)와, 기준 블록에 대해 시프트된 블록의 수직 방향 시프트(DY) 값을 표현하는 2진 워드 내에서 최하위 p 비트를 분리하는 연산자(OP 32)로 구성되는 것을 특징으로 하는 장치.
- 제7항에 있어서, 상기 제2 수단(NUMBLK)이, 수직 방향의 기준 블록의 어드레스(ADBLOCV) 값과 수직 방향으로 시프트된 블록의 시프트(OFBLKY) 값을 합하는 제1 가산기(33), 수평 방향의 각 화상의 블록 수(NBLOCH) 값을 상기 제1 가산기에 의해 제공된 결과에 곱하는 승산기(34), 수평 방향의 기준 블록의 어드레스(ADBLOCH) 값과 수평 방향으로 시프트된 블록의 시프트(OFBLKX) 값을 합하는 제2 가산기(35) 및 상기 제2 가산기에 의해 제공된 값과 상기 승산기에 의하여 발생된 값을 합하는 제3 가산기(36)로 형성되는 것을 특징으로 하는 장치.
- 제7항에 있어서, 상기 제3 수단(GENADR)이 하나 또는 다수의 다음의 요소 그룹, 즉 - 0 또는 블록의 시작점을 포함하는 네트워크의 블록에 대해 시프트된 블록의 수평 방향의 상대 위치(OFPELX)의 값 중에서 선택된 값을 공급하기 위한 멀티플렉서(MUX)와, 상기 멀티플렉서에 의해 공급된 값으로 초기화되고 클록비(CPELX)로 상기 화소에 대한 어드레스의 수평 성분(ADRELH)을 공급하는 카운터(A CNTR)를 포함하는 그룹, - 동일한 방식으로 형성되어 수직 방향의 대응 요소를 처리하는 그룹(MUX, BCNTR), - 블록의 시작점을 포함하는 네트워크의 블록에 대해 시프트된 블록의 수평 방향의 상대 위치(OFPELX)의 값을 나타내는 2진 워드의 2의 보수를 공급하는 산술 장치(2′COMPL)와, 0 또는 상기 2의 보수에서 선택된 값을 공급하기 위한 멀티플렉서(MUX) 및 상기 멀티플렉서에 의해 공급된 값으로 초기화되고 클록비(CPELH)로 화소에 대한 어드레스의 수평 성분(BUFADRH)을 공급하는 카운터(C CNTR)를 포함하는 그룹 및 - 동일한 방식으로 형성되어 수직 방향의 대응 요소를 처리하는 그룹(2′ COMPL, MUX, D CNTR)으로 형성되는 것을 특징으로 하는 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9001241 | 1990-02-02 | ||
FR9001241A FR2657978A1 (fr) | 1990-02-02 | 1990-02-02 | Procede de stockage en memoire pour le traitement d'images, et dispositif pour la mise en óoeuvre du procede. |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920000057A KR920000057A (ko) | 1992-01-10 |
KR100233765B1 true KR100233765B1 (ko) | 1999-12-01 |
Family
ID=9393350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910001728A KR100233765B1 (ko) | 1990-02-02 | 1991-02-01 | 화상 기억 방법 및 그 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5239512A (ko) |
EP (1) | EP0440301B1 (ko) |
JP (1) | JP3133087B2 (ko) |
KR (1) | KR100233765B1 (ko) |
DE (1) | DE69127759T2 (ko) |
FR (1) | FR2657978A1 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2062200A1 (en) * | 1991-03-15 | 1992-09-16 | Stephen C. Purcell | Decompression processor for video applications |
US5815646A (en) * | 1993-04-13 | 1998-09-29 | C-Cube Microsystems | Decompression processor for video applications |
JP3001763B2 (ja) * | 1994-01-31 | 2000-01-24 | 富士通株式会社 | 画像処理システム |
SG65064A1 (en) | 1997-04-09 | 1999-05-25 | Matsushita Electric Ind Co Ltd | Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media |
EP0929037A1 (en) * | 1998-01-07 | 1999-07-14 | Matsushita Electric Industrial Co., Ltd. | Data transfer device and data transfer method |
US6300964B1 (en) * | 1998-07-30 | 2001-10-09 | Genesis Microship, Inc. | Method and apparatus for storage retrieval of digital image data |
EP1289154A1 (en) * | 2000-05-22 | 2003-03-05 | Yozan Inc. | Address converter, interleaver and de-interleaver |
JPWO2005109205A1 (ja) * | 2004-04-15 | 2008-03-21 | 松下電器産業株式会社 | 情報処理装置およびデータアクセス方法 |
JP4893822B2 (ja) * | 2007-03-20 | 2012-03-07 | 富士通株式会社 | 半導体集積回路および半導体メモリのアクセス制御方法 |
WO2011108016A1 (en) | 2010-03-03 | 2011-09-09 | Sauro Bianchelli | Innovative domestic appliance with dual function |
WO2011161723A1 (ja) * | 2010-06-24 | 2011-12-29 | 富士通株式会社 | 描画装置および描画方法 |
US9996500B2 (en) * | 2011-09-27 | 2018-06-12 | Renesas Electronics Corporation | Apparatus and method of a concurrent data transfer of multiple regions of interest (ROI) in an SIMD processor system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0085210A1 (en) * | 1982-01-29 | 1983-08-10 | International Business Machines Corporation | Image processing system |
GB2199678B (en) * | 1987-01-13 | 1990-11-14 | Ferranti Plc | Pixel memory arrangement for information display system |
US5131080A (en) * | 1987-08-18 | 1992-07-14 | Hewlett-Packard Company | Graphics frame buffer with RGB pixel cache |
-
1990
- 1990-02-02 FR FR9001241A patent/FR2657978A1/fr active Pending
-
1991
- 1991-01-30 EP EP91200185A patent/EP0440301B1/fr not_active Expired - Lifetime
- 1991-01-30 DE DE69127759T patent/DE69127759T2/de not_active Expired - Fee Related
- 1991-01-31 US US07/649,518 patent/US5239512A/en not_active Expired - Lifetime
- 1991-02-01 KR KR1019910001728A patent/KR100233765B1/ko not_active IP Right Cessation
- 1991-02-02 JP JP03031485A patent/JP3133087B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR920000057A (ko) | 1992-01-10 |
FR2657978A1 (fr) | 1991-08-09 |
DE69127759D1 (de) | 1997-11-06 |
EP0440301A1 (fr) | 1991-08-07 |
US5239512A (en) | 1993-08-24 |
JPH04213775A (ja) | 1992-08-04 |
EP0440301B1 (fr) | 1997-10-01 |
DE69127759T2 (de) | 1998-03-26 |
JP3133087B2 (ja) | 2001-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4210931A (en) | Video player and/or recorder with Hadamard transform | |
KR100233765B1 (ko) | 화상 기억 방법 및 그 장치 | |
US4821208A (en) | Display processors accommodating the description of color pixels in variable-length codes | |
US4598372A (en) | Apparatus and method of smoothing MAPS compressed image data | |
US4712140A (en) | Image reduction method | |
EP0587443B1 (en) | Image processor and method | |
JPH05224892A (ja) | 自乗回路 | |
US4747154A (en) | Image data expanding and/or contracting method and apparatus | |
US6104836A (en) | Computer architecture for video data processing and method thereof | |
KR0122741B1 (ko) | 병렬 구조를 갖는 기억 장치 | |
US4845640A (en) | High-speed dual mode graphics memory | |
EP0480564B1 (en) | Improvements in and relating to raster-scanned displays | |
JP3271151B2 (ja) | デジタルビデオデータの記憶装置 | |
CA2058585C (en) | Signal processing system including two-dimensional array transposing | |
US4852065A (en) | Data reorganization apparatus | |
JPS642993B2 (ko) | ||
EP0130340B1 (en) | Memory mapping and readout system | |
US5140544A (en) | Divide-by-five divider | |
JPS6252874B2 (ko) | ||
US6195463B1 (en) | Multiresolution image processing and storage on a single chip | |
JP2677954B2 (ja) | メモリシステム | |
GB2160685A (en) | Data reorganisation apparatus | |
US5638094A (en) | Method and apparatus for displaying motion video images | |
JP3028548B2 (ja) | デジタル画像信号処理装置 | |
JPS60198652A (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: 20050830 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |