KR100932805B1 - 이미지 프로세싱에서의 에지 핸들링을 위한 장치 및 방법 - Google Patents

이미지 프로세싱에서의 에지 핸들링을 위한 장치 및 방법 Download PDF

Info

Publication number
KR100932805B1
KR100932805B1 KR1020077006348A KR20077006348A KR100932805B1 KR 100932805 B1 KR100932805 B1 KR 100932805B1 KR 1020077006348 A KR1020077006348 A KR 1020077006348A KR 20077006348 A KR20077006348 A KR 20077006348A KR 100932805 B1 KR100932805 B1 KR 100932805B1
Authority
KR
South Korea
Prior art keywords
pixel
input
edge
register
pixels
Prior art date
Application number
KR1020077006348A
Other languages
English (en)
Other versions
KR20070067093A (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 KR20070067093A publication Critical patent/KR20070067093A/ko
Application granted granted Critical
Publication of KR100932805B1 publication Critical patent/KR100932805B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

비디오 포스트-프로세싱에서의 하드웨어-기반 에지 핸들링을 위한 방법 및 장치. 일 실시예에서, 본 방법은 출력 픽셀 계산 동안 출력 픽셀을 계산하는데 필요한 하나 이상의 출고된 입력 픽셀의 식별을 포함한다. 일단 식별되고 나면, 검출된 에지 핸들링 모드에 따라, 하나 이상의 출고된 입력 픽셀을 위해 픽셀 값이 발생된다. 일 실시예에서는, 출고된 입력 픽셀의 위치가 픽셀 프레임 경계를 벗어나 있다면, 출고된 입력 픽셀을 위한 픽셀 값의 발생이 수행된다. 예를 들어, 일 실시예에서는, 스케일링 동작의 출력 픽셀 계산을 위해, 프레임 경계들은, 프레임 경계들에서의 또는 프레임 경계들 부근에서의 출력 픽셀들을 계산하는데 필요한 입력 픽셀들이 존재하지 않는 왼쪽(상단) 에지 및 오른쪽(하단) 에지를 포함한다. 다른 실시예들이 설명되고 청구된다.
비디오 포스트-프로세싱, 하드웨어-기반 에지 핸들링, 에지 핸들링 모드, 출력 픽셀, 입력 픽셀, 스케일링 동작, 픽셀 프레임 경계

Description

이미지 프로세싱에서의 에지 핸들링을 위한 장치 및 방법 {AN APPARATUS AND METHOD FOR EDGE HANDLING IN IMAGE PROCESSING}
하나 이상의 실시예들은 비디오 포스트-프로세싱 및 이미지 향상의 분야들에 관한 것이다. 좀더 구체적으로, 일 실시예는 이미지 프로세싱에서의 에지 핸들링을 위한 방법 및 장치에 관한 것이다.
현재의 디지털 텔레비젼들(DTV들)은, 인코딩된 미디어 신호가 디코딩된 이후, 그러나 디코딩된 디지털 비디오 프레임들이 디스플레되기 이전에, DTV의 디스플레이 프로세싱 파이프라인에서 비디오 포스트-프로세싱 및/또는 이미지 향상을 제공할 수 있다. 비디오 포스트-프로세싱의 일례들로는 수평 및 수직 비디오 스케일링(horizontal and vertical video scaling)을 들 수 있다. DTV 칩들에서의 수평 및 수직 비디오 스케일링은 다상 필터(polyphase filter)를 사용해 구현될 수 있다. 일반적으로, 비디오 스케일링은, 한 세트의 입력 픽셀들로부터 (스케일링 팩터에 따라) 좀더 많은/적은 수의 출력 픽셀들을 발생시키는 단계를 수반하는 보간/데시메이션 프로세스(interpolation/decimation process)로 생각될 수 있다. 다상 필터를 사용해 스케일링이 구현될 때, 발생된 출력 픽셀 각각은 입력 픽셀들(N)의 함수이다.
일반적으로, N은 스케일링 프로세스를 수행하기 위해 다상 필터에 의해 제공되는 탭들의 수를 의미하는 정수이다. 출력 픽셀을 발생시키는데 필요한 N개 입력 픽셀들은, 예를 들어, 대칭 다상 필터를 사용하는 경우, 일반적으로 출력 픽셀 위치의 중심에 위치한다. 대부분의 출력 픽셀들에 대해 이것이 작용하지만, 픽셀 프레임의 에지들에서는 그것이 문제를 야기시킨다. 사실상, 픽셀 프레임 경계의 출력 픽셀을 발생시키는데 필요한 입력 픽셀들 중 하나 이상이 존재하지 않는다.
일례로서, 720개 수평 픽셀들로부터 1920개 픽셀들로의 스케일링(업스케일링)을 고려한다. 이 일례에서 탭들의 수 또는 N은 9라고 가정한다. 탭들의 이 수에 기초해, 픽셀 0(픽셀들은 0 내지 1919로 넘버링된다)를 발생시키기 위해서는, 0 주위에 집중된 9개 입력 픽셀들이 필요하다. 입력 픽셀들(0-4)은 존재하지만, 픽셀들(-4 내지 -1)은 존재하지 않는다. 마찬가지로, 출력 픽셀들(1, 2, 및 3)을 위한 출력 픽셀 계산 역시 누락 입력 픽셀들을 가질 것이다. 후속 출력 픽셀들이 계산됨에 따라, 누락 픽셀들의 수가 감소하고 궁극적으로는 사라지지만, 픽셀 프레임의 오른쪽 에지((수직 스케일링의 경우) 상단 및 하단 에지)에서 문제는 재발하는데, 다시 말해, (720 라인 폭 픽셀 프레임의 경우) 입력 픽셀 719의 오른쪽을 위한 입력 픽셀들도 존재하지 않는다.
이 문제를 다루기 위해, 현재, 몇가지 에지 핸들링 방법들이 존재한다. 이 방법들은 픽셀 프레임 주위에 추가 에지 픽셀들을 패딩(padding)하는 단계를 수반한다. 본 방법들은 복제(상기 일례에서, 픽셀들 -4 내지 -1 모두는 픽셀 0의 값을 취한다); 픽셀들 -4 내지 -1이 픽셀들 1-4의 값들을 취하는 미러링(mirroring); 및 픽셀들 -4 내지 -1이 단순히 0으로 설정되는 0-기반(zero-based)을 포함한다.
상기 방법들 중 어느 하나의 구현은 통상적으로, 패딩된 이 픽셀들을 소프트웨어 또는 다른 하드웨어 유닛들에 의해 실제로 생성하는 단계 및 스케일링 동작의 수행 이전에 그것들을 메모리에 저장하는 단계를 수반한다. 따라서, 비디오 스케일러(video scaler)는 패딩된 완전한 이미지를 판독한다. 때때로, 하드웨어 벤더들은 에지 핸들링 문제를 완전히 무시하고 픽셀 프레임 에지들에서의 스케일링 품질을 타협하기도 한다.
본 발명의 다양한 실시예들이, 첨부 도면들에서, 한정이 아닌, 일례로써 예시된다.
도 1은, 일 실시예에 따른, 에지 핸들링 로직을 예시하는 블록도이다.
도 2는, 일 실시예에 따른, 픽셀 프레임 경계들에서의 에지 핸들링을 예시하는 블록도이다.
도 3은, 일 실시예에 따른, 예를 들어, 도 1을 참조하여 예시된 에지 핸들링 로직을 포함하는 시스템을 예시하는 블록도이다.
도 4는, 일 실시예에 따른, 이미지 프로세싱에서의 에지 핸들링 방법을 예시하는 흐름도이다.
도 5는, 일 실시예에 따른, 픽셀 프레임 경계들에서의 에지 핸들링 방법을 예시하는 흐름도이다.
도 6은, 개시된 기술들을 사용하는 설계의 에뮬레이션, 시뮬레이션, 및 가공을 위한 포맷들의 다양한 설계 표현들을 예시하는 블록도이다.
다음 설명에서는, 좀더 완전한 이해를 제공하기 위해, 로직 구현들, 신호들 및 버스들의 사이즈들과 이름들, 시스템 컴포넌트들의 유형들과 상관 관계들, 및 로직 분할/통합 선택들과 같은 다수의 특정 세부 사항들이 기술된다. 그러나, 당업자라면, 본 발명이 그러한 특정 세부 사항들없이 실시될 수도 있다는 것을 알 수 있을 것이다. 다른 경우들로서, 제어 구조들 및 게이트 레벨 회로들은 발명을 불명료하게 하는 것을 방지하기 위해 상세하게 도시되지 않았다. 당업자들이라면, 불필요한 실험없이, 포함된 설명들로써, 적합한 로직 회로들을 구현할 수 있을 것이다.
시스템
도 1은, 일 실시예에 따른, 에지 핸들링 로직(100)을 예시하는 블록도이다. 일 실시예에서, 에지 핸들링 로직(100)은, 비디오 포스트-프로세싱 및/또는 이미지 향상과 같은, 이미지 프로세싱 동안 에지 핸들링을 수행한다. 일 실시예에서, 에지 핸들링 로직(100)은, 예를 들어, 디스플레이 클러스터와 같은, 비디오 포스트-프로세싱 로직의 수평 및 수직 스케일러들내에 통합된다. 여기에서 설명되는 실시예들이 수평 및 비디오 스케일러들내에 에지 핸들링 로직을 통합하는 것으로 제한되지 않으며 포스트-프로세싱 로직의 다른 유형들에도 사용될 수 있다. 일례들은 DTV, 컴퓨터 시스템내에 통합된 그래픽 컨트롤러를 가진 시스템 칩셋의 디스플레이 엔진, 또는 다른 디스플레이 장치의 디스플레이 프로세싱 파이프라인에서의 사용을 포함한다.
대표적으로, 에지 핸들링 로직(100)은, 입력 픽셀 레지스터들(140;140-1, 140-2, 140-3, 140-4, 140-5, 140-6, 140-7, 140-8, 및 140-9)을 채우도록 프로그램될 수 있거나 직접 입력 로직 게이트(120) 뿐만 아니라 제2 로직 게이트들(130;130-1, 130-2, 130-3 and, 130-4)에 배선 접속되어 입력 픽셀 레지스터들(140;140-1, 140-2, 140-3, 140-4, 140-5, 140-6, 140-7, 140-8, 및 140-9)을 채울 수 있는 컨트롤러(110)를 포함한다. 도 1을 참조하여 예시된 바와 같이, 에지 핸들링 로직(100)은 비디오 포스트-프로세싱 로직의 수평/수직 스케일러내에서 동작한다. 그러나, 여기에서 설명되는 실시예들이 수직 또는 수평 스케일러들내에 구현된 에지 핸들링 로직(100)으로 제한되지 않으며, 예를 들어, 도 2에 도시된 바와 같이, 픽셀 프레임들을 프로세싱하여 픽셀 프레임 경계들을 벗어난 입력 픽셀들로부터 출력 픽셀들을 발생시키는 다른 비디오 포스트-프로세싱 및 이미지 핸들링 기술들에도 적용될 수 있다.
도 2는 복수개 입력 픽셀들(166;Z0,0 ..., Zi,j)을 포함하는 픽셀 프레임 버퍼(150)를 예시하는 블록도이다. 예시된 바와 같이, 픽셀 프레임 버퍼(150)는 왼쪽 에지(152), 오른쪽 에지(154), 상단 에지(156), 및 하단 에지(158)를 포함한다. 따라서, 에지 핸들링 로직(EHL;100)(도 1)이 DTV 프로세싱 파이프라인내에서 스케일링을 수행하는데 사용되는 일 실시예에서, EHL(100)은 비디오 포스트-프로세싱 로직의 수평 스케일러내에 구현될 수 있다.
상술된 바와 같이, DTV 칩들의 비디오 스케일링은 일반적으로, 다상 필터를 사용해 구현된다. 비디오 스케일링은, 한 세트의 입력 픽셀들로부터 (스케일링 팩터에 따라) 좀더 많은/적은 수의 출력 픽셀들을 발생시키는 단계를 수반하는 보간/데시메이션 프로세스로서 생각될 수 있다. 스케일링이 다상 필터를 사용해 구현되는 경우, 각각의 출력 픽셀은 입력 픽셀들(N)의 함수로서 발생되는데, 여기에서, N은 다상 필터의 탭들의 수이다. 사용되는 입력 픽셀들(N)은, 예를 들어, 도 2를 참조하여 예시된 바와 같이, 출력 픽셀과 동일한 위치에 집중된다.
입력 픽셀(Z0,0)의 위치에 대응되는 출력 픽셀(160)이 픽셀 프레임(150)으로부터 발생된다고 가정하면, 출력 픽셀(160)을 계산하는데 필요한 입력 픽셀들이 이용 불가능할 수도 있다. 도 2에 예시된 바와 같이, N의 값이 9라고 가정하면, 출력 픽셀(160)을 발생시키기 위해서는, 출력 픽셀(160) 주위에 집중된 9개 입력 픽셀들이 필요하다. 9개 입력 픽셀들이 필요하지만, 5개 입력 픽셀들만이 이용 가능한데, 출력 픽셀(160)이 픽셀 프레임(150)의 왼쪽 에지에 위치하므로, 구체적으로, 픽셀들(-Z0,4, -Z0,3, -Z0,2, -Z0,1)은 이용 불가능하다. 이 문제는, 픽셀 프레임(150)의 오른쪽 에지에 위치한 출력 픽셀(162) 및 픽셀 프레임(150)의 하단 에지(158)에 위치한 출력 픽셀(164)의 출력 픽셀 계산에 대해서도 발생한다.
픽셀 프레임 에지의 또는 픽셀 프레임 에지 부근의 출력 픽셀들을 계산하기 위해, 3가지 에지 핸들링 방법들이 존재한다. 이 방법들 각각은 픽셀 프레임(150) 의 바깥쪽 에지(170) 주위에 추가 에지 픽셀들을 패딩하는 단계를 수반한다. 바깥쪽 에지(170)의 치수들(D;178)(178-1, 178-2, 178-3, 및 178-4)은 다음의 수학식 1 및 수학식 2에 따라 판정된다.
D=(N-1)/2, N이 홀수일 때
D=N/2, N이 짝수일 때
출력 픽셀(160)을 계산하기 위해, 0-기반 에지 핸들링 방법은 픽셀 프레임 버퍼(150)의 바깥쪽 에지(170)를 0 값들(172)로 패딩할 것이다. 픽셀 프레임(150)의 바깥쪽 에지(170)를 패딩하는 것에 의해, 출력 픽셀(160)을 계산하는데 필요한 9개 입력 픽셀들이 이용 가능하다. 이 또한 알 수 있는 바와 같이, 출력 픽셀(160)의 오른쪽으로의 출력 픽셀들(Z0,1, Z0,2, Z0,3)을 위한 수평 스케일링 역시, 누락 입력 픽셀들을 제공하기 위한 에지 핸들링 방법을 요구한다. 다른 기술들은, 174로써 예시된 바와 같이, 프레임 에지에서의 픽셀 값들이 반복되는 복제를 수반한다. 미러링 방법에서는, 176으로써 예시된 바와 같이, 입력 픽셀들의 값들이 미러링된다.
다시 도 1을 참조하면, 예시된 실시예에서, 에지 핸들링 로직(100)은 9개 탭 다상 필터를 위해 제공된다. 일 실시예에서, 입력 픽셀 레지스터들(140)은 다상 필터의 탭들의 수(N)에 대응되는 9개 입력 픽셀들을 보유한다. 일 실시예에서, 각각의 픽셀은 휘도값(Y) 및 크로미넌스 값들(Cr/Cb)에 대응되는 8/10/12 비트 양이다. 예시된 바와 같이, 컨트롤러(110)는 에지 핸들링 모드를 제공하기 위한 에지 핸들링 모드(EHM) 레지스터(116)를 포함한다. 에지 핸들링 모드 레지스터(116)는 픽셀 프레임 경계를 벗어난 좌표들을 가진 입력 픽셀들을 위한 픽셀 값을 생성하기 위한 에지 핸들링 모드를 0-기반(zero-based) 에지 핸들링 모드, 복제 에지 핸들링 모드 및 미러링 에지 핸들링 모드 중 하나로서 식별할 수 있다. 마찬가지로, 컨트롤러(110)는, 픽셀 프레임의 현재 라인에 대한 라인 폭을 제공하는 라인 폭 레지스터(118)에 커플링된다. 일 실시예에서, EHA 레지스터(116) 및 라인 폭 레지스터(118)는, 예를 들어, 장치 드라이버 또는 유사한 다른 특권 소프트웨어와 같은, 제어 소프트웨어로써 채워져 에지 핸들링 모드 및 픽셀 프레임의 현재 라인에 대한 라인 폭을 제공한다.
일 실시예에서, 신호(114)는 제2 로직 게이트들(130)로 제공되는 왼쪽(상단) 에지 제어 신호이다. 일 실시예에서, 신호(112)는, 제1 로직 게이트(120)로 제공되는 오른쪽(하단) 에지 제어 신호이다. 라인 폭에 기초해 그리고 검출된 에지 핸들링 방법에 따라, 수행중인 일 실시예에서는, 컨트롤러(110)가, 현재의 출력 픽셀이 픽셀 프레임 경계 근처에 위치하는지의 여부를 판정한다. 일 실시예에서, 컨트롤러(110)는 입력 픽셀 레지스터들(140)에 의한 입력 픽셀들의 저장을 지시하는 제어 신호들(112 및 114)을 어서트(assert)하여 비디오 포스트-프로세싱 및/또는 이미지 향상 동작에 따른 출력 픽셀의 계산을 가능하게 한다.
일 실시예에서, 제1 로직 게이트(120)는, 예를 들어, 입력 픽셀 데이터 신호(data_in) 뿐만 아니라 픽셀 프레임의 오른쪽 에지 핸들링을 용이하게 하기 위해 입력 픽셀 레지스터들(140-1, 140-2, 140-3, 140-6, 및 140-8)로부터 피드백 신호들(124;124-1, 124-2, 124-3, 124-4, 124-5)도 수신하는 멀티플렉서(MUX)이다. 정규 동작 조건들하에서, 컨트롤러(110)는 data_in(122)으로부터의 입력 픽셀로써 입 력 픽셀 레지스터(140-1)를 채울 것을 MUX(120)에 지시한다. 라인의 나머지 픽셀들을 위해, MUX(120)는, 일단 다양한 입력 픽셀 레지스터들(140)내의 값들이 시프트, 예를 들어, 오른쪽-시프트되고 나면, 입력 레지스터(140-1)내에 저장되어 있는 data_in(122)을 단순히 선택한다. 오른쪽 에지가 검출될 때, 컨트롤러(110)는, 레지스터(116)로부터 검출된 에지 핸들링 모드에 따라, MUX(120)로의 피드백 입력들(124) 중 하나를 선택한다.
일 실시예에서는, 제2 로직 게이트들(130) 역시, 컨트롤러(110)에 의해 구동되는 신호(114)에 의해 제어되는 MUX들이다. 예시된 바와 같이, 제2 MUX들(130)은 레지스터들(140-6 내지 140-9)로부터 데이터를 선택하는데 사용된다. 예시된 바와 같이, MUX(130-4)는 0-기반 에지 핸들링을 위한 입력 0 뿐만 아니라 data_in(122), 입력 픽셀 레지스터(140-4), 및 입력 레지스터(140-8)로부터의 입력들도 취한다. 마찬가지로, MUX(130-3)는 입력 0 뿐만 아니라 입력 픽셀 레지스터(140-1, 140-4, 및 140-7)로부터의 입력들도 취한다. MUX(130-2)는 입력 0 뿐만 아니라 입력 픽셀 레지스터들(140-2, 140-4, 및 140-6)로부터의 입력들도 취한다. 마지막으로, MUX(130-1)는 0로부터 그리고 입력 픽셀 레지스터들(140-3, 140-4, 및 140-5)로부터 입력들을 취한다.
일 실시예에서는, 왼쪽(상단) 에지에서의 출력 픽셀 계산을 핸들링하기 위해, 제2 MUX들(130)이 제공된다. 라인의 나머지 픽셀들을 위해, 제2 MUX들은 간단한 시프트 레지스터들로서 동작한다. 예시된 바와 같이, 제공되는 동작은 오른쪽 시프트 동작이다. 라인의 왼쪽 에지에서, 컨트롤러(110)는 제어 신호(114)를 어서 트하여, EHA 레지스터(116)로부터 검출된 에지 핸들링 모드에 따른 입력 픽셀 레지스터들(140-6, 140-7, 140-8, 및 140-9)의 로딩(loading)을 지시한다. 일 실시예에서, 도 1에 예시된 에지 핸들링 로직(100)의 동작은 표 1에서 제공되는 의사 코드(pseudo-code)에 따라 수행된다.
Figure 112007022062418-pct00001
Figure 112007022062418-pct00002
도 1은, 비디오 포스트-프로세싱 동작을 수행하기 위한, 9개 탭 다상 필터를 위한 실시예에 따른 에지 핸들링 로직(100)을 예시하지만, 에지 핸들링 로직(100)과 관련하여 여기에서 설명되는 실시예들은, 비디오 포스트-프로세싱 동작에 의해 요구되는 다상 필터의 탭들의 수(N)에 따라 다양한 구성들을 포함한다는 것과 그러한 구성들로 제한되지 않는다는 것을 알 수 있어야 한다. 마찬가지로, 입력 MUX(120) 및 제2 MUX들(130)을 갖는 것으로 예시되지만, 출력 픽셀 계산을 위한 입력 픽셀들을 제공하기 위해 다양한 에지 핸들링 모드를 수용하기 위한 필요에 따라 추가 MUX들이 추가될 수도 있다.
따라서, 여기에서 설명되는 실시예들에서, 누락 입력 픽셀들을 발생시키기 위한 에지 핸들링은, 픽셀 프레임 에지들에서의 출력 픽셀 계산을 위한 입력 픽셀들이 누락되는 것을 방지하기 위해 픽셀 프레임 주변에서 픽셀들을 패딩하는 전통적인 기술들에 의해 수행되는 바와 같이 비디오 포스트-프로세싱 동작 이전이 아니라, 포스트-프로세싱 동작 동안 발생한다. 예를 들어, 도 2에 도시된 바와 같이, 디코딩된 픽셀 프레임들을 포스트-프로세싱 이전에 누락 픽셀들(missing pixels)로써 패딩하는 전통적인 기술들은 디스플레이를 위한 픽셀 프레임들을 제공한다.
도 3은, 도 1의 에지 핸들링 로직(EHL;100)을 포함하는 수평 스케일러(H-스케일러;284) 및 수직 스케일러(V-스케일러;286)를 가진 포스트-프로세싱 로직(280)을 포함하는 SOC(system on-chip;200)를 예시하는 블록도이다. 대표적으로, 시스템(200)은 메모리 컨트롤러(292) 및 DMA 컨트롤러(290)에 커플링된 매립형 제어 프로세서(202)를 포함한다. 일 실시예에서, 포스트-프로세싱 로직(280)은 잡음 정정 블록(282) 뿐만 아니라 수평 스케일러(H-스케일러;284) 및 수직 스케일러(V-스케일러;286)도 포함할 수 있다. 일 실시예에서, MPEG(motion picture experts group) 블록(206)은, 예를 들어, 디코딩된 수신 디지털 비디오 프레임들의 스케일링 또는 이미지 향상을 수행할 수 있는 포스트-프로세싱 로직(280)을 위한 프레임 버퍼(208)에 디코딩된 디지털 비디오 프레임들을 제공한다. 일 실시예에서, MPEG 블록(206)은 외부 시스템 메모리(294)로부터 수신되는 인코딩된 비디오 신호로부터 디코딩된 비디오 프레임들을 발생시킨다.
일 실시예에서, 포스트-프로세싱 로직(280)은, 에지 핸들링 모드 및 현재 픽셀 프레임 라인의 라인 폭을 판정하기 위해, 앞서 설정된 제어 프로세서(202) 또는 소프트웨어에 의존한다. 일 실시예에서, 제어 프로세서(202)는, 어셈블리어 코드로써 프로그램될 수 있는 매립형 프로세서이다. 다른 실시예에서는, 예를 들어, 아나모픽(anamorphic) 스케일링 동작을 가능하게 하기 위해, 장치 드라이버들이 제공되어 제어 프로세서(202)가 EHM 레지스터(116) 및 라인 폭 레지스터(118)를 채우는 것을 지원하거나 컨트롤러(110)에 입력 픽셀 레지스터들(140)을 채울 것을 지시할 수도 있다. 일단 포스트-프로세싱이 수행되고 나면, 디스플레이(296)에 출력 픽셀 프레임들이 제공된다. 설명된 실시예들에서, 디스플레이(296)는 아날로그 CRT(cathode ray tube) 모니터, 디지털 디스플레이 인터페이스를 갖춘 평판 디스플레이와 같은, 디지털 모니터, DTV 유닛 등일 수 있다.
일 실시예에서는, 예를 들어, 포스트-프로세싱 로직(280)의 30 프레임/초(frame/second) 대역폭 요구 사항과의 컴플라이언스(compliance)를 제공하기 위해, 온-칩 DMA(direct memory access) 컨트롤러(290)가 온-칩 메모리 컨트롤러(292)로 DMA 요청들을 발행하는데, 온-칩 메모리 컨트롤러(292)는 오프-칩 시스템 메모리(294)로부터의 픽셀 프레임들을 DMA 컨트롤러(290)에 제공한다. 그 다음, 픽셀 프레임들은, FIFO(first-in, first-out) 버퍼 등과 같은, 프레임 버퍼(208)로 제공된다. 일 실시예에서, 그러한 초기 프레임들은, 수신된 프레임들을 디코딩된 디지털 비디오 신호 프레임들로 디코딩하고 그러한 프레임들을 프레임 버퍼(208)를 통해 포스트-프로세싱 로직(280)에 제공하는 MPEG 블록(206)으로 제공될 수 있다.
일 실시예에서, 시스템(200)은 셋톱 박스 또는 텔레비젼내에 통합되어 HDTV(high definition television) 신호 프로세싱을 제공할 수 있을 뿐만 아니라, DTV 등의 디스플레이 파이프라인내에도 통합될 수 있다. 그러한 실시예에서, 시스템 메모리(294)는 셋톱 박스 또는 텔레비젼 시스템에 의해 제공된다. 그러나, SOC(200)가 이미지 또는 비디오 신호의 디스플레이를 제공하는 다른 시스템들에, 예를 들어, 홈 PC(personal computer), 데스크탑 또는 노트북 유닛, 핸드헬드 장치 등에 제공될 수도 있다는 것을 알 수 있어야 한다.
일 실시예에서, SOC(200)는, 예를 들어, 픽셀 프레임 경계들에서 에지 핸들링을 요구할 수도 있는 디코딩된 이미지 또는 비디오 프레임들의 디스플레이 이전에 포스트-프로세싱 또는 이미지 향상을 요구하는 컴퓨터 시스템 또는 디스플레이 장치의 그래픽 컨트롤러 또는 칩셋의 디스플레이 엔진내에 구현될 수도 있다. 그렇게 하면서, SOC(200)는 메모리내의 데이터 저장 및 추가 오버헤드가 필요한 에지 핸들링 모드에 기초하여 픽셀 프레임 버퍼의 바깥쪽 경계를 패터닝하는 종래 기술들의 단점들(limitations)을 피한다. 이하에서는, 하나 이상의 실시예들을 구현하기 위한 방법들이 설명된다.
동작
도 4는, 일 실시예에 따른, 비디오 포스트-프로세싱 및/또는 이미지 향상을 위한 하드웨어-기반 에지 핸들링을 위한 방법(300)을 예시하는 흐름도이다. 프로세스 블록(310)에서는, 비디오 포스트-프로세싱 및/또는 이미지 향상 동작에 따라 출력 픽셀의 계산이 개시된다. 프로세스 블록 312에서는, 출력 픽셀을 계산하는데 필요한 하나 이상의 입력 픽셀이 출고(unstoring)되는지의 여부가 판정된다. 그러한 사항이 검출될 때, 프로세스 블록 320에서는, 출고되는 입력 픽셀이 픽셀 프레임 경계를 벗어나 있는지의 여부가 판정된다.
일 실시예에서, 프로세스 블록 350에서는, 검출된 에지 핸들링 모드에 따라, 출고된 입력 픽셀을 위한 값이 발생된다. 일 실시예에서, 입력 픽셀의 발생은 컨트롤러, 예를 들어, 도 1의 에지 핸들링 로직(100)의 컨트롤러(110)에 의해 수행된다. 일단 픽셀 값이 발생되고 나면, 픽셀 값은 입력 픽셀 레지스터내로 로드된다. 출력 픽셀을 계산하는데 필요한 다수 입력 픽셀들이 출고되고 픽셀 프레임 경계를 벗어나 있다면, 프로세스 블록들(350 및 352)은, 출력 픽셀을 계산하는데 필요한 입력 픽셀들의 수(N)가 저장될 때까지 반복될 수 있다. 그렇지 않다면, 프로세스 블록 360에서는, 출고된 입력 픽셀이 픽셀 프레임 버퍼로부터 입력 픽셀 레지스터내로 로드된다. 프로세스 블록 370에서는, 출력 픽셀이 계산된다. 프로세스 블록 380에서는, 모든 출력 픽셀들이 계산될 때까지, 프로세스 블록들(310-360)이 반복된다.
도 5는, 예를 들어, 도 3을 참조하여 예시된, 비디오 스케일러내의 하드웨어-기반 에지 핸들링을 위한 방법(300)을 예시하는 흐름도이다. 프로세스 블록 332에서는, 픽셀 로드 카운트(pixel load count)가 판정된다. 일 실시예에서, 픽셀 로드 카운트는, 예를 들어, 도 1의 에지 핸들링 로직(100)의 라인 폭 레지스터(118)와 같은, 라인 폭 레지스터에 따라 추적된다. 프로세스 블록 334에서는, 픽셀 로드 카운트가 소정 로드 카운트와 동일하면, 왼쪽 픽셀 프레임 에지가 검출된다. 일 실시예에서, 정의된 로드 카운트는 수학식 1 및 수학식 2에 따라 판정된다. 따라서, 도 2를 참조하여 설명된 실시예에서, 소정 픽셀 모드 카운트는 4와 같다.
프로세스 블록 334의 조건이 참으로 평가되면, 프로세스 블록 336에서는, 하나 이상의 인접한 입력 픽셀 레지스터들 사이의 입력 픽셀들이 시프트된다. 프로세스 블록 338에서는, 픽셀 프레임 버퍼로부터의 입력 픽셀이, 예를 들어, 도 1의 입력 픽셀 레지스터(140-1)와 같은, 최소 유효(least significant) 입력 픽셀 레지스터내에 저장된다. 일단 로드되고 나면, 프로세스 블록 340에서는, 하나 이상의 공백 입력 픽셀 레지스터(empty input pixel register)가 식별된다. 입력 픽셀 레지스터의 식별은 픽셀 프레임 경계를 벗어난 누락 입력 픽셀들을 위해 발생된 값들을 로드하도록 제공되어, 비디오 포스트-프로세싱 또는 이미지 향상 동작에 따라 출력 픽셀을 계산한다.
프로세스 블록 342에서는, 픽셀 로드 카운트가 현재 픽셀 프레임 라인의 라인 폭 이상인지의 여부가 판정된다. 그러한 조건이 참으로 평가되면, 프로세스 블록 344에서, 인접한 입력 픽셀 레지스터 각각의 입력 픽셀 값들은 공백 입력 픽셀 레지스터로 시프트된다. 입력 픽셀 레지스터들의 시프팅은 오른쪽 픽셀 프레임 에지 바깥의 입력 픽셀을 위해 발생된 하나 이상의 값을 로드하도록 입력 픽셀 레지스터를 비운다. 후속적으로, 제어 흐름은 도 4의 프로세스 블록 350으로 분기한다. 그렇지 않으면, 제어 흐름은 프로세스 블록 360으로 분기함으로써, 출력 픽셀을 계산하는데 필요한 입력 픽셀 각각이 입력 픽셀 레지스터나 픽셀 프레임 버퍼내에 포함된다.
일 실시예에서, 출고되는 입력 픽셀의 식별은, 출력 픽셀을 계산하는데 필요한 입력 픽셀들을 판정하는 것에 의해 수행된다. 일단 판정되고 나면, 일 실시예에서, 도 1의 컨트롤러(110)는, 출력 픽셀을 계산하는데 필요한 입력 픽셀들 중 임의 입력 픽셀이 입력 픽셀 레지스터내에서 출고되는지의 여부를 판정할 수 있다. 그런 경우, 출력 픽셀을 계산하는데 필요한 하나 이상의 출고된 입력 픽셀 레지스터가 검출된다. 후속적으로, 출고된 입력 픽셀들이 픽셀 프레임 경계를 벗어나 있다면, 컨트롤러는, 비디오 포스트-프로세싱 동작 이전에, 픽셀 프레임 경계들을 벗어난 입력 픽셀들을 패딩하여 에지 핸들링을 제공하는 전통적인 기술들을 사용하는 것이 아니라, 검출된 에지 핸들링 모드에 따라 픽셀 값들을 발생시킬 수도 있다.
도 6은 개시된 기술들을 사용하는 설계의 시뮬레이션, 에뮬레이션, 및 가공을 위한 다양한 표현들 또는 포맷들을 예시하는 블록도이다. 설계를 표현하는 데이터는 그 설계를 다수 방식들로 표현할 수 있다. 첫번째, 시뮬레이션들에서 유용한 바와 같이, 하드웨어는, 설계된 하드웨어가 수행할 것으로 예상되는 방법의 컴퓨터화된 모델을 실질적으로 제공하는 하드웨어 기술어 또는 다른 기능 기술어를 사용해 표현될 수 있다. 하드웨어 모델(410)은, 컴퓨터 메모리와 같은, 저장 매체(400)에 저장될 수 있고, 그에 따라, 모델은, 하드웨어 모델(410)에 적합한 특정 테스트를 적용하여 하드웨어 모델(410)이 정말로 의도한 바에 따라 기능하는지를 판정하는 시뮬레이션 소프트웨어(420)를 사용해 시뮬레이션될 수 있다. 일부 실시예들에서는, 시뮬레이션 소프트웨어가 매체에 기록, 캡처, 또는 포함되지 않는다.
설계의 임의 표현에서, 데이터는 머신 판독 가능 매체의 임의 형태로 저장될 수 있다. 그러한 정보를 전송하기 위해 변조되거나 다르게 발생된 광 또는 전기파(460), 메모리(450) 또는, 디스크와 같은, 자기 또는 광 저장 장치(440)가 머신 판독 가능 매체일 수 있다. 이러한 매체들 중 무엇이든 설계 정보를 전달할 수 있다. 이와 같이, "전달(carry)"이라는 용어(예를 들어, 정보를 전달중인 머신 판독 가능 매체)는 저장 장치에 저장된 정보 또는 반송파로 인코딩되거나 변조된 정보를 포함한다. 설계 또는 설계의 명세를 설명하는 한 세트의 비트들은 (캐리어 또는 저장 매체와 같은, 머신 판독 가능 매체로 구현될 때) 자체내에 그리고 그것을 벗어나 실링될 수 있거나 장차의 설계 또는 가공을 위해 다른 것들에 의해 사용될 수 있는 품목이다.
다른 실시예들
다른 실시예들을 위해, 상이한 시스템 구성이 사용될 수도 있다는 것을 알 수 있을 것이다. 예를 들어, 시스템(200)은 시스템-온-칩으로 구성되지만, 다른 실시예들의 경우, (하나 이상의 프로세서들이 구성 및 동작에서 상술된 프로세서(202)와 유사할 수 있는) 단일 또는 다중 프로세서 시스템이 다양한 실시예들의 하드웨어-기반 에지 핸들링으로부터 이점을 취할 수 있다. 더 나아가, 시스템의 상이한 유형 또는, 예를 들어, 서버, 워크스테이션, 데스크탑 컴퓨터 시스템, 게이밍 시스템, 매립형 컴퓨터 시스템, 블레이드 서버 등과 같은, 컴퓨터 시스템의 상이한 유형 또한 다른 실시예들을 위해 사용될 수 있다.
실시예들 및 최선 모드가 개시되었지만, 다음의 청구항들에 의해 정의되는 본 발명의 실시예들에 대한 범위를 벗어나지 않으면서, 개시된 실시예들에 대한 변경들 및 변형들이 이루어질 수도 있다.

Claims (30)

  1. 출력 픽셀 계산 동안, 출력 픽셀을 계산하는데 필요한 하나 이상의 출고된(unstored) 입력 픽셀을 식별하는 단계; 및
    상기 출고된 입력 픽셀의 좌표들이 픽셀 프레임 경계를 벗어나 있다면, 복수의 프로그래머블, 에지 핸들링 모드 중 검출된 에지 핸들링 모드에 따라, 상기 식별된, 출고된 입력 픽셀을 위한 픽셀 값을 생성하는 단계
    를 포함하고,
    상기 생성하는 단계는,
    모드 레지스터를 액세스하여, 에지 핸들링 모드를 0-기반(zero-based) 에지 핸들링 모드, 복제 에지 핸들링 모드 및 미러링 에지 핸들링 모드 중 하나로서 식별하는 단계; 및
    상기 식별된 에지 핸들링 모드에 따라, 상기 픽셀 값을 형성하는 단계
    를 더 포함하는, 이미지 처리 방법.
  2. 제1항에 있어서,
    상기 출력 픽셀을 계산하는데 필요한 N(N은 정수)개 입력 픽셀을 저장하기 위해 입력 픽셀 레지스터 내에 상기 생성된 픽셀 값을 로드하는 단계
    를 더 포함하는 이미지 처리 방법.
  3. 제1항에 있어서,
    상기 출고된 입력 픽셀의 상기 좌표들이 상기 픽셀 프레임 경계들내에 위치한다면, 픽셀 프레임 버퍼로부터 상기 식별된, 출고된 입력 픽셀을 로드하는 단계
    를 더 포함하는 이미지 처리 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 생성하는 단계는,
    픽셀 로드 카운트를 판정하는 단계;
    상기 픽셀 로드 카운트가 소정 로드 카운트와 동일하면, 왼쪽 픽셀 프레임 에지를 검출하는 단계; 및
    상기 픽셀 로드 카운트가 상기 픽셀 프레임의 라인 폭 이상이면, 오른쪽 픽셀 프레임 에지를 검출하는 단계
    를 더 포함하는, 이미지 처리 방법.
  6. 제5항에 있어서,
    상기 왼쪽 픽셀 프레임 에지를 검출하는 단계는,
    하나 이상의 인접한 입력 픽셀 레지스터 간에 입력 픽셀들을 시프트(shift)하는 단계;
    최하위(least significant)의 입력 픽셀 레지스터내에 프레임 버퍼로부터의 입력 픽셀을 저장하는 단계;
    하나 이상의 비어 있는 입력 픽셀 레지스터(empty input pixel register)를 식별하는 단계; 및
    상기 검출된 에지 핸들링 모드에 따라 생성된 상기 픽셀 값을 상기 비어 있는 입력 픽셀 레지스터에 로드하는 단계
    를 더 포함하는, 이미지 처리 방법.
  7. 제5항에 있어서,
    상기 오른쪽 픽셀 프레임 에지를 검출하는 단계는,
    각각의 인접한 입력 픽셀 레지스터들 간에 입력 픽셀 값들을 시프트하여 입력 픽셀 레지스터를 비우는 단계; 및
    상기 검출된 에지 핸들링 모드에 따라 생성된 상기 픽셀 값을 상기 비워진 입력 픽셀 레지스터에 로드하는 단계를 더 포함하는, 이미지 처리 방법.
  8. 제1항에 있어서,
    상기 출력 픽셀 계산은 비디오 스케일링 동작을 포함하는, 이미지 처리 방법.
  9. 제1항에 있어서,
    상기 식별하는 단계는,
    상기 출력 픽셀을 계산하는데 필요한 N(N은 정수)개 입력 픽셀을 판정하는 단계; 및
    상기 출력 픽셀을 계산하는데 필요한 상기 N개 입력 픽셀 중 하나 이상이 N개 입력 픽셀 레지스터 중 한 입력 픽셀 레지스터내에 포함되어 있지 않으면, 상기 하나 이상의 출고된 입력 픽셀을 검출하는 단계
    를 더 포함하는, 이미지 처리 방법.
  10. 제5항에 있어서,
    상기 오른쪽 픽셀 프레임 에지를 검출하는 단계는,
    라인 폭 레지스터를 액세스하여 상기 픽셀 프레임의 상기 라인 폭을 판정하는 단계를 더 포함하는, 이미지 처리 방법.
  11. 컴퓨터로 판독 가능한 저장 매체를 포함하는 제품으로서, 상기 컴퓨터로 판독 가능한 저장 매체에는,
    출력 픽셀의 계산 동안, 상기 출력 픽셀을 계산하는데 필요한 하나 이상의 입력 픽셀로서, 각각 픽셀 프레임 경계를 벗어난 좌표들을 가진, 하나 이상의 입력 픽셀을 검출하고;
    복수의 프로그래머블, 에지 핸들링 모드 중 검출된 에지 핸들링 모드에 따라, 검출된 각각의 출고된 입력 픽셀들(unstored input pixels)을 위해 픽셀 값을 생성하고;
    이미지 프로세싱 동작에 따라 상기 출력 픽셀을 계산하도록, 시스템을 프로그램하는 명령어들이 저장되어 있고,
    상기 픽셀 값을 생성하기 위해, 상기 시스템은 부가적으로,
    픽셀 로드 카운트를 판정하고;
    상기 픽셀 로드 카운트가 소정 로드 카운트와 동일하면, 왼쪽 픽셀 프레임 에지를 검출하며;
    상기 픽셀 로드 카운트가 상기 픽셀 프레임의 라인 폭 이상이면, 오른쪽 픽셀 프레임 에지를 검출하도록 프로그램되는, 컴퓨터로 판독 가능한 저장 매체를 포함하는 제품.
  12. 제11항에 있어서,
    상기 시스템은 부가적으로,
    하나 이상의 식별된, 출고된 입력 픽셀의 좌표들이 상기 픽셀 프레임 경계들 내에 위치하면, 픽셀 프레임 버퍼로부터 상기 출력 픽셀을 계산하는데 필요한 상기 하나 이상의 식별된, 출고된 입력 픽셀을 로드하고;
    입력 픽셀 레지스터내에 각각의 생성된 픽셀 값을 로드하여 상기 출력 픽셀을 계산하는데 필요한 N(N은 정수)개 입력 픽셀을 저장하도록 프로그램되는, 컴퓨터로 판독 가능한 저장 매체를 포함하는 제품.
  13. 삭제
  14. 제11항에 있어서,
    상기 왼쪽 픽셀 프레임 에지를 검출하기 위해, 상기 시스템은 부가적으로,
    하나 이상의 인접한 입력 픽셀 레지스터들 간에 입력 픽셀들을 시프트하고;
    최하위(least significant) 입력 픽셀 레지스터내에 프레임 버퍼로부터의 입력 픽셀을 저장하며;
    하나 이상의 비어 있는 입력 픽셀 레지스터(empty input pixel register)를 식별하고;
    상기 검출된 에지 핸들링 모드에 따라 생성된 픽셀 값을 상기 비어 있는 입력 픽셀 레지스터에 로드하도록 프로그램되는, 컴퓨터로 판독 가능한 저장 매체를 포함하는 제품.
  15. 제11항에 있어서,
    상기 오른쪽 픽셀 프레임 에지를 검출하기 위해, 상기 시스템은 부가적으로,
    각각의 인접한 입력 픽셀 레지스터 간에 입력 픽셀 값들을 시프트하여 입력 픽셀 레지스터를 비우고;
    상기 검출된 에지 핸들링 모드에 따라 생성된 픽셀 값을 상기 비워진 입력 픽셀 레지스터(emptied input pixel register)에 로드하도록 프로그램되는, 컴퓨터로 판독 가능한 저장 매체를 포함하는 제품.
  16. 복수의 입력 픽셀 레지스터;
    상기 복수의 입력 픽셀 레지스터에 연결된 컨트롤러로서, 출력 픽셀 계산 동안, 출력 픽셀을 계산하는데 필요한 상기 복수의 입력 픽셀 레지스터내에서 하나 이상의 출고된 입력 픽셀(unstored input pixel)을 식별하고, 상기 출고된 입력 픽셀의 좌표들이 픽셀 프레임의 픽셀 프레임 경계를 벗어나 있다면, 복수의 프로그래머블, 에지 핸들링 모드 중 검출된 에지 핸들링 모드에 따라, 상기 출고된 입력 픽셀을 위한 픽셀 값을 생성하는 컨트롤러; 및
    픽셀 프레임 경계를 벗어난 좌표들을 가진 입력 픽셀들을 위한 픽셀 값을 생성하기 위한 에지 핸들링 모드를 0-기반(zero-based) 에지 핸들링 모드, 복제 에지 핸들링 모드 및 미러링 에지 핸들링 모드 중 하나로서 식별하는 에지 핸들링 모드 레지스터
    를 포함하는 이미지 처리 장치.
  17. 삭제
  18. 제16항에 있어서,
    픽셀 로드 카운트 및 상기 픽셀 프레임의 라인 폭을 저장하기 위한 라인 폭 레지스터를 더 포함하는 이미지 처리 장치.
  19. 제16항에 있어서,
    상기 컨트롤러로부터 제어 신호를 수신하고, 상기 제어 신호에 따라, 오른쪽 에지가 검출되면 상기 복수의 입력 픽셀 레지스터 중 제1 입력 픽셀 레지스터를 상기 생성된 픽셀 값으로 채우며, 그렇지 않으면 상기 픽셀 프레임으로부터 인출된 입력 픽셀 값을 상기 제1 입력 픽셀 레지스터에 로드하는 제1 로직 게이트를 더 포함하는 이미지 처리 장치.
  20. 제19항에 있어서,
    상기 제1 로직 게이트는, 상기 제1 입력 픽셀 레지스터를 비우기 위한 각각의 인접한 입력 픽셀 레지스터 간의 픽셀 값들의 시프트에 이어, 상기 제1 입력 픽셀 레지스터에 로드하도록 하기 위한 것인, 이미지 처리 장치.
  21. 제19항에 있어서,
    상기 복수의 입력 픽셀 레지스터 중 하나 이상에 연결된 하나 이상의 제2 로직 게이트로서, 왼쪽 에지가 검출되면 상기 입력 픽셀 레지스터들내에 값들을 로드하고, 그렇지 않으면 인접한 입력 픽셀 레지스터들 간에 값들을 시프트하도록 상기 컨트롤러로부터 제어 신호를 수신하는 하나 이상의 제2 로직 게이트를 더 포함하는 이미지 처리 장치.
  22. 제18항에 있어서,
    장치 드라이버가 상기 에지 핸들링 모드 레지스터 및 상기 라인 폭 레지스터를 로드하는, 이미지 처리 장치.
  23. 제21항에 있어서,
    상기 제1 로직 게이트는 멀티플렉서이고, 상기 하나 이상의 제2 로직 게이트도 멀티플렉서이며, 상기 제1 멀티플렉서 및 상기 제2 멀티플렉서들은 상기 컨트롤러로부터 수신한 오른쪽 에지 제어 신호 및 상기 컨트롤러로부터 수신한 왼쪽 에지 제어 신호 중 하나에 따라 입력을 선택하는, 이미지 처리 장치.
  24. 제16항에 있어서,
    상기 컨트롤러는, 입력 픽셀 프레임의 왼쪽 에지 및 오른쪽 에지 중 하나가 검출될 때, 입력 픽셀 레지스터내에 상기 생성된 픽셀 값을 로드하기 위한 제어 신호를 생성하는, 이미지 처리 장치.
  25. 제18항에 있어서,
    상기 에지 핸들링 모드 레지스터 및 상기 라인 폭 레지스터를 로드하기 위한 제어 프로세서를 더 포함하는 이미지 처리 장치.
  26. 매립형 프로세서(embedded processor);
    상기 프로세서에 연결된 포스트-프로세싱 로직으로서,
    복수의 입력 픽셀 레지스터와,
    출력 픽셀 계산 동안, 출력 픽셀을 계산하는데 필요하고 입력 픽셀 레지스터 내에서 출고된 하나 이상의 입력 픽셀을 식별하고, 상기 출고된 입력 픽셀의 좌표들이 픽셀 프레임 경계를 벗어나 있다면, 복수의 프로그래머블, 에지 핸들링 모드 중 검출된 에지 핸들링 모드에 따라 상기 출고된 입력 픽셀을 위한 픽셀 값을 생성하는 컨트롤러
    를 포함하는 스케일러를 포함하는 포스트-프로세싱 로직; 및
    포스트-프로세싱된 비디오 프레임들을 표시하는 디스플레이 장치
    를 포함하고,
    상기 매립형 프로세서는 에지 핸들링 모드 레지스터 및 라인 폭 레지스터에 로드하도록 하기 위한 것인, 이미지 처리 시스템.
  27. 제26항에 있어서,
    상기 디스플레이 장치에 연결된 DMA(direct memory access) 버퍼; 및
    상기 DMA 버퍼에 연결되어, 시스템 메모리로부터의 입력 픽셀들을 상기 DMA 버퍼에 로드하기 위해 메모리 컨트롤러로 요청을 발행하는 DMA 컨트롤러를 더 포함하는 이미지 처리 시스템.
  28. 제26항에 있어서,
    상기 시스템은 시스템 온-칩을 포함하는, 이미지 처리 시스템.
  29. 제26항에 있어서,
    오프-칩 시스템 메모리로부터의 디지털 비디오를 디코딩하고, 디코딩된 디지털 비디오 프레임들을 상기 포스트-프로세싱 로직에 제공하는 비디오 디코더를 더 포함하는 이미지 처리 시스템.
  30. 삭제
KR1020077006348A 2004-09-22 2005-09-13 이미지 프로세싱에서의 에지 핸들링을 위한 장치 및 방법 KR100932805B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/947,852 2004-09-22
US10/947,852 US7515766B2 (en) 2004-09-22 2004-09-22 Apparatus and method for edge handling in image processing
PCT/US2005/032932 WO2006036571A1 (en) 2004-09-22 2005-09-13 An apparatus and method for edge handling in image processing

Publications (2)

Publication Number Publication Date
KR20070067093A KR20070067093A (ko) 2007-06-27
KR100932805B1 true KR100932805B1 (ko) 2009-12-21

Family

ID=35724970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077006348A KR100932805B1 (ko) 2004-09-22 2005-09-13 이미지 프로세싱에서의 에지 핸들링을 위한 장치 및 방법

Country Status (7)

Country Link
US (1) US7515766B2 (ko)
EP (1) EP1792277A1 (ko)
JP (1) JP4499158B2 (ko)
KR (1) KR100932805B1 (ko)
CN (1) CN1804900B (ko)
TW (1) TWI285507B (ko)
WO (1) WO2006036571A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720304B2 (en) * 2005-05-31 2010-05-18 Broadcom Corporation System and method for implementing graphics and video scaling algorithm using interpolation based on symmetrical polyphase filtering
US20070222799A1 (en) * 2006-03-24 2007-09-27 Mediatek Inc. Method and apparatus for image upscaling
US7834873B2 (en) * 2006-08-25 2010-11-16 Intel Corporation Display processing line buffers incorporating pipeline overlap
US9161063B2 (en) * 2008-02-27 2015-10-13 Ncomputing, Inc. System and method for low bandwidth display information transport
US8723891B2 (en) * 2009-02-27 2014-05-13 Ncomputing Inc. System and method for efficiently processing digital video
JP5193909B2 (ja) * 2009-03-11 2013-05-08 京セラドキュメントソリューションズ株式会社 画像形成装置
JP2010257196A (ja) * 2009-04-24 2010-11-11 Renesas Electronics Corp 画像処理装置及び画像処理方法
KR101452713B1 (ko) 2009-10-30 2014-10-21 삼성전자주식회사 픽처 경계의 부호화 단위를 부호화, 복호화 하는 방법 및 장치
TWI523519B (zh) * 2011-01-28 2016-02-21 佳能企業股份有限公司 影像補償方法及系統
CN105303519A (zh) 2014-06-20 2016-02-03 汤姆逊许可公司 用于生成时间一致的超像素的方法和装置
KR102308202B1 (ko) 2014-12-23 2021-10-06 삼성디스플레이 주식회사 터치 스크린 표시 장치 및 그의 구동방법
KR102502569B1 (ko) * 2015-12-02 2023-02-23 삼성전자주식회사 시스템 리소스 관리를 위한 방법 및 장치
TWI638336B (zh) 2017-11-22 2018-10-11 瑞昱半導體股份有限公司 影像增強方法及影像增強裝置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999018727A1 (en) * 1997-10-06 1999-04-15 Dvdo, Inc. Digital video system and methods for providing same

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237432A (en) * 1991-12-23 1993-08-17 Xerox Corporation Image scaling apparatus
DE69324418T2 (de) * 1992-08-26 1999-08-05 Hewlett Packard Co Verfahren und Vorrichtung zur Kantenglättung in Pixelbildern
US5528704A (en) * 1993-11-15 1996-06-18 Xerox Corporation Image resolution conversion using a plurality of image registrations
US5689343A (en) * 1995-05-26 1997-11-18 Xerox Corporation Area mapping employing reference clusters for high quality noninteger resolution conversion with enhancement
US6005580A (en) * 1995-08-22 1999-12-21 Micron Technology, Inc. Method and apparatus for performing post-process antialiasing of polygon edges
DE69730375T2 (de) * 1996-05-14 2005-08-11 Daewoo Electronics Corp. Reduzierung von Blockeffekten in einem Bewegtbilddekoder
US6664955B1 (en) * 2000-03-15 2003-12-16 Sun Microsystems, Inc. Graphics system configured to interpolate pixel values
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999018727A1 (en) * 1997-10-06 1999-04-15 Dvdo, Inc. Digital video system and methods for providing same

Also Published As

Publication number Publication date
EP1792277A1 (en) 2007-06-06
JP2008514160A (ja) 2008-05-01
US20060061582A1 (en) 2006-03-23
WO2006036571A1 (en) 2006-04-06
CN1804900A (zh) 2006-07-19
TWI285507B (en) 2007-08-11
KR20070067093A (ko) 2007-06-27
US7515766B2 (en) 2009-04-07
CN1804900B (zh) 2010-08-04
JP4499158B2 (ja) 2010-07-07
TW200627974A (en) 2006-08-01

Similar Documents

Publication Publication Date Title
KR100932805B1 (ko) 이미지 프로세싱에서의 에지 핸들링을 위한 장치 및 방법
EP3850585A1 (en) In-flight adaptive foveated rendering
JPH0759084A (ja) 画像処理システム
US20120162227A1 (en) Method of Picture Display and Device Thereof
US7742636B2 (en) Method and apparatus for scaling down a bayer domain image
WO2020033875A1 (en) Apparatus, systems, and methods for foveated display
JP2006014341A (ja) Mcuバッファを用いて画像データを格納するための方法及び装置
US7209141B2 (en) Macroblock padding
KR102569371B1 (ko) 델타 색상 압축의 비디오 적용
GB2528558A (en) Sampling, fault management, and/or context switching via a computer pipeline
US7050065B1 (en) Minimalist color space converters for optimizing image processing operations
US20160098812A1 (en) Application processor sharing resource based on image resolution and devices including same
KR20130095206A (ko) 신호 처리 장치 및 반도체 장치
CN105427235B (zh) 一种图像浏览方法及系统
US20170018247A1 (en) Idle frame compression without writeback
JP4686624B2 (ja) 情報処理装置、画像処理方法およびプログラム
US20090179913A1 (en) Apparatus for image reduction and method thereof
JP5106483B2 (ja) ピクセルデータを垂直にスケーリングするための方法および装置
US10346948B2 (en) Graphics processing method and device
KR20020052199A (ko) 데이터 전송 방법 및 그 회로 장치
US20060062489A1 (en) Apparatus and method for hardware-based video/image post-processing
EP3367683A1 (en) Delta color compression application to video
EP2166534B1 (en) Processing pixel planes representing visual information
JP2003196674A (ja) 画像処理方法、画像処理装置及びコンピュータ読み取り可能記憶媒体
US20050201640A1 (en) Digital picture scaling

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131202

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee