KR101149883B1 - 데이터 처리 장치 - Google Patents

데이터 처리 장치 Download PDF

Info

Publication number
KR101149883B1
KR101149883B1 KR1020067026359A KR20067026359A KR101149883B1 KR 101149883 B1 KR101149883 B1 KR 101149883B1 KR 1020067026359 A KR1020067026359 A KR 1020067026359A KR 20067026359 A KR20067026359 A KR 20067026359A KR 101149883 B1 KR101149883 B1 KR 101149883B1
Authority
KR
South Korea
Prior art keywords
data
bit
bits
data bits
result value
Prior art date
Application number
KR1020067026359A
Other languages
English (en)
Other versions
KR20070030834A (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 실리콘 하이브 비.브이.
Priority claimed from PCT/IB2005/051883 external-priority patent/WO2005124534A2/en
Publication of KR20070030834A publication Critical patent/KR20070030834A/ko
Application granted granted Critical
Publication of KR101149883B1 publication Critical patent/KR101149883B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

비트-평면 추출 동작을 갖는 프로그래밍 가능한 데이터 처리 장치가 설명되는데, 이 장치는 예를 들면 1a부터 1d까지의 4 바이트를 포함하는 32 비트의 값으로부터 데이터를 추출하기 위한 것이다. 1a부터 1d까지의 각 바이트는 8 비트(제각기, a0 - a7, b0 - b7, c0 - c7 및 d0 - d7)를 포함한다. 비트-평면 추출 동작은 이러한 바이트의 각각으로부터 하나의 비트를 재생하는데, 이 비트는 예를 들면 인수(argument)에 의해 지정되는 제2 비트(a1, b1, c1, d1)이다. 이 동작은 이러한 비트(a1, b1, c1, d1)를 결합하고, 결과 값(5)을 반환하는 것을 수반한다. 특별한 데이터 처리 응용에 따라, (예를 들면, 만약 비트-역전이 엔디안을 처리하기 위해 요구되거나 다른 이유들이 있다면) 결과 값은 결과 값(7)을 제공하기 위해 비트가 역전될 수 있다. 비트-평면 추출 동작은 비디오 데이터의 처리에서 "절대 차이의 합"과 같은 데이터 처리 동작에서 사전-처리 동작으로서 사용될 수 있다.

Description

데이터 처리 장치{DATA PROCESSING APPARATUS}
본 발명은 프로그래밍 가능한 데이터 처리 장치에 관한 것이고, 특히 비디오 데이터와 같은 데이터를 처리하기 위한 비트-평면 추출 동작을 갖는 프로그래밍 가능한 데이터 처리 장치에 관한 것이다.
비디오 분야에서, 픽셀은 데이터의 하나 또는 다수의 바이트에 의해 일반적으로 표현된다. 예를 들면, MPEG 비디오 인코딩을 위해 사용된 디폴트 포맷에서, 픽셀은 그 휘도 성분을 하나의 바이트로 저장시키는 것에 의해 저장된다. 픽셀의 크로미넌스 부분은 두 바이트로서 저장되지만, 이 값들은 동일한 시간에 다수의 픽셀을 위해 공유된다. 만약 휘도 부분이 고려되면, 바이트는 8개의 개별 비트로 이루어지고, "비트-평면"으로서 참조된다.
MPEG 비디오 인코딩의 주요 부분은 동작 추정으로 이루어지고, 이 추정은 비트-평면을 기준으로 수행될 때 매우 효과적으로 계산된다. 비트 평면 기준으로 수행될 때, "절대-차이의 합"의 연산은 배타적-or-연산만을 수반하며, 이는 결과 값의 비트를 계수하는 것이 이어지며, 이러한 계수는 DSP 처리기에서 단일 명령어로서 지원된다. 사전-처리 단계 동안, 비트-평면은 비디오 스트림으로부터 추출되어야 한다. 이러한 서전-처리 단계는 4개의 패킹된 바이트를 포함하는 32 비트 값에 서 각 바이트로부터 특정 비트를 추출하는 것을 수반한다. 소프트웨어로 비트-평면 추출 연산을 수행하는 것은 4-비트 결과 값(r)을 얻기 위해 (의사 C 언어로 보여진) 다음 연산을 수반한다.
결과, r = bpext(x,y)
여기서,
x = 4개의 패킹된 바이트를 포함하는 32 비트 값
y = 추출된 비트를 참조하는 0과 7 사이의 정수 값
비트-평면 추출 연산은 다음 연산을 포함한다:
unsigned bpext_big(unsigned x, unsigned y)
{
unsigned t0 = x>>y;
return (t0 & 0x00000001)|
((t0 & 0x00000100)>>7|
((t0 & 0x00010000)>>14)|
((t0 & 0x01000000)>>21);
}
상기 설명된 비트-평면 추출 연산이 이제 도 1을 참조해서 보다 상세히 설명 될 것이다. 먼저, 단계(101)에서, 값(x)이 y 위치(즉, "y"는 추출될 비트를 나타내는 수치이다) 상에서 이동되어, 그 결과 추출될 비트가 모두 동일한 위치에 있다. 그러면, 단계(103)에서, 하나의 비트가 AND 연산을 사용해서(예를 들면, 제1 비트에 대해 t0 & 0x00000001) 추출된다. 이것이 단계(105)에서 단계(107)까지 반복되어 n번째 비트가 추출될 때까지(이 예에서 "n"은 4이다) 각각의 다른 바이트로부터 관련 비트를 추출한다. 그러면, 단계(109)에서, 추출된 비트는 (최종 결과에서 비트의 마지막 위치에 대응하는) 타겟 비트 위치로 이동되고, 단계(111)에서 함께 OR 연산된다.
픽셀 데이터는 "빅 엔디안" 포맷 또는 "리틀 엔디안" 포맷에서 배열될 수 있다. 빅 엔디안 포맷에서, 바이트는 최상위 바이트가 먼저 배열되고, 한편 리틀 엔디안 포맷에서 바이트는 최하위 바이트가 먼저 배열된다. 그러므로, 픽셀 데이터의 엔디안에 따라, 또는 참으로 다른 이유에서 결과 비트를 역전하는 것이 바람직할 수 있다.
비트를 역전하는 방법의 하나의 구현 예가 아래에 보여진다:
unsigned bpext_reverse(unsigned x, unsigned y)
{
unsigned r = bpext(x,y);
return ((r&1)<<3)|((r&2)<<1)|((r&4)>>1)|((r&8)>>3);
}
상기 보여진 명령어 코드는 개별 비트를 선택하고, 이 비트를 그 역전된 위 치로 이동시켜서, 비트 0은 비트 3이 되고((r&1)<<3), 비트 1은 비트 2가 되고((r&2)<<1), 나머지 비트도 마찬가지이고, 이 비트는 다시 함께 OR 연산된다.
상기 예가 패킹된 데이터로부터 단지 단일 비트를 어떻게 선택하는 가를 도시하는 것이 주목된다. 하지만, 하나 보다 많은 비트가 또한 추출될 수 있으며, 예를 들면, 바이트 당 또는 데이터 요소당 두 개의 비트를 선택하고, 이 비트를 8개의 비트 결과 값으로 연결시킨다.
프로그래밍 가능한 데이터 처리기 상에서 상기 설명된 비트-평면 추출 연산을 수행하기 위해, 비트-평면 추출 연산은 다수의 (비-전용의) 연산의 실행을 수반한다. 이것은 성능과 전력 소모의 견지 모두에서 단점을 갖는다.
그러므로, 본 발명의 목적은 상기 언급된 단점을 가지지 않는 비트-평면 추출 연산을 갖는 프로그래밍 가능한 데이터 처리 장치를 제공하는 것이다.
본 발명의 제1 양상에 따라, 데이터를 처리하기 위한 프로그래밍 가능한 데이터 처리 장치가 제공되고, 상기 데이터 처리는 패킹된 데이터 비트상의 비트-평면 추출 동작을 수행하는 작업을 포함하고, 상기 패킹된 데이터 비트는 복수의 데이터 요소를 포함하고, 각 데이터 요소는 복수의 데이터 비트를 가지며, 상기 장치는:
- 상기 데이터 요소의 각각으로부터 데이터 비트를 선택적으로 추출하기 위한 추출 수단과,
- 결과 값을 제공하기 위해 상기 추출된 데이터 비트를 연결시키기 위한 연결 수단을 포함하고, 상기 결과 값은 상기 프로그래밍 가능한 데이터 처리 장치에 의해 더 처리된다.
본 발명의 다른 양상에 따라, 프로그래밍 가능한 데이터 처리기에서 패킹(packing)된 데이터 비트에 대해 비트-평면 추출 연산을 수행하는 방법이 제공되고, 상기 패킹된 데이터 비트는 복수의 데이터 요소를 포함하고, 각 데이터 요소는 복수의 데이터 비트를 가지며, 상기 방법은 각 데이터 요소로부터 데이터 비트를 선택적으로 추출하기 위한 전용 하드웨어 수단을 제공하는 단계와, 상기 프로그래밍 가능한 데이터 처리기에 의한 추가적인 처리를 위한 결과 값을 제공하기 위해 상기 추출된 데이터 비트를 연결시키는 단계를 포함한다.
본 발명의 보다 나은 이해를 위해, 그리고 본 발명이 어떻게 효과적으로 수행될 수 있는지를 보다 명확히 보여주기 위해, 아래의 도면이 단지 예시로써 참조될 것이다.
도 1은 종래 기술을 따르는 비트-평면 추출 연산을 도시한 도면.
도 2의 (a)와 (b)는 제각기 결과를 비트-역전하거나 하지않는, 본 발명에 따른 비트-평면 추출 연산을 설명하는 도면.
도 3은 도 1의 비트-평면 추출 연산이 다중화기를 사용해서 하드웨어에서 어떻게 구현될 수 있는지의 예를 도시한 도면.
도 4는 결과를 비트-역전하기 위한 본 발명의 추가적인 양상을 도시한 도면.
도 5는 도 4의 다중화기의 추가적인 상세함을 도시한 도면.
도 6은 본 발명의 추가적인 양상을 도시한 도면.
본 발명에 따라, 전용 하드웨어가 비트-평면 추출 연산을 수행하기 위해 제공된다.
도 2의 (a)를 참조해서, 예를 들면, 4 바이트 또는 1a부터 1d까지의 데이터 요소를 포함하는 32개의 패킹된 데이터 비트의 값이 고려된다. 각 바이트 1a 내지 1d는 8 비트(제각기 a0 - a7, b0 - b7, c0 - c7, d0 - d7)를 포함한다. 비트-평면 추출 연산은 이러한 바이트의 각각으로부터 하나의 비트를 선택적으로 재생하는데, 이러한 비트는 예를 들면, 인수에 의해 지정되는 제2 비트(a1, b1, c1, d1)이다. 이러한 연산은 이러한 비트(a1, b1, c1, d1)를 연결시켜 4 비트 결과 값(5)(r0로 참조되는 제1 비트, 제2 비트 r1, 등을 갖는)을 반환하는 동작을 수반한다. 만약 처리되고 있는 데이터가 비트가 역전될 필요가 없다면, 결과 값(5)은 r3=a1, r2=b1, r1=c1, r0=d1이 되도록 한다.
도 2의 (b)는 유사한 비트-평면 추출 장치를 도시하는데, 만약 결과가 비트가 역전될 필요가 있다면, 추출된 데이터 비트는 결과 값(7)에서 역전되어, 그 결과 r3=d1, r2=c1, r1=b1, r0=a1이 된다. 다른 말로 하면, 도 2의 (a)에서 도시된 실시예에서, 비트-평면 추출 연산은 아무런 비트-역전도 가지지 않는 결과 값(5)을 제공하고, 한편, 도 2의 (b)에서, 비트-평면 추출 연산은 비트-역전이 있는 결과 값 (7)을 제공한다.
상기 도시된 것처럼, 하드웨어는 비트-역전되지 않는 결과 값{즉, 도 2의 (a)에서 도시된 것처럼} 또는 비트-역전된 결과 값을{즉, 도 2의 (b)에서 도시된 것처럼} 제공하기 위해 설정될 수 있다. 이전에 언급된 것처럼, 결과의 비트-역전은 다수의 이유들 때문에 수행될 수 있고, 이러한 이유들 중의 하나는 엔디안을 취급하기 위한 것일 수 있다.
대안적으로 하드웨어는 정상적 또는 비트-역전된 포맷의 결과를 선택적으로 제공하기 위해 설정될 수 있다. 예를 들면, 비트-역전은 파라미터로서 설정될 수 있고, 그 결과 이 장치는 이 응용에서 차후에 설명될 것처럼, 결과(5) 또는 비트-역전된 결과(7)를 반환할 수 있다. 결과의 비트-역전이 특정 응용을 위해 요구되는지에 따라, 파라미터가 소프트웨어에 의해 제어될 수 있거나, 하드웨어에서 사전에 설정될 수 있다.
도 3은 저 비용으로 비트-평면 추출 연산이 하드웨어에서 어떻게 구현될 수 있는 지에 대해 보다 상세히 도시한다. 예를 들면, 연산은 단지 3개의 레벨의 깊이만을 가지고 다중화기에 의해 전적으로 구현될 수 있다.
도 3에서, 참조의 편이를 위해, 도 2의 (a)와 2(b)에서 도시된 바이트들중의 단지 하나로부터(바이트(1a)), 하나의 비트를 추출하기 위한 다중화기 배치가 도시된다. 유사한 배치가 다른 바이트의 각각을 위해 제공된다. 제1 레벨의 다중화기(31)는 8 비트를 4 비트로 감소시키고(즉, n 대 n/2), 제2 레벨의 다중화기(33)는 이러한 4개의 비트를 두 개로 감소시키며, 한편, 제3 레벨에 있는 다중화기(35)는 이러한 두 개의 비트를 하나로 감소시킨다. 이런 방식으로, 임의의 비트(ay)가 비트(a7)로부터 비트(a0)까지 추출될 수 있다. 유사한 방식으로, 다중화기는 바이트(1b)로부터 비트(by), 바이트(1c)로부터 비트(cy)와, 바이트(1d)로부터 비트(dy)를 추출하기 위해 사용될 수 있다.
도 4는 양쪽 모든 선택 사항을 대처하기 위한 하드웨어를 제공해서 어떻게 결과의 비트-역전이 다루어질 수 있는지를 도시한다. 도 4에서, 추출된 비트(ay, by, cy, dy)는 다중화기의 세트(41a 내지 41d)에 전달된다. 그러므로, 결과 값은 비트-역전이 요구되는지에 따라 제어 신호("c")에 의해 제어될 수 있다.
다중화기중의 하나(41a)가 도 5에서 보다 상세히 도시된다. 제어 신호("c")가 높게 설정되고, 추출된 비트(ay, by, cy, dy)는 결과 값(5)을 형성한다. 다른 말로 하면, r3=ay; r2=by; r1=cy; r0=dy이다. 하지만, 제어 신호("c")가 낮을 때, 추출된 비트(ay, by, cy, dy)의 순서가 역전되어, r3=dy; r2=cy; r1=by; r0=ay가 되고, 따라서 결과 값(7)을 형성한다. 이런 방식으로, 추가적인 하드웨어와 파라미터("c")가 요구될 때, 예를 들면 엔디안을 정정하기 위해 비트-역전을 제공하기 위해 사용될 수 있다.
상기 설명된 것처럼, 파라미터("c")는 소프트웨어에 의해 제어될 수 있거나 (따라서 비트-역전이 동적으로 제어되는 것을 허용하면서), 특별한 데이터 처리 응용에 따라 하드웨어에서 설정될 수 있다.
상기 설명된 본 발명은 종래 기술 보다 더 효율적인 비트-평면 추출 연산과 장치를 제공한다. 성능을 향상시키는 것에 추가하여, 비트-평면 추출 방법과 장치는 또한 종래 기술에서 수행된 동작 보다 전력을 덜 소모한다.
실제에서, 다수의 결과 값이 단일 32 비트 값으로 결합된다. 예를 들면, 만약 하나의 결과가 4 비트에 대응한다면, 8개의 결과가 32 비트로 조합될 수 있다. 그러면, 두 개의 이러한 값 사이의 절대 차의 합이 두 개의 32 비트 값을 XOR 연산하고, 그 결과의 "1" 비트들을 계수하여 계산될 수 있다. 종래 기술에 따라, 결과 결합은 이전 결과를 이동시키고, 현재의 결과를 이 값으로 OR 연산하는 것을 수반할 것이다.
소프트웨어를 사용하면, 이것은 다음 연산을 수반한다:
unsigned bpext_reverse_shift(unsigned x, unsigned y, unsigned z)
{
r + bpext_reverse(x,y);
return(z<<4)|r;
}
여기서, x: 4개의 패킹된 바이트를 포함하는 32 비트 값
y: 추출될 비트를 참조하는 0과 7 사이의 정수 값
z: 이전 결과를 포함하는 32 비트 값
하지만, 본 발명의 다른 양상에 따라, 도 6은 이 연산이, 상기 설명된 소프트웨어를 사용하지 않고 하나의 연산을 사용해서 하드웨어에서 수행되는 것을 가능 케 하는 배치를 도시한다.
상기 설명된 본 발명은 절대 차이의 합을 계산하는 연산의 사전-처리 단계에서 사용될 수 있는 비트-평면 추출 수단을 갖는 프로그래밍 가능한 데이터 처리 장치를 제공한다. 하지만, 본 발명은 이 경우에 제한되지 않고, 비트-평면 추출 연산은 하나 이상의 비트가 다수의 바이트로부터 추출될 필요가 있는 다른 데이터 처리 연산을 위해 사용될 수 있다. 또한, 데이터 비트는 필연적으로 다른 바이트들로부터 추출될 필요가 있는 것은 아닌데, 예를 들면, 이 경우, 이미지 데이터가 성분당 12개의 비트들에 의해 표현될 수 있다.
비록 본 발명은 4 비트를 추출하는 것과 관련하여 설명되었지만, 보다 넓은, 예를 들면, 64 비트의 데이터 경로를 가진 프로세서에 대해, 명령어는 한 번에 8 비트를 재생하기 위해 확장될 수 있다.
또한, 비록 바람직한 실시예가 다중화기의 사용을 도시하지만, 동일 기능을 제공하는 다른 논리 회로가 또한 사용될 수 있다.
상기-언급된 실시예는 본 발명을 제한하는 것이 아니고 예시하는 것이고, 당업자는 첨부된 청구항들에 의해 한정된 본 발명의 범위를 벗어남이 없이 많은 대안적인 실시예를 설계할 수 있다는 것에 주목해야 된다. 청구항들에서, 괄호안에 놓여진 임의의 참조 기호는 청구항들을 제한하는 것으로 해석되지 말아야 한다. "포함하는"과 "포함한다" 등은 임의의 청구항 또는 본 명세서 전반에 열거된 것과 다른 요소 또는 단계의 존재를 배제하지 않는다. 요소의 단수 참조는 이러한 요소의 복수의 참조를 배제하지 않으며, 그 반대의 경우도 마찬가지다. 본 발명은 다수의 구별된 요소를 포함하는 하드웨어와 임의의 적절하게 프로그래밍된 컴퓨터에 의해 구현될 수 있다. 다수의 수단을 열거하는 청구항에서, 다수의 이러한 수단은 하드웨어의 하나의 동일한 항목에 의해 구현될 수 있다. 소정의 조치가 상호 배타적인 종속항들에서 기재되는 단순한 사실은 이러한 조치들의 조합이 이익을 얻기 위해 사용될 수 없다는 것을 지시하지 않는다.
본 발명은 프로그래밍 가능한 데이터 처리 장치에 이용가능하고, 특히 비디오 데이터와 같은 데이터를 처리하기 위한 비트-평면 추출 동작을 갖는 프로그래밍 가능한 데이터 처리 장치에 이용가능하다.

Claims (11)

  1. 데이터를 처리하기 위한 프로그래밍 가능한 데이터 처리 장치로서,
    상기 데이터 처리는 패킹된 데이터 비트상의 비트-평면 추출 동작을 수행하는 작업을 포함하고, 상기 패킹된 데이터 비트는 복수의 데이터 요소(1a 내지 1d)를 포함하고, 각 데이터 요소는 복수의 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 가지며, 상기 장치는:
    - 상기 데이터 요소의 각각으로부터 데이터 비트를 선택적으로 추출하기 위한 추출 수단(31, 33, 35)과,
    - 결과 값(5, 7)을 제공하기 위해 상기 추출된 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 연결시키기 위한 연결 수단으로서, 상기 결과 값은 상기 프로그래밍 가능한 데이터 처리 장치에 의해서 더 처리되는, 연결 수단을 포함하는, 데이터를 처리하기 위한 프로그래밍 가능한 데이터 처리 장치에 있어서,
    상기 추출 수단(31, 33, 35)은 각각의 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 동시에 추출하도록 배열되고,
    각각의 데이터 요소로부터 데이터 비트를 선택적으로 추출하기 위한 상기 추출 수단은 복수의 다중화기(31, 33, 35)를 포함하고, 상기 복수의 다중화기(31, 33, 35)는 상기 데이터 요소(1a 내지 1d)의 각각으로부터 특정 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 선택하기 위해 배열되며,
    상기 다중화기(31, 33, 35)는 복수의 레벨로 구성되고, 요구되는 비트가 선택될 때까지 각 레벨은 n에서 n/2까지 각 데이터 요소(1a 내지 1d)에서 비트의 수를 선택적으로 감소시키는 것을 특징으로 하는,
    프로그래밍 가능한 데이터 처리 장치.
  2. 제1항에 있어서, 상기 추출 수단은 상기 데이터 요소(1a 내지 1d)의 각각으로부터 하나의 데이터 비트보다 많은 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 선택하기 위해 적응되는, 프로그래밍 가능한 데이터 처리 장치.
  3. 제1항 또는 제2항에 있어서, 각 데이터 요소(1a 내지 1d)는 하나의 데이터 바이트를 포함하고, 상기 장치는 복수의 데이터 바이트의 각각으로부터 미리 결정된 데이터 비트 또는 비트들(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)을 추출하기 위해 구성되는, 프로그래밍 가능한 데이터 처리 장치.
  4. 제1항에 있어서, 상기 프로그래밍 가능한 데이터 처리 장치에 의한 후속 처리 이전에 상기 결과 값에서 상기 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)의 순서를 역전시키기 위한 비트-역전 수단(41a 내지 41d)을 더 포함하는, 프로그래밍 가능한 데이터 처리 장치.
  5. 제4항에 있어서, 비트 순서를 역전시키기 위한 상기 비트-역전 수단은 일련의 다중화기(41a 내지 41d)를 포함하고, 상기 다중화기는:
    - 제1 동작 모드에서, 상기 결과 값(5)을 형성하는 상기 데이터 비트가 상기 결과 값의 순서를 변경하지 않고 상기 다중화기를 통과하고;
    - 제2 동작 모드에서, 상기 결과 값을 형성하는 상기 데이터 비트의 순서가 상기 다중화기를 통과하는 동안 역전되도록 배열되는, 프로그래밍 가능한 데이터 처리 장치.
  6. 제5항에 있어서, 상기 동작 모드는 파라미터에 의해 제어되고, 이에 따라 상기 비트-역전 수단(41a 내지 41d)이 특정 데이터 처리 응용에 따라 동적으로 제어되는 것을 가능케하는, 프로그래밍 가능한 데이터 처리 장치.
  7. 제1항에 있어서, 상기 결과 값을 이전 결과 값과 결합시키기 위한 수단을 더 포함하는, 프로그래밍 가능한 데이터 처리 장치.
  8. 프로그래밍 가능한 데이터 처리기(processor)에서 패킹된 데이터 비트에 대해 비트-평면 추출 동작을 수행하는 방법으로서,
    상기 패킹된 데이터 비트는 복수의 데이터 요소(1a 내지 1d)를 포함하고, 각 데이터 요소는 복수의 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 가지며, 상기 방법은:
    - 각 데이터 요소(1a 내지 1d)로부터 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 선택적으로 추출하기 위한 전용 하드웨어 수단(31, 33, 35)을 제공하는 단계; 및
    - 상기 프로그래밍 가능한 데이터 처리기에 의한 추가적인 처리를 위한 결과 값(5, 7)을 제공하기 위해 상기 추출된 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 연결시키는 단계를 포함하는, 비트-평면 추출 동작을 수행하는 방법에 있어서,
    상기 방법은, 상기 전용 하드웨어 수단(31, 33, 35)으로 동시에 각각의 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 추출하는 추출 단계를 더 포함하고, 각 데이터 요소로부터 데이터 비트를 선택적으로 추출하기 위한 상기 전용 하드웨어 수단(31, 33, 35)은, 복수의 레벨로 구성되는 복수의 다중화기(31, 33, 35)를 포함하고,
    상기 추출 단계는, 요구되는 비트가 선택될 때까지 n에서 n/2까지 각 데이터 요소(1a 내지 1d)에서 비트의 수를 선택적으로 각 레벨에서 감소시키도록 데이터 요소(1a 내지 1d) 각각으로부터 특정 데이터 비트(a0 내지 a7, b0 내지 b7, c0 내지 c7, d0 내지 d7)를 선택하는 선택 단계를 포함하는 것을 특징으로 하는,
    비트-평면 추출 동작을 수행하는 방법.
  9. 제8항에 있어서, 상기 연결된 데이터 비트의 순서를 선택적으로 역전하는 단계를 더 포함하는, 비트-평면 추출 동작을 수행하는 방법.
  10. 삭제
  11. 삭제
KR1020067026359A 2004-06-16 2005-06-08 데이터 처리 장치 KR101149883B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04102749.1 2004-06-16
PCT/IB2005/051883 WO2005124534A2 (en) 2004-06-16 2005-06-08 Bit-plane extraction operation

Publications (2)

Publication Number Publication Date
KR20070030834A KR20070030834A (ko) 2007-03-16
KR101149883B1 true KR101149883B1 (ko) 2012-07-09

Family

ID=43655343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067026359A KR101149883B1 (ko) 2004-06-16 2005-06-08 데이터 처리 장치

Country Status (1)

Country Link
KR (1) KR101149883B1 (ko)

Also Published As

Publication number Publication date
KR20070030834A (ko) 2007-03-16

Similar Documents

Publication Publication Date Title
US10395381B2 (en) Method to compute sliding window block sum using instruction based selective horizontal addition in vector processor
US20230297383A1 (en) Method for performing random read access to a block of data using parallel lut read instruction in vector processors
US5872965A (en) System and method for performing multiway branches using a visual instruction set
US4835607A (en) Method and apparatus for expanding compressed video data
EP0404816A1 (en) Dual mode adder circuitry
EP0386137A1 (en) Processor for expanding a compressed video signal
WO1989005082A1 (en) Pixel interpolation circuitry as for a video signal processor
KR100981998B1 (ko) 데이터 워드 내의 비트 삽입
KR20170118946A (ko) 데이터 처리장치 및 방법
JP2002522821A (ja) データプロセッサとデータ処理方法
EP0398881A1 (en) MEMORY CONTROL UNIT AS A VIDEO SIGNAL PROCESSOR.
KR0182026B1 (ko) 엠펙 비디오 디코더용 구문 분석기
RU2510939C2 (ru) Система и способ декодирования, выполняемый для кодирования блоков элементов текстуры
US7861071B2 (en) Conditional branch instruction capable of testing a plurality of indicators in a predicate register
McGregor et al. Architectural enhancements for fast subword permutations with repetitions in cryptographic applications
US20160125257A1 (en) Optimized Fast Feature Detection for Vector Processors
JP2004511039A (ja) 単一命令多数データ処理
KR101149883B1 (ko) 데이터 처리 장치
JP2006500658A (ja) プログラムを動的に圧縮解除するための装置および方法
JP3723115B2 (ja) 単一命令多重データ処理
US7761695B2 (en) Programmable data processor for a variable length encoder/decoder
US9239702B2 (en) Data processing apparatus
US6888892B2 (en) Method for padding macroblocks
US6643673B1 (en) Method and apparatus for arithmetic shifting
JP4817776B2 (ja) データ処理装置、及びその制御方法

Legal Events

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

Payment date: 20150430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170504

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 8