[go: up one dir, main page]

KR20080063386A - Vliw 아키텍처를 갖는 dsp에 대한 고속 dct알고리즘 - Google Patents

Vliw 아키텍처를 갖는 dsp에 대한 고속 dct알고리즘 Download PDF

Info

Publication number
KR20080063386A
KR20080063386A KR1020087010725A KR20087010725A KR20080063386A KR 20080063386 A KR20080063386 A KR 20080063386A KR 1020087010725 A KR1020087010725 A KR 1020087010725A KR 20087010725 A KR20087010725 A KR 20087010725A KR 20080063386 A KR20080063386 A KR 20080063386A
Authority
KR
South Korea
Prior art keywords
data set
dct
discrete cosine
cosine transform
input data
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020087010725A
Other languages
English (en)
Other versions
KR101041760B1 (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 KR20080063386A publication Critical patent/KR20080063386A/ko
Application granted granted Critical
Publication of KR101041760B1 publication Critical patent/KR101041760B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

이산 코사인 변환 오퍼레이션을 수행하기 위한 단일 스테이지 연산 방법이 제공된다. 이산 코사인 변환 오퍼레이션은 디지털 신호 프로세서를 사용하여 복수의 VLIW(very large instruction words)를 실행함으로써 수행된다. 복수의 VLIW는 승산의 제 1 횟수 및 가산의 제 2 횟수를 포함하며, 여기서, 승산의 제 1 횟수는 가산의 제 2 횟수보다 크다.
VLIW, 이산 코사인 변환, 디지털 신호 프로세서

Description

VLIW 아키텍처를 갖는 DSP에 대한 고속 DCT 알고리즘{FAST DCT ALGORITHM FOR DSP WITH VLIW ARCHITECTURE}
배경
본 출원은 2005년 10월 5일자로 출원된 미국 가출원 제60/724,131호를 우선권 주장하며, 그 전체 내용은 본 명세서에 참조로서 포함된다.
I. 기술분야
본 개시물은 일반적으로 디지털 신호 프로세서를 이용한 이산 코사인 변환에 관한 것이다. 더 상세하게는, 본 개시물은 VLIW-기반 디지털 신호 프로세서에 대한 단일 스테이지 이산 코사인 변환의 시스템 및 방법에 관한 것이다.
II. 관련 기술의 설명
종래, 디지털 신호 프로세서(DSP)는 종종 VLIW(very long instruction words) 아키텍처를 이용한다. VLIW-기반 DSP는 단일 클럭 사이클 내에서 다중의 오퍼레이션을 수행할 수 있다. 예를 들어, VLIW-기반 DSP는 단일 사이클에서 승산-누산(MAC) 오퍼레이션, 산술 로직 유닛(ALU) 오퍼레이션, 및 메모리 로드/저장 오퍼레이션을 수행할 수 있다. 그러한 DSP의 컴퓨팅 능력은 DSP-기반 멀티미디어 시스템의 구현을 가능하게 하며, 이는 큰 유연성 및 비용 효율성을 제공한다.
이산 코사인 변환(DCT)은, 추가적인 프로세싱을 위해 시간 도메인으로부터 주파수 도메인으로 신호를 변환하기 위해 그 신호에 대해 수행될 수 있는 수학적 오퍼레이션이다. DCT는 JPEG(Joint Photographic Experts Group) 손실 압축, MPEG(Moving Picture Experts Group) 표준 1, 2, 및 4 등을 포함하여, 스틸 이미지 및 비디오 압축 표준 양자에 있어서 핵심 기술이 되었다.
기술의 진보는 더 소형이고 더 강력한 퍼스널 컴퓨팅 디바이스를 발생시켰으며, 이들 디바이스의 대다수는 이미지 및/또는 비디오 능력을 제공한다. 예를 들어, 현재, 소형이고 경량이며 사용자에 의해 용이하게 휴대되는 휴대용 무선 전화기, 개인휴대 디지털 정보단말기(PDA), 및 페이징 디바이스와 같은 무선 컴퓨팅 디바이스를 포함하여 다양한 휴대용 퍼스널 컴퓨팅 디바이스가 존재한다. 이들 휴대용 퍼스널 컴퓨팅 디바이스의 대다수는 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 리코더, 오디오 파일 재생기, 또는 이들의 임의의 조합물을 포함한다. 부가적으로, 휴대용 퍼스널 컴퓨팅 디바이스는, 인터넷에 액세스하는데 사용될 수 있는 웹 인터페이스를 포함할 수 있다. 결과적으로, 휴대용 퍼스널 컴퓨팅 디바이스의 대다수는 DSP를 포함한다.
다른 프로세스에서의 사용을 위해 시스템 성능을 개선시키고 DSP 사이클을 절약하기 위하여, DCT의 대칭 특성을 더 효율적으로 활용함으로써 DCT를 연산하도록 다양한 고속 알고리즘들이 제안되었다. 종래, 그러한 고속 알고리즘들은, 코어 프로세서에 있어서 승산이 가산보다 시간이 더 걸린다는 가정 하에서 승산의 횟수를 감소시키는데 중점을 두었다. 하지만, 그 가정은 단일 사이클 승산 명령을 갖는 현대의 DSP 아키텍처에 대해서는 더 이상 참이 아니다. 또한, 기존 의 DCT 알고리즘들은 종종, 스테이지들 간의 데이터 의존성에 기인하여 DSP 능력의 활용을 억제하는 다중의 스테이지를 포함한다.
따라서, VLIW-기반 DSP에 있어서 개선된 DCT 알고리즘을 제공하는 것이 바람직할 것이다.
개요
특정 실시형태에 있어서, 이산 코사인 변환 오퍼레이션을 수행하기 위한 단일 스테이지 연산 방법이 제공된다. 이산 코사인 변환 오퍼레이션은 디지털 신호 프로세서를 이용한 복수의 VLIW를 실행함으로써 수행된다. 복수의 VLIW는 승산의 제 1 횟수 및 가산의 제 2 횟수를 포함하며, 승산의 제 1 횟수는 가산의 제 2 횟수보다 더 크다.
일 특정 실시형태에 있어서, 이산 코사인 변환 오퍼레이션은 8 포인트 데이터 세트에 대해 수행된다. 다른 특정 실시형태에 있어서, 이산 코사인 변환 오퍼레이션은 8×8 포인트 매트릭스 데이터 세트에 대해 수행된다. 다른 특정 실시형태에 있어서, 복수의 VLIW 명령은 데이터 의존성이 없어서, 이산 코사인 변환은 단일의 실행 스테이지에서 수행될 수 있다. 또 다른 실시형태에 있어서, 이산 코사인 변환 오퍼레이션은 1차원 8 포인트 DCT 변환 오퍼레이션을 입력 매트릭스 데이트 세트의 각각의 컬럼에 적용하여 중간 매트릭스를 생성하는 단계, 및 1차원 8 포인트 DCT 변환을 중간 매트릭스의 각각의 로우에 적용하여 변환된 매트릭스 데이터 세트를 생성하는 단계를 포함한다. 다른 특정 실시형태에 있어서, 승산의 제 1 횟수는 30회의 승산 오퍼레이션을 포함하고, 가산의 제 2 횟수는 12회까지 의 가산을 포함한다.
다른 특정 실시형태에 있어서, 이산 코사인 변환 오퍼레이션을 수행하기 위한 방법이 제공된다. 입력 데이터 세트가 수신된다. 입력 데이터 세트는, 변환된 데이터 세트를 생성하기 위해 입력 데이터 세트에 대한 단일-스테이지 이산 코사인 변환 오퍼레이션을 수행하도록 복수의 VLIW를 실행함으로써 프로세싱된다. 다른 특정 실시형태에 있어서, 입력 데이터 세트의 프로세싱은 입력 데이터 세트에 관련된 복수의 스칼라를 계산하는 단계, 그 복수의 스칼라를 커널 매트릭스와 승산하여 복수의 곱들을 생성하는 단계, 및 그 복수의 곱들을 합산하여 변환된 데이터 세트를 생성하는 단계를 포함한다.
또 다른 특정 실시형태에 있어서, 복수의 VLIW는 승산의 제 1 횟수 및 가산의 제 2 횟수를 포함하며, 여기서, 제 1 횟수는 제 2 횟수보다 더 크다. 다른 특정 실시형태에 있어서, 입력 데이터 세트는 8 포인트 데이터 세트이다. 다른 특정 실시형태에 있어서, 입력 데이터 세트는 8×8 매트릭스 데이터 세트이다.
또 다른 실시형태에 있어서, 통신 디바이스는 메모리 및 디지털 신호 프로세서를 포함한다. 메모리는 단일 스테이지 이산 코사인 변환 오퍼레이션을 실행하기 위해 VLIW의 세트를 저장하도록 구성된다. 디지털 신호 프로세서는 입력 데이터 세트로부터 변환된 데이터 세트를 생성하기 위해 VLIW의 세트를 실행하도록 구성된다.
특정 실시형태에 있어서, 디지털 신호 프로세서는 단일 클럭 사이클에 있어서 2회의 승산-누산 오퍼레이션, 산술 로직 유닛 오퍼레이션, 및 메모리 로드/저장 오퍼레이션을 수행하도록 구성된다. 다른 특정 실시형태에 있어서, 디지털 신호 프로세서는 JPEG(Joint Photographic Experts Group) 포맷에 따라 압축된 이미지를 프로세싱하도록 구성된다. 다른 특정 실시형태에 있어서, 디지털 신호 프로세서는 MPEG(Moving Picture Experts Group) 포맷에 따라 압축된 비디오를 프로세싱하도록 구성된다. 다른 특정 실시형태에 있어서, 디지털 신호 프로세서는 300 미만의 클럭 사이클에서 8×8 변환을 수행한다.
특정 실시형태에 있어서, 통신 디바이스는 이동 전화기이다. 다른 특정 실시형태에 있어서, 통신 디바이스는 VoIP(Voice over Internet Protocol) 전화기를 포함한다.
특정 실시형태에 있어서, 디지털 신호 프로세서는 VLIW의 명령 세트 및 프로세서를 포함한다. VLIW의 명령 세트는 가산 오퍼레이션보다 더 많은 승산 오퍼레이션을 갖는 이산 코사인 변환(DCT) 오퍼레이션을 실행하도록 구성된다. 프로세서는, 변환 데이터 세트를 생성하기 위해 입력 데이터 세트에 대해 DCT 오퍼레이션을 수행하기 위한 명령 세트를 실행하도록 구성된다.
다른 특정 실시형태에 있어서, 프로세서는 단일 스테이지에서 명령 세트를 실행한다. 다른 특정 실시형태에 있어서, DCT 오퍼레이션은 승산 오퍼레이션의 제 1 횟수 및 가산 오퍼레이션의 제 2 횟수를 포함하며, 여기서, 승산 오퍼레이션의 제 1 횟수는 가산 오퍼레이션의 제 2 횟수의 2배이다. 또 다른 실시형태에 있어서, 입력 데이터 세트는 8×8 매트릭스 데이터 세트를 포함한다.
특정 실시형태에 있어서, 통신 시스템은 이산 코사인 변환(DCT) 오퍼레이션 을 정의하는 복수의 VLIW를 포함하는 명령 세트를 저장하는 수단, 입력 데이터 세트를 수신하는 수단, 및 입력 데이터 세트에 대해 복수의 VLIW를 실행함으로써 이산 코사인 변환 오퍼레이션을 수행하는 수단을 포함하며, 여기서, 복수의 VLIW는 승산의 제 1 횟수 및 가산의 제 2 횟수를 포함하고, 제 1 횟수는 제 2 횟수보다 더 크다.
다른 특정 실시형태에 있어서, 이산 코사인 변환 오퍼레이션을 수행하기 위한 단일 스테이지 연산 방법이 제공된다. 복수의 VLIW는, 이산 코사인 변환(DCT) 오퍼레이션을 실행하기 위한 복수의 기본 명령으로 분할된다. 복수의 기본 명령 중 적어도 2개의 기본 명령은 단일 스테이지에서 입력 데이터 세트에 대해 이산 코사인 변환(DCT) 오퍼레이션을 수행하도록 동시에 실행된다. 입력 데이터 세트에 대한 DCT 오퍼레이션의 수행과 관련된 변환 데이터 세트가 생성된다.
또한, 특정 실시형태에 있어서, 복수의 VLIW는 승산의 제 1 횟수 및 가산의 제 2 횟수를 포함하며, 여기서, 승산의 제 1 횟수는 가산의 제 2 횟수의 적어도 2배이다.
본 명세서에 개시된 하나 이상의 실시형태의 이점은 이산 코사인 변환(DCT) 오퍼레이션을 단일 스테이지에서 수행하는 것을 포함할 수 있다.
본 명세서에 개시된 하나 이상의 실시형태의 다른 이점은 프로세서에서의 이산 코사인 변환(DCT) 오퍼레이션을 종래의 4-스테이지 DCT 오퍼레이션의 클럭 사이클의 절반 미만에서 수행하는 것을 포함할 수 있다.
본 명세서에 개시된 하나 이상의 실시형태의 또 다른 이점은 이산 코사인 변 환(DCT) 오퍼레이션을 그 변환 오퍼레이션의 스테이지들 간의 데이터 의존성없이 수행하는 것을 포함할 수 있다.
본 개시물의 다른 양태, 이점, 및 특징은 다음 섹션, 즉, 도면의 간단한 설명, 상세한 설명, 및 특허청구범위를 포함한 전체 출원의 리뷰 이후에 명확하게 될 것이다.
도면의 간단한 설명
본 명세서에 설명된 실시형태들의 양태 및 부수적인 이점은 첨부 도면과 관련하여 취해질 경우에 다음의 상세한 설명의 참조에 의해 더 명백하게 될 것이다.
도 1은 일 신호에 대한 단일 스테이지 이산 코사인 변환(DCT) 오퍼레이션을 수행하도록 구성된 VLIW 디지털 신호 프로세서(DSP)를 나타낸 블록도이다.
도 2는 도 1에 도시된 바와 같은 VLIW 프로세서를 사용하여 이산 코사인 변환(DCT) 오퍼레이션을 수행하는 방법을 나타낸 개괄도이다.
도 3은 VLIW 프로세서를 사용하여 DCT 오퍼레이션을 수행하는 방법을 나타낸 흐름도이다.
도 4는 VLIW 디지털 신호 프로세서(DSP)를 포함한 통신 디바이스의 블록도이다.
도 5는 도 4에 도시된 바와 같은 VLIW DSP를 사용하여 1차원 8×8 DCT 오퍼레이션을 수행하는 방법을 나타낸 흐름도이다.
도 6은 디지털 신호 프로세서를 포함한 휴대용 통신 디바이스의 개괄도이다.
도 7은 디지털 신호 프로세서를 포함한 예시적인 무선 전화기의 개괄도이다.
도 8은 디지털 신호 프로세서를 포함한 예시적인 무선 인터넷 프로토콜 전화기의 개괄도이다.
도 9는 디지털 신호 프로세서를 포함한 예시적인 휴대용 디지털 정보단말기의 개괄도이다.
상세한 설명
도 1은 단일 스테이지 이산 코사인 변환(DCT) 오퍼레이션을 수행하도록 구성된 VLIW 디지털 신호 프로세서(DSP)(100)를 나타낸 블록도이다. VLIW DSP(100)는 명령 캐시(102), 명령 레지스터(104), 실행 유닛(106, 108, 110, 112), 데이터 캐시(114), 및 레지스터 파일(116)을 포함한다. 명령 캐시(102)는 명령 레지스터(104)에 접속되어, 명령을 캐시(102)로부터 명령 레지스터(104)로 로딩한다. 명령 레지스터(104)는 버스(120)를 통해 실행 유닛(106, 108, 110, 및 112)에 접속된다. 실행 유닛(106, 108, 110, 및 112)은 버스(122)를 통해 데이터 캐시(114) 및 레지스터 파일(116)에 접속된다.
VLIW DSP(100)는 또한, 단일 스테이지 DCT 오퍼레이션을 위한 프로그램 명령의 세트(126)를 포함하는 메모리(124)를 포함한다. 메모리(124)가 프로세서(100)의 일부로서 도시되어 있지만, 메모리(124)는 VLIW DSP(100)로부터 분리된 시스템 메모리로서 구현될 수도 있고, 시스템 버스를 통해 VLIW DSP(100)에 커플링될 수도 있음을 이해해야 한다.
VLIW DSP(100)는, 다중의 명령을 포함하는 워드인 VLIW를 수신하도록 구성된다. VLIW DSP(100)는 수신된 VLIW들을 기본 오퍼레이션들로 분해하는 프리-프 로세서(preprocessor; 도시 안함)를 포함할 수도 있으며, 이 기본 오퍼레이션들은 실행 유닛(106, 108, 110, 및 112)에 의해 병렬로 수행될 수 있다.
일반적으로, 명령 세트(126)는 디지털 신호 프로세싱을 위한 고속 DCT 알고리즘을 구현한다. 승산의 횟수를 감소시키는 대신, 고속 DCT 알고리즘은, DCT 알고리즘을 VLIW DSP(100)의 아키텍처에 적응시킴으로써 클럭 사이클의 수를 감소시키기 위해 VLIW DSP(100)의 기능성을 활용한다. DCT 알고리즘의 종래의 구현은 다중의 스테이지를 이용하여 스테이지들 간의 데이터 의존성에 의해 소정의 입력 벡터로부터 DCT 벡터를 계산하지만, 명령 세트(126)는, DCT 벡터가 단일 스테이지에서 계산되게 하는 고속 DCT 알고리즘을 제공한다. 이러한 단일 스테이지 DCT 오퍼레이션은 종래 시스템의 다중 스테이지들 간의 데이터 의존성을 제거한다. 또한, 단일 스테이지 DCT 오퍼레이션은 DCT 오퍼레이션을 수행하기 위해 VLIW DSP(100)에 의해 요구되는 클럭 사이클의 수를 감소시킨다.
일반적으로, 다수의 이미지 압축 및 비디오 압축 시스템에 있어서, 이미지는 8×8 데이터 블록으로 분할된다. 각각의 8×8 데이터 블록은 2차원 8×8 DCT 변환 오퍼레이션을 사용하여 프로세싱된다. 2차원 8×8 DCT 변환 오퍼레이션은 2개의 1차원 8 포인트 DCT 변환 오퍼레이션으로 분리될 수 있다.
일반적으로, 1차원 DCT 변환 오퍼레이션은 벡터 승산 프로세스를 이용하여 수행될 수 있다. 입력 벡터(x)는 DCT 변환 커널 매트릭스(C)에 의해 승산되어 DCT 변환 벡터(s)를 생성한다. 8 포인트 벡터
Figure 112008031838364-PCT00001
가 주 어지면, DCT 변환 벡터
Figure 112008031838364-PCT00002
는 수학식(s=Cx)을 이용하여 계산될 수 있으며, 여기서, 커널 매트릭스(C)는,
Figure 112008031838364-PCT00003
로서 정의된다.
변수 i는 커널 매트릭스(C)의 로우(row) 인덱스{i=0, 1, …, 7}를 나타내며, 변수 j는 커널 매트릭스(C)의 컬럼 인덱스{j=0, 1, …, 7}를 나타낸다. i 및 j의 값에 대해 커널 매트릭스(C)를 평가함으로써, 수학식 1은 수개의 관측가능 대칭성을 야기한다.
1. 매트릭스 Ci ,j{i=0 및 j=0, 1, …, 7}의 서브세트에 대해, Ci ,j=
Figure 112008031838364-PCT00004
;
2. 매트릭스 Ci ,j{i=2, 6 및 j=0, 1, …, 7}의 서브세트에 대해, Ci ,j=Ci ,(7-j), 및 j=0, 1, 2, 또는 3일 경우에, Ci ,j=-Ci ,(3-j);
3. 매트릭스 Ci ,j{i=4 및 j=0, 1, …, 7}의 서브세트에 대해, Ci ,j=Ci ,(7-j), 및 j=0, 1, 2, 또는 3일 경우에, Ci ,j=Ci ,(3-j); 및
4. 매트릭스 Ci ,j{i=1, 3, 5, 7 및 j=0, 1, …, 7}의 서브세트에 대해, Ci ,j=- Ci ,(7-j).
관측된 대칭성은 DCT 오퍼레이션의 간략화를 위한 경로를 제공한다. 예를 들어, 1차원 8 포인트 커널 매트릭스(C)는 관측된 대칭성을 이용하도록 간략화될 수 있다. 특히, 특정 계산은 전체 계산 횟수를 감소시키도록 매트릭스 내에서 재사용될 수도 있다.
커널 매트릭스(C)는,
Figure 112008031838364-PCT00005
와 같이 재기술될 수도 있다.
커널 매트릭스(C) 및 상기 관측을 이용하여, DCT 알고리즘은 일련의 매트릭스 오퍼레이션으로서 설계될 수 있다.
Figure 112008031838364-PCT00006
이 주어지면, DCT 변환 벡터
Figure 112008031838364-PCT00007
는,
Figure 112008031838364-PCT00008
Figure 112008031838364-PCT00009
Figure 112008031838364-PCT00010
Figure 112008031838364-PCT00011
와 같이 벡터 x를 커널 매트릭스(C)와 승산함으로써 계산될 수 있다.
예를 들어, 상기 수학식 3은, VLIW 프로세서가 단일 클럭 사이클 내에 프로세싱할 수 있는 승산-누산 오퍼레이션 및 산술 로직 유닛 오퍼레이션을 포함한다. 이러한 계산 세트에 의해, 결과적인 변환 벡터(s)의 제 1 엘리먼트(s0)가 계산된다. 부가적으로, 제 1 세트의 스칼라(t0, t1, t2, 및 t3)가,
Figure 112008031838364-PCT00012
Figure 112008031838364-PCT00013
Figure 112008031838364-PCT00014
Figure 112008031838364-PCT00015
Figure 112008031838364-PCT00016
Figure 112008031838364-PCT00017
Figure 112008031838364-PCT00018
Figure 112008031838364-PCT00019
와 같이 결과적인 변환 벡터(s)의 홀수 엘리먼트(s1, s3, s5, s7)를 계산하는데 사용하기 위해 계산되었다.
이러한 계산 세트에 의해, 결과적인 변환 벡터(s)의 홀수 엘리먼트(s1, s3, s5, 및 s7)가, 다른 세트의 스칼라(t4, t5, t6, t7, t8, t9, t10, 및 t11)와 함께 계산된다. 스칼라(t4, t5, t6, 및 t7)는 입력 벡터(x)의 엘리먼트에 기초하지만, 스칼라(t8, t9, t10, 및 t11)는 다른 스칼라(t4 내지 t7)에 기초한다. 이러한 후자의 세트의 스칼라(t8 내지 t11)는,
Figure 112008031838364-PCT00020
Figure 112008031838364-PCT00021
Figure 112008031838364-PCT00022
와 같이 결과적인 변환 벡터(s)의 나머지 짝수 엘리먼트(s2, s4, 및 s6)를 계산하는데 이용될 수 있다.
이러한 계산 세트에 의해, 결과적인 DCT 벡터(s)의 나머지 짝수 엘리먼트(s2, s4, 및 s6)가 계산될 수 있다.
알 수 있는 바와 같이, 상기 수학식 세트는 30회의 승산 오퍼레이션 및 12회까지의 가산 오퍼레이션으로 구현될 수 있다. 따라서, 대표적인 VLIW DSP는 상기 수학식들을 297 클럭 사이클에서 수행할 수 있으며, 이는 종래의 DCT 오퍼레이션에 대해 요구되는 클럭 사이클 수의 절반 미만이다. 또한, 상기 수학식들은 데이터 의존형이 아니며, 이는 VLIW DSP 아키텍처를 잘 피팅한다.
도 2는 도 1에 도시된 바와 같은 VLIW 프로세서를 사용하여 이산 코사인 변환(DCT) 오퍼레이션을 수행하는 방법을 나타낸 블록도(200)이다. 일반적으로, 2차원 8×8 DCT 변환 오퍼레이션은 2개의 1차원 8×8 DCT 변환 오퍼레이션을 실행 함으로써 구현될 수 있다. 블록 202에 의해 표시된 입력은, 1차원 8 포인트 DCT 오퍼레이션을 입력 매트릭스(202)의 각각의 컬럼(화살표(210)에 의해 표시됨)에 적용하여 중간 매트릭스(206)를 생성함으로써 블록 204에서 프로세싱된다. 중간 매트릭스(206)는, 1차원 8 포인트 DCT 오퍼레이션을 중간 매트릭스(206)의 각각의 로우(화살표(212)에 의해 표시됨)에 적용하여 결과적인 2차원 8×8 DCT 매트릭스(208)를 생성함으로써 프로세싱된다.
도 3은 VLIW 디지털 신호 프로세서(DSP)를 사용하여 DCT 오퍼레이션을 수행하는 방법을 나타낸 흐름도이다. 1차원 8 포인트 이산 코사인 변환(DCT)은 2차원 8×8 매트릭스의 각각의 컬럼에 적용되어, 중간 8×8 매트릭스를 생성한다(블록 300). 1차원 8 포인트 DCT는 중간 8×8 매트릭스의 각각의 로우에 적용되어, 2차원 8×8 DCT 매트릭스를 생성한다(블록 302).
도 4는 VLIW 디지털 신호 프로세서(DSP)를 포함한 통신 디바이스(400)의 블록도이다. 통신 디바이스(400)는 디스플레이(404)에 커플링된 집적회로(402)를 포함한다. 집적회로(402)는 모뎀(406), 진보된 RISC 머신 프로세서(408), VLIW 디지털 신호 프로세서(DSP)(410), 하나 이상의 프로세서(412), 시스템 메모리(414), 및 디스플레이 프로세서(416)를 포함한다. 모뎀(406), 진보된 RISC 머신 프로세서(408), VLIW DSP(410), 프로세서(412), 시스템 메모리(414), 및 디스플레이 프로세서(416)는 버스(418)를 통해 서로 커플링된다. 일반적으로, 버스(418)는 하나 이상의 입력 인터페이스에 커플링될 수도 있으며, 이 하나 이상의 입력 인터페이스는 키패드, 범용 직렬 버스 인터페이스, 마이크로폰, 스피커, 및 다양한 다른 컴포넌트를 포함하며, 이들은 간략화를 위해 생략된다. 이 경우, 메모리(414)는 VLIW 디지털 신호 프로세서(DSP)(410)에 의한 실행을 위한 단일 스테이지 DCT 명령(126)을 저장하여, 상기 도 2 및 도 3에 나타낸 바와 같은 2차원 8×8 DCT 오퍼레이션을 수행한다.
진보된 RISC 머신 프로세서(408)는 게임의 실행, 다른 프로세서(412)를 이용한 그래픽 디코딩의 조정 등을 포함하여 다양한 프로세스를 제어하기 위해 사용될 수도 있다. 모뎀(406)은, 버스(418)에 접속되거나 또는 모뎀(406)에 커플링되는 통신 인터페이스(도시안함)를 통해 외부 디바이스와 통신하기 위한 변조기/복조기이다. 통신 디바이스(400)는 특정 구현예에 의존하여 유선 또는 무선일 수도 있다.
일반적으로, 비디오 또는 이미지는 VLIW 디지털 신호 프로세서(410)에 제공되고, 이 VLIW 디지털 신호 프로세서는 시스템 메모리(414)로부터 제공된 프로세서-판독가능 단일 스테이지 DCT 명령을 사용하여 비디오 또는 이미지를 프로세싱한다. 그 후, 결과적인 디코딩된 비디오 또는 이미지는 버스(418)를 통해 디스플레이 프로세서(416)에 VLIW 디지털 신호 프로세서(410)에 의해 제공되고, 이 버스는 디코딩된 비디오 또는 이미지를 디스플레이(404)에 제공하고, 이 디스플레이는 예를 들어 액정 디스플레이(LCD)일 수도 있다. 일 실시형태에 있어서, VLIW DSP(410)는 캘리포니아주 샌디에고 소재의 퀄컴 인코포레이티드에서 생산된 바와 같은 QDSP-4 플랫폼 칩이다.
단일 스테이지 DCT 명령(126)은 상기 수학식 1 내지 17에 기술된 알고리즘을 수행하도록 실행될 수도 있다. 그 알고리즘은 VLIW 아키텍처를 갖는 다른 DSP와 함께 용이하게 이용될 수도 있다. 또한, 그 알고리즘은 선택된 DSP에 있어서의 리소스에 따라 용이하게 스케일될 수 있다. 예를 들어, 만약 특정 DSP가 클록 사이클 당 4회의 승산-누산 오퍼레이션(MAC) 및 2회의 산술 로직 유닛 오퍼레이션(ALU)을 수행할 수 있다면, 단일 스테이지 DCT 명령(126)은 MAC 오퍼레이션과 ALU 오퍼레이션을 병합함으로써 이러한 DSP 아키텍처를 이용하도록 구성될 수도 있다. 상기 수학식들이 8 포인트 DCT 오퍼레이션을 기술하지만, 그 알고리즘 및 관련 수학식들은 16 포인트 DCT 변환을 포함하여 다른 DCT 변환 오퍼레이션으로 스케일될 수도 있다. 또한, 그 수학식들은 인버스 DCT(IDCT) 오퍼레이션과의 사용을 위해 확장될 수도 있다. 일반적으로, 프로세서는 디지털 신호 프로세서를 사용하여 복수의 VLIW를 실행함으로써 이산 코사인 변환(DCT) 오퍼레이션을 수행하도록 구성될 수도 있다. 복수의 VLIW는 승산의 제 1 횟수 및 가산의 제 2 횟수를 포함할 수 있으며, 여기서, 제 1 횟수는 제 2 횟수보다 더 크다.
도 5는 VLIW DSP를 사용하여 1차원 8×8 DCT 오퍼레이션을 수행하는 방법을 나타낸 흐름도이다. 8 포인트 벡터(x)가 수신되며, 여기서,
Figure 112008031838364-PCT00023
이다(블록 500). 벡터(x)는 DCT 8×8 커널 매트릭스(C)의 첫번째 짝수 로우(c0,j)에 의해 승산되어, 8개의 곱을 형성한다(블록 502). 그 후, 8개의 곱은 함께 가산되어, 8 포인트 DCT 벡터(s)의 제 1 엘리먼트(s0)를 생성한다(블록 504). 제 1 세트의 스칼라(t)가 (상기 수학식 3 내지 6에 나타 낸 바와 같이) 벡터(x)의 선택된 엘리먼트로부터 계산된다(블록 506). 블록 502, 504 및 506의 승산-누산 및 가산 오퍼레이션은 동시에 발생할 수도 있음을 이해해야 한다. 다른 방법으로, 블록 506은 블록 502 및 504 이전에 발생할 수도 있다.
DCT 8×8 매트릭스(C)의 홀수 로우는 제 1 세트의 스칼라(t)의 선택된 스칼라와 승산되어, 그 매트릭스(C)의 각각의 홀수 로우에 관련된 곱의 세트를 생성한다(블록 508). 각각의 로우에 대한 곱의 세트는 함께 가산되어, 8 포인트 DCT 벡터(s)의 홀수 엘리먼트(s1, s3, s5, 및 s7)를 생성한다(블록 510). 제 2 세트의 스칼라(t2)가 (상기 수학식 7 내지 14에 나타낸 바와 같이) 제 1 세트의 스칼라(t)의 선택된 엘리먼트로부터 계산된다(블록 512). 블록 508, 510, 및 512의 승산-누산 및 가산 오퍼레이션은 동시에 또는 상이한 순서로 발생할 수도 있음을 이해해야 한다.
DCT 8×8 커널 매트릭스(C)의 나머지 짝수 로우(c2, c4, 및 c6)는 제 2 세트의 스칼라(t2)의 선택된 스칼라와 승산되어, 나머지 짝수 로우(c2, c4, 및 c6) 각각에 관련된 곱의 세트를 생성한다(블록 514). 그 곱의 세트는 나머지 짝수 로우(c2, c4, 및 c6) 각각에 대해 함께 가산되어, 8 포인트 DCT 벡터(s)의 짝수 엘리먼트(s2, s4, 및 s6)를 생성한다(블록 516).
일반적으로, 상술한 이산 코사인 변환(DCT) 오퍼레이션은 단일 스테이지 DSP 에서 동작하도록 구성될 수 있다. 승산 오퍼레이션보다 더 많은 가산 오퍼레이션을 포함하도록 알고리즘을 간략화하는 대신, 그 알고리즘은 30회의 승산 오퍼레이션 및 오직 12회의 가산을 가진다. 또한, 8 포인트 DCT 오퍼레이션은 VLIW DSP에 대해 8×8 DCT 변환에 요구되는 클록 사이클의 수를, C.Loeffler 등의 "Practical Fast 1-D DCT algorithm with 11 multiplications," IEEE Transactions on Acoustics, Speech and Signal Processing, (1989) ICASSP-89, Vol.2, pp.988-991에 의해 기술된 바와 같은 종래의 DCT 디코딩 오퍼레이션에 요구되는 599 사이클로부터 오직 297 사이클로 감소시킬 수 있다. 상기 수학식 4 내지 17에 기술된 단일 스테이지 DCT 오퍼레이션은 DCT 오퍼레이션을 수행하는데 요구되는 클록 사이클의 수의 관점에서 50% 초과의 개선을 제공하며, 이는 JPEG 인코딩/디코딩 레이턴시 및 DCT-기반 비디오 인코딩/디코딩 성능을 개선시킨다.
도 6은, 일반적으로 600으로 지정된 휴대용 통신 디바이스의 예시적 비한정적인 실시형태를 도시한 것이다. 도 6에 도시된 바와 같이, 휴대용 통신 디바이스는, 디지털 신호 프로세서(610)를 포함하는 온-칩(on-chip) 시스템(622)을 포함한다. 특정 실시형태에 있어서, 디지털 신호 프로세서(610)는, 도 1에 도시되어 있고 본 명세서에서 설명되는 바와 같은 VLIW 디지털 신호 프로세서이다. 도 6은 또한, 디지털 신호 프로세서(610) 및 디스플레이(628)에 커플링된 디스플레이 제어기(626)를 도시한다. 또한, 입력 디바이스(630)가 디지털 신호 프로세서(610)에 커플링된다. 도시된 바와 같이, 메모리(632)가 디지털 신호 프로세서(610)에 커플링된다. 부가적으로, 코더/디코더(CODEC; 634)가 디지털 신호 프로세서(610)에 커플링될 수 있다. 스피커(636) 및 마이크로폰(638)이 CODEC(634)에 커플링될 수 있다.
도 6은 또한, 무선 제어기(640)가 디지털 신호 프로세서(610) 및 무선 안테나(642)에 커플링될 수 있음을 나타낸다. 특정 실시형태에 있어서, 전원(644)이 온-칩 시스템(622)에 커플링된다. 또한, 특정 실시형태에 있어서, 도 6에 도시된 바와 같이, 디스플레이(628), 입력 디바이스(630), 스피커(636), 마이크로폰(638), 무선 안테나(642), 및 전원(644)은 온-칩 시스템(622) 외부에 존재한다. 하지만, 그 각각은 온-칩 시스템(622)의 컴포넌트에 커플링된다.
특정 실시형태에 있어서, 디지털 신호 프로세서(610)는 휴대용 통신 디바이스(600)의 다양한 컴포넌트에 의해 요구되는 기능성 및 오퍼레이션을 수행하는데 필요한 프로그램과 관련된 명령을 프로세싱할 수도 있다. 예를 들어, 무선 통신 세션이 무선 안테나를 통해 확립될 경우, 사용자는 마이크로폰(638)으로 발화할 수 있다. 사용자의 음성을 나타내는 전자 신호는 CODEC(634)으로 전송되어 인코딩될 수 있다. 디지털 신호 프로세서(610)는 CODEC(634)에 대한 데이터 프로세싱을 수행하여 마이크로폰으로부터의 전자 신호를 인코딩할 수 있다. 또한, 무선 안테나(642)를 통해 수신된 착신 신호는 무선 제어기(640)에 의해 CODEC(634)로 전송되어 디코딩되고 스피커(636)로 전송될 수 있다. 디지털 신호 프로세서(610)는 또한, 무선 안테나(642)를 통해 수신된 신호를 디코딩할 경우에 CODEC(634)에 대한 데이터 프로세싱을 수행할 수 있다.
또한, 무선 통신 세션 이전, 그 동안, 또는 그 이후, 디지털 신호 프로세 서(610)는 입력 디바이스(630)로부터 수신된 입력을 프로세싱할 수 있다. 예를 들어, 무선 통신 세션 동안, 사용자는 입력 디바이스(630) 및 디스플레이(628)를 이용하여, 휴대용 통신 디바이스(600)의 메모리(632) 내에 임베딩된 웹 브라우저를 통해 인터넷을 서핑할 수도 있다. 프로그램과 관련된 명령의 대다수는 하나 이상의 클록 사이클 동안 동시에 실행될 수도 있다. DSP(610)는 단일 스테이지 이산 코사인 변환 오퍼레이션을 수행하도록 이용될 수도 있다.
도 7을 참조하면, 무선 전화기의 예시적 비한정적인 실시형태가 도시되어 있으며, 일반적으로 700으로 지정된다. 도시된 바와 같이, 무선 전화기(700)는, 함께 커플링되어 있는 디지털 기저대역 프로세서(710) 및 아날로그 기저대역 프로세서(726)를 포함하는 온-칩 시스템(722)을 포함한다. 특정 실시형태에 있어서, 디지털 기저대역 프로세서(710)는, 도 1에 도시되어 있고 본 명세서에서 설명되는 바와 같은 VLIW 디지털 신호 프로세서이다. 도 7에 도시된 바와 같이, 디스플레이 제어기(728) 및 터치스크린 제어기(730)가 디지털 기저대역 프로세서(710)에 커플링된다. 차례로, 온-칩 시스템(722) 외부의 터치스크린 디스플레이(732)는 디스플레이 제어기(728) 및 터치스크린 제어기(730)에 커플링된다.
도 7은 또한, 예를 들어, PAL(phase alternating line) 인코더, SECAM(sequential couleur a memoire) 인코더, 또는 NTSC(national television system(s) committee) 인코더인 비디오 인코더(734)가 디지털 기저대역 프로세서(710)에 커플링됨을 나타낸다. 또한, 비디오 증폭기(736)가 비디오 인코더(734) 및 터치스크린 디스플레이(732)에 커플링된다. 또한, 비디오 포 트(738)는 비디오 증폭기(736)에 커플링된다. 도 7에 도시된 바와 같이, 범용 직렬 버스(USB) 제어기(740)가 디지털 기저대역 프로세서(710)에 커플링된다. 또한, USB 포트(742)는 USB 제어기(740)에 커플링된다. 메모리(744) 및 가입자 아이덴터티 모듈(SIM) 카드(746) 또한 디지털 기저대역 프로세서(710)에 커플링될 수 있다. 또한, 도 7에 도시된 바와 같이, 디지털 카메라(748)가 디지털 기저대역 프로세서(710)에 커플링될 수 있다. 예시적인 실시형태에 있어서, 디지털 카메라(748)는 전하-커플링 디바이스(CCD) 카메라 또는 상보형 금속-산화물 반도체(CMOS) 카메라이다.
도 7에 더 도시된 바와 같이, 스테레오 오디오 CODEC(750)이 아날로그 기저대역 프로세서(726)에 커플링될 수 있다. 또한, 오디오 증폭기(752)가 스테레오 오디오 CODEC(750)에 커플링될 수 있다. 예시적인 실시형태에 있어서, 제 1 스테레오 스피커(754) 및 제 2 스테레오 스피커(756)가 오디오 증폭기(752)에 커플링된다. 도 7은, 마이크로폰 증폭기(758)가 또한 스테레오 오디오 CODEC(750)에 커플링될 수 있음을 도시한다. 부가적으로, 마이크로폰(760)은 마이크로폰 증폭기(758)에 커플링될 수 있다. 특정 실시형태에 있어서, 주파수 변조(FM) 라디오 튜너(762)가 스테레오 오디오 CODEC(750)에 커플링될 수 있다. 또한, FM 안테나(764)는 FM 라디오 튜너(762)에 커플링된다. 또한, 스테레오 헤드폰(766)이 스테레오 오디오 CODEC(750)에 커플링될 수 있다.
도 7은 또한, 무선 주파수(RF) 트랜시버(768)가 아날로그 기저대역 프로세서(726)에 커플링될 수 있음을 나타낸다. RF 스위치(770)가 RF 트랜시버(768) 및 RF 안테나(772)에 커플링될 수 있다. 도 7에 도시된 바와 같이, 키패드(774)가 아날로그 기저대역 프로세서(726)에 커플링될 수 있다. 또한, 마이크로폰을 갖는 모노 헤드셋(776)이 아날로그 기저대역 프로세서(726)에 커플링될 수 있다. 또한, 바이브레이터 디바이스(778)가 아날로그 기저대역 프로세서(726)에 커플링될 수 있다. 도 7은 또한, 전원(780)이 온-칩 시스템(722)에 커플링될 수 있음을 도시한다. 특정 실시형태에 있어서, 전원(780)은, 전력을 요구하는 무선 전화기(700)의 다양한 컴포넌트에 전력을 제공하는 직류(DC) 전원이다. 또한, 특정 실시형태에 있어서, 전원은, 교류(AC) 전원에 접속된 AC 대 DC 변압기로부터 유도되는 충전가능 DC 배터리 또는 DC 전원이다.
특정 실시형태에 있어서, 도 7에 도시된 바와 같이, 터치스크린 디스플레이(732), 비디오 포트(738), USB 포트(742), 카메라(748), 제 1 스테레오 스피커(754), 제 2 스테레오 스피커(756), 마이크로폰(760), FM 안테나(764), 스테레오 헤드폰(766), RF 스위치(770), RF 안테나(772), 키패드(774), 모노 헤드셋(776), 바이브레이터(778), 및 전원(780)은 온-칩 시스템(722) 외부에 존재한다. 디지털 기저대역 프로세서(DSP; 710)는 신호에 대한 단일 스테이지 이산 코사인 변환 오퍼레이션을 수행하는데 이용될 수도 있다.
도 8을 참조하면, 무선 인터넷 프로토콜(IP) 전화기의 예시적 비한정적인 실시형태가 도시되어 있으며, 일반적으로 800으로 지정된다. 도시된 바와 같이, 무선 IP 전화기(800)는, 디지털 신호 프로세서(DSP; 804)를 포함하는 온-칩 시스템(802)을 포함한다. 특정 실시형태에 있어서, 디지털 신호 프로세서(804)는, 도 1에 도시되어 있고 본 명세서에서 설명되는 바와 같은 VLIW 디지털 신호 프로세서이다. 도 8에 도시된 바와 같이, 디스플레이 제어기(806)는 DSP(804)에 커플링되고, 디스플레이(808)는 디스플레이 제어기(806)에 커플링된다. 예시적인 실시형태에 있어서, 디스플레이(808)는 액정 디스플레이(LCD)이다. 도 8은 또한, 키패드(810)가 DSP(804)에 커플링될 수 있음을 도시한다.
도 8에 더 도시된 바와 같이, 플래시 메모리(812)가 DSP(804)에 커플링될 수 있다. 동기식 동적 랜덤 액세스 메모리(SDRAM; 814), 정적 랜덤 액세스 메모리(SRAM; 816), 및 전기적 소거가능 프로그래머블 판독 전용 메모리(EEPROM; 818) 또한 DSP(804)에 커플링될 수 있다. 도 8은 또한, 발광 다이오드(LED; 820)가 DSP(804)에 커플링될 수 있음을 도시한다. 부가적으로, 특정 실시형태에 있어서, 음성 CODEC(822)이 DSP(804)에 커플링될 수 있다. 증폭기(824)는 음성 CODEC(822)에 커플링될 수 있으며, 모노 스피커(826)가 증폭기(824)에 커플링될 수 있다. 또한, 도 8은, 모노 헤드셋(828) 또한 음성 CODEC(822)에 커플링될 수 있음을 나타낸다. 특정 실시형태에 있어서, 모노 헤드셋(828)은 마이크로폰을 포함한다.
도 8은 또한, 무선 로컬 영역 네트워크(WLAN) 기저대역 프로세서(830)가 DSP(804)에 커플링될 수 있음을 나타낸다. RF 트랜시버(832)는 WLAN 기저대역 프로세서(830)에 커플링될 수 있으며, RF 안테나(834)가 RF 트랜시버(832)에 커플링될 수 있다. 특정 실시형태에 있어서, 블루투스 제어기(836)가 또한 DSP(804)에 커플링될 수 있으며, 블루투스 안테나(838)는 제어기(836)에 커플링될 수 있다. 또한, 도 8은, USB 포트(840) 또한 DSP(804)에 커플링될 수 있음을 도시한다. 더욱이, 전원(842)이 온-칩 시스템(802)에 커플링되어, 온-칩 시스템(802)을 통해 무선 IP 전화기(800)의 다양한 컴포넌트에 전력을 제공한다.
특정 실시형태에 있어서, 도 8에 나타낸 바와 같이, 디스플레이(808), 키패드(810), LED(820), 모노 스피커(826), 모노 헤드셋(828), RF 안테나(834), 블루투스 안테나(838), USB 포트(840), 및 전원(842)은 온-칩 시스템(802) 외부에 존재한다. 하지만, 이들 컴포넌트 각각은 온-칩 시스템의 하나 이상의 컴포넌트에 커플링된다. DSP(804)는 신호에 대한 단일 스테이지 이산 코사인 변환 오퍼레이션을 수행하는데 이용될 수도 있다.
도 9는, 일반적으로 900으로 지정된 휴대용 디지털 정보단말기(PDA)의 예시적 비한정적인 실시형태를 도시한 것이다. 도시된 바와 같이, PDA(900)는, 디지털 신호 프로세서(DSP; 904)를 포함하는 온-칩 시스템(902)을 포함한다. 특정 실시형태에 있어서, 디지털 신호 프로세서(904)는, 도 1에 도시되어 있고 본 명세서에서 설명되는 바와 같은 VLIW 디지털 신호 프로세서이다. 도 9에 도시된 바와 같이, 터치스크린 제어기(906) 및 디스플레이 제어기(908)가 DSP(904)에 커플링된다. 또한, 터치스크린 디스플레이가 터치스크린 제어기(906) 및 디스플레이 제어기(908)에 커플링된다. 도 9는 또한, 키패드(912)가 DSP(904)에 커플링될 수 있음을 도시한다.
도 9에 더 도시된 바와 같이, 플래시 메모리(914)가 DSP(904)에 커플링될 수 있다. 또한, 판독 전용 메모리(ROM; 916), 동적 랜덤 액세스 메모리(DRAM; 918), 및 전기적 소거가능 프로그래머블 판독 전용 메모리(EEPROM; 920)가 DSP(904)에 커플링될 수 있다. 도 9는 또한, IrDA(infrared data association) 포트(922)가 DSP(904)에 커플링될 수 있음을 도시한다. 부가적으로, 특정 실시형태에 있어서, 디지털 카메라(924)가 DSP(904)에 커플링될 수 있다.
도 9에 도시된 바와 같이, 특정 실시형태에 있어서, 스테레오 오디오 CODEC(926)이 DSP(904)에 커플링될 수 있다. 제 1 스테레오 증폭기(928)가 스테레오 오디오 CODEC(926)에 커플링될 수 있고, 제 1 스테레오 스피커(930)는 제 1 스테레오 증폭기(928)에 커플링될 수 있다. 부가적으로, 마이크로폰 증폭기(932)가 스테레오 오디오 CODEC(926)에 커플링될 수 있고, 마이크로폰(934)은 마이크로폰 증폭기(932)에 커플링될 수 있다. 도 9는 또한, 제 2 스테레오 증폭기(936)가 스테레오 오디오 CODEC(926)에 커플링될 수 있고, 제 2 스테레오 스피커(938)는 제 2 스테레오 증폭기(936)에 커플링될 수 있음을 도시한다. 특정 실시형태에 있어서, 스테레오 헤드폰(940) 또한 스테레오 오디오 CODEC(926)에 커플링될 수 있다.
도 9는 또한, 802.11 제어기(942)가 DSP(904)에 커플링될 수 있고 802.11 안테나(944)는 802.11 제어기(942)에 커플링될 수 있음을 나타낸다. 또한, 블루투스 제어기(946)가 DSP(904)에 커플링될 수 있고, 블루투스 안테나(948)는 블루투스 제어기(946)에 커플링될 수 있다. 도 9에 도시된 바와 같이, USB 제어기(950)가 DSP(904)에 커플링될 수 있고, USB 포트(952)는 USB 제어기(950)에 커플링될 수 있다. 부가적으로, 스마트 카드(954), 예를 들어, 멀티미디어 카 드(MMC) 또는 보안 디지털 카드(SD)가 DSP(904)에 커플링될 수 있다. 또한, 도 9에 도시된 바와 같이, 전원(956)이 온-칩 시스템(902)에 커플링되어, 온-칩 시스템(902)을 통해 PDA(900)의 다양한 컴포넌트에 전력을 제공한다.
특정 실시형태에 있어서, 도 9에 나타낸 바와 같이, 디스플레이(910), 키패드(912), IrDA 포트(922), 디지털 카메라(924), 제 1 스테레오 스피커(930), 마이크로폰(934), 제 2 스테레오 스피커(938), 스테레오 헤드폰(940), 802.11 안테나(944), 블루투스 안테나(948), USB 포트(952), 및 전원(956)은 온-칩 시스템(902) 외부에 존재한다. 하지만, 이들 컴포넌트 각각은 온-칩 시스템의 하나 이상의 컴포넌트에 커플링된다. DSP(904)는 신호에 대한 단일 스테이지 이산 코사인 변환 오퍼레이션을 수행하는데 이용될 수도 있다.
또한, 당업자는 본 명세서에서 개시된 실시형태들과 관련하여 설명된 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로 구현될 수도 있음을 인식한다. 하드웨어와 소프트웨어의 이러한 대체 가능성을 분명히 설명하기 위하여, 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들 및 단계들이 주로 그들의 기능의 관점에서 상술되었다. 그러한 기능이 하드웨어로 구현될지 소프트웨어로 구현될지는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약조건들에 의존한다. 당업자는 설명된 기능을 각각의 특정 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 그러한 구현의 결정이 본 개시물의 범주를 벗어나게 하는 것으로 해석하지는 않아야 한다.
본 명세서에서 개시된 실시형태들과 관련하여 설명된 방법 및 알고리즘의 단계들은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에서 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, PROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되어, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수도 있다. ASIC 은 컴퓨팅 디바이스 또는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기 내에 별개의 컴포넌트로서 상주할 수도 있다.
개시되어 있는 실시형태들에 대한 상기의 설명은 당업자로 하여금 본 개시물을 제조 또는 이용할 수 있도록 제공된다. 이들 실시형태에 대한 다양한 변형들은 당업자에게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 본 개시물의 사상 또는 범위를 벗어나지 않고도 다른 실시형태들에 적용될 수도 있다. 따라서, 본 개시물은 본 명세서에 설명된 실시형태들에 한정되는 것이 아니라, 다음의 특허청구범위에 의해 정의된 바와 같은 원리 및 신규한 특징들과 부합하는 최광의 범위를 부여하려는 것이다.

Claims (25)

  1. 이산 코사인 변환 오퍼레이션을 수행하기 위한 단일 스테이지 연산 방법으로서,
    디지털 신호 프로세서를 사용하여 복수의 VLIW(very large instruction words)를 실행함으로써 상기 이산 코사인 변환 오퍼레이션을 수행하는 단계를 포함하며,
    상기 복수의 VLIW는 승산의 제 1 횟수와 가산의 제 2 횟수를 포함하고,
    상기 제 1 횟수는 상기 제 2 횟수보다 큰, 단일 스테이지 연산 방법.
  2. 제 1 항에 있어서,
    상기 이산 코사인 변환 오퍼레이션은 8 포인트 데이터 세트에 대해 수행되는, 단일 스테이지 연산 방법.
  3. 제 1 항에 있어서,
    상기 이산 코사인 변환 오퍼레이션은 8×8 포인트 매트릭스 데이터 세트에 대해 수행되는, 단일 스테이지 연산 방법.
  4. 제 1 항에 있어서,
    상기 복수의 VLIW의 명령은, 상기 이산 코사인 변환 오퍼레이션이 단일 스테 이지의 실행으로 수행될 수 있도록 데이터 의존성이 없는, 단일 스테이지 연산 방법.
  5. 제 1 항에 있어서,
    상기 이산 코사인 변환 오퍼레이션을 수행하는 단계는,
    1차원 8 포인트 DCT 변환 오퍼레이션을 입력 매트릭스 데이터 세트의 각각의 컬럼에 적용하여, 중간 매트릭스를 생성하는 단계; 및
    상기 1차원 8 포인트 DCT 변환 오퍼레이션을 상기 중간 매트릭스의 각각의 로우에 적용하여, 변환된 매트릭스 데이터 세트를 생성하는 단계를 포함하는, 단일 스테이지 연산 방법.
  6. 제 1 항에 있어서,
    상기 승산의 제 1 횟수는 30회의 승산 오퍼레이션을 포함하고,
    상기 가산의 제 2 횟수는 12회의 가산을 포함하는, 단일 스테이지 연산 방법.
  7. 입력 데이터 세트를 수신하는 단계;
    상기 입력 데이터 세트에 대해 단일 스테이지 이산 코사인 변환 오퍼레이션을 수행하여 변환된 데이터 세트를 생성하기 위해, 복수의 VLIW(very large instruction words)를 실행함으로써 상기 입력 데이터 세트를 프로세싱하는 단계를 포함하는, 이산 코사인 변환 오퍼레이션을 수행하기 위한 방법.
  8. 제 7 항에 있어서,
    상기 입력 데이터 세트를 프로세싱하는 단계는,
    상기 입력 데이터 세트에 관련된 복수의 스칼라를 계산하는 단계;
    상기 복수의 스칼라를 커널 매트릭스와 승산하여, 복수의 곱들을 생성하는 단계; 및
    상기 복수의 곱들을 합산하여, 상기 변환된 데이터 세트를 생성하는 단계를 포함하는, 이산 코사인 변환 오퍼레이션을 수행하기 위한 방법.
  9. 제 7 항에 있어서,
    상기 복수의 VLIW는 승산의 제 1 횟수와 가산의 제 2 횟수를 포함하고,
    상기 제 1 횟수는 상기 제 2 횟수보다 큰, 이산 코사인 변환 오퍼레이션을 수행하기 위한 방법.
  10. 제 7 항에 있어서,
    상기 입력 데이터 세트를 수신하는 단계는 8 포인트 데이터 세트를 수신하는 단계를 포함하는, 이산 코사인 변환 오퍼레이션을 수행하기 위한 방법.
  11. 제 7 항에 있어서,
    상기 입력 데이터 세트를 수신하는 단계는 8×8 매트릭스 데이터 세트를 수신하는 단계를 포함하는, 이산 코사인 변환 오퍼레이션을 수행하기 위한 방법.
  12. 단일 스테이지 이산 코사인 변환 오퍼레이션을 실행하기 위해 VLIW(very large instruction words)의 세트를 저장하기 위한 메모리; 및
    상기 VLIW의 세트를 실행하여 입력 데이터 세트로부터 변환된 데이터 세트를 생성하도록 구성된 디지털 신호 프로세서를 구비하는, 통신 디바이스.
  13. 제 12 항에 있어서,
    상기 디지털 신호 프로세서는, 단일 클록 사이클에서, 2회의 승산-누산 오퍼레이션, 산술 로직 유닛 오퍼레이션, 및 메모리 로드/저장 오퍼레이션을 수행하도록 구성된, 통신 디바이스.
  14. 제 12 항에 있어서,
    상기 디지털 신호 프로세서는 JPEG(Joint Photographic Experts Group) 포맷에 따라 압축된 이미지를 프로세싱하도록 구성된, 통신 디바이스.
  15. 제 12 항에 있어서,
    상기 디지털 신호 프로세서는 MPEG(Moving Picture Experts Group) 포맷에 따라 압축된 비디오를 프로세싱하도록 구성된, 통신 디바이스.
  16. 제 12 항에 있어서,
    상기 디지털 신호 프로세서는 300 미만의 클록 사이클에서 8×8 변환을 수행하는, 통신 디바이스.
  17. 제 12 항에 있어서,
    상기 통신 디바이스는 이동 전화기를 포함하는, 통신 디바이스.
  18. 제 12 항에 있어서,
    상기 통신 디바이스는 VoIP(Voice over Internet Protocol) 전화기를 포함하는, 통신 디바이스.
  19. 가산 오퍼레이션보다 더 많은 승산 오퍼레이션을 갖는 이산 코사인 변환(DCT) 오퍼레이션을 실행하기 위한 VLIW(very large instruction words)의 명령 세트; 및
    입력 데이터 세트에 대해 상기 DCT 오퍼레이션을 수행하여 변환 데이터 세트를 생성하기 위해 상기 명령 세트를 실행하도록 구성된 프로세서를 구비하는, 디지털 신호 프로세서.
  20. 제 19 항에 있어서,
    상기 프로세서는 단일 스테이지에서 상기 명령 세트를 실행하는, 디지털 신호 프로세서.
  21. 제 19 항에 있어서,
    상기 DCT 오퍼레이션은 가산 오퍼레이션보다 2배 많은 승산 오퍼레이션을 포함하는, 디지털 신호 프로세서.
  22. 제 19 항에 있어서,
    상기 입력 데이터 세트는 8×8 매트릭스 데이터 세트를 포함하는, 디지털 신호 프로세서.
  23. 이산 코사인 변환(DCT) 오퍼레이션을 정의하는 복수의 VLIW(very large instruction words)를 포함하는 명령 세트를 저장하는 수단;
    입력 데이터 세트를 수신하는 수단; 및
    상기 입력 데이터 세트에 대해 상기 복수의 VLIW를 실행함으로써 상기 이산 코사인 변환 오퍼레이션을 수행하는 수단을 구비하며,
    상기 복수의 VLIW는 승산의 제 1 횟수와 가산의 제 2 횟수를 포함하고,
    상기 제 1 횟수는 상기 제 2 횟수보다 큰, 통신 시스템.
  24. 이산 코사인 변환 오퍼레이션을 수행하기 위한 단일 스테이지 연산 방법으로 서,
    복수의 VLIW(very large instruction words)를 복수의 기본 명령으로 분해하여 이산 코사인 변환(DCT) 오퍼레이션을 실행하는 단계;
    상기 복수의 기본 명령 중 적어도 2개의 기본 명령을 동시에 실행하여, 단일 스테이지에서, 입력 데이터 세트에 대해 이산 코사인 변환(DCT) 오퍼레이션을 수행하는 단계; 및
    상기 입력 데이터 세트에 대한 상기 DCT 오퍼레이션의 성능에 관련된 변환 데이터 세트를 생성하는 단계를 포함하는, 단일 스테이지 연산 방법.
  25. 제 24 항에 있어서,
    상기 복수의 VLIW는 승산의 제 1 횟수와 가산의 제 2 횟수를 포함하고,
    상기 승산의 제 1 횟수는 상기 가산의 제 2 횟수보다 적어도 2배 큰, 단일 스테이지 연산 방법.
KR1020087010725A 2005-10-05 2006-10-05 Vliw 아키텍처를 갖는 dsp에 대한 고속 dct알고리즘 Expired - Fee Related KR101041760B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US72413105P 2005-10-05 2005-10-05
US60/724,131 2005-10-05
US11/377,134 2006-03-15
US11/377,134 US7725516B2 (en) 2005-10-05 2006-03-15 Fast DCT algorithm for DSP with VLIW architecture

Publications (2)

Publication Number Publication Date
KR20080063386A true KR20080063386A (ko) 2008-07-03
KR101041760B1 KR101041760B1 (ko) 2011-06-17

Family

ID=37903117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087010725A Expired - Fee Related KR101041760B1 (ko) 2005-10-05 2006-10-05 Vliw 아키텍처를 갖는 dsp에 대한 고속 dct알고리즘

Country Status (7)

Country Link
US (2) US7725516B2 (ko)
EP (1) EP1952269A2 (ko)
JP (1) JP4801163B2 (ko)
KR (1) KR101041760B1 (ko)
CN (1) CN101351792B (ko)
TW (1) TW200801980A (ko)
WO (1) WO2007044598A2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725516B2 (en) * 2005-10-05 2010-05-25 Qualcomm Incorporated Fast DCT algorithm for DSP with VLIW architecture
US8340058B2 (en) * 2007-10-29 2012-12-25 Nvidia Corporation Headphone with enhanced voice communication
US20090198976A1 (en) * 2008-02-06 2009-08-06 Austel Vernon R Method and structure for high-performance matrix multiplication in the presence of several architectural obstacles
US8825015B2 (en) * 2008-09-18 2014-09-02 Nvidia Corporation Accessing web pages on communication paths with low bandwidth
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9075757B2 (en) * 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9081733B2 (en) * 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9118898B2 (en) * 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
TWI415474B (zh) * 2010-07-19 2013-11-11 Mstar Semiconductor Inc 視訊編/解碼器與其方法
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
US9389854B2 (en) 2013-03-15 2016-07-12 Qualcomm Incorporated Add-compare-select instruction
US9870341B2 (en) * 2016-03-18 2018-01-16 Qualcomm Incorporated Memory reduction method for fixed point matrix multiply

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8601183A (nl) * 1986-05-12 1987-12-01 Philips Nv Discrete cosinus transformatie-inrichting.
JP2646844B2 (ja) * 1990-11-16 1997-08-27 日本電気株式会社 離散コサイン変換装置
JP2928684B2 (ja) * 1991-10-31 1999-08-03 株式会社東芝 Vliw型演算処理装置
JPH0883264A (ja) * 1994-09-12 1996-03-26 Nippon Telegr & Teleph Corp <Ntt> 1次元シストリックアレイ型演算器とそれを用いたdct/idct演算装置
US5943502A (en) * 1994-12-09 1999-08-24 Neomagic Israel Ltd. Apparatus and method for fast 1D DCT
CN1142162A (zh) * 1995-01-28 1997-02-05 大宇电子株式会社 二维逆离散余弦变换电路
US5826054A (en) * 1996-05-15 1998-10-20 Philips Electronics North America Corporation Compressed Instruction format for use in a VLIW processor
AU9030298A (en) * 1997-08-25 1999-03-16 Qualcomm Incorporated Variable block size 2-dimensional inverse discrete cosine transform engine
US6173389B1 (en) 1997-12-04 2001-01-09 Billions Of Operations Per Second, Inc. Methods and apparatus for dynamic very long instruction word sub-instruction selection for execution time parallelism in an indirect very long instruction word processor
KR100538605B1 (ko) * 1998-03-18 2005-12-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 처리 장치, 행렬 변환 방법 및 컴퓨터 판독가능한 매체
US6154443A (en) 1998-08-11 2000-11-28 Industrial Technology Research Institute FFT-based CDMA RAKE receiver system and method
US6839728B2 (en) * 1998-10-09 2005-01-04 Pts Corporation Efficient complex multiplication and fast fourier transform (FFT) implementation on the manarray architecture
IL146183A0 (en) 1999-04-29 2002-07-25 Walter E Pelton Computation of discrete fourier transform
WO2001035267A1 (en) 1999-11-12 2001-05-17 Bops, Incorporated Methods and apparatus for efficient cosine transform implementations
US6754687B1 (en) * 1999-11-12 2004-06-22 Pts Corporation Methods and apparatus for efficient cosine transform implementations
US6804771B1 (en) * 2000-07-25 2004-10-12 University Of Washington Processor with register file accessible by row column to achieve data array transposition
US7027489B2 (en) 2001-04-06 2006-04-11 Interdigital Technology Corporation Iterative fast fourier transform error correction
US7689641B2 (en) * 2003-06-30 2010-03-30 Intel Corporation SIMD integer multiply high with round and shift
EP1536647A1 (en) * 2003-11-26 2005-06-01 STMicroelectronics Limited A video decoding device
FI118747B (fi) 2004-01-23 2008-02-29 Abb Oy Automaattinen ohjauslaite
JP4283131B2 (ja) * 2004-02-12 2009-06-24 パナソニック株式会社 プロセッサ及びコンパイル方法
US7725516B2 (en) * 2005-10-05 2010-05-25 Qualcomm Incorporated Fast DCT algorithm for DSP with VLIW architecture

Also Published As

Publication number Publication date
CN101351792A (zh) 2009-01-21
KR101041760B1 (ko) 2011-06-17
JP2009516238A (ja) 2009-04-16
WO2007044598A3 (en) 2008-08-14
US20070078921A1 (en) 2007-04-05
JP4801163B2 (ja) 2011-10-26
WO2007044598A2 (en) 2007-04-19
TW200801980A (en) 2008-01-01
EP1952269A2 (en) 2008-08-06
CN101351792B (zh) 2010-12-22
US20100235421A1 (en) 2010-09-16
US8396916B2 (en) 2013-03-12
US7725516B2 (en) 2010-05-25

Similar Documents

Publication Publication Date Title
US8396916B2 (en) Fast DCT algorithm for DSP with VLIW architecture
JP6073385B2 (ja) スカラー/ベクトル命令を使用したデータ処理システムおよび方法
EP1896919B1 (en) System and method of counting leading zeros and counting leading ones in a digital signal processor
CN110263909A (zh) 图像识别方法及装置
US20100122070A1 (en) Combined associative and distributed arithmetics for multiple inner products
MX2007012584A (es) Archivos de registro no divididos unificados para un procesador de senales digital que opera en un ambiente intercalado de multi-ejecucion.
US20040117418A1 (en) Forward discrete cosine transform engine
EP2761870A1 (en) Systems, methods, and computer program products for a video encoding pipeline
JP2009516238A5 (ko)
EP3072297A1 (en) Implementation design for hybrid transform coding scheme
EP1943588B1 (en) Arithmethic logic and shifting device for use in a processor
US8234319B2 (en) System and method of performing two&#39;s complement operations in a digital signal processor
Braatz et al. A new hardware friendly 2D-DCT HEVC compliant algorithm and its high throughput and low power hardware design
CN111200732A (zh) 一种反量化反变换方法及装置
CN113761464A (zh) 数据处理方法、介质及电子设备
Dang et al. High-performance low-power BinDCT coprocessor for wireless video applications
Park et al. Architecture of an efficient area and flexible multi-codec processor
Girija et al. Analysis of the Matrix Processing (MxP) Architecture
Srinivasarao et al. A parallel architecture for successive elimination block matching algorithm

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E90F Notification of reason for final refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U12-oth-PR1002

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 4

PR1001 Payment of annual fee

Fee payment year number: 4

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PR1001 Payment of annual fee

Fee payment year number: 5

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 6

PR1001 Payment of annual fee

Fee payment year number: 6

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 7

PR1001 Payment of annual fee

Fee payment year number: 7

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 8

PR1001 Payment of annual fee

Fee payment year number: 8

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PC1903 Unpaid annual fee

Not in force date: 20190610

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20190610

St.27 status event code: N-4-6-H10-H13-oth-PC1903

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000