KR20060034269A - 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 - Google Patents
낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 Download PDFInfo
- Publication number
- KR20060034269A KR20060034269A KR1020060030996A KR20060030996A KR20060034269A KR 20060034269 A KR20060034269 A KR 20060034269A KR 1020060030996 A KR1020060030996 A KR 1020060030996A KR 20060030996 A KR20060030996 A KR 20060030996A KR 20060034269 A KR20060034269 A KR 20060034269A
- Authority
- KR
- South Korea
- Prior art keywords
- discrete cosine
- cosine transform
- unit
- quantization
- inverse
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 낮은 메모리 대역폭을 갖는 동영상 압축 장치 및 그의 데이터 처리 방법에 관한 것이다. 동영상 압축 장치는 움직임 추정 프로세서와, 3 개의 로컬 메모리부와, 이산여현변환/역이산여현변환부 및 양자화/역양자화부를 포함한다.따라서 동영상 압축 장치는 외부 프레임 메모리의 사용을 줄여서 전력 소모를 감소시키고, 이산여현변환/역이산여현변환부와 양자화/역양자화부를 각각의 프로세싱 유닛으로 구비하여 시스템 온 칩(System On a Chip : SOC)을 형성함으로써, 동영상 압축 장치 및 이를 구비하는 휴대용 전자 시스템의 소형화 및 저소모 전력 구현이 용이하다.
동영상 압축 장치, 비디오 인코더, 프레임 메모리, 메모리 대역폭, 모바일
Description
도 1은 일반적인 동영상 압축 장치의 상세한 구성을 도시한 블럭도;
도 2는 도 1에 도시된 동영상 압축 장치를 구비하는 모바일 시스템의 개략적인 구성을 나타내는 블럭도;
도 3은 본 발명에 따른 동영상 압축 장치를 구비하는 모바일 시스템의 개략적인 구성을 도시한 블럭도;
도 4는 도 3에 도시된 동영상 압축 장치의 상세한 구성을 나타내는 블럭도; 그리고
도 5는 도 4에 도시된 동영상 압축 장치의 동작 타이밍도이다.
* 도면의 주요 부분에 대한 부호 설명 *
100 : 모바일 시스템 102 : 외부 프레임메모리
104 : 시스템 컨트롤러(SOC) 106 : 중앙처리장치(CPU)
108 : 메모리 컨트롤러 110 : 비디오코어
112 : 움직임 추정부(ME) 114 : 모드 결정부
116 : 움직임 보상부(MC) 118 : 워킹 메모리
120 : DMA 컨트롤러 122, 130 : 로컬 메모리
124 : 가산기 126 : DCT/IDCT부
128 : Q/IQ부 132 : 지그재그 스캐닝부
134 : 가변 길이 부호화기
본 발명은 동영상 압축 장치에 관한 것으로, 좀 더 구체적으로는 외부 프레임 메모리의 사용을 최소화하여 낮은 메모리 대역폭을 갖는 동영상 압축 장치 및 그의 데이터 처리 방법에 관한 것이다.
또한, 본 발명은 소형화 및 저소모 전력용 휴대용 전자 장치에 적합한 동영상 압축 장치 및 그의 데이터 처리 방법에 관한 것이다.
MPEG 2, MPEG 4 및 H.263 표준안과 같은 방식을 이용하여 동영상 데이터를 압축하는 경우, 동영상 압축 장치는 압축하려는 영상과 복원된 영상을 외부 메모리 장치 즉, 프레임 메모리(예컨대, SDRAM)에 저장하여 처리한다.
일반적으로 도 1을 참조하면, 상기 동영상 압축 장치(2)는 외부로부터 입력되는 영상(input image)이 프레임 메모리(24)에 저장되고, 프레임 메모리(4)에 저장된 이전 복원 영상을 참조하여 움직임 추정부(Motion Estimation : ME)(28) 및 움직임 보상부(Motion Compensation : MC)(26)에서 움직임 추정 및 보상한 영상과의 차가 감산기(6)에서 구해진다. 즉, 움직임 추정부(28)는 현재 매크로 블럭과 가장 유사한 매크로 블럭을 이전 프레임에서 탐색하여 해당 움직임 벡터를 계산한 다. 움직임 보상부(26)는 이전 프레임에서 움직임 벡터만큼 이동한 매크로 블럭을 추출하고, 감산기(6)는 움직임 보상부(26)로부터 추출된 매크로 블럭과 현재 매크로 블럭과의 차분 신호를 생성한다.
상기 차분 신호가 이산여현변환기(Discrete Cosine Transform : DCT)(8)와 양자화기(Quantization)(10)를 거친 후, 가변길이부호화기(Variable Length Coder : VLC)(14)에 입력된다. 가변길이부호화기(14)에서 출력되는 비트열은 출력 버퍼(FIFO)(16)에 저장된 후 채널로 전송된다. 비트율 제어기(rate controller)(12)는 출력 버퍼(16)의 오버플로우나 언더플로우가 발생하지 않도록 버퍼 상태에 적응하여 양자화값을 조절해준다. 즉, 비트율 제어기(12)는 출력 버퍼(16)에 저장된 비트 스트림의 양을 기준으로 하여 다음 매크로 블럭에 대한 양자화 정도를 결정한다. 한편, 양자화기(10)의 출력 신호는 다시 역양자화기(Inverse Q)(18)와 역이산여현변환기(IDCT)(20)를 순차적으로 수행하여 원래의 신호로 복원된 후, 상기 움직임 보상부(26)로부터 움직임 보상된 영상과 움직임 벡터만큼 이동한 매크로 블럭을 이전 프레임에서 추출하여 복원된 차분 신호를 가산기(22)를 통해 가산하여 현재 영상의 복원 영상을 생성한다. 현재 영상의 복원 영상은 다시 다음 영상의 압축을 위해서 프레임 메모리(24)에 저장되며, 다음 프레임에 대해서 움직임 벡터를 탐색할 때, 이전 프레임으로서 탐색 영역 데이터를 제공한다.
일반적인 동영상 압축 장치를 구비하는 휴대용 전자 시스템(30)은 도 2에 도시된 바와 같이, 동영상 압축 장치(40)를 시스템 온 칩(System On a Chip)으로 구비한다. 예컨대, 동영상 압축 장치(40)는 중앙처리장치(CPU)(42)와, 메모리 콘트 롤러(44)와, 움직임 추정/보상부(ME/MC)(46) 및 이산여현변환/양자화부(DCT/Q)(48)들을 각각 프로세싱 유닛으로 구비하여 하나의 시스템 온 칩으로 형성한다. 그리고 각각의 프로세싱 유닛들(42 ~ 48)은 중앙처리장치(42)의 제어를 받아서 로컬 버스 인터페이스(Local Bus interface)를 통하여 메모리 컨트롤러(44)와 외부 프레임 메모리들(32)과 연결되어 동영상 데이터를 압축하기 위하여 기입, 독출 동작을 수행한다.
모바일 환경에서의 동영상 압축 장치는 일반적으로 하드웨어와 소프트웨어를 결합한 형태의 공동 설계(co-design)된 구조로 구비되며, 더욱 많은 구성 요소들에 대해서 소프트웨어적 처리를 수행할 수 있다. 예를 들어 동영상 압축 장치는 비트율 제어기와, 가변길이부호기 등과 같은 구성 요소들은 소프트웨어적인 성격이 강하기 때문에, 중앙처리장치를 기반으로 소프트웨어적으로 처리할 수 있다. 그러나 도 2에 도시된 바와 같이, 종래 기술의 동영상 압축 장치는 가장 많은 계산량을 차지하는 움직임 추정/보상부(46)와, 이산여현변환/양화자부(48)를 하드웨어적으로 구성하는 것이 일반적이다.
또한 동영상 압축 장치를 구비하는 일반적인 휴대용 전자 장치 즉, 모바일 시스템(30)은 외부 프레임 메모리(SDRAM)(32)를 이용함으로써, 프레임 메모리 사용시 가장 많은 전력이 소모된다. 따라서 모바일 시스템은 저소모 전력 시스템으로 구현되기 위하여 외부 프레임 메모리(SDRAM)의 사용을 최대한 억제하도록 구비되는 것이 필수적이다. 이를 위해 프레임 메모리를 영상 처리용 칩에 내장하는 것이 가장 이상적이지만, 현실적으로 내장할 수 있는 메모리 용량의 한계 등의 이유로 어 려움이 많이 따른다.
또한 상기 동영상 압축 장치는 외부 프레임 메모리에 대한 접근권을 각각의 프로세싱 유닛들에게 제공하며, 이들 모두가 필요로 하는 메모리 대역폭에 의해서 로컬 버스의 동작 주파수가 결정된다. 이에 의해서 중앙 처리 장치의 동작 주파수와 시스템 온 칩의 전력 소모량이 결정된다.
그러나, 도 2에 도시된 바와 같이, 모바일 시스템은 외부 메모리 장치에 대한 제어 장치로 중앙처리장치와, 움직임 추정/보상부 및 이산여현변환/양자화부들이 각각 구비되어 있으며, 이들이 필요로 하는 대역폭에 의해서 로컬 버스의 동작 주파수가 결정되며, 이에 의해서 중앙처리장치와 시스템 온 칩(SOC)의 전력 소모량이 결정된다.
아래의 표 1은 상기 모바일 시스템(30)에서 동영상 압축 장치(40)의 매크로 블럭 당 필요로 하는 메모리 대역폭을 나타낸 것이다. 이 때, 움직임 벡터의 탐색 범위는 fcode = 1(-16 ~ +15.5)로 가정한다.
일반적으로 프레임들은 각각 다수의 매크로 블럭(macro block)으로 이루어지고, 하나의 매크로 블럭은 2 * 2 휘도 블럭(block)과 2 개의 색차 블럭으로 구성되며, 하나의 블럭은 8 * 8 픽셀(pixel)로 구성된다. 따라서 하나의 매크로 블럭은 16 * 16 픽셀로 이루어지며, 하나의 매크로 블럭의 독출을 위한 메모리 공간은 16 * 16 = 256 바이트가 필요하다.
움직임 벡터의 탐색 영역(search window)은 탐색 범위(fcode = 1)에 의해서 48 * 48 픽셀이 되며, 그리고 이산여현변환(DCT)은 예컨대, 8 비트 데이터를 받아서 12 비트 데이터로 출력함으로써 양자화 계수 기입시 필요한 메모리량은 1.5 배가 된다.
또한 동영상 압축을 위해서는 표 1에 나타낸 것과 같이, 2 번의 움직임 추정 과정이 수행된다. 1 차 움직임 추정은 데이터 압축을 위한 것이고, 2 차 움직임 추정은 복호기가 동일한 방식으로 복원하기 위해 필요한 것이다. 그러므로 2 번의 움직임 추정시, 상기 동영상 압축 장치는 외부 프레임 메모리의 사용이 증가하게 된다.
상술한 바와 같이, 종래 기술의 동영상 압축 장치는 동영상 압축 처리 과정에서 칩 외부에 구비되는 메모리 장치의 억세스가 빈번히 이루어지므로, 휴대용 전자 시스템 구현시 전력 소모가 증가되는 문제점이 있다.
본 발명의 목적은 상술한 문제점을 해결하기 위한 것으로, 외부 프레임 메모리의 사용을 줄이기 위한 동영상 압축 장치를 제공하는데 있다.
본 발명의 목적은 상술한 문제점을 해결하기 위한 것으로, 저소모 전력용 동영상 압축 장치를 구비하는 휴대용 전자 시스템을 제공하는데 있다.
또한, 본 발명의 목적은 상술한 문제점을 해결하기 위한 것으로, 저소모 전력용 동영상 압축 장치의 메모리 대역폭을 줄이기 위한 데이터 처리 방법을 구현하는데 있다.
상술한 목적을 달성하기 위한 본 발명의 일 특징에 의하면, 동영상 압축 장치는, 외부로부터 영상 데이터를 받아서 저장하는 제 1의 로컬 메모리부와, 상기 제 1의 로컬 메모리부로부터 상기 영상 데이터를 독출하여 상기 영상 데이터의 움직임을 추정하고, 상기 영상 데이터의 움직임 보상을 위한 모드를 판별하며, 상기 판별된 모드에 대응하여 움직임 보상을 수행하여 차분 신호를 발생하는 움직임 추 정 프로세서와, 상기 움직임 추정 프로세서로부터 상기 차분 신호가 발생되면, 상기 차분 신호를 저장하는 제 2의 로컬 메모리부와, 상기 움직임 추정 프로세서로부터 상기 차분 신호를 받아서 상기 영상 데이터를 부호화하기 위해 이산여현변환하는 이산여현변환/역이산여현변환부와, 상기 이산여현변환/역이산여현변환부로부터 이산여현변환 데이터를 받아서 양자화하는 양자화/역양자화부와, 상기 양자화/역양자화부로부터 상기 양자화된 이산여현변환 데이터를 받아들이고 부호화된 영상 데이터를 저장하는 제 3의 로컬 메모리부와, 상기 제 3의 메모리부에 상기 양자화된 이산여현변환 데이터가 저장되면, 상기 양자화/역양자화부와 함께 상기 부호화된 영상 데이터를 복원하기 위하여 상기 제 2의 메모리부와 상기 이산여현변환/역이산여현변환부로부터 출력되는 신호들을 가산하여 복원된 영상 데이터를 상기 제 1의 메모리부로 출력하는 가산부 및 상기 제 3의 메모리부로부터 영상 데이터를 받아서 데이터를 통계적으로 감축하는 가변길이부호화기를 포함한다. 이 때, 상기 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부는 각각의 기능들을 선택적으로 처리하기 위하여 동작 모드가 조절되도록 구비하고, 상기 동작 모드가 상기 부호화된 영상 데이터를 복원하기 위한 모드이면, 상기 이산여현변환/역이산여현변환부는 상기 양자화/역양자호부로부터 역양자화된 상기 부호화된 영상 데이터를 받아서 역이산여현변환한다.
이 특징의 바람직한 실시예에 있어서, 상기 동영상 압축 장치는 시스템 온 칩(System On a Chip)으로 구비된다.
이 특징의 바람직한 실시예에 있어서, 상기 움직임 추정 프로세서는, 상기 제 1의 로컬 메모리부로부터 상기 영상 데이터를 받아서 움직임을 추정하는 움직임 추정부와, 상기 움직임 추정된 데이터로부터 상기 모드가 인트라 모드 또는 인터 모드인지를 결정하는 모드 결정부 및 상기 움직임 추정부로부터 움직임 벡터에 의한 움직임을 보상하여 상기 차분 신호를 출력하는 움직임 보상부를 포함한다.
이 특징의 바람직한 실시예에 있어서, 상기 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부는 각각 하나의 프로세싱 유닛으로 구비된다.
이 특징의 바람직한 실시예에 있어서, 상기 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부는, 상기 동작 모드가 동영상 데이터를 부호화하기 위한 모드이면, 상기 이산여현변환/역이산여현변환부는 이산여현변환하고, 이어서 상기 양자화/역양자화부는 양자화하며, 상기 동작 모드가 상기 부호화된 동영상 데이터를 복원하기 위한 모드이면, 상기 양자화/역양자화부는 역양자화하고, 이어서 상기 이산여현변환/역이산여현변환부는 역이산여현변환하도록 구비된다.
이 특징의 바람직한 실시예에 있어서, 상기 동영상 압축 장치는 상기 양자화/역양자화부의 양자화를 위한 양자화 정도를 제어하기 위한 제어 장치를 더욱 구비하며, 상기 동영상 압축 장치는 상기 제어 장치로부터 로컬 버스 인터페이스를 통하여 제어 정보를 받아들인다.
이 특징의 바람직한 실시예에 있어서, 상기 동영상 압축 장치는 상기 입력된 영상 데이터를 매크로블럭의 하나의 행 단위 또는 프레임 단위로 처리하며, 행 단위의 경우에는 영상 데이터의 폭에 대한 정보를 받아서 처리하고, 프레임 단위의 경우에는 영상 데이터의 폭과 높이에 대한 정보를 받아서 처리된다.
이 특징의 바람직한 실시예에 있어서, 상기 가변길이부호화기의 출력은 상기 제 1의 로컬 메모리부에 저장되었다가 외부로 출력되거나, 또는 직접 외부로 출력되도록 구비된다.
상술한 목적을 달성하기 위한 본 발명의 다른 특징에 의하면, 복수 개의 로컬 메모리들을 구비하고, 이산여현변환/역이산여현변환부 및 양자화/역양자화부를 각각의 프로세싱 유닛으로 구비하는 동영상 압축 장치의 데이터 처리 방법은, 외부로부터 입력된 영상 데이터를 상기 복수 개의 로컬 메모리들 중 제 1의 로컬 메모리에 저장하는 단계와, 상기 제 1의 로컬 메모리로부터 상기 영상 데이터를 독출하여 움직임 추정과 모드 결정 및 움직임 보상을 수행하여 차분 신호를 발생하고, 동시에 상기 복수 개의 로컬 메모리들 중 제 2의 로컬 메모리에 저장하는 단계와, 상기 차분 신호가 발생하면, 상기 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부가 순차적으로 이산여현변환 및 양자화하는 단계와, 상기 양자화된 데이터를 상기 복수 개의 로컬 메모리들 중 제 3의 로컬 메모리에 저장하는 단계와, 상기 제 3의 로컬 메모리에 상기 양자화된 데이터가 저장되면, 상기 영상 데이터로부터 부호화된 영상 데이터를 복호화하기 위한 동작 모드로 변경하는 단계와, 상기 동작 모드가 변경되면, 상기 양자화/역양자화부와 상기 이산여현변환/역이산여현변환부가 순차적으로 역양자화 및 역이산여현변환하는 단계와, 상기 역이산여현변환이 완료된 데이터와 상기 제 2의 로컬 메모리에 저장된 데이터를 가산하여 복원된 영상 데이터를 생성하고, 상기 복원된 영상 데이터를 상기 제 1의 로컬 메모리에 저장하는 단계 및 상기 제 1의 로컬 메모리에 저장된 상기 복원된 영상 데이터를 외부로 출력하는 단계를 포함한다.
그리고 상기 제 3의 로컬 메모리에 상기 양자화된 데이터가 저장되면, 상기 부호화된 영상 데이터의 부호화시 데이터를 통계적으로 감축하는 가변길이부호화 단계를 더 포함하는 것이 바람직하다.
따라서 본 발명에 의하면, 동영상 압축 장치는 움직임 추정, 움직임 보상, 이산여현변환 및 양자화 기능을 갖는 하나의 프로세싱 유닛을 구비하고, 동영상 압축 장치 내부에 다수의 로컬 메모리들을 구비하여 외부 메모리 장치의 사용을 줄임으로써 전력 소모를 감소시킨다.
이하, 본 발명의 실시예를 첨부된 도면에 의거하여 상세히 설명한다.
도 3은 본 발명의 동영상 압축 장치를 구비하는 모바일 시스템의 구성을 나타내는 도면이다.
도면을 참조하면, 상기 모바일 시스템(100)은 신규한 동영상 압축 장치(104)를 포함한다. 그리고 상기 모바일 시스템(100)은 상기 동영상 압축 장치(104)와 상호 데이터 전송하는 외부 메모리 장치(102)를 포함한다.
상기 동영상 압축 장치(104)는 시스템 온 칩(SOC)으로 구비되며, 다수의 프로세싱 유닛들로 구비된다. 프로세싱 유닛들은 중앙처리장치(106)와, 메모리 컨트롤러(108) 및 비디오코어(Video Core)(110)를 포함한다. 상기 동영상 압축 장치(104)는 상기 메모리 컨트롤러(108)를 통하여 상기 메모리 장치(102)와 상호 데이터 인터페이스를 위한 구조를 가지며, 특히 움직임 추정(ME), 움직임 보상(MC), 이산여현변환(DCT) 및 양자화(Q) 기능을 하나의 프로세싱 유닛 즉, 상기 비디오코 어(110)로 구비한다.
상기 비디오코어(110)는 동영상 데이터 압축시, 매크로 블럭의 하나의 행 단위로 동작하며, 이 때, 상기 중앙처리장치(106)으로부터 로컬 버스 인터페이스를 통하여 영상 데이터의 폭에 대한 정보를 제공받아서 처리한다. 뿐만 아니라, 상기 비디오코어(110)는 전체 영상 데이터 즉, 프레임 단위에 대해서 동작 가능하며, 이 때는 상기 중앙처리장치(106)으로부터 로컬 버스 인터페이스를 통하여 영상 데이터의 폭과 높이에 대한 정보를 제공받아서 처리 가능하다.
따라서 상기 모바일 시스템(100)은 동영상 압축 장치(104)의 움직임 추정, 움직임 보상, 이산여현변환 및 양자화 기능을 하나의 프로세싱 유닛으로 구비함으로써, 모바일 시스템 구현을 위한 보다 작은 영역(low area)이 요구된다. 또한, 도 4에 도시된 바와 같이, 동영상 압축 장치(104) 내부에 다수의 로컬 메모리들(도 4의 118, 122 및 130)을 구비하여 외부 메모리 장치(102)의 사용을 줄임으로써 전력 소모를 감소시킨다.
구체적으로 도 4를 참조하면, 상기 비디오코어(110)는 움직임 추정 프로세서(Motion Estimation Processor : MEP)(112 ~ 116)와, 복수 개의 로컬 메모리들(118, 122 및 130)과, 이산여현변환/역이산여현변환부(DCT/IDCT)(126)와, 양자화/역양자화부(Q/IQ)(128)와, DMA 컨트롤러(120)와, 지그재그 스캐닝부(ZZ)(132) 및 가변길이부호화기(VLC)(134)를 포함한다.
상기 로컬 메모리들은 워킹 메모리(Working Memory)(118)와, 제 1 및 제 2 로컬 메모리(LM0, LM1)(122, 130)로 구비된다. 예를 들어, 본 발명의 실시예에서 는 3 킬로바이트(KB)의 워킹 메모리(118)와, 3072(6×64×8) 비트의 제 1 로컬 메모리(122) 및 4608(6×64×12) 비트의 제 2 로컬 메모리(130)를 구비하는 것이 바람직하다.
상기 움직임 추정 프로세서(MEP)는 움직임 추정부(112)와, 모드 결정부(114) 및 움직임 보상부(116)를 포함하며, 움직임 벡터 탐색과 모드 결정을 수행하고, 움직임 보상을 수행하여 현재 매크로 블럭과 이전 매크로 블럭과의 차분 신호를 생성한다. 즉, 상기 움직임 추정부(112)는 로컬 버스(Local Bus) 인터페이스를 통하여 외부로부터 DMA 컨트롤러(120)를 통해 입력된 동영상 데이터를 워킹 메모리부(118)로부터 독출하여 움직임 벡터 영역을 탐색한다. 상기 모드 결정부(114)는 움직임 추정 후에 영상 데이터의 압축 모드를 결정하기 위하여 인터 모드(inter mode) 또는 인트라 모드(intra mode)를 결정한다. 인터 모드는 움직임 보상이 있는 경우이며, 이전 영상으로부터 현재 영상을 예측하여 이전 영상과 현재 영상의 차이만을 부호화한다. 인트라 모드는 움직임 보상이 없는 경우를 나타내며, 입력 영상이 인접된 다른 영상과 독립적으로 이산여현변환하여 부호화한다. 그리고 상기 움직임 보상부(116)는 상기 모드 결정부(114)에 의해 인터 모드가 결정되면, 워킹 메모리(118)로부터 데이터를 독출하고, 상기 움직임 추정부(112)로부터 추정된 움직임 벡터를 이용하여 움직임을 보상한다.
따라서 상기 움직임 추정 프로세서는 생성된 차분 신호를 제 1 로컬 메모리(122)와, 상기 이산여현변환/역이산여현변환부(126)로 전송한다.
상기 이산여현변환/역이산여현변환부(126)와 상기 양자화/역양자화부(128)는 각각 하나의 프로세싱 유닛으로 구비되며, 각 기능을 선택적으로 처리하기 위하여 시스템 동작 모드를 조절 가능하도록 구비된다. 이는 이산여현변환과 역이산여현변환이 유사한 기능을 수행하기 때문에 이산여현변환과 역이산여현변환을 각각 처리하는 프로세싱 유닛을 두 개 사용하는 것보다 이산여현변환/역이산여현변환이 선택적으로 가능한 하나의 프로세싱 유닛으로 사용하는 것이 더욱 효율적이다. 물론 이러한 효율성은 양자화와 역양자화에서도 적용되는 것은 자명하다. 따라서 이산여현변환과 양자화가 완료된 결과를 제 2 로컬 메모리(130)에 저장한 후, 역양자화와 역이산여현변환을 순차적으로 수행하도록 프로세싱 유닛의 시스템 동작 모드를 전환하면, 파이프 라인 동작을 수행하지 않게 되어 효율적인 하드웨어 구현이 가능하다.
상기 양자화/역양자화부(128)는 상기 중앙처리장치(106)로부터 로컬 버스 인터페이스를 통하여 양자화를 위한 양자화 정도를 받아서 처리된다. 또한, 양자화 정도는 상기 중앙처리장치(106)로부터 영상 데이터의 크기와 타겟 비트율(target bit rate)을 받아서 결정하는 회로(미도시됨)을 추가하여 자동으로 양자화 정도를 결정할 수 있다.
그리고 상기 가변길이부호화기(134)는 제 2 로컬 메모리(130)로부터 양자화된 데이터를 상기 지그재그 스캐닝(zigzag scanning)부(132)를 통해 받아들이고, 데이터를 통계적으로 최소화하기 위하여 예컨대, 허프만 부호화(huffman coding) 기법를 이용하여 부호화된 비트스트림(Output Stream)을 출력한다.
그리고 도 5는 도 4에 도시된 동영상 압축 장치의 영상 데이터 압축을 위한 동작 수순을 나타내는 타이밍도이다. 여기서 컴포저(composer)는 제 1 로컬 메모리(122)의 출력 신호와 이산여현변환/역이산여현변환부(126)의 출력 신호를 가산하는 가산기(124)에 해당된다.
도면을 참조하면, 상기 동영상 압축 장치(110)는 DMA 컨트롤러(120)를 통해서 입력된 동영상 데이터의 현재 매크로 블럭과 탐색 영역 데이터를 워킹 메모리(118)에 저장한다. 이 후, 움직임 추정 프로세서(MEP)(112 ~ 116)는 움직임 벡터 탐색과 모드 결정을 수행하고, 움직임 보상을 수행해서 현재 매크로 블럭과 이전 매크로 블럭과의 차분 신호를 생성하여 이산여현변환/역이산여현변환부(126)로 전달한다. 움직임 보상을 수행할 때, 워킹 메모리(118)에서 필요로 하는 데이터를 독출하며 이를 그대로 제 1 로컬 메모리(122)에 저장한다.
최초의 차분 신호가 발생하면, 이산여현변환/역이산여현변환부(126)가 동작하고, 양자화/역양자화부(128)도 최초의 이산여현변환(DCT) 계수가 발생하면 동작한다. 양자화/역양자화부(128)에 의해서 양자화된 DCT 계수는 제 2 로컬 메모리(130)에 저장된다.
제 2 로컬 메모리(130)에 예컨대 384 개의 움직임 보상된 데이터가 저장되면, 동영상 압축 장치(110)는 시스템 동작 모드를 영상 데이터를 부호화하기 위한 포워드(forward) 모드에서 복호화하기 위한 백워드(backward) 모드로 변경한다. 이는 이산여현변환/역이산여현변환부(126)와 양자화/역양자화부(128)가 각각 하나의 프로세싱 유닛으로 구비되기 때문에 시스템 동작 모드를 조절할 필요가 있다. 즉, 포워드 모드에서 이산여현변환/역이산여현변환부(126)는 이산여현변환(DCT)을 수행하고, 이어서 양자화/역양자화부(128)는 양자화(Q)를 수행한다. 그리고 백워드 모드에서는 양자화/역양자화부(128)는 역양자화(IQ)를 수행하고, 이어서 이산여현변환/역이산여현변화부(126)가 역이산여현변환(IDCT)을 수행하게 된다. 즉, 백워드 모드로 시스템 동작 모드가 변경되면, 제 2 로컬 메모리(130)의 데이터를 순차적으로 독출하여 양자화/역양자화부(128)에 전달하고 역양자화를 시작한다. 이어서 최초의 역양자화 데이터가 발생되면, 이산여현변환/역이산여현변환부(126)는 역이산여현변환(IDCT)를 수행한다. 역이산여현변환이 완료된 데이터는 제 1 로컬 메모리(122)에 저장된 데이터와 순차적으로 가산되어 복원된 영상 데이터를 만들어서 다음 프레임의 움직임 추정에 사용될 워킹 메모리(118)에 저장한다.
그리고 가변길이부호화기부(134)는 제 2 로컬 메모리(130)로부터 양자화된 DCT 계수를 독출할 때 동작한다. 이는 다른 채널을 통해서 비트스트림을 처리할 수 있도록 상기 비디오코어(110) 외부로 전용 신호선을 통해서 출력되는 것이 바람직하다. 이어서 워킹 메모리(118)에 저장된 복원 영상 데이터는 DMA 컨트롤러(120)를 통해서 외부 메모리 장치(도 3의 102)에 저장된다.
상술한 처리 과정에 의해서 동영상 압축 장치의 매크로 블럭 당 메모리 요구량은 아래의 표 2와 같다. 움직임 벡터의 탐색 범위는 표 1과 동일하게 fcode = 1(-16 ~ +15.5)로 가정한다.
상술한 바와 같이, 본 발명의 동영상 압축 장치는 외부 프레임 메모리의 사용을 최소화하기 위하여 움직임 추정, 움직임 보상, 이산여현변환 및 양자화 기능이 결합된 구조의 비디오코어(110)를 구비한다.
그 결과, 매크로 블럭 당 필요로 하는 메모리 요구량을 줄이기 위해서 비디오코어(110) 내부에 3 개의 로컬 메모리 즉, 워킹 메모리(118), 제 1 및 제 2 로컬 메모리(122, 130)를 구비한다. 또한 1 차 움직임 보상을 수행한 결과의 데이터를 제 1 로컬 메모리(122)에 저장하여 2 차 움직임 추정을 수행하기 위해 외부 프레임 메모리에 접근할 필요가 없게 됨으로 외부 프레임 메모리의 사용이 감소된다. 따라서 상기 종래 기술의 동영상 압축시 요구되는 메모리량(표 1)의 기능 설명 중에서 (1) ~ (9)의 경우는, 각 프로세싱 유닛에 의해 외부 프레임 메모리를 사용하지 않고서도 처리 가능하다.
그리고 종래 기술의 이산여현변환부와 역이산여현변환부, 양자화부와 역양자화부를 하나의 프로세싱 유닛으로 구성하고, 부호화 또는 복호화 동작을 조절하기 위하여 시스템 동작 모드를 포워드 또는 백워드로 변경될 수 있도록 구비한다.
따라서 본 발명의 동영상 압축 장치는 도 1에 도시된 종래 기술과 대비하여, 외부 프레임 메모리 요구량이 약 50 % 정도 감축되며, 각 프로세싱 유닛들(예컨대, DCT/IDCT부, Q/IQ부)을 위해서 하나의 하드웨어로 활용하는 구조를 가지기 때문에 소형(low area) 및 저소모 전력 구현이 가능하다.
상술한 바와 같이, 본 발명의 동영상 압축 장치는 동영상 압축시 요구되는 메모리량을 줄임으로써, 소모 전력을 감소할 수 있다.
뿐만 아니라, 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부를 각각 하나의 프로세싱 유닛으로 구현함으로써, 동영상 압축 장치를 소형화할 수 있다.
따라서 본 발명에 의하면, 동영상 압축 장치를 구비하는 휴대용 전자 장치의 소형화 및 저소모 전력용을 구현 가능하다.
Claims (11)
- 동영상 압축 장치에 있어서:외부로부터 영상 데이터를 받아서 저장하는 제 1의 로컬 메모리부와;상기 제 1의 로컬 메모리부로부터 상기 영상 데이터를 독출하여 상기 영상 데이터의 움직임을 추정하고, 상기 영상 데이터의 움직임 보상을 위한 모드를 판별하며, 상기 판별된 모드에 대응하여 움직임 보상을 수행하여 차분 신호를 발생하는 움직임 추정 프로세서와;상기 움직임 추정 프로세서로부터 상기 차분 신호가 발생되면, 이를 받아서 저장하는 제 2의 로컬 메모리부와;상기 움직임 추정 프로세서로부터 상기 차분 신호를 받아서 상기 영상 데이터를 부호화하기 위해 이산여현변환하는 이산여현변환/역이산여현변환부와;상기 이산여현변환/역이산여현변환부로부터 이상여현변환 데이터를 받아서 양자화하는 양자화/역양자화부와;상기 양자화/역양자화부로부터 상기 양자화된 이산여현변환 데이터를 받아들이고 부호화된 영상 데이터를 저장하는 제 3의 로컬 메모리부와;상기 제 3의 메모리부에 상기 양자화된 이산여현변환 데이터가 저장되면, 상기 양자화/역양자화부와 함께 상기 부호화된 영상 데이터를 복원하기 위하여 상기 제 2의 메모리부와 상기 이산여현변환/역이산여현변환부로부터 출력되는 신호들을 가산하여 복원된 영상 데이터를 상기 제 1의 메모리부로 출력하는 가산부 및;상기 제 3의 메모리부로부터 영상 데이터를 받아서 데이터를 통계적으로 감축하는 가변길이부호화기를 포함하되;상기 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부는 각각의 기능들을 선택적으로 처리하기 위하여 동작 모드가 조절되도록 구비하고, 상기 동작 모드가 상기 부호화된 영상 데이터를 복원하기 위한 모드이면, 상기 이산여현변환/역이산여현변환부는 상기 양자화/역양자호부로부터 역양자화된 상기 부호화된 영상 데이터를 받아서 역이산여현변환하는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항에 있어서,상기 동영상 압축 장치는 시스템 온 칩(System On a Chip)으로 구비되는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항에 있어서,상기 움직임 추정 프로세서는;상기 제 1의 로컬 메모리부로부터 상기 영상 데이터를 받아서 움직임을 추정하는 움직임 추정부와,상기 움직임 추정된 데이터로부터 상기 모드가 인트라 모드 또는 인터 모드인지를 결정하는 모드 결정부 및,상기 움직임 추정부로부터 움직임 벡터에 의한 움직임을 보상하여 상기 차분 신호를 출력하는 움직임 보상부를 포함하는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항에 있어서,상기 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부는 각각 하나의 프로세싱 유닛으로 구비되는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항 또는 제 4 항에 있어서,상기 이산여현변환/역이산여현변환부와 상기 양자화/역양자화부는;상기 동작 모드가 동영상 데이터를 부호화하기 위한 모드이면, 상기 이산여현변환/역이산여현변환부는 이산여현변환하고, 이어서 상기 양자화/역양자화부는 양자화하며,상기 동작 모드가 상기 부호화된 동영상 데이터를 복원하기 위한 모드이면, 상기 양자화/역양자화부는 역양자화하고, 이어서 상기 이산여현변환/역이산여현변환부는 역이산여현변환하도록 구비되는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항에 있어서,상기 동영상 압축 장치는 상기 양자화/역양자화부의 양자화를 위한 양자화 정도를 제어하기 위한 제어 장치를 더욱 구비하는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항에 있어서,상기 동영상 압축 장치는 상기 입력된 영상 데이터를 매크로블럭의 하나의 행 단위 또는 프레임 단위로 처리하는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항에 있어서,상기 가변길이부호화기의 출력은 상기 제 1의 로컬 메모리부에 저장되었다가, 외부로 출력되는 것을 특징으로 하는 동영상 압축 장치.
- 제 1 항에 있어서,상기 가변길이부호화기의 출력은 직접 외부로 출력되는 것을 특징으로 하는 동영상 압축 장치.
- 복수 개의 로컬 메모리들을 구비하고, 이산여현변환/역이산여현변환부 및 양자화/역양자화부를 각각의 프로세싱 유닛으로 구비하는 동영상 압축 장치의 데이터 처리 방법에 있어서:외부로부터 입력된 영상 데이터를 상기 복수 개의 로컬 메모리들 중 제 1의 로컬 메모리에 저장하는 단계와;상기 제 1의 로컬 메모리로부터 상기 영상 데이터를 독출하여 움직임 추정과 모드 결정 및 움직임 보상을 수행하여 차분 신호를 발생하고, 동시에 상기 복수 개의 로컬 메모리들 중 제 2의 로컬 메모리에 저장하는 단계와;상기 차분 신호가 발생하면, 상기 이산여현변환/역이산여현변환부와 상기 양 자화/역양자화부가 순차적으로 이산여현변환 및 양자화하는 단계와;상기 양자화된 데이터를 상기 복수 개의 로컬 메모리들 중 제 3의 로컬 메모리에 저장하는 단계와;상기 제 3의 로컬 메모리에 상기 양자화된 데이터가 저장되면, 상기 영상 데이터로부터 부호화된 영상 데이터를 복호화하기 위한 동작 모드로 변경하는 단계와;상기 동작 모드가 변경되면, 상기 양자화/역양자화부와 상기 이산여현변환/역이산여현변환부가 순차적으로 역양자화 및 역이산여현변환하는 단계와;상기 역이산여현변환이 완료된 데이터와 상기 제 2의 로컬 메모리에 저장된 데이터를 가산하여 복원된 영상 데이터를 생성하고, 상기 복원된 영상 데이터를 상기 제 1의 로컬 메모리에 저장하는 단계 및;상기 제 1의 로컬 메모리에 저장된 상기 복원된 영상 데이터를 외부로 출력하는 단계를 포함하는 것을 특징으로 하는 동영상 압축 장치의 데이터 처리 방법.
- 제 10 항에 있어서,상기 제 3의 로컬 메모리에 상기 양자화된 데이터가 저장되면, 상기 부호화된 영상 데이터의 부호화시 데이터를 통계적으로 감축하는 가변길이부호화 단계를 더 포함하는 것을 특징으로 하는 동영상 압축 장치의 데이터 처리 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060030996A KR20060034269A (ko) | 2006-04-05 | 2006-04-05 | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060030996A KR20060034269A (ko) | 2006-04-05 | 2006-04-05 | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030005839A Division KR100598093B1 (ko) | 2003-01-29 | 2003-01-29 | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060034269A true KR20060034269A (ko) | 2006-04-21 |
Family
ID=37143126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060030996A KR20060034269A (ko) | 2006-04-05 | 2006-04-05 | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060034269A (ko) |
-
2006
- 2006-04-05 KR KR1020060030996A patent/KR20060034269A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100850705B1 (ko) | 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치 | |
JP4641892B2 (ja) | 動画像符号化装置、方法、及びプログラム | |
US20100098169A1 (en) | Method and apparatus for motion estimation using compressed reference frame | |
US20060177142A1 (en) | H.264 quantization | |
KR102390162B1 (ko) | 데이터 인코딩 장치 및 데이터 인코딩 방법 | |
JP2003348583A (ja) | 適応的動映像符号化及び復号化方法とその装置 | |
US20080123748A1 (en) | Compression circuitry for generating an encoded bitstream from a plurality of video frames | |
JP2008502261A (ja) | 圧縮コーディングおよび電力消費量を含む費用関数を使用して画像をメモリに格納する方法 | |
US20050243917A1 (en) | H.263/MPEG video encoder using average histogram difference and method for controlling the same | |
KR20040015477A (ko) | 이산코사인변환 계수를 참조하는 움직임 추정 방법 및 장치 | |
US20060133491A1 (en) | Video codec | |
JP2004356850A (ja) | 圧縮動画像の伸張装置及びそれを用いた画像表示装置 | |
KR100598093B1 (ko) | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 | |
US8755444B2 (en) | Two-stage entropy decoding | |
KR100489040B1 (ko) | 동영상 부호화기, 동영상 복호화기에서 슬라이스 메모리와프레임 메모리간의 데이터 처리 방법 | |
KR100349058B1 (ko) | 영상압축복원장치 | |
US20090290636A1 (en) | Video encoding apparatuses and methods with decoupled data dependency | |
KR20040104831A (ko) | 영상데이터의 압축 장치 및 방법 | |
KR100498445B1 (ko) | 성능향상을 위한 동영상 압축방법 및 장치 | |
EP1298937A1 (en) | Video encoding or decoding using recompression of reference frames | |
KR20060034269A (ko) | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 | |
US9013595B1 (en) | Digital video camera with internal data sample compression | |
KR100497760B1 (ko) | 이동통신 단말기용 동영상 부호화 시스템 및 방법 | |
KR0130167B1 (ko) | 동영상 압축 부호화 장치 | |
JP2004236321A (ja) | ビデオデータ圧縮のための装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
WITN | Withdrawal due to no request for examination |