KR101459395B1 - 디지털 이미지의 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 시스템 및 방법 - Google Patents

디지털 이미지의 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101459395B1
KR101459395B1 KR1020107012053A KR20107012053A KR101459395B1 KR 101459395 B1 KR101459395 B1 KR 101459395B1 KR 1020107012053 A KR1020107012053 A KR 1020107012053A KR 20107012053 A KR20107012053 A KR 20107012053A KR 101459395 B1 KR101459395 B1 KR 101459395B1
Authority
KR
South Korea
Prior art keywords
image
quality
quot
transcoding
module
Prior art date
Application number
KR1020107012053A
Other languages
English (en)
Other versions
KR20100092950A (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
Priority claimed from PCT/CA2007/001974 external-priority patent/WO2009055896A1/en
Priority claimed from US12/164,873 external-priority patent/US8295624B2/en
Application filed by 에꼴 드 테크놀로지 수페리에르 filed Critical 에꼴 드 테크놀로지 수페리에르
Publication of KR20100092950A publication Critical patent/KR20100092950A/ko
Application granted granted Critical
Publication of KR101459395B1 publication Critical patent/KR101459395B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4092Image resolution transcoding, e.g. client/server architecture
    • 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/124Quantisation
    • 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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

몇몇 퀄리티-인식 트랜스코딩 시스템 및 방법이 묘사되며, 이에 있어서 트랜스코드된 이미지에 미치는 퀄리티 팩터(QF) 및 스케일링 파라미터의 선택에 의한 영향이 종합적으로 고려된다. 기본 트랜스코딩 시스템은 퀄리티 예측 검색 테이블의 추가에 의해 향상되며, 그러한 테이블을 발생시키는 방법 또한 개시된다.

Description

디지털 이미지의 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 시스템 및 방법{SYSTEM AND METHOD FOR QUALITY-AWARE SELECTION OF PARAMETERS IN TRANSCODING OF DIGITAL IMAGES}
본 발명은 이미지 트랜스코딩에 관한 것으로, 보다 상세하게는 멀티미디어 메시징 서비스(multimedia messaging service, MMS) 메시지에 포함된 이미지의 트랜스코딩에 관한 것이다.
- 관련된 출원 (Related applications) -
본 출원은 US provisional application to Stephane Coulombe et al. serial number 60/991,956 filed on December 03, 2007 entitled "Quality-Aware Selection of Quality Factor and Scaling Parameters in JPEG Image Transcoding", US patent application Stephane Coulombe et al. serial number 12/164,836 filed on June 30, 2008 entitled "Method and System for Quality-Aware Selection of Parameters in Transcoding of Digital Images", 및 PCT patent application to Steven Pigeon entitled "System and Method for Predicting the File Size of Images Subject to Transformation by Scaling and Change of Quality-Controlling Parameters” serial number PCT/CA2007/001974 filed Nov 02, 2007 에 기초한 우선권 주장 출원이다.
멀티미디어 메시징 서비스(MMS)는, 예를 들어, OMA Multimedia Messaging Service specification, Approved Version 1.2 May 2005, Open Mobile Alliance, OMA-ERP-MMS-V1_2-200504295-A.zip 에 기재된, 다음 URL에서 접근 가능한, http://www.openmobilealliance.org/Technical/release_program/mms_v1_2.aspx 바와 같이, 주로 무선 네트워크에서, 텍스트, 오디오, 정지 이미지(still image), 및 이동 이미지(moving images)을 포함하는 다양한 유형의 데이터의 피어-투-피어(peer-to-peer) 및 서버-투-클라이언트(server-to-client) 전송을 위한 방법을 제공한다.
MMS가 그러한 데이터를 인캡슐레이트하는(encapsulating) 표준(standard) 방법들을 제공함에 있어, 데이터의 유형은 평문(plain text), 3GP 비디오 및 오디오/스피치, 합성 오디오(synthetic audio)용 SP-MIDI, JPEG 정지 이미지와 같은 많은 수의 표준 포맷들 중 어떤 것으로도 코드화될 수 있다 (자세한 내용은 Multimedia Messaging Service, Media formats and codecs, 3GPP TS 26.140, V7.1.0 (2007-06) 참조, URL http://www.3gpp.org/ftp/Specs/html-info/26140.htm 에서 이용 가능). 정지 이미지는 "The independent jpeg group"에 의해 기록되고 ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz.에 공개된 소프트웨어 도서관에 JPEG 포맷으로 종종 코드화된다.
도 1은, 발신 노드(Originating Node)(102), 서비스 전달 플랫폼(Service Delivery Platform)(104), 수신 노드(Destination Node)(106) 및 적응 엔진(Adaptation Engine)(108)을 포함하는 MMS 시스템 구조(architecture)(100)의 일 예이다. 발신 노드(Originating Node)(102)는 네트워크 “A”(110)를 통해 서비스 전달 플랫폼(Service Delivery Platform)(104)과 통신할 수 있다. 마찬가지로 수신 노드(Destination Node)(106)는 네트워크 “B”(112)를 통해 서비스 전달 플랫폼(104)과 통신할 수 있다. 네트워크 “A” 및 “B”는 단순한 실시예이며, 가능한 연결성을 예시하기 위한 것으로, 많은 다른 구성들 또한 가능하다. 예를 들어, 발신 및 수신 노드(102 및 106)는 단일 네트워크(single network)를 통해 서비스 전달 플랫폼(104)과 연결될 수도 있다; 수신 노드(102)는 연결 네트워크 없이 서비스 전달 플랫폼(104)과 직접 연결될 수도 있다.
적응 엔진(108)은 도 1에 보이는 바와 같이 링크(114)를 통해 서비스 전달 플랫폼(104)에 직접 연결되거나, 네트워크를 통해 연결되거나, 또는 서비스 전달 플랫폼(104) 내에 끼워 넣어질 수도 있다.
일례로, 발신 노드(102)는 수신 노드(106)로 전달될 (멀티미디어) 메시지를 보낼 수 있다. 그 메시지는 네트워크 “A”(110)을 통해 서비스 전달 플랫폼(104)으로 전달되고 이로부터 네트워크 “B”(112)를 통해 발신 노드(106)로 보내진다. 발신 및 수신 노드(102 및 106)는 예를 들어 무선 장치일 수 있고, 네트워크 “A” 및 ”B”(110 및 112)는 무선 네트워크일 수 있고, 서비스 전달 플랫폼(104)은 멀티미디어 메시지 포워딩(forwarding) 서비스를 제공할 수 있다.
다른 예로, 발신 노드(102)는 컨텐츠 제공자의 서버일 수 있고, 데이터 네트워크를 통해 서비스 전달 플랫폼(104)에 연결될 수 있는데, 예를 들어 네트워크 “A”(110)은 인터넷일 수 있고, 네트워크 “B”(112)는 무선 장치일 수 있는 수신 노드(106)로의 무선 네트워크일 수 있다.
멀티미디어 메시징 서비스(MMS)의 서버-사이드 적응(server-side adaptation)에 관한 개요는 논문 "Multimedia Adaptation for the Multimedia Messaging Service" by Stephane Coulombe and Guido Grassel, IEEE Communications Magazine, vol. 42, no.7, pp. 120-126, July 2004. 에 나와 있다.
특히 이미지의 경우, 발신 노드(102)에 의해 보내지는 메시지는, 구체적으로 JPEG로 인코딩된, 이미지를 포함할 수 있다. 수신 노드(106)의 능력은 이미지를 오리지널 형식으로 디스플레이하는 능력을 포함하지 않을 수 있는데, 예를 들어 픽셀의 수 측면에서 이미지의 높이(height) 또는 폭(width)이, 즉 이미지의 해상도(resolution)가, 수신 노드(106)의 디스플레이 장치의 크기 또는 해상도를 초과할 수 있기 때문이다. 수신 노드(106)가 이를 수신하여 디스플레이하기 위해서는, 그 이미지는 수신 노드(106)로 전달되기 전에 적응 엔진(108)의 이미지 트랜스코더(106)에서 수정되어야 할 것이다. 이미지 트랜스코더(116)에 의한 이미지의 수정(modification)은 일반적으로 스케일링(scaling)을 포함할 수 있는데, 예를 들어 이미지 해상도 및 압축(compression)의 변경을 포함한다.
이미지 압축은 보통 저장 또는 전송 경제(economy)의 이유로 이미지의 파일 사이즈를 줄이기 위해, 또는 네트워크 요청에 의한 파일 사이즈 제한 또는 비트레이트(bit rate) 제한에 대응하기 위해 수행된다. MMS의 수신 장치는 또한 파일 사이즈 제한을 야기하는 메모리 제한을 가진다. JPEG 표준은 일반적으로 사용되는 이미지 압축을 위한 방법을 제공한다. 잘 알려진 바와 같이, JPEG 압축은 “손실이 있는데(lossy)”, 즉 압축된 이미지는 오리지널 이미지에 포함된 디지털 정보의 100%를 포함하지 않을 수 있게 된다. 정보의 손실은 압축 중에 “퀄리티 팩터(Quality Factor)” QF의 설정에 의해 제어될 수 있다. 낮은 QF는 높은 압축을 의미하고 일반적으로 파일 사이즈를 더 작게 한다. 반대로, 높은 QF는 파일 사이즈를 더 크게 하고, 일반적으로 이미지의 “퀄리티”을 더 높이는 것으로 여겨진다.
터미널(terminal)의 수용 능력에 대응하기 위한 이미지의 해상도 변경 또는 스케일링은 잘 알려진 해결책이 있는 문제이다. 그러나, 파일 사이즈 제약에 대항하는 이미지 퀄리티의 최적화는 여전히 도전 과제인데, 퀄리티 팩터 QF, 지각된(perceived) 퀄리티 및 압축된 파일 사이즈 간의 관계가 확실히 정립되지 않았기 때문이다. 단순한 해상도 적응에 비해, 파일 사이즈 축소를 달성하기 위한 추가적인 수단으로서 스케일링을 이용하는 것은, 문제를 더욱 도전적으로 만든다.
시각적인 컨텐츠의 파일 사이즈 축소 문제는 널리 연구되어 왔다. “Accurate bit allocation and rate control for DCT domain video transcoding” by Zhijun Lei and N.D. Georganas, in IEEE CCECE 2002. Canadian Conference on Electrical and Computer Engineering, 2002, vol. 2, pp. 968-973 에서, 비트레이트의 축소는 스케일링에 의하기보다는, 양자화(quantization) 파라미터의 적응을 통해 이루어질 수 있음을 보여준다. 이는, 해상도가 종종 미리 규정된(predefined) 포맷의 수로 제한되는, 낮은 비트레이트 비디오의 측면에서 일리가 있다. “Efficient transform-domain size and resolution reduction of images” by Justin Ridge, in Signal Processing: Image Communication, vol. 18, no. 8, pp. 621-639, Sept. 2003 에서, JPEG 이미지의 스케일링 및 축소를 위한 기술이 설명된다. JPEG 파일의 크기를 축소하는 방법은 US patent 6,233,359 entitled “File size bounded JPEG transcoder” May 2001, by Viresh Ratnakar and Victor Ivashin 에 설명되어 있다. 그러나 이 방법은, 이미지의 퀄리티 및 비트레이트를 줄이는 반면에, 이미지의 스케일링을 포함하지 않는다.
스케일링 및 QF의 동시 변경에 따른 JPEG 이미지의 압축된 파일 사이즈를 추정(estimate)하는 방법은 Steven Pigeon and Stephane Coulombe, entitled "Very Low Cost Algorithms for Predicting the File Size of JPEG Images Subject to Changes of Quality Factor and Scaling", Data Compression Conference (DCC 2008), p. 538, 2008 에서 간략히 보고되었고, “Computationally efficient algorithms for predicting the file size of JPEG images subject to changes of quality factor and scaling” in Proceedings of the 24th Queen's Biennial Symposium on Communications, Queen's University, Kingston, Canada, 2008 (the "Kingston" paper) 및 PCT 특허 출원 Steven Pigeon entitled "System and Method for Predicting the File Size of Images Subject to Transformation by Scaling and Change of Quality-Controlling Parameters” serial number PCT/CA2007/001974 filed Nov 02, 2007 에 충분히 설명되어 있다.
최근의 이미지 트랜스코딩 영역에서의 발전에도 불구하고, 여전히 스케일링, 압축된 파일 사이즈 제한 및 이미지 퀄리티를 고려한 개선된 트랜스코딩 방법을 개발할 필요성이 있다.
따라서 본 발명의 목적은 이미지의 스케일링을 위한 방법 및 시스템을 제공하는 것이며, 이를 통해 종래 기술의 결점들을 방지 또는 완화할 수 있다.
본 발명의 일 측면에 따르면, 파일 사이즈 및 이미지 사이즈 제약을 가지는 단말에 관하여 입력 이미지를 출력 이미지로 트랜스코드하기 위한 이미지 트랜스코딩 시스템에 있어서,
컴퓨터 실행 가능한 명령어가 저장된 컴퓨터 판독가능 저장 매체를 가지는 컴퓨터를 포함하고, 상기 컴퓨터 실행 가능한 명령어는 상기 컴퓨터에 의해 실행될 때,
입력 이미지의 차원(dimensions), 파일 사이즈 및 인코딩 퀄리티 팩터 QF(I)를 결정하기 위한 이미지 특성 추출 모듈;
트랜스코더 스케일링 팩터 zT 및 트랜스코더 퀄리티 팩터 QFT를 포함하는 트랜스코딩 파라미터를 이용하여 입력 이미지를 출력 이미지로 트랜스코드하기 위한 트랜스코딩 모듈;
트랜스코딩의 퀄리티 메트릭을 결정하기 위한 퀄리티 결정 블록; 트랜스코딩 파라미터의 함수로서 출력 이미지의 상대적인 출력 파일 사이즈를 결정하기 위한 퀄리티 및 파일 사이즈 예측 모듈; 및
최대 상대적인 파일 사이즈를 만족시키는 상기 최적의 트랜스코딩 파라미터를 결정하고, 최적의 퀄리티 메트릭을 생산(produce)하기 위한 퀄리티-인식 파라미터 선택 모듈을 제공하는
이미지 트랜스코딩 시스템이 개시된다.
상기 트랜스코딩 모듈은:
입력 이미지를 압축해제하기 위한 압축해제 모듈;
상기 트랜스코더 스케일링 팩터 zT를 이용하여 상기 압축해제된 입력 이미지를 스케일하기 위한 스케일링 모듈; 및
상기 트랜스코더 퀄리티 팩터 QFT를 이용하여 상기 압축해제되고 스케일된 입력 이미지를 압축하기 위한 압축 모듈을 포함한다.
상기 퀄리티-인식 파라미터 선택 모듈은:
상기 입력 이미지의 차원 및 상기 단말 제약으로부터 결정되는 최대(maximum) 스케일링 팩터 이하인 스케일링 팩터 zT 및 상기 트랜스코더 퀄리티 팩터 QFT의 실현가능한 조합을 선택하기 위한 계산 수단; 및
상기 출력 이미지의 최고(highest) 퀄리티에 대응하는 퀄리티 메트릭이 발견될 때까지 구별된 값의 쌍 (zT, QFT)을 반복적으로 선택하기 위한 계산 수단을 포함하고,
상기 실현가능한 조합은 최대 상대적인 파일 사이즈를 고려하는(respect) 상대적인 출력 파일 사이즈 예측을 야기한다.
상기 퀄리티 결정 블록은 상기 퀄리티 메트릭을 계산하기 위한 퀄리티 평가 모듈을 포함하고, 상기 퀄리티 평가 모듈은
상기 출력 이미지를 압축해제하기 위한 압축해제(R) 모듈;
상기 압축해제된 출력 이미지를 리-스케일링 팩터 zR을 이용하여 스케일링하기 위한 스케일링(zR) 모듈; 상기 입력 이미지를 압축해제하기 위한 압축해제(V) 모듈;
상기 압축해제된 입력 이미지를 상기 스케일링 팩터 zV를 이용하여 스케일링하기 위한 스케일링(zV) 모듈; 및
상기 압축해제되고 스케일된 출력 이미지 및 상기 압축해제되고 스케일된 입력 이미지로부터 상기 퀄리티 메트릭을 계산하기 위한 퀄리티 계산 모듈을 포함한다.
바람직하게는, 상기 퀄리티 메트릭은 상기 입력 이미지와 비교되는 상기 출력 이미지의 PSNR(Peak Signal to Noise Ratio) 측정치(measure)에 기반한다. 또는, 상기 입력 이미지와 비교되는 상기 출력 이미지의 MD(Maximum Difference) 측정치에 기반할 수 있다. 출력과 입력 간의 다른 측정치 또한 사용 가능하다.
바람직하게는, 상기 입력 이미지 및 상기 출력 이미지는 JPEG 이미지이다.
상기 퀄리티 결정 블록은 상기 퀄리티 메트릭으로써 예측된 퀄리티 메트릭을 검색하기 위한 퀄리티 예측 테이블을 포함하고, 상기 퀄리티 예측 테이블은 상기 예측된 퀄리티 메트릭을 나타내는 다수의 테이블 엔트리를 포함하며, 상기 예측된 퀄리티 메트릭은
상기 입력 이미지의 인코딩 퀄리티 팩터 QF(I)와 동일한 입력 퀄리티 팩터 QF_in;
상기 트랜스코더 스케일링 팩터 zT 또는 상기 출력 이미지의 뷰잉 컨디션을 위한 적절한 다른 값과 동일하게 설정될 수 있는 뷰잉 스케일링 팩터 zV;
상기 트랜스코더 퀄리티 팩터 QFT; 및
상기 트랜스코더 스케일링 팩터 zT에 의해 인덱스된다.
상기 퀄리티 예측 테이블은 상기 예측된 퀄리티 메트릭을 나타내는 다수의 테이블 엔트리를 포함하고, 상기 예측된 퀄리티 메트릭은 뷰잉 스케일링 팩터 zV에 의해 더 인덱스되며, 상기 뷰잉 스케일링 팩터 zV는 상기 트랜스코더 스케일링 팩터 zT 및 상기 최대 스케일링 팩터 사이의 범위에 있는 값과 동일하게 설정된다.
상기 퀄리티 결정 블록은 또한 상기 퀄리티 메트릭을 계산하기 위한 퀄리티 평가 모듈을 포함하고, 상기 퀄리티 평가 모듈은
상기 출력 이미지를 압축해제하기 위한 압축해제(R) 모듈;
상기 압축해제된 출력 이미지를 리-스케일링 팩터 zR을 이용하여 스케일링하기 위한 스케일링(zR) 모듈;
상기 입력 이미지를 압축해제하기 위한 압축해제(V) 모듈; 상기 압축해제된 입력 이미지를 상기 스케일링 팩터 zV를 이용하여 스케일링하기 위한 스케일링(zV) 모듈; 및
상기 압축해제되고 스케일된 출력 이미지 및 상기 압축해제되고 스케일된 입력 이미지로부터 상기 퀄리티 메트릭을 계산하기 위한 퀄리티 계산 모듈을 포함한다.
상기 퀄리티-인식 파라미터 선택 모듈은
상기 실현가능한 (zT, QFT)의 조합의 실현가능한 세트 “F”를 위한 저장 수단;
상기 퀄리티 예측 테이블로부터 획득된 상기 예측된 퀄리티 메트릭에 따라 상기 실현가능한 세트 “F”의 엔트리를 분류하기 위한 계산 수단;
상기 실현가능한 세트 “F”의 유망한(promising) 서브세트를 생성(create)하기 위한 계산 수단; 및
상기 유망한 서브세트로부터 구별된 값의 쌍 (zT, QFT)을 반복적으로 선택하고 상기 퀄리티 평가 모듈을 이용하여 상기 퀄리티 메트릭이 최적일 때까지 대응하는 퀄리티 메트릭을 계산하는 계산 수단을 포함한다.
본 발명의 다른 측면에 따르면, 디바이스 파일 사이즈 및 이미지 파일 사이즈 제약을 가지는 단말에 디스플레이하기 위해 입력 이미지를 출력 이미지로 퀄리티-인식 트랜스코드하기 위한 방법에 있어서,
(a) 상기 단말의 제약을 획득하는 단계;
(b) 상기 입력 이미지를 획득하는 단계;
(c) 상기 입력 이미지의 차원 및 파일 사이즈를 포함하는 상기 입력 이미지의 특성을 추출하는 단계;
(d) 상기 이미지 사이즈 및 상기 입력 이미지의 차원으로부터 최대 스케일링 팩터 z_max를 결정하는 단계;
(e) 상기 디바이스 파일 사이즈 및 상기 입력 이미지의 파일 사이즈로부터 최대 상대적인 파일 사이즈를 결정하는 단계;
(f) 트랜스코더 스케일링 팩터 zT를 포함하는 각각의 값의 쌍이 상기 최대 스케일링 팩터 z_max를 초과하지 않도록 실현가능한 트랜스코딩 파라미터 값의 쌍을 선택하고, 예측된 상대적인 출력 파일 사이즈가 상기 최대 상대적인 파일 사이즈를 초과하지 않도록 출력 인코딩 퀄리티 팩터 QFT를 선택하는 단계;
(g) 상기 실현가능한 트랜스코딩 파라미터 중 선택된 것을 이용하여 상기 입력 이미지를 상기 출력 이미지로 트랜스코드하는 단계;
(h) 상기 트랜스코딩의 퀄리티 메트릭을 결정하는 단계;
(j) 베스트 이미지로서의 베스트 퀄리티 메트릭에 연계된 출력 이미지를 저장하는 단계;
(k) 상기 실현가능한 트랜스코딩 파라미터 값의 쌍 중 다른 하나를 선택하고 베스트 퀄리티 메트릭을 찾을 때까지 상기 (g)부터 (j)까지의 단계를 반복하는 단계; 및
(l) 상기 베스트 이미지를 출력하는 단계를 포함하는 이미지 트랜스코딩 방법이 제안된다.
상기 (c) 단계는 상기 입력 이미지의 인코딩 퀄리티 팩터 QF(I)를 추출하는 단계를 포함하고, 상기 (f) 단계는 상기 인코딩 퀄리티 팩터 QF(I), 상기 트랜스코더 스케일링 팩터 zT, 및 상기 트랜스코더 퀄리티 팩터 QFT의 함수로서 상기 상대적인 출력 파일 사이즈를 예측하는 단계를 포함한다.
상기 (g) 단계는 트랜스코딩 이후의 상기 추력 이미지의 실제 상대적인 파일 사이즈가 상기 최대 상대적인 파일 사이즈를 초과하는 경우 상기 (k) 단계로 넘어가는 단계를 포함한다.
상기 (h) 단계는
(i) 제 1 중간(intermediate) 이미지를 산출하기 위해 상기 입력 이미지를 압축해제하고 뷰잉 스케일링 팩터 zV를 이용하여 스케일하는 단계 - 여기에서 zT와 1(unity) 사이의 상기 뷰잉 스케일링 팩터 zV는 상기 출력 이미지의 예상된 뷰잉 컨디션에 기반하여 선택됨 -;
(ii) 제 2 중간 이미지를 산출하기 위해 상기 출력 이미지를 압축해제하고 리-스케일링 팩터 zR을 이용하여 스케일하는 단계 - 여기에서 zR은 zR=zV/zT로 계산됨 -; 및
(iii) 상기 제 1 중간 이미지와 비교되는 상기 제 2 중간 이미지의 측정치에 기반하여 상기 퀄리티 메트릭을 계산하는 단계를 포함한다.
바람직하게는, 상기 (h) 단계는 다차원의 퀄리티 예측 테이블로부터 상기 퀄리티 메트릭을 읽는 단계를 포함하고, 상기 다차원의 퀄리티 예측 테이블은 2 또는 2 이상의 다음의 인덱스들(indices):
(인덱스 1) 상기 입력 이미지의 상기 입력 퀄리티 팩터 QF(I);
(인덱스 2) 상기 출력 이미지의 예상된 뷰잉 컨디션에 기반하여 선택되는, zT 및 1 사이의 뷰잉 스케일링 팩터 zV;
(인덱스 3) 상기 트랜스코더 퀄리티 팩터 QFT; 및
(인덱스 4) 상기 트랜스코더 스케일링 팩터 zT에 의해 인덱스된다.
편리하게, 상기 (h) 단계는 상기 인덱스들 중 적어도 하나에 대한 테이블 엔트리 사이에 인터폴레이트(interpolate)하는 단계를 포함한다.
상기 (f) 단계는 실현가능한 트랜스코딩 파라미터 값의 쌍의 실현가능한 세트 “F”를 생성하는 단계 및 상기 세트에는 최고 퀄리티 메트릭을 산출하기 위해 예측되는 한정된(definable) C_max 개의 트랜스코딩 파라미터 값의 쌍이 선택 가능하게 유지되도록 상기 세트를 줄이는 단계를 포함하고,
상기 예측된 퀄리티 메트릭은
(인덱스 1) 상기 입력 이미지의 상기 입력 퀄리티 팩터 QF(I);
(인덱스 2) 상기 출력 이미지의 예상된 뷰잉 컨디션에 기반하여 선택되는, zT 및 1 사이의 뷰잉 스케일링 팩터 zV;
(인덱스 3) 상기 트랜스코더 퀄리티 팩터 QFT; 및
(인덱스 4) 상기 트랜스코더 스케일링 팩터 zT
중에서 2 또는 그 이상의 인덱스들(indices)에 의해 인덱스되는 다차원의 퀄리티 예측 테이블로부터 읽음(reading)으로써 획득되며,
상기 (h) 단계는
(i) 제 1 중간(intermediate) 이미지를 산출하기 위해 상기 입력 이미지를 압축해제하고 뷰잉 스케일링 팩터 zV를 이용하여 스케일하는 단계; - 여기에서 zT 및 1(unity) 사이의 상기 뷰잉 스케일링 팩터 zV는 상기 출력 이미지의 예상된 뷰잉 컨디션에 기반하여 선택됨 -
(ii) 제 2 중간 이미지를 산출하기 위해 상기 출력 이미지를 압축해제하고 리-스케일링 팩터 zR을 이용하여 스케일하는 단계; - 여기에서 zR은 zR=zV/zT로 계산됨 - 및
(iii) 상기 제 1 중간 이미지와 비교되는 상기 제 2 중간 이미지의 측정치에 기반하여 상기 퀄리티 메트릭을 계산하는 단계를 포함한다.
필요한 경우, 상기 (f) 단계는 상기 인덱스들 중 적어도 하나에 대해 테이블 엔트리들 사이에 인터폴레이트(interpolate)하는 단계를 포함한다.
컴퓨터 코드 명령어가 저장된 컴퓨터 판독가능 매체를 포함하고, 프로세서에 의해 실행될 때, 위에서 열거된 방법의 단계들을 수행하는, 컴퓨터 판독가능 매체 및 제조 방법(article of manufacture) 또한 제안된다.
본 발명의 또 다른 측면에 따르면, 디바이스 파일 사이즈 및 이미지 파일 사이즈 제약을 가지는 단말에 디스플레이하기 위해 입력 이미지를 출력 이미지로 퀄리티-인식 트랜스코드하기 위한 방법에 있어서,
(a) 상기 단말의 제약을 획득하는 단계;
(b) 상기 입력 이미지를 획득하는 단계;
(c) 상기 입력 이미지의 차원 및 파일 사이즈를 포함하는 상기 입력 이미지의 특성을 추출하는 단계;
(d) 상기 단말의 제약 및 상기 추출된 특성으로부터 상기 출력 이미지의 파일 사이즈를 예측하는 단계;
(e) 상기 단말의 제약을 충족시키는 실현가능한 트랜스코딩 파라미터의 세트를 선택하는 단계;
(f) 선택된 실현가능한 트랜스코딩 파라미터를 이용하여 상기 입력 이미지를 상기 출력 이미지로 트랜스코드하는 단계;
(g) 상기 출력 이미지의 퀄리티 메트릭을 결정하는 단계; 및
(h) 상기 출력 이미지의 최고 퀄리티에 대응하는 퀄리티 메트릭이 찾아질 때까지 상기 (e)부터 (g)까지의 단계를 반복하는 단계
를 포함하는 이미지 트랜스코딩 방법이 제안된다.
위에서 설명한 방법에 있어서, 상기 (g) 단계는 상기 입력 이미지와 비교되는 상기 출력 이미지의 PSNR(Peak Signal to Noise Ratio) 또는 MD(Maximum Difference 의 계산에 기초하여 상기 퀄리티 메트릭을 계산하는 단계를 포함한다.
바람직하게는, 상기 (g) 단계는 퀄리티 예측 테이블의 검색에 의해 상기 퀄리티 메트릭을 예측하는 단계를 포함한다. 필요한 경우, 상기 (g) 단계는 테이블 엔트리들 사이에 인터폴레이트하는 단계를 포함한다.
상기 (e) 단계는 실현가능한 트랜스코딩 파라미터의 세트를 높은 퀄리티 메트릭을 야기할 것으로 예측되는 실현가능한 트랜스코딩 파라미터만을 유지함으로써 더 작은 세트로 줄이는 단계를 포함한다. 상기 (e) 단계는 상기 실현가능한 트렌스코딩 파라미터에 의해 인덱스되는, 상기 예측된 퀄리티 메트릭을 검색하기 위한 퀄리티 예측 테이블을 사용하는 단계를 포함한다.
바람직하게는, 상술된 시스템 및 방법에 의해 처리되는 입력 및 출력 이미지는 JPEG 이미지이다. 본 발명의 실시예들에 의한 방법 및 시스템은, 손실이 있는(lossy) 압축 모드에서 사용될 때, 다른 포맷, 예를 들어 GIF (Graphics Interchange Format) 및 PNG (Portable Network Graphics) 로 인코드된 디지털 이미지에도 적용 가능하다.
따라서, 디지털 이미지의 트랜스코딩을 위한 개선된 시스템 및 방법이 제안된다.
본 발명의 실시예들은, 참조된 도면과 관련하여, 예시를 통해 설명될 것이다:
도 1은 종래 기술의 MMS 시스템 구조(100)의 예를 도시한다;
도 2는 기본(basic) 퀄리티-인식 이미지 트랜스코딩 시스템(기본 시스템)(200)을 도시한다;
도 3은 기본 시스템(200)의 퀄리티 평가 모듈(210)의 세부 사항(details)을 보여준다;
도 4는 기본 시스템(200)에 대응하는, JPEG 이미지 트랜스코딩에서 파라미터의 선택을 위한 기본 퀄리티-인식 파라미터 설정 방법(기본 방법)(400)의 흐름도이다;
도 5는 기본 방법(400)의 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동”의 확장(expansion)을 보여주는 흐름도이다;
도 6은 퀄리티 예측 테이블 발생 시스템(500)을 보여준다;
도 7은 간단한 퀄리티-인식 이미지 트랜스코딩 시스템(간단한 시스템)(600)을 보여준다;
도 8은 간단한 시스템(600)에 적용 가능한 JPEG 이미지 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 예측 방법(predictive method)의 흐름도(flow chart)(700)이다;
도 9는 예측 방법(700)의 단계(702) “예측 Q-인식 파라미터 선택 루프 작동”의 확장을 보여주는 흐름도이다;
도 10은 개선된 퀄리티-인식 트랜스코딩 시스템(개선된 시스템)(800)의 블록 다이어그램을 보여준다;
도 11은 개선된 시스템(800)에 적용 가능한 JPEG 이미지 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 개선된 방법(900)의 흐름도이다;
도 12는 개선된 방법(900)의 단계(902) “세트 “F” 생성(create)”의 확장을 보여주는 흐름도이다;
도 13은 개선된 방법(900)의 단계(904) “개선된 Q-인식 파라미터 선택 및 트랜스코딩 작동”의 확장을 보여주는 흐름도이다;
도 14a 및 14b는 각각 zV=0.7이고 s_max=1.0인 경우의 분류된 PSNR 값의 예; 및 zV=0.7 이고 s_max=0.7인 경우의 분류된 PSNR 값의 예를 보여준다; 그리고
도 15는 퀄리티 예측 테이블 발생 시스템(500, 도 6)의 기능을 도시하는, 퀄리티 예측 테이블 발생 방법(1000)의 흐름도이다.
본 발명의 목적은 해상도 또는 이미지 사이즈 및 파일 사이즈의 측면에서 디스플레이 장치의 제약에 대응하기 이한 이미지 스케일링을 위한 방법 및 퀄리티-인식(quality-aware) 이미지 트랜스코더을 제공하는 것이고, 동시에 사용자 경험(user experience) 또는 트랜스코드된(transcoded) 이미지의 목표 퀄리티를 최대화하는 것이다.
제 1 실시예에서, 트랜스코더 시스템은 많은 수의 이미지의 트랜스코딩 결과에 기반한 예측 테이블(predictive table, 아래의 테이블 1)을 이용하는 것으로 묘사된다. 이 예측 테이블의 더 세부적인 사항, 및 이러한 테이블이 만들어지는 방법은 위에서 언급된 paper by Steven Pigeon and Stephane Coulombe, entitled “Computationally efficient algorithms for predicting the file size of JPEG images subject to changes of quality factor and scaling” 에서 찾을 수 있다.
예측 테이블은 어느 정도의 통계적인 신뢰를 가지고, 3개의 양자화된 변수들(variables): 트랜스코딩 이전의 이미지의 입력 퀄리티 팩터(QF_in); 스케일링 팩터(“z”); 및 스케일된 이미지를 압축하는 데 이용되는 출력 퀄리티 팩터(QF_out) 의 함수로서 트랜스코드된 이미지의 파일 사이즈를 추정하는 3차원의 검색 테이블(look-up table) 역할을 할 수 있다.
독자의 편의를 위해, 예측 테이블의 2차원 슬라이스(slice)의 예시가 위에서 언급된 페이퍼로부터 여기에 복사(reproduce)되어 있다.
<테이블 1> 상대적인 파일 사이즈 예측
Figure 112010035122491-pct00001
테이블 1은 입력 퀄리티 팩터 QF_in = 80% 인 이미지를 스케일링 팩터 “z”, 및 출력 퀄리티 팩터 QF_out의 함수로서 트랜스코드하기 위한 상대적인 파일 사이즈 예측의 2차원의 슬라이스를 보여준다. 테이블은 10 by 10의 상대적인 사이즈 팩터들의 매트릭스로 양자화된, 상대적인 파일 사이즈 예측을 보여준다. 매트릭스 내의 각각의 엔트리(entry)는, 선택된 출력 퀄리티 팩터 QF_out 및 양자화된 스케일링 팩터 “z”의 함수로서 스케일된 JPEG 이미지의 평균 상대적인 파일 사이즈 예측의 예시이다. 출력 퀄리티 팩터는 매트릭스의 로우(row)의 인덱스로서 10부터 100까지의 10개의 값으로 양자화된다. 양자화된 스케일링 팩터 “z”는, 10%부터 100%까지의 범위를 가지고, 서브-어레이(sub-array)의 컬럼(column)의 인덱스이다. 테이블의 각각의 엔트리는 상대적인 사이즈 팩터를 나타내는데, 이는 선택된 파라미터를 가지고 이미지를 트랜스코딩(압축해제(decompressing), 스케일링, 및 재압축(recompressing))하는 팩터가 이미지의 파일 사이즈를 변화시킬 것으로 예상되는 것이다.
예를 들어, 70%의 스케일링 팩터와 90의 출력 퀄리티 팩터 QF_out으로 트랜스코드된, 파일 사이즈 100KB의 입력 이미지는 파일 사이즈가 100KB * 0.75 = 75KB인 출력 이미지를 산출할 것으로 예상된다. 이러한 결과는 많은 미리 계산된(pre-computed) 트랜스코딩, 많은 수의 다른 이미지들 - 특정(particular) 이미지의 트랜스코딩은 다른 파일 사이즈를 야기할 수 있다 - 의 세트로부터의 평균에 기반한 예측이라는 점을 주목해야 한다.
위에서 언급한 페이퍼에 상세히 설명된 바와 같이, 테이블은 많은 수의 이미지들로 이루어진 트레이닝 세트로부터 발생되고 최적화될 수 있다.
80%의 입력 퀄리티 팩터 QF_in은 world-wide web에서 발견되는 이미지의 대다수의 대표(representative)로 선택되었다. 예측 테이블은, 다른 입력 퀄리티 팩터의 이미지들을 트랜스코드하기 위한 파일 사이즈 예측을 나타내는, 추가적인 2차원의 슬라이스를 포함할 수 있다. 더불어, 테이블 1은, 예시적인 목적으로, 10 x 10 크기의 매트릭스로 선택되었다. 다른 크기의 매트릭스 또한 사용될 수 있다. 또한, 이하의 설명에서는 QF_in과 z와 같은 파라미터가 양자화되었으나, 테이블로부터 값들을 대신 인터폴레이트(interpolate)하는 것 또한 가능하다. 예를 들어, 테이블 1에서, 만약 상대적인 파일 사이즈 예측이 65%의 스케일링 팩터와 75의 출력 퀄리티 팩터 QF_out을 목표로 하였다면, 상대적인 파일 사이즈 (0.33+0.42+0.41+0.52) / 4 = 0.42 를 얻기 위해 선형 인터폴레이션(linear interpolation)이 사용될 수 있다.
본 발명의 실시예들의 나머지 설명을 위해, 80%의 입력 퀄리티 팩터 QF_in, 및 10 x 10 사이즈 테이블 1이 사용될 것이다.
테이블 1의 점검에 의하면 몇몇 QF_out 및 스케일링 팩터 “z”의 조합은 같은 예측된 파일 사이즈 근사치를 낸다는 것이 분명한데, 이는 어떤 조합이 주관적인(subjective) 사용자 경험 또는 목적하는(objective) 퀄리티를 최대화하는지의 의문을 일으킨다.
목적하는 퀄리티는 여러 다른 방법에 의해 산출될 수 있다. 본 발명의 제 1 실시예에서, 퀄리티 메트릭(quality metric)은 입력(트랜스코딩 전) 및 출력(트랜스코딩 후) 이미지들을 비교하는 경우에 제안된다. 소위 peak signal-to-noise ratio (PSNR)는 일반적으로 이미지 압축에서 복원(reconstruction)의 퀄리티의 판단으로서 이용된다. “maximum difference” (MD) 와 같은, 다른 메트릭 또한 일반적으로(without loss of generality) 이용될 수 있다.
도 2는 퀄리티-인식(quality-aware) 이미지 트랜스코딩 시스템(200)(기본 시스템)을 나타낸다. 이 시스템은 프로세서와, 컴퓨터 실행 가능한 명령어(instructions)가 저장된 컴퓨터 인식 가능한 저장 매체를 가지는 컴퓨터를 포함하고, 명령어들은 프로세서에 의해 실행될 때, 다음과 같은 모듈을 제공한다: 이미지 특성 추출 모듈(an Image Feature Extraction module)(202); 퀄리티 및 파일 사이즈 예측 모듈(a Quality and File Size Prediction module)(204); 퀄리티-인식 파라미터 선택 모듈(a Quality-aware Parameter Selection module)(206); 트랜스코딩 모듈(a Transcoding module)(208); 및 퀄리티 평가 모듈(a Quality Assessment module)(210)을 포함하는 기본 퀄리티 결정 블록(a Basic Quality Determination Block)(209). 트랜스코딩 모듈(208)은 압축해제(decompression)(212); 스케일링(214); 및 압축(216)을 위한 모듈을 포함한다. 기본 시스템(200)은 더 나아가 저장을 위한 수단(e.g. 데이터 스토리지(storage))를 포함한다: 입력 이미지(Input Image “I”)(218); 출력 이미지(Output Image “J”)(220); 예측 테이블 “M”(222); 및 단말 제약의 세트(Constraints)(224). 단말 제약의 세트(224)는 최대 디바이스 파일 사이즈 S(D), 및 최대 허용되는(permissible) 디바이스의 이미지 차원을 포함하는데, 이는 최대 허용되는 이미지 폭 W(D), 및 최대 허용되는 이미지 높이 H(D)이다.
테이블 “M”(222)는 위에서 참조(reference)된 “Kingston” 페이퍼에서 보이는 바와 같이 얻어질 수도 있고, 이로부터 테이블 “M”(222)의 서브-어레이의 예로서 테이블 1이 복사되어 있다.
입력 이미지 “I”(218)는 변환되기 위해 트랜스코딩 모듈(208)의 이미지 입력(226)으로 연결되고, 트랜스코딩 모듈(208)의 이미지 출력(228)으로 나오며, 출력 이미지 “J”(220)로 연결된다.
입력 이미지 “I”(218)는 또한 이미지 특성 추출 모듈(202)의 입력으로 연결되고, 퀄리티 평가 모듈(210)의 제 1 이미지 입력(230)으로 연결된다.
출력 이미지 “J”(220)을 출력하는 트랜스코딩 모듈(208)의 이미지 출력(228)은 또한 퀄리티 평가 모듈(210)의 제 2 이미지 입력(232)으로 연결된다. 퀄리티 평가 모듈(210)은 퀄리티 메트릭 “QM”을 출력하고, 이는 퀄리티-인식 파라미터 선택 모듈(206)의 QM-입력(234)으로 보내진다.
이미지 특성 추출 모듈(202)의 출력은 입력 이미지 파라미터 “IIP”의 세트이며, 이는 퀄리티 및 파일 사이즈 예측 모듈(204)의 IIP-입력(236) 및 퀄리티-인식 파라미터 선택 모듈(206)의 이미지 파라미터 입력(238)으로 연결된다. 입력 이미지 파라미터 “IIP”의 세트는 파일 사이즈 S(I), 인코딩 퀄리티 팩터 QF(I), 및 입력 이미지 “I”(218)의 폭과 높이 차원 W(I) 및 H(I)를 포함한다.
퀄리티 및 파일 사이즈 예측 모듈(204)의 출력은 테이블 “M”(222)의 서브-어레이 M(I)이다. 즉, 입력 이미지 “I”(218)의 양자화된 인코딩 퀄리티 팩터에 대응하는 QF_in = QF(I)의 인덱스인 테이블 “M”(222)의 슬라이스이다.
퀄리티-인식 파라미터 선택 모듈(206)의 출력은 트랜스코더 스케일링 팩터 “zT” 및 트랜스코더 퀄리티 팩터 “QFT”를 포함하는 트랜스코딩 파라미터의 세트이며, 또한 인코딩 퀄리티 팩터 QFT의 출력으로서 언급된다. 이러한 트랜스코딩 파라미터들은 트랜스코딩 모듈(208)의 트랜스코딩 파라미터 입력(242)으로 연결된다.
바람직한 실시예에서, 기본 시스템(200)은 편리하게 소프트웨어 프로그램에서 시행될 수 있는데, 여기에서 모듈(202부터 216)은 소프트웨어 모듈 서브루틴 함수(subroutine function)일 수 있고, 모듈의 입력과 출력은 각각 함수 호출 파라미터(function calling parameters) 및 함수 반환 값(function return values)일 수 있다. 입력 이미지 I(218), 출력 이미지 I(220), 및 테이블 “M”(222)는 모든 함수에 의한 접근이 가능한, 글로벌(global) 데이터로 저장될 수 있다. 단말 제약의 세트(224)는 디바이스 특징의 데이터 베이스로부터 얻어질 수 있다.
입력 이미지 “I”(218)의 트랜스코딩은 트랜스코딩 모듈(208)에서, 압축해제 모듈(212)에서의 압축해제, 트랜스코더 스케일링 팩터 “zT”를 이용한 스케일링 모듈(214)에서의 스케일링, 및 트랜스코더 퀄리티 팩터 “QFT”를 이용한 압축 모듈(216)에서의 스케일된 이미지의 압축에 의해 수행된다.
트랜스코딩 파라미터 zT 및 QFT는 따라서 트랜스코딩 단계(operation)을 컨트롤하는데, 여기에서 이 트랜스코딩 파라미터의 값은 퀄리티-인식 파라미터 선택 모듈(206)에 의해 결정된다. 퀄리티 평가 모듈(210)의 목적은 입력 이미지 “I”(218)을 출력 이미지 “J”(220)와 비교하고 퀄리티 메트릭 “QM”을 계산하기 위함인데, 이는 트랜스코딩 과정에 의해 야기되는 왜곡(distortion)의 측정치(measure)가 되어야 한다. 본 발명의 바람직한 실시예에서, 퀄리티 메트릭 “QM”은 분명히 이미지 쌍(pair)(이미지 “J” 및 “I”)의 PSNR로서 계산되고, dB로 측정된다. 높은 dB 값은 적은 왜곡, 즉 높은 퀄리티를 나타낸다.
퀄리티 및 파일 사이즈 예측 모듈(204)은, 테이블 “M”(222)의 서브-어레이 M(I)를 선택하기 위해, 입력 이미지 파라미터 “IIP”의 세트의 인코딩 퀄리티 팩터 QF(I)를 이용한다. 서브-어레이 M(I)는 원래 퀄리티 팩터 QF(I)로 인코드된 - 예를 들어 입력 이미지 “I”(218) - 어느 이미지의 트랜스코딩을 위한 예측된 상대적인 출력 파일 사이즈를 대표한다. 퀄리티 팩터 QF(I)는 실제 입력 퀄리티 QF_in의 양자화된 가장 가까운 등가물(nearest equivalent)이다.
퀄리티-인식 파라미터 선택 모듈(206)은 트랜스코딩 파라미터 zT와 QFT의 실현가능한(feasible) 값들의 쌍 (zT, QFT)을 선택하기 위한 계산 수단(computational means)를 포함하는데, 실현가능한(feasible)은 다음과 같이 정의된다:
트랜스코딩 파라미터의 전 범위로부터, 구별된(distinct) 값의 쌍 (zT, QFT)이 테이블 “M”(222)의 인덱스 범위(“z”, 및 QF_out)로부터 선택된다;
값의 쌍 (zT, QFT)은 트랜스코더 스케일링 팩터 zT가 최대 스케일링 팩터 “z_max”를 초과하지 않는 경우 수용되는데, 이 때 최대 스케일링 팩터 “z_max”는 최대 허용되는 이미지 폭 W(D) 및 높이 H(D)를 모두 초과되지 않는 단말 제약(224)의 세트로부터 결정되고, 그렇지 않으면 또다른 구별된 값의 쌍 (zT, QFT)이 선택된다;
값의 쌍 (zT, QFT)은 이후 대응하는 예측된 상대적인 출력 파일 사이즈 sT를 결정하는 서브-어레이 M(I)를 인덱스하기 위해 사용된다; 그리고
값의 쌍 (zT, QFT)은 예측된 상대적인 출력 파일 사이즈 sT가 최대 상대적인 파일 사이즈 s_max를 초과하지 않는 경우 실현가능한 것으로 여겨지는데, 여기에서 s_max는 1보다 작은 값(the lesser of unity)이거나, 또는 입력 이미지 “I”(218)의 실제 파일 사이즈 S(I)에 의한 제약(224)으로부터 최대 디바이스 파일 사이즈 S(D)를 나눔(dividing)으로써 계산되는 비율(ratio)이고, 그렇지 않으면 또다른 구별된 값의 쌍 (zT, QFT)이 선택된다;
퀄리티 메트릭 QM이 최적일 때까지 반복적으로 구별된 값의 쌍 (zT, QFT)를 찾기 위한 계산 수단(computational means)은 각각의 실현가능한 zT 및 QFT의 조합을 위한 루프를 포함한다:
트랜스코딩 단계(입력 이미지 “I”(218) 부터 출력 이미지 “J”(220)까지)는 트랜스코딩 모듈(208)에 의해 수행된다;
결과의 출력 이미지 “J”(220)은 실제 파일 사이즈 S(J)를 가지고, 트랜스코딩은 만약 결과의 상대적인 파일 사이즈 - 출력 이미지 “J”(220)의 실제 파일 사이즈 S(J)를 입력 이미지 “I”(218)의 실제 파일 사이즈 S(I)로 나눔으로써 얻어짐 - 가 최대 상대적인 파일 사이즈 s_max를 초과하는 경우 여전히 거부될 수 있다;
트랜스코딩의 퀄리티는 특정 트랜스코딩을 위한 퀄리티 메트릭 QM을 발생시킴으로써 퀄리티 평가 모듈(210)(더 구체적인 사항은 이하를 참조)에서 평가된다; 그리고
최고 연계된 퀄리티 메트릭 QM을 가진 출력 이미지 “J”(220)가 베스트 이미지로서 유지된다.
퀄리티 평가 모듈(210)에서의 입력 이미지 “I”(218)와 출력 이미지 “J”(220)의 비교는 두 이미지가 같은 이미지 해상도를 가지고 비교될 수 있도록 하기 위해 적어도 하나의 추가적인 스케일링 단계가 요구된다는 사실에 의해 복잡해진다.
도 3은 기본 시스템(200)의 퀄리티 평가 모듈(210)의 세부 사항을 보여준다. 퀄리티 평가 모듈(210)은 압축해제(R) 모듈(302); 스케일링(zR) 모듈(304); 압축해제(V) 모듈(306); 스케일링(zV) 모듈(308); 및 퀄리티 계산 모듈(310)을 포함한다.퀄리티 평가 모듈(210)의 제 1 이미지 입력(230)으로 연결되는 입력 이미지 “I”는 압축해제(V) 모듈(306)에서 압축해제되고, 스케일링(zV) 모듈(308)에서 스케일되어, 퀄리티 계산 모듈(310)의 제 1 입력으로 연결된다. 마찬가지로, 제 2 이미지 입력(232)으로 연결된 출력 이미지 “J”는 압축해제(R) 모듈(302)에서 압축해제되고, 스케일링(zR) 모듈(304)에서 스케일되어, 퀄리티 계산 모듈(310)의 제 2 입력으로 연결된다. 퀄리티 계산 모듈(310)은 퀄리티 메트릭 QM을 발생시킨다.
두개의 리-스케일링(re-scaling) 파라미터, 스케일링(zR) 모듈(304)에서 사용되는 리-스케일링 팩터 zR, 및 스케일링(zV) 모듈(308)에서 사용되는 뷰잉(viewing) 스케일링 팩터 zV가 정의된다.
이미지 해상도가 같기 위해서, zV = zT * zR 이어야 한다. - zT는 위에서 설명된 트랜스코더 스케일링 팩터 zT이다. - 뷰잉 스케일링 팩터 zV는 1보다 작거나 같아야 하는데, 퀄리티를 비교함에 있어서 우리는 오리지널 이미지의 해상도를 증가시키기를 절대 원하지 않기 때문이다. 트랜스코더 스케일링 팩터 zT는 항상 1보다 작거나 같고, 디바이스 제약을 만족시키는 것으로 선택된다.
뷰잉 스케일링 팩터 zV는 출력 이미지 “J”가 스케일되는 뷰잉 컨디션(conditions)에 의존적(dependent)이고, 뷰어 경험(viewer experience), 즉, 예상되는 주관적인 이미지 퀄리티를 최대화 (최적화) 하는 것으로 선택되어야 한다.
세가지 케이스(cases)가 관심의 대상이다:
뷰잉 케이스 1: zV = 1. 이미지는 입력 이미지 “I”의 해상도로 비교된다. 이는 zR = 1/zT 에 해당하고, 이는 출력 이미지 “J”는 스케일 업(scale up)될 필요가 있다는 것이다.
뷰잉 케이스 2: zV = zT. 이미지는 출력 이미지 “J”의 해상도로 비교되고 따라서 zR=1이다.
뷰잉 케이스 3: zT < zV < 1. 이미지는 오리지널(“I”)와 트랜스코드된(“J”) 이미지 해상도 사이의 해상도로 비교되고, 그래서 zR = zV/zT이다. 이는 zR > 1의 결과가 되고, 이는 출력 이미지 “J”는 스케일 업될 필요가 있을 수 있다는 것이다.
뷰잉 스케일링 팩터 zV의 선택에 따른, 예상되는 뷰잉 컨디션은 트랜스코드된 결과의 사용자의 감상(appreciation)에 중요한 역할을 한다. 만약 출력 이미지 “J”가 단말에서만 보인다면, 뷰잉 케이스 2는 좋은 선택이 될 수 있다.
그러나, 출력 이미지 “J” 가 다른, 다시 스케일 업 될 수 있는 더욱 유능한(capable) 디바이스(예를 들어 개인(personal) 컴퓨터)로 이후에 전송(transfer)될 수 있다면, 오리지널 이미지(입력 이미지 “I”)의 해상도가 고려되어야 하고, 뷰잉 케이스 1을 요한다.
뷰잉 케이스 3은 출력 이미지 “J”가 트랜스코드된 해상도와 오리지널 이미지(입력 이미지 “I”)의 사이의 해상도, 예를 들어 사용자가 디바이스에서 팬(pan)과 줌(zoom)할 수 있는 디바이스에 의해 지원되는 최대 해상도에서 - 그 해상도에 의해서만 제한되는 - 보일 때 사용될 수 있다.
뷰잉 케이스 3은 입력 및 출력 이미지가 각각 스케일링 팩터 zV 및 zR에 의해 스케일되는 경우의 가장 일반적인 케이스이다. 특별한 케이스(뷰잉 케이스 1 및 뷰잉 케이스 2)에서는 쉽게 이해된 바와 같이, 퀄리티 계산 모듈(310)에서 약간의 프로세싱 효율(processing efficiencies)이 얻어질 수 있다.
예를 들어, 뷰잉 케이스 1 (zV = 1)에서, 비교를 위해 입력 이미지 “I”의 실제 리-스케일링은 요구되지 않는다. 결과적으로, 이미 압축해제된 입력 이미지 “I”는 트랜스코딩 모듈(208)의 압축해제 모듈(212)의 출력에서 이미 이용가능하고, 퀄리티 계산 모듈(310)에서 직접 사용될 수 있다.
마찬가지로 뷰잉 케이스 2에서, 비교를 위해 출력 이미지 “J”의 실제 리-스케일링은 요구되지 않는다. 따라서 출력 이미지 “J”는 오직 압축해제(R) 모듈(302)에서만 압축해제될 필요가 있고, 스케일링(zR) 모듈의 리-스케일링 단계는 생략될 수 있다.
스케일링 및 비교 단계에 일반적으로 내재하는 양자화로 인해, 트랜스코드된 이미지(출력 이미지 “J”)에는 오리지널 이미지(입력 이미지 “I”)와 비교하여 왜곡(distortion)이 있을 것이다. 마찬가지로, 퀄리티 평가 모듈(210)에서의 이러한 하나 또는 두 이미지의 리-스케일링은 추가적인 왜곡을 일으킨다. 그 결과, 위에서 설명된 세가지 케이스에 대응하는 뷰잉 컨디션은 퀄리티 계산에 있어 다른 결과를 가져올 수 있고, 베스트 퀄리티 이미지는, 뷰잉 스케일링 팩터 zV 및 그에 따른(resultant) 리-스케일링 팩터 zR의 선택에 의존하여, 값의 쌍 (zT, QFT)에서 트랜스코딩 파라미터의 다른 파라미터 세팅으로 얻어질 수 있다. 뷰잉 스케일링 팩터 zV (및 내재하는 zR)는 기본 시스템(200)의 의도된 적용(application)에 따라 퀄리티 및 파일 사이즈 예측 모듈(204)에서 선택되고 설정될 수 있다. 가장 간단한 케이스에서, 뷰잉 스케일링 팩터 zV는 트랜스코더 스케일링 팩터 zT(뷰잉 케이스 2)와 동일하게 설정된다. 만약 이미지가 단말에서만 보이는 것으로 최적화된다면, 뷰잉 컨디션은 디바이스에 의해 지원되는 최대 해상도에 일치하도록 설정될 것이 제안된다.
도 4는 기본 시스템(200)에 대응하는, JPEG 이미지 트랜스코딩에서 파라미터의 선택을 위한 기본(basic) 퀄리티-인식 파라미터 설정 방법(기본 방법)(400)의 흐름도이다. 기본 방법(400)은 다음의 순차적인 단계들을 포함한다.
단계(402) “디바이스 제약 획득”;
단계(404) “입력 이미지 I 획득”;
단계(406) “이미지 특성 추출”;
단계(408) “퀄리티 및 파일 사이즈 예측”;
단계(410) “파라미터 초기화(initialize)”;
단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동”;
단계(414) “결과 인증(validate)”; 및
단계(416) “이미지 J 반환(return)”
단계(402) “디바이스 제약 획득” 에서, 디스플레이 디바이스(도 1의 수신 노드(106)와 비교)의 최대 디바이스 파일 사이즈 S(D), 최대 허용되는 이미지 폭 W(D), 및 최대 허용되는 이미지 높이 H(D)를 포함하는 단말 제약의 세트(도 2의 제약(224)과 비교)가 데이터베이스 또는 직접적으로 네트워크를 통한 디스플레이 디바이스를 통해 획득된다.
단계(404) “입력 이미지 I 획득” 에서, 트랜스코드될 이미지(입력 이미지 “I”)가 발신(originating) 단말 또는 서버(도 1의 발신 노드(102)와 비교)로부터 수신된다.
단계(406) “이미지 특성 추출” 에서(도 2의 이미지 특성 추출 모듈(202)과 비교), 파일 사이즈 S(I), 이미지 폭 W(I), 이미지 높이 H(I) 및 인코딩 퀄리티 팩터 QF(I)를 포함하는 입력 이미지 파라미터의 세트가 입력 이미지 “I”로부터 획득된다. JPEG 인코드된 이미지에서, 파일 사이즈 S(I), 이미지 폭 W(I), 및 이미지 높이 H(I)는 이미지 파일로부터 손쉽게 이용 가능하다. 이미지의 인코딩에서 사용되는 퀄리티 팩터 QF(I)는 이미지 파일에서 명확하게 인코드되지 않을 수 있으나, "JPEG compression metric as a quality aware transcoding" by Surendar Chandra and Carla Schlatter Ellis, Unix Symposium on Internet Technologies and Systems, 1999 에 설명된 방법에 따라 상당히 믿을만하게 추정될 수 있다. 대신에, 입력 이미지 “I”의 퀄리티 팩터 QF(I)는 어플리케이션(application)의 전형적인 퀄리티 팩터인 것으로, 예를 들어 80%로 간단히 추정될 수 있다.
단계(408) “퀄리티 및 파일 사이즈 예측” 에서(도 2의 퀄리티 및 파일 사이즈 예측 모듈(204)과 비교), 뷰잉 컨디션이 수립된다. 즉, 뷰잉 스케일링 팩터 zV를 위한 적절한 값이 선택된다:
zV = min ( W(D)/W(I), H(D)/H(I), 1),
여기에서 zV는 입력 이미지 폭 W(I)에 대한 최대 허용되는 이미지 폭 W(D)의 비율, 입력 이미지 높이 H(I)에 대한 최대 허용되는 이미지 높이 H(D)의 비율, 및 1 중 가장 작은 것이다. 이미지의 가로세로비(aspect ratio)는 보통 트랜스코딩에서 보존되는 것으로 가정된다. 1의 상한(upper limit)은 디스플레이 디바이스가 오리지널 입력 이미지 “I”보다 더 큰 이미지를 디스플레이할 수 있는 능력이 있을지라도 zV가 1을 초과하지 않도록 보장하기 위함이다. 수정(modification) 중에 바람직한(desirable) 것으로 여겨지는 경우 수평 및 수직으로의 트랜스코딩에서 다른 스케일링 팩터를 적용하는 것이 가능하다.
인코딩 퀄리티 팩터 QF(I)를 인덱스 QF_in으로 양자화하면서, 로컬(local) 파일 또는 데이터베이스로부터, 테이블 “M”(222)의 서브-어레이 M(I)가 리트리브(retrieve)된다. 서브-어레이 M(I)는 스케일링 팩터 “z” 및 출력 퀄리티 팩터 QF_out - 스케일된 이미지의 압축에 사용될 것 - 에 의한 상대적인 파일 사이즈 예측을 포함한다. 서브-어레이 M(I)는 또한 zV를 초과하는 스케일링 팩터(“z”)에 의해 인덱스되는 행(column), 및 디스플레이 디바이스의 최대 상대적인 파일 사이즈 s_max를 초과하는 상대적인 파일 사이즈 예측을 포함할 수 있다; 서브-어레이 M(I)에 남아있는 엔트리는 실현가능한 인덱스 값의 쌍(“z”, QF_out)의 세트에 의해 인덱스된다.
단계(410) “파라미터 초기화” 에서 몇몇 변수들이 다음 단계를 준비하기 위해 초기화된다. 이러한 변수들은:
베스트 트랜스코더 퀄리티 팩터=0;
베스트 트랜스코더 스케일링 팩터 =0;
베스트 퀄리티 메트릭 QM=0; 그리고
베스트 이미지=NIL
이다.
두개의 제한, 최대 상대적인 파일 사이즈 s_max 및 최대 스케일링 팩터 z_max 또한 초기화된다. 최대 상대적인 파일 s_max는 최대 디바이스 파일 사이즈 S(D)를 입력 이미지 “I”(218)의 실제 파일 사이즈 S(I)로 나눔으로써 계산되고, 1까지로 제한된다. 최대 스케일링 팩터 z_max는 이전 단계에서 이미 계산된 스케일링 팩터 zV를 보임으로써 주어진다. 즉, z_max=zV이다.
단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 은: 서브-어레이 M(I)로부터 구별된 유효한 값의 쌍 (“z”, QF_out) 획득하고; 이 값들에 zT 및 QFT 할당하고; zT 및 QFT를 이용하여 입력 이미지 “I”를 출력 이미지 “J”로 트랜스코드되도록 하고; 결과의 퀄리티 메트릭 QM을 계산하고, 베스트 이미지가 찾아질 때까지 루프를 작동시킨다. “베스트”는 최고 퀄리티 메트릭 QM을 얻는 것을 의미한다. 동시에, 루프는 또한 트랜스코더 퀄리틱 팩터 QFT 및 트랜스코더 스케일링 팩터 zT - 베스트 출력 이미지(도 5에 미도시)를 산출한 트랜스코딩 단계에서 사용된 - 를 추적(track)할 수 있으나, 궁극적으로 오직 베스트 이미지만이 관심사이기 때문에 반드시 필요한 것은 아니다.
도 5는 기본 방법(400)의 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 의 확장(expansion)을 보여주는 흐름도이며, 다음의 하위 단계들을 가진다:
단계(452) “다음(next) 값의 쌍 획득”;
단계(454) “값의 쌍이 이용가능?”;
단계(456) “값의 쌍이 실현가능?”;
단계(458) “I를 J로 트랜스코드”;
단계(460) “실제 사이즈 OK?”;
단계(462) “J를 압축해제하고 zR을 이용하여 X로 스케일”;
단계(464) “I를 압축해제하고 zV을 이용하여 Y로 스케일”;
단계(466) “메트릭 QM=PSNR(X,Y) 계산”;
단계(468) “QM>Best Q?”;
단계(470) “베스트 Q := QM, 베스트 이미지 := J 로 설정”; 그리고
단계(472) “J := 베스트 이미지 로 설정”.
단계(462)부터 단계(466)까지는 “퀄리티 평가 단계”(464)이며 퀄리티 평가(도 2의 퀄리티 평가 모듈과 비교)의 기능(functionality)을 포함한다.
단계(452) “다음 값의 쌍 획득” 에서, 구별된 값의 쌍이 이용 가능하다면, 서브-어레이 M(I)를 인덱스하는 다음 값의 쌍 (“z”, QF_out)이 선택된다.
단계(454) “값의 쌍이 이용가능?” 에서 구별된 값의 쌍이 이용 가능한지 테스트가 이루어진다. 만약 이용 가능하다면(단계(454)에서 예(YES)) 단계(456) “값의 쌍이 실현가능?” 이 이어서 실행되고, 그렇지 않으면(단계(454)에서 아니오(NO)) 모든 구별된 값의 쌍이 소진되었으므로(exhausted) 루프는 단계(472) “J := 베스트 이미지 로 설정” 으로 빠져나온다.
단계(456) “값의 쌍이 실현가능?” 에서 두가지 테스트가 이루어진다. 먼저 값의 쌍 (“z”, QF_out)으로부터 스케일링 팩터 “z”가 최대 스케일링 팩터 z_max와 비교된다. 만약 스케일링 팩터 “z” 가 최대 스케일링 팩터 z_max를 초과하면, 실현가능하지 않으므로, 값의 쌍 (“z”, QF_out)은 유효하지 않다. 만약 값의 쌍 (“z”, QF_out)이 유효하지 않으면, “값의 쌍이 실현가능?” 단계(456)는 즉시 (“아니오”)와 함께 빠져나가 루프의 처음으로 되돌아온다.
다음으로 예측된 상대적인 파일 사이즈 s가 구별된 값의 쌍 (“z”, QF_out)에 의해 인덱스된 서브-어레이 M(I)로부터 읽혀지고, 최대 상대적인 파일 사이즈 s_max와 비교된다. 만약 예측된 상대적인 파일 사이즈가 수용 가능하면, 즉 최대 상대적인 파일 사이즈 s_max를 초과하지 않으면, 단계(456) “값의 쌍이 실현가능?” 은 “예”와 함께 빠져나가 단계(458) “I를 J로 트랜스코드” 로 계속되고, 그렇지 않으면(단계(456)에서 아니오) 루프의 처음으로, 즉 단계(452) “다음 값의 쌍 획득” 으로 되돌아간다.
단계(458) “I를 J로 트랜스코드” 에서 입력 이미지 “I”가 압축해제되고; 트랜스코더 스케일링 팩터 zT=”z”로 스케일 되며; 스케일된 이미지는 트랜스코더 퀄리티 팩터 QFT=QF_out으로 압축되어, 출력 이미지 “J”가 된다.
단계(460) “실제 사이즈 OK?” 에서 실제 상대적인 사이즈 s_out이 출력 이미지 “J”의 파일 사이즈를 입력 이미지 “I”의 파일 사이즈로 나눔으로써 계산된다. 만약 실제 상대적인 사이즈 s_out이 최대 상대적인 파일 사이즈 s_max를 초과하지 않는다면(단계(460)에서 예), “퀄리티 평가 단계”(474)로 계속되고, 그렇지 않으면 (단계(460)에서 아니오) 루프의 처음으로, 즉 단계(452) “다음 값의 쌍 획득” 으로 되돌아간다. 실제 상대적인 사이즈 s_out은 실제로 예측된 상대적인 사이즈 “s”보다 클 수 있다는 점에 주의해야 한다.
“퀄리티 평가 단계”(474)의 단계(462) “J를 압축해제하고 zR을 이용하여 X로 스케일” 에서, 출력 이미지 “J”는 압축해제되고 zR = zV / zT 로 계산되는 리-스케일링 팩터 zR로 스케일되어, 제 1 중간(intermediate) 이미지 - 리-스케일된 출력 이미지 “X” - 가 된다. 마찬가지로, 단계(464) “I를 압축해제하고 zV을 이용하여 Y로 스케일” 에서 입력 이미지 “I”는 압축해제되고 뷰잉 스케일링 팩터 zV로 스케일되어, 제 2 중간 이미지 - 리-스케일된 입력 이미지 “Y” - 가 된다. 위에서 설명된 바와 같이, 뷰잉 스케일링 팩터 zV는 사용자 경험을 최대화하기 위해 이전에 선택되었다. 세가지의 뷰잉 케이스 1부터 3이 고려될 수 있다.
단계(466) “메트릭 QM=PSNR(X,Y) 계산” 에서 퀄리티 매트릭 QM의 값이 리스케일된 출력 및 입력 이미지 “J” 및 “I”의 peak signal-to-noise ratio (PSNR)로서 계산된다. 대신에 다른 메트릭, 예를 들어 “maximum difference” (MD) 에 기반한 메트릭 또한 일반적으로 사용될 수 있다.
단계(468) “QM>Best Q?” 에서, 계산된 퀄리티 메트릭 QM이 그때까지 루프에서 얻어진 베스트 퀄리티 메트릭과 비교된다. 단계(412) “베스트 Q”는 “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 의 시작 이전에 영(0)으로 초기화되어 있고 그때까지 얻어진 베스트 퀄리티 메트릭이라는 것을 주의해야 한다. 만약 계산된 퀄리티 메트릭 QM이 베스트 퀄리티 메트릭 (“베스트 Q, 단계(468)에서 예)보다 크다면, 단계(470) “베스트 Q := QM, 베스트 이미지 := J 로 설정” 으로 계속되고, 그렇지 않으면(단계(468)에서 아니오) 루프의 처음으로, 즉 단계(452) “다음 값의 쌍 획득” 으로 되돌아간다.
단계(470) “베스트 Q := QM, 베스트 이미지 := J 로 설정” 에서 그때까지의 가장 좋은 결과가 저장된다. 즉, 최고 퀄리티 메트릭 “베스트 Q”가 계산된 퀄리티 메트릭 Q와 동일하게 설정되고; 베스트 이미지가 출력 이미지 “J”와 동일하게 설정되며; 트랜스코딩 파라미터 QF_out 및 zT는 각각 베스트 트랜스코더 퀄리티 팩터 및 베스트 트랜스코더 스케일링 팩터(도 5에 미도시)로 저장될 수 있다. 단계(470) 이후에, 루프의 처음으로, 즉 단계(452) “다음 값의 쌍 획득” 으로 되돌아가는데, 이는 모든 실현가능한 파라미터 쌍이 소진될 때까지 입력 이미지 “I”의 더 좋은 트랜스코딩을 찾기 위함이다. 루프가 최종적으로 빠져나왔을 때(단계(454) “값의 쌍이 유효?” 에서 아니오), 단계(472) “J := 베스트 이미지 로 설정” 으로 계속된다. 출력 이미지 “J”는 루프의 실행에서 얻은 베스트 이미지와 동일하게 설정된다.
이것으로 확장된 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 의 설명은 완료되고, 단계(414) “결과 인증” 이 계속 실행된다(도 4).
단계(414) “결과 인증” 에서 간단한 체크는 유효한 베스트 이미지가 실제로 발견되고 출력 이미지 “J”로 할당되었는지(즉, “J”가 NIL이 아닌지)를 확실히 한다. 이는 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 의 실행 도중에 실현가능한 파라미터가 발견되지 않고, 베스트 이미지가 NIL로 유지되어 출력 이미지 “J”가 NIL로 설정되어 있는 경우 가능하다. 이것은 비정상이거나 잘못된 컨디션이고, 프로세스는 적응 엔진(108)으로 예외 에러(exception error)를 반환할 것이다.
마지막 단계(416) “이미지 J 반환” 과 함께, JPEG 이미지 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 기본 방법(400)은 트랜스코드된 출력 이미지 “J”를 시스템으로 반환하는 것으로 종료된다.
따라서 파라미터의 퀄리티-인식 선택을 위한 기본 방법(400)을 사용하는 기본 시스템(200)은, 비록 높은 프로세싱 비용일지라도, 퀄리티-인식 트랜스코더를 제공하도록 쓰일 수 있는데, 왜냐하면 많은 트랜스코딩 및 스케일링 단계가 주어진 입력 이미지 “I” 및 단말 제약의 세트에 대한 베스트 출력 이미지 “J”를 찾도록 수행될 필요가 있기 때문이다.
더 효율적인 시스템은 퀄리티-인식 파라미터 선택 및 예측된 퀄리티 메트릭 정보를 포함하는 룩업 테이블(look up table) - 테이블 인덱스는 입력 이미지 제약, 디바이스 제약, 및 뷰잉 컨디션으로부터 얻어짐 - 을 가진 트랜스코딩 루프를 늘리거나(augmenting) 교체(replacing)함으로써 구성될 수 있다. 입력 이미지 제약은 입력 이미지의 높이, 폭, 및 오리지널 퀄리티 팩터를 포함한다; 디바이스 제약은 출력 이미지의 차원 및 최대 파일 사이즈를 포함한다; 그리고 뷰잉 컨디션은 퀄리티가 최적의 것으로 의도되는 목표 스케일링 팩터에 의해 나타난다. 이러한 룩업 테이블은 다음(도 6)에 도시된 바와 같은 예측 테이블 발생 시스템(prediction table generation system) 및 대응하는 퀄리티 예측 테이블 발생 방법(도 14)을 통해 오프-라인(off-line)으로 발생될 수 있다.
도 6은 퀄리티 예측 테이블 발생 시스템(500)을 보여준다. 시스템(500)은, 프로세서(processor)와 컴퓨터 실행 가능한 명령어(computer execuable instructions)가 저장된 컴퓨터 판독 가능 저장 매체(computer readable storage medium)를 가지는 컴퓨터를 포함하고, 명령어는 프로세서에 의해 실행될 때, 다음의 모듈을 제공한다: 입력 이미지의 트레이닝 세트를 포함하는 데이터베이스(502); 퀄리티 예측 테이블의 계산 모듈(504); 퀄리티 예측 테이블 “N”을 위한 스토리지(storage)(506), 및 테이블 업데이트 모듈(508). 퀄리티 예측 테이블 발생 시스템(500)은 또한 기본 시스템(200)에서 같은 참조 숫자(reference numerals)로 번호가 붙은 모듈과 같은 다음의 모듈들을 포함한다: 이미지 특성 추출 모듈(202); 트랜스코딩 모듈(208); 및 퀄리티 평가 모듈(210).
입력 이미지의 트레이닝 세트(502)는 많은 수의 JPEG 이미지 - 예를 들어, 위에서 언급된 Steven Pigeon et al의 “Kingston” 페이퍼에 묘사된 70,300 파일의 이미지 트레이닝 세트 - 를 포함한다. 그 출력은, 기본 시스템(200)에서와 같이, 각각(individually) 이미지 특성 추출 모듈(202), 트랜스코딩 모듈(208), 및 퀄리티 평가 모듈(210)로의 입력인, 입력 이미지 “I”의 시퀀스(sequence)이다.
퀄리티 예측 테이블 발생 시스템(500)의 목적은 입력 이미지의 트레이닝 세트(502)에 포함된 각 이미지를 트랜스코딩함으로써 뷰잉 컨디션 (뷰잉 스케일링 팩터 zV)을 대표하는 트랜스코더 스케일링 팩터 zT, 및 입력 퀄리티 팩터 QF_out의 범위에서 퀄리티 예측 테이블 “N”(506)을 발생시키는 것이다.
퀄리티 예측 테이블 “N”(506)은 다차원의(multi-dimensional) 테이블 - 예를 들어, 4차원의 테이블 - 이고, 4개의 인덱스 변수들: 입력 이미지의 트레이닝 세트(502)로부터의 입력 이미지의 인코딩 퀄리티 팩터 QF_in, 뷰잉 스케일링 팩터 zV, 트랜스코더에서 출력 이미지의 압축에 사용되는 인코딩 퀄리티 팩터 QF_out, 및 트랜스코더 스케일링 팩터 zT에 의해 인덱스되는 퀄리티 메트릭 Q를 포함한다. 이러한 인덱스 변수들은 다음의 방법으로 발생된다.
입력 이미지의 인코딩 퀄리티 팩터 QF_in은 입력 이미지의 트레이닝 세트(502)로부터의 입력 이미지에 내재하고, 위에서 설명된 바와 같이, 이미지 추출 모듈(504)에서 각 이미지로부터 QF(I)로서 추출되고 양자화될 수 있다. 또한 이미지 트레이닝 세트를 주어진 양자화된 인코딩 퀄리티 팩터 QF_in 정도로 - 예를 들어 80% - 클러스터된(clustered) 이미지의 그룹으로 분할(partition)하는 것이 더욱 편리할 수 있다.
뷰잉 컨디션은 적어도 3개의, 위에서 설명된 뷰잉 스케일러 팩터 zV의 다른 값들로 정의된, 뷰잉 케이스를 포함한다. 테이블 “N”(506)의 발생에 있어서, zV를 위한 값의 범위로, 예를 들어 10%의 양자화된 단계로(in quantized steps of 10%), 발생시키는 것이 편리하다.
퀄리티 예측 테이블 발생 시스템(500)은 따라서 기본 시스템(200)과 유사하나, 기본 시스템(200)에서와 같이 디바이스 제약을 맞추기 위해 트랜스코더 퀄리티 팩터 QF_out 및 트랜스코더 스케일링 팩터 zT를 계산하는 대신에, 이들을 직접 발생시킨다.
입력 이미지의 트레이닝 세트(502)는 입력 이미지 “I”로서의 각각의 이미지를 다음으로 보낸다: 이미지 특성 추출 모듈(202); 트랜스코딩 모듈(208); 및 퀄리티 평가 모듈(210). 이미지 특성 추출 모듈(202)는 입력 이미지 파라미터 “IIP”의 세트를 퀄리티 예측 테이블의 계산 모듈(504)로 보낸다; 퀄리티 평가 모듈(210)은 계산된 퀄리티 측정치 QM을 퀄리티 예측 테이블의 계산 모듈(504)로 보낸다; 그리고 퀄리티 예측 테이블의 계산 모듈(504)는 트랜스코딩 파라미터의 쌍 (zT, QFT)로 트랜스코딩 모듈(208)을 컨트롤한다. 트랜스코딩 모듈(208)은 출력 이미지 “J”를 발생하고, 이를 퀄리티 평가 모듈(210)로 보낸다.
테이블 “N”(506)은 처음에는 비어 있다. 입력 이미지의 트레이닝 세트(502)의 각각의 입력 이미지, (뷰잉 스케일링 팩터 zV에 의해 나타나는) 뷰잉 컨디션의 각각의 범위(each of a range of), 트랜스코더 스케일링 팩터 zT의 각각의 범위, 및 인코딩 퀄리티 팩터 QF_out의 각각의 범위에 있어서, 퀄리티 예측 테이블 발생 시스템(500)은 베스트 퀄리티 메트릭 Q로 베스트 트랜스코드된 이미지(출력 이미지 “J”)를 발생시킨다. 각각의 계산된 베스트 퀄리티 메트릭 Q (“Best Q”)는, 각각의 계산의 4개의 인덱스 값(QF_in, zV, QF_out, 및 zT)와 함께, 테이블 업데이트 모듈(508)을 통해(via) 테이블 “N”(506)을 업데이트하기 위해 보내진다.
많은 이미지들이 같은 인덱스이나 실제 약간(slightly) 다른 실제 값으로 베스트 퀄리티 메트릭 Q의 값을 발생시킬 것이기 때문에, 퀄리티 예측 테이블 발생 시스템(500)에 의해 발생되는 원래의(raw) 데이터는, 위에서 언급된 Steven Pigeon et al의 “Kingston” 페이퍼에 설명된 것과 유사한 방법으로, 테이블 업데이트 모듈(508)에서 유리하게(advantageously) 수집되고 진행될 수 있다. 이 방법으로, 데이터의 그룹화(grouping) 및 양자화에 의해, 4개의 인덱스 값의 조합을 위한 퀄리티 메트릭의 최적의 LMS(least mean squares, 최소 평균 제곱) 추정량(estimators)이, 퀄리티 예측 테이블 “N”(506)에서 계산되고 저장될 수 있다.
아래의 테이블 2, 3 및 4는 본 발명의 실시예에 따라 퀄리티 예측 테이블 발생 시스템(500)에서 계산된 예로서, 퀄리티 예측 테이블 “N”(506)의 일 예의 2차원의 서브-테이블(sub-table)을 보여준다.
<테이블 2>
Figure 112010035122491-pct00002
<테이블 3>
Figure 112010035122491-pct00003
<테이블 4>
Figure 112010035122491-pct00004

테이블 2 및 3은 이전에 언급된 입력 이미지의 큰(large) 트레이닝 세트에서 각각 뷰잉 케이스 1 및 2로 계산된, QF_in=80인 때의 평균 PSNR 값의 분포(distribution)를 보여준다. 테이블 4는 뷰잉 케이스 3의 평균 PSNR 값을 보여주는데, 여기에서 뷰잉 컨디션은 오리지널 화상(picture)의 사이즈의 90%의 최대 줌(zoom)에 대응한다.
테이블 2, 3 및 4는 다음에서 설명되는 개선된(improved) 트랜스코딩 시스템에서 퀄리티 추정량으로써 사용될 수 있다.
뷰잉 케이스 1(테이블 2)에서, 스케일-업된(scaled-up) 트랜스코드된 출력 이미지는 오리지널 입력 이미지와 비교된다. 트랜스코더 스케일링 팩터 zT 및 인코딩 퀄리티 팩터 QF_out 모두 측정된 퀄리티에 영향을 미친다. 그러나, 낮은 인코딩 퀄리티 팩터로부터의 블로킹 인공물(blocking artifacts)로 인한 오리지널 이미지와 트랜스코드된 이미지 사이의 차이는 PSNR이 동일하다면, 스케일링의 효과와 동일한 것으로 고려될 것이다. 이것은 모순된(paradoxical) 것으로 보이는데, 왜냐하면 블로킹 인공물은 더 부드러운(smoother) 낮은 해상도(low-resolution) 이미지보다 시각적으로 더 짜증스러운(annoying) 것이기 때문이다. 따라서, 측정치(measure)는 낮은 해상도, 높은 QF(high-QF) 이미지보다 높은 해상도(high-resolution), 낮은 QF(low-QF) 이미지를 선호한다. 비교가 사용자에게 더 낮은 해상도의 이미지를 제시하여 야기되는 인식된 퀄리티의 손실을 설명하지 못한다는 사실은 이러한 성향(bias)를 어느 정도 보상한다.
뷰잉 케이스 2(테이블 3)에서, 이미지들은 트랜스코드된 해상도에서 비교된다. 퀄리티 추정량은 인코딩 퀄리티 팩터보다 스케일링에 의해 덜 영향을 받는데, 왜냐하면 비교 이전에 양 이미지가 같은 해상도로 스케일 다운되고, 스케일링이 결점을 완화(smooth)하기 때문이다. 게다가, 파일 사이즈는 인코딩 퀄리티 팩터 QF_out에서의 변화보다 스케일링에 따라 더 변하기 때문에, 높은 QF_out을 가진 더 작은 이미지가 낮은 QF_out을 가진 큰 이미지보다 선호된다. 이것은 만약 트랜스코드된 이미지가 낮은 해상도에서만 보인다면 타당하나, 그렇지 않으면 뷰어(viewer)를 위한 손실은 너무나 크다. 뷰잉 케이스 3(테이블 4)은 사용자의 뷰잉 컨디션에 맞춰지고, 따라서 더 정확한 퀄리티의 추정이 된다.
퀄리티 예측 테이블 “N”(506)은, 더 간단한 퀄리티-인식 트랜스코딩 시스템,즉 기본 시스템(200)보다 더 간단하고 효율적인 시스템에서 유리하게 사용될 수 있다.
도 7은 간단한 퀄리티-인식 이미지 트랜스코딩 시스템(간단한 시스템)(600)을 보여준다. 시스템(600)은 프로세서와 컴퓨터 실행 가능한 명령어가 저장된 컴퓨터 판독 가능 저장 매체를 가지는 컴퓨터를 포함하고, 프로세서에 의해 실행될 때, 기본 시스템(200)과 유사하나, 퀄리티 팩터를 계산하기 위한 계산상으로 비싼 반복(iterations)이 퀄리티 예측 테이블 “N”(506) - 컴퓨터 판독가능 저장 매체에 저장되어 있음 - 내의 간단한 테이블 검색(look-up)에 의해 대체된, 모듈을 제공한다.
간단한 시스템(600)은 퀄리티 평가 모듈(210)을 포함하는 기본 퀄리티 결정 블록(209)를 제외한 기본 시스템(200)의 같은 모듈을 모두 포함한다. 이러한 모듈들(202부터 208)들은 변하지 않고 유지되어 도 2에서와 같은 참조 숫자를 가지고, 같은 기능을 가진다. 또한, 간단한 시스템(600)은 도 6에서의 테이블 N(506)을 포함하는 간단한 퀄리티 결정 블록(602)을 포함한다.
계산된 퀄리티 측정치 QM은 간단한 시스템(600)의 퀄리티 평가 모듈에 의해 발생되지 않고, 퀄리티 예측 테이블 “N”(506)으로부터 직접 획득된다. 퀄리티 예측 테이블 “N”(506)은 그 구조와 발생이 도 6에 설명된, 같은 테이블이고, 그 부분적인 예들이 위의 테이블 2, 3 및 4에 나와 있다. 퀄리티 예측 테이블 “N”(506)은 4개의 파라미터에 의해 어드레스(address)된다: 입력 퀄리티 팩터 QF_in은 이미지 특성 추출 모듈(202)로부터 획득된다; 1 (뷰잉 케이스 1) 또는 뷰잉 컨디션에 적절한 다른 값으로 설정될 수 있는 뷰잉 스케일링 팩터 zV; 트랜스코더 퀄리티 팩터 QFT; 및 트랜스코더 스케일링 팩터 zT. QFT 및 zT는 QM을 최대화하기 위한 루프의 퀄리티-인식 파라미터 선택 모듈(206)에 의해 선택된다. 이것은 다음의 방법 설명에 보다 상세히 기술된다.
도 8은 간단한 시스템(600)에 적용 가능한 JPEG 이미지 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 예측 방법(predictive method)의 흐름도(flow chart)(700)이다. 예측 방법(700)은 같은 참조 숫자를 가지고 도 4의 기본 방법(400)의 같은 순차적인 단계를 많이 포함한다:
단계(402) “디바이스 제약 획득”;
단계(404) “입력 이미지 I 획득”;
단계(406) “이미지 특성 추출”;
단계(408) “퀄리티 및 파일 사이즈 예측”;
단계(410) “파라미터 초기화(initialize)”;
단계(414) “결과 인증(validate)”; 및
단계(416) “이미지 J 반환(return)”
도 4의 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 자리에, 예측 방법(700)은 새로운 단계 (단계(410) “파라미터 초기화(initialize)” 이후 단계(414) “결과 인증(validate)” 이전 사이에 인터폴레이트된), 단계(702) “예측 Q-인식 파라미터 선택 루프 작동” 을 포함한다.
도 9는 예측 방법(700)의 단계(702) “예측 Q-인식 파라미터 선택 루프 작동”의 확장을 보여주는 흐름도이며, 같은 참조 숫자 및 같은 기능을 가지고 도 5의 확장된 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 의 몇몇 같은 단계들을 포함한다:
단계(452) “다음(next) 값의 쌍 획득”;
단계(454) “값의 쌍이 이용가능?”;
단계(456) “값의 쌍이 실현가능?”;
단계(458) “I를 J로 트랜스코드”;
더불어, 단계(702)의 확장 “예측 Q-인식 파라미터 선택 루프 작동”은 세개의 새로운 단계를 포함한다:
단계(706) “테이블 N으로부터 예측된 퀄리티 메트릭 QM 획득”;
단계(708) “QM > 베스트 Q?” 및
단계(710) “설정: 베스트 Q := QM, zT := z, QFT := QF_out”.
* 단계 순서는 도 5부터 도 9까지 수정된다: 단계(454)의 출구 “아니오”는 각각 단계(458)로 간다(이것은 트랜스코드된 출력 이미지 “J”가 반환되는 함수 반환에 의해 이루어진다). 단계(456)의 출구 “예”는 단계(706)으로 간다.
단계(706) “테이블 N으로부터 예측된 퀄리티 메트릭 QM 획득”에서 미리 계산된(precomputed) 퀄리티 메트릭 값 QM이 4개의 파라미터: 단계(406) “이미지 특성 추출”(도 8)에서 획득된 입력 퀄리티 팩터 QF(I); 단계(408) “퀄리티 및 파일 사이즈 예측”에서 선택된 뷰잉 스케일링 팩터 zV; 인코딩 퀄리티 팩터 QF_out; 및 트랜스코더 스케일링 팩터 z 를 가지고 테이블 “N”으로 인덱스함으로써 테이블 “N”으로부터 리트리브된다:
단계(706) “테이블 N으로부터 예측된 퀄리티 메트릭 QM 획득”은 단계(708) “QM > 베스트 Q?”로 이어진다.
단계(708) “QM > 베스트 Q?”에서 이전 단계에서 획득된 퀄리티 메트릭 QM은 그때까지 발견된 최고 퀄리티 메트릭 “베스트 Q”와 비교된다. “베스트 Q”는 이전의 단계(410) “파라미터 초기화”(도 8)에서 0으로 초기화되었고, 비교 결과에 따라, 더 높은 값이 발견되는 때마다 업데이트된다. 만약 비교 결과가 진실(예)이라면, 다음 단계(710) “설정: 베스트 Q := QM, zT := z, QFT := QF_out” 가 계속되고, 그렇지 않으면 루프는 단계(452) “다음 값의 쌍 획득”으로 되돌아간다.
단계(710) “설정: 베스트 Q := QM, zT := z, QFT := QF_out”에서, 최고 퀄리티 메트릭 “베스트 Q”는 단계(706) “테이블 N으로부터 예측된 퀄리티 메트릭 QM 획득”에서 발견된 QM 값으로 업데이트된다. 더불어, 값의 쌍 (“z”, QF_out)은 현재 이미지의 베스트 트랜스코딩 파라미터 쌍 (zT, QFT)로 기록된다.
이것으로 확장된 단계(702) “예측 Q-인식 파라미터 선택 루프 작동”의 설명이 완료되고 다음으로 단계(414) “결과 인증”(도 8)의 실행이 계속된다.
마지막 단계(416) “이미지 J 반환”(도 8)과 함께, JPEG 이미지 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 기본 방법(400)은 시스템, 예를 들어 출력 이미지 “J”(220)의 스토리지(for storage as the output Image “J” 220)로 트랜스코드된 출력 이미지 “J”를 반환하는 것으로 완료된다.
파라미터의 퀄리티-인식 선택을 위한 예측 방법(700)을 사용하는 간단한 시스템(600)은 따라서 기본 시스템(200)보다 훨씬 적은 프로세싱 비용으로, 그러나 예측된 퀄리티 메트릭의 불완전한 성질(imperfect nature)에 의해 실제의 베스트 트랜스코딩 파라미터가 발견된다는 보장은 없이, 퀄리티-인식 트랜스코더를 제공하도록 이용될 수 있다.
개선된 퀄리티-인식 트랜스코딩 시스템이 테이블 “N”을 통해 향상된 기본 시스템(200)에 기반하여 구성될 수 있다. 이 시스템에서, 최적의 퀄리티를 위한 검색이 테이블 “N”의 사용을 통해 상당히 단축될 수 있다: zT 및 QFT의 모든 가능한 유효 조합에 대한 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” (도 4 및 5)에 포함된 전체 루프의 작동 대신에, 먼저 테이블 “N”을 찾아봄으로써, 루프의 많은 반복에서의 비싼 프로세싱 단계를 피할 수 있다.
단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동”의 간단한 변형(variant)에서, 만약 테이블 “N”으로부터 예측된 퀄리티 메트릭이 이미 찾아진 것보다 더 높은 퀄리티가 다음의 단계들에 내재된(implied) 전체 분석에 의해 획득되지 않을 것으로 나타낸다면, 트랜스코딩 단계(458) “I를 J로 트랜스코드”, 단계(460) “실제 사이즈 OK?”, 및 “퀄리티 평가 단계”(474)(도 5)를 생략할 수 있다.
도 10은 개선된 퀄리티-인식 트랜스코딩 시스템(개선된 시스템)(800)의 블록 다이어그램을 보여준다. 시스템(800)은 프로세서와 컴퓨터 실행 가능한 명령어가 저장된 컴퓨터 판독 가능 저장 매체를 가지는 컴퓨터를 포함하고, 명령어는 프로세서에 의해 실행될 때, 개선된 시스템(800)의 각각의(respective) 모듈을 제공한다. 개선된 시스템(800)은 기본 시스템(200)으로부터, 컴퓨터 판독가능 매체에 저장된 테이블 “N”(506)의 추가, 및 퀄리티-인식 파라미터 선택 모듈(206)을 개선된 퀄리티-인식 파라미터 선택 모듈(802)로 교체함으로써 얻어진다. 테이블 “N”(506)을 저장하기 위한 수단 및 퀄리티 평가 모듈(210)은 개선된 퀄리티 결정 블록(804)을 함께 형성한다.
테이블 “N”(506)의 출력은 예측된 퀄리티 메트릭 Qx를 개선된 퀄리티-인식 파라미터 선택 모듈(802)에 제공한다. 퀄리티 예측 테이블 “N”(506)은 간단한 시스템(600)에서와 같은 4개의 인덱스 파라미터에 의해 어드레스된다: 입력 퀄리티 팩터 QF_in; 뷰잉 스케일링 팩터 zV; 트랜스코더 퀄리티 팩터 QFT; 및 트랜스코더 스케일링 팩터 zT. QFT 및 zT는 개선된 퀄리티-인식 파라미터 선택 모듈(802)에서 이하 도 11의 방법 설명에 보이는 것과 같은 방법으로 선택된다.
간략하게 요약하면, 개선된 퀄리티-인식 파라미터 선택 모듈(802)의 기능은 실현 가능한, 즉, 입력 이미지 “I” 및 디바이스 제약을 만족하는, (zT, QFT)의 값의 쌍의 실현가능한 세트 “F”(806)을 포함한다. 값의 쌍의 세트는 이후 값의 쌍에 의해 인덱스된 퀄리티 예측 테이블 “N”(506)으로부터 예측된 퀄리티 메트릭 Qx에 따라 분류(sort)된다. 실제 퀄리티 메트릭 QM은 (도 2의 기본 시스템(200)에서와 같이) 퀄리티 평가 모듈(210)의 도움을 받아 계산된다. 그러나 이는 높은 예측된 퀄리티 메트릭 Qx를 예측하는 실현가능한 세트 “F”(806)로부터 제한된 수의 (zT, QFT)의 값의 쌍의 유망한(promising) 서브세트만을 대상으로 한다.
도 11은 개선된 시스템(800)에 적용 가능한 JPEG 이미지 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 개선된 방법(900)의 흐름도이다. 개선된 방법(900)은 도 4의 기본 방법(400)의 같은 참조 숫자를 가진 같은 순차적인 단계를 많이 포함한다.
단계(402) “디바이스 제약 획득”;
단계(404) “입력 이미지 I 획득”;
단계(406) “이미지 특성 추출”;
단계(408) “퀄리티 및 파일 사이즈 예측”;
단계(410) “파라미터 초기화(initialize)”;
단계(414) “결과 인증(validate)”; 및
단계(416) “이미지 J 반환(return)”
도 4의 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동” 자리에, 개선된 방법(900)은 새로운 두 단계(“파라미터 초기화(initialize)” 단계(410) 이후 “결과 인증(validate)” 단계(414) 이전 사이에 인터폴레이트된)를 포함한다:
단계(902) “세트 “F” 생성(create)”;
단계(904) “개선된 Q-인식 파라미터 선택 및 트랜스코딩 작동”.
도 12는 개선된 방법(900)의 단계(902) “세트 “F” 생성(create)”의 확장을 보여주는 흐름도이며, 도 5의 확장된 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동”과 같은 참조 숫자 및 같은 기능을 가지는 3개의 같은 단계를 포함한다.
단계(452) “다음(next) 값의 쌍 획득”;
단계(454)* “값의 쌍이 이용가능?”; 및
단계(456)* “값의 쌍이 실현가능?”.
확장된 단계(902) “세트 “F” 생성” 또한 새로운 단계들을 포함한다:
단계(906) “비어있는(empty) 실현가능한 세트 F 생성”;
단계(908) “실현가능한 세트 F에 값의 쌍 추가”;
단계(910) “F 분류”; 및
단계(912) “F 줄임(truncate)”.
*주목, 단계 순서는 도 5로부터 도 12로 수정된다: 단계(454)의 출구 “아니오”는 함수 반환(여기에서 실현가능한 세트 “F”가 반환된다)으로 가고, 단계(456)의 출구 “예”는 단계(908)로 간다.
단계(452, 454, 456 및 908)은 루프를 형성하며, 초기화 단계(906)가 선행된다.
단계(906) “비어있는(empty) 실현가능한 세트 F 생성”에서 실현가능한 세트 “F”는 비어있도록 생성된다. 이어지는 단계(452부터 456, 908)에서는 여러 구별된 값의 쌍이 발생되어(단계(452)), 이용 가능성(단계(454)) 및 실현가능성(단계(456))이 확인되고, 실현가능한 세트 “F”(806)로 추가되는(단계(908)) 루프가 형성된다. 만약 발생된 값의 쌍이 실현가능하지 않다면(단계(456)에서 출구 “아니오”), 루프는 처음으로 다시 들어간다. 만약 구별된 값의 쌍이 더 이상 이용가능하지 않다면(단계(454)에서 출구 “아니오”), 루프는 종료되고 실현가능한 세트 “F”(806)는 구별된 값의 쌍에 의해 인덱스되는 퀄리티 예측 테이블 “N”(506)으로부터 예측된 퀄리티 메트릭 Qx에 따라 단계(910) “F 분류”에서 분류된다. 이제 실현가능한 세트 “F”(806)는 모든 실현가능한 값의 쌍을 예측된 퀄리티에 따라 내림차순(descending order)으로 가지고 있게 된다.
다음으로, 단계(912) “F 줄임”에서, 실현가능한 세트 “F”(806)는 밑에서 더 낮은 예측된 퀄리티와 연계된 값의 쌍을 제거함으로써, 한정할 수 있는(definable) 값의 쌍의 숫자 C_max가 실현가능한 세트 “F”(806)에 남아있을 때까지 줄여진다.
도 13은 개선된 방법(900)의 단계(904) “개선된 Q-인식 파라미터 선택 및 트랜스코딩 작동”의 확장을 보여주며, 도 5의 확장된 단계(412) “퀄리티-인식 파라미터 선택 및 트랜스코딩 루프 작동”와 같은 참조 숫자 및 같은 기능을 가지는 몇몇 같은 단계들을 포함한다.
단계(458) “I를 J로 트랜스코드”;
단계(460) “실제 사이즈 OK?”;
단계(462) “J를 압축해제하고 zR을 이용하여 X로 스케일”;
단계(464) “I를 압축해제하고 zV을 이용하여 Y로 스케일”;
단계(466) “메트릭 QM=PSNR(X,Y) 계산”;
단계(468) “QM>Best Q?”;
단계(470) “베스트 Q := QM, 베스트 이미지 := J 로 설정”; 그리고
단계(472) “J := 베스트 이미지 로 설정”.
확장된 단계(904) “개선된 Q-인식 파라미터 선택 및 트랜스코딩”은 또한 새로운 단계들을 포함한다:
단계(914) “F가 비어있음?”;
단계(916) “F로부터 꼭대기(top) 값의 쌍 획득”; 및
단계(918) “F로부터 꼭대기 값의 쌍 제거”.
확장된 단계(904) “개선된 Q-인식 파라미터 선택 및 트랜스코딩”은, 베스트 이미지 - 퀄리티 평가 단계(474)(단계(462)부터 단계(466)까지의 순서)를 통해 평가된 베스트 퀄리티를 가진 이미지 - 를 찾기 위한, 기본 시스템(200)의 루프와 유사한 루프를 형성한다. 모든 실현가능한 값의 쌍을 위한(기본 방법(400)에서와 같은) 루프를 작동시키는 대신에, 개선된 방법(900)의 루프는 실현가능한 세트 “F”(806)의 값의 쌍들로 국한된다. “F 분류”(910) 및 “F 줄임”(912) 단계는 트랜스코드되고 퀄리티 평가될 값의 쌍의 수가 높은 예측된 퀄리티 측정치를 가진 쌍들로 제한될 수 있다는 메카니즘(mechanism)을 제공한다는 것이 인정될 것이다.
루프는 단계(914) “F가 비어있음?”으로 들어간다.
단계(914) “F가 비어있음?”에서 실현가능한 세트 “F”(806)가 점검된다. 만약 비어 있다면(단계(914)에서 출구 “예”) 루프를 빠져나와, 단계(472) “J := 베스트 이미지 로 설정” 으로 가고, 확장된 단계(904) “개선된 Q-인식 파라미터 선택 및 트랜스코딩 작동”이 종료된다(“J” 반환).
단계(916) “F로부터 꼭대기(top) 값의 쌍 획득”에서 최고 예측된 퀄리티 메트릭(“꼭대기 값의 쌍”)에 대응하는 값의 쌍은 실현가능한 세트 “F”(806)로부터 트랜스코더 값의 쌍 (zT, QFT)으로 복사된다.
단계(918) “F로부터 꼭대기 값의 쌍 제거”에서, “꼭대기 값의 쌍”은 실현가능한 세트 “F”(806)에서 제거되고, 다음 단계(458) “I를 J로 트랜스코드”가 실행된다.
기본 방법(400)과 유사하게, 그 다음의(subsequent) 단계는 퀄리티 메트릭을 평가하고, 베스트 퀄리티 메트릭과 베스트 이미지를 저장하고, 루프의 처음으로 되돌아간다(단계(914)에서).
도 12의 실현가능한 세트 “F”(806)의 분류(sorting) 및 줄임(truncating)의 효과는 다음과 같이 보여질 수 있다. 만약 실현가능한 세트 “F”(806)이 줄여지지 않고, 오직 분류되기만 한다면, 모든 값의 쌍은 단순히 예측된 퀄리티의 순서로 평가될 (트랜스코드되고 퀄리티 평가될) 것이다. 이는 프로세싱 비용에서의 이익 없이, 기본 방법(200)으로 찾아지는 베스트 이미지와 같은 결과를 가져온다.
실현가능한 세트 “F”(806)의 줄임은 C_max 개의 값의 쌍을 세트에 남긴다. 세트가 먼저 분류되었기 때문에, 이 C_max 개의 값의 쌍은 가장 유먕한 퀄리티 메트릭을 산출할 것으로 예측되는 값의 쌍이 될 것이다. 따라서, 기본 방법과 비교할 때, 더 적은 값의 쌍이 충분히 평가될 것이고, 더 낮은 퀄리티를 산출하는 값의 쌍들을 평가하는 데에 (기본 시스템(200)에서) 소요되었을 프로세싱을 절약할 수 있다.
만약 C_max가 1로 설정되면, 하나의 값의 쌍만이 완전히 평가될 것이나, 평가된 실제 퀄리티에 관계없이, 결과의 베스트 이미지는 간단한 시스템(600)의 예측 방법(700)에서 찾아진 것과 동일할 것이다.
따라서, C_max는 1보다 큰 값으로 설정되어야 한다. 최고 예측된 퀄리티가 반드시 실제 최고 퀄리티인 것은 아니기 때문이다. C_max 값을 5로 설정하는 것은 좋은 결과를 가져오는 것으로 발견되었고, 실제 베스트 값의 쌍을 포함할 가능성이 높다. 그 대신에, 우리는 퀄리티 한계치(threshold)를 설정할 수 있다. 예측된 퀄리티 메트릭이 주어진 마진(margin)(예를 들어 3dB)에 의해 그때까지 획득된 베스트 예측된 퀄리티 메트릭보다 더 작을 때에, 우리는 멈출 수 있다. 더 수정하면, 세트 “F”의 분류는 다음과 같이 이루어질 수 있다:
1) 각각의 실현가능한 스케일링 값 “z”에 대해, 베스트 예측된 퀄리티 값을 이용하여 실현가능한 세트 “F” 내의 값의 쌍을 찾는다. 그러한 값의 쌍이 P개 있다고 가정하자. (즉, 베스트 값의 쌍을 z=10%에 대해, 이후 20% 등에 대해 찾는다.)
2) 단계 1)에서 얻어진 P개의 값의 쌍을 예측된 퀄리티 값이 최고 것에서부터 가장 낮은 것으로 분류한다. 이것들은 실현가능한 세트 “F”의 시작 부분에 인터폴레이트될 것이다.
3) 이후 획득된 남은 값의 쌍들을 예측된 퀄리티 값이 최고 것에서부터 가장 낮은 것으로 분류한다. 이것들은 실현가능한 세트 “F”에 이전 P개의 값의 쌍 다음으로 인터폴레이트될 것이다.
이전과 같이 C_max>= P 와 함께 진행한다.
도 14a 및 14b에 있는 차트는 실현가능한 세트 “F”에 기록된, 분류된 퀄리티 메트릭 값들(PSNR)을 그래프로 나타낸다. 도 14a는 zV=0.7인 경우의 분류된 PSNR 값의 예를 보여주며, 도 14b는 도 14a와 같은 이미지에 대해 zV=0.7 이고 s_max=0.7인 경우의 분류된 PSNR 값의 예를 보여준다.
도 15는 퀄리티 예측 테이블 발생 방법(1000)의 흐름도이고, 퀄리티 예측 테이블 발생 시스템(500, 도 6)의 기능을 보여준다. 퀄리티 예측 테이블 발생 방법(1000)은 도 4 및 5의 기본 방법(400)과 같은 몇몇 단계 - 단계(406, 458 및 474 - 를 포함하며 같은 참조 숫자 및 같은 기능을 가진다. 퀄리티 예측 테이블 발생 방법(1000)은 다음의 단계들을 포함한다:
단계(1002) “N(QF_in, zV) 초기화”;
단계(1004) “QF(I)=QF_in인 더 많은 이미지들 이용가능?”;
단계(1006) “다음 이미지 “I” 획득”;
단계(406) “이미지 특성 추출”;
단계(1008) “ 값의 쌍 (z, OF_out)에 대한 루프를 위한 파라미터 설정”;
단계(1010) “제 1 값의 쌍 (z, QF_out) 획득”;
단계(458) “I를 J로 트랜스코드”;
단계(474) “퀄리티 평가 단계”;
단계(1012) “N(QF_in, zV) 업데이트”;
단계(1014) “더 많은 값의 쌍 (z, QF_out) 이용가능?”; 및
단계(1016) “다음 값의 쌍 (z, QF_out) 획득”.
이전에 설명된 바와 같이, 퀄리티 예측 테이블 “N”(506, 도 6)은 4차원의 테이블이고, 4개의 인덱스 변수: 입력 이미지의 트레이닝 세트(502)로부터의 입력 이미지의 인코딩 퀄리티 팩터 QF_in, 뷰잉 스케일링 팩터 zV, 트랜스코더에서 출력 이미지의 압축에 사용되는 인코딩 퀄리티 팩터 QF_out, 및 트랜스코더에서 출력 이미지의 압축에 사용되는 스케일링 팩터 “z”에 의해 인덱스되는 퀄리티 메트릭 Q를 포함한다. 도 14에는, 퀄리티 예측 테이블 “N”의 서브-테이블 - N(QF_in, zV), 즉 입력 인코딩 퀄리티 팩터 QF_in의 하나의 값 및 뷰잉 스케일링 팩터 zV의 하나의 값에 대한 서브_테이블 - 을 발생시키는 것으로 제한된, 퀄리티 예측 테이블 발생 방법(1000)이 나와 있다. QF_in 및 zV의 추가 값들에 대한 전체(entire) 퀄리티 예측 테이블 “N”은, 이들 QF_in 및 zV의 추가 값들에 대한 퀄리티 예측 테이블 발생 방법(1000)의 단계들을 반복함으로써 발생될 수 있다.
단계(1002) “N(QF_in, zV) 초기화”에서, 서브_테이블 N(QF_in, zV)이 0으로 클리어(clear)된다.
단계(1004) “QF(I)=QF_in인 더 많은 이미지들 이용가능?”에서 이미지 트레이닝 세트(502, 도 6) 내에 입력 인코딩 퀄리티 팩터 QF(I) = QF_in을 가지는 이용 가능한 어떤 더 많은 이미지들이 있는지가 결정된다. 이러한 이용 가능한 이미지가 더 이상 없다면 (즉, 그러한 모든 이미지들이 이미 처리되었다면), 결정의 결과는 “아니오”이고, 퀄리티 예측 테이블 발생 방법(1000)은 채워진(populated) 서브-테이블 N(QF_in, zV)과 함께 종료된다. 그렇지 않으면, 단계(1006) “다음 이미지 “I” 획득”으로 이어진다.
단계(1006) “다음 이미지 “I” 획득”에서, 다음 이미지가 이미지 트레이닝 세트(502)로부터 획득되어, 입력 이미지 “I”가 된다.
단계(406) “이미지 특성 추출”에서, 이전에(도 4) 설명된 바와 같이, 폭과 높이와 같은 입력 이미지 “I”의 특성이 결정된다.
단계(1008) “값의 쌍 (z, OF_out)에 대한 루프를 위한 파라미터 설정”에서, 값의 쌍 (z, QF_out)에 대한 이미지 단위의(per-image) 루프(1018)가 준비된다. 이미지 단위의 루프(1018)는 단계(1010, 458, 474, 1012, 1014 및 1016)를 포함한다. 이미지 단위의 루프(1018)는 세트 {K, 2*K, 3*K, ... , 100%}로부터의 스케일링 팩터 “z” 및 세트 {L, 2*L, 3*L, ... , 100}로부터의 출력 퀄리티 팩터 QF_out의 각각의 조합(combination)에 대해 실행되는데, 여기에서 증분(increments) “K” 및 “L”은 예를 들어 K=10% 및 L=10으로 선택될 수 있다. 위의 테이블 2부터 4는 이러한 값들로 계산되었다. “z”와 QF_out의 조합은 값의 쌍 (z, QF_out)으로 지칭된다.
단계(1010) “제 1 값의 쌍 (z, QF_out) 획득”에서, 제 1 값의 쌍 (z, QF_out)이 결정된다. 예를 들어 (z=10%, QF_out=10)이다.
단계(458) “I를 J로 트랜스코드”에서, 이전에(도 5) 설명된 바와 같이, 입력 이미지 “I”가 트랜스코딩 파라미터 zT=”z” 및 QFT=QF_out을 이용하여 출력 이미지 “J”로 트랜스코드된다.
단계(474) “퀄리티 평가 단계”에서, 이전에(도 5) 설명된 바와 같이, 트랜스코딩의 퀄리티 메트릭 QM이 결정된다.
단계(1012) “N(QF_in, zV) 업데이트”에서, 서브-테이블 N(QF_in, zV)이, 값의 쌍 (z, QF_out)에 의해 인덱스된 테이블 위치에서, 퀄리티 메트릭으로 업데이트된다. 더 정확하게는, 그 테이블 위치에서 예측된 퀄리티 메트릭이 같은 테이블 위치의 모든 이미지들로부터의 퀄리티 메트릭의 간단한 평균으로 업데이트된다.
단계(1014) “더 많은 값의 쌍 (z, QF_out) 이용가능?”에서 스케일링 팩터 “z” 및 출력 퀄리티 팩터 QF_out의 이용 가능한 어떤 조합이 더 있는지 결정된다. 만약 이용가능한 구별된 값의 쌍 (z, QF_out)이 더 이상 없다면 (즉, 모든 조합이 이미 처리되었다면), 결정의 결과는 “아니오”이고, 이미지 단위의 루프(1018)는 단계(1004) “QF(I)=QF_in인 더 많은 이미지들 이용가능?” 으로 빠져나가 이미지 트레이닝 세트(502)로부터 다음 이미지를 찾고 프로세싱을 시작한다. 그렇지 않으면 (“예”) 이미지 단위의 루프(1018)는 단계(1016) “다음 값의 쌍 (z, QF_out) 획득”으로 이어진다.
단계(1016) “다음 값의 쌍 (z, QF_out) 획득”에서, 다음 값의 쌍 (z, QF_out)이 결정된다.
이전에 나타난 바와 같이, 이미지 트레이닝 세트(502)는 같은 값의 쌍 인덱스에 대해 베스트 퀄리티 메트릭의 약간 다른 실제 값들을 발생시키는 많은 이미지들을 포함할 수 있다. 여기에 설명된 퀄리티 예측 테이블 발생 방법(1000)에서, 계산된 퀄리티 메트릭들은 퀄리티 예측 테이블 “N”(506)을 더 이상 명시되지 않은 방법으로(in a manner not further specified) 직접 업데이트하는 데에 사용된다. 가급적, 퀄리티 예측 테이블 발생 방법(1000)에 의해 발생된 원래의 데이터는 위에서 언급된 Steven Pigeon의 “Kingston” 페이퍼에 설명된 것과 유사한 방법으로 수집되고 처리된다. 이러한 방법으로, 데이터를 그룹핑 및 양자화하고, 더불어 통계적인 프로세싱함으로써, 퀄리티 메트릭의 최적의 LMS(최소 평균 제곱) 추정량이 계산되고 퀄리티 예측 테이블 “N”(506)에 저장될 수 있다.
본 발명의 실시예들에 의한 시스템 및 방법은 스케일링, 압축된 파일 사이즈 제한, 및 이미지 퀄리티를 고려하는 방법으로 트랜스코딩의 개선을 가능하게 한다. 본 발명의 실시예들이 JPEG 인코드된 이미지들과 관련하여 설명되었으나, 그 원리는 손실이 있는(lossy) 압축 모드에서 사용될 때, 다른 포맷 - 예를 들어 GIF(Graphics Interchange Format) 및 PNG(Portable Network Graphics) - 으로 인코드된 디지털 이미지의 트랜스코딩에도 적용 가능하다. 본 발명의 실시예들의 시스템은 CPU 및 컴퓨터 판독가능 매체를 가지는 일반적인 목적 또는 전문적인 컴퓨터 - 예를 들어 메모리, 또는 대신에, 펌웨어(firmware) 또는 펌웨어와 전문적인 컴퓨터의 조합에서 실행될 수 있는 시스템 - 를 포함할 수 있다. 본 발명의 실시예들에서, 퀄리티 예측 테이블은 4개의 파라미터에 의해 인덱스되는 4차원의 테이블이다. 퀄리티 예측 테이블은 일반적으로 다차원의 테이블일 수 있는데, 이는 4보다 크거나 작은, 필요한 개수만큼의 파라미터에 의해 인덱스될 수 있는 것으로 여겨진다.
프로세서에 의해 실행될 때, 본 발명의 실시예들의 방법의 단계를 수행하기 위한, DVD, CD_ROM, 플로피, 또는 메모리 - 예를 들어 비휘발성의(non-volatile) 메모리와 같은 - 와 같은, 컴퓨터 판독가능 명령어가 저장된, 컴퓨터 판독가능 매체 또한 제공된다.
비록 본 발명의 실시예들이 구체적으로 설명되었을지라도, 실시예에 대한 변형 및 수정이 다음의 청구항의 범위 내에서 이루어질 수 있음은 당업자에게 명백할 것이다.

Claims (21)

  1. 파일 사이즈 및 이미지 사이즈 제약(constraints)을 가지는 단말(terminal)에 관하여 입력 이미지를 출력 이미지로 트랜스코드하기 위한 이미지 트랜스코딩 시스템에 있어서,
    컴퓨터 실행 가능한 명령어(computer executable instructions)가 저장된 컴퓨터 판독가능 저장 매체(computer readable storage medium)를 가지는 컴퓨터를 포함하고, 상기 컴퓨터 실행 가능한 명령어는, 상기 컴퓨터에 의한 실행을 위한,
    입력 이미지의 차원(dimensions), 파일 사이즈 및 인코딩 퀄리티 팩터(encoding quality factor) QF(I)를 결정하기 위한 이미지 특성 추출 모듈;
    트랜스코더 스케일링 팩터(transcoder scaling factor) zT 및 트랜스코더 퀄리티 팩터(transcoder quality factor) QFT를 포함하는 트랜스코딩 파라미터를 이용하여 입력 이미지를 출력 이미지로 트랜스코드하기 위한 트랜스코딩 모듈;
    트랜스코딩의 퀄리티 메트릭(quality metric)을 결정하기 위한 퀄리티 결정 블록;
    트랜스코딩 파라미터의 함수로서 출력 이미지의 상대적인 출력 파일 사이즈를 결정하기 위한 퀄리티 및 파일 사이즈 예측 모듈; 및
    최대 상대적인 파일 사이즈를 만족시키는 트랜스코딩 파라미터, 및 출력 이미지의 최고 퀄리티에 대응하는 퀄리티 메트릭을 결정하기 위한 퀄리티-인식(quality-aware) 파라미터 선택 모듈을 형성하는
    이미지 트랜스코딩 시스템.
  2. 제 1항에 있어서,
    상기 트랜스코딩 모듈은
    입력 이미지를 압축해제(decompress)하기 위한 압축해제 모듈;
    상기 트랜스코더 스케일링 팩터 zT를 이용하여 상기 압축해제된 입력 이미지를 스케일하기 위한 스케일링 모듈;
    상기 트랜스코더 퀄리티 팩터 QFT를 이용하여 상기 압축해제되고 스케일된 입력 이미지를 압축(compress)하기 위한 압축 모듈을 포함하는
    이미지 트랜스코딩 시스템.
  3. 제 2항에 있어서,
    상기 퀄리티-인식 파라미터 선택 모듈은
    상기 입력 이미지의 차원 및 단말 제약으로부터 결정되는 최대 스케일링 팩터 이하인 스케일링 팩터 zT 및 상기 트랜스코더 퀄리티 팩터 QFT의 실현가능한(feasible) 조합을 선택하기 위한 계산 수단; 및
    상기 출력 이미지의 최고 퀄리티에 대응하는 퀄리티 메트릭을 찾을 때까지 구별된(distinct) 값의 쌍(value pair) (zT, QFT)을 반복적으로 선택하기 위한 계산 수단을 포함하고,
    상기 실현가능한 조합은 상기 최대 상대적인 파일 사이즈를 고려하는(respect) 상대적인 출력 파일 사이즈 예측을 야기하는
    이미지 트랜스코딩 시스템.
  4. 제 3항에 있어서,
    상기 퀄리티 결정 블록은 상기 퀄리티 메트릭으로서 예측된 퀄리티 메트릭을 검색하기 위한 퀄리티 예측 테이블을 포함하고,
    상기 퀄리티 예측 테이블은 상기 예측된 퀄리티 메트릭을 나타내는 다수의 테이블 엔트리를 포함하며,
    상기 예측된 퀄리티 메트릭은
    상기 입력 이미지의 인코딩 퀄리티 팩터 QF(I)와 동일한 입력 퀄리티 팩터 QF_in;
    상기 트랜스코더 스케일링 팩터 zT와 동일하게 설정되거나, 상기 출력 이미지의 예상된 뷰잉 컨디션에 기반하여 선택될 수 있는 뷰잉 스케일링 팩터 zV;
    상기 트랜스코더 퀄리티 팩터 QFT; 및
    상기 트랜스코더 스케일링 팩터 zT 에 의해 인덱스되는
    이미지 트랜스코딩 시스템.
  5. 제 4항에 있어서,
    상기 퀄리티 예측 테이블은 상기 예측된 퀄리티 메트릭을 나타내는 다수의 테이블 엔트리를 포함하고,
    상기 예측된 퀄리티 메트릭은 상기 뷰잉 스케일링 팩터 zV에 의해 더 인덱스되며,
    상기 뷰잉 스케일링 팩터 zV는 상기 트랜스코더 스케일링 팩터 zT 및 상기 최대 스케일링 팩터 사이의 범위에 있는 값과 동일하게 설정되는
    이미지 트랜스코딩 시스템.
  6. 제 4항 또는 제 5항에 있어서,
    상기 퀄리티 결정 블록은 상기 퀄리티 메트릭을 명시적으로(explicitly) 계산하기 위한 퀄리티 평가(assessment) 모듈을 포함하고,
    상기 퀄리티 평가 모듈은
    상기 출력 이미지를 압축해제하기 위한 압축해제(R) 모듈;
    상기 압축해제된 출력 이미지를 리-스케일링 팩터 zR을 이용하여 스케일하기 위한 스케일링(zR) 모듈;
    상기 입력 이미지를 압축해제하기 위한 압축해제(V) 모듈;
    상기 압축해제된 입력 이미지를 상기 뷰잉 스케일링 팩터 zV를 이용하여 스케일하기 위한 스케일링(zV) 모듈; 및
    상기 압축해제되고 스케일된 출력 이미지 및 상기 압축해제되고 스케일된 입력 이미지로부터 상기 퀄리티 메트릭을 계산하기 위한 퀄리티 계산 모듈을 포함하는
    이미지 트랜스코딩 시스템.
  7. 제 6항에 있어서,
    상기 퀄리티-인식 파라미터 선택 모듈은
    상기 (zT, QFT)의 실현가능한 조합의 실현가능한 세트 “F”를 위한 저장 수단;
    상기 퀄리티 예측 테이블로부터 획득된 상기 예측된 퀄리티 메트릭에 따라 상기 실현가능한 세트 “F”의 엔트리를 분류하기 위한 계산 수단;
    상기 실현가능한 세트 “F”의 유망한(promising) 서브세트를 생성(create)하기 위한 계산 수단; 및
    상기 유망한 서브세트로부터 구별된 값의 쌍 (zT, QFT)을 반복적으로 선택하며, 상기 퀄리티 평가 모듈을 이용하여 상기 퀄리티 메트릭이 상기 출력 이미지의 최고 퀄리티에 대응할 때 까지 대응하는 퀄리티 메트릭을 계산하기 위한 계산 수단을 포함하는
    이미지 트랜스코딩 시스템.
  8. 제 1항 내지 제 5항 중 어느 한 항에 있어서,
    상기 퀄리티 메트릭은
    상기 입력 이미지와 비교되는 상기 출력 이미지의 측정치(measure)에 기반한
    이미지 트랜스코딩 시스템.
  9. 제 8항에 있어서,
    상기 측정치는
    상기 입력 이미지와 비교되는 상기 출력 이미지의 PSNR(Peak Signal to Noise Ratio) 측정치, 또는 상기 입력 이미지와 비교되는 상기 출력 이미지의 MD(Maximum Difference) 측정치 중 어느 하나인
    이미지 트랜스코딩 시스템.
  10. 제 1항 내지 제 5항 중 어느 한 항에 있어서,
    상기 입력 이미지 및 상기 출력 이미지는 JPEG(Joint Photographic Experts Group) 이미지인
    이미지 트랜스코딩 시스템.
  11. 디바이스 파일 사이즈 및 이미지 파일 사이즈 제약(constraints)을 가지는 단말에 디스플레이하기 위해 입력 이미지를 출력 이미지로 퀄리티-인식(quality-aware) 트랜스코드하기 위한 방법에 있어서,
    (a) 상기 단말의 제약을 획득하는 단계;
    (b) 상기 입력 이미지를 획득하는 단계;
    (c) 상기 입력 이미지의 차원 및 파일 사이즈를 포함하는 상기 입력 이미지의 특성을 추출하는 단계;
    (d) 상기 단말의 제약 및 상기 추출된 특성으로부터 상기 출력 이미지의 파일 사이즈를 예측하는 단계;
    (e) 상기 단말의 제약을 충족시키는 실현가능한 트랜스코딩 파라미터의 세트를 선택하는 단계;
    (f) 선택된 실현가능한 트랜스코딩 파라미터를 이용하여 상기 입력 이미지를 상기 출력 이미지로 트랜스코드하는 단계;
    (g) 상기 출력 이미지의 퀄리티 메트릭을 결정하는 단계; 및
    (h) 상기 출력 이미지의 최고 퀄리티에 대응하는 퀄리티 메트릭을 찾을 때까지 상기 (e)부터 (g)까지의 단계를 반복하는 단계
    를 포함하는 이미지 트랜스코딩 방법.
  12. 제 11항에 있어서,
    상기 (d) 단계는
    상기 입력 이미지의 이미지 사이즈 및 차원으로부터 최대 스케일링 팩터 z_max를 결정하는 단계; 및
    상기 입력 이미지의 파일 사이즈 및 디바이스 파일 사이즈로부터 최대 상대적인 파일 사이즈를 결정하는 단계를 포함하는
    이미지 트랜스코딩 방법.
  13. 제 12항에 있어서,
    상기 (e) 단계는 실현가능한 트랜스코딩 파라미터 값의 쌍을 선택하는 단계를 포함하고,
    상기 값의 쌍 각각은 상기 최대 스케일링 팩터 z_max를 초과하지 않는 트랜스코더 스케일링 팩터 zT와, 예측된 상대적인 출력 파일 사이즈가 상기 최대 상대적인 파일 사이즈를 초과하지 않도록 선택된 트랜스코더 퀄리티 팩터 QFT를 포함하는
    이미지 트랜스코딩 방법.
  14. 제 13항에 있어서,
    상기 (c) 단계는 상기 입력 이미지의 인코딩 퀄리티 팩터 QF(I)를 추출하는 단계를 포함하고,
    상기 (e) 단계는 상기 인코딩 퀄리티 팩터 QF(I), 상기 트랜스코더 스케일링 팩터 zT, 및 상기 트랜스코더 퀄리티 팩터 QFT의 함수로서 상기 상대적인 출력 파일 사이즈를 예측하는 단계를 포함하는
    이미지 트랜스코딩 방법.
  15. 제 13항 내지 제 14항 중 어느 한 항에 있어서,
    상기 (g) 단계는
    (i) 제 1 중간(intermediate) 이미지를 산출하기 위해 상기 입력 이미지를 압축해제하고 뷰잉 스케일링 팩터 zV를 이용하여 스케일하는 단계 - 여기에서 zT와 1(unity) 사이의 상기 뷰잉 스케일링 팩터 zV는 상기 출력 이미지의 예상된(anticipated) 뷰잉 컨디션에 기반하여 선택됨 -;
    (ii) 제 2 중간 이미지를 산출하기 위해 상기 출력 이미지를 압축해제하고 리-스케일링 팩터 zR을 이용하여 스케일하는 단계 - 여기에서 zR은 zR=zV/zT로 계산됨 -; 및
    (iii) 상기 제 1 중간 이미지와 비교되는 상기 제 2 중간 이미지의 측정치에 기반하여 상기 퀄리티 메트릭을 계산하는 단계를 포함하는
    이미지 트랜스코딩 방법.
  16. 제 11항 내지 제 14항 중 어느 한 항에 있어서,
    상기 (e) 단계는 상기 퀄리티 메트릭을 검색하기 위해 퀄리티 예측 테이블을 이용하는 단계를 포함하고,
    상기 퀄리티 예측 테이블은 상기 실현가능한 트랜스코딩 파라미터에 의해 인덱스되는
    이미지 트랜스코딩 방법.
  17. 제 16항에 있어서,
    상기 (g) 단계는 다차원의(multi-dimensional) 퀄리티 예측 테이블로부터 상기 퀄리티 메트릭을 읽는 단계를 포함하고,
    상기 다차원의 퀄리티 예측 테이블은
    (인덱스 1) 상기 입력 이미지의 상기 인코딩 퀄리티 팩터 QF(I);
    (인덱스 2) 상기 출력 이미지의 예상된 뷰잉 컨디션에 기반하여 선택되는, zT와 1 사이의 뷰잉 스케일링 팩터 zV;
    (인덱스 3) 상기 트랜스코더 퀄리티 팩터 QFT; 및
    (인덱스 4) 상기 트랜스코더 스케일링 팩터 zT 중에서 2 또는 그 이상의 인덱스들(indices)에 의해 인덱스되는
    이미지 트랜스코딩 방법.
  18. 제 17항에 있어서,
    상기 (g) 단계는
    상기 인덱스들 중 적어도 하나에 대해 상기 퀄리티 예측 테이블의 엔트리들 사이에 인터폴레이트(interpolate)하는 단계를 포함하는
    이미지 트랜스코딩 방법.
  19. 제 11항 내지 제 14항 중 어느 한 항에 있어서,
    상기 (g) 단계는
    상기 입력 이미지와 비교되는 상기 출력 이미지의 측정치에 기반하여 상기 퀄리티 메트릭을 계산하는 단계를 포함하는
    이미지 트랜스코딩 방법.
  20. 제 19항에 있어서,
    상기 측정치는 상기 출력 이미지와 상기 입력 이미지 사이의 PSNR(Peak Signal to Noise Ratio) 측정치, 또는 상기 출력 이미지와 상기 입력 이미지 사이의 MD(Maximum Difference) 측정치 중 어느 하나인
    이미지 트랜스코딩 방법.
  21. 프로세서에 의한 실행을 위한, 제 11항 내지 제 14항 중 어느 하나의 항의 방법을 수행하기 위한 컴퓨터 판독가능 명령어가 저장된 컴퓨터 판독가능 저장 매체.
KR1020107012053A 2007-11-02 2008-07-16 디지털 이미지의 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 시스템 및 방법 KR101459395B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
CAPCT/CA2007/001974 2007-11-02
PCT/CA2007/001974 WO2009055896A1 (en) 2007-11-02 2007-11-02 System and method for predicting the file size of images subject to transformation by scaling and a change of quality-controlling parameters
US99195607P 2007-12-03 2007-12-03
US60/991,956 2007-12-03
US12/164,873 US8295624B2 (en) 2007-12-03 2008-06-30 Method and system for generating a quality prediction table for quality-aware transcoding of digital images
US12/164,873 2008-06-30
US12/164,836 US8270739B2 (en) 2007-12-03 2008-06-30 System and method for quality-aware selection of parameters in transcoding of digital images
US12/164,836 2008-06-30
PCT/CA2008/001305 WO2009055899A1 (en) 2007-11-02 2008-07-16 System and method for quality-aware selection of parameters in transcoding of digital images

Publications (2)

Publication Number Publication Date
KR20100092950A KR20100092950A (ko) 2010-08-23
KR101459395B1 true KR101459395B1 (ko) 2014-11-10

Family

ID=42272245

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107012053A KR101459395B1 (ko) 2007-11-02 2008-07-16 디지털 이미지의 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 시스템 및 방법

Country Status (6)

Country Link
EP (2) EP2210237B1 (ko)
JP (2) JP4994500B2 (ko)
KR (1) KR101459395B1 (ko)
CN (2) CN102737390A (ko)
IL (1) IL204726A (ko)
WO (2) WO2009055898A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
EP2210236B1 (en) 2007-11-02 2018-07-11 Ecole de Technologie Supérieure System and method for predicting the file size of images subject to transformation by scaling and a change of quality-controlling parameters
US8300961B2 (en) * 2008-12-12 2012-10-30 Ecole De Technologie Superieure Method and system for low complexity transcoding of images with near optimal quality
JP2013507084A (ja) * 2009-10-05 2013-02-28 アイ.シー.ヴイ.ティー リミテッド 画像処理のための方法およびシステム
KR20130105870A (ko) * 2010-10-27 2013-09-26 브이아이디 스케일, 인크. 적응적 비디오 코딩을 위한 시스템 및 방법
KR101688946B1 (ko) * 2010-11-26 2016-12-22 엘지전자 주식회사 신호 처리 장치 및 그 방법
EP2614647B1 (de) * 2011-01-12 2017-10-18 Siemens Aktiengesellschaft Kompression und dekompression von referenzbildern in einem videokoder
JP5736863B2 (ja) * 2011-03-15 2015-06-17 富士通株式会社 トランスコード装置及びトランスコード方法
CN103220550B (zh) * 2012-01-19 2016-12-07 华为技术有限公司 视频转换的方法及装置
US10609405B2 (en) 2013-03-18 2020-03-31 Ecole De Technologie Superieure Optimal signal encoding based on experimental data
US9661331B2 (en) 2013-03-18 2017-05-23 Vantrix Corporation Method and apparatus for signal encoding realizing optimal fidelity
US9338450B2 (en) 2013-03-18 2016-05-10 Ecole De Technologie Superieure Method and apparatus for signal encoding producing encoded signals of high fidelity at minimal sizes
DE102013211571B4 (de) * 2013-06-19 2016-02-11 Opticom Dipl.-Ing. Michael Keyhl Gmbh Konzept zur bestimmung der qualität eines mediadatenstroms mit variierender qualität-zu-bitrate
CN103546755B (zh) * 2013-08-22 2015-05-20 合一网络技术(北京)有限公司 固定码率的自适应分辨率转码方法
US9621907B2 (en) * 2014-08-15 2017-04-11 Lattice Semiconductor Corporation System and method for transcoding data
US9613294B2 (en) * 2015-03-19 2017-04-04 Intel Corporation Control of computer vision pre-processing based on image matching using structural similarity
KR102468223B1 (ko) * 2015-07-10 2022-11-18 한국전자통신연구원 3dtv 방송 송신 장치 및 그의 기준영상 선택 방법
KR101832418B1 (ko) * 2015-12-31 2018-02-26 네이버 주식회사 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템
CN108805943B (zh) * 2017-04-27 2022-12-09 腾讯科技(深圳)有限公司 图片转码方法和装置
CN110166797B (zh) * 2019-05-17 2022-02-01 北京达佳互联信息技术有限公司 视频转码方法、装置、电子设备及存储介质
CN111901631B (zh) * 2020-07-30 2023-02-17 有半岛(北京)信息科技有限公司 一种直播视频的转码方法、装置、服务器和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030161541A1 (en) 2002-02-28 2003-08-28 Nokia Corporation Method and device for reducing image by palette modification
WO2006085301A2 (en) * 2005-02-09 2006-08-17 Mobixell Networks Image adaptation with target size, quality and resolution constraints
WO2006097144A1 (en) 2005-03-15 2006-09-21 Nero Ag Apparatus and method for producing a picture data stream and for processing a picture data stream
WO2006110975A1 (en) 2005-04-22 2006-10-26 Logovision Wireless Inc. Multimedia system for mobile client platforms

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05130431A (ja) * 1991-11-07 1993-05-25 Matsushita Electric Ind Co Ltd デイジタル画像信号の高能率符号化装置
JP3738574B2 (ja) * 1998-09-18 2006-01-25 富士ゼロックス株式会社 画像情報符号化装置
JP2001238213A (ja) * 2000-02-25 2001-08-31 Canon Inc 画像処理装置およびその方法
JP4301366B2 (ja) * 2003-11-27 2009-07-22 株式会社リコー 画像形成システム
JP2005311822A (ja) * 2004-04-23 2005-11-04 Hitachi Ltd デジタル信号トランスコード装置
US7724972B2 (en) * 2005-03-01 2010-05-25 Qualcomm Incorporated Quality metric-biased region-of-interest coding for video telephony
JP2006246008A (ja) * 2005-03-03 2006-09-14 Ntt Docomo Inc 映像トランスコードシステム、映像取得装置、トランスコーダ装置、及び、映像トランスコーディング方法
EP1932358A4 (en) * 2005-09-28 2011-04-13 Ericsson Telefon Ab L M MEDIA CONTENTS MANAGEMENT
CN101001371B (zh) * 2007-01-19 2010-05-19 华为技术有限公司 视频转码的方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030161541A1 (en) 2002-02-28 2003-08-28 Nokia Corporation Method and device for reducing image by palette modification
WO2006085301A2 (en) * 2005-02-09 2006-08-17 Mobixell Networks Image adaptation with target size, quality and resolution constraints
WO2006097144A1 (en) 2005-03-15 2006-09-21 Nero Ag Apparatus and method for producing a picture data stream and for processing a picture data stream
WO2006110975A1 (en) 2005-04-22 2006-10-26 Logovision Wireless Inc. Multimedia system for mobile client platforms

Also Published As

Publication number Publication date
WO2009055899A1 (en) 2009-05-07
JP2012199939A (ja) 2012-10-18
CN101842812B (zh) 2012-05-30
JP4994500B2 (ja) 2012-08-08
EP2220617A1 (en) 2010-08-25
EP2210237B1 (en) 2018-09-05
EP2210237A1 (en) 2010-07-28
IL204726A (en) 2015-08-31
CN101842812A (zh) 2010-09-22
JP5391465B2 (ja) 2014-01-15
KR20100092950A (ko) 2010-08-23
IL204726A0 (en) 2010-11-30
EP2210237A4 (en) 2012-02-15
JP2011502406A (ja) 2011-01-20
WO2009055898A1 (en) 2009-05-07
CN102737390A (zh) 2012-10-17
EP2220617A4 (en) 2012-02-01
EP2220617B1 (en) 2018-10-24

Similar Documents

Publication Publication Date Title
KR101459395B1 (ko) 디지털 이미지의 트랜스코딩에서 파라미터의 퀄리티-인식 선택을 위한 시스템 및 방법
US8559739B2 (en) System and method for quality-aware selection of parameters in transcoding of digital images
CA2737476C (en) Method and system for low complexity transcoding of images with near optimal quality
CN108848376B (zh) 视频编码、解码方法、装置和计算机设备
CN108833918B (zh) 视频编码方法、解码方法、装置、计算机设备及存储介质
US20090290635A1 (en) Method and system for optimal video transcoding based on utility function descriptors
Katsenou et al. Content-gnostic bitrate ladder prediction for adaptive video streaming
MX2013008757A (es) Control de velocidad de bits adaptativa basado en escenas.
JP2009530892A (ja) ビデオ画像シーケンスの時間的頻度を適合させる方法および装置
KR101428671B1 (ko) 스케일링 및 퀄리티-컨트롤 파라미터의 변경에 의한 변환이 가능한 이미지의 파일 사이즈 예측 시스템 및 방법
US10750185B2 (en) High speed scalable video coding device and method using multi-track video
CA2703048C (en) System and method for quality-aware selection of parameters in transcoding of digital images
DK1639831T3 (en) PROCEDURE FOR DATA COMPRESSION
CA2703046C (en) Method and system for generating a quality prediction table for quality-aware transcoding of digital images

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171026

Year of fee payment: 4