[go: up one dir, main page]

KR100594073B1 - 내장형 시스템의 디지털 영상 스케일링방법 - Google Patents

내장형 시스템의 디지털 영상 스케일링방법 Download PDF

Info

Publication number
KR100594073B1
KR100594073B1 KR1020020056555A KR20020056555A KR100594073B1 KR 100594073 B1 KR100594073 B1 KR 100594073B1 KR 1020020056555 A KR1020020056555 A KR 1020020056555A KR 20020056555 A KR20020056555 A KR 20020056555A KR 100594073 B1 KR100594073 B1 KR 100594073B1
Authority
KR
South Korea
Prior art keywords
image
minimum processing
target
target image
processing unit
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.)
Expired - Fee Related
Application number
KR1020020056555A
Other languages
English (en)
Other versions
KR20040026044A (ko
Inventor
이화순
이승철
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020020056555A priority Critical patent/KR100594073B1/ko
Priority to US10/395,918 priority patent/US7228008B2/en
Priority to CNB031241921A priority patent/CN1229975C/zh
Priority to EP03009715A priority patent/EP1400919A3/en
Priority to JP2003185831A priority patent/JP4018601B2/ja
Publication of KR20040026044A publication Critical patent/KR20040026044A/ko
Application granted granted Critical
Publication of KR100594073B1 publication Critical patent/KR100594073B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

본 발명은 내장형 시스템(embedded system)에 적합한 디지털 영상 스케일링방법을 제공한다. 이를 위한 본 발명의 디지털 영상 스케일링방법은, 목적 영상의 크기에 대한 원본 영상의 크기의 스케일링 비율에 따라 원본 영상과 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 원본 영상과 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과, 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 2n으로 되는 정수의 가중치를 구하는 과정과, 원본 영상의 최소 처리 유닛들에 대응하는 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소값과 그 원본 화소와 이격된 거리에 대응되는 가중치를 사용해서 구하여 목적 영상을 생성하는 과정을 구비한다.
내장형 시스템, 영상 스케일링, 확대, 축소, 보간, 가중치.

Description

내장형 시스템의 디지털 영상 스케일링방법{METHOD FOR SCALING DIGITAL IMAGE IN EMBEDDED SYSTEM}
도 1은 통상적인 영상 업-스케일링의 일예를 설명하기 위한 예시도,
도 2는 본 발명에 따라 원본 영상과 목적 영상이 최소 처리 유닛 및 최소 처리 블록으로 분할되는 것을 보인 예시도,
도 3a는 본 발명에 따라 두개의 인접 화소 간을 8등분하는 경우의 가중치들의 예를 보이는 예시도,
도 3b는 본 발명에 따라 원본 영상으로부터 목적 영상의 화소값을 생성하는 것을 설명하기 위한 예시도,
도 4는 본 발명의 일실시예에 따른 영상 스케일링 장치의 블록구성도,
도 5는 본 발명의 제1실시예에 따른 영상 스케일링 흐름도,
도 6는 본 발명의 실시예에 따른 최소 처리 유닛 결정 흐름도,
도 7은 본 발명의 실시예에 따른 가중치 연산 흐름도,
도 8은 도 5에 따른 목적 영상의 최소 처리 유닛 생성 흐름도,
도 9는 도 5에 따라 목적 영상이 생성되는 것을 설명하기 위한 예시도,
도 10은 본 발명의 제2실시예에 따른 영상 스케일링 흐름도,
도 11은 도 10에 따른 목적 영상의 최소 처리 블록 생성 흐름도,
도 12는 도 11에 따라 목적 영상이 생성되는 것을 설명하기 위한 예시도,
도 13은 본 발명의 다른 실시예에 따른 영상 스케일링 장치의 블록구성도,
도 14는 본 발명의 제3실시예에 따른 영상 스케일링 흐름도,
도 15는 본 발명의 실시예에 따른 룩업 테이블 생성 흐름도,
도 16은 도 15에 따른 목적 영상의 최소 처리 유닛 생성 흐름도,
도 17은 본 발명의 제4실시예에 따른 영상 스케일링 흐름도.
도 18은 도 17에 따른 목적 영상의 최소 처리 블록 생성 흐름도.
본 발명은 영상 스케일링(scaling)방법에 관한 것으로, 특히 내장형 시스템(embeded system)에 있어서 디지털 영상을 축소 또는 확대하여 디스플레이(display)하기 위한 영상 스케일링방법에 관한 것이다.
디지털 영상이 보편화되는 시대를 맞이하여 다양한 크기와 형식의 디지털 영상 기기들이 상용화되어 출시되고 있다. 디지털 TV(Television), HDTV(High Definition Television), PDA(Personal Digital Assistant), IMT-2000(International Mobile Telecommunications-2000) 단말기 등과 같은 디지털 영상 기기들은 기존의 아날로그 영상이 보여 줄 수 없는 선명한 영상을 제공할 뿐만 아니라, 디지털 영상 처리에 의해서만 가능한 화면의 분리, 확대, 축소, 평활화 등과 같은 다양한 영상 처리 기능을 제공하고 있다.
상기한 바와 같은 각종 디지털 영상 처리 기능의 구현을 위해서는 많은 시스템 자원이 요구된다. 이에 따라 디지털 TV, DVD(Digital Video Disc) 플레이어 등과 같이 전력이 충분히 공급되고 제품의 크기도 충분히 커서 디지털 영상 처리 기능의 구현에 요구되는 시스템 자원의 부족함이 없을 경우에는 각종 디지털 영상 처리 기능을 별 어려움 없이 구현할 수 있다. 하지만 IMT-2000 이동통신 단말기, PDA, 디지털 캠코더(camcorder) 등과 같은 내장형 시스템은 제품의 크기가 작고, 공급 전력 용량이 적으며, 프로세서의 연산 속도가 낮으며, 메모리 용량이 적은 등 많은 제약 사항을 수반하기 때문에 디지털 영상 처리 기능의 구현에 어려움이 있을 뿐 아니라 그 성능 또한 제한적인 경우가 많다.
한편 디지털 영상 처리의 한가지로서 영상을 확대/축소하는 영상 스케일링 기술은 일반적으로 카메라로부터 입력되는 영상에 대하여 적용하거나, 디지털 영상 출력 장치에서 부분 확대 기능이나 PIP(Picture In Picture) 기능을 구현하는데 응용되었었다. 하지만 요즘과 같이 컬러/동영상 이동통신 단말기가 보편화되는 시점에서는 표준 비디오 코덱(CODEC: coder/decoder)과 다양한 크기(size)의 LCD(Liquid Crystal Display) 장치 사이의 인터페이스(interface) 문제를 해결하는 아주 중요한 기술로 자리 매김하고 있다. 표준 비디오 코덱은 176 ×144(여기서 176 ×144는 가로방향의 화소(pixel) 수 ×세로방향의 화소 수의 영상 크기를 의미하며, 이하의 설명에서도 영상 크기는 이와 마찬가지로 나타낸다.)의 QCIF(Quadrature Common Interface Format) 크기를 주로 지원하도록 설계되어 있다. 이에 반하여 각종 단말기에 채택되는 LCD 장치는 디스플레이하는 영상의 크기가 단말기의 크기와 제조 단가에 맞춰 다양하게 생산되는데, 예를 들어 128 ×192와 같은 작은 크기부터 240 ×240과 같은 커다란 크기까지 다양한 크기들 중에 어느 한가지 크기로 생산된다. 이에 따라 표준 비디오 코덱으로 부터 출력되는 영상을 LCD 장치의 화면상에 디스플레이하기 위해서는 확대하거나 축소할 필요성이 대두되는 것이다.
이처럼 영상을 확대하거나 축소하기 위한 영상의 스케일링 기술은 매우 다양하고 복잡하며 많은 기술이 알려져 있다. 이는 확대/축소에 의해 크기가 변했을 때에도 원본 이미지의 특성을 그대로 간직하기 위한 방법이 그 만큼 다양하다는 의미이다. 하지만 내장형 시스템처럼 시스템 자원이 매우 취약한 시스템에 적합한 영상 스케일링 기술은 거의 알려져 있지 않다. 이는 영상 스케일링 기술의 구현은 많은 연산량이 수반되므로 내장형 시스템에 적용하기에 적합하지 않다고 인식되어 왔기 때문이라 하겠다. 화소 단위의 연산량만을 볼 때에는 별로 많지 않지만, 실제 사용되는 영상은 수많은 화소의 집합이며, 이러한 영상이 초당 10프레임(frame) 이상의 속도로 출력되기 때문에 실시간 동영상 출력을 위해서는 상당한 연산량을 요구하게 된다. 이에 따라 현재까지 알려진 기술에 따라 영상 스케일링 기능을 하드웨어로 구현한다면 복잡한 하드웨어 설계 및 고성능 시스템이 요구되기 때문에 그 동안 휴대용 디지털 영상기기와 같은 내장형 시스템에서는 외면 받아 왔었다. 이 뿐만 아니라 하드웨어로 영상 스케일링 기능을 구현할 경우에는 몇 가지 정해진 형식만을 구현할 수 밖에 없기 때문에 소프트웨어로 구현하는 경우에 비해 어플리케이션(application)과의 유연한 인터페이스를 얻기 곤란하다. 이와 달리 영상 스케일링 기능을 소프트웨어로 구현하면, 입력 및 출력에서 화소 단위의 제어가 가능하고 LCD 출력 응용 프로그래밍의 설계에 제약을 주지 않을 수 있는 다양한 어플리케이션이 가능하게 되며, 어떠한 비디오 코덱 및 LCD 입출력 인터페이스와의 구현도 가능한 유연한 인터페이스를 얻을 수 있다. 그러나 많은 연산량으로 인해 내장형 시스템에서는 상당한 고성능 칩을 채용하더라도 동영상을 구현하기는 불가능하다.
상기한 바와 같은 점을 고려할 때 내장형 시스템을 위한 영상 스케일링 기능은 소프트웨어로 구현하는 것이 바람직하지만, 소프트웨어로 구현하여도 무리가 없을 정도의 연산량을 가지도록 연산량이 적어야 한다. 영상 스케일링 기능을 구현하는 가장 간단한 방법은 스케일링 비율에 따라 원본 영상(source image)의 화소들을 단순히 다운 샘플링(down sampling)하여 화소 수를 줄임으로써 축소하거나, 원본 영상의 화소들을 단순히 복사하여 화소 수를 늘림으로써 확대하는 기술을 들 수 있을 것이다. 영상을 확대하는 업-스케일링의 예를 보인 도 1을 참조하여 이러한 기술을 설명하면 다음과 같다. 도 1에 보인 바와 같이 3개의 원본 영상 화소들, 즉 원본 화소들 P1∼P3로부터 9개의 확대 영상 화소들, 즉 목적 화소들 P1'∼P9'을 생성하는 경우라면, 목적 화소들 P1'∼P3'은 원본 화소 P1를 복사하여 생성하고, 목적 화소들 P4'∼P6'은 원본 화소 P2를 복사하여 생성하며, 목적 화소들 P7'∼P9'은 원본 화소 P3를 복사하여 생성한다. 이에따라 연산을 하지 않고서도 영상의 크기를 확대할 수 있게 되지만, 단순히 원본 화소를 복사하는 것이기 때문에 확대 영상의 화질이 크게 떨어진다.
확대 영상의 화질을 개선할 수 있는 기술로서 원본 영상에 대한 목적 영상의 화면 크기에 비례하여 스케일링 비율만큼의 가중치를 부여하여 보간(interpolation)을 하는 DDA(Digital Differential Analyzer) 알고리즘(algorithm)이 있다. 상기한 도 1을 참조하여 DDA 알고리즘에 따라 영상을 확대하는 업 스케일링(up-scaling)의 예를 설명하면 다음과 같다. 도 1에 보인 바와 같이 3개의 원본 화소들 P1∼P3로부터 9개의 목적 화소들 P1'∼P9'을 생성하는 경우라면, 목적 화소들 P1'∼P9의 화소값은 하기 표 1과 같이 된다.
P1' 1/3×P1
P2' 2/3×P1
P3' 3/3×P1
P4' 2/3×P1 + 1/3×P2
P5' 1/3×P1 + 2/3×P2
P6' 3/3×P2
P7' 2/3×P2 + 1/3×P3
P8' 1/3×P2 + 2/3×P3
P9' 3/3×P3
즉, 목적 화소들 P1'∼P9은 해당 목적 화소값에 반영될 하나 또는 두개의 인접한 원본 화소값에 원본 영상의 크기와 확대 영상의 크기의 스케일링 비율에 따른 기울기(=1/3)와 해당 목적 화소가 인접한 원본 화소로부터 이격된 거리에 대응되는 가중치의 곱을 곱한 후 곱해진 값들을 더한 값을 가지게 된다. 이에따라 보간(interpolation)에 의해 목적 화소값에 해당 목적 화소가 인접하는 원본 화소값들을 반영함으로써 원본 화소를 복사하는 경우에 비해 확대 영상의 화질은 개선 되지만, 단순히 원본 화소값에 스케일링 비율에 따른 기울기와 가중치의 곱을 곱함에 따라 여전히 고화질의 확대 영상을 얻기 곤란하다. 이뿐만 아니라 곱셈뿐만 아니라 나눗셈 연산을 포함하기 때문에 연산량이 많아지게 된다.
상술한 바와 같이 내장형 시스템을 위한 영상 스케일링 기능은 소프트웨어로 구현하는 것이 바람직하며, 소프트웨어로 구현하여도 무리가 없을 정도로 연산량이 적어야 한다. 그러나 연산량이 적은 영상 스케일링 기술은 스케일링된 영상의 화질이 저하되고, 스케일링된 영상의 화질 저하를 감소시키기 위해서는 연산량이 많아지게 되므로, 내장형 시스템을 위해서는 화질 저하를 최소화하면서도 연산량을 줄일 수 있는 영상 스케일링이 필요하다.
따라서 본 발명의 목적은 내장형 시스템에 적합한 디지털 영상 스케일링방법을 제공함에 있다.
본 발명의 다른 목적은 화질 저하를 최소화하면서도 연산량을 줄일 수 있는 디지털 영상 스케일링방법을 제공함에 있다.
상술한 목적들을 달성하기 위한 본 발명의 디지털 영상 스케일링방법은, 목적 영상(destination image)의 크기에 대한 원본 영상(source image)의 크기(size)의 스케일링 비율(scaling rate)에 따라 원본 영상과 목적 영상이 가로 방향과 세 로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛(unit)으로 분할되도록 원본 영상과 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과, 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 2n으로 되는 정수의 가중치를 구하는 과정과, 원본 영상의 최소 처리 유닛들에 대응하는 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소값과 그 원본 화소와 이격된 거리에 대응되는 가중치를 사용해서 구하여 목적 영상을 생성하는 과정을 구비함을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 다른 디지털 영상 스케일링방법은, 목적 영상의 크기에 대한 원본 영상의 크기의 스케일링 비율에 따라 원본 영상과 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 원본 영상과 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과, 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 2n으로 되는 정수의 가중치를 구하는 과정과, 원본 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들 각각에 대응되게 목적 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소값과 그 원본 화소와 이격된 거리에 대응되는 가중치를 사용해서 구하여 목적 영상을 생성하는 과정을 구비함을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 또 다른 디지털 영상 스케일링방법은, 목적 영상의 크기에 대한 원본 영상의 크기의 스케일링 비율에 따라 원본 영상과 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 원본 영상과 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과, 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 2n으로 되는 정수의 가중치를 구하고 각각의 가중치를 하나의 화소가 가질 수 있는 화소값들 각각과 곱하여 룩업 테이블(lookup table)을 생성하는 과정과, 원본 영상의 최소 처리 유닛들에 대응하는 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소와 이격된 거리에 대응되게 룩업 테이블을 참조한 연산에 의해 구하여 목적 영상을 생성하는 과정을 구비함을 특징으로 한다.
상술한 목적들을 달성하기 위한 본 발명의 또 다른 디지털 영상 스케일링방법은, 목적 영상의 크기에 대한 원본 영상의 크기의 스케일링 비율에 따라 원본 영상과 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 원본 영상과 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과, 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 2n으로 되는 정수의 가중치를 구하고 각각의 가중치를 하나의 화소가 가질 수 있는 화소값들 각각 과 곱하여 룩업 테이블을 생성하는 과정과, 원본 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들 각각에 대응되게 목적 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소와 이격된 거리에 대응되게 룩업 테이블을 참조한 연산에 의해 구하여 목적 영상을 생성하는 과정을 구비함을 특징으로 한다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
우선 본 발명은 영상을 확대 또는 축소할 때, 도 2에 보인 바와 같이 스케일링 비율(scaling ratio)에 따라 원본 영상과 목적 영상을 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 유닛(unit)으로 분할하고, 이처럼 분할된 유닛들에 대하여 하나씩 순차적으로 스케일링 처리를 한다. 본 발명에 있어서 이처럼 분할된 유닛을 "최소 처리 유닛"이라 칭하며, 최소 처리 유닛×최소 처리 유닛으로 이루어지는 블록을 "최소 처리 블록"이라 칭한다. 최소 처리 유닛의 크기는 원본 영상과 목적 영상의 가로 방향의 크기와 세로 방향의 크기 각각에 대하여 최대 공약수를 구하여 결정한다. 도 2는 도 2(a)와 같은 242×198 크기의 영상을 도 2(b)와 같은 176×144 크기의 영상으로 축소하는 다운 스케일링(down-scaling)의 경우에, 242와 176의 최대 공약수가 22이므로, 도 2(a)의 원본 영상과 도 2(b)의 목적 영상이 가로 방향으로는 22개의 최소 처리 유닛으로 분할되고 세로 방향으로는 18 개의 최소 처리 유닛으로 분할되는 예를 보인 것이다. 그리고 원본 영상의 최소 처리 유닛은 11개의 화소로 이루어지고, 목적 영상의 최소 처리 유닛은 8개의 화소로 이루어진다. 이렇게 하면 원본 영상의 최소 처리 블록의 크기는 11×11이 되고 목적 영상의 최소 처리 블록의 크기는 8×8이 되며, 원본 영상과 목적 영상은 크기는 서로 다르지만 동일한 개수, 즉 22×18개의 최소 처리 블록으로 분할된다. 후술하는 바와 같이 최소 처리 블록의 크기는 작을 수록 유리한데, 스케일링 비율에 따라 다르게 되며, 최상의 경우에는 2×2가 되는 반면에 최악의 경우에는 목적 영상의 크기와 동일하게 된다. 여기서 최상의 경우란 스케일링 비율이 2배 또는 0.5배인 경우이고, 최악의 경우란 원본 영상 크기와 목적 영상의 크기 간에 최대 공약수를 찾을 수 없는 경우이다.
한편 본 발명에 있어서 가중치는 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 대응되고 0∼2n에 속하며 두개의 화소간의 가중치 합이 2n으로 되는 정수로 정하여진다. 여기서 n은 자연수이며, 이하의 설명에서도 마찬가지이다. 상기 가중치는 원본 영상으로부터 생성할 목적 영상의 화소값에 반영되는 원본 화소로부터 목적 화소가 이격된 거리에 대응되게 원본 화소값에 곱하기 위한 값이다. 인접하는 두개의 화소간의 간격을 더 많은 수로 균등하게 분할하면 가중치들이 더 세분화되므로 영상 스케일링에 따른 연산이 더 정밀하게 이루어져 목적 영상의 화질이 좋아지게 되는 반면에 연산량이 많아지게 된다. 또한 n값도 클수록 가중치들을 더 세분화시킬 수 있어 영상 스케일링에 따른 연산이 더 정밀하게 이루어져 목 적 영상의 화질이 좋아지게 되는 반면에 연산량이 많아지게 된다. 그러므로 본 발명에 따른 영상 스케일링 기술을 채용하는 내장형 시스템에서 요구되는 영상의 정밀도, 즉 목적 영상에서 요구되는 화질에 따라 n값을 적절히 결정한다. 본 발명의 발명자들이 실험해 본 결과 IMT-2000 단말기, PDA 등에 대하여는 n을 10으로 선택하면 적절하다는 결론을 얻었으며, PC(Personal Computer)에 대하여는 n을 8로 선택하면 적절하다는 결론을 얻었다.
도 3a는 인접하는 두개의 화소 Pa,Pb간을 8등분하고, n을 10으로 선택한 경우에 두개의 화소 Pa,Pb중에 화소 Pa를 기준으로 하여 화소 Pa로부터 이격된 거리에 대응되는 가중치를 보인다. 이때 210=1024이므로, 화소 Pa로부터 1/8지점의 가중치는 128(=1024×1/8), 2/8지점의 가중치는 256(=1024×2/8),..., 8/8지점의 가중치는 1024(=1024×8/8)이 된다. 여기서 화소 Pa로부터 1/8지점은 화소 Pa를 기준으로 하면 가중치가 128이지만 화소 Pb를 기준으로 하면 가중치는 896이고, 두개의 화소 Pa,Pb간의 나머지 지점들의 가중치도 이와 마찬가지로 되며, 두개의 화소 Pa,Pb간의 가중치의 합은 1024가 된다.
상기한 바와 같은 가중치들은 하기 수학식 1에 따라 구하면 되는데, 본 발명의 설명에서는 상기한 도 3a처럼 두개의 인접한 화소간의 간격을 8등분하는 경우의 예를 들어 설명한다.
Figure 112002030436170-pat00001
상기 수학식 1에서 i는 가중치 인덱스(index)로서, 상기한 바와 같이 두개의 인접 화소간의 간격을 8등분하므로 1∼8이 된다. Vw[i]는 가중치 저장 배열을 의미한다. Rs는 스케일링 비율로서 원본 영상 크기/목적 영상 크기이다. ≪n은 최상위 비트쪽으로 n비트 쉬프트를 나타내며, 여기서 최상위 비트쪽으로 n비트 쉬프트는
Figure 112002030436170-pat00002
에 2n을 곱한 결과가 된다.
예를 들어 n을 10으로 선택하였을 경우 도 3a에 보인 바와 같이 인접하는 두 개의 원본 화소간의 가중치의 합은 210=1024로 되며, 가중치는 목적 화소가 그의 생성을 위한 연산 기준이 되는 원본 화소로부터 이격된 거리에 대응되게 0∼1024에 속하는 정수로 정하여진다.
도 3b는 도 2처럼 원본 영상의 최소 처리 유닛의 크기가 11이고, 목적 영상의 최소 처리 유닛의 크기가 8인 경우에 원본 영상의 11개 원본 화소 P1∼P11로부터 목적 영상의 8개의 목적 화소 P1'∼P8'를 생성하는 예를 든 것이다. 이러한 경우 목적 화소들 P1'∼P7'는 인접하는 해당 목적 화소값에 반영해야할 두개의 원본 화소들의 화소값을 해당 목적 화소가 이격된 거리에 대응되게 반영하여 생성하고, 목적 화소 P8'는 원본 화소 P11을 그대로 가져와 생성한다. 이와 달리 원본 화소 P1을 그대로 가져와 목적 화소 P1'를 생성하고, 인접하는 해당 목적 화소값에 반영해야할 두개의 원본 화소들의 화소값을 해당 목적 화소가 이격된 거리에 대응되게 반영하여 목적 화소들 P2'∼P8'를 생성하여도 마찬가지가 된다. 상기한 도 3b에서 목적 화소들 P1'∼P7'의 화소값은 인접하는 두개의 원본 화소들의 화소값 각각에 해당 목적 화소가 이격된 거리에 대응되는 가중치를 곱하고 곱해진 두개의 값을 더한 다음에 최하위 비트쪽으로 n비트 쉬프트(shift)시킴으로써 얻어진다. 디지털 영상에 있어서 하나의 화소가 8비트 데이터로 나타내어진다면 화소값은 0∼255중에 어느 하나의 값이 되는데, 이러한 화소값을 최상위 비트쪽으로 n비트 쉬프트시키면 해당 화소값에 2n을 곱한 결과가 되는 반면에 최하위 비트쪽으로 n비트 쉬프트시키면 해당 화소값을 2n으로 나눈 결과가 된다.
상기한 도 2처럼 원본 영상의 최소 처리 유닛의 크기가 11이고, 목적 영상의 최소 처리 유닛의 크기가 8인 경우에 상기한 수학식 1에 따라 가중치들을 구하면, 하기 표 2와 같으며, 이는 도 3a, 도 3b에서 보는 바와 같다. 다만 Vw[8]은 화소 Pb를 기준으로 할 경우로서 이 경우에는 1024가 아니라 0이 된다.
Vw[1] Vw[2] Vw[3] Vw[4] Vw[5] Vw[6] Vw[7] Vw[8]
384 768 128 512 896 256 640 0
이제 도 3b의 예에 있어서 두개의 원본 화소 P1,P2로부터 목적 화소 P1'를 생성하는 예를 설명하면, 목적 화소 P1' = (P1×640 + P2×384)≫10이 된다. 여기서 ≫10는 최하위 비트쪽으로 10비트 쉬프트를 의미하는데, 이는 두개의 화소간의 가중치 합이 210(=1024)이 되도록 n을 선택하여 상기 수학식 1에 따라 가중치를 구할때 최상위 비트쪽으로 10비트 쉬프트시킴에 따라 결과적으로 1024로 곱셈한 것이기 때문에 (P1×640 + P2×384)에 의해 얻어진 값을 1024로 나눗셈하여 화소가 가질 수 있는 값으로 되돌리기 위한 것이다. 이처럼 목적 화소 P1'의 생성은 정수의 가중치 곱셈과, 덧셈, 그리고 쉬프트만으로 구현되며, 나머지 목적 화소들 P2'∼P7'도 이와 마찬가지이고, 목적 화소 P8'는 원본 화소 P11의 화소값을 그대로 가져온다.
따라서 목적 화소값에 반영되는 원본 화소와 이격된 거리에 대응되며 두개의 화소간의 가중치 합이 2n으로 되는 정수의 가중치를 사용하여 목적 화소값을 생성하기 때문에 내장형 시스템에서 요구되는 화질을 만족시킬 수 있으면서도 종래와 달리 나눗셈 연산이 포함되지 않고 곱셈도 정수간의 곱셈만으로 이루어지며 n을 곱하거나 나누는 연산도 비트 쉬프트에 의해 이루어지므로 연산량이 대폭적으로 감소된다.
도 4는 본 발명의 일실시예에 따른 영상 스케일링 장치의 블록구성도를 보인 것으로, 영상 스케일링 처리를 하는 프로세서(100)와 영상 데이터, 즉 화소 데이터를 저장하는 제1,제2 프레임 메모리(frame memory)(102,104)로 구성된다. 프로세서(100)는 본 발명을 채용하는 내장형 시스템의 주제어 프로세서를 사용할 수도 있고, 별도의 전용 프로세서를 추가하여 사용할 수도 있다. 후술하는 바와 같이 제1 프레임 메모리(102)는 1프레임의 원본 영상 데이터와 이 원본 영상 데이터로부터 생성된 목적 영상 데이터를 저장하는데 사용되고, 제2 프레임 메모리(104)는 스케일링 처리 중에 필요한 영상 데이터를 저장하는데 사용된다.
이제 본 발명의 제1실시예에 따른 프로세서(100)의 영상 스케일링 흐름도를 (200)∼(206)단계로 보인 도 5를 참조하면, 제1 프레임 메모리(102)에 1프레임의 원본 영상 데이터가 저장되어 있는 상태에서 프로세서(100)는 (200)단계에서 목적 영상의 크기에 대한 원본 영상의 크기의 스케일링 비율에 따라 최소 처리 유닛의 크기를 결정한다. 이때 전술한 바와 같이 원본 영상과 목적 영상 각각의 최소 처리 유닛은 원본 영상과 목적 영상의 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수로 분할되도록 결정한다.
이처럼 최소 처리 유닛을 결정하는 프로세서(100)의 처리 과정을 도 2(a)와 같은 242×198 크기의 원본 영상을 도 2(b)와 같은 176×144 크기의 목적 영상으로 축소하는 예를 들어 (300)∼(306)단계로 보인 도 6을 참조하여 상세히 설명한다. 먼저 프로세서(100)는 (300)단계에서 원본 영상 크기 Src를 242로, 목적 영상 크기 Des를 176으로, 스케일링 비율 Rs를 Src/Dec로, 카운트값 Count를 0으로 초기화한다. 다음에 (302)∼(304)단계에서 Rs×Count값이 정수가 될때까지 카운트값 Count를 1씩 증가시킨다. 그러면 스케일링 Rs에 대한 정수배가 이루어지며 Rs×Count값이 정수가 되는 최소값이 구해지게 되는데, 스케일링 비율 Rs는 242/176=1.375이므로, Rs×Count값이 정수가 되는 최소값은 11이 되며, 이때의 카운트값 Count는 8이 된다. 이처럼 Rs×Count값이 정수가 되는 최소값이 구해지면, (306)단계에서 Rs×Count값 11을 원본 영상의 최소 처리 유닛의 크기로 결정하고 카운트값 Count를 목적 영상의 최소 처리 유닛의 크기로 결정한다. 이에따라 원본 영상과 목적 영상의 최소 처리 유닛의 크기가 도 2에 보인 바와 같이 결정된다.
상기한 바와 같이 상기한 (200)단계에서 프로세서(100)는 원본 영상과 목적 영상의 최소 처리 유닛의 크기를 결정한 다음에, (202)단계에서 상기 수학식 1에 따라 가중치들을 구한다. 이처럼 가중치들을 구하는 프로세서(100)의 처리 과정을 도 2(a)와 같은 242×198 크기의 원본 영상을 도 2(b)와 같은 176×144 크기의 목적 영상으로 축소하는 예를 들어 (400)∼(408)단계로 보인 도 7을 참조하여 상세히 설명한다. 먼저 프로세서(100)는 (400)단계에서 인덱스 i를 1로 초기화한 후, (402)∼(408)단계에서 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아질때까지 1씩 증가시키면서 상기 수학식 1에 따라 가중치들을 구함과 아울러
Figure 112002030436170-pat00003
에 따라 후술하는 바와 같이 각 목적 화소의 생성을 위한 연산 기준이 되는 원본 화소를 지정하는 원본 화소 인덱스들을 구한다. 여기서 index[i]는 원본 화소 인덱스의 저장 배열이다. 이때 가중치들은 상기 표 2와 같이 구해지고, 원본 화소 인덱스들은 하기 표 3과 같이 구해진다. 한편 상기한 (402)단계에 보인 수학식은 상기 수학식 1과 달리
Figure 112002030436170-pat00004
의 결과에 대하여 정수를 취하는 것이 생략되어 있는데, 이는 도 2(a)와 같은 242×198 크기의 원본 영상을 도 2(b)와 같은 176×144 크기의 목적 영상으로 축소하는 경우에는
Figure 112002030436170-pat00005
의 결과가 정수가 되기 때문에 생략한 것이다.
index[1] index[2] index[3] index[4] index[5] index[6] index[7] index[8]
1 2 4 5 6 8 9 11
상기한 바와 같이 프로세서(100)는 상기한 (202)단계에서 가중치들을 구한 다음에, (204)단계에서 원본 영상의 화소 행들 각각에 대하여 가로 방향으로 원본 영상의 최소 처리 유닛들에 대응하는 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 하기 수학식 2에 따라 구하여 가로 방향으로 스케일링된 영상을 생성한다. 이때 원본 영상이 도 9(a)와 같다고 하면, 상기한 (204)단계에 의해 원본 영상의 화소 행들 각각의 최소 처리 유닛들이 도 9(b)와 같이 가로 방향으로 스케일링되어 목적 영상의 최소 처리 유닛들이 생성되므로 가로 방향으로 스케일링된 영상이 얻어진다. 이처럼 생성되는 가로 방향으로 스케일링된 영상의 데이터는 제2 프레임 메모리(104)에 저장되어진다.
Figure 112002030436170-pat00006
상기 수학식 2에서 i, Vw[i]는 상기 수학식 1과 동일하고, index[i]는 원본 화소 인덱스의 저장 배열로서 상기한 바와 같이
Figure 112002030436170-pat00007
이다. Des[i]는 목적 영상의 최소 처리 유닛의 저장 배열이고, Src[index[i]]는 원본 영상의 최소 처리 유닛의 저장 배열이다. ≫n은 최하위 비트쪽으로 n비트 쉬프트를 나타내며, 여기서 최하위 비트쪽으로 n비트 쉬프트는
Figure 112002030436170-pat00008
를 2n으로 나눈 결과가 된다.
상기한 바와 같이 가로 방향으로 스케일링된 영상을 얻기 위하여 도 2(a)와 같은 242×198 크기의 원본 영상을 도 2(b)와 같은 176×144 크기의 목적 영상으로 축소하는 경우의 예를 들어 원본 영상의 하나의 최소 처리 유닛으로부터 그에 대응하는 목적 영상의 하나의 최소 처리 유닛을 생성하는 프로세서(100)의 처리 과정을 (500)∼(506)단계로 보인 도 8을 참조하여 상세히 설명한다. 먼저 프로세서(100)는 (500)단계에서 인덱스 i를 1로 초기화한 후, (502)∼(506)단계에서 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아질때까지 1씩 증가시키면서 상기 수학식 2에 따라 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 구한다. 이에따라 구해지는 목적 영상의 최소 처리 유닛의 8개의 목적 화소값들은 하기 표 4와 같다.
Des[1] (640×Src[1] + 384×Src[2])≫10
Des[2] (256×Src[2] + 768×Src[3])≫10
Des[3] (896×Src[4] + 128×Src[5])≫10
Des[4] (512×Src[5] + 512×Src[6])≫10
Des[5] (128×Src[6] + 896×Src[7])≫10
Des[6] (768×Src[8] + 256×Src[9])≫10
Des[7] (384×Src[9] + 640×Src[10])≫10
Des[8] (1024×Src[11] + 640×Src[12])≫10
여기서 Src[1]∼Src[11]은 도 3과 같은 원본 영상의 하나의 최소 처리 유닛의 화소들 P1∼P11 각각의 화소값을 의미한다. 예를 들어 전술한 바와 같이 도 3b의 예에 있어서 두개의 원본 화소 P1,P2로부터 목적 화소 P1'를 생성하는 예를 상기 표 3을 참조하여 설명하면, 목적 화소 P1'값 Des[1]는 = (P1×640 + P2×384)≫10가 된다. 여기서 ≫10는 전술한 바와 같이 상기한 (402)단계에서 상기 수학식 1에 따라 가중치를 구할때 최상위 비트쪽으로 10비트 쉬프트시켰었기 때문에 (P1×640 + P2×384)에 의해 얻어진 값을 1024로 나눗셈하여 화소가 가질 수 있는 값으로 되돌리는 것이다. 그리고 목적 화소 P8'값 Des[8]은 Src[12]가 원본 영상의 최소 처리 유닛에 없기 때문에 그 값이 0이므로, 원본 화소 P11값에 1024를 곱하였다가 다시 최하위 비트쪽으로 10비트 쉬프트시켜 얻어지게 되므로 원본 화소 P11값을 그대로 가져온 결과가 된다.
상기한 바와 같이 상기한 (500)∼(506)단계에 의해 원본 영상의 하나의 최소 처리 유닛으로부터 그에 대응하는 목적 영상의 하나의 최소 처리 유닛을 생성하는 과정을 (204)단계에서 원본 영상의 화소 행들 각각의 가로 방향으로 계속되는 최소 처리 유닛들에 대하여 하나씩 순차적으로 반복함으로써 도 9(a)와 같은 원본 영상이 도 9(b)와 같이 가로 방향으로 스케일링된 영상이 얻어진다.
상기한 바와 같이 프로세서(100)는 상기한 (204)단계에서 가로 방향으로 스케일링된 영상을 생성한 다음에, (206)단계에서 가로 방향으로 스케일링된 영상의 화소 열들 각각에 대하여 세로 방향으로 원본 영상의 최소 처리 유닛들에 대응하는 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 상기 수학식 2에 따라 구하여 목적 영상을 생성한다. 이때 원본 영상의 하나의 최소 처리 유닛으로부터 그에 대응하는 목적 영상의 하나의 최소 처리 유닛을 생성하는 것은 상기한 (204)단계에서와 마찬가지로 상기한 (500)∼(506)단계에 의해 이루어진다. 이에 따라 도 9(b)와 같이 가로 방향으로 스케일링된 영상이 상기한 (206)단계에 의해 도 9(c)와 같이 세로 방향으로 스케일링되므로 결과적으로 도 9(c)의 영상은 가로 방향 및 세로 방향으로 다운 스케일링된 목적 영상이 된다. 이처럼 생성되는 목적 영상의 데이터는 원본 영상의 데이터 대신에 제1 프레임 메모리(102)에 저장되어진다.
상기한 설명에서는 원본 화소 인덱스들 index[i]를 상기한 (404)단계에서 구하는 것으로 설명하였으나, (502)단계에서 구해도 된다. 하지만 (502)단계에서 원본 화소 인덱스들을 구하면 최소 처리 유닛을 처리할 때마다 매번 연산이 이루어져야 하므로 연산량이 많아지기 때문에 (404)단계에서 구하는 것이다. 이처럼 (404)단계에서 원본 화소 인덱스들 index[i]을 구하면 최소 처리 유닛을 처리할 때마다 매번 연산을 할 필요없이 하나의 원본 영상에 대하여 1번만 연산을 하면 된다.
한편 상기한 바와 같이 영상 스케일링을 하는 경우에 제2 프레임 메모리(104)에는 도 9(b)처럼 가로 방향으로 스케일링된 영상의 데이터를 저장해야 하므로 그만큼의 크기를 가지는 저장 용량이 요구된다. 전술한 바와 같이 내장형 시스템에서는 메모리 용량도 제약이 있게 되므로, 제2 프레임 메모리(104)의 저장 용량을 가능한한 줄이는 것이 바람직하다. 만일 원본 영상 전체를 가로 방향으로 스케일링한 다음에 세로 방향으로 스케일링하여 목적 영상을 생성하는 대신에, 최소 처리 블록 단위로 원본 영상으로부터 목적 영상을 생성한다면 제2 프레임 메모리(104)는 목적 영상의 최소 처리 블록의 크기만 가지면 된다. 즉, 상기한 예처럼 다운 스케일링을 하는 경우에 프로세서(100)는 제1 프레임 메모리(102)에 저장되어 있는 원본 영상의 처음부터 목적 영상을 최소 처리 블록 단위로 생성하기 시작한다. 이때 목적 영상의 하나의 최소 처리 블록을 생성하는 동안에는 화소들의 영상 데이터를 제2 프레임 메모리(104)에 저장하였다가 해당하는 하나의 최소 처리 블록을 생성 완료하면, 생성된 목적 영상의 최소 처리 블록의 영상 데이터를 제1 프레임 메모리(102)에 저장한다. 이때 제1 프레임 메모리(102)에서 목적 영상의 최소 처리 블록의 영상 데이터가 저장되는 저장영역에 저장되어 있었던 원본 영상의 데이터에 대하여는 이미 목적 영상의 생성을 완료하였기 때문에 필요없게 되었으므로 그 대신에 목적 영상의 최소 처리 블록의 영상 데이터를 저장하여도 된다. 다만, 원본 영상을 확대하는 업 스케일링을 하는 경우에는 목적 영상의 최소 처리 블록의 크기가 원본 영상의 최소 처리 블록의 크기보다 크기 때문에 위와 같은 방법을 사 용하면 원본 영상의 데이터가 목적 영상을 생성하기도 전에 없어지게 된다. 이를 감안하여 업 스케일링을 하는 경우에는 프로세서(100)는 제1 프레임 메모리(102)에 저장되어 있는 원본 영상의 끝부터 목적 영상을 최소 처리 블록 단위로 생성하기 시작한다. 이때 목적 영상의 하나의 최소 처리 블록을 생성하는 동안에는 화소들의 영상 데이터를 제2 프레임 메모리(104)에 저장하였다가 해당하는 하나의 최소 처리 블록을 생성 완료하면, 생성된 최소 처리 블록을 제1 프레임 메모리(102)의 저장 영역중에 끝부분부터 저장하기 시작한다. 이를 위해 제1 프레임 메모리(102)는 적어도 확대된 목적 영상의 크기만큼의 저장 영역을 가지는데, 업 스케일링을 시작하기 전에 1프레임의 원본 영상이 저장되어 있는 상태에서 제1 프레임 메모리(102)의 끝부분에는 원본 영상의 크기와 목적 영상의 크기 간의 차에 해당하는 저장 영역이 비어 있게 된다. 이처럼 원본 영상의 끝부터 목적 영상을 최소 처리 블록 단위로 생성하기 시작하고, 생성되는 최소 처리 블록들을 제1 프레임 메모리(102)의 비어 있는 끝부분의 저장 영역부터 저장하기 시작하면, 목적 영상의 데이터를 생성하기 전에 원본 영상의 데이터가 없어지는 경우가 발생하지 않게 된다.
도 10은 상기한 바와 같이 최소 처리 블록 단위로 목적 영상을 생성하는 것을 보인 본 발명의 제2실시예에 따른 프로세서(100)의 영상 스케일링 흐름도를 (600)∼(608)단계로 보인 것이다. 먼저 프로세서(100)는 (600)단계에서 스케일링 비율에 따라 원본 영상과 목적 영상의 최소 처리 유닛을 결정하고, (602)단계에서 가중치들을 상기 수학식 1에 따라 구한다. 이러한 (600),(602)단계는 전술한 도 5의 (200),(202)단계와 각각 동일하므로, 이에 대한 설명은 생략한다. 이후 프로세 서(100)는 (604)단계에서 원본 영상의 최소 처리 블록의 화소 행들 각각에 대하여 원본 영상의 최소 처리 유닛에 대응하는 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기 수학식 2에 따라 구하여 가로 방향으로 스케일링된 최소 처리 블록을 생성한다. 이때 원본 영상의 처음부터 가로 방향으로 스케일링된 최소 처리 블록을 생성하기 시작한다. 그리고 원본 영상이 도 12(a)와 같다고 하면, 상기한 (604)단계에 의해 원본 영상의 최소 처리 블록이 도 12(b)와 같이 가로 방향으로 스케일링되므로 가로 방향으로 스케일링된 최소 처리 블록이 얻어진다. 이처럼 생성되는 가로 방향으로 스케일링된 최소 처리 블록의 데이터는 제2 프레임 메모리(104)에 저장되어진다.
도 11은 상기한 (604)단계에서 가로 방향으로 스케일링된 최소 처리 블록을 얻기 위하여 도 2(a)와 같은 242×198 크기의 원본 영상을 도 2(b)와 같은 176×144 크기의 목적 영상으로 축소하는 경우의 예를 들어 원본 영상의 하나의 최소 처리 블록으로부터 그에 대응하는 가로 방향으로 스케일링된 하나의 최소 처리 블록을 생성하는 프로세서(100)의 처리 과정을 (700)∼(712)단계로 보인 것이다. 이러한 (700)∼(712)단계는 전술한 바와 같이 하나의 최소 처리 유닛의 영상 데이터를 생성하는 도 8의 (500)∼(506)단계를 원본 영상의 하나의 최소 처리 블록의 최소 처리 유닛들의 개수만큼 반복하여 가로 방향으로 스케일링된 하나의 최소 처리 블록을 생성하는 것을 보인 것이다. 이때 하나의 최소 처리 블록의 최소 처리 유닛의 개수는 화소 행들의 개수와 동일하게 11개이므로, 도 11에 따른 (700)∼(712)단계에 의해 가로 방향으로 스케일링된 하나의 최소 처리 블록이 생성 된다. 먼저 프로세서(100)는 (700)단계에서 카운트값 Count를 0으로 초기화하고, (702)단계에서 목적 영상의 최소 처리 유닛 크기×Count를 인덱스 i로 정한다. 이후 (704)∼(708)단계에서 상기한 도 8의 (502)∼(506)단계처럼 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아질때까지 1씩 증가시키면서 상기 수학식 2에 따라 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 구한다. 이때 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아지면, 즉 하나의 최소 처리 유닛에 대한 처리가 완료되면 (710)단계에서 카운트값 Count를 1증가시킨 다음에 (712)단계에서 카운트값 Count가 원본 영상의 최소 처리 유닛의 크기와 같은지를 확인한다. 만일 카운트값 Count가 원본 영상의 최소 처리 유닛의 크기에 도달하지 않았다면 상기 (702)단계로 진행하여 다음의 최소 처리 유닛에 대한 처리를 반복한다. 이렇게 하여 카운트값 Count가 원본 영상의 최소 처리 유닛의 크기와 동일하게 되면, 원본 영상의 하나의 최소 처리 블록의 모든 최소 처리 유닛들에 대하여 가로 방향으로 스케일링 처리가 모두 완료된 것이므로 종료한다.
상기한 바와 같이 가로 방향으로 스케일링된 하나의 최소 처리 블록이 생성되면, 프로세서(100)는 (606)단계에서 가로 방향으로 스케일링된 최소 처리 블록의 화소 열들 각각에 대하여 원본 영상의 최소 처리 유닛에 대응하는 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기한 (604)단계와 마찬가지로 상기한 (700)∼(712)단계에 의해 상기 수학식 2에 따라 구하여 가로 방향 및 세로 방향으로 스케일링된 최소 처리 블록을 생성한다. 이때 가로 방향으로 스케일링된 최소 처리 블록이 도 12(b)와 같다고 하면, (606)단계에 의해 도 12(c)와 같이 가로 방향 및 세로 방향으로 스케일링된 최소 처리 블록, 즉 목적 영상의 하나의 최소 처리 블록이 생성된다. 이처럼 생성되는 가로 방향으로 스케일링된 최소 처리 블록의 데이터는 상술한 바와 같이 제1 프레임 메모리(104)에 저장되어진다. 이후 프로세서(100)는 (608)단계에서 목적 영상의 최소 처리 블록들을 모두 생성 완료하였는지 여부를 검사하여, 아직 완료하지 않았으면 상기한 (604)단계로 진행하여 다음의 최소 처리 블록을 생성한다. 이렇게 하여 목적 영상의 최소 처리 블록들을 모두 생성 완료하면 종료한다.
따라서 제2 프레임 메모리(104)에는 원본 영상의 하나의 최소 처리 블록으로부터 목적 영상의 하나의 최소 처리 블록을 생성하는 중에 필요한 영상 데이터, 즉 도 12(b)처럼 가로 방향으로 스케일링된 1개의 최소 처리 블록만을 저장하면 되므로, 가로 방향으로 스케일링된 1개의 최소 처리 블록의 크기만큼의 저장 용량만 가지면 된다. 이에 따라 상술한 본 발명의 제1실시예에 비해 요구되는 메모리의 용량이 대폭적으로 감소된다.
한편 상기한 바와 같은 본 발명의 제1,제2실시예에 따르면, 내장형 시스템에서 요구되는 화질을 만족시킬 수 있으면서도 종래와 달리 나눗셈 연산이 포함되지 않고 곱셈도 정수간의 곱셈만으로 이루어지며 n을 곱하거나 나누는 연산도 비트 쉬프트에 의해 이루어지므로 연산량이 대폭적으로 감소되지만, 목적 영상의 각각의 목적 화소를 생성할 때마다 매번 상기 수학식 2에 따른 연산이 2번, 즉 가로 방향으로 스케일링할 때 1번, 다시 세로 방향으로 스케일링할 때 1번이 이루어져야 한다. 이에 대하여 상기한 바와 같은 본 발명의 제1,제2실시예를 살피면, 도 3b와 같 이 최소 처리 유닛 단위로 원본 영상으로부터 목적 영상을 생성하는 과정이 가로 방향과 세로 방향에 대하여 반복되어짐을 알 수 있다. 즉, 11개의 원본 화소 P1∼P11로부터 8개의 목적 화소 P1'∼P8'를 생성하는 연산은 항상 상기 수학식 2에 따라 동일하게 이루어지며, 디지털 영상의 화소값은 전술한 바와 같이 예를 들어 0∼255 중에 한가지 값을 가지게 되므로 원본 화소들 P1∼P11의 화소값에 따라 연산에 사용되는 값들만 달라지게 된다. 이러한 점을 고려할 때, 원본 화소들이 가질 수 있는 화소값, 즉 예를 들어 0부터 255까지에 대하여 미리 가중치를 곱하여 룩업 테이블(look-up table)을 생성해 놓으면, 각각의 목적 화소를 생성할 때 상기 수학식 2에서 원본 화소와 가중치를 곱하는 연산을 생략할 수 있게 된다.
도 13은 상기와 같이 룩업 테이블을 사용하여 목적 영상을 생성하기 위한 본 발명의 다른 실시예에 따른 영상 스케일링 장치의 블록구성도를 보인 것으로, 상기한 도 4의 영상 스케일링 장치에서 룩업 테이블을 저장하기 위한 룩업 테이블 메모리(106)를 추가하여 구성한 것이다. 프로세서(100)는 원본 영상으로부터 목적 영상을 생성하는 처리를 하기 전에 후술하는 바와 같이 룩업 테이블을 생성하여 룩업 테이블 메모리(106)에 저장해 놓고 사용한다.
도 14는 상기한 바와 같이 룩업 테이블을 사용하는 본 발명의 제3실시예에 따른 프로세서(100)의 영상 스케일링 처리 과정을 (800)∼(806)단계로 보인 흐름도이다. 먼저 프로세서(100)는 (800)단계에서 스케일링 비율에 따라 원본 영상과 목적 영상의 최소 처리 유닛을 결정한다. 이러한 (800)단계는 전술한 도 5의 (200)단계와 동일하므로, 이에 대한 설명은 생략한다. 이후 프로세서(100)는 (802)단계에 서 가중치들을 상기 수학식 1에 따라 구하고, 하기 수학식 3에 따라 각각의 가중치를 하나의 화소가 가질 수 있는 화소값들 각각과 곱하여 룩업 테이블을 생성한다.
Figure 112002030436170-pat00009
상기 수학식 3에서 i는 목적 영상의 최소 처리 유닛의 목적 화소들에 대한 인덱스, Vw[i]는 목적 영상의 최소 처리 유닛의 목적 화소들에 대한 가중치 저장 배열, Lookup_Table[i][Table_Index]는 인덱스 i와 하나의 화소가 가질 수 있는 화소값들에 대한 인덱스 Table_Index의 배열로 이루어지는 룩업 테이블 저장 배열을 나타낸다.
상기한 (802)단계에 따라 룩업 테이블을 생성하는 프로세서(100)의 구체 흐름도를 (900)∼(916)단계로 보인 도 15를 참조하면, 먼저 프로세서(100)는 (900)단계에서 인덱스 i를 1로 초기화한 후 (902)단계에서 상기 수학식 1에 따라 가중치를 구한다. 다음에 (904)단계에서 테이블 인덱스 Table_Index를 0으로 초기화한 후 (906)∼(910)단계에서 테이블 인덱스 Table_Index가 255를 초과할때까지 테이블 인덱스 Table_Index를 1씩 증가시키면서 상기 수학식 3에 따라 하나의 인덱스 i값에 대응하는 하나의 가중치에 대한 룩업 테이블을 생성한다. 이에 따라 하나의 인덱스 i값에 대응하는 하나의 가중치에 대하여 0부터 255까지의 값으로 이루어지는 룩업 테이블이 생성되면, (912)단계에서 상기한 도 7의 (404)단계와 동일하게 원본 화소 인덱스를 구한다. 이후 (914)단계에서 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아졌는가를 검사하여, 아직 같아지지 않았으면 (916)단계에서 인덱스 i를 1증가시킨 후, 상기한 (902)단계부터 반복한다. 이렇게 하여 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아질 때까지 (902)∼(916)단계를 반복함으로써 하기 표 5와 같은 룩업 테이블 Lookup_Table[i][Table_Index]가 생성됨과 아울러 상기 표 3과 같은 인덱스 배열 Index[i]가 생성되어 룩업 테이블 메모리(106)에 저장된다.
Lookup_Table[1][1] Vw[1]×1≫10
Lookup_Table[1][2] Vw[1]×2≫10
Lookup_Table[1][3] Vw[1]×3≫10
· · · · · ·
Lookup_Table[1][255] Vw[1]×255≫10
Lookup_Table[2][1] Vw[2]×1≫10
Lookup_Table[2][2] Vw[2]×2≫10
Lookup_Table[2][3] Vw[2]×2≫10
· · · · · ·
Lookup_Table[2][255] Vw[2]×255≫10
· · · · · ·
Lookup_Table[8][255] Vw[8]×255≫10
상기 표 5에서 Vw[1]∼Vw[8]은 상기 표 3과 같고, Vw[1]×1≫10, Vw[1]×2≫10, Vw[1]×3≫10, ... 등은 실제로는 곱셈 및 쉬프트된 값이 룩업 테이블로 생성되어 저장되는 것이지만, 편의상 수학식으로 나타낸 것이다.
상기한 바와 같이 룩업 테이블을 생성하여 룩업 테이블 메모리(106)에 저장한 후 프로세서(100)는 (804)단계에서 원본 영상의 화소 행들 각각에 대하여 가로 방향으로 원본 영상의 최소 처리 유닛들에 대응하는 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 하기 수학식 4에 따라 상기 표 5의 룩업 테이블을 참조 한 연산에 의해 구하여 가로 방향으로 스케일링된 영상을 생성한다.
Figure 112002030436170-pat00010
상기 수학식 4에서 i는 목적 영상의 최소 처리 유닛의 목적 화소들에 대한 인덱스이고, Lookup_Table[i][Table_Index]는 인덱스 i와 하나의 화소가 가질 수 있는 화소값들에 대한 인덱스 Table_Index의 배열로 이루어지는 룩업 테이블 저장 배열이며, Des[i]는 목적 영상의 최소 처리 유닛의 저장 배열, Src[index[i]]는 원본 영상의 최소 처리 유닛의 저장 배열이며, Index[i]는 목적 화소의 생성을 위한 연산 기준이 되는 원본 화소 인덱스의 저장 배열로서 전술한 바와 같이
Figure 112002030436170-pat00011
이며, Const는 후술하는 바와 같이 목적 영상의 최소 처리 유닛의 크기의 1/2값으로 초기화되며, 인덱스 i가 목적 영상의 최소 처리 유닛의 크기의 1/2보다 큰 경우에는 부호가 반전된다.
상기한 바와 같이 룩업 테이블을 사용하여 가로 방향으로 스케일링된 영상을 얻기 위하여 도 2(a)와 같은 242×198 크기의 원본 영상을 도 2(b)와 같은 176×144 크기의 목적 영상으로 축소하는 경우의 예를 들어 원본 영상의 하나의 최소 처리 유닛으로부터 그에 대응하는 목적 영상의 하나의 최소 처리 유닛을 생성하는 프로세서(100)의 처리 과정을 (1000)∼(1010)단계로 보인 도 16을 참조하여 상세히 설명한다. 먼저 프로세서(100)는 (1000)단계에서 인덱스 i를 1로 초기화하고 Const값을 목적 영상의 최소 처리 유닛의 크기의 1/2, 즉 4로 정한 후, (1002)∼(1010)단계에서 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아질 때까지 1씩 증가시키면서 상기 수학식 4에 따라 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 구한다. 이때 Const값은 인덱스 i가 목적 영상의 최소 처리 유닛의 크기의 1/2보다 커지게 되면 (1010)단계에서 부호가 반전된다. 이에 따라 구해지는 목적 영상의 최소 처리 유닛의 8개의 목적 화소값들은 상기 표 4와 같이 구해진다. 하지만 원본 화소값과 가중치의 곱셈 및 비트 쉬프트는 상기한 바와 같이 룩업 테이블을 생성할 때 이미 이루어졌기 때문에 각각의 목적 화소값은 상기 표 5에 보인 룩업 테이블에서
Figure 112002030436170-pat00012
에 해당하는 값과
Figure 112002030436170-pat00013
값을 가져와 덧셈을 하기만 하면 얻어진다.
상기한 바와 같이 상기한 (1000)∼(1010)단계에 의해 원본 영상의 하나의 최소 처리 유닛으로부터 그에 대응하는 목적 영상의 하나의 최소 처리 유닛을 생성하는 과정을 (804)단계에서 원본 영상의 화소 행들 각각의 가로 방향으로 이어지는 최소 처리 유닛들에 대하여 하나씩 순차적으로 반복함으로써 도 9(a)으로부터 원본 영상이 도 9(b)와 같이 가로 방향으로 스케일링된 영상이 얻어진다.
상기한 바와 같이 프로세서(100)는 상기한 (804)단계에서 가로 방향으로 스케일링된 영상을 생성한 다음에, (806)단계에서 가로 방향으로 스케일링된 영상의 화소 열들 각각에 대하여 세로 방향으로 원본 영상의 최소 처리 유닛들에 대응하는 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 상기 수학식 4에 따라 상기 표 5의 룩업 테이블을 참조한 연산에 의해 구하여 목적 영상을 생성한다. 이 때 원본 영상의 하나의 최소 처리 유닛으로부터 그에 대응하는 목적 영상의 하나의 최소 처리 유닛을 생성하는 것은 상기한 (804)단계에서와 마찬가지로 (1000)∼(1010)단계에 의해 이루어진다. 이에 따라 도 9(b)와 같이 가로 방향으로 스케일링된 영상이 상기한 (806)단계에 의해 도 9(c)와 같이 세로 방향으로 스케일링되므로 결과적으로 도 9(c)의 영상은 가로 방향 및 세로 방향으로 다운 스케일링된 목적 영상이 된다. 이처럼 생성되는 목적 영상의 데이터는 원본 영상의 데이터 대신에 제1 프레임 메모리(102)에 저장되어진다.
따라서 원본 화소들이 가질 수 있는 화소값에 대하여 미리 가중치를 곱하여 룩업 테이블을 생성해 놓은 후, 각각의 목적 화소를 생성할 때 상기 수학식 2에서 원본 화소와 가중치를 곱하는 연산을 생략할 수 있게 되므로, 프로세서(100)의 부하를 줄이며 스케일링 처리 속도가 빨라지게 된다.
통상적으로 내장형 시스템에서 원본 영상의 크기와 목적 영상의 크기는 고정되는 경우가 많고, 만일 사용자의 선택 등에 의해 변경 가능하게 구현된다 해도 매 프레임마다 바뀌지는 않는다. 이에 따라 이처럼 한번 생성한 룩업 테이블은 내장형 시스템의 전원이 "온"되어 있는 동안 또는 원본 영상의 크기와 목적 영상의 크기가 변경되기 전까지 사용될 수 있으며, 최악의 상황을 고려해도 적어도 1프레임에 대하여 사용될 수 있다. 만일 본 발명을 채용한 내장형 시스템이 원본 영상의 크기와 목적 영상의 크기는 고정되어 있는 제품이라면, 즉 표준 비디오 코덱으로 부터 출력되는 영상을 LCD의 영상 크기에 맞춰 디스플레이할 뿐이라면, 상기한 룩업 테이블은 변경될 필요가 없으므로 제조업체에서 불휘발성 메모리에 저장시켜 놓 으면 실제 스케일링 처리시에 룩업 테이블 생성을 생략할 수도 있게 된다.
한편 상기한 바와 같이 룩업 테이블을 사용하여 스케일링 처리를 하는 본 발명은 상기한 도 10으로서 보인 본 발명의 제2실시예처럼 최소 처리 블록 단위로 목적 영상을 생성하는 것과 결합하여 실시할 수도 있다. 도 17은 이를 위한 본 발명의 제4실시예에 따른 프로세서(100)의 영상 스케일링 흐름도를 (1100)∼(1108)단계로 보인 것이다. 먼저 프로세서(100)는 (1100)단계에서 스케일링 비율에 따라 원본 영상과 목적 영상의 최소 처리 유닛을 결정하고, (1102)단계에서 가중치들을 상기 수학식 1에 따라 구하고 상기 수학식 3에 따라 상기 표 5와 같은 룩업 테이블을 생성한다. 이러한 (1100),(1102)단계는 전술한 도 14의 (800),(802)단계와 각각 동일하므로, 이에 대한 설명은 생략한다. 이후 프로세서(100)는 (1104)단계에서 원본 영상의 최소 처리 블록의 화소 행들 각각에 대하여 원본 영상의 최소 처리 유닛에 대응하는 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기 수학식 4에 따라 상기 표 5의 룩업 테이블을 참조한 연산에 의해 구하여 가로 방향으로 스케일링된 최소 처리 블록을 생성한다. 이때 원본 영상의 처음부터 가로 방향으로 스케일링된 최소 처리 블록을 생성하기 시작한다. 그리고 원본 영상이 도 12(a)와 같다고 하면, 상기한 (1104)단계에 의해 원본 영상의 최소 처리 블록이 도 12(b)와 같이 가로 방향으로 스케일링되므로 가로 방향으로 스케일링된 최소 처리 블록이 얻어진다. 이처럼 생성되는 가로 방향으로 스케일링된 최소 처리 블록의 데이터는 제2 프레임 메모리(104)에 저장되어진다.
도 18은 상기한 (804)단계에서 가로 방향으로 스케일링된 최소 처리 블록을 얻기 위하여 도 2(a)와 같은 242×198 크기의 원본 영상을 도 2(b)와 같은 176×144 크기의 목적 영상으로 축소하는 경우의 예를 들어 원본 영상의 하나의 최소 처리 블록으로부터 그에 대응하는 가로 방향으로 스케일링된 하나의 최소 처리 블록을 생성하는 프로세서(100)의 처리 과정을 (1200)∼(1216)단계로 보인 것이다. 이러한 (1200)∼(1216)단계는 전술한 바와 같이 룩업 테이블을 참조하여 하나의 최소 처리 유닛의 영상 데이터를 생성하는 도 16의 (1000)∼(1010)단계를 원본 영상의 하나의 최소 처리 블록의 최소 처리 유닛들의 개수만큼 반복하여 가로 방향으로 스케일링된 하나의 최소 처리 블록을 생성하는 것을 보인 것이다. 이때 하나의 최소 처리 블록의 최소 처리 유닛의 개수는 화소 행들의 개수와 동일하게 11개이므로, 도 18에 따른 (1200)∼(1216)단계에 의해 가로 방향으로 스케일링된 하나의 최소 처리 블록이 생성된다. 먼저 프로세서(100)는 (1200)단계에서 카운트값 Count를 0으로 초기화하고, (1202)단계에서 목적 영상의 최소 처리 유닛 크기×Count를 인덱스 i로 정함과 아울러 Const값을 목적 영상의 최소 처리 유닛의 크기의 1/2, 즉 4로 정한다. 이후 (1204)∼(1212)단계에서 상기한 도 16의 (1002)∼(1010)단계와 마찬가지로 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아질때까지 1씩 증가시키면서 상기 수학식 4에 따라 상기 표 5의 록업 테이블을 참조한 연산에 의해 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 구한다. 이때 인덱스 i가 목적 영상의 최소 처리 유닛의 크기와 같아지면, 즉 하나의 최소 처리 유닛에 대한 처리가 완료되면 (1214)단계에서 카운트값 Count를 1증가시킨 다음에 (1216)단계에서 카운트값 Count가 원본 영상의 최소 처리 유닛의 크기와 같은지를 확인한다. 만일 카운트값 Count가 원본 영상의 최소 처리 유닛의 크기에 도달하지 않았다면 상기 (1202)단계로 진행하여 다음의 최소 처리 유닛에 대한 처리를 반복한다. 이렇게 하여 카운트값 Count가 원본 영상의 최소 처리 유닛의 크기와 동일하게 되면, 원본 영상의 하나의 최소 처리 블록의 모든 최소 처리 유닛들에 대하여 가로 방향으로 스케일링 처리가 모두 완료된 것이므로 종료한다.
상기한 바와 같이 가로 방향으로 스케일링된 하나의 최소 처리 블록이 생성되면, 프로세서(100)는 (1106)단계에서 가로 방향으로 스케일링된 최소 처리 블록의 화소 열들 각각에 대하여 원본 영상의 최소 처리 유닛에 대응하는 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기한 (1104)단계와 마찬가지로 (1200)∼(1216)단계에 의해 상기 수학식 4에 따라 상기 표 5의 룩업 테이블을 참조한 연산에 의해 구하여 가로 방향 및 세로 방향으로 스케일링된 최소 처리 블록을 생성한다. 이때 가로 방향으로 스케일링된 최소 처리 블록이 도 12(b)와 같다고 하면, 상기한 (1106)단계에 의해 도 12(c)와 같이 가로 방향 및 세로 방향으로 스케일링된 최소 처리 블록, 즉 목적 영상의 하나의 최소 처리 블록이 생성된다. 이처럼 생성되는 가로 방향으로 스케일링된 최소 처리 블록의 데이터는 상술한 바와 같이 제1 프레임 메모리(104)에 저장되어진다. 이후 프로세서(100)는 (1108)단계에서 목적 영상의 최소 처리 블록들을 모두 생성 완료하였는지 여부를 검사하여, 아직 완료하지 않았으면 상기한 (1104)단계로 진행하여 다음의 최소 처리 블록을 생성한다. 이렇게 하여 목적 영상의 최소 처리 블록들을 모두 생성 완료하면 종료한다.
따라서 룩업 테이블을 사용함으로써 프로세서(100)의 부하가 줄어들게 되며 스케일링 처리 속도가 빨라지게 될 뿐만 아니라, 제2 프레임 메모리(104)의 저장 용량을 가로 방향으로 스케일링된 1개의 최소 처리 블록의 크기만큼으로 줄일 수 있게 된다.
참고적으로 상기한 도 2(a)와 같은 242×198 크기의 영상을 상기한 도 2(b)와 같은 176×144 크기로 축소하는 다운 스케일링을 하는 경우에 있어서 룩업 테이블을 이용하여 가로 방향으로 축소하는 프로그램의 예를 ANSI(American National Standards Institute)-C 언어(language)를 사용하여 보이면 하기와 같다. 하기의 프로그램은 상기한 도 3b와 달리, 목적 화소 P1'의 화소값은 원본 화소 P1의 화소값을 그대로 가져오고 나머지 목적 화소 P2'∼P8'의 화소값은 인접하는 두개의 원본 화소의 화소값들을 반영하여 생성하는 경우의 예이다.
for (i=0; i<198; i++)
for (j=0; j<22; j++)
{
scrIndex=i*242+j*11);
desIndex=i*176+j*8);
des[desIndex]=src[srcIndex];
des[desIndex+1]=tb375src[srcIndex+2]+tb625[src[srcIndex+1]];
des[desIndex+2]=tb750src[srcIndex+3]+tb250[src[srcIndex+2]];
des[desIndex+3]=tb125src[srcIndex+5]+tb875[src[srcIndex+4]];
des[desIndex+4]=(src[srcIndex+5]+src[srcIndex+6])≫1;
des[desIndex+5]=tb125src[srcIndex+6]+tb875[src[srcIndex+7]];
des[desIndex+6]=tb750src[srcIndex+8]+tb250[src[srcIndex+9]];
des[desIndex+7]=tb375src[srcIndex+9]+tb625[src[srcIndex+10]];
}
즉, 전체 영상에 대하여 화소 행을 처리하여 242개 중에 176개의 화소를 얻어내며, 최소 처리 블록이 22회 반복 실행되면서 해당 처리가 종료된다. 이처럼 가로 방향 처리의 경우 처리 결과에 따른 화소값들이 가로 방향으로 인접되는 화소들의 화소값들이므로 4개의 화소값을 쉬프트 및 OR시켜 32비트로 저장하면 효율성이 높아지게 된다.
상기한 바와 같이 가로 방향으로 스케일링된 영상을 룩업 테이블을 이용하여 세로 방향으로 축소하는 프로그램을 ANSI-C 언어를 사용하여 보이면 하기와 같다.
for (i=0; i<18; i++)
for (j=0; j<176; j++)
{
scrIndex=i*11*176+j;
desIndex=i*8*176+j;
des[desIndex]=src[srcIndex];
des[desIndex+1*176]=tb375src[srcIndex+2*176]+tb625[src[srcIndex+1*176]];
des[desIndex+2*176]=tb750src[srcIndex+3*176]+tb250[src[srcIndex+2*176]];
des[desIndex+3*176]=tb125src[srcIndex+5*176]+tb875[src[srcIndex+4*176]];
des[desIndex+4*176]=(src[srcIndex+5*176]+src[srcIndex+6*176])≫1;
des[desIndex+5*176]=tb125src[srcIndex+6*176]+tb875[src[srcIndex+7*176]];
des[desIndex+6*176]=tb750src[srcIndex+8*176]+tb250[src[srcIndex+9*176]];
des[desIndex+7*176]=tb375src[srcIndex+9*176]+tb625[src[srcIndex+10*176]];
}
즉, 전체 영상에 대하여 화소 열을 처리하여 198개 중에 144개의 화소를 얻어내며, 최소 처리 블록이 18회 반복 실행되면서 해당 처리가 종료된다.
상기한 바와 같이 원본 영상을 가로 방향으로 축소하는 프로그램과 세로 방향으로 축소하는 프로그램에 있어서 tb125[ ]∼tb875[ ]는 하기 표 6과 같은 룩업 테이블을 의미한다.
tb125[i] = (unsigned char)(i×128≫10); // 1/8 tb250[i] = (unsigned char)(i×256≫10); // 2/8 tb375[i] = (unsigned char)(i×384≫10); // 3/8 tb625[i] = (unsigned char)(i×640≫10); // 5/8 tb750[i] = (unsigned char)(i×768≫10); // 6/8 tb875[i] = (unsigned char)(i×896≫10); // 7/8
상기 표 6에서 tb125[i], tb250[i], tb375[i], tb625[i], tb750[i], tb875[i]는 각각 (unsigned char)로 주어지는 화소값들 0∼255에 대하여 상기한 도 3a에서 화소 Pa로부터 1/8, 2/8, 3/8, 5/8, 6/8, 7/8지점의 가중치에 대한 룩업 테이블을 의미한다. 예를 들어 상기한 표 2에서 가중치가 Vw[1]=384인 경우를 보면, 상기한 표 5의 Lookup_Table[1][1], Lookup_Table[1][2], ..., Lookup_Table[1][255]가 tb375[i]에 해당한다. 그러므로 상기 표 6의 룩업 테이블 은 상기한 표 5와 실질적으로 같다. 다만, 상기 표 6에서 상기한 표 5와 달리 가중치가 512인 경우에 해당하는 룩업 테이블, 즉 tb500[i]은 없다. 이는 상기한 프로그램에서 보는 바와 같이, des[desIndex+4]는 두개의 원본 화소값 src[srcIndex+5], src[srcIndex+6]을 더한 후, 최하위비트쪽으로 1비트 쉬프트시키면 되고, des[desIndex+4*176]는 두개의 원본 화소값 src[srcIndex+5*176], src[srcIndex+6*176]을 더한 후, 최하위비트쪽으로 1비트 쉬프트시키면 되므로, 별도의 룩업 테이블이 없어도 되기 때문이다.
한편 본 발명의 발명자들이 시험한 바에 따르면, 본 발명은 최소 처리 블록의 크기가 8×8인 경우 CIF를 기준으로 스케일링 비율은 50%∼200%까지 화질 저하없이 적용 가능한 결과를 얻었다. 그리고 두개의 인접 화소간을 8등분하여 가중치 연산을 하는 경우에 룩업 테이블을 상기 표 5, 표 6과 같이 생성하면 사용하면 축소 8단계, 확대 4단계가 가능하다. 또한 두개의 인접 화소간을 16등분하여 가중치 연산을 하는 경우에는 상기 표 6에 더하여 하기 표 7과 같은 룩업 테이블을 생성하여 사용하면 축소 16단계, 확대 8단계가 가능해진다.
tb0625[i] = (unsigned char)(i×64≫10); // 1/16 tb1875[i] = (unsigned char)(i×192≫10); // 3/16 tb3125[i] = (unsigned char)(i×320≫10); // 5/16 tb4375[i] = (unsigned char)(i×448≫10); // 7/16 tb5625[i] = (unsigned char)(i×576≫10); // 9/16 tb6875[i] = (unsigned char)(i×704≫10); // 11/16 tb8125[i] = (unsigned char)(i×832≫10); // 13/16 tb9375[i] = (unsigned char)(i×960≫10); // 15/16
상기한 바와 같이 두개의 인접 화소간을 더 세부적으로 등분하여 룩업 테이블 개수를 늘려 사용하면 가중치들이 더 세분화되고 연산이 더 정밀하게 이루어지 기 때문에 목적 영상의 화질이 좋아지게 되지만 연산량이 많아지게 된다. 그러므로 일정 개수의 단계만으로 확대, 축소가 가능하도록 룩업 테이블을 생성하도록 하고, 스케일링 비율이 이러한 확대, 축소 단계와 정확히 맞지 않는 경우에는 근사값을 가지는 룩업 테이블을 사용하는 것이 바람직하다.
한편 상술한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나, 여러가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 특히 본 발명의 실시예에서는 구체적인 예로서 242×198 크기의 영상을 176×144 크기로 축소하는 다운 스케일링의 예를 들었으나, 원본 영상과 목적 영상의 크기가 달라진다해도 마찬가지로 적용된다. 또한 내장형 시스템뿐만 아니라 디지털 영상 스케일링이 필요한 경우에는 마찬가지로 적용된다. 따라서 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의하여 정하여져야 한다.
상술한 바와 같이 본 발명은 디지털 영상 스케일링을 구현함에 있어서 두개의 화소간의 가중치 합이 2n으로 되는 정수의 가중치를 사용하여 정수간의 곱셈과 덧셈 및 비트 쉬프트에 의한 연산에 의해 목적 화소값을 생성함으로써 화질 저하를 최소화하면서도 연산량을 줄일 수 있으므로 내장형 시스템에서도 다양한 영상 스케일링을 용이하게 구현할 수 있는 잇점이 있다.

Claims (22)

  1. 내장형 시스템에서 디지털 원본 영상을 확대 또는 축소하여 디지털 목적 영상을 얻기 위한 영상 스케일링방법에 있어서,
    상기 목적 영상의 크기에 대한 상기 원본 영상의 크기의 스케일링 비율에 따라 상기 원본 영상과 상기 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 상기 원본 영상과 상기 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과,
    상기 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 상기 2n으로 되는 정수의 가중치를 구하는 과정과,
    상기 원본 영상의 최소 처리 유닛들에 대응하는 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소값과 그 원본 화소와 이격된 거리에 대응되는 가중치를 사용해서 구하여 상기 목적 영상을 생성하는 과정을 구비함을 특징으로 영상 스케일링 방법.
  2. 제1항에 있어서, 상기 가중치가 하기 수학식 5에 따라 구해지고, 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값이 하기 수학식 6에 따라 구해짐 을 특징으로 하는 영상 스케일링 방법.
    Figure 112002030436170-pat00014
    Figure 112002030436170-pat00015
    상기 수학식 5,6에서 i는 상기 목적 영상의 최소 처리 유닛의 목적 화소들에 대한 인덱스, Vw[i]는 상기 가중치 저장 배열, Rs은 상기 스케일링 비율로서 원본 영상 크기/목적 영상 크기, n은 자연수, Des[i]는 상기 목적 영상의 최소 처리 유닛의 저장 배열, Src[index[i]]는 상기 원본 영상의 최소 처리 유닛의 저장 배열, Index[i]는 상기 목적 화소의 생성을 위한 연산 기준이 되는 원본 화소 인덱스의 저장 배열로서
    Figure 112002030436170-pat00016
    이며, ≪n은 최상위 비트쪽으로 n비트 쉬프트를 나타내고, ≫n은 최하위 비트쪽으로 n비트 쉬프트를 나타냄.
  3. 제2항에 있어서, 상기 목적 영상 생성과정이,
    상기 원본 영상의 화소 행들 각각에 대하여 가로 방향으로 상기 원본 영상의 최소 처리 유닛들에 대응하는 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 상기 수학식 6에 따라 구하여 상기 가로 방향으로 스케일링된 영상을 생성하는 과정과,
    상기 가로 방향으로 스케일링된 영상의 화소 열들 각각에 대하여 세로 방향으로 상기 원본 영상의 최소 처리 유닛 단위들에 대응하는 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 상기 수학식 6에 따라 구하여 상기 목적 영상을 생성하는 과정으로 이루어짐을 특징으로 영상 스케일링 방법.
  4. 제2항 또는 제3항에 있어서, 상기 가중치를 구하는 과정이, 상기 index[i]를 구하는 것을 포함함을 특징으로 하는 영상 스케일링 방법.
  5. 제4항에 있어서, 상기 n이 8,9,10 중에 어느 하나로 정해짐을 특징으로 하는 영상 스케일링 방법.
  6. 내장형 시스템에서 디지털 원본 영상을 확대 또는 축소하여 디지털 목적 영상을 얻기 위한 영상 스케일링방법에 있어서,
    상기 목적 영상의 크기에 대한 상기 원본 영상의 크기의 스케일링 비율에 따라 상기 원본 영상과 상기 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 상기 원본 영상과 상기 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과,
    상기 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 상기 2n으로 되는 정수의 가중치를 구하는 과정과,
    상기 원본 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들 각각에 대응되게 상기 목적 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소값과 그 원본 화소와 이격된 거리에 대응되는 가중치를 사용해서 구하여 상기 목적 영상을 생성하는 과정을 구비함을 특징으로 하는 영상 스케일링 방법.
  7. 제6항에 있어서, 상기 가중치가 하기 수학식 7에 따라 구해지고, 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값이 하기 수학식 8에 따라 구해짐을 특징으로 하는 영상 스케일링 방법.
    Figure 112002030436170-pat00017
    Figure 112002030436170-pat00018
    상기 수학식 7,8에서 i는 상기 목적 영상의 최소 처리 유닛의 목적 화소들에 대한 인덱스, Vw[i]는 상기 가중치 저장 배열, Rs은 상기 스케일링 비율로서 원본 영상 크기/목적 영상 크기, n은 자연수, Des[i]는 상기 목적 영상의 최소 처리 유닛의 저장 배열, Src[index[i]]는 상기 원본 영상의 최소 처리 유닛의 저장 배열, Index[i]는 상기 목적 화소의 생성을 위한 연산 기준이 되는 원본 화소 인덱스의 저장 배열로서
    Figure 112002030436170-pat00019
    이며, ≪n은 최상위 비트쪽으로 n비트 쉬프트를 나타내고, ≫n은 최하위 비트쪽으로 n비트 쉬프트를 나타냄.
  8. 제7항에 있어서, 상기 목적 영상 생성과정이,
    상기 원본 영상의 최소 처리 블록의 화소 행들 각각에 대하여 상기 원본 영상의 최소 처리 유닛에 대응하는 상기 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기 수학식 8에 따라 구하여 상기 가로 방향으로 스케일링된 최소 처리 블록을 생성하는 과정과,
    상기 가로 방향으로 스케일링된 최소 처리 블록의 화소 열들 각각에 대하여 상기 원본 영상의 최소 처리 유닛에 대응하는 상기 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기 수학식 8에 따라 구하여 상기 목적 영상의 최소 처리 블록을 생성하는 과정을 구비함을 특징으로 영상 스케일링 방법.
  9. 제8항에 있어서, 상기 목적 영상 생성과정이, 상기 원본 영상을 다운 스케일 링하는 경우에는 상기 원본 영상의 처음부터 상기 목적 영상의 최소 처리 블록을 생성하기 시작하고, 상기 원본 영상을 업 스케일링하는 경우에는 상기 원본 영상의 끝부터 상기 목적 영상의 최소 처리 블록을 생성하기 시작함을 특징으로 하는 영상 스케일링 방법.
  10. 제7항 내지 제9항중 어느 하나의 항에 있어서, 상기 가중치를 구하는 과정이, 상기 index[i]를 구하는 것을 포함함을 특징으로 하는 영상 스케일링 방법.
  11. 제10항에 있어서, 상기 n이 8,9,10 중에 어느 하나로 정해짐을 특징으로 하는 영상 스케일링 방법.
  12. 내장형 시스템에서 디지털 원본 영상을 확대 또는 축소하여 디지털 목적 영상을 얻기 위한 영상 스케일링방법에 있어서,
    상기 목적 영상의 크기에 대한 상기 원본 영상의 크기의 스케일링 비율에 따라 상기 원본 영상과 상기 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 상기 원본 영상과 상기 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과,
    상기 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 상기 2n으로 되는 정수의 가중치를 구하고 각각의 가중치를 하나의 화소가 가질 수 있는 화소값들 각각과 곱하여 룩업 테이블을 생성하는 과정과,
    상기 원본 영상의 최소 처리 유닛들에 대응하는 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 해당 목적 화소값에 반영되는 원본 화소와 이격된 거리에 대응되게 상기 룩업 테이블을 참조한 연산에 의해 구하여 상기 목적 영상을 생성하는 과정을 구비함을 특징으로 영상 스케일링 방법.
  13. 제12항에 있어서, 상기 가중치가 하기 수학식 9에 따라 구해지고, 상기 룩업 테이블이 하기 수학식 10에 따라 생성되며, 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값이 하기 수학식 11에 따라 구해짐을 특징으로 하는 영상 스케일링 방법.
    Figure 112002030436170-pat00020
    Figure 112002030436170-pat00021
    Figure 112002030436170-pat00022
    상기 수학식 9,10,11에서 i는 상기 목적 영상의 최소 처리 유닛의 목적 화소들에 대한 인덱스, Vw[i]는 상기 가중치 저장 배열, Rs은 상기 스케일링 비율로서 원본 영상 크기/목적 영상 크기, n은 자연수, Lookup_Table[i][Table_Index]는 인덱스 i와 하나의 화소가 가질 수 있는 화소값들에 대한 인덱스 Table_Index의 배열로 이루어지는 룩업 테이블 저장 배열, Des[i]는 상기 목적 영상의 최소 처리 유닛의 저장 배열, Src[index[i]]는 상기 원본 영상의 최소 처리 유닛의 저장 배열, Index[i]는 상기 목적 화소의 생성을 위한 연산 기준이 되는 원본 화소 인덱스의 저장 배열로서
    Figure 112002030436170-pat00023
    , Const는 상기 목적 영상의 최소 처리 유닛의 크기의 1/2값으로 정해지며 상기 인덱스 i가 상기 목적 영상의 최소 처리 유닛의 크기의 1/2보다 큰 경우에는 부호가 반전되며, ≪n은 최상위 비트쪽으로 n비트 쉬프트를 나타내고, ≫n은 최하위 비트쪽으로 n비트 쉬프트를 나타냄.
  14. 제13항에 있어서, 상기 목적 영상 생성과정이,
    상기 원본 영상의 화소 행들 각각에 대하여 가로 방향으로 상기 원본 영상의 최소 처리 유닛들에 대응하는 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 상기 수학식 11에 따라 상기 룩업 테이블을 참조한 연산에 의해 구하 여 상기 가로 방향으로 스케일링된 영상을 생성하는 과정과,
    상기 가로 방향으로 스케일링된 영상의 화소 열들 각각에 대하여 세로 방향으로 상기 원본 영상의 최소 처리 유닛 단위들에 대응하는 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값을 상기 수학식 11에 따라 상기 룩업 테이블을 참조한 연산에 의해 구하여 상기 목적 영상을 생성하는 과정으로 이루어짐을 특징으로 영상 스케일링 방법.
  15. 제12항 또는 제13항에 있어서, 상기 가중치를 구하는 과정이, 상기 index[i]를 구하는 것을 포함함을 특징으로 하는 영상 스케일링 방법.
  16. 제15항에 있어서, 상기 n이 8,9,10 중에 어느 하나로 정해짐을 특징으로 하는 영상 스케일링 방법.
  17. 내장형 시스템에서 디지털 원본 영상을 확대 또는 축소하여 디지털 목적 영상을 얻기 위한 영상 스케일링방법에 있어서,
    상기 목적 영상의 크기에 대한 상기 원본 영상의 크기의 스케일링 비율에 따라 상기 원본 영상과 상기 목적 영상이 가로 방향과 세로 방향에 대하여 각각 서로 동일한 개수의 최소 처리 유닛으로 분할되도록 상기 원본 영상과 상기 목적 영상 각각의 최소 처리 유닛의 크기를 결정하는 과정과,
    상기 원본 영상의 두개의 인접 화소간을 일정 등분한 지점들에 각각 대응되고 0∼2n(n은 자연수)에 속하며 두개의 화소간의 가중치 합이 상기 2n으로 되는 정수의 가중치를 구하고 각각의 가중치를 하나의 화소가 가질 수 있는 화소값들 각각과 곱하여 룩업 테이블을 생성하는 과정과,
    상기 원본 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들 각각에 대응되게 상기 목적 영상의 최소 처리 유닛×최소 처리 유닛으로 이루어지는 최소 처리 블록들의 최소 처리 유닛들 각각의 목적 화소들의 값을 아울러 해당 목적 화소값에 반영되는 원본 화소와 이격된 거리에 대응되게 상기 룩업 테이블을 참조한 연산에 의해 구하여 상기 목적 영상을 생성하는 과정을 구비함을 특징으로 하는 영상 스케일링 방법.
  18. 제17항에 있어서, 상기 가중치가 하기 수학식 12에 따라 구해지고, 상기 룩업 테이블이 하기 수학식 13에 따라 생성되며, 상기 목적 영상 생성과정에서 상기 목적 영상의 최소 처리 유닛들 각각의 목적 화소들의 값이 하기 수학식 14에 따라 구해짐을 특징으로 하는 영상 스케일링 방법.
    Figure 112002030436170-pat00024
    Figure 112002030436170-pat00025
    Figure 112002030436170-pat00026
    상기 수학식 12,13,14에서 i는 상기 목적 영상의 최소 처리 유닛의 목적 화소들에 대한 인덱스, Vw[i]는 상기 가중치 저장 배열, Rs은 상기 스케일링 비율로서 원본 영상 크기/목적 영상 크기, n은 자연수, Lookup_Table[i][Table_Index]는 인덱스 i와 하나의 화소가 가질 수 있는 화소값들에 대한 인덱스 Table_Index의 배열로 이루어지는 룩업 테이블 저장 배열, Des[i]는 상기 목적 영상의 최소 처리 유닛의 저장 배열, Src[index[i]]는 상기 원본 영상의 최소 처리 유닛의 저장 배열, Index[i]는 상기 목적 화소의 생성을 위한 연산 기준이 되는 원본 화소 인덱스의 저장 배열로서
    Figure 112002030436170-pat00027
    , Const는 상기 목적 영상의 최소 처리 유닛의 크기의 1/2값으로 정해지며 상기 인덱스 i가 상기 목적 영상의 최소 처리 유닛의 크기의 1/2보다 큰 경우에는 부호가 반전되며, ≪n은 최상위 비트쪽으로 n비트 쉬프트를 나타내고, ≫n은 최하위 비트쪽으로 n비트 쉬프트를 나타냄.
  19. 제18항에 있어서, 상기 목적 영상 생성과정이,
    상기 원본 영상의 최소 처리 블록의 화소 행들 각각에 대하여 상기 원본 영상의 최소 처리 유닛에 대응하는 상기 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기 수학식 14에 따라 상기 룩업 테이블을 참조한 연산에 의해 구하여 상기 가로 방향으로 스케일링된 최소 처리 블록을 생성하는 과정과,
    상기 가로 방향으로 스케일링된 최소 처리 블록의 화소 열들 각각에 대하여 상기 원본 영상의 최소 처리 유닛에 대응하는 상기 목적 영상의 최소 처리 유닛의 목적 화소들의 값을 상기 수학식 14에 따라 상기 룩업 테이블을 참조한 연산에 의해 구하여 상기 목적 영상의 최소 처리 블록을 생성하는 과정을 구비함을 특징으로 영상 스케일링 방법.
  20. 제19항에 있어서, 상기 목적 영상 생성과정이, 상기 원본 영상을 다운 스케일링하는 경우에는 상기 원본 영상의 처음부터 상기 목적 영상의 최소 처리 블록을 생성하기 시작하고, 상기 원본 영상을 업 스케일링하는 경우에는 상기 원본 영상의 끝부터 상기 목적 영상의 최소 처리 블록을 생성하기 시작함을 특징으로 하는 영상 스케일링 방법.
  21. 제18항 내지 제20항중 어느 하나의 항에 있어서, 상기 가중치를 구하는 과정 이, 상기 index[i]를 구하는 것을 포함함을 특징으로 하는 영상 스케일링 방법.
  22. 제21항에 있어서, 상기 n이 8,9,10 중에 어느 하나로 정해짐을 특징으로 하는 영상 스케일링 방법.
KR1020020056555A 2002-09-17 2002-09-17 내장형 시스템의 디지털 영상 스케일링방법 Expired - Fee Related KR100594073B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020020056555A KR100594073B1 (ko) 2002-09-17 2002-09-17 내장형 시스템의 디지털 영상 스케일링방법
US10/395,918 US7228008B2 (en) 2002-09-17 2003-03-24 Method for scaling a digital image in an embedded system
CNB031241921A CN1229975C (zh) 2002-09-17 2003-04-29 在嵌入式系统中按比例缩放数字图像的方法
EP03009715A EP1400919A3 (en) 2002-09-17 2003-04-30 Method for scaling a digital image
JP2003185831A JP4018601B2 (ja) 2002-09-17 2003-06-27 内蔵形システムのデジタル画像スケーリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020056555A KR100594073B1 (ko) 2002-09-17 2002-09-17 내장형 시스템의 디지털 영상 스케일링방법

Publications (2)

Publication Number Publication Date
KR20040026044A KR20040026044A (ko) 2004-03-27
KR100594073B1 true KR100594073B1 (ko) 2006-07-03

Family

ID=31944879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020056555A Expired - Fee Related KR100594073B1 (ko) 2002-09-17 2002-09-17 내장형 시스템의 디지털 영상 스케일링방법

Country Status (5)

Country Link
US (1) US7228008B2 (ko)
EP (1) EP1400919A3 (ko)
JP (1) JP4018601B2 (ko)
KR (1) KR100594073B1 (ko)
CN (1) CN1229975C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101297177B1 (ko) 2008-01-10 2013-08-20 삼성전자주식회사 디지털 이미지의 적응적 리포맷팅을 위한 방법 및 시스템

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20045201A7 (fi) * 2004-05-31 2005-12-01 Nokia Corp Menetelmä ja järjestelmä kuvien katsomiseksi ja parantamiseksi
US7319797B2 (en) * 2004-06-28 2008-01-15 Qualcomm Incorporated Adaptive filters and apparatus, methods, and systems for image processing
CN100395811C (zh) * 2005-03-29 2008-06-18 威盛电子股份有限公司 可编程的图像大小转换方法及装置
US7623711B2 (en) 2005-06-30 2009-11-24 Ricoh Co., Ltd. White space graphs and trees for content-adaptive scaling of document images
JP4830401B2 (ja) * 2005-08-24 2011-12-07 カシオ計算機株式会社 画像変換装置および画像変換方法
KR100657343B1 (ko) * 2005-10-19 2006-12-14 삼성전자주식회사 영상처리장치 및 방법
CN100401741C (zh) * 2006-08-10 2008-07-09 威盛电子股份有限公司 权重调整装置与权重调整方法
TWI317915B (en) * 2006-08-23 2009-12-01 Princeton Technology Corp Image processing system and method for image scaling
US20080204468A1 (en) * 2007-02-28 2008-08-28 Wenlong Li Graphics processor pipelined reduction operations
JP4987688B2 (ja) * 2007-12-25 2012-07-25 株式会社東芝 画像高解像度化方法および装置
JP5096247B2 (ja) * 2008-07-08 2012-12-12 ルネサスエレクトロニクス株式会社 画像処理装置、及び方法
JP4807401B2 (ja) * 2008-10-24 2011-11-02 富士ゼロックス株式会社 画像処理装置、画像形成装置およびプログラム
TWI456527B (zh) 2009-01-22 2014-10-11 Realtek Semiconductor Corp 影像縮小方法及影像處理裝置
CN102044065B (zh) * 2009-10-20 2013-07-03 瑞昱半导体股份有限公司 图像区块内缩小的设计方法
CN102263924B (zh) * 2010-05-29 2014-05-28 比亚迪股份有限公司 一种基于双三次插值的图像处理方法及其图像显示方法
CN101976558B (zh) * 2010-11-12 2013-01-23 华亚微电子(上海)有限公司 一种视频图像缩放方法及装置
CN102509259B (zh) * 2011-09-28 2013-04-03 上海大学 基于图像中像素点方向的图像缩放方法
US9870375B2 (en) * 2013-12-20 2018-01-16 Nvidia Corporation Image analysis of display content for dynamic adjustment of a continuous scan display
US9830871B2 (en) 2014-01-03 2017-11-28 Nvidia Corporation DC balancing techniques for a variable refresh rate display
US9711099B2 (en) 2014-02-26 2017-07-18 Nvidia Corporation Techniques for avoiding and remedying DC bias buildup on a flat panel variable refresh rate display
US10043490B2 (en) * 2014-12-24 2018-08-07 Synaptics Incorporated Requesting display frames from a display source
JP6653522B2 (ja) * 2015-02-04 2020-02-26 シナプティクス・ジャパン合同会社 表示装置、表示パネルドライバ、表示パネルの駆動方法
EP3138721B1 (en) * 2015-09-03 2018-11-14 Continental Automotive GmbH A method and apparatus for glare detection
US9940898B2 (en) 2016-02-25 2018-04-10 Nvidia Corporation Variable refresh rate video capture and playback
CN108604367B (zh) 2016-03-09 2022-02-01 华为技术有限公司 一种显示方法以及手持电子设备
KR102077214B1 (ko) 2016-12-15 2020-02-14 경희대학교 산학협력단 데스크톱 스크린을 비중첩 동일 크기 블록으로 분할하기 위한 동적 분할 알고리즘
WO2018110803A1 (ko) * 2016-12-15 2018-06-21 경희대학교 산학협력단 데스크톱 스크린을 비중첩 동일 크기 블록으로 분할하기 위한 동적 분할 알고리즘
CN106952630A (zh) * 2017-03-23 2017-07-14 深圳市茁壮网络股份有限公司 像素区域处理方法、装置以及像素区域切换方法和装置
CN109919842A (zh) * 2019-01-28 2019-06-21 努比亚技术有限公司 图像放大控制方法、终端及计算机可读存储介质
CN110335198B (zh) * 2019-07-08 2021-06-08 威创集团股份有限公司 一种图像处理方法及系统
CN111275615B (zh) * 2020-01-08 2023-05-26 深圳市爱协生科技股份有限公司 基于双线性插值改进的视频图像缩放方法
CN114078085B (zh) * 2020-08-10 2024-10-15 合肥君正科技有限公司 一种基于图像缩放减少数据带宽的硬件实现方法
CN111917934B (zh) * 2020-08-12 2022-08-30 珠海奔图电子有限公司 图像处理方法、装置、图像形成装置及存储介质
WO2024237797A1 (en) * 2023-05-12 2024-11-21 Leon Hohepa Artist Limited An image scaling method for a computing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091143A (ja) * 1996-09-19 1998-04-10 Hitachi Ltd 画像表示装置
JP2001230929A (ja) * 2000-02-18 2001-08-24 Canon Inc 2値画像の縮小処理方法および装置
JP2001292311A (ja) * 2000-04-10 2001-10-19 Fuji Photo Film Co Ltd 画像リサイズ装置及びその方法
JP2002135573A (ja) * 2000-10-23 2002-05-10 Nec Viewtechnology Ltd 画像拡大縮小方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658300A (en) * 1983-03-08 1987-04-14 Canon Kabushiki Kaisha System and method for processing image signals
US5528704A (en) * 1993-11-15 1996-06-18 Xerox Corporation Image resolution conversion using a plurality of image registrations
JPH08153189A (ja) * 1994-11-28 1996-06-11 Nec Niigata Ltd ディジタル画像任意変倍装置
ES2189899T3 (es) * 1996-03-15 2003-07-16 Matsushita Electric Ind Co Ltd Procedimiento y aparato para el codificado y descodificado de imagenes.
US6252576B1 (en) * 1998-08-06 2001-06-26 In-System Design, Inc. Hardware-efficient system for hybrid-bilinear image scaling
US7450114B2 (en) * 2000-04-14 2008-11-11 Picsel (Research) Limited User interface systems and methods for manipulating and viewing digital documents
GB2371459B (en) * 2001-01-19 2005-05-04 Pixelfusion Ltd Image scaling
US6985642B2 (en) * 2002-01-31 2006-01-10 International Business Machines Corporation Image size reduction method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091143A (ja) * 1996-09-19 1998-04-10 Hitachi Ltd 画像表示装置
JP2001230929A (ja) * 2000-02-18 2001-08-24 Canon Inc 2値画像の縮小処理方法および装置
JP2001292311A (ja) * 2000-04-10 2001-10-19 Fuji Photo Film Co Ltd 画像リサイズ装置及びその方法
JP2002135573A (ja) * 2000-10-23 2002-05-10 Nec Viewtechnology Ltd 画像拡大縮小方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101297177B1 (ko) 2008-01-10 2013-08-20 삼성전자주식회사 디지털 이미지의 적응적 리포맷팅을 위한 방법 및 시스템

Also Published As

Publication number Publication date
JP2004110776A (ja) 2004-04-08
US7228008B2 (en) 2007-06-05
EP1400919A3 (en) 2010-11-24
JP4018601B2 (ja) 2007-12-05
CN1484434A (zh) 2004-03-24
CN1229975C (zh) 2005-11-30
EP1400919A2 (en) 2004-03-24
US20040052432A1 (en) 2004-03-18
KR20040026044A (ko) 2004-03-27

Similar Documents

Publication Publication Date Title
KR100594073B1 (ko) 내장형 시스템의 디지털 영상 스케일링방법
US6518974B2 (en) Pixel engine
US5335295A (en) System and method for scaling a digital image
US7450132B2 (en) Method and/or apparatus for high speed visualization of depth image-based 3D graphic data
US20020145610A1 (en) Video processing engine overlay filter scaler
US8194098B2 (en) Apparatus, method, and product for downscaling an image
US7324706B2 (en) System and method for representing a general two dimensional spatial transformation
US6360029B1 (en) Method and apparatus for variable magnification of an image
US20110170801A1 (en) Resizing of digital images
US20100054621A1 (en) Dual lookup table design for edge-directed image scaling
US5930407A (en) System and method for efficiently generating cubic coefficients in a computer graphics system
He et al. FPGA-based real-time super-resolution system for ultra high definition videos
US20050248589A1 (en) System and method for rapidly scaling and filtering video data
US5491769A (en) Method and apparatus for variable minification of an image
JPH06295338A (ja) 画像生成方法
US7848597B2 (en) Data processing
EP0574245A2 (en) Method and apparatus for variable expansion and variable shrinkage of an image
US9741095B2 (en) Method for electronic zoom with sub-pixel offset
US7143127B2 (en) Scaling method by using symmetrical middle-point slope control (SMSC)
US20030187613A1 (en) Method of data interpolation using midpoint slope control scaling
US20080112647A1 (en) Systems and methods for resizing multimedia data
JP5085589B2 (ja) 画像処理装置および方法
US20030142107A1 (en) Pixel engine
Parkkinen et al. A fast method for scaling color images
JP2002342777A (ja) 画像処理装置および画像処理方法

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20020917

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20050318

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20020917

Comment text: Patent Application

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20060522

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20060620

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20060620

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20090529

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20100531

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20110530

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20120530

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20130531

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20130531

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20140529

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20160330

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20170330

Start annual number: 12

End annual number: 12

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20190401