KR100985464B1 - 이미지 및 비디오 프로세싱을 위한 스케일러 구조 - Google Patents

이미지 및 비디오 프로세싱을 위한 스케일러 구조 Download PDF

Info

Publication number
KR100985464B1
KR100985464B1 KR1020087015680A KR20087015680A KR100985464B1 KR 100985464 B1 KR100985464 B1 KR 100985464B1 KR 1020087015680 A KR1020087015680 A KR 1020087015680A KR 20087015680 A KR20087015680 A KR 20087015680A KR 100985464 B1 KR100985464 B1 KR 100985464B1
Authority
KR
South Korea
Prior art keywords
image data
image
processing unit
memory
coder
Prior art date
Application number
KR1020087015680A
Other languages
English (en)
Other versions
KR20080078700A (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 KR20080078700A publication Critical patent/KR20080078700A/ko
Application granted granted Critical
Publication of KR100985464B1 publication Critical patent/KR100985464B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 이미지 및/또는 비디오 프로세싱을 위한 스케일러 구조에 관한 것이다. 일 특징은 이미지 프로세싱 유닛, 메모리, 및 스케일러를 포함하는 장치에 관한 것이다. 메모리는 이미지 프로세싱 유닛으로부터 프로세싱된 이미지 데이터를 저장하도록 구성된다. 코더는 저장되어 있는 프로세싱된 이미지 데이터를 메모리로부터 검색하도록 구성된다. 코더는 메모리로부터 검색된 이미지 데이터를 업스케일링하도록 구성된 스케일러를 포함한다. 코더는 스케일링된 이미지 데이터를 인코딩하도록 구성된다.

Description

이미지 및 비디오 프로세싱을 위한 스케일러 구조{SCALER ARCHITECTURE FOR IMAGE AND VIDEO PROCESSING}
본 발명의 출원은 2005년 11월 30일 출원된 "POWER AND AREA EFFICIENT SCALAR ARCHITECTURE FOR EMBEDDED VIDEO PROCESSING APPLICATIONS"으로 명명된 공동 양도된 미국 가출원 60/741,347을 우선권으로 청구하며, 이 출원은 본 명세서에 참조된다. 본 발명은 이미지 및/또는 비디오 프로세싱에 관한 것이며, 특히 이미지 및/또는 비디오 프로세싱에 대한 스케일러 구조에 관한 것이다.
비디오 애플리케이션들을 위한 이미지 센서들은 센서의 표면에 배열된 컬러 필터 어레이(CFA)로 장면을 샘플링할 수 있다. 다양한 CFA 패턴들이 사용될 수도 있으며, 디지털 신호 프로세서(DSP)가 각각의 포토사이트(photosite)에 대해 3개의 컬러 값들을 획득할 수 있다. 이미지 프로세싱 기술은 높은 품질의 컬러 비디오 이미지들을 획득하기 위해 사용될 수 있다. 이러한 이미지 프로세싱 기술들은 "프론트-엔드(front-end)" 이미지 프로세싱으로 불리는데, 그 이유는 프론트-엔드 이미지 프로세싱이 일반적으로 이미지 압축 또는 비디오 코딩 유닛에 의한 다른 비디오 코딩을 진행하기 때문이다. 선택적으로, 이러한 이미지 프로세싱 기술들은 "포스트 프로세싱"으로 불릴 수도 있는데, 그 이유는 이미지들이 이미지 센서들에 의해 캡쳐링된 후 프로세싱이 발생하기 때문이다.
이미지 센서로부터 발생된 비디오 시퀀스의 이미지 프레임들은 하나 이상의 이미지 프로세싱 기술들에 의해 프로세싱될 수 있다. 이미지 프로세싱 기술들의 예들은 컬러 보정 및 디모자이크(demosaic)를 포함한다. 이미지 프로세싱은 톤 재생, 컬러 채도(saturation), 색상(hue) 재생 및 선명도와 같은 시각적 이미지 품질 속성을 향상시킬 수 있다.
다수의 비디오 프로세싱 및 코딩 기술들이 디지털 비디오 시퀀스들을 통신하기 위해 사용되었다. 예를 들어, 동영상 전문가 그룹(MPEG)은 MPEG-1, MPEG-2, 및 MPEG-4와 같은 다수의 비디오 코딩 표준을 개발하였다. 다른 표준은 ITU H.263 및 ITU H.264를 포함한다.
임의의 비디오 코딩 기술들 및 표준들이 데이터를 압축하기 위해 그래픽 및 비디오 압축 알고리즘을 사용할 수 있다. 임의의 압축 알고리즘들은 일시적 또는 프레임간 상관을 활용할 수도 있으며 프레임간 압축을 제공할 수 있다. 프레임간 압축 기술들은 이미지 프레임들의 픽셀 기반 표현들을 모션 표현들로 변환함으로써 프레임들에 걸친 데이터 리던던시를 활용할 수 있다.
임의의 비디오 압축 기술들은 이미지 프레임들 내의 유사성들, 즉 공간 또는 프레임 내부 상관을 이용하여 프레임 내부 압축을 제공할 수도 있으며, 여기서 이미지 프레임 내의 모션 표현들이 추가로 압축될 수 있다. 프레임 내부 압축은 이산 코사인 변환(DCT)과 같이, 스틸 이미지들을 압축하기 위한 프로세스들을 사용할 수 있다.
이미지 프로세싱은 실시간 비디오 전화(VT) 애플리케이션들에서 실시간 비디오 인코딩에 문제를 유발할 수 있다. 예를 들어, 비디오 시퀀스들의 실시간 전송을 보장하기 위해, 모든 이미지 프로세싱 단계들은 매우 신속하게 실행될 필요가 있을 수 있다. 따라서, 실시간 이미지 프로세싱은, 통상적으로 몇몇 상이한 이미지 프로세싱 모듈들에 의한 광범위한 이미지 프로세싱을 실행하기 위해 높은 대역폭 메모리 및 큰 메모리 용량을 필요로 할 수 있다. 메모리 대역폭 및 메모리 공간은 휴대용 모바일 폰들과 같은 임의의 비디오 코딩 장치들에 대해 한정될 수 있다.
일 특징은 이미지 프로세싱 유닛, 메모리 및 코더를 포함하는 장치들과 관련된다. 메모리는 이미지 프로세싱 유닛으로부터 프로세싱된 이미지를 저장하도록 구성된다. 코더는 저장되어 있는 프로세싱된 이미지 데이터를 메모리로부터 검색하도록 구성된다. 코더는 메모리로부터 검색된 이미지 데이터를 업스케일링하도록 구성된 스케일러를 포함한다. 코더는 업스케일링된 이미지 데이터를 인코딩하도록 구성된다.
다른 특징은 이미지 데이터를 프로세싱하는 단계; 프로세싱된 이미지 데이터를 저장하는 단계; 저장된 이미지 데이터를 검색하는 단계; 검색된 이미지 데이터를 스케일링하는 단계; 및 스케일링된 이미지 데이터를 인코딩하는 단계를 포함한다.
하나 이상의 실시예들의 세부 사항은 첨부된 도면 및 이하의 설명에서 개시된다. 다른 특징, 목적, 및 장점은 상세한 설명, 도면 및 청구항으로부터 명백할 것이다.
도1은 디지털 이미지 및/또는 디지털 비디오를 프로세싱하도록 구성된 장치를 도시한다.
도2는 도1의 장치에서 구현될 수도 있는 컴포넌트를 도시한다.
도3은 도1의 장치를 이용하는 방법을 도시한다.
디지털 비디오 성능은 디지털 텔레비젼들, 디지털 카메라들, 디지털 직접 방송 시스템들, 무선 통신 장치들, 휴대용 디지털 보조기(PDA)들, 랩톱 컴퓨터들, 데스크탑 컴퓨터들, 직접 양방향 통신 장치들(때때로, "워키-토키"로 불림), 및 셀룰러와 같은 무선 전화들, 위성 또는 지상 기반 무선 전화들과 같은 광범위한 장치들에 통합될 수 있다. 이러한 장치들은 전체 모션 비디오 시퀀스들을 생성, 변경, 전송, 저장 및 재생할 수 있다.
도1은 디지털 이미지들 및/또는 디지털 비디오를 프로세싱하도록 구성된 장치(2)를 도시한다. 장치(2)는 디지털 텔레비전, 디지털 직접 방송 시스템, 무선 통신 장치, 개인용 디지털 보조기(PDA), 랩톱 컴퓨터, 데스트톱 컴퓨터, 디지털 카메라, 디지털 기록 장치, 네트워크 이네이블 디지털 텔레비젼, 셀룰러 또는 위성 무선 텔레비전, 또는 비디오 전화(VT) 성능을 갖는 임의의 통신 장치에 제공 또는 구현될 수 있다.
장치(2)는 이미지 및/또는 비디오 데이터를 프로세싱, 인코딩, 디코딩, 송신 및/또는 수신할 수 있다. 비디오 데이터는 비디오 캡쳐 유닛(또는 이미지 센서)(12)과 같은 비디오 카메라에 의해 캡쳐링되거나, 비디오 보관소로부터 검색되거나, 다른 방식으로 획득될 수 있다. 장치(2)의 비디오 코딩 유닛(19)은 MPEG-4, ITU-T H.263, ITU-T H.264, 또는 임의의 다른 비디오 코딩 표준과 같은 비디오 코딩 표준을 사용할 수 있다. 비디오 코딩 유닛(19)은 모션 추정 및 모션 보상과 같은 프레임간 코딩 기술들, 및 공간 추정 및 내부 예측(intra-prediction) 코딩 기술들과 같은 프레임 내부 코딩 기술들을 지원할 수 있다.
장치(2)는 이미지들 또는 비디오 시퀀스들을 캡쳐링하고 메모리에 캡쳐링된 이미지들 및 시퀀스들을 저장하기 위해, 카메라 또는 비디오 카메라와 같은 이미지/비디오 캡쳐 장치(12)를 포함할 수 있다. 이미지/비디오 프로세싱 유닛(4)은 이미지들 및/또는 비디오 시퀀스들을 프로세싱할 수 있다. 메모리(14)는 이러한 프로세싱을 전후로 이미지들 및/또는 비디오 시퀀스들을 저장할 수 있다.
송수신기(16)는 코딩된 비디오 시퀀스들을 수신/또는 다른 장치로 전송할 수 있다. 송수신기(16)는 코드 분할 다중 액세스(CDMA)와 같은 무선 통신 표준을 사용할 수 있다. CDMA 표준들의 예들은 CDMA 1xEV-DO, WCDMA 등을 포함한다.
장치(2)의 하나 이상의 엘리먼트는 통신 버스(15)를 통해 통신가능하게 연결될 수 있다. 도1에 도시된 엘리먼트들에 부가하여 또는 대신하여, 다른 엘리먼트들이 장치(10)에 포함될 수 있다. 도1에 도시된 구조는 단지 예이다. 여기에 설명된 기술들은 다양한 다른 구조들로 구현될 수 있다.
메모리(14)는 상대적으로 큰 메모리 공간을 가질 수 있다. 메모리(14)는 동적 랜덤 액세스 메모리(DRAM), 또는 플래시 메모리를 포함할 수 있다. 메모리(14)는 "NOR" 또는 "NAND" 게이트 메모리 기술, 또는 임의의 다른 데이터 저장 기술을 포함할 수 있다. 다른 예에서, 메모리(14)는 비휘발성 메모리 또는 임의의 다른 타입의 데이터 저장 유닛을 포함할 수 있다.
이미지/비디오 프로세싱 유닛(4)은 모바일 무선 전화용 칩셋을 포함할 수도 있는데, 상기 칩셋은 하드웨어, 소프트웨어, 펌웨어, 및/또는 하나 이상의 마이크로프로세서, 디지털 신호 처리기(DSP)들, 주문형 집적 회로(ASIC)들, 필드 프로그램가능한 게이트 어레이(FPGA)들, 또는 이들의 다양한 조합을 포함할 수 있다. 프로세싱 유닛(4)은 프론트-엔드 이미지/비디오 프로세싱 유닛(18) 및 이미지/비디오 코딩 유닛(19)에 연결된 로컬 메모리(8)를 포함할 수 있다. 코딩 유닛(19)은 디지털 비디오 데이터를 인코딩(또는 압축) 및 디코딩(압축 해제)하는 인코더/디코더(CODEC)를 포함할 수 있다.
로컬 메모리(8)는 메모리(14)와 관련하여 더욱 소형이고 더욱 고속인 메모리 공간을 포함할 수 있다. 예를 들어, 로컬 메모리(8)는 동기 동적 랜덤 액세스 메모리(SDRAM)를 포함할 수 있다. 로컬 메모리(8)는 프로세서 집중(intensive) 코딩 프로세스 동안 데이터로의 고속 액세스를 제공하기 위해 프로세싱 유닛(4)의 다른 컴포넌트들과 함께 집적된 "온칩(on-chip)" 메모리를 포함할 수 있다. 그러나 메모리들(14 및 8)은 하나의 메모리로 결합될 수 있거나, 다수의 다른 구성들로 구현될 수 있다. 메모리 제어기(10)는 메모리 인출 및 로컬 메모리(8)로의 라이트백을 제어할 수 있다.
프론트-엔드 이미지/비디오 프로세싱 유닛(18)은 이미지 품질을 향상시키고, 그로 인해 비디오 시퀀스의 품질을 향상시키기 위해 비디오 시퀀스의 프레임들에 대해 하나 이상의 이미지 프로세싱 기술을 실행할 수 있다. 예를 들어, 프론트-엔드 이미지/비디오 프로세싱 유닛(18)은 디모자이크, 렌즈 롤오프(lens rolloff) 보정, 스케일링, 컬러 보정, 컬러 변환, 및 공간 필터링과 같은 기술들을 실행할 수 있다. 프론트-엔드 이미지/비디오 프로세싱 유닛(18)은 다른 기술들을 실행할 수 있다. 일반적으로, 유닛(18)에 의해 실행되는 기술들은 "프론트-엔드" 이미지 프로세싱 기술들로 불리는데, 이는 상기 기술들이 이미지/비디오 코딩 유닛(19)에 선행하여(precede) 코딩을 진행하기 때문이다.
이미지/비디오 캡쳐 유닛(12)은 센서들의 표면에 배치된 컬러 필터 어레이(CFA)들을 포함하는 이미지 센서들을 포함할 수 있다. 유닛(18)에 의해 실행된 프론트-엔드 이미지 프로세싱은 캡쳐 유닛(12)에 의해 캡쳐링된 비디오 시퀀스의 품질을 향상시킬 수 있다. 예를 들어, 프론트-엔드 프로세싱 유닛(18) 및/또는 코딩 유닛(19)은 캡쳐 유닛(12)에 의해 캡쳐링된 이미지들을 프로세싱하기 위해 프로그래밍된 DSP를 포함할 수 있다. 메모리(8)(또는 메모리(14))의 동일한 영역은 프론트-엔드 이미지 프로세싱 목적 및 다른 저장 목적을 위해 사용될 수 있다.
이미지/비디오 코딩 유닛(19)은 이미지 및/또는 비디오 코딩을 실행할 수도 있는데, 이는 프레임간 압축 및/또는 프레임 내부 압축과 같은 하나 이상의 비디오 압축 기술을 포함할 수 있다. 예를 들어, 코딩 유닛(19)은 프레임간 압축을 제공하기 위해 일시적 또는 프레임간 데이터 상관을 활용하도록 모션 추정 및 모션 보상 기술들을 구현할 수 있다. 선택적으로 또는 부가적으로, 코딩 유닛(19)은 프레임 내부 압축을 제공하기 위해 공간 또는 프레임 내부 데이터 상관을 활용(exploit)하기 위해 공간 추정 및 내부 예측 기술들을 구현할 수 있다. 모션 보상(또는 내부 예측)의 출력은 "나머지(residual)"로 불리며, 코딩될 현재 비디오 블록과 모션 추정 또는 공간 추정에 의해 식별된 예측 블록 사이의 차이들을 나타내는 데이터의 블록을 포함할 수 있다.
코딩 유닛(19)이 나머지를 생성하기 위해 모션 보상(또는 내부 예측)을 실행한 후, 일련의 추가 단계들이 나머지를 추가로 코딩하고 데이터를 추가로 압축하기 위해 실행될 수 있다. 추가의 단계들은 사용되는 코딩 표준에 의존할 수도 있지만, 일반적으로 "나머지 코딩"으로 불린다. 코딩 유닛(19)은 비디오 시퀀스를 송수신기를 통해 다른 장치로 통신하기 위해 필요한 데이터의 양을 감소시키기 위해 하나 이상의 이러한 비디오 압축 기술을 실행할 수 있다.
도2는 도1의 장치(2)에서 구현될 수도 있는 컴포넌트들을 도시한다. 도2는 이미지 프로세싱 유닛 또는 엔진(20), 메모리 또는 버퍼(24), 및 코더(26)(또한 인코더/디코더, 코덱, 압축 엔진 또는 백 엔드 프로세서로 불림)를 도시한다. 비디오 프로세싱 시스템은 일반적으로 실시간 이미지를 캡쳐하는 이미지 프로세싱 유닛(20)과 같은 프론트-엔드 프로세서 및, 비디오/이미지 인코딩을 실행하는, 코더(26)와 백-엔드 프로세서를 포함한다.
도2의 이미지 프로세싱 유닛(20)은 (22A, 22B 및 22C로 표시되고, 통칭하여 "모듈(22)"로 불리는) 소정수의 이미지 프로세싱 모듈(22)을 포함할 수 있다. 모듈(22)은 이미지 센서 인터페이스, 디모자이크 모듈, 렌즈 롤오프 보정 모듈, 스케일링 모듈, 컬러 보정 모듈, 컬러 변환 모듈, 및 공간 필터링 모듈, 또는 다른 프론트-엔드 이미지 프로세싱 모듈들을 포함할 수 있다.
모듈(22)에 의한 프론트-엔드 이미지 프로세싱은 연속적일 수 있다. 제1 프로세스는, 다음 프로세스가 임의의 이미지와 관련하여 실행될 수 있기 전에, 전체로서 실행될 수 있다. 임의의 프로세스들은 시퀀스의 몇몇 상이한 이미지들과 관련하여 동시에 실행될 수 있다. 임의의 모듈들(22)은 동일한 기능을 실행할 수도 있는데, 상기 모듈들은 상이한 이미지들에 대해 상기 기능이 동시에 실행되게 한다.
제1 구성에서, 이미지 프로세싱 유닛(20)은 이미지들을 다운스케일링(즉, 다운샘플링 또는 데시메이션) 또는 업스케일링(즉, 업샘플링 또는 인터폴레이션)하기 위해 스케일러를 포함한다. 스케일링은 다른 이미지 프로세싱 기술들과 관련될 수 있다. (a) 업샘플링이 임의의 새로운 정보를 이미지에 부가하지 않으며, (b) 전력 및 라인 버퍼들의 영역을 절약하기 위해 다른 이미지 프로세싱 모듈들(22)에서 수행되는 데이터 프로세싱의 양을 감소시키는 것이 바람직하기 때문에, 업샘플링(또는 업스케일링)은 이미지 프로세싱 유닛(20)에서 파이프라인의 최종 엔드(end) 또는 엔드 부근에서 실행될 수 있다. 업샘플링은 적절한 디스플레이를 위해 또는 디지털 줌의 용도로 이미지의 크기를 재설정하기 위해 실행될 수 있다. 2x 업샘플링의 단순한 형태는 박스 필터를 사용하는데, 여기서 각각의 픽셀은 중복되어 4×4 블록으로 되며, 이는 출력 이미지를 재구성하기 위해 사용된다. 다양한 알고리즘이 업샘플링을 위해 사용될 수 있다.
프론트-엔드 이미지 프로세싱 유닛(20)은, 데이터가 코더(26)에 의해 JPEG(Joint Photographic Experts Group) 또는 MPEG 인코딩 중 하나에 대해 추가로 프로세싱될 수 있을 때까지 저장을 위해 메모리(24)(예를 들어, 외부 메모리)에 프로세싱된 데이터를 전송하며, 상기 코더는 이미지 매크로블록 기반으로 동작할 수 있다. 코더(26)는 MPEG 또는 JPEG 표준들 또는 다른 표준들에 따라 데이터를 인코딩 및/또는 디코딩할 수 있다. 이러한 첫 번째 구성에서, 어떠한 스케일러도 코더(26)에 존재하지 않는다.
두 번째 구성에서, 도2에 도시된 바와 같이, 코더(26)는 스케일러(28)를 포함하는데, 스케일러는 구성가능한 업 및/또는 다운 스케일러일 수 있다. 코더(26)는 JPEG 또는 MPEG 인코더의 구현일 수 있다. 코더(26)는 매크로블록 단위로 프로세싱된 이미지 데이터를 인출하고 매크로블록들을 프로세싱한다. 스케일러(28)를 코더(26)에 내장함으로써, 최종적으로 원하는 출력 크기가 이미지 프로세싱 유닛(20)으로부터의 원래 입력 크기(해상도)보다 클 때마다 메모리(24)에서 더 작은 공간이 요구된다. 이미지가 확대 또는 업스케일링될 때, 프로세싱되거나 저장될 데이터의 양이 예를 들어, 2 * N 만큼 증가할 수도 있으며, 여기서 N은 업샘플링 팩터이다. 만일 스케일러(28)가 메모리(24)로부터 코더의 판독 동작의 일부로서 이미지를 업샘플링하면, 즉 코더(26)가 메모리(24)로부터 프로세싱된 이미지 데이터를 인출하는 동안, 메모리(24)에 대한 크기 요구, 외부 대역폭, 영역 및 전력은 품질을 희생하지 않고 감소될 수 있다.
도2의 컴포넌트들은 감소된 전력 비디오 프로세싱 장치에서 사용될 수 있다.
코더(26)는 메모리(24)로부터 판독되는 매크로블록 데이터를 저장하기 위해 내부 버퍼를 가질 수 있다. 코더(26)는, 코더(26)가 다음 매크로블록을 인출하면서 하나의 매크로블록을 프로세싱하도록 이중 버퍼를 이용할 수 있다. 만일 스케일러(28)가 메모리(24)로부터 코더의 판독 동작의 일부로서 업샘플링하면, (2x 업샘플링을 위해) 메모리(24)에 대한 인출의 단지 1/4이 전술한 첫 번째 구성과 비교하여 요구될 것인데, 이는 단지 원래의 샘플링되지 않은 이미지가 메모리(24)로부터 인출되기 때문이다. 메모리(24)에 대한 인출들의 수의 감소는 현저한 전력 절약 효과를 가져온다. 첫 번째 구성(이미지 프로세싱 유닛(20)에서 최종 단계로서 업샘플링)과 비교하여 어떠한 품질의 손실도 없다.
코더(26)가 업샘플링을 실행하게 하는 또 다른 장점은 이미지 프로세싱 유닛(20)으로부터의 출력을 저장하기 위해 요구되는 메모리(24)의 양이 (2x 업샘플링에 대해) 4의 팩터만큼 감소될 수 있다는 것이다.
만일 (첫 번째 구성에서와 같이) 업샘플링이 이미지 프로세싱 유닛(20)에서 실행되고, 이미지가 이미지 센서로부터 실시간으로 프로세싱되면, 모듈들(22)의 파이프라인은 유지를 위해 업샘플링된 데이터 레이트로 동작되어야 한다. 이는 하드 웨어가 더 많은 병렬 동작들을 통합하거나 더 빠른 클록 속도로 동작하기 위해 더 크게 될 필요가 있음을 의미한다. 업샘플링 팩터가 증가함에 따라, 이의 실현가능성은 급격히 떨어진다.
만일 (두 번째 구성에서) 코더(26)가 업샘플링을 실행하면, 이미지 프로세싱 유닛(20)은 이미지 센서로부터 유래한 데이터 레이트에 의해 의도된 대로 최소 클록 레이트로 동작할 수 있다.
이미지 프로세싱 유닛(20)에서의 업샘플링은, 이미지가 수직 방향으로 업샘플링될 경우, 라인 버퍼들을 필요로 할 수 있다. 라인 버퍼 크기는 프로세싱되는 이미지의 수평 폭에 의해 지시될 수 있다. 더 높은 DSC 해상도를 지원하기 위해, 이러한 라인 버퍼는 현저하게 클 수 있다. 4 MP 이미지 센서는 2272 픽셀들의 폭을 가지는데, 이는 라인 버퍼당 2272×10 비트의 RAM 크기를 사용할 수 있다. 요구된 라인 버퍼들의 수는 수직 필터에 사용된 다수의 탭에 의해 결정될 수 있다.
만일 코더(26)가 업샘플링을 실행하면, 라인 버퍼들이 여전히 사용될 수 있다. 그러나 코더(26)는 16×16 픽셀들의 매크로 기반으로만 프로세싱되기 때문에, 이러한 라인 버퍼들의 크기는 현저히 작을 수 있으며, 이는 영역 및 전력의 감소를 제공한다.
코더(26)로의 업샘플링의 이동이 갖는 또 다른 잠재적인 장점은, 유닛(20)의 출력에서 지원될 필요가 있는 최대 데이터 레이트가 4의 팩터만큼 감소될 수 있기 때문에, (이미지 프로세싱 유닛(20)의 출력에서 버스 지연에 대처하기 위해 사용 된) RAM 버퍼들의 크기가 감소할 수 있다는 것이다.
도2에서 제안된 스케일러 구조는 가산기 및 곱셈기 등과 같은 임의의 하드웨어가 유연한 업스케일링 및 다운스케일링을 위해 공유 또는 사용될 수 있도록 설계되며, 이는 영역 효율적인 구성가능한 구조를 초래한다.
이미지 프론트-엔드 프로세서가 비디오/이미지 인코더와 통합되는 시스템에서, 프론트-엔드 프로세서 및 비디오/이미지 인코더는 비디오 프로세싱을 구현하기 위해 요구되는 전체 메모리 대역폭, 영역 및 전력이 감소할 수 있도록 구분될 수 있다.
만일 코더(26)가 인출을 파이프라이닝하고 매크로블록들을 프로세싱하도록 이중 버퍼를 사용하면, 코더(26)는 매크로블록을 프로세싱하는 시간의 총량 내에서 매크로블록의 업샘플링 외에 메모리(24)로부터 판독할 수 있으며, 그렇지 않으면, 코더 파이프라인에 지연이 발생할 수 있다. 만일 업샘플링이 매크로블록 프로세싱 시간보다 더 오래 소요되면, 전체 비디오 성능에서 약간의 감소가 발생할 수 있다. 이는 지연을 극복하도록 더 많은 내부 버퍼들을 부가함으로써 해결될 수 있다.
도3은 도2의 컴포넌트들을 사용하는 방법을 도시한다. 블록(30)에서, 이미지 데이터가 프로세싱된다. 블록(32)에서, 프로세싱된 이미지 데이터가 저장된다. 블록(34)에서, 저장된 이미지 데이터가 검색된다. 블록(36)에서, 검색된 이미지 데이터가 스케일링된다. 블록(308)에서, 스케일링된 데이터가 인코딩 및/또는 압축된다.
정보 및 신호들은 다양한 기술들을 일부를 사용하여 표현될 수 있다. 예를 들어, 전술한 사항을 통해 참조될 수도 있는 데이터, 명령들, 지시들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압, 전류, 전자기파, 자기장 또는 입자들, 광학계 또는 입자들 또는 임의의 이들 결합으로 표현될 수 있다.
당업자는 또한 본 명세서에 개시된 실시예들과 관련하여 설명된 논리적인 블럭들, 모듈들, 회로들, 및 알고리즘 단계들이 전자하드웨어, 컴퓨터 소프트웨어, 또는 그들의 조합으로서 실행될 수 있음을 인식할 것이다. 상기 하드웨어 및 소프트웨어의 상호교환가능성을 명백히 설명하기 위해, 다양한 요소들, 블럭들, 모듈들, 회로들, 및 단계들이 그들의 기능성에 관련하여 전술되었다. 상기 기능성이 하드웨어로 실행되는지 또는 소프트웨어로 실행되는지의 여부는 전체 시스템에 부과된 특정 애플리케이션 및 설계 제약에 따라 결정한다. 당업자는 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능성을 실행할 수 있지만, 상기 실행 결정들은 본 발명의 영역으로부터 벗어나는 것으로 해석될 수 없다.
본 명세서에서 개시된 실시예와 관련하여 다양하게 설명되는 논리들, 논리 블럭들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 처리기(DSP), 응용 집적 회로(ASIC), 현장 프로그램가능한 게이트 어레이(FPGA), 또는 다른 프로그램가능한 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 요소들, 또는 본 명세서에 개시된 기능을 수행하도록 설계된 그들의 임의의 조합을 사용하여 실행되거나 수행될 수 있다. 범용 프로세서는 마이크로프로세서가 될 수 있지만, 선택적으로 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 기계가 될 수 있다. 프로세서는 또한 예를 들어, DSP 및 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 결합된 하나 또는 그 이상의 마이크로프로세서, 또는 임의의 다른 구성과 같은 컴퓨팅 장치들의 조합으로서 실행될 수 있다.
본 명세서에 개시된 실시예와 관련하여 설명되는 방법 또는 알고리즘의 단계는 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 그들의 조합에서 즉시 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 제거가능한 디스크, CD-ROM 또는 임의의 다른 저장 매체 형태로 당업자에게 공지된다. 예시적인 저장 매체는 저장매체로부터 정보를 판독하고 정보를 기록할 수 있는 프로세서에 접속된다. 선택적으로, 저장 매체는 프로세서의 필수 구성요소이다. 프로세서 및 저장 매체는 ASIC 내에 상주할 수 있다. ASIC은 사용자 터미널 내에 상주할 수 있다. 선택적으로, 프로세서 및 저장 매체는 사용자 디바이스내에서 이산요소들로서 상주할 수 있다.
개시된 실시예의 전술된 설명은 당업자가 본 발명을 구현하고 이용하기에 용이하도록 하기 위하여 제공되었다. 이들 실시예에 대한 여러 가지 변형은 당업자에게 자명하며, 여기서 한정된 포괄적인 원리는 본 발명의 사용 없이도 다른 실시예에 적용될 수 있다.

Claims (19)

  1. 이미지 프로세싱 유닛;
    상기 프로세싱 유닛으로부터 분리되고, 상기 이미지 프로세싱 유닛으로부터 프로세싱된 이미지 데이터를 저장하도록 구성된 메모리; 및
    상기 메모리 및 상기 프로세싱 유닛으로부터 분리되고, 상기 메모리로부터 상기 저장되고, 프로세싱된 이미지 데이터를 검색(retrieve)하도록 구성되는 코더 ― 상기 코더는 상기 메모리로부터 상기 검색된 이미지 데이터를 업스케일링(upscale)하도록 구성되는 스케일러를 포함하고, 상기 코더는 상기 업스케일링된 이미지 데이터를 인코딩하도록 구성됨 ― 를 포함하고,
    상기 이미지 프로세싱 유닛 및 상기 코더는 공통 통신 버스를 통해 상기 메모리와 상기 프로세싱된 이미지 데이터를 통신하도록 구성되는, 장치.
  2. 제1항에 있어서,
    상기 이미지 프로세싱 유닛은 디모자이크(demosaicing), 렌즈 롤오프 보정(lens rolloff correction), 컬러 보정, 컬러 변환 및 공간 필터링 중 적어도 하나를 실행하기 위해 구성된, 장치.
  3. 제1항에 있어서,
    상기 메모리는 상기 이미지 프로세싱 유닛 및 코더 외부에 있는, 장치.
  4. 제1항에 있어서,
    상기 코더는 상기 검색된 이미지 데이터를 압축하기 위해 구성된, 장치.
  5. 제4항에 있어서,
    상기 코더는 MPEG, JPEG, ITU H.263, 및 ITU H.264 표준들 중 적어도 하나에 따라 이미지 데이터를 압축하도록 구성된, 장치.
  6. 제1항에 있어서,
    상기 코더는 이미지 데이터의 동시 검색 및 업스케일링을 가능하게 하는 이중 버퍼를 포함하는, 장치.
  7. 제1항에 있어서,
    상기 장치는 모바일 통신 장치이며, 상기 장치는 무선 통신 채널을 통해 상기 인코딩된 이미지 데이터를 전송하도록 구성된 송신기를 더 포함하는, 장치.
  8. 제1항에 있어서,
    상기 스케일러는 검색된 이미지 데이터를 업스케일링 및 다운스케일링하도록 구성가능한, 장치.
  9. 제1항에 있어서,
    상기 스케일러는 다수의 상이한 크기들로 업스케일링하도록 구성가능한, 장치.
  10. 제1항에 있어서,
    상기 코더는 비디오 코더를 포함하는, 장치.
  11. 제1 프로세싱 유닛으로 이미지 데이터를 프로세싱하는 단계;
    상기 제 1 프로세싱 유닛에 의해, 통신 버스를 통해 상기 프로세싱된 이미지 데이터를 메모리에 저장하는 단계 ― 여기서 상기 저장된 데이터는 업스케일링 되지 않았음 ―;
    상기 제 1 프로세싱 유닛 및 제 2 프로세싱 유닛들에 공통인 상기 통신 버스를 통해 상기 제 1 프로세싱 유닛과 구별되는 별개의 프로세싱 유닛을 이용하여 상기 메모리로부터 상기 저장된 이미지 데이터를 검색하는 단계;
    상기 제2 프로세싱 유닛으로 상기 검색된 이미지 데이터를 업스케일링하는 단계; 및
    상기 제2 프로세싱 유닛으로 상기 스케일링된 이미지 데이터를 인코딩하는 단계를 포함하는, 방법.
  12. 제11항에 있어서, 상기 인코딩 단계는,
    MPEG, JPEG, ITU H.263, 및 ITU H.264 표준들 중 적어도 하나에 따라 상기 검색된 이미지 데이터를 압축하는 단계를 포함하는, 방법.
  13. 제11항에 있어서, 상기 인코딩 단계는,
    비디오 인코딩 단계를 포함하는, 방법.
  14. 제11항에 있어서, 상기 이미지 데이터를 프로세싱하는 단계는,
    디모자이크(demosaicing), 렌즈 롤오프 보정(lens rolloff correction), 컬러 보정, 컬러 변환 및 공간 필터링 중 적어도 하나를 포함하는, 방법.
  15. 제11항에 있어서,
    상기 검색된 이미지 데이터를 버퍼링하는 단계를 더 포함하는, 방법.
  16. 제11항에 있어서,
    무선 통신 채널을 통해 상기 인코딩된 이미지 데이터를 전송하는 단계를 더 포함하는, 방법.
  17. 제11항에 있어서,
    업스케일링의 양을 구성하는 단계를 더 포함하는, 방법.
  18. 이미지를 프로세싱하기 위한 수단;
    상기 프로세싱된 이미지를 저장하기 위한 수단 ―상기 저장되고, 프로세싱된 이미지는 업스케일링 되지 않았음 ―; 및
    (a) 상기 저장하기 위한 수단으로부터 상기 저장되고, 프로세싱된 이미지를 검색하고, (b) 상기 검색된 이미지를 업스케일링하고, 및 (c) 상기 업스케일링된 이미지를 인코딩하기 위한, 상기 저장하기 위한 수단과 구별되는, 수단을 포함하고,
    여기서, 상기 이미지 프로세싱 수단 및 상기 검색, 업스케일링 및 인코딩하기 위한 수단은 공통 통신 버스를 통해 상기 저장 수단과 상기 프로세싱된 이미지 데이터를 통신하도록 구성되는, 장치.
  19. 제18항에 있어서,
    상기 이미지를 프로세싱하기 위한 수단은 디모자이크(demosaicing), 렌즈 롤오프 보정(lens rolloff correction), 컬러 보정, 컬러 변환 및 공간 필터링 중 적어도 하나를 실행하기 위해 구성된, 장치.
KR1020087015680A 2005-11-30 2006-11-30 이미지 및 비디오 프로세싱을 위한 스케일러 구조 KR100985464B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US74134705P 2005-11-30 2005-11-30
US60/741,347 2005-11-30
US11/360,137 US8009729B2 (en) 2005-11-30 2006-02-22 Scaler architecture for image and video processing
US11/360,137 2006-02-22

Publications (2)

Publication Number Publication Date
KR20080078700A KR20080078700A (ko) 2008-08-27
KR100985464B1 true KR100985464B1 (ko) 2010-10-06

Family

ID=38087468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087015680A KR100985464B1 (ko) 2005-11-30 2006-11-30 이미지 및 비디오 프로세싱을 위한 스케일러 구조

Country Status (7)

Country Link
US (1) US8009729B2 (ko)
EP (1) EP1955551A2 (ko)
JP (1) JP5602367B2 (ko)
KR (1) KR100985464B1 (ko)
CN (1) CN103945225A (ko)
TW (1) TW200806038A (ko)
WO (1) WO2007120303A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682110B2 (en) 2011-06-07 2014-03-25 Samsung Electronics Co., Ltd. Method and apparatus for converting resolution of block based image

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156259B2 (en) * 2005-07-21 2012-04-10 Elliptic Technologies Inc. Memory data transfer method and system
JP4845825B2 (ja) * 2007-07-25 2011-12-28 株式会社 日立ディスプレイズ 多色表示装置
EP2315445A1 (en) * 2009-10-09 2011-04-27 Vidast Oy Video compression
US20110279702A1 (en) * 2010-05-17 2011-11-17 David Plowman Method and System for Providing a Programmable and Flexible Image Sensor Pipeline for Multiple Input Patterns
CN102065281B (zh) * 2010-11-23 2015-01-07 无锡港湾网络科技有限公司 一种带存储可远程回放的网络监控系统
TWI511078B (zh) * 2012-06-11 2015-12-01 Acer Inc 影像處理的調整方法及其電子裝置
CN103531217B (zh) * 2012-07-02 2016-06-08 宏碁股份有限公司 影像处理的调整方法及其电子装置
TWI512675B (zh) * 2013-10-02 2015-12-11 Mstar Semiconductor Inc 影像處理裝置與方法
US10284861B2 (en) * 2016-12-09 2019-05-07 Advanced Micro Devices, Inc. Concurrent image compression and thumbnail generation
CN108184084A (zh) * 2017-12-29 2018-06-19 北京九方广维科技有限公司 对讲机的视频信号传输方法及装置
CN111314579B (zh) * 2020-02-21 2021-10-15 苏州浪潮智能科技有限公司 一种图像垂直滤波处理的方法及芯片
TWI823281B (zh) * 2022-03-04 2023-11-21 大陸商星宸科技股份有限公司 視訊處理電路與視訊處理方法
CN114760479A (zh) * 2022-05-09 2022-07-15 合肥宏晶半导体科技有限公司 视频传输方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020012055A1 (en) 1999-12-20 2002-01-31 Osamu Koshiba Digital still camera system and method
KR20050098287A (ko) * 2003-01-30 2005-10-11 퀄컴 인코포레이티드 디지털 영상 데이터 프로세싱용 재사용가능 프론트 엔드를구비하는 모듈러 아키텍처

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546052B1 (en) * 1998-05-29 2003-04-08 Canon Kabushiki Kaisha Image processing apparatus and method, and computer-readable memory
JP4179701B2 (ja) 1999-04-28 2008-11-12 オリンパス株式会社 画像処理装置
JP2004193686A (ja) 2002-12-06 2004-07-08 Nec Access Technica Ltd カメラ付き携帯端末
US20040158878A1 (en) * 2003-02-07 2004-08-12 Viresh Ratnakar Power scalable digital video decoding
JP2005277908A (ja) 2004-03-25 2005-10-06 Nec Access Technica Ltd 画像処理装置、その画像処理方法およびカメラつき携帯電話
US20050248586A1 (en) 2004-05-06 2005-11-10 Atousa Soroushi Memory efficient method and apparatus for compression encoding large overlaid camera images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020012055A1 (en) 1999-12-20 2002-01-31 Osamu Koshiba Digital still camera system and method
KR20050098287A (ko) * 2003-01-30 2005-10-11 퀄컴 인코포레이티드 디지털 영상 데이터 프로세싱용 재사용가능 프론트 엔드를구비하는 모듈러 아키텍처

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682110B2 (en) 2011-06-07 2014-03-25 Samsung Electronics Co., Ltd. Method and apparatus for converting resolution of block based image

Also Published As

Publication number Publication date
EP1955551A2 (en) 2008-08-13
CN103945225A (zh) 2014-07-23
WO2007120303A2 (en) 2007-10-25
JP2009518890A (ja) 2009-05-07
TW200806038A (en) 2008-01-16
US8009729B2 (en) 2011-08-30
JP5602367B2 (ja) 2014-10-08
KR20080078700A (ko) 2008-08-27
US20070121733A1 (en) 2007-05-31
WO2007120303A3 (en) 2008-01-10

Similar Documents

Publication Publication Date Title
KR100985464B1 (ko) 이미지 및 비디오 프로세싱을 위한 스케일러 구조
US10944966B2 (en) Method for determining predictor blocks for a spatially scalable video codec
KR100196019B1 (ko) 스케일러블 mpeg2 컴플라이언트 비디오 인코더
US8705624B2 (en) Parallel decoding for scalable video coding
US7924925B2 (en) Flexible macroblock ordering with reduced data traffic and power consumption
US8615043B2 (en) Fixed length coding based image data compression
JP4641892B2 (ja) 動画像符号化装置、方法、及びプログラム
JP5581688B2 (ja) 画像処理装置および方法、並びにプログラム
US11843790B2 (en) Adaptive resolution change in video processing
WO2022068682A1 (zh) 图像处理方法及装置
WO2021109978A1 (zh) 视频编码的方法、视频解码的方法及相应装置
US20100316123A1 (en) Moving image coding device, imaging device and moving image coding method
JP2008506294A (ja) デブロッキング・フィルタリングを実行する方法及びシステム
US8170110B2 (en) Method and apparatus for zoom motion estimation
JP2011151430A (ja) 画像処理装置およびそれを搭載した撮像装置
US20080089418A1 (en) Image encoding apparatus and memory access method
KR20230145063A (ko) 비디오 코딩에서의 인트라-예측을 위한 레퍼런스 픽셀들의업샘플링
WO2020253681A1 (zh) 融合候选运动信息列表的构建方法、装置及编解码器
EP1919213A1 (en) Method for interpolating chrominance signal in video encoder and decoder
JP2008141407A (ja) 符号化方式変換装置及び符号化方式変換方法
Hu et al. Efficient image compression method using image super-resolution residual learning network
JP2009278473A (ja) 画像処理装置、それを搭載した撮像装置、および画像再生装置
CN101317461A (zh) 用于图像和视频处理的缩放器结构
JPH09261661A (ja) 2つの基準ピクチャから双方向コード化ピクチャを形成するための方法
WO2005104560A1 (en) Method of processing decoded pictures.

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: 20130830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9