KR20170079852A - 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템 - Google Patents

이미지 압축 품질을 최적화 하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20170079852A
KR20170079852A KR1020150190859A KR20150190859A KR20170079852A KR 20170079852 A KR20170079852 A KR 20170079852A KR 1020150190859 A KR1020150190859 A KR 1020150190859A KR 20150190859 A KR20150190859 A KR 20150190859A KR 20170079852 A KR20170079852 A KR 20170079852A
Authority
KR
South Korea
Prior art keywords
quality
psnr
image
compression
range
Prior art date
Application number
KR1020150190859A
Other languages
English (en)
Other versions
KR101832418B1 (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 KR1020150190859A priority Critical patent/KR101832418B1/ko
Priority to CN201610169486.0A priority patent/CN106937111B/zh
Priority to US15/150,868 priority patent/US10070133B2/en
Publication of KR20170079852A publication Critical patent/KR20170079852A/ko
Application granted granted Critical
Publication of KR101832418B1 publication Critical patent/KR101832418B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

이미지 압축 품질을 최적화 하기 위한 방법 및 시스템이 개시된다. 컴퓨터로 구현되는 입력 이미지를 압축하기 위한 방법은, 상기 입력 이미지의 압축을 위해 요구되는 압축 품질을 확인하는 단계; 상기 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는 단계; 및 상기 최적화 품질로 인코딩 된 이미지 파일을 상기 입력 이미지에 대한 압축 파일로 출력하는 단계를 포함한다.

Description

이미지 압축 품질을 최적화 하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR OPTIMIZATION OF IMAGE ENCODE QUALITY}
아래의 설명은 디지털 이미지를 압축하기 위한 기술에 관한 것이다.
디지털 이미지는 화소(picture element) 또는 픽셀(pixel)이라고 하는 유한한 디지털 값 세트로 표현되는 컬러 또는 흑백 이미지일 수 있다. 디지털 이미지는 정지 이미지 또는 화상은 물론, 움직임을 묘사하는 방식으로 디스플레이 되는 정지 영상(still image)의 시퀀스인 비디오 이미지를 표현할 수 있다. 이미지 압축은 디지털 이미지에 데이터 압축을 적용하는 것이다.
종래의 이미지 압축 기법들은 일반적으로 압축 프로세스에서 데이터가 버려지는지에 따라 "무손실(lossless)" 또는 "손실(lossy)"이라고 말한다. 종래의 무손실 압축(lossless compression) 기법의 예로는 허프만 인코딩(Huffman encoding), 산술 인코딩(arithmetic encoding), 및 Fano-Shannon 인코딩이 있다. 무손실 압축(lossless compression)의 경우, 압축 해제 프로세스(decompression process)가 완전한 원본 이미지를 재현한다. 이와 반대로, 손실 압축(lossy compression)은 얼마간의 데이터가 버려지기 때문에 속도 및 저장의 측면에서 볼 때 무손실 압축보다 더 많은 효율성을 제공한다. 손실 압축은 비디오 또는 상용 이미지 처리에서 종종 사용된다. 2가지 널리 사용되는 손실 이미지 압축 표준으로는 JPEG(Joint Photographic Experts Group) 압축 방법 및 MPEG(Motion Picture Experts Group) 압축 방법이 있다.
JPEG의 경우는 정지영상의 압축뿐만 아니라, 전송대역이 제한된 공중 전화망 등을 이용한 화상 전화기에서 사용자 간에 영상을 전송하기 위한 수단으로도 사용되고 있다.
JPEG 압축 방법의 일 예로 한국공개특허 제10-2002-0035726호(공개일 2002년 05월 15일) "정지 영상 압축 및 복원 방법"에는 입력 영상신호를 웨이브렛 변환(Wavelet Transform)을 이용하여 압축하는 기술이 개시되어 있다.
기존에는 디지털 이미지를 압축할 때 품질(quality)을 기준으로 인코딩을 수행한다. 예를 들어, 디지털 이미지의 품질을 사용자가 요구하는 품질(예컨대, 상, 중, 하, 88, 90, 92 등)로 인코딩 한다.
품질을 기준으로 디지털 이미지에 대한 인코딩을 수행할 때 인코딩 된 적이 없는 로우 데이터의 경우 높은 품질일수록 원본과 유사하나, 이미 한번 인코딩 된 데이터의 경우 품질을 아무리 높여도 파일 사이즈만 커질 뿐 더 좋은 품질을 보장할 수 없다.
이미지 파일을 압축할 때 이미지 압축 품질을 만족하면서 동시에 파일 사이즈를 줄일 수 있는 이미지 압축 품질 최적화 방법 및 시스템을 제공한다.
디지털 이미지에 대해 요구되는 품질을 PSNR(Peak Signal to Noise Ratio)을 이용하여 최적화 할 수 있는 이미지 압축 품질 최적화 방법 및 시스템을 제공한다.
요구되는 품질과 유사한 품질 범위 내에서 목표 PSNR을 만족하는 품질 값을 찾을 수 있는 이미지 압축 품질 최적화 방법 및 시스템을 제공한다.
최적화 된 품질을 찾기 위한 인코딩 과정에서 중복되는 연산을 제거하여 속도를 향상시킬 수 있는 이미지 압축 품질 최적화 방법 및 시스템을 제공한다.
컴퓨터로 구현되는 입력 이미지를 압축하기 위한 방법으로서, 상기 입력 이미지의 압축을 위해 요구되는 압축 품질을 확인하는 단계; 상기 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는 단계; 및 상기 최적화 품질로 인코딩 된 이미지 파일을 상기 입력 이미지에 대한 압축 파일로 출력하는 단계를 포함하는 방법을 제공한다.
컴퓨터와 결합되는 컴퓨터 프로그램에 있어서, 입력 이미지의 압축을 위해 요구되는 압축 품질을 확인하는 단계; 상기 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는 단계; 및 상기 최적화 품질로 인코딩 된 이미지 파일을 상기 입력 이미지에 대한 압축 파일로 출력하는 단계를 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램을 제공한다.
입력 이미지의 압축을 위해 요구되는 압축 품질을 확인하는 확인부; 상기 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는 탐색부; 및 상기 최적화 품질로 인코딩 된 이미지 파일을 상기 입력 이미지에 대한 압축 파일로 출력하는 출력부를 포함하는 것을 특징으로 하는 시스템을 제공한다.
디지털 이미지에 요구되는 품질을 기준으로 인코딩을 수행하지 않고 PSNR을 기준으로 인코딩을 수행할 수 있는 이미지 압축 기술을 제공할 수 있다.
디지털 이미지에 대해 요구되는 품질을 PSNR을 이용하여 최적화 하고 최적화 된 품질로 디지털 이미지를 압축함으로써 이미지 압축 품질을 만족하면서 동시에 파일 사이즈를 줄일 수 있다.
요구되는 품질과 유사한 품질 범위 내에서 목표 PSNR을 만족하는 품질 값을 찾음으로써 최적화 된 품질을 찾기 위한 인코딩 횟수를 감소시킬 수 있다.
최적화 된 품질을 찾기 위한 인코딩 과정에서 불필요한 연산이나 중복되는 연산을 제거함으로써 품질 최적화 속도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블럭도이다.
도 3은 본 발명의 일 실시예에 있어서 품질 최적화를 통한 이미지 압축 방법을 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 있어서 최적화 품질을 탐색하는 과정을 도시한 순서도이다.
도 5 내지 도 8은 목표 PSNR을 만족하는 최적화 품질을 찾는 과정을 예시적으로 도시한 것이다.
도 9 내지 도 14는 품질 최적화를 위한 인코딩 과정을 예시적으로 도시한 것이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 실시예들은 이미지 파일의 압축을 위한 방법들과 시스템들에 관련된 것이며, 더욱 상세하게는 이미지 압축 품질을 최적화 함으로써 결과적으로 파일 사이즈를 감소시킬 수 있는 성능 최적화 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 이미지 압축 품질 최적화를 달성하고 이를 통해 파일 사이즈, 처리 효율, 처리 속도 등의 측면에 있어서 상당한 장점들을 달성한다.
데이터 압축을 적용하기 위한 이미지는 화소(picture element) 또는 픽셀(pixel)이라고 하는 유한한 디지털 값 세트로 표현된 디지털 이미지로, 사진과 같은 정지 영상은 물론, 동영상 등 모든 유형의 영상이 적용 대상에 포함될 수 있다.
JPEG(Joint Photographic Experts Group) 포맷은 인터넷과 같은 네트워크들 상에서 이미지들을 저장 및 전송하기 위해 자주 사용되는 포맷이다. PNG(Portable Network Graphics), GIF(Graphics Interchange Format), TIFF(Tagged Image File Format)와 같은 다른 이미지 포맷들 또한 인터넷 환경에서 자주 사용된다.
JPEG는 손실 압축(lossy compression) 방법으로 간주되는 반면, PNG와 GIF는 무손실 압축(lossless compression) 방법이다. TIFF는 경우에 따라 손실 압축 또는 무손실 압축을 이용할 수 있다.
이하에서는 손실 압축인 JPEG 압축 방법을 대표적인 예로 하여 설명하나, 이에 한정되는 것은 아니며 이미지 압축 품질에 대한 최적화 요구가 있는 다른 압축 방법 또한 적용 가능하다.
도 1 내지 도 2는 실시예들에 따른 시스템을 도시한 것이고, 도 3 내지 도 14는 JPEG 압축 방법의 실시예들의 다양한 양태들을 도시한 것이다.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다. 도 1은 도 3 내지 도 14와 관련하여 설명되는 실시예들이 구현될 수 있는 컴퓨터 시스템(100)을 도시한 것이다.
도 1에 도시한 바와 같이, 컴퓨터 시스템(100)은 명령어들을 실행하고 픽셀 정보를 포함하는 정보를 처리하기 위한 임의의 컴퓨터 또는 전자 프로세서를 포함할 수 있는 프로세서(110)를 포함한다.
프로세서(110)는 명령어들의 임의의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(110)는 예를 들어 컴퓨터, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스, 엔터테인먼트 플랫폼, 서버, 카메라 또는 다른 이미지 캡처 장치, 서버 팜, 클라우드 컴퓨터 등에 포함될 수 있다. 프로세서(110)는 버스(140)를 통해 메모리(120)에 접속될 수 있다.
메모리(120)는 컴퓨터 시스템(100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(120)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(120)는 컴퓨터 시스템(100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(120)는 예를 들어 이미지 압축을 위한 이미지 처리 모듈의 명령어들을 포함하는 컴퓨터 시스템(100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(110)를 포함할 수 있다.
버스(140)는 컴퓨터 시스템(100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(140)는 예를 들어 컴퓨터 시스템(100)의 컴포넌트들 사이에, 예를 들어 프로세서(110)와 메모리(120) 사이에 데이터를 운반할 수 있다. 버스(140)는 컴퓨터 시스템(100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(130)는 (예를 들어, 메모리(120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(130)는 컴퓨터 시스템(100) 내의 프로세서(110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(130)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(150)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 압축될 이미지들이 입출력 인터페이스(150)를 통해 수신될 수 있다.
네트워크 인터페이스(160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 압축될 이미지들은 네트워크 인터페이스(160)를 통해 수신될 수 있다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템(100)의 프로세서(110)가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템(100)이 수행할 수 있는 이미지 압축 방법의 예를 도시한 순서도이다.
도 2에 도시된 바와 같이, 프로세서(110)는 확인부(211), 탐색부(212), 및 출력부(213)를 포함할 수 있다. 이러한 프로세서(110)의 구성요소들은 도 3의 이미지 압축 방법이 포함하는 단계들(S310 내지 S330)을 수행하도록 컴퓨터 시스템(100)을 제어할 수 있으며, 이러한 제어를 위해 메모리(120)가 포함하는 운영체제와 적어도 하나의 프로그램의 코드를 실행하도록 구현될 수 있다.
이미지 압축 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
단계(S310)에서 확인부(211)는 입력 이미지에 요구되는 압축 품질을 확인한다. 입력 이미지는 디지털화 된 사진 또는 다른 디지털 이미지일 수 있다. 입력 이미지는 메모리 내에 픽셀들의 논리적 어레이로서 표현될 수 있다. 이때, 압축 품질은 입력 이미지를 압축시키기 위해 사용자로부터 입력 받거나 혹은 시스템에 사전 설정된 품질 값일 수 있다. 압축 품질은 예를 들어 상, 중, 하와 같이 복수의 레벨 중 어느 하나의 레벨이 입력되거나 사전에 정의된 수치 범위(예컨대, 62~100) 내에서 특정 수치의 압축 비율이 입력될 수 있다. 다시 말해, 확인부(211)는 입력 이미지에 대하여 사용자로부터 입력 받은 품질 혹은 시스템에 사전 설정된 품질을 확인할 수 있다.
단계(S320)에서 탐색부(212)는 입력 이미지에 요구되는 압축 품질을 최적화 하기 위한 과정으로, 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는다. 탐색부(212)는 입력 이미지에 대해 단계(S310)에서 확인된 압축 품질로 인코딩을 수행하는 것이 아니라, 압축 품질과 유사한 품질이면서 동시에 PSNR이 목표치 이상이 되는 품질을 찾아 인코딩을 수행한다. 최적화 품질은 압축 품질보다 낮은 품질 범위 내에서 찾는다. 최적화 품질을 찾기 위한 기준이 되는 목표 PSNR은 실험적으로 도출된 값으로, 특정된 하나의 수치 값(예컨대, 45.2)으로 결정되거나 또는 일정 범위의 수치를 포괄하는 범위 값(예컨대, 44~46)으로 결정될 수 있다. 다시 말해, 목표 PSNR이 특정된 하나의 수치값으로 설정되는 경우 목표 PSNR에 해당되는 수치값 이상이 되는 품질값을 최적화 품질로 결정할 수 있고, 한편 목표 PSNR이 특정된 수치 범위로 설정되는 경우 목표 PSNR에 해당되는 수치 범위 이내에 속하는 품질값을 최적화 품질로 결정할 수 있다. 최적화 품질의 결정에 있어 상기한 결정 방식들로만 한정되는 것은 아니며, 압축 파일 크기를 감소시키거나 인코딩 속도를 향상시킬 수 있는 방식이라면 얼마든지 적용 가능하다. 일례로, 목표 PSNR이 특정된 하나의 수치값으로 설정되는 경우 목표 PSNR에 해당되는 수치값으로부터 기 설정된 범위 내에 존재하는 품질값을 최적화 품질로 결정하는 것 또한 가능하다. 이러한 최적화 품질 결정 방식은 목표 PSNR이 특정된 수치 범위로 설정되는 경우와 동일한 결과를 도출할 수 있다.
PSNR은 신호가 가질 수 있는 최대 전력에 대한 잡음의 전력을 나타내는 것으로, 화질 정보를 평가할 때 사용될 수 있다. PSNR은 서로 다른 두 개의 이미지가 얼마나 유사한지를 나타내는 지표로 사용될 수 있고, 이때 값이 클수록 이미지 간 유사도가 높다고 할 수 있다.
PSNR은 예를 들어 수학식 1과 같이 정의될 수 있다.
Figure pat00001
여기서, y'는 원 영상의 잡음 전력 비율, y"는 비교 영상의 잡음 전력 비율, k는 이미지 넓이를 의미한다.
PSNR은 서로 다른 영상을 비교하는데 유의미한 지표이나, PSNR이 일정 레벨 이하인 경우 사람의 육안으로 두 영상의 차이를 구분하지 못한다는 점에서 사람이 구분하는 품질과 동일한 지표는 아니다고 할 수 있다. 따라서, 사람의 눈으로 품질이 구분되지 않는 PSNR(즉, 목표 PSNR)을 결정하고 입력 이미지에 요구되는 압축 품질을 목표 PSNR을 만족하는 품질로 낮춤으로써 품질 최적화를 통해 파일 사이즈를 감소시킬 수 있다.
목표 PSNR은 통제된 실험 조건 하에서의 주관적 평가, 영상처리 기법을 이용한 정량 평가 등의 각종 실험을 통해 도출 및 결정될 수 있다. 주관적 평가는 예를 들어 주관적 시험으로 동일한 실험 조건에서 사용자들에게 두 이미지를 보여주고 사용자들이 육안으로 확인한 화질 차이에 대한 주관적 점수를 입력할 수 있고, 이에 표준화된 주관적 평가방식(ITU-R, VQEG Continuous Quality Evaluation)을 이용하여 사용자들의 주관적 점수를 취합하여 이미지 간 화질 차이를 측정할 수 있다. 정량 평가는 영상처리 기법을 통해 정량화된 화질 평가 지수를 획득하는 것으로, 예를 들어 두 이미지 간의 명암도 변화량, 고주파 정보 등을 나타내는 특징 벡터를 추출하여 이미지 간 화질 차이를 측정할 수 있다.
본 명세서에서는 이미지 품질에 대한 비교지표로 PSNR을 이용하는 것으로 설명하나, 이에 한정되는 것은 아니며, PSNR 이외에도 요청되는 품질과 충분히 유사한 퀄리티를 찾을 수 있는 다양한 비교지표를 이용할 수 있다.
단계(S320)에서 탐색부(212)는 JPEG 파일을 읽어 이미지 변환 없이 압축 품질을 기준으로 설정된 품질 범위 내의 각각의 품질 값으로 재인코딩 하면서 목표 PSNR을 만족하는 최적의 품질 값을 찾을 수 있다. 최적화 품질을 찾기 위한 품질 범위를 결정하는 과정과 품질 범위 내에서 목표 PSNR을 만족하는 최적화 품질을 찾는 과정은 아래에서 보다 구체적으로 설명하기로 한다.
단계(S330)에서 출력부(213)는 입력 이미지에 대해 단계(S320)에서 찾은 최적화 품질로 인코딩 된 이미지 파일을 최종 압축 파일로 적용하여 출력할 수 있다. 따라서, 입력 이미지에 요구되는 압축 품질을 목표 PSNR을 만족하는 품질로 낮춰 입력 이미지를 인코딩 함으로써 시각적으로는 입력 이미지에 요구되는 압축 품질과 거의 유사한 품질의 이미지를 획득할 수 있고 이와 동시에 압축 파일 사이즈를 감소시킬 수 있다.
도 4는 본 발명의 일 실시예에 있어서 품질 검색 방법의 일례를 도시한 순서도이다. 품질 검색 방법은 도 3을 통해 앞에서 설명한 압축 방법의 단계(S320)에 해당되는 것으로, 도 2와 관련하여 탐색부(212)에 의해 각각의 단계가 수행될 수 있다. 품질 검색 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
단계(S1)에서는 최적화 품질을 찾기 위한 품질 범위의 최대값과 최소값을 설정한다. 최대값은 단계(S310)에서 확인된, 입력 이미지에 요구되는 압축 품질로 설정한다. 최소값은 최대값으로 설정된 압축 품질보다 낮은 품질 값이 설정되며, 일 예로는 이미지 압축에 적용 가능한 품질 값 중 가장 작은 값을 품질 범위의 최소값으로 설정할 수 있다. 이미지 압축에 적용 가능한 품질 범위가 62~100이고 사용자가 요구하는 품질이 94라고 가정할 때, 최적화 품질을 찾기 위한 품질 범위는 62~94로 설정될 수 있다. 다른 예로는 실험적으로 도출된 유사 품질 범위를 이용하여 품질 범위의 최소값을 설정할 수 있다. 실험적으로 대부분의 결과 결과가 요구되는 품질의 -4 이내에서 최적화 품질이 결정되고 사용자가 요구하는 품질이 94라고 가정할 때, 최적화 품질을 찾기 위한 품질 범위는 90~94로 설정될 수 있다. 다시 말해, 다른 이미지들의 압축 시 최적화 품질로 결정된 평균치를 고려하여 품질 범위의 최소값을 설정할 수 있다. 또 다른 예로는 검색 구간의 최적화를 위해 2의 지수 승 또는 2의 배수로 품질 범위의 최소값을 설정할 수 있다. 예를 들어, 사용자가 요구하는 품질이 94라고 가정할 때 품질 범위의 최소값이 요구되는 품질의 -2, -4, -8, ...으로 설정됨에 따라 최적화 품질을 찾기 위한 품질 범위는 92~94, 또는 90~94, 또는 86~94, ...과 같이 설정될 수 있다.
단계(S2)에서는 단계(S1)에서 설정된 품질 범위의 최대값에 해당되는 품질로 입력 이미지를 인코딩 한다.
단계(S3)에서는 최대값에 해당되는 품질로 인코딩 된 이미지 파일을 디코딩 한다. PSNR을 추출하기 위해서 디코딩 과정이 필요하다.
단계(S4)에서는 현재 설정된 품질 범위의 최대값과 최소값을 이용하여 평균값을 계산한다. 최적화 품질을 찾는 과정으로 이진 탐색(binary search)을 적용할 수 있으며, 이를 위하여 평균값을 계산한다.
단계(S5)에서는 단계(S4)에서 계산된 평균값이 현재 설정된 품질 범위의 최소값과 동일한지 여부를 판단한다. 즉, 설정된 품질 범위의 최소값과 최대값이 같은지 여부를 확인한다.
단계(S6)에서는 단계(S5)의 판단 결과 단계(S4)에서 계산된 평균값이 현재 설정된 품질 범위의 최소값과 동일하지 않은 경우 단계(S4)에서 계산된 평균값에 해당되는 품질로 입력 이미지를 인코딩 한다.
단계(S7)에서는 평균값에 해당되는 품질로 인코딩 된 이미지 파일을 디코딩 한다. PSNR을 추출하기 위해서 디코딩 과정이 필요하다.
단계(S8)에서는 단계(S3)에서 디코딩 된 이미지와 단계(S7)에서 디코딩 된 이미지를 이용하여 PSNR을 추출한다. PSNR은 상기한 수학식 1을 통해 확인할 수 있다.
단계(S9)에서는 단계(S8)에서 추출된 PSNR이 사전에 설정된 목표 PSNR 이상인지 여부를 판단한다.
단계(S10)에서는 단계(S9)의 판단 결과 단계(S8)에서 추출된 PSNR이 목표 PSNR 이상이면 품질 범위의 최대값을 단계(S4)에서 계산된 평균값으로 변경한다.
단계(S11)에서는 단계(S9)의 판단 결과 단계(S8)에서 추출된 PSNR이 목표 PSNR보다 작으면 품질 범위의 최소값을 단계(S4)에서 계산된 평균값으로 변경한다.
상기한 과정(S4~S11)의 반복을 통해 품질 범위의 평균값으로 각각 인코딩 하면서 목표 PSNR 이상이 되는 품질 값을 찾을 수 있다.
단계(S12)에서는 상기한 과정(S4~S11)을 반복하면서 갱신된 품질 범위의 평균값이 최소값과 같으면 해당 평균값을 최적화 품질로 결정하고 입력 이미지에 대한 인코딩을 완료한다. 이때, 평균값이 최소값과 같다는 것은 갱신된 품질 범위의 최소값과 최대값이 같다는 것을 의미한다.
한편, 품질 범위가 설정된 후 최소값에서 PSNR를 추출하여 최소값에서의 PSNR이 목표 PSNR 이상이 되는 경우 해당 최소값으로 품질을 바로 결정하는 것 또한 가능하며, 이를 통해 품질 검색 속도를 더욱 향상시킬 수 있다. 다른 예로, 단계(S8)에서 추출된 PSNR이 목표 PSNR보다 작으면 품질 범위의 최소값을 단계(S4)에서 계산된 평균값으로 변경한 후 상기한 과정(S4~S8)을 반복하고 목표 PSNR 이상이 되면 단계(S4)에서 계산된 평균값을 최적화 품질로 결정하고 입력 이미지에 대한 인코딩을 완료할 수 있다.
따라서, 품질 범위에 해당되는 각각의 품질값으로 입력 이미지를 인코딩 하면서 입력 이미지에 요구되는 압축 품질을 목표 PSNR을 만족하는 품질로 최적화 할 수 있다.
도 5 내지 도 8은 목표 PSNR을 만족하는 최적화 품질을 찾는 과정을 예시적으로 도시한 것이다.
일례로 도 5를 참조하면 이미지 압축에 적용 가능한 품질 범위가 62~100이고 사용자가 요구하는 품질이 94라고 가정할 때, 최적화 품질을 찾기 위한 품질 범위의 최대값은 94가 되고 최소값은 62가 될 수 있다.
62~94의 품질 범위에서 목표 PSNR을 만족하는 최적화 품질을 찾을 수 있다. 예를 들어, 도 6에 도시한 바와 같이 목표 PSNR을 45.2로 가정한다.
Step1에서 품질 범위 62~94의 평균값에 해당되는 78의 품질로 입력 이미지를 인코딩한 후 디코딩을 거쳐 PSNR을 추출한다. 78의 품질에 대한 PSNR이 32인 경우 목표 PSNR 45.2보다 작기 때문에 품질 범위의 최소값을 78로 갱신하고 품질 탐색 과정을 계속한다.
Step2에서 품질 범위 78~94의 평균값에 해당되는 86의 품질로 입력 이미지를 인코딩한 후 디코딩을 거쳐 PSNR을 추출한다. 86의 품질에 대한 PSNR이 38인 경우 목표 PSNR 45.2보다 작기 때문에 품질 범위의 최소값을 86으로 갱신하고 품질 탐색 과정을 계속한다.
Step3에서 품질 범위 86~94의 평균값에 해당되는 90의 품질로 입력 이미지를 인코딩한 후 디코딩을 거쳐 PSNR을 추출한다. 90의 품질에 대한 PSNR이 44.1인 경우 목표 PSNR 45.2보다 작기 때문에 품질 범위의 최소값을 90으로 갱신하고 품질 탐색 과정을 계속한다.
Step4에서 품질 범위 90~94의 평균값에 해당되는 92의 품질로 입력 이미지를 인코딩한 후 디코딩을 거쳐 PSNR을 추출한다. 92의 품질에 대한 PSNR이 45.7인 경우 목표 PSNR 45.2 이상이 되기 때문에 품질 92를 사용자가 요구하는 품질 94와 유사하면서 목표 PSNR 45.2 이상이 되는 최적화 품질로 결정하고 품질 탐색 과정과 인코딩 과정을 종료한다.
최적화 품질을 찾기 위해 인코딩이 반복되게 되는데 이러한 인코딩 횟수를 줄여 시스템 성능을 개선할 필요가 있다. 최적화 품질을 찾기 위한 품질 범위에 대한 최적화를 위해 2의 지수 승으로 품질 범위의 최소값을 설정할 수 있다. 예를 들어, 도 7에 도시한 바와 같이 이미지 압축에 적용 가능한 품질 범위가 62~100이고 사용자가 요구하는 품질이 94라고 가정할 때, 품질 범위의 최소값을 요구되는 품질의 -8로 설정하여 최적화 품질을 찾기 위한 품질 범위를 86~94로 설정될 수 있다.
86~94의 품질 범위에서 목표 PSNR을 만족하는 품질을 찾을 수 있으며, 예를 들어, 도 8에 도시한 바와 같이 목표 PSNR을 45.2로 가정한다.
Step1에서 품질 범위 86~94의 평균값에 해당되는 90의 품질로 입력 이미지를 인코딩한 후 디코딩을 거쳐 PSNR을 추출한다. 90의 품질에 대한 PSNR이 44.1인 경우 목표 PSNR 45.2보다 작기 때문에 품질 범위의 최소값을 90으로 갱신하고 품질 탐색 과정을 계속한다.
Step2에서 품질 범위 90~94의 평균값에 해당되는 92의 품질로 입력 이미지를 인코딩한 후 디코딩을 거쳐 PSNR을 추출한다. 92의 품질에 대한 PSNR이 45.7인 경우 목표 PSNR 45.2 이상이 되기 때문에 품질 92를 사용자가 요구하는 품질 94와 유사하면서 목표 PSNR 45.2 이상이 되는 최적화 품질로 결정하고 품질 탐색 과정과 인코딩 과정을 종료한다.
또한, 최적화 품질을 찾기 위한 품질 범위에 대한 최적화를 위해 목표 PSNR을 만족시키는 대부분의 품질 탐색 결과가 요구되는 품질의 -4 이내에서 결정된다는 실험치를 고려하여 최초 탐색 품질을 요구되는 품질의 -4로 적용할 수 있다. 다시 말해, 사용자가 요구하는 품질이 94라고 가정할 때 90의 품질을 먼저 탐색한 후 이후 90~94의 평균값의 품질을 탐색하는 순으로 최적화 품질을 찾을 수 있다.
이와 같이, 최적화 품질을 찾기 위한 품질 범위를 최적화 함으로써 목표 PSNR을 만족하는 최적화 품질을 찾는 과정에서의 인코딩 횟수를 줄일 수 있고 이를 통해 시스템 성능을 향상시킬 수 있다.
더 나아가, 목표 PSNR을 만족하는 최적화 품질을 찾는 과정에서 인코딩이 반복되는데, 두 번 이상의 인코딩이 이루어지는 경우 중복되거나 불필요한 연산을 제거할 수 있다. 다시 말해, 최적화 품질을 찾기 위한 인코딩 과정을 반복할 때 인코딩 과정에 포함된 연산 중 이전 인코딩 과정의 연산 결과와 동일한 일부 연산 혹은 PSNR을 추출하는데 불필요한 일부 연산 등을 생략할 수 있다.
도 9를 참조하면, 한 번의 인코딩 과정(900)은 JPEG 파일을 YCbCr로 변환하는 인코딩 과정(910)과, 인코딩 과정(910)의 결과 값을 RBG로 변환하는 디코딩 과정(920)과, 디코딩 과정(920)의 결과 값을 YUV로 변환하는 YUV 변환 과정(930)과, YUV 변환 과정(930)의 결과 값을 이용하여 PSNR을 추출하는 PSNR 과정(940)을 포함한다.
목표 PSNR을 만족하는 최적화 품질을 찾는 과정에서 예를 들어 도 10에 도시한 바와 같이 총 4번(Step1~Step4)의 인코딩이 수행된다고 할 때 입력 이미지에 대해 인코딩 과정(910), 디코딩 과정(920), YUV 변환 과정(930), PSNR 과정(940)이 동일하게 각각 4번 반복된다.
하나의 동일한 입력 이미지에 대해 각각 다른 품질 값으로 인코딩 하는 과정이기 때문에 도 11에 도시한 바와 같이 인코딩 과정(910), 디코딩 과정(920), YUV 변환 과정(930)의 일부 연산은 이전 인코딩 시와 결과 값이 동일하다. 이에, 입력 이미지에 대해 인코딩을 반복하는 과정에서 인코딩 과정(910), 디코딩 과정(920), YUV 변환 과정(930)에 포함된 연산 중 중복되는 일부 연산을 제거하여 품질 탐색 속도를 향상시킬 수 있다.
도 12는 인코딩 과정(910), 디코딩 과정(920), YUV 변환 과정(930)에 포함된 세부 연산을 도시한 것이다.
도 12를 참조하면, 인코딩 과정(910)은 YCbCr 변환 과정(1211), DCT(이산 코사인 변환) 과정(1212), 양자화(Quantization) 과정(1213), 호프만 인코딩(Huffman encode) 과정(1214)을 포함하고, 디코딩 과정(920)은 호프만 디코딩(Huffman decode) 과정(1221), IDCT(역 이산 코사인 변환) 과정(1222), RGB 변환 과정(1223)을 포함한다.
이때, YCbCr 변환 과정(1211), DCT 과정(1212), 호프만 인코딩 과정(1214), 호프만 디코딩 과정(1221), RGB 변환 과정(1223), YUV 변환 과정(930)은 이전 인코딩 과정에서의 연산 값과 동일하기 때문에 반복 수행할 필요 없이 생략하는 것이 가능하다.
목표 PSNR을 만족하는 최적화 품질을 찾는 과정에서 예를 들어 도 13에 도시한 바와 같이 총 4번(Step1~Step4)의 인코딩이 수행된다고 할 때 세부적인 연산 과정으로, 입력 이미지에 대해 YCbCr 변환 과정(1211), DCT 과정(1212), 양자화 과정(1213), 호프만 인코딩 과정(1214), 호프만 디코딩 과정(1221), IDCT 과정(1222), RGB 변환 과정(1223), YUV 변환 과정(930)이 모두 똑같이 각각 반복된다.
인코딩이 반복되는 과정에서 예를 들어 도 14에 도시한 바와 같이 YCbCr 변환 과정(1211), DCT 과정(1212), 호프만 인코딩 과정(1214), 호프만 디코딩 과정(1221), RGB 변환 과정(1223), YUV 변환 과정(930)에 해당되는 연산을 제거할 수 있다.
입력 이미지에 대한 최초 인코딩 과정에서는 YCbCr 변환 과정(1211), DCT 과정(1212), 양자화 과정(1213), 호프만 인코딩 과정(1214), 호프만 디코딩 과정(1221), IDCT 과정(1222), RGB 변환 과정(1223), YUV 변환 과정(930)을 모두 수행하고 이후 인코딩 과정부터 중복되는 연산을 생략할 수 있다. 경우에 따라 최초 인코딩 과정에서도 이전 연산 결과를 그대로 활용할 수 있거나 PSNR을 추출하는데 불필요한 일부 연산의 경우 예를 들어 호프만 인코딩 과정(1214), 호프만 디코딩 과정(1221), RGB 변환 과정(1223), YUV 변환 과정(930)을 최초 연산 시부터 생략할 수 있다.
따라서, 입력 이미지에 요구되는 품질에 대해 최적화 된 품질을 찾기 위해 반복되는 인코딩 과정에서 불필요한 연산이나 중복되는 연산을 제거함으로써 인코딩 속도와 함께 품질 탐색 속도를 향상시킬 수 있다.
위에서 본 발명은 지정된 기능들 및 이들의 관계들의 구현을 예시하는 기능 블록들의 도움으로 설명되었다. 본 명세서에서 이러한 기능 블록들의 경계들은 설명의 편의를 위해 임의로 정의된 것으로, 지정된 기능들 및 이들의 관계들이 적절히 수행되는 한 대안 경계들이 정의될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터로 구현되는 입력 이미지를 압축하기 위한 방법으로서,
    상기 입력 이미지의 압축을 위해 요구되는 압축 품질을 확인하는 단계;
    상기 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는 단계; 및
    상기 최적화 품질로 인코딩 된 이미지 파일을 상기 입력 이미지에 대한 압축 파일로 출력하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 품질 범위의 최대값은 상기 압축 품질로 설정되는 것
    을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 품질 범위의 최대값은 상기 압축 품질로 설정되고 최소값은 상기 압축 품질보다 2의 배수 낮은 품질 값으로 설정되는 것
    을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 품질 범위의 최대값은 상기 압축 품질로 설정되고 최소값은 다른 이미지들의 최적화 품질로 결정된 평균치를 고려하여 설정되는 것
    을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 최적화 품질을 찾는 단계는,
    상기 품질 범위에 대한 이진 탐색(binary search)을 통해 상기 최적화 품질을 찾는 것
    을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 목표 PSNR는 특정된 하나의 수치값으로 설정되고,
    상기 최적화 품질을 찾는 단계는,
    상기 품질 범위에 해당되는 적어도 일부의 품질값 각각으로 상기 입력 이미지를 인코딩 한 후 인코딩 된 이미지 각각에 대한 PSNR을 추출하는 단계; 및
    상기 적어도 일부의 품질값 중에서 상기 추출된 PSNR이 상기 목표 PSNR에 해당되는 수치값 이상이 되는 품질값을 상기 최적화 품질로 결정하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서,
    상기 목표 PSNR는 특정된 수치 범위로 설정되고,
    상기 최적화 품질을 찾는 단계는,
    상기 품질 범위에 해당되는 적어도 일부의 품질값 각각으로 상기 입력 이미지를 인코딩 한 후 인코딩 된 이미지 각각에 대한 PSNR을 추출하는 단계; 및
    상기 적어도 일부의 품질값 중에서 상기 추출된 PSNR이 상기 목표 PSNR에 해당되는 수치 범위에 속하는 품질값을 상기 최적화 품질로 결정하는 단계
    를 포함하는 방법.
  8. 제1항에 있어서,
    상기 최적화 품질을 찾는 단계는,
    상기 품질 범위로 설정된 최대값으로 상기 입력 이미지를 인코딩 한 후 상기 최대값으로 인코딩 된 이미지를 디코딩 하는 제1 단계;
    상기 품질 범위로 설정된 최대값과 최소값을 이용하여 상기 품질 범위의 평균값을 계산하는 제2 단계;
    상기 평균값으로 상기 입력 이미지를 인코딩 한 후 상기 평균값으로 인코딩 된 이미지를 디코딩 하는 제3 단계;
    상기 제1 단계에서 디코딩 된 이미지와 상기 제3 단계에서 디코딩 된 이미지에 대한 PSNR을 추출하는 제4 단계; 및
    상기 추출된 PSNR이 상기 목표 PSNR 이상이면 상기 평균값을 상기 최적화 품질로 결정하는 제5 단계
    를 포함하는 방법.
  9. 제8항에 있어서,
    상기 최적화 품질을 찾는 단계는,
    상기 추출된 PSNR이 상기 목표 PSNR 보다 작으면 상기 품질 범위로 설정된 최소값을 상기 평균값으로 변경한 후 상기 제2 단계 내지 상기 제4 단계를 반복하는 단계
    를 더 포함하는 방법.
  10. 제7항에 있어서,
    상기 입력 이미지를 인코딩 하는 과정에 포함된 연산 중 이전 인코딩 과정의 연산 결과와 동일한 일부 연산이 생략되는 것
    을 특징으로 하는 방법.
  11. 제7항에 있어서,
    상기 입력 이미지를 인코딩 하는 과정에 포함된 연산 중 상기 PSNR을 추출하기 위해 필요한 연산 이외의 나머지 연산이 생략되는 것
    을 특징으로 하는 방법.
  12. 컴퓨터와 결합되는 컴퓨터 프로그램에 있어서,
    입력 이미지의 압축을 위해 요구되는 압축 품질을 확인하는 단계;
    상기 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는 단계; 및
    상기 최적화 품질로 인코딩 된 이미지 파일을 상기 입력 이미지에 대한 압축 파일로 출력하는 단계
    를 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  13. 입력 이미지의 압축을 위해 요구되는 압축 품질을 확인하는 확인부;
    상기 압축 품질을 기준으로 설정된 품질 범위 내에서 목표 PSNR(Peak Signal to Noise Ratio)을 만족하는 최적화 품질을 찾는 탐색부; 및
    상기 최적화 품질로 인코딩 된 이미지 파일을 상기 입력 이미지에 대한 압축 파일로 출력하는 출력부
    를 포함하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 품질 범위의 최대값은 상기 압축 품질로 설정되고 최소값은 상기 압축 품질보다 2의 배수 낮은 품질 값으로 설정되는 것
    을 특징으로 하는 시스템.
  15. 제13항에 있어서,
    상기 탐색부는,
    상기 품질 범위에 대한 이진 탐색(binary search)을 통해 상기 최적화 품질을 찾는 것
    을 특징으로 하는 시스템.
  16. 제13항에 있어서,
    상기 탐색부는,
    상기 품질 범위에 해당되는 적어도 일부의 품질값 각각으로 상기 입력 이미지를 인코딩 한 후 인코딩 된 이미지 각각에 대한 PSNR을 추출하는 과정; 및
    상기 적어도 일부의 품질값 중에서 상기 추출된 PSNR이 상기 목표 PSNR로 설정된 수치값 또는 수치 범위에 해당되는 품질값을 상기 최적화 품질로 결정하는 과정
    을 처리하는 것을 특징으로 하는 시스템.
  17. 제13항에 있어서,
    상기 탐색부는,
    상기 품질 범위로 설정된 최대값으로 상기 입력 이미지를 인코딩 한 후 상기 최대값으로 인코딩 된 이미지를 디코딩 하는 제1 과정;
    상기 품질 범위로 설정된 최대값과 최소값을 이용하여 상기 품질 범위의 평균값을 계산하는 제2 과정;
    상기 평균값으로 상기 입력 이미지를 인코딩 한 후 상기 평균값으로 인코딩 된 이미지를 디코딩 하는 제3 과정;
    상기 제1 단계에서 디코딩 된 이미지와 상기 제3 단계에서 디코딩 된 이미지에 대한 PSNR을 추출하는 제4 과정; 및
    상기 추출된 PSNR이 상기 목표 PSNR 이상이면 상기 평균값을 상기 최적화 품질로 결정하는 제5 과정
    을 처리하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 탐색부는,
    상기 추출된 PSNR이 상기 목표 PSNR 보다 작으면 상기 품질 범위로 설정된 최소값을 상기 평균값으로 변경한 후 상기 제2 단계 내지 상기 제4 단계를 반복하는 과정
    을 더 처리하는 것을 특징으로 하는 시스템.
  19. 제16항에 있어서,
    상기 입력 이미지를 인코딩 하는 과정에 포함된 연산 중 이전 인코딩 과정의 연산 결과와 동일한 일부 연산이 생략되는 것
    을 특징으로 하는 시스템.
  20. 제16항에 있어서,
    상기 입력 이미지를 인코딩 하는 과정에 포함된 연산 중 상기 PSNR을 추출하기 위해 필요한 연산 이외의 나머지 연산이 생략되는 것
    을 특징으로 하는 시스템.
KR1020150190859A 2015-12-31 2015-12-31 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템 KR101832418B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150190859A KR101832418B1 (ko) 2015-12-31 2015-12-31 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템
CN201610169486.0A CN106937111B (zh) 2015-12-31 2016-03-23 优化图像压缩质量的方法及系统
US15/150,868 US10070133B2 (en) 2015-12-31 2016-05-10 Methods, apparatuses, systems, and non-transitory computer readable media for improving and/or optimizing image compression quality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150190859A KR101832418B1 (ko) 2015-12-31 2015-12-31 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20170079852A true KR20170079852A (ko) 2017-07-10
KR101832418B1 KR101832418B1 (ko) 2018-02-26

Family

ID=59235930

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150190859A KR101832418B1 (ko) 2015-12-31 2015-12-31 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템

Country Status (3)

Country Link
US (1) US10070133B2 (ko)
KR (1) KR101832418B1 (ko)
CN (1) CN106937111B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200026759A (ko) * 2018-09-03 2020-03-11 주식회사 카카오 영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램
KR20220065188A (ko) * 2020-11-13 2022-05-20 네이버 주식회사 기계학습을 이용하여 이미지 압축 품질을 최적화하는 방법 및 시스템
WO2022145769A1 (ko) * 2021-01-04 2022-07-07 오드컨셉 주식회사 이미지 분류를 통한 이미지 퀄리티 연산 방법 및 장치
WO2023017873A1 (ko) * 2021-08-09 2023-02-16 김승모 영상 인코딩 품질학습 및 예측 시스템

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11368697B1 (en) * 2018-05-01 2022-06-21 Google Llc Adaptive image compression using a quality metric
CN108933945B (zh) * 2018-08-17 2020-06-19 腾讯科技(深圳)有限公司 一种gif图片的压缩方法、装置及存储介质
CN109815012B (zh) * 2018-12-29 2023-08-18 深圳市创梦天地科技有限公司 一种图像可见质量值搜索方法和相关装置
JP2022518234A (ja) * 2019-01-17 2022-03-14 ブライトコーブ インコーポレイテッド 最適なマルチコーデックabrラダー設計
CN111726554B (zh) * 2020-06-30 2022-10-14 阿波罗智能技术(北京)有限公司 图像处理方法、装置、设备和存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467134A (en) * 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
US6693961B1 (en) * 2000-01-10 2004-02-17 Conexant Systems, Inc. System and method of video frame memory reduction of video decoders
KR20020035726A (ko) 2000-11-08 2002-05-15 구자홍 정지 영상 압축 및 복원방법
US20040158878A1 (en) 2003-02-07 2004-08-12 Viresh Ratnakar Power scalable digital video decoding
WO2004109586A1 (en) * 2003-06-05 2004-12-16 Aware, Inc. Image quality control techniques
TWI367457B (en) * 2006-07-03 2012-07-01 Nippon Telegraph & Telephone Image processing method and apparatus, image processing program, and storage medium for storing the program
US8363719B2 (en) * 2007-10-29 2013-01-29 Canon Kabushiki Kaisha Encoding apparatus, method of controlling thereof, and computer program
US8270739B2 (en) * 2007-12-03 2012-09-18 Ecole De Technologie Superieure System and method for quality-aware selection of parameters in transcoding of digital images
WO2009055899A1 (en) * 2007-11-02 2009-05-07 Ecole De Technologie Superieure System and method for quality-aware selection of parameters in transcoding of digital images
CN101459850B (zh) * 2009-01-08 2012-03-14 中国科学院计算技术研究所 一种图像压缩质量预测方法和系统
US8908984B2 (en) 2009-10-05 2014-12-09 I.C.V.T. Ltd. Apparatus and methods for recompression of digital images
JP2012178736A (ja) * 2011-02-25 2012-09-13 Canon Inc 画像処理装置及びその制御方法
US20130212440A1 (en) * 2012-02-13 2013-08-15 Li-Raz Rom System and method for virtual system management
JP6242171B2 (ja) * 2013-11-13 2017-12-06 キヤノン株式会社 画像処理装置、画像処理方法、プログラム
US9591316B2 (en) * 2014-03-27 2017-03-07 Intel IP Corporation Scalable video encoding rate adaptation based on perceived quality

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200026759A (ko) * 2018-09-03 2020-03-11 주식회사 카카오 영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램
KR20220065188A (ko) * 2020-11-13 2022-05-20 네이버 주식회사 기계학습을 이용하여 이미지 압축 품질을 최적화하는 방법 및 시스템
WO2022145769A1 (ko) * 2021-01-04 2022-07-07 오드컨셉 주식회사 이미지 분류를 통한 이미지 퀄리티 연산 방법 및 장치
WO2023017873A1 (ko) * 2021-08-09 2023-02-16 김승모 영상 인코딩 품질학습 및 예측 시스템

Also Published As

Publication number Publication date
KR101832418B1 (ko) 2018-02-26
CN106937111B (zh) 2019-12-31
CN106937111A (zh) 2017-07-07
US20170195674A1 (en) 2017-07-06
US10070133B2 (en) 2018-09-04

Similar Documents

Publication Publication Date Title
KR101832418B1 (ko) 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템
CN102611823B (zh) 一种基于图片内容选择压缩算法的方法和设备
WO2017071480A1 (zh) 参考帧编解码的方法与装置
JP2016226001A (ja) デコーダおよび復号方法
US11671576B2 (en) Method and apparatus for inter-channel prediction and transform for point-cloud attribute coding
CN113795870B (zh) 一种对点云属性编解码的方法、装置及存储介质
EP2145476B1 (en) Image compression and decompression using the pixon method
CN112218077B (zh) 通道间点云属性编码方法、装置以及可读存储介质
CN110738666A (zh) 一种基于离散余弦变换的图像语义分割方法及装置
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
KR102020220B1 (ko) 이미지 압축 방법 및 장치
JP2015019364A (ja) 画像圧縮装置及び方法
WO2018196502A1 (zh) 图片转码方法和装置
KR20160040930A (ko) 이미지 재부호화 방법 및 그 장치
JP5809574B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
US9407918B2 (en) Apparatus and method for coding image, and non-transitory computer readable medium thereof
CN116325732A (zh) 点云的解码、编码方法、解码器、编码器和编解码系统
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
KR102516812B1 (ko) 기계학습을 이용하여 이미지 압축 품질을 최적화하는 방법 및 시스템
CN112991476B (zh) 基于深度压缩域特征的场景分类方法、系统及设备
US20220269652A1 (en) Computation apparatus and compression method
RU2782583C1 (ru) Слияние изображений на блочной основе для контекстной сегментации и обработки
US20230130288A1 (en) Method for code-level super resolution and method for training super resolution model therefor
KR101854211B1 (ko) 이미지 혹은 동영상의 자동최적화 방법, 장치 및 컴퓨터-판독가능 매체
KR20240006667A (ko) 점군 속성 정보 부호화 방법, 복호화 방법, 장치 및 관련 기기

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant