KR102611423B1 - 이미지 스케일링 장치 및 이미지 스케일링 방법 - Google Patents

이미지 스케일링 장치 및 이미지 스케일링 방법 Download PDF

Info

Publication number
KR102611423B1
KR102611423B1 KR1020220081126A KR20220081126A KR102611423B1 KR 102611423 B1 KR102611423 B1 KR 102611423B1 KR 1020220081126 A KR1020220081126 A KR 1020220081126A KR 20220081126 A KR20220081126 A KR 20220081126A KR 102611423 B1 KR102611423 B1 KR 102611423B1
Authority
KR
South Korea
Prior art keywords
groups
value
conversion
information
transform
Prior art date
Application number
KR1020220081126A
Other languages
English (en)
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 KR1020220081126A priority Critical patent/KR102611423B1/ko
Priority to PCT/KR2023/009230 priority patent/WO2024005590A1/ko
Application granted granted Critical
Publication of KR102611423B1 publication Critical patent/KR102611423B1/ko

Links

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
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

본 발명의 일 실시예에 따른 이미지 스케일링 장치에 있어서, 2 이상의 메모리; 입력 이미지, 상기 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신하고, 상기 입력 이미지의 크기 및 상기 변환 크기에 기초하여 너비에 대응하는 제1변환 배수 및 높이에 대응하는 제2변환 배수를 식별하고, 상기 제1변환 배수 및 상기 제2변환 배수 중 어느 하나의 변환 배수에 기초하여 상기 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나누어 순차적으로 상기 제1복수의 그룹에 대한 정보를 상기 2 이상의 메모리에 저장하고, 상기 제1변환 배수 및 상기 제2변환 배수 중 나머지 하나의 변환 배수에 기초하여 상기 제1복수의 그룹을 제2복수의 그룹으로 묶은 후, 상기 제2복수의 그룹 각각에 포함된 픽셀의 평균값을 식별하여 변환 이미지를 생성하는 프로세서를 포함한다.

Description

이미지 스케일링 장치 및 이미지 스케일링 방법{Image scaling device and image scaling method}
본 발명은 이미지 스케일링 장치 및 이미지 스케일링 방법에 관한 것이다.
인공지능 기술의 발달에 따라 이미지를 입력데이터로 학습하는 AI 학습이나 추론 가속기가 활발하게 개발되고 있다. 이때, 이미지들은 서로 다른 크기를 가질 수 있고, AI 학습이나 추론 가속기 별로 설계되는 이미지 해상도가 다르므로, 가속기의 설계에 맞게 입력되는 이미지의 크기 변환이 필요하다.
이 외에도 이미지가 사용되는 기술의 경우 언제나 크기 변환의 이슈가 존재하는 바, 이미지 스케일링에 대한 기술의 개발이 요구되는 실정이다.
이때, 이미지 스케일링을 소프트웨어 프로그래밍으로 구현하는 경우, 처리속도가 저하되어 실시간 처리가 힘들기 때문에 하드웨어를 기반으로 설계하여 실시간 처리할 필요가 있다.
또한, 기존의 이미지 스케일링 기술은 1/2배, 1/3배, 1/4배와 같이 변환 배수에 제한이 있어 원하는 크기로 이미지를 변환하기 위해 이미지의 일부를 임의로 커팅하는 등 품질 저하의 우려도 존재한다.
본 발명의 목적은 보다 변환 크기의 자유도가 높은 이미지 스케일링 장치 및 이미지 스케일링 방법을 제공하는 것이다.
본 발명의 목적은 보다 높은 품질로 이미지의 크기를 변환하는 이미지 스케일링 장치 및 이미지 스케일링 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 이미지 스케일링 장치에 있어서, 2 이상의 메모리; 입력 이미지, 상기 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신하고, 상기 입력 이미지의 크기 및 상기 변환 크기에 기초하여 너비에 대응하는 제1변환 배수 및 높이에 대응하는 제2변환 배수를 식별하고, 상기 제1변환 배수 및 상기 제2변환 배수 중 어느 하나의 변환 배수에 기초하여 상기 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나누어 순차적으로 상기 제1복수의 그룹에 대한 정보를 상기 2 이상의 메모리에 저장하고, 상기 제1변환 배수 및 상기 제2변환 배수 중 나머지 하나의 변환 배수에 기초하여 상기 제1복수의 그룹을 제2복수의 그룹으로 묶은 후, 상기 제2복수의 그룹 각각에 포함된 픽셀의 평균값을 식별하여 변환 이미지를 생성하는 프로세서를 포함한다.
상기 프로세서는 나눗셈 설계 블록 및 고정 소수점 설계 블록을 포함하고, 상기 나눗셈 설계 블록은, 상기 입력 이미지의 크기 및 상기 변환 크기를 나누어 획득한 몫과 나머지 중 상기 몫을 상기 제1변환 배수 및 상기 제2변환 배수의 정수값으로 식별하고, 상기 고정 소수점 설계 블록은, 상기 나머지 및 상기 변환 크기를 이용하여 상기 제1변환 배수 및 상기 제2변환 배수의 소수값을 식별할 수 있다.
상기 고정 소수점 설계 블록은, (1) 상기 변환 크기가 상기 나머지의 2배보다 작은 경우, 상기 소수값의 최상 비트값을 1로 지정하고, 상기 나머지의 2배에서 상기 변환 크기를 뺀 값을 출력하고, 또는 상기 변환 크기가 상기 나머지의 2배보다 작지 않은 경우, 상기 소수값의 최상 비트값을 0으로 지정하고, 상기 나머지를 2배한 값을 출력하고, (2) 상기 변환 크기가 이전 단계의 출력값의 2배보다 작은 경우, 상기 소수값의 다음 비트값을 1로 지정하고, 상기 이전 단계의 출력값의 2배에서 상기 변환 크기를 뺀 값을 출력하고, 또는 상기 변환 크기가 상기 이전 단계의 출력값의 2배보다 작지 않은 경우, 상기 소수값의 다음 비트값을 0으로 지정하고, 상기 이전 단계의 출력값을 2배한 값을 출력하고, (3) 상기 소수값이 8개의 2진수 비트값을 가질 때까지 상기 (2) 단계를 반복할 수 있다.
상기 프로세서는, 상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별 포함된 픽셀들을 상기 제1변환 배수에 따라 그루핑(grouping)하고, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별 포함된 픽셀들을 상기 제2변환 배수에 따라 그루핑하여 상기 제1복수의 그룹을 생성할 수 있다.
상기 프로세서는, 상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별로, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별로 상기 제1복수의 그룹에 대한 정보를 상기 2 이상의 메모리에 저장할 수 있다.
상기 제1복수의 그룹에 대한 정보는, 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 것을 특징으로 할 수 있다.
상기 프로세서는, 상기 나머지 하나의 변환 배수에 기초하여 상기 2 이상의 메모리로부터 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶을 수 있다.
상기 프로세서는, 상기 제2복수의 그룹 중 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 상기 제2복수의 그룹에 대한 정보를 상기 2 이상의 메모리에 저장할 수 있다.
상기 프로세서는, 상기 나머지 하나의 변환 배수의 정수값에 대응하는 라인 개수만큼 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶고, 상기 묶이는 제2복수의 그룹의 개수만큼 상기 나머지 하나의 변환 배수의 소수값의 합을 구하고, 상기 소수값의 합이 1씩 초과할 때 마다 상기 라인 개수보다 하나 더 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶을 수 있다.
상기 프로세서는, 상기 입력 이미지의 복수의 픽셀의 픽셀값을 식별하고, 상기 각 픽셀과 이웃하는 적어도 하나의 픽셀 간 복수의 중간 픽셀값을 식별하고, 상기 제1변환 배수에 기초하여 상기 픽셀값 및 추가할 픽셀 수에 대응하는 상기 중간 픽셀값을 포함하는 제1업 스케일링 정보를 상기 2 이상의 메모리에 저장하고, 상기 제1업 스케일링 정보 및 상기 제2변환 배수에 기초하여 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제2업 스케일링 정보를 상기 2 이상의 메모리에 저장하고, 상기 2 이상의 메모리에 저장된 상기 제2업 스케일링 정보를 순차적으로 읽어 상기 변환 이미지를 생성할 수 있다.
본 발명의 일 실시예에 따른 이미지 스케일링 장치에 의해 수행되는 이미지 스케일링 방법에 있어서, 입력 이미지, 상기 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신하는 단계; 상기 입력 이미지의 크기 및 상기 변환 크기에 기초하여 너비에 대응하는 제1변환 배수 및 높이에 대응하는 제2변환 배수를 식별하는 단계; 상기 제1변환 배수 및 상기 제2변환 배수 중 어느 하나의 변환 배수에 기초하여 상기 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나누어 순차적으로 상기 제1복수의 그룹에 대한 정보를 저장하는 단계; 상기 제1변환 배수 및 상기 제2변환 배수 중 나머지 하나의 변환 배수에 기초하여 상기 제1복수의 그룹을 제2복수의 그룹으로 묶은 후, 상기 제2복수의 그룹 각각에 포함된 픽셀의 평균값을 식별하여 변환 이미지를 생성하는 단계를 포함한다.
상기 제1변환 배수 및 상기 제2변환 배수를 식별하는 단계는, 상기 입력 이미지의 크기 및 상기 변환 크기를 나누어 획득한 몫과 나머지 중 상기 몫을 상기 제1변환 배수 및 상기 제2변환 배수의 정수값으로 식별하는 단계; 상기 나머지 및 상기 변환 크기를 이용하여 상기 제1변환 배수 및 상기 제2변환 배수의 소수값을 식별하는 단계를 포함할 수 있다.
상기 제1변환 배수 및 상기 제2변환 배수의 소수값을 식별하는 단계는, (1) 상기 변환 크기가 상기 나머지의 2배보다 작은 경우, 상기 소수값의 최상 비트값을 1로 지정하고, 상기 나머지의 2배에서 상기 변환 크기를 뺀 값을 출력하고, 또는 상기 변환 크기가 상기 나머지의 2배보다 작지 않은 경우, 상기 소수값의 최상 비트값을 0으로 지정하고, 상기 나머지를 2배한 값을 출력하는 단계; (2) 상기 변환 크기가 이전 단계의 출력값의 2배보다 작은 경우, 상기 소수값의 다음 비트값을 1로 지정하고, 상기 이전 단계의 출력값의 2배에서 상기 변환 크기를 뺀 값을 출력하고, 또는 상기 변환 크기가 상기 이전 단계의 출력값의 2배보다 작지 않은 경우, 상기 소수값의 다음 비트값을 0으로 지정하고, 상기 이전 단계의 출력값을 2배한 값을 출력하는 단계; (3) 상기 소수값이 8개의 2진수 비트값을 가질 때까지 상기 (2) 단계를 반복하는 단계를 포함할 수 있다.
상기 제1복수의 그룹에 대한 정보를 저장하는 단계는, 상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별 포함된 픽셀들을 상기 제1변환 배수에 따라 그루핑(grouping)하고, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별 포함된 픽셀들을 상기 제2변환 배수에 따라 그루핑하여 상기 제1복수의 그룹을 생성하는 단계를 포함할 수 있다.
상기 제1복수의 그룹에 대한 정보를 저장하는 단계는, 상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별로, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별로 상기 제1복수의 그룹에 대한 정보를 저장하는 단계를 포함할 수 있다.
상기 변환 이미지를 생성하는 단계는, 상기 나머지 하나의 변환 배수에 기초하여 저장된 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계를 포함할 수 있다.
상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계는, 상기 제2복수의 그룹 중 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 상기 제2복수의 그룹에 대한 정보를 저장하는 단계를 포함할 수 있다.
상기 제2복수의 그룹으로 묶는 단계는, 상기 나머지 하나의 변환 배수의 정수값에 대응하는 라인 개수만큼 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계; 상기 묶이는 제2복수의 그룹의 개수만큼 상기 나머지 하나의 변환 배수의 소수값의 합을 구하는 단계; 상기 소수값의 합이 1씩 초과할 때 마다 상기 라인 개수보다 하나 더 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계를 포함할 수 있다.
상기 입력 이미지의 복수의 픽셀의 픽셀값을 식별하는 단계; 상기 각 픽셀과 이웃하는 적어도 하나의 픽셀 간 복수의 중간 픽셀값을 식별하는 단계; 상기 제1변환 배수에 기초하여 상기 픽셀값 및 추가할 픽셀 수에 대응하는 상기 중간 픽셀값을 포함하는 제1업 스케일링 정보를 저장하는 단계; 상기 제1업 스케일링 정보 및 상기 제2변환 배수에 기초하여 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제2업 스케일링 정보를 저장하는 단계; 저장된 상기 제2업 스케일링 정보를 순차적으로 읽어 상기 변환 이미지를 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 하드웨어 구성을 통해 보다 빠르고, 변환 배수의 제약이 적은 스케일링을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 변환 배수를 자유롭게 구성할 수 있으므로 AI 학습 등 변환 이미지 활용성이 높아질 수 있다. 특히, AI 가속기에 이용되는 경우, 학습 성능을 높일 수 있다.
도 1은 본 발명의 일 실시예에 따른 이미지 스케일링 장치를 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 구성을 도시한 블럭도이다.
도 3은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 동작 흐름도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 변환 배수를 식별하는 동작 흐름도를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 다운 스케일링 동작 모습을 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 동작 모습을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 업 스케일링 동작 모습을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 업 스케일링 시 변환 배수에 따라 추가할 픽셀 수에 관한 룩업 테이블을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 동작 모습을 도시한 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이미지 스케일링 장치를 개략적으로 도시한 도면이다.
도 1에 도시된 이미지 스케일링 장치(100)(이하, 스케일링 장치(100)라 한다.)는 입력 이미지(10)를 크기 정보(20)에 따라 변환 이미지(30)로 이미지의 크기를 변환하는 장치로써, 컴퓨터, 서버 등으로 구현될 수 있다.
본 발명의 일 실시예에 따르면, 입력 이미지(10)는 형식에 제한이 없으며, 정적 이미지뿐 아니라 동적 이미지를 포함할 수 있다. 동적 이미지인 경우 프레임 별로 크기 변환이 적용될 수 있다.
본 발명의 일 실시예에 따르면, 크기 정보(20)는 입력 이미지(10)의 크기에 대한 정보 및 변환하고자 하는 크기(이하, 변환 크기라 한다.)에 대한 정보를 포함할 수 있다.
스케일링 장치(100)는 입력 이미지(10)의 크기보다 변환 크기를 비교하여 이미지(10)를 확대하는 업 스케일링과 축소하는 다운 스케일링을 수행할 수 있다.
입력 이미지(10)의 크기에 대한 정보는 입력 이미지의 너비(width) 및 높이(height)를 포함하고, 변환 크기에 대한 정보는 변환 이미지의 너비 및 높이를 포함할 수 있다. 다만, 입력 이미지(10)의 크기에 대한 정보는 스케일링 장치(100)가 수신한 입력 이미지(10)로부터 식별할 수 있다.
본 발명의 일 실시예에 따르면, 변환 이미지(30)는 스케일링 장치(100)가 출력하는 이미지 데이터이다.
종래 입력 이미지의 크기를 변환하는 기술의 경우, 변환 프로그램 내 정해진 배수 혹은 1/2 배, 1/4 배와 같이 크기 변환이 용이한 배수에 대해서만 변환이 가능하였다.
그러나, 입력 이미지(10)의 크기와 변환 크기를 비교하여 보면 변환하고자 하는 배수(이하, 변환 배수라 한다.)가 딱 떨어지지 않는 경우가 대부분이다.
본 발명은 하드웨어 설계를 기반으로 하여 소프트웨어 프로그래밍보다 처리 속도가 빠르면서도, 변환 배수의 자유도가 높은 스케일링 장치(100)를 제안한다.
이하, 도면들을 참조하여 본 발명의 일 실시예에 따른 스케일링 장치(100)의 구성 및 동작에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 구성을 도시한 블럭도이다.
본 발명의 일 실시예에 따른 스케일링 장치(100)은 입력부(110), 통신부(120), 표시부(130), 메모리(140) 및 프로세서(150)를 포함한다.
입력부(110)는 스케일링 장치(100)의 사용자 입력에 대응하여 입력데이터를 발생시킨다. 예를 들어, 변환 크기에 관한 사용자 입력 등 이미지 스케일링을 수행하기 위한 사용자 입력인 경우 제한하지 않고 적용 가능하다.
입력부(110)는 적어도 하나의 입력수단을 포함한다. 입력부(110)는 키보드(key board), 키패드(key pad), 돔 스위치(dome switch), 터치패널(touch panel), 터치 키(touch key), 마우스(mouse), 메뉴 버튼(menu button) 등을 포함할 수 있다.
통신부(120)는 입력 이미지, 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신하고, 변환 이미지를 전송하기 위해 AI 학습기, 서버 등 외부장치와의 통신을 수행한다. 이를 위해, 통신부(120)는 5G(5th generation communication), LTE-A(long term evolution-advanced), LTE(long term evolution), Wi-Fi(wireless fidelity) 등의 통신을 수행할 수 있다.
한편, 통신부(120)는 입력 이미지, 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신할 수 있는 케이블이 연결될 수 있는 커넥터 또는 포트를 포함한다. 커네터 또는 포트는 USB 포트, HDMI 포트, DisplayPort, DVI 포트, SCART 등을 포함할 수 있다. 통신부(120)는 이더넷 등과 같은 네트워크 전송표준에 따른 커넥터 또는 포트를 포함할 수 있다. 예컨대, 통신부(120)는 라우터 또는 게이트웨이에 유선 접속된 랜카드 등으로 구현될 수 있다.
표시부(130)는 스케일링 장치(100)의 동작에 따른 표시 데이터를 표시한다. 표시부(130)는, 예를 들어, 입력 이미지를 포함하는 화면, 변환 크기를 입력하는 화면, 생성된 변환 이미지를 포함하는 화면 등을 표시할 수 있다.
표시부(130)는 액정 디스플레이(LCD; liquid crystal display), 발광 다이오드(LED; light emitting diode) 디스플레이, 유기 발광 다이오드(OLED; organic LED) 디스플레이, 마이크로 전자기계 시스템(MEMS; micro electro mechanical systems) 디스플레이 및 전자 종이(electronic paper) 디스플레이를 포함한다. 표시부(130)는 입력부(110)와 결합되어 터치 스크린(touch screen)으로 구현될 수 있다.
메모리(140)는 스케일링 장치(100)의 동작 프로그램들을 저장한다. 메모리(140)는 전원의 제공 유무와 무관하게 데이터(정보)를 보존할 수 있는 비휘발성 속성의 스토리지(storage)와, 프로세서(150)에 의해 처리되기 위한 데이터가 로딩되며 전원이 제공되지 않으면 데이터를 보존할 수 없는 휘발성 속성의 메모리(memory)를 포함한다. 스토리지에는 플래시메모리(flash-memory), HDD(hard-disc drive), SSD(solid-state drive) ROM(Read Only Memory) 등이 있으며, 메모리에는 버퍼(buffer), 램(RAM; Random Access Memory) 등이 있다.
본 발명의 일 실시예에 따르면, 2 이상의 메모리를 포함할 수 있다. 이때, 2 이상의 메모리는 이미지의 너비 방향의 라인 혹은 높이 방향의 라인 별로 정보를 저장하되, 라인의 개수가 메모리의 개수보다 많은 경우, 메모리를 링 버퍼와 같이 사용하여 정보를 순차적으로 저장할 수 있다.
메모리(140)는 너비 혹은 높이에 대응하는 변환 배수 중 어느 하나에 따라 입력 이미지의 복수의 픽셀을 복수의 그룹으로 나눈 경우, 복수의 그룹에 대한 정보를 저장하거나, 이미지 스케일링을 수행하는 과정에서 필요한 연산 프로그램 등을 저장할 수 있다.
프로세서(150)는 프로그램 등 소프트웨어를 실행하여 스케일링 장치(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다.
프로세서(150)는 나눗셈 설계 블록(151) 및 고정 소수점 설계 블록(152)을 포함할 수 있다. 이때, 나눗셈 설계 블록(151)과 고정 소수점 설계 블록(152)은 상호 전기적으로 접속된 회로로 구성될 수 있다.
본 발명의 일 실시예에 따르면, 나눗셈 설계 블록(151)과 고정 소수점 설계 블록(152)을 이용하여 변환 배수를 식별할 수 있다. 본 발명의 일 실시예에 따른 변환 배수는 입력 이미지의 너비에 대응하는 변환 배수(이하, 제1변환 배수라 한다.)와 입력 이미지의 높이에 대응하는 변환 배수(이하, 제2변환 배수라 한다.)를 포함한다. 이때, 변환 배수는 정수값과 소수값으로 이루어진다.
나눗셈 설계 블록(151)은 입력 이미지(10)의 크기 및 변환 크기를 나누어 몫과 나머지를 획득하고, 획득한 몫을 변환 배수의 정수값으로 식별한다.
이때, 소수값은 유한 소수로 나올 수 있지만 무한 소수로도 나올 수 있다.
예를 들어, 입력 이미지의 너비가 10 픽셀이고, 변환 크기의 너비는 4 픽셀인 경우, 변환 배수의 정수값은 2, 소수값은 0.5로 변환 배수는 1/2.5배이다.
반면, 입력 이미지의 너비는 13 픽셀이고, 변환 크기의 너비는 7 픽셀인 경우, 변환 배수의 정수값은 1이고, 소수값은 0.85714285...로 무한대로 나올 수 있다. 또한, 본 발명에서 소수값은 회로상으로는 2진수로 표현되어야 한다.
따라서, 스케일링 장치(100)는 변환 배수의 소수값을 2진수의 비트 단위로 표현하도록 설계된 고정 소수점 설계 블록(152)을 사용한다.
고정 소수점 설계 블록(152)은 나눗셈 설계 블록(151)이 식별한 나머지 및 변환 크기를 이용하여 제1변환 배수 및 제2변환 배수의 소수값을 식별할 수 있다.
프로세서(150)는 입력 이미지, 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신하고, 입력 이미지의 크기 및 변환 크기에 기초하여 너비에 대응하는 제1변환 배수 및 높이에 대응하는 제2변환 배수를 식별하고, 제1변환 배수 및 제2변환 배수 중 어느 하나에 기초하여 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나누어 순차적으로 제1복수의 그룹에 대한 정보를 2 이상의 메모리에 저장하고, 제1변환 배수 및 제2변환 배수 중 나머지 하나에 기초하여 제1복수의 그룹을 제2복수의 그룹으로 묶은 후, 제2복수의 그룹 각각에 포함된 픽셀의 평균값을 식별하여 변환 이미지를 생성한다.
도 3은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 동작 흐름도를 도시한 도면이다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 입력 이미지(10), 입력 이미지(10)의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신한다(S10).
앞서 서술한 바와 같이, 입력 이미지(10)는 외부로부터 수신할 수 있으며, 다만 이에 한정되지 않고 메모리(140)에 기 저장되어 이용될 수 있다. 프로세서(150)는 입력 이미지(10)로부터 입력 이미지(10)의 크기에 대한 정보를 식별할 수 있으며, 입력부(110)를 통해 입력 이미지(10)의 크기나 변환 크기에 대한 사용자 입력을 수신하거나, 변환 크기에 대한 정보를 외부로부터 수신할 수 있다. 이와 같이, 입력 이미지(10)나 입력 이미지(10)의 크기에 대한 정보, 변환 크기에 대한 정보의 수신 경로는 다양하게 존재하며, 수신 경로나 방식에 의해 본 발명이 한정되지 않는다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 입력 이미지의 크기 및 변환 크기에 기초하여 너비에 대응하는 제1변환 배수 및 높이에 대응하는 제2변환 배수를 식별한다(S20).
본 발명의 일 실시예에 따르면, 프로세서(150)는 나눗셈 설계 블록(151)과 고정 소수점 설계 블록(152)을 포함하고, 나눗셈 설계 블록(151)과 고정 소수점 설계 블록(152)을 이용하여 변환 배수를 식별할 수 있다.
보다 구체적으로, 나눗셈 설계 블록(151)은 입력 이미지(10)의 너비와 변환 크기의 너비를 나누어 몫과 나머지를 획득하고, 몫을 제1변환 배수의 정수값으로 식별할 수 있다. 마찬가지로, 나눗셈 설계 블록(151)은 입력 이미지(10)의 높이와 변환 크기의 높이를 나누어 몫과 나머지를 획득하고, 몫을 제2변환 배수의 정수값으로 식별할 수 있다.
고정 소수점 설계 블록(152)은 나눗셈 설계 블록(151)이 식별한 나머지 및 변환 크기를 이용하여 변환 배수의 소수값을 식별한다. 이때, 고정 소수점 설계 블록(152)은 나눗셈 설계 블록(151)으로부터 나머지 정보를 수신할 수 있다.
고정 소수점 설계 블록(152)의 구체적인 동작 과정은 도 4를 참조하여 설명한다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 제1변환 배수 및 제2변환 배수 중 어느 하나에 기초하여 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나누어 순차적으로 제1복수의 그룹에 대한 정보를 2 이상의 메모리에 저장한다(S30).
스케일링의 과정은 너비 방향과 높이 방향 각각의 축소/확대로 이루어진다. 이때, 너비 방향과 높이 방향의 스케일링 순서는 최종 결과물에 영향을 주지 않는다.
예를 들어, 제1변환 배수가 1/2.5이고, 제2변환 배수가 1/4.5인 경우, 너비 방향으로 먼저 1/2.5배 축소 후 높이 방향으로 1/4.5배 축소하여 얻은 변환 이미지와, 먼저 높이 방향으로 1/4.5배 축소 후 너비 방향으로 1/2.5배 축소하여 얻은 변환 이미지는 같다.
따라서, 프로세서(150)는 너비 방향 혹은 높이 방향 중 먼저 스케일링하는 방향의 변환 배수에 따라 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나눌 수 있다.
어느 하나의 변환 배수가 제1변환 배수인 경우, 즉 너비 방향으로 먼저 스케일링을 수행하는 경우, 프로세서(150)는 입력 이미지를 이루는 복수의 픽셀 중 너비 방향의 라인 별 포함된 픽셀들을 제1변환 배수에 맞게 그루핑(grouping)하여 제1복수의 그룹을 생성할 수 있다.
반대로, 어느 하나의 변환 배수가 제2변환 배수인 경우, 즉 높이 방향으로 먼저 스케일링을 수행하는 경우, 프로세서(150)는 입력 이미지를 이루는 복수의 픽셀 중 높이 방향의 라인 별 포함된 픽셀들을 제2변환 배수에 맞게 그루핑하여 제1복수의 그룹을 생성할 수 있다. 그루핑을 수행하는 구체적인 예시는 도 5를 참조하여 설명한다.
그리고, 프로세서(150)는 제1복수의 그룹에 대한 정보를 순차적으로 2 이상의 메모리에 저장할 수 있다. 이때, 제1복수의 그룹에 대한 정보는, 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함한다. 메모리에 저장하는 과정은 도 6을 참조하여 구체적으로 설명한다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 제1변환 배수 및 제2변환 배수 중 나머지 하나에 기초하여 제1복수의 그룹을 제2복수의 그룹으로 묶은 후, 제2복수의 그룹 각각에 포함된 픽셀의 평균값을 식별하여 변환 이미지(30)를 생성한다(S40).
본 발명의 일 실시예에 따르면, 프로세서(150)는 나머지 하나의 변환 배수의 정수값에 대응하는 라인 개수만큼 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 제1복수의 그룹을 제2복수의 그룹으로 묶을 수 있다.
예를 들어, 프로세서(150)는 제1복수의 그룹이 제1변환 배수에 의해 생성된 경우, 제2변환 배수의 정수값에 대응하는 라인 개수만큼 제1복수의 그룹에 대한 정보를 순차적으로 읽는다.
이때, 프로세서(150)는 읽어오다가 변환 배수의 소수값의 합이 1씩 초과할 때 마다 정수값에 대응하는 라인 개수보다 하나 더 읽어 제2복수의 그룹을 생성한다.
변환 이미지(30)는 결국 다운 스케일링의 경우 복수의 픽셀을 하나의 픽셀로 축소하는 과정을 연속적으로 수행하여 생성되는 바, 프로세서(150)는 제2복수의 그룹별로 각 그룹에 포함된 픽셀의 평균값을 식별하여 변환 이미지(30)를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 하드웨어 구성을 통해 보다 빠르고, 변환 배수의 제약이 적은 스케일링을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 변환 배수를 자유롭게 구성할 수 있으므로 AI 학습 등 변환 이미지 활용성이 높아질 수 있다. 특히, AI 가속기에 이용되는 경우, 학습 성능을 높일 수 있다.
도 4는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 변환 배수를 식별하는 동작 흐름도를 도시한 도면이다.
도 4는 도 3의 S20과 관련하여 변환 배수를 식별하는 고정 소수점 설계 블록(152)의 동작 흐름도를 나타낸다. 이하, 설명의 편의를 위해, 입력 이미지(10)는 9 픽셀*13 픽셀의 크기를 가지고, 변환 크기는 2 픽셀*7 픽셀의 크기를 가진다고 가정하고, 입력 이미지(10)의 높이에 대응하는 제2변환 배수의 소수값을 구하는 과정을 설명한다. 이때, 소수값은 앞서 서술한 바와 같이 비트 단위로 식별한다.
본 발명의 일 실시예에 따르면, 고정 소수점 설계 블록(152)은 나눗셈 설계 블록(151)으로부터 나머지에 관한 정보를 수신하고, 변환 크기의 정보를 수신한다(S21). 이때, 13을 7로 나누면 몫은 1이고, 나머지는 6이다. 대응하는 변환 크기는 7이다.
고정 소수점 설계 블록(152)은 변환 크기가 나머지의 2배보다 작은지 여부를 식별한다(S22). 7은 6의 2배인 12보다 작다(S22의 Yes).
고정 소수점 설계 블록(152)은 변환 크기가 나머지의 2배보다 작은 경우(S22의 Yes), 소수값의 최상 비트(bit)값을 1로 지정하고, (나머지*2-변환 크기)를 출력한다(S23). 본 발명의 일 실시예에 따르면, 소수값을 8비트로 나타낼 것이다. 이때, 최상 비트값은 8비트 중 첫번째 비트값을 의미한다.
고정 소수점 설계 블록(152)은 변환 크기가 나머지의 2배보다 작지 않은 경우(S22의 No), 소수값의 최상 비트값을 0으로 지정하고, 나머지를 2배하여 출력한다(S24).
이때, 7은 6의 2배인 12보다 작으므로(S22의 Yes), 최상 비트값은 1이고(1XXX_XXXX), 출력값은 (6*2-7)=5이다(S23).
고정 소수점 설계 블록(152)은 변환 크기가 이전 출력값의 2배보다 작은지 여부를 식별한다(S25). 이하 이전 출력값은 각 단계 전에 고정 소수점 설계 블록(152)이 출력한 값을 의미한다.
고정 소수점 설계 블록(152)은 변환 크기가 이전 출력값의 2배보다 작은 경우(S22의 Yes), 소수값의 다음 비트값을 1로 지정하고, (이전 출력값*2-변환 크기)를 출력한다(S26).
고정 소수점 설계 블록(152)은 변환 크기가 이전 출력값의 2배보다 작지 않은 경우(S22의 No), 소수값의 다음 비트값을 0으로 지정하고, 이전 출력값을 2배하여 출력한다(S27).
이 경우, 이전 출력값은 5이고, 7은 5의 2배인 10보다 작으므로(S25의 Yes), 다음 비트값은 1이고(11XX_XXXX), 출력값은 (5*2-7)=3이다(S26).
고정 소수점 설계 블록(152)은 소수값에 대한 비트값이 8비트로 완성되었는지 여부를 확인하고(S28), 아직 완성되지 않은 경우(S28의 No) 다음 비트값을 식별하기 위해 S25 단계로 돌아간다.
완성된 경우(S28의 Yes), 8비트의 소수값을 출력한다(S29).
예시는 아직 8비트가 아니므로(11XX_XXXX)(S28의 No), S25 단계로 돌아간다.
S25에서, 7은 3의 2배인 6보다 크므로(S25의 No), 다음 비트값은 0이고(110X_XXXX), 출력값은 (3*2)=6이다(S27).
8비트가 아니므로(S28의 No), S25 단계로 돌아간다.
S25에서, 7은 6의 2배인 12보다 작으므로(S25의 Yes), 다음 비트값은 1이고(1101_XXXX), 출력값은 (6*2-7)=5이다(S26).
8비트가 아니므로(S28의 No), S25 단계로 돌아간다.
S25에서, 7은 5의 2배인 10보다 작으므로(S25의 Yes), 다음 비트값은 1이고(1101_1XXX), 출력값은 (5*2-7)=3이다(S26).
8비트가 아니므로(S28의 No), S25 단계로 돌아간다.
S25에서, 7은 3의 2배인 6보다 크므로(S25의 No), 다음 비트값은 0이고(1101_10XX), 출력값은 (3*2)=6이다(S27).
8비트가 아니므로(S28의 No), S25 단계로 돌아간다.
S25에서, 7은 6의 2배인 12보다 작으므로(S25의 Yes), 다음 비트값은 1이고(1101_101X), 출력값은 (6*2-7)=5이다(S26).
8비트가 아니므로(S28의 No), S25 단계로 돌아간다.
S25에서, 7은 5의 2배인 10보다 작으므로(S25의 Yes), 다음 비트값은 1이고(1101_1011), 출력값은 (5*2-7)=3이다(S26).
고정 소수점 설계 블록(152)은 1101_1011로 8비트가 완성되었으므로(S28의 Yes), 8비트를 소수값으로 출력한다(S29).
즉, 입력 이미지(10)는 높이 13 픽셀을 높이 7 픽셀로 변환하는 경우, 제2변환 배수의 정수값은 1이고, 소수값은 2진수로 0.11011011(2)로 나타낼 수 있다.
0.11011011(2)을 10진수값으로 변환하면, 0.85546875(10)이다. 이때, 13을 7로 나누면, 0.85714285...(10) 인바, 오차가 매우 작다.
도 5는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 다운 스케일링 동작 모습을 도시한 도면이다.
도 5는 도 3의 S30 및 S40을 참조하여 입력 이미지의 복수의 픽셀을 제1복수의 그룹 및 제2복수의 그룹으로 나누는 부분에 대해서 자세히 설명한다.
이때, 예시는 앞서 도 4와 동일하게 입력 이미지(10)는 9 픽셀*13 픽셀의 크기를 가지고, 변환 크기는 2 픽셀*7 픽셀의 크기를 가지고, 제1변환 배수에 기초하여 먼저 스케일링 한다고 가정한다.
앞서 도 4에서 식별한 바와 같이, 너비 방향의 제1변환 배수는 1/4.5이다.
프로세서(150)는 제1변환 배수에 기초하여 입력 이미지(10)의 복수의 픽셀을 제1복수의 그룹으로 나눌 수 있다.
프로세서(150)는 입력 이미지(10)를 이루는 복수의 픽셀 중 너비 방향의 라인 별 포함된 픽셀들을 제1변환 배수에 맞게 그루핑(grouping)하여 제1복수의 그룹을 생성할 수 있다.
도 5를 참조하면, 프로세서(150)는 입력 이미지(10)의 너비 방향의 라인 중 라인 1에 포함된 9개의 픽셀들을 제1변환 배수의 정수값이 4개만큼 하나의 그룹(11)으로 묶고, 나머지 5개 픽셀을 또 하나의 그룹(12)으로 묶을 수 있다.
이때, 그룹(11)의 제1변환 배수의 소수값 0.5와 그룹(12)의 제1변환 배수의 소수값 0.5를 합치면 정수 1이 나오기 때문에, 그룹(12)는 제1변환 배수의 정수값 4보다 한 픽셀을 더 포함하는 5개의 픽셀로 이루어진다.
이는 모든 라인에 대해서 동일하게 수행되므로, 너비 방향의 라인 1부터 라인 13까지 라인 별로 4픽셀, 5픽셀로 이루어진 26개의 그룹들로 이루어진다. 이들을 제1복수의 그룹이라 한다.
프로세서(150)는 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 제1복수의 그룹에 대한 정보를 메모리(140)에 저장한다.
본 발명의 일 실시예에 따르면, 픽셀값은 해당 픽셀의 밝기정보, 색정보 등을 포함할 수 있다. 예를 들어, 입력 이미지가 그레이 스케일을 가지는 경우, 픽셀값은 1 화소를 8 비트로 표현하여 0과 255 사이의 범위를 가질 수 있다. 블랙은 0, 화이트는 255의 픽셀값을 가진다.
입력 이미지가 컬러인 경우, 픽셀값은 1 화소를 R(레드), G(그린), B(블루)의 각 색 성분마다 8 비트로 표현하여 각 색 성분에 대해 0과 255 사이의 범위를 가질 수 있다. 예를 들어 블랙은 (0, 0, 0), 화이트는 (255, 255, 255)의 픽셀값을 가진다. 예를 들어, 모든 픽셀들의 픽셀값이 10이라고 가정하면, 그룹(11)의 경우 픽셀 4개, 픽셀값을 모두 합한 40의 정보를 메모리에 저장한다.
만일, 프로세서(150)가 바로 스케일링을 수행하는 경우 너비 방향으로 축소된 이미지(510)를 생성할 수 있다. 이때, 그룹(11)은 픽셀(511)로, 그룹(12)은 픽셀(512)로 변환될 수 있다. 다만, 본 발명은 바로 스케일링 하지 않고, 제1복수의 그룹에 대한 정보들을 메모리(140)에 순차적으로 저장한다.
다음으로, 프로세서(150)는 나머지 하나의 제2변환 배수의 정수값에 대응하는 라인 개수만큼 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 제1복수의 그룹을 제2복수의 그룹으로 묶을 수 있다.
도 4에서 식별한 바와 같이, 높이 방향의 제2변환 배수는 1/1.85546875이다.
프로세서(150)는 제2변환 배수의 정수값에 대응하는 라인 개수만큼 제1복수의 그룹에 대한 정보를 순차적으로 읽는다. 이때, 프로세서(150)는 읽어오다가 변환 배수의 소수값의 합이 1씩 초과할 때 마다 정수값에 대응하는 라인 개수보다 하나 더 읽어 제2복수의 그룹을 생성한다.
도 5를 참조하면, 프로세서(150)는 제2변환 배수의 정수값 1인 바, 그룹(11)을 읽어 그룹(31)으로 묶을 수 있다.
다음은 그룹(11)의 소수값 0.85546875와 그룹(13)의 소수값 0.85546875을 합하면 1을 초과하므로(1.7109375), 정수값의 1보다 하나 추가한 2개의 그룹(13), 그룹(14)을 읽어 그룹(32)으로 묶을 수 있다.
다음은 앞서 소수값 1.7109375에 그룹(14)의 소수값 0.85546875을 합하면 또 1을 초과하므로(2.56640625), 정수값의 1보다 하나 추가한 2개의 그룹(15), 그룹(16)을 읽어 그룹(33)으로 묶을 수 있다.
이와 같이 묶으면, 26개의 제1복수의 그룹은 14개의 제2복수의 그룹으로 묶일 수 있다.
프로세서(150)는 제2복수의 그룹별로 각 그룹에 포함된 픽셀의 평균값을 식별하여 변환 이미지(30)를 생성할 수 있다.
예를 들어, 그룹(31)은 4개의 픽셀, 40 픽셀값인 바, 픽셀의 평균값인 10의 픽셀값을 가진다. 그룹(32)은 8개의 픽셀, 80 픽셀값인 바, 픽셀의 평균값인 10의 픽셀값을 가진다. 그룹(33)은 8개의 픽셀, 80 픽셀값인 바, 픽셀의 평균값인 10의 픽셀값을 가진다.
도 6은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 동작 모습을 도시한 도면이다.
도 6은 도 5를 참조하여 설명한 스케일링 과정을 메모리를 이용하여 수행하는 모습을 도시한다.
본 발명의 일 실시예에 따르면, 스케일링 장치(100)는 2 이상의 메모리(140)를 가진다. 도 6을 참조하면 메모리(140)는 17개의 메모리로 구성된다. 이때, 메모리의 개수 및 구조는 본 도면에 의해 한정되지 않는다.
도 5의 예시를 그대로 이어가면, 프로세서(150)는 입력 이미지(10)를 이루는 복수의 픽셀 중 너비 방향의 라인 별 포함된 픽셀들을 제1변환 배수에 맞게 그루핑(grouping)하여 제1복수의 그룹을 생성할 수 있다.
프로세서(150)는 입력 이미지(10)의 너비 방향의 라인 중 각 라인에 포함된 9개의 픽셀들을 제1변환 배수의 정수값이 4개만큼 하나의 그룹으로 묶고, 나머지 5개 픽셀을 또 하나의 그룹으로 묶을 수 있다.
이때, 프로세서(150)는 입력 이미지(10)의 너비 방향의 라인 별로 제1복수의 그룹에 대한 정보를 순차적으로 2 이상의 메모리(140)에 저장할 수 있다.
따라서, 프로세서(150)는 메모리 1에 라인 1을 구성하는 두 개의 그룹, 그룹(11), 그룹(12)에 대한 정보를 저장할 수 있고, 순차적으로 라인 별 그룹에 대한 정보를 저장할 수 있다. 도 6에 도시된 메모리는 17개이지만 13개의 라인으로 구성되는 바, 메모리 13까지 정보가 저장된다. 라인의 개수가 메모리 개수보다 많은 경우, 메모리는 링 버퍼와 같이 이용되어 다시 처음 메모리 순으로 저장될 수 있다.
제1복수의 그룹에 대한 정보가 순차적으로 메모리(140)에 저장된 경우, 프로세서(150)는 제2변환 배수에 기초하여 메모리(140)로부터 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 제1복수의 그룹을 제2복수의 그룹으로 묶을 수 있다.
따라서, 도 5와 관련하여 설명한 바와 같이, 제2변환 배수가 1/1.85546875인바, 메모리 1의 정보는 그대로 읽어오고, 제2변환 배수에 기초하여 메모리 2와 메모리 3을, 메모리 4와 메모리 5를, 메모리 6과 메모리 7을, 메모리 8과 메모리 9를, 메모리 10과 메모리 11을, 메모리 12와 메모리 13을 함께 읽을 수 있다.
이때, 프로세서(150)는 메모리들의 정보를 함께 읽어오면서 바로 연산하여 변환 이미지(30)의 픽셀값을 바로 출력할 수 있다.
도 7은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 업 스케일링 동작 모습을 도시한 도면이다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 입력 이미지(10)의 복수의 픽셀의 픽셀값을 식별하고, 각 픽셀과 이웃하는 적어도 하나의 픽셀 간 복수의 중간 픽셀값을 식별할 수 있다.
예를 들어, 입력 이미지(10)의 복수의 픽셀의 픽셀값이 각각 10, 20, 30인 경우를 본다. 픽셀값 10을 가지는 픽셀과 이웃하는 픽셀값 20을 가지는 픽셀 간의 복수의 중간 픽셀값을 구한다. 이때, 복수의 중간 픽셀값은 픽셀값의 평균값일 수 있고, 어느 하나의 픽셀값과 평균값 사이의 중간값을 포함할 수 있다. 즉, 10과 20 사이의 중간 픽셀값은 평균값인 15와, 10과 15의 중간값인 12와, 15와 20의 중간값인 17일 수 있다.
따라서, 10과 20사이의 복수의 중간 픽셀값은 12, 15, 17일 수 있다. 이때 추가할 픽셀 수에 따라 더욱 촘촘히 계산할 수 있다.
프로세서(150)는 추가할 픽셀의 개수 별로 픽셀값 및 중간 픽셀값을 포함하는 업 스케일링 정보를 2 이상의 메모리(140)에 저장할 수 있다.
예를 들어, 1개의 픽셀을 추가하려는 경우, 10과 15를 포함하는 업 스케일링 정보를 저장하고, 2개의 픽셀을 추가하려는 경우, 10, 12, 17를 포함하는 업 스케일링 정보를 저장할 수 있다. 이때, 프로세서(150)는 픽셀 수와, 대응하는 픽셀값을 나열하여 저장할 수 있다.
이때, 앞서 다운 스케일링과 관련하여 설명한 바와 같이, 메모리(140)는 라인 수에 따라 링 버퍼처럼 사용 가능하며, 메모리를 일정 개수별로 나눈 복수의 링 버퍼로 사용할 수도 있다.
본 발명의 일 실시예에 따르면, 업 스케일링 또한 다운 스케일링과 마찬가지로 변환 배수를 식별한다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 제1변환 배수에 기초하여 픽셀값 및 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제1업 스케일링 정보를 2 이상의 메모리에 저장할 수 있다.
도 7을 참조하면, 입력 이미지(710)는 3 픽셀*2 픽셀의 크기를 가지고, 변환 크기는 9 픽셀*6 픽셀의 크기를 가지고, 제1변환 배수에 기초하여 먼저 업 스케일링한다고 가정한다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 앞서 서술한 바와 같이 나눗셈 설계블록(151), 고정 소수점 설계블록(152)를 이용하여 제1변환 배수는 3배, 제2변환 배수는 3배임을 식별할 수 있다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 제1변환 배수에 기초하여 픽셀값 및 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제1업 스케일링 정보를 식별한다.
예를 들어, 입력 이미지(710)의 라인 1에는 픽셀값 10, 20, 30인 픽셀이 존재하고, 너비 방향으로 3배로 업 스케일링하기 위해서는 10과 20 픽셀 사이에는 4개의 중간 픽셀값이, 20과 30 픽셀 사이에는 2개의 중간 픽셀값이 필요하다. 이때, 추가할 픽셀 수를 식별하는 방법은 도 8을 참조하여 설명한다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 라인 1에서 10과 20 픽셀 사이의 4개의 중간 픽셀값 12, 15, 17, 18과, 20과 30 픽셀 사이의 2개의 중간 픽셀값 23, 27을 식별하고, 라인 2에서 20과 30 픽셀사이의 4개의 중간 픽셀값 22, 25, 27, 28과 30과 40 픽셀 사이의 2개의 중간 픽셀값 32, 37을 식별한다.
상기 프로세서(150)는 식별한 픽셀값들을 포함하는 제1업 스케일링 정보를 식별한다. 만일, 프로세서(150)가 바로 스케일링을 수행하는 경우 너비 방향으로 확대된 이미지(720)를 생성할 수 있다. 다만, 본 발명은 바로 스케일링 하지 않고, 제1업 스케일링 정보는 메모리(140)에 순차적으로 저장한다.
그 후, 프로세서(150)는 제1업 스케일링 정보 및 제2변환 배수에 기초하여 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제2업 스케일링 정보를 식별한다.
예를 들어, 중간 이미지(720)의 라인 1에는 픽셀값 10, 12, 15, 17, 18, 20, 23, 27, 30인 픽셀이 존재하고, 라인 2에는 픽셀값 20, 22, 25, 27, 28, 30, 32, 37, 40인 픽셀이 존재한다.
높이 방향으로 3배로 업 스케일링하기 위해서는 라인 1과 라인 2 사이에는 높이 방향으로 4개의 중간 픽셀값이 필요하다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 라인 1과 라인 2 사이의 4라인의 중간 픽셀값들을 포함하는 제2업 스케일링 정보를 식별하고, 제2업 스케일링 정보를 순차적으로 읽어 변환 이미지(730)를 생성한다.
도 8은 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 업 스케일링 시 변환 배수에 따라 추가할 픽셀 수에 관한 룩업 테이블을 도시한 도면이다.
도 8에 도시된 룩업 테이블(800)은 변환 배수에 따른 추가 픽셀의 수를 나타내고 있다.
본 발명의 일 실시예에 따르면, 프로세서(150)는 룩업 테이블(800)에 기초하여 제1변환 배수 및 제2변환 배수에 따라 추가할 픽셀 수를 식별할 수 있다.
예를 들어, 도 7의 입력 이미지(710)의 제1변환 배수는 3배, 제2변환 배수는 3배이다. 룩업 테이블(800)을 참조하면, 변환 배수가 3배인 경우, 초기 픽셀 간 추가 픽셀의 수는 4개, 이후 픽셀 간 추가 픽셀의 수는 2개이다.
따라서, 입력 이미지(710)를 너비 방향으로 업 스케일링 하는 경우, 라인 1에서 10과 20 사이에는 4개의 픽셀이, 20과 30 사이에는 2개의 픽셀이 추가로 필요하다.
다른 예로, 입력 이미지가 4 픽셀*4 픽셀의 크기를 가지고, 변환 크기는 11 픽셀*6 픽셀의 크기를 가져, 제1변환 배수는 2.75배, 제2변환 배수는 1.5배라고 가정한다.
룩업 테이블(800)을 참조하면, 변환 배수가 2.75배인 경우, 초기 픽셀 간 추가 픽셀의 수는 3개, 이후 픽셀 간 추가 픽셀의 수는 1개 또는 2개이다.
따라서, 초기 픽셀 간 추가 픽셀의 수는 3개이고, 이후 추가 픽셀은 변환 배수의 소수값의 합이 1을 초과하지 않으면 1개, 1을 초과하면 2개로 설정된다.
따라서, 너비 방향의 4픽셀 중 첫번째 픽셀과 두번째 픽셀 사이에는 3개의 추가 픽셀, 두번째 픽셀과 세번째 픽셀 사이에는 2개의 추가 픽셀, 세번째 픽셀과 네번째 픽셀 사이에는 2개의 추가 픽셀이 필요하다.
도 9는 본 발명의 일 실시예에 따른 이미지 스케일링 장치의 동작 모습을 도시한 도면이다.
도 9는 도 7을 참조하여 설명한 스케일링 과정을 메모리를 이용하여 수행하는 모습을 도시한다.
본 발명의 일 실시예에 따르면, 스케일링 장치(100)는 2 이상의 메모리(140)를 가진다. 도 9를 참조하면 메모리(140)는 17개의 메모리로 구성된다. 이때, 메모리의 개수 및 구조는 본 도면에 의해 한정되지 않는다.
도 7의 예시를 그대로 이어가면, 프로세서(150)는 입력 이미지(710)를 이루는 복수의 픽셀의 픽셀값 및 제1변환 배수에 기초하여 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제1업 스케일링 정보를 2 이상의 메모리(140)에 저장할 수 있다.
도 9를 참조하면, 프로세서(150)는 도 7의 입력 이미지(710)의 라인 별로 제1업 스케일링 정보를 메모리(140)에 순차적으로 저장한다.
프로세서(150)는 라인 1의 제1업 스케일링 정보{(5, 10, 12, 15, 17, 18), (3, 20, 23, 27), (1, 30)}를 메모리 1에 저장하고, 라인 2의 제1업 스케일링 정보{(5,20,22,25,27,28), (3,30,33,37), (1,40)}를 메모리 2에 저장한다.
앞서 서술한 바와 같이, 도 9에 도시된 메모리는 17개이지만 2개의 라인으로 구성되는 바, 메모리 2까지 제1업 스케일링 정보가 저장된다. 라인의 개수가 메모리 개수보다 많은 경우, 메모리는 링 버퍼와 같이 이용되어 다시 처음 메모리 순으로 저장될 수 있다.
제1업 스케일링 정보가 순차적으로 메모리(140)에 저장된 경우, 프로세서(150)는 제1업 스케일링 정보 및 제2변환 배수에 기초하여 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제2업 스케일링 정보를 2 이상의 메모리(140)에 저장할 수 있다.
프로세서(150)는 높이 방향으로 추가된 픽셀 수에 따라 늘어난 6개의 라인 각각에 대응하는 제2업 스케일링 정보를 메모리 3 내지 메모리 8에 저장할 수 있다.
프로세서(150)는 메모리 3 내지 메모리 8에 저장된 제2업 스케일링 정보를 순차적으로 읽어 변환 이미지(730)를 생성할 수 있다. 이때, 각 메모리에 제2업 스케일링 정보를 라인별로 저장해둠으로써 통신 장애 등으로 변환 이미지 생성 시 발생할 수 있는 정보 누락을 방지할 수 있다.
100: 스케일링 장치
110: 입력부
120: 통신부
130: 표시부
140: 메모리
150: 프로세서
151: 나눗셈 설계블록
152: 고정 소수점 설계블록

Claims (20)

  1. 이미지 스케일링 장치에 있어서,
    2 이상의 메모리;
    입력 이미지, 상기 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신하고,
    상기 입력 이미지의 크기 및 상기 변환 크기에 기초하여 너비에 대응하는 제1변환 배수 및 높이에 대응하는 제2변환 배수를 식별하고,
    상기 제1변환 배수 및 상기 제2변환 배수 중 어느 하나의 변환 배수의 정수값 및 소수값을 이용하여 상기 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나누어 순차적으로 상기 제1복수의 그룹에 대한 정보를 상기 2 이상의 메모리에 저장하고,
    상기 2 이상의 메모리에 저장된 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1변환 배수 및 상기 제2변환 배수 중 나머지 하나의 변환 배수의 정수값 및 소수값을 이용하여 상기 제1복수의 그룹을 제2복수의 그룹으로 묶은 후, 상기 제2복수의 그룹 각각에 포함된 픽셀의 평균값을 식별하여 변환 이미지를 생성하는 프로세서를 포함하는 이미지 스케일링 장치.
  2. 제1항에 있어서,
    상기 프로세서는 나눗셈 설계 블록 및 고정 소수점 설계 블록을 포함하고,
    상기 나눗셈 설계 블록은,
    상기 입력 이미지의 크기 및 상기 변환 크기를 나누어 획득한 몫과 나머지 중 상기 몫을 상기 제1변환 배수 및 상기 제2변환 배수의 정수값으로 식별하고,
    상기 고정 소수점 설계 블록은,
    상기 나머지 및 상기 변환 크기를 이용하여 상기 제1변환 배수 및 상기 제2변환 배수의 소수값을 식별하는 이미지 스케일링 장치.
  3. 제2항에 있어서,
    상기 고정 소수점 설계 블록은,
    (1) 상기 변환 크기가 상기 나머지의 2배보다 작은 경우, 상기 소수값의 최상 비트값을 1로 지정하고, 상기 나머지의 2배에서 상기 변환 크기를 뺀 값을 출력하고,
    또는 상기 변환 크기가 상기 나머지의 2배보다 작지 않은 경우, 상기 소수값의 최상 비트값을 0으로 지정하고, 상기 나머지를 2배한 값을 출력하고,
    (2) 상기 변환 크기가 이전 단계의 출력값의 2배보다 작은 경우, 상기 소수값의 다음 비트값을 1로 지정하고, 상기 이전 단계의 출력값의 2배에서 상기 변환 크기를 뺀 값을 출력하고,
    또는 상기 변환 크기가 상기 이전 단계의 출력값의 2배보다 작지 않은 경우, 상기 소수값의 다음 비트값을 0으로 지정하고, 상기 이전 단계의 출력값을 2배한 값을 출력하고,
    (3) 상기 소수값이 8개의 2진수 비트값을 가질 때까지 상기 (2) 단계를 반복하는 이미지 스케일링 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별 포함된 픽셀들을 상기 제1변환 배수에 따라 그루핑(grouping)하고, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별 포함된 픽셀들을 상기 제2변환 배수에 따라 그루핑하여 상기 제1복수의 그룹을 생성하는 이미지 스케일링 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별로, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별로 상기 제1복수의 그룹에 대한 정보를 상기 2 이상의 메모리에 저장하는 이미지 스케일링 장치.
  6. 제5항에 있어서,
    상기 제1복수의 그룹에 대한 정보는, 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 것을 특징으로 하는 이미지 스케일링 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 나머지 하나의 변환 배수에 기초하여 상기 2 이상의 메모리로부터 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 이미지 스케일링 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 제2복수의 그룹 중 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 상기 제2복수의 그룹에 대한 정보를 상기 2 이상의 메모리에 저장하는 이미지 스케일링 장치.
  9. 제4항 또는 제7항에 있어서,
    상기 프로세서는,
    상기 나머지 하나의 변환 배수의 정수값에 대응하는 라인 개수만큼 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶고,
    상기 묶이는 제2복수의 그룹의 개수만큼 상기 나머지 하나의 변환 배수의 소수값의 합을 구하고,
    상기 소수값의 합이 1씩 초과할 때 마다 상기 라인 개수보다 하나 더 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 이미지 스케일링 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 입력 이미지의 복수의 픽셀의 픽셀값을 식별하고,
    상기 각 픽셀과 이웃하는 적어도 하나의 픽셀 간 복수의 중간 픽셀값을 식별하고,
    상기 제1변환 배수에 기초하여 상기 픽셀값 및 추가할 픽셀 수에 대응하는 상기 중간 픽셀값을 포함하는 제1업 스케일링 정보를 상기 2 이상의 메모리에 저장하고,
    상기 제1업 스케일링 정보 및 상기 제2변환 배수에 기초하여 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제2업 스케일링 정보를 상기 2 이상의 메모리에 저장하고,
    상기 2 이상의 메모리에 저장된 상기 제2업 스케일링 정보를 순차적으로 읽어 상기 변환 이미지를 생성하는 이미지 스케일링 장치.
  11. 이미지 스케일링 장치에 의해 수행되는 이미지 스케일링 방법에 있어서,
    입력 이미지, 상기 입력 이미지의 크기에 대한 정보 및 변환 크기에 대한 정보를 수신하는 단계;
    상기 입력 이미지의 크기 및 상기 변환 크기에 기초하여 너비에 대응하는 제1변환 배수 및 높이에 대응하는 제2변환 배수를 식별하는 단계;
    상기 제1변환 배수 및 상기 제2변환 배수 중 어느 하나의 변환 배수의 정수값 및 소수값을 이용하여 상기 상기 입력 이미지의 복수의 픽셀을 제1복수의 그룹으로 나누어 순차적으로 상기 제1복수의 그룹에 대한 정보를 저장하는 단계;
    2 이상의 메모리에 저장된 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1변환 배수 및 상기 제2변환 배수 중 나머지 하나의 변환 배수의 정수값 및 소수값을 이용하여 상기 제1복수의 그룹을 제2복수의 그룹으로 묶은 후, 상기 제2복수의 그룹 각각에 포함된 픽셀의 평균값을 식별하여 변환 이미지를 생성하는 단계를 포함하는 이미지 스케일링 방법.
  12. 제11항에 있어서,
    상기 제1변환 배수 및 상기 제2변환 배수를 식별하는 단계는,
    상기 입력 이미지의 크기 및 상기 변환 크기를 나누어 획득한 몫과 나머지 중 상기 몫을 상기 제1변환 배수 및 상기 제2변환 배수의 정수값으로 식별하는 단계;
    상기 나머지 및 상기 변환 크기를 이용하여 상기 제1변환 배수 및 상기 제2변환 배수의 소수값을 식별하는 단계를 포함하는 이미지 스케일링 방법.
  13. 제12항에 있어서,
    상기 제1변환 배수 및 상기 제2변환 배수의 소수값을 식별하는 단계는,
    (1) 상기 변환 크기가 상기 나머지의 2배보다 작은 경우, 상기 소수값의 최상 비트값을 1로 지정하고, 상기 나머지의 2배에서 상기 변환 크기를 뺀 값을 출력하고,
    또는 상기 변환 크기가 상기 나머지의 2배보다 작지 않은 경우, 상기 소수값의 최상 비트값을 0으로 지정하고, 상기 나머지를 2배한 값을 출력하는 단계;
    (2) 상기 변환 크기가 이전 단계의 출력값의 2배보다 작은 경우, 상기 소수값의 다음 비트값을 1로 지정하고, 상기 이전 단계의 출력값의 2배에서 상기 변환 크기를 뺀 값을 출력하고,
    또는 상기 변환 크기가 상기 이전 단계의 출력값의 2배보다 작지 않은 경우, 상기 소수값의 다음 비트값을 0으로 지정하고, 상기 이전 단계의 출력값을 2배한 값을 출력하는 단계;
    (3) 상기 소수값이 8개의 2진수 비트값을 가질 때까지 상기 (2) 단계를 반복하는 단계를 포함하는 이미지 스케일링 방법.
  14. 제11항에 있어서,
    상기 제1복수의 그룹에 대한 정보를 저장하는 단계는,
    상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별 포함된 픽셀들을 상기 제1변환 배수에 따라 그루핑(grouping)하고, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별 포함된 픽셀들을 상기 제2변환 배수에 따라 그루핑하여 상기 제1복수의 그룹을 생성하는 단계를 포함하는 이미지 스케일링 방법.
  15. 제14항에 있어서,
    상기 제1복수의 그룹에 대한 정보를 저장하는 단계는,
    상기 어느 하나의 변환 배수가 상기 제1변환 배수인 경우 상기 입력 이미지의 너비 방향의 라인 별로, 상기 어느 하나의 변환 배수가 상기 제2변환 배수인 경우 상기 입력 이미지의 높이 방향의 라인 별로 상기 제1복수의 그룹에 대한 정보를 저장하는 단계를 포함하는 이미지 스케일링 방법.
  16. 제15항에 있어서,
    상기 제1복수의 그룹에 대한 정보는, 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 것을 특징으로 하는 이미지 스케일링 방법.
  17. 제11항에 있어서,
    상기 변환 이미지를 생성하는 단계는,
    상기 나머지 하나의 변환 배수에 기초하여 저장된 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계를 포함하는 이미지 스케일링 방법.
  18. 제17항에 있어서,
    상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계는,
    상기 제2복수의 그룹 중 각 그룹에 포함된 픽셀의 수와 각 그룹에 포함된 픽셀의 픽셀값의 합의 정보를 포함하는 상기 제2복수의 그룹에 대한 정보를 저장하는 단계를 포함하는 이미지 스케일링 방법.
  19. 제14항 또는 제18항에 있어서,
    상기 제2복수의 그룹으로 묶는 단계는,
    상기 나머지 하나의 변환 배수의 정수값에 대응하는 라인 개수만큼 상기 제1복수의 그룹에 대한 정보를 순차적으로 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계;
    상기 묶이는 제2복수의 그룹의 개수만큼 상기 나머지 하나의 변환 배수의 소수값의 합을 구하는 단계;
    상기 소수값의 합이 1씩 초과할 때 마다 상기 라인 개수보다 하나 더 읽어오면서 상기 제1복수의 그룹을 상기 제2복수의 그룹으로 묶는 단계를 포함하는 이미지 스케일링 방법.
  20. 제11항에 있어서,
    상기 입력 이미지의 복수의 픽셀의 픽셀값을 식별하는 단계;
    상기 각 픽셀과 이웃하는 적어도 하나의 픽셀 간 복수의 중간 픽셀값을 식별하는 단계;
    상기 제1변환 배수에 기초하여 상기 픽셀값 및 추가할 픽셀 수에 대응하는 상기 중간 픽셀값을 포함하는 제1업 스케일링 정보를 저장하는 단계;
    상기 제1업 스케일링 정보 및 상기 제2변환 배수에 기초하여 추가할 픽셀 수에 대응하는 중간 픽셀값을 포함하는 제2업 스케일링 정보를 저장하는 단계;
    저장된 상기 제2업 스케일링 정보를 순차적으로 읽어 상기 변환 이미지를 생성하는 단계를 포함하는 이미지 스케일링 방법.
KR1020220081126A 2022-07-01 2022-07-01 이미지 스케일링 장치 및 이미지 스케일링 방법 KR102611423B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220081126A KR102611423B1 (ko) 2022-07-01 2022-07-01 이미지 스케일링 장치 및 이미지 스케일링 방법
PCT/KR2023/009230 WO2024005590A1 (ko) 2022-07-01 2023-06-30 이미지 스케일링 장치 및 이미지 스케일링 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220081126A KR102611423B1 (ko) 2022-07-01 2022-07-01 이미지 스케일링 장치 및 이미지 스케일링 방법

Publications (1)

Publication Number Publication Date
KR102611423B1 true KR102611423B1 (ko) 2023-12-07

Family

ID=89163260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220081126A KR102611423B1 (ko) 2022-07-01 2022-07-01 이미지 스케일링 장치 및 이미지 스케일링 방법

Country Status (2)

Country Link
KR (1) KR102611423B1 (ko)
WO (1) WO2024005590A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657145B1 (ko) * 2005-02-24 2006-12-13 매그나칩 반도체 유한회사 스케일러를 구비한 이미지센서 및 이미지센서의 이미지 스케일링 방법
KR20150140729A (ko) * 2013-04-08 2015-12-16 퀄컴 인코포레이티드 비트 심도에 기초한 샘플 적응형 오프셋 스케일링
KR20180083861A (ko) * 2015-11-19 2018-07-23 퀄컴 인코포레이티드 디스플레이 스트림 압축 (dsc) 에서의 고정 소수점 근사를 위한 시스템 및 방법
KR102348795B1 (ko) * 2020-11-02 2022-01-07 주식회사 바움 부동 소수점 방식에서 고정 소수점 방식으로의 변환 수행시 비트 폭 최적화 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180007680A (ko) * 2016-07-13 2018-01-23 한국전자통신연구원 영상 부호화/복호화 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100657145B1 (ko) * 2005-02-24 2006-12-13 매그나칩 반도체 유한회사 스케일러를 구비한 이미지센서 및 이미지센서의 이미지 스케일링 방법
KR20150140729A (ko) * 2013-04-08 2015-12-16 퀄컴 인코포레이티드 비트 심도에 기초한 샘플 적응형 오프셋 스케일링
KR20180083861A (ko) * 2015-11-19 2018-07-23 퀄컴 인코포레이티드 디스플레이 스트림 압축 (dsc) 에서의 고정 소수점 근사를 위한 시스템 및 방법
KR102348795B1 (ko) * 2020-11-02 2022-01-07 주식회사 바움 부동 소수점 방식에서 고정 소수점 방식으로의 변환 수행시 비트 폭 최적화 방법

Also Published As

Publication number Publication date
WO2024005590A1 (ko) 2024-01-04

Similar Documents

Publication Publication Date Title
US5546105A (en) Graphic system for displaying images in gray-scale
US20060188163A1 (en) Method and apparatus for anti-aliasing using floating point subpixel color values and compression of same
CN100437742C (zh) 图像处理及传输设备、显示器、图像处理及传输方法
CN112506880B (zh) 数据处理方法及相关设备
US11983849B2 (en) Image filling method and apparatus, device, and storage medium
KR20210031600A (ko) 데이터 압축 시스템 및 데이터 사상 방법
US20210227173A1 (en) Image data processing method, data transmission apparatus, image display method and storage medium
CN112118449B (zh) 一种图像压缩与解压缩的方法及装置
US20150235618A1 (en) Image processing apparatus capable of inputting image data
US8854385B1 (en) Merging rendering operations for graphics processing unit (GPU) performance
JP2010191026A (ja) 外部表示装置に応じた画像データを出力する端末、プログラム及び方法
KR102611423B1 (ko) 이미지 스케일링 장치 및 이미지 스케일링 방법
KR20040107614A (ko) Mpd에 색재현을 위한 색신호 처리장치 및 그 방법
KR20190043662A (ko) 영상 프로세서, 이를 포함하는 표시 장치, 및 표시 장치의 구동 방법
CN103295545A (zh) 图像显示装置及其驱动方法、灰度转换程序及装置
CN114493983A (zh) 字符数据的压缩方法、装置、存储介质及电子设备
US8630488B2 (en) Creating a duotone color effect using an ICC profile
JP6346356B1 (ja) 画像処理装置及び画像処理方法
JP2014192541A (ja) 色変換装置、色変換方法、及び電子機器
CN114049249B (zh) 图像转换的方法及相关装置
JP6448410B2 (ja) データ変換装置およびその制御方法、プログラム
US11900847B2 (en) Display apparatus and method of driving the same
CN115862506B (zh) 点屏方法、图像信号处理装置和存储介质
JP2005167809A (ja) データ圧縮装置、圧縮データ復号装置、データ圧縮方法、データ圧縮プログラムおよび画像表示システム
JP6711003B2 (ja) データ処理装置およびプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant