KR20220100793A - 속도 왜곡 적정화 방법 - Google Patents

속도 왜곡 적정화 방법 Download PDF

Info

Publication number
KR20220100793A
KR20220100793A KR1020220002749A KR20220002749A KR20220100793A KR 20220100793 A KR20220100793 A KR 20220100793A KR 1020220002749 A KR1020220002749 A KR 1020220002749A KR 20220002749 A KR20220002749 A KR 20220002749A KR 20220100793 A KR20220100793 A KR 20220100793A
Authority
KR
South Korea
Prior art keywords
original data
reconstruction
threshold
distortion
error
Prior art date
Application number
KR1020220002749A
Other languages
English (en)
Inventor
비자야락하반 띠루마라이
Original Assignee
삼성디스플레이 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/235,870 external-priority patent/US11343512B1/en
Application filed by 삼성디스플레이 주식회사 filed Critical 삼성디스플레이 주식회사
Publication of KR20220100793A publication Critical patent/KR20220100793A/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/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/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/103Selection of coding mode or of prediction mode
    • 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/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/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/176Methods 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 block, e.g. a macroblock
    • 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/19Methods 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 using optimisation based on Lagrange multipliers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 한 실시예에 따른 속도 왜곡 적정화 방법은, 영상 프레임의 한 블록에 대응하는 원래 데이터를 수신하는 단계, 그리고 비용 함수를 최소화하는 상기 원래 데이터의 재건본(reconstructed version)을 식별하는 단계를 포함하며, 상기 원래 데이터의 제1 특정 재건본과 관련된 제1 비용은 상기 원래 데이터의 상기 제1 특정 재건본과 관련된 부호화율(encoding rate) 및 문턱 값 이하인 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 오차의 제1 상한 놈(supremum norm)에 응답하는 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 왜곡에 기초한다.

Description

속도 왜곡 적정화 방법 {METHOD OF PERFORMING RATE-DISTORTION OPTIMIZATION}
본 발명은 속도 왜곡 적정화 방법에 관한 것으로서, 더욱 상세하게는 최대 절대 오차의 제약 조건으로 압축하는 방법에 관한 것이다.
본 출원은 2021년 1월 8일에 미국 특허청에 출원한 미국 특허출원번호 제63/135,462호를 우선권 주장하며, 여기에 인용함으로써 이 출원의 전체 내용을 본원에 포함한다.
메모리 요구량을 줄이기 위하여 압축 기술을 사용하는 경우가 많다. 그러나 손실 압축의 경우 부호화 및 복호화 방법 및 다른 요소에 따라 재건 데이터의 품질에 오차나 불일치가 생기기 쉽다. 따라서, 최고의 재건 품질을 유지하면서 최대의 압축을 제공하는 기술이 필요하다.
본 발명이 해결하고자 하는 과제는 최고의 재건 품질을 유지하면서 최대의 압축을 제공하는 것이다.
본 발명의 한 실시예에 따른 속도 왜곡 적정화 방법은, 영상 프레임의 한 블록에 대응하는 원래 데이터를 수신하는 단계, 그리고 비용 함수를 최소화하는 상기 원래 데이터의 재건본(reconstructed version)을 식별하는 단계를 포함하며, 상기 원래 데이터의 제1 특정 재건본과 관련된 제1 비용은 상기 원래 데이터의 상기 제1 특정 재건본과 관련된 부호화율(encoding rate) 및 문턱 값 이하인 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 오차의 제1 상한 놈(supremum norm)에 응답하는 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 왜곡에 기초한다.
상기 원래 데이터의 제1 특정 재건본과 관련된 상기 비용은 라그랑지 매개 변수(Lagrangian parameter)와 상기 부호화율의 곱을 상기 왜곡과 더한 것일 수 있다.
상기 원래 데이터의 제2 특정 재건본과 관련된 제2 비용은 상기 제1 문턱 값보다 큰 상기 원래 데이터와 상기 원래 데이터의 상기 제2 특정 재건본 사이의 오차의 제2 상한 놈에 응답하여 무한대일 수 있다.
상기 제1 문턱 값보다 큰 상기 원래 데이터와 상기 원래 데이터의 상기 제2 특정 재건본 사이의 상기 오차의 상기 제2 상한 놈에 응답하여 상기 제1 문턱 값을 제2 문턱 값으로 설정하는 단계를 더 포함할 수 있다.
상기 방법은 상기 제1 문턱 값을 설정하는 단계를 더 포함하며, 상기 제1 문턱 값을 설정하는 단계는, 상기 오차의 상기 제1 상한 놈 이상인 제1 값에 대하여 검색 창을 검색하는 단계, 그리고 상기 제1 값을 상기 제1 문턱 값으로 설정하는 단계를 포함할 수 있다.
상기 검색 창은 커지는 순서로 배열된 복수의 값을 포함할 수 있다.
상기 제1 값은 상기 검색 창의 하한보다 클 수 있다.
상기 검색 창의 하한은 상기 영상 프레임의 이전 블록의 문턱 값에 해당할 수 있다.
상기 제1 문턱 값 이하인 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 상기 오차의 상기 제1 상한 놈은 상기 원래 데이터의 상기 제1 특정 재건본의 최대 절대 오차를 줄일 수 있다.
본 발명의 다른 실시예에 따른 속도 왜곡 적정화 방법은, 영상 프레임의 한 블록에 대응하는 원래 데이터를 수신하는 단계, 그리고 비용 함수를 최소화하는 상기 원래 데이터의 재건본을 식별하는 단계를 포함하며, 상기 원래 데이터의 특정 재건본과 관련된 비용은, 상기 원래 데이터와 상기 원래 데이터의 상기 특정 재건본 사이의 왜곡, 상기 원래 데이터의 상기 특정 재건본과 관련된 부호화율 및 상기 원래 데이터와 상기 특정 재건본 사이의 오차의 상한 놈에 기초한다.
상기 원래 데이터의 특정 재건본과 관련된 상기 비용은 제1 라그랑지 매개 변수와 상기 부호화율의 곱, 그리고 제1 라그랑지 매개 변수와 상기 원래 데이터와 상기 특정 재건본 사이의 오차의 상한 놈을 상기 왜곡과 더한 것일 수 있다.
본 발명의 한 실시예에 따른 부호기 시스템은, 컴퓨터로 실행 가능한 명령(computer-executable instructions)을 저장하는 메모리, 그리고 상기 명령을 실행하는 프로세서를 포함하는 시스템으로서, 상기 프로세서가 상기 명령을 실행하면 상기 시스템은, 영상 프레임의 한 블록에 대응하는 원래 데이터를 수신하고, 비용 함수를 최소화하는 상기 원래 데이터의 재건본(reconstructed version)을 식별하며, 상기 원래 데이터의 제1 특정 재건본과 관련된 제1 비용은 상기 원래 데이터의 상기 제1 특정 재건본과 관련된 부호화율(encoding rate) 및 문턱 값 이하인 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 오차의 제1 상한 놈(supremum norm)에 응답하는 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 왜곡에 기초한다.
상기 원래 데이터의 제1 특정 재건본과 관련된 상기 비용은 라그랑지 매개 변수(Lagrangian parameter)와 상기 부호화율의 곱을 상기 왜곡과 더한 것일 수 있다.
상기 원래 데이터의 제2 특정 재건본과 관련된 제2 비용은 상기 제1 문턱 값보다 큰 상기 원래 데이터와 상기 원래 데이터의 상기 제2 특정 재건본 사이의 오차의 제2 상한 놈에 응답하여 무한대일 수 있다.
상기 프로세서가 상기 명령을 실행하면, 상기 시스템은 상기 제1 문턱 값보다 큰 상기 원래 데이터와 상기 원래 데이터의 상기 제2 특정 재건본 사이의 상기 오차의 상기 제2 상한 놈에 응답하여 상기 제1 문턱 값을 제2 문턱 값으로 설정할 수 있다.
상기 시스템은 문턱 값 계산기를 더 포함할 수 있으며, 상기 프로세서가 상기 명령을 실행하면, 상기 문턱 값 계산기는 상기 제1 문턱 값을 결정할 수 있다.
상기 문턱 값 계산기는, 상기 오차의 상기 제1 상한 놈 이상인 제1 값에 대하여 검색 창을 검색하고, 상기 제1 값을 상기 제1 문턱 값으로 설정함으로써 상기 제1 문턱 값을 결정할 수 있다.
상기 검색 창은 커지는 순서로 배열된 복수의 값을 포함할 수 있다.
상기 제1 값은 상기 검색 창의 하한보다 클 수 있다.
상기 검색 창의 하한은 상기 영상 프레임의 이전 블록의 문턱 값에 해당할 수 있다.
이와 같이 함으로써 최고의 재건 품질을 유지하면서 최대의 압축을 제공할 수 있다.
도 1은 본 발명의 한 실시예에 따른 부호기 및 복호기의 블록도이다.
도 2는 본 발명의 한 실시예에 따른 뮤라(mura) 보정 과정의 블록도이다.
도 3은 본 발명의 한 실시예에 따른 압축 있는 뮤라 보정 과정의 블록도이다.
도 4는 본 발명의 한 실시예에 따른 부호기의 블록도이다.
도 5는 본 발명의 한 실시예에 따른 부호기가 수행하는 제1 방법에 따른 비용 계산 방법을 나타낸다.
도 6은 본 발명의 한 실시예에 따른 문턱 값 결정 과정을 나타낸다.
도 7은 본 발명의 한 실시예에 따른 부호기의 블록도이다.
도 8은 본 발명의 한 실시예에 따른 부호기가 수행하는 제2 방법에 따른 비용 계산 방법을 나타낸다.
도 9는 본 발명의 한 실시예에 따른 보정 매개 변수의 부호화 방법의 흐름도이다.
도 10은 본 발명의 한 실시예에 따른 보정 매개 변수의 부호화 방법의 흐름도이다.
본 발명의 실시예와 그 이점은 다음의 상세한 설명을 통하여 가장 잘 이해할 수 있다. 별다른 설명이 없는 한, 도면과 명세서 전체를 통틀어 동일한 도면 부호는 동일한 구성요소를 가리키며, 이에 따라 설명을 반복하지 않는다. 또한, 도면에서 부분, 층, 영역 등은 명료한 이해를 위하여 과장될 수 있다.
이제 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 상세하게 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 이러한 실시예를 제공함으로써 발명의 상세한 설명이 완전하고 풍부해질 것이며 발명의 여러 측면과 특징을 당업자에게 충분히 보여줄 것이다. 따라서, 당업자가 본 발명의 다양한 측면과 특징을 완전하게 이해하는 데 필요하지 않은 과정, 장치, 기술 등은 설명을 생략한다.
압축으로 인하여 재건 영상(reconstructed image)에 나타나는 시각 효과를 줄이는 시스템 및 방법에 대하여 설명한다. 도 1은 부호기(102) 및 복호기(104)의 예시적인 블록도이다. 부호기(102)는 영상(I)을 수신하고, 수신한 영상을 부호화하며, 부호화(한) 영상을 복호기(104)에 출력한다. 그러면 복호기(104)는 부호화 영상에 기초하여 원래 영상의 재건본(reconstructed version)(I'')을 생성한다.
일부 적정화 방법은 다음의 공식을 사용하여 원래 영상(I)과 원래 영상의 재건본(I’') 사이의 오차(E)를 최소화하는 원래 영상 재건본(I'')을 생성하고자 하기도 한다.
Figure pat00001
Figure pat00002
Figure pat00003
Figure pat00004
여기에서 E는 원래 영상(I)과 원래 영상 재건본(I’')의 차이이고, Rb는 [압축비, 부호기(102)와 복호기(104) 사이의 사용가능한 대역폭, 필요 용량(storage requirement), 또는 이들의 조합에 기초한] 비트 예산(bit budget)이고, R은 부호기(102)의 부호화 속도(encoding rate)이고, D는 원래 영상과 재건 영상 사이의 왜곡(distortion)이며, λ(≥0)는 왜곡과 비트율(bit rate)의 균형을 맞추는 라그랑지 매개 변수(Lagrangian parameter)이다다.
도 2 및 도 3은 원래 영상에 보정 매개 변수를 적용하여 보정 영상을 생성하는 시스템을 나타낸다. 도시한 예에서, 보정 영상을 생성하는 목표는 보정이 없는 경우 표시 장치에 나타날 수 있는 뮤라 결함(mura defect)을 줄이는 것이다. 그러나 보정 방법을 표시 장치에 사용하여 다른 시각적 미비점(imperfections)[보기: 고스팅(ghosting) 등]을 줄일 수 있다.
표시 장치는 뮤라 결함을 겪기 쉬운데, 이는 표시 장치의 화소를 이루는 트랜지스터와 다양한 전자 성분들이 설정된 제조 허용 한도(manufacturing tolerances) 내에서 면밀한 검사 명세서(closely inspected specifications)에 따라 제조되는 반면, 정확하게 동일한 관계를 가지는 두 성분을 없기 때문이다. 예를 들면, 표시 장치에 있는 두 트랜지스터의 전압-전류 관계가 약간 달라서, 특정 입력 코드(보기: 입력 전압)에 응답하여, 한 화소는 128의 계조 값에 대응하는 밝기로 켜지지만, 다른 화소는 127의 계조 값에 대응하는 밝기로 켜지고, 또 다른 화소는 130의 계조 값에 대응하는 밝기로 켜지는 등등일 수 있다. 또한, 이러한 차이가 한 표시 장치와 다른 표시 장치에서 다를 수 있다. 달리 말하면, 정확히 동일한 두 개의 표시 장치는 존재하지 않는다. 따라서, 뮤라 보정 방법을 시행하여 표시 장치에 존재하는 이러한 시각적 장애를 보상하여 각 표시 장치에 있는 화소가 더 일관성 있게 동작하도록 (예를 들어 항상 128의 계조 값에 대응하는 밝기로 켜지도록) 할 수 있다.
본 발명의 한 실시예에 따르면, 표시할 영상에 보정 매개 변수를 적용하여 뮤라 결함을 보정할 수 있다. 뮤라 결함을 줄이기 위하여 표시 장치는 보정 매개 변수에 기초하여 표시 장치의 화소에 제공되는 입력 값(보기: 입력 전압, 입력 코드 등)을 조정할 수 있다. 보정 매개 변수는 정적 매개 변수(static parameter)이므로 예를 들어 공장에서 표시 장치를 제조하는 동안 매개 변수를 결정하고 시행할 수 있다.
도 2는 본 발명의 한 실시예에 따른 뮤라 보정 방법의 블록도이다. 본 발명의 한 실시예에 따르면, 뮤라 보정 블록(206)에서 원래 영상에 보정 매개 변수(204)를 적용하여 표시 장치(210)에 표시할 영상(202)을 보정한다. 보정 매개 변수(204)는 표시 장치에 따라 다르므로 표시 장치(210) 각각에 대해서 개별적으로 파라미터를 계산하여 메모리(214)에 저장한다. 영상(202)을 표시 장치(210)에 표시할 때, 보정 매개 변수(204)를 메모리(214)에서 꺼내어 실시간으로 영상에 적용하여 뮤라 결함을 보정할 수 있다.
그러나 보정 매개 변수(204)는 메모리 집약적이고 메모리 공간을 많이 차지할 수 있다. 따라서, 본 발명의 한 실시예에 따르면, 보정 매개 변수(204)를 압축하여 메모리에 저장함으로써 보정 매개 변수를 저장하는 데 필요한 메모리 양을 줄일 수 있다.
도 3은 본 발명의 한 실시예에 따른 뮤라 보정 방법의 블록도로서, 여기에서는 보정 매개 변수를 압축한다. 도 2와 마찬가지로, 뮤라 보정 블록(306)에서 원래 영상에 보정 매개 변수(304)를 적용하여 뮤라 결함을 보정함으로써 표시 장치(310)에 표시할 영상(302)을 보정한다. 그러나 도 2와 달리, 부호기(312)로 보정 매개 변수(304)를 압축하고, 압축한 보정 매개 변수를 메모리(314)에 저장하고, 뮤라 보정(306)을 수행하기 전에 메모리(314)에 저장한 압축 매개 변수를 복호기(316)로 압축 해제한다. 마지막으로, 뮤라 보정 영상(308)을 표시 장치(310)에 표시할 수 있다. 본 발명의 한 실시예에 따르면, 부호기(312) 및 복호기(316)가 TLC(transform-based low complexity codec)를 수행할 수 있으나, 이에 한정되지 않고 다른 부호화/복호화 기술을 수행할 수도 있다.
본 발명의 한 실시예는 보정 매개 변수(304)에 대한 속도 왜곡 적정화 방법(속도 왜곡 적정화 technique)에 관한 것이다. 본 발명의 한 실시예에 따르면, 보정 매개 변수(304)를 데이터(I)로 나타낼 수 있으며, 부호기(312)로 데이터(I)를 부호화(보기: 압축)할 수 있다. 부호화는 예를 들어 공장에서 표시 장치(310)를 제조하는 동안 오프라인으로 수행할 수 있다. 본 발명의 한 실시예에 따르면, 부호화는 표시 장치(310)를 제조할 때 단 한 번만 수행한다. 본 발명의 다른 실시예에 따르면, 예를 들어 최종 사용자가 개시한 환경 설정 과정(configuration process)에서 현재 사용하는 장치에 부호화를 수행할 수 있다. 데이터(I)로 나타낸 보정 매개 변수(304)를 압축한 후, 압축한 데이터(I)를 메모리(314)에 저장할 수 있는데, 메모리(314)의 예로는 표시 장치(310)의 온보드(onboard) 메모리가 있다. 동작을 하는 동안에는 부호기(312)가 사용되지 않는데, 이는 부호화(된) 보정 매개 변수(304)가 이미 메모리(314)에 저장되어 있기 때문이다.
본 발명의 한 실시예에 따르면, 데이터(I)를 부호화, 즉 압축함으로써, 부호화 매개 변수의 크기를 줄일 수 있으며, 이에 따라 부호화 매개 변수를 저장하는 데 필요한 메모리(314)의 메모리 필요량(memory requirements) 또는 양(amount)을 줄일 수 있다. 본 발명의 한 실시예에 따르면, 메모리 필요량이 4 배 또는 8 배 줄어들 수 있다.
본 발명의 한 실시예에 따르면, 부호화 매개 변수를 메모리(314)에서 꺼내어 복호기(316)로 복호화(보기: 압축 해제)한 후, 데이터의 재건본(I'')을 뮤라 보정 블록(306)에 공급한다. 본 발명의 한 실시예에 따르면, 복호기(316)는 하드웨어, 예를 들어 FPGA(field-programmable gate logic) 또는 ASIC(application specific integrated circuit)으로 구현될 수 있다. 그러나 본 발명의 다른 실시예에 따르면, 복호기(316)는 프로그래밍 소프트웨어로 구현될 수도 있다.
영상에 대응하는 보정 매개 변수의 속도 왜곡 적정화는 영상의 속도 왜곡 적정화와 다른다. 예를 들어 부호화된 영상(보기: 비디오 영상)을 복호화하는 경우에는, 원래 영상의 재건본인 복호화된 영상이 (예를 들어 표시 장치에) 최종 사용자에게 보인다. 따라서 재건 영상의 경우에 속도 왜곡 적정화를 수행할 때, 피크 신호 대 잡음비(PSNR: peak signal to noise ratio)를 크게 하여, 예를 들어 MPEG와 같은 비디오 암호화 방식에서 통상 수행하는 것처럼 평균 제곱 오차를 줄이거나 최소화하는 것이 바람직하다.
한편, 보정 매개 변수 (예를 들어 뮤라 결함을 보정하기 위하여) 부호화된 보정 매개 변수를 복호화하면, 원래 보정 매개 변수 데이터의 재건본인 복호화된 데이터는 최종 사용자에게 보이지 않는데, 이는 재건된 데이터가 뮤라 결함 보정에 사용되는 매개 변수(보기: 오프셋)일 뿐이기 때문이다. 그 대신, 최종 사용자는 재건된 보정 매개 변수로 보정된 영상을 본다. 그러므로 재건된 보정 매개 변수의 경우 속도 왜곡 적정화를 수행할 때, PSNR만을 증가(보기: 최대화)시키면 가장 좋은 결과(보기: 가장 좋은 재건된 보정 매개 변수)를 얻지 못할 수 있다. 그러므로 본 발명의 한 실시예에 따르면, PSNR을 증가(보기: 최대화)시키는 것에 더하여, 원래 보정 매개 변수와 보정 매개 변수의 재건본 사이의 오차를 감소(보기: 최소화)시키는 방법을 수행함으로써, 최대 절대 오차(maximum absolute error)를 줄일 수 있다. 여기에서, 보정 매개 변수를 ""데이터""라고도 할 수 있다.
본 발명의 한 실시예에 따라, PSNR을 희생하지 않고 (예를 들어 증가시키면서) 최대 절대 오차를 줄이기 위한 뼈대(framework)를 적정화하는 방법에 대하여 설명한다. 본 발명의 한 실시예에 따르면, 최대 절대 오차를 줄이는 방법은 데이터를 부호화하는 데 드는 시간을 늘리지 않고 결정된다.
본 발명의 한 실시예에 따라, 최대 절대 오차(
Figure pat00005
)를 줄이기 위하여 속도 왜곡 적정화에 상한(上限) 놈(supremum norm)을 포함하는 시스템 및 방법에 대하여 설명한다. 본 실시예에 따른 시스템 및 방법은 다음의 수학식에 따라 원래 데이터의 재건본(I'')을 정의한다.
Figure pat00006
Figure pat00007
Figure pat00008
여기에서 τ는 문턱값이고,
Figure pat00009
는 원래 데이터(I)와 원래 데이터의 재건본(I'') 사이의 상한 놈이다.
본 발명의 한 실시예에 따르면, 라그랑지 매개 변수 λ가 있는 수정 제약 조건 문제(modified constrained problem)는,
Figure pat00010
Figure pat00011
Figure pat00012
여기에서 비용 D + λR 은
Figure pat00013
일 때 D + λR = ∞. 여기에서,
Figure pat00014
가 상한 놈 제약 조건(supremum norm constraint)이다. 본 발명의 다른 실시예에 따르면, 왜곡은 절대 차(absolute difference)의 합에 기초하여 다음과 같이 계산할 수 있다.
Figure pat00015
Figure pat00016
Figure pat00017
본 발명의 실시예는 τ를 결정함으로써 상한 놈 제약 조건을 강제하는 두 가지 방법을 제시한다.
도 4는 도 3에 도시한 부호기(312)의 한 예를 나타내는 블록도이다. 본 발명의 한 실시예에 따르면, 부호기(312)는 영상(402)의 각 블록에 대응하는 보정 매개 변수를 취하고, 여러 가지 가능한 모드 중 하나[보기: 변환 모드(transform modes)]에 따라, 제1 비용 계산 방법(보기: 속도 왜곡 적정화)에 기초하여 보정 매개 변수를 부호화하는데, 이에 대하여 도 5를 참고하여 더욱 상세하게 설명한다.
본 발명의 한 실시예에 따르면, 부호기(312)는 문턱 입력 값 τ를 둘 이상의 변환 모드(404A-404C) 및 대비 모드(fallback mode)(406)에 공급하는 τ 계산기(408)를 포함한다. 변환 모드(404A-404C) 및 대비 모드(406)로부터의 출력은 모드 선택(410)에 공급되며, 모드 선택(410)에서 변환 모드(404A-404C) 및 대비 모드(406)의 출력 중 하나가 선택된다. 본 발명의 한 실시예에 따르면, τ 계산기(408)는 문턱 값 τ를 설정하여 변환 모드(404A-404C)에 인가하며, 문턱 값 τ는 비용이 합격인지 불합격인지(예를 들어, 오차의 상한 놈에 의하여 강제되는 제약 조건이 문턱 값 τ보다 작거나 같은지)를 판단하는 데 사용될 것이다. 그 결과, 모드 중 하나에 대한 제약 조건을 충족하는(보기: 합격인) 문턱 값 τ를 찾으면, 모드 선택(410)은 그 모드[보기: 변환 모드(404A-404C) 중 하나]를 최소 비용으로 선택한다. 이와는 달리, 문턱 값 τ가 모드들에 대한 제약 조건을 충족하지 못하면(보기: 불합격이면), 피드백이 적용되어 τ 계산기(408)는 다른 τ 값(보기: 다음으로 높은 값)을 선택하고 갱신된 τ 값을 변환 모드(404A-404C)에 공급하여 갱신된 τ 값이 모드들 중 적어도 하나의 제약 조건을 충족하는지를 판단하도록 한다. 제약 조건을 충족하는 모드를 선택할 수 있는데, 복수의 모드가 제약 조건을 충족하는 경우에는, 가장 저렴한 비용을 가지는 모드를 선택할 수 있다. 본 발명의 한 실시예에 따르면, 갱신된 τ 값을 포함하여 어떤 τ 값도 제약 조건을 충족하지 못하면, 모드 선택(410)은 대비 모드(406)를 선택할 수 있다.
본 발명의 한 실시예에 따르면, 부호기(312)는 영상(402)의 블록에 대응하는 보정 매개 변수의 공간 내적 예측(spatial intra prediction)을 수행할 수 있는 복수의 변환 모드(404A-404C)를 포함한다. 본 발명의 한 실시예에 따르면, 수직 내적 예측 모드(vertical intra prediction mode)를 수행할 수 있다. 본 발명의 다른 실시예에 따르면, 수평 내적 예측 모드(horizontal intra prediction mode)를 수행할 수 있다. 따라서, 서로 다른 변환 모드 각각으로부터 보정 매개 변수의 서로 다른 예측을 생성할 수 있다. 변환 모드 각각에 의한 예측에서 원래 보정 매개 변수를 빼서 잔차(residue)를 생성할 수 있다. 잔차를 생성한 후에, JPEG 또는 H.264에서 사용하는 것과 같은 이산 코사인 변환(DCT: discrete cosine transform)을 수행할 수 있다. 본 발명의 다른 실시예에 따르면, HEVC에서 사용하는 것과 같은 이산 사인 변환(DST: discrete sine transform)을 수행할 수 있다. 변환을 적용한 후에, 양자화 매개 변수(quantization parameter)를 사용하여 현재 블록을 양자화할 수 있으며, 양자화 계수(quantized coefficient)를 나타내는 암호화 속도(coding rate)를 계산한다.
본 발명의 한 실시예에 따르면, 부호기는 둘 이상의 변환 모드, 예를 들어 도 4에 도시한 바와 같이 8개의 변환 모드(404A-404C)를 포함할 수 있다. 따라서, 현재 블록을 8 개의 서로 다른 변환 모드(404A-404C)에 의하여 8 가지의 서로 다른 방법으로 근사 또는 재건할 수 있으며, 모드 선택(410)은 원래 블록과 근사/재건 블록 사이의 왜곡, 속도(보기: 양자화된 변환 계수를 나타내는 데 사용되는 비트의 양) 및 문턱 값 τ에 기초하여 가장 우수한 출력을 생성하는 변환 모드를 선택할 수 있다. 또한, 영상(402)의 블록마다 다른 변환 모드를 선택할 수 있다. 따라서, 한 예를 들면, 변환 모드 1(404A)가 첫 번째 블록에 가장 우수한 근사지만, 두 번째 블록에 대해서는 변환 모드 2(404B)가 가장 좋은 근사일 수 있는 등이다. 본 발명의 한 실시예에 따르면, 바람직한 잔차는 가장 작은 왜곡, 가장 작은 속도, 가장 작은 τ 또는 이들의 조합을 주는 것일 수 있다.
본 발명의 한 실시예에 따르면, 대비 모드(406)는 정속 압축(fixed rate compression)을 가질 수 있고 변환 모드(404A-404C)가 비싸거나 부호기가 비트를 거의 다 썼을 때 사용할 수 있다. 대비 모드(406)에서, 초기 메모리 크기(upfront memory size)가 고정되어 있어서, 고정된 메모리 크기에 맞게 보정 매개 변수를 압축할 수 있다. 그러므로 메모리 용량을 1 비트라도 초과하면 보정 매개 변수를 복호화(보기: 재건)할 수 없게 되고 이에 따라 보정 매개 변수를 완전히 상실할 수 있다. 따라서, 대비 모드(406)의 사용은 통상 에지 케이스(edgy case)나 코너 케이스(corner case)를 대비해서 남겨 둔다.
본 발명의 한 실시예에 따르면, 모드 선택(410)은 영상(402)의 각 블록에 대응하는 보정 매개 변수에 대하여 PSNR을 증가(보기: 최대화)하거나 상한 놈 오차를 감소(보기: 최소화)하는 최우수 변환 모드를 선택한다. 도 4에 예시한 부호기(312)에서, 모드 선택(410)은 변환 모드(404A-404C) 중 하나 또는 대비 모드(406)를 선택한다. 앞서 설명한 바와 같이, 대비 모드(406)를 선택할 확률이 매우 낮으므로(예를 들어 약 시간의 0.001%이므로), 그리고 대비 모드(406)는 에지 케이스 또는 코너 케이스에 대비하여 남겨 둔 것이므로, 모드 선택(410)은 대부분의 시간(보기: 시간의 약 99.999%) 동안 변환 모드(404)를 선택할 것이다. 또한, 모드 선택(410)에서 비트 예산을 계산하여 고정 속도(fixed rate)를 결정할 수 있다.
본 발명의 한 실시예에 따르면, 부호기(312)는 속도 제어기(rate controller)(412)를 포함할 수 있다. 목표 비트 및 비트 예산이 속도 제어기(412)에 입력으로 공급될 수 있으며, 속도 제어기(412)는 부호화율(encoding rate)이 목표 비트로부터 얼마나 떨어져 있는지에 따라 양자화 매개 변수(QP)를 계산할 수 있다. QP는 모드[보기: 변환 모드(404A-404C) 또는 대비 모드(406)]에 공급될 수 있다. 마지막으로, 보정 매개 변수는 부호화 블록(414)에서 계산되어 메모리(314)에 저장될 수 있다.
예를 들어 VDC-M(VESA Display Compensation Mobile)과 같은 일부 부호화 방식에서는, 변환 모드를 사용하여 특정 유형의 시각 정보를 부호화할 수 있는데, 예를 들면, 변환 모드를 사용하여 자연 컨텐트(natural contents)를 부호화하거나, 블록 예측 모드(block prediction mode)를 사용하여 스크린 컨텐트(screen content) 및 합성 패턴(synthetic pattern)을 부호화할 수 있다. 본 발명의 한 실시예에 따르면, 변환 모드가 비싸거나 부호기가 비트를 거의 다 썼을 때 대비 모드를 사용한다.
본 발명의 한 실시예에 따르면, 변환 모드 및 블록 예측 모드와 같은 정규 모드에서만 오차 제약 조건의 상한 놈을 평가할 수 있다. 이는 대비 모드를 매우 드물게 사용하고, 대비 모드를 사용할 때 대비 모드에서의 왜곡이 일반적으로 크기 때문이며, 블록 당 적어도 하나의 대비 모드를 사용할 수 있다.
도 5는 도 4에 도시한 부호기(312)에 의한 제1 방법(또는 첫 번째 방법)에 따른 비용 계산 방법을 나타낸다. 특히, 부호기(312)의 변환 모드(404A-404C)가 수행하는 비용 계산을 나타낸다. 여기에서, 원래 데이터와 재건 데이터 모두를 사용하여 블록(502)에서 왜곡(D)을 계산하며, 원래 데이터의 특정 재건본(I’')과 관련된 비용은 원래 데이터의 특정 재건본(I’') 및 원래 데이터(I)와 원래 데이터의 특정 재건본(I’') 사이의 왜곡과 관련된 부호화율에 기초한다. 즉, 비용은 왜곡(D)에 속도(R) 곱하기 λ를 더한 값으로 계산할 수 있다. λ는 예를 들어 당업자에게 알려진 하나 이상의 방법에 따라 계산할 수 있다. Iain E. Richardson. 2010, The H.264 Advanced Video Compression Standard (2nd. ed.). Wiley Publishing. 에서 설명한 바에 따르면,
Figure pat00018
예를 들어
Figure pat00019
.
미국특허번호 9,866,853, ""System and method for Lagrangian parameter calculation for display stream compression (DSC)""에서 설명한 바에 따르면,
Figure pat00020
Figure pat00021
여기에서, a, b, c, d는 상수이고, R은 현재 블록의 암호화율이고, maxBits 는 현재 블록을 나타내기 위한 최대 비트이다. 본 발명의 한 실시예에 따르면, 재건 데이터는, 도 4의 부호기(312)에서 변환 모드(404A-404C) 또는 대비 모드(406) 중에서 모드 선택(410)이 선택한 부호화 방법을 사용하여 원래 데이터를 부호화한 다음 다시 복호화하는 것에 기초하여 생성된다.
그러나, 본 발명의 한 실시예에 따르면, 비용에 부가 제약 조건이 더해지며, 이는 원래 데이터와 원래 데이터의 특정 재건본 사이의 오차의 상한 놈이 문턱 값 τ 이하가 되도록 강제한다. 본 발명의 한 실시예에 따르면, 상한 놈 블록(504)에서, 오차의 절대 차를 취한 후 절대 차의 최대 값을 취함으로써 상한 놈을 결정할 수 있다. 상한 놈이 τ 계산기(408)로부터 제공될 수 있는 τ 이상이면, 현재 비용은 D + λR 로 인정된다. 오차의 상한 놈이 τ보다 크면, 선택된 변환 모드의 비용을 무한대로 설정하고, 이에 따라 그 변환 모드는 τ의 그 특정 값에 대해서 데이터를 부호화하는 데 사용하지 않는다. 그러나, 도 4를 참고하여 앞에서 설명한 것처럼, τ의 현재 값이 제약 조건을 충족하지 못하면, 피드백이 적용되어 τ 계산기(408)는 다른 τ 값(보기: 다음으로 높은 τ 값)을 선택하고 이 τ 값이 제약 조건을 충족할 것인지를 판단한다. 그렇지 않다고 판단하면, 제약 조건을 충족하는 τ 값을 찾을 때까지 이 과정을 반복할 수 있다. 복수의 τ 값이 제약 조건을 충족하는 것으로 판단하면, 최소 비용을 생성하는 τ 값을 선택할 수 있다. 이와는 달리, 제약 조건을 충족하는 τ 값이 없고 τ 계산기(408)가 선택할 값도 남아 있지 않으면, 비용을 무한으로 설정한다. 그 결과, 데이터의 현재 재건본이 모든 변환 모드에 대하여 거부된다. 따라서, 제1 방법은, 문턱 값 τ을 넘는 암호화 방법의 사용과 관련된 최대 절대 오차에 응답하여 암호화 방법을 무한대로 설정함으로써, 최대 절대 오차의 경직된 강제(hard enforcement)(보기: 수락 또는 거부의 이진 결정) 방법을 제공한다. 이러한 상황이 발생하면, 대비 모드를 선택할 수 있다.
τ에 대한 값을 결정하는 방법에 대하여 설명한다. 본 발명의 한 실시예에 따르면, 전체 탐색법(brute force approach)으로 τ를 결정할 수 있다. 예를 들면, 변환 모드(404A-404C) 중 적어도 하나에 대하여 오차 제약 조건의 상한 놈을 충족하는, 검색 창 S = {1,2,3, ..., T} 로부터 가장 작은 문턱 값을 결정할 수 있다.
Figure pat00022
Figure pat00023
Figure pat00024
달리 말하면, 검색 창(S)을 예를 들어 1에서 T까지로 설정할 수 있으며, 여기에서 1은 검색 창(S)의 소정 하한이고, T는 검색 창(S)의 소정 상한이며, 검색 창(S)의 값들은 커지는 순서로 제공된다. 검색 창(S)에서 오차 제약 조건의 상한 놈을 충족하는 문턱 값 τ을 찾는 것이 목적이다. 따라서, 문턱 값 τ는 검색 창(S)에서 최소 값(보기: 이 경우 1)일 수 있으며, 각각의 변환 모드[보기: 도 4에서 변환 모드(404A-404C)]에 대해서 비용(보기: 속도 왜곡 적정화)을 계산할 수 있다. 제약 조건
Figure pat00025
이 충족되지 않으면, S로부터 다음으로 작은 값(보기: 이 경우 2)을 선택하여 속도 왜곡 적정화를 계산할 수 있다. 비용 공식에서 모든 제약 조건을 충족하는 문턱 값 τ이 각 블록에 대해서 결정될 때까지 각 블록에 대해서 이 과정을 되풀이한다. 본 발명의 한 실시예에 따르면, τ 값이 모두 제약 조건을 충족하지 못하면, τ 값에 의존하지 않는 대비 모드(406)를 선택할 수 있다.
도 6은 복수의 블록, 예를 들어 N x M 블록으로 나뉜 영상 프레임의 한 예를 도시하며, 대응하는 보정 매개 변수를 영상의 각 블록에 적용하여 뮤라 결함을 보정한다. 본 발명의 한 실시예에 따르면, 각 블록은 복수의 화소, 예를 들어 2 행 8 열로 배열된 16 개의 화소를 포함할 수 있다. 본 발명의 다른 실시예에 따르면, 각 블록은 이보다 많거나 적은 수의 화소를 포함할 수 있다. 따라서, RGB 배열을 사용하는 표시 장치의 예에 따르면, 적색, 녹색 및 청색 블록 각각이 적색, 녹색 및 청색 부화소(sub-pixel)의 16 화소를 포함한다. RGBG 배열(보기: PENTILE® 배열)을 사용하는 다른 실시예에서는, 적색 및 청색 블록 각각이 적색 및 청색 화소의 8 개 부화소를 포함하고, 녹색 블록은 녹색 부화소의 16 개 화소를 포함한다.
본 발명의 한 실시예에 따르면, 블록들에 대한 보정 매개 변수에 대해서 전체 탐색법으로 속도 왜곡 적정화를 위한 문턱 값 τ를 결정할 수 있다. 본 발명의 한 실시예에 따르면, 문턱 값 τ는 검색 창(S)에서 최소값(보기: 1)으로 설정하고 도 4를 참고하여 앞서 설명한 부호화 방법에 따라 제1 블록에 대해서 속도 왜곡 적정화의 해를 구하는데, 최우수 부호화 해를 선택한다. 여기에서, 제1 블록은 왼쪽 최상 블록이다. 선택한 부호화 방법[보기: 변환 모드(404A-404C) 중 하나]에 기초하여 오차의 상한 놈이 문턱 값 τ(이 예에서는 1)보다 작으면, 제1 블록은 합격이고 선택된 모드에 대하여 그 블록에 대한 비용은 D + λR 이고, 다음 블록으로 넘어간다. 비용은 선택된 모드에서 이 문턱 값 τ에 대하여 통과일 수 있지만, 다른 모드에서는 동일한 문턱 값에 대해서 불합격일 수 있는데, 이 경우에 비용은 D + λR 대신 무한대가 될 수 있다. 따라서, (또한 예를 들어 최소 속도, 최소 왜곡 및 최소 τ에 기초하여) 제약 조건을 가장 잘 충족하는 모드를 선택할 수 있다.
다음 블록은 오른쪽에 위치한 블록이다. 이 블록에 대하여 계산을 반복하고, 오차의 상한 놈이 1 이하이면, 이 블록 또한 합격이고, 이 블록에 대한 비용 또한 D + λR 이다. 따라서, 이 과정을 모든 블록에 대해서, 왼쪽에서 오른쪽으로, 그리고 아래에 위치한 다음 행의 왼쪽에서 오른쪽으로, 이런 식으로 차례로 반복하는데, 계산 결과가 제약 조건을 충족하지 못할. 즉, 오차의 상한 놈이 문턱 값 τ(보기: 1)보다 큰 블록에 도달할 때까지 반복한다. 여기에서, 영상 프레임(802)에서, 블록 808은 불합격이다. 그러므로 문턱 값 τ는 검색 창(S)에서 다음으로 가장 작은 값, 예를 들어 이 경우에는 2로 설정하고, 전체 탐색법에 따라 최상단 왼쪽의 제1 블록부터 속도 왜곡 적정화 공식을 다시 푼다. 따라서 검색 창 값(search window value)의 하한은 영상 프레임의 이전 블록의 문턱 값 τ에 해당할 수 있다. 본 발명의 한 실시예에 따르면, 각 블록에 대해서 수행되는 계산은 부호기의 각 변환 모드에 대해서 비용이 많이 두는 계산을 포함한다. 따라서 한 블록에 대한 계산이 불합격이라면, 모든 변환 모드가 불합격이 된다.
그러나 속도 왜곡 적정화 공식을 처음으로 다시 계산하기 때문에 전체 탐색법은 비효율적일 수 있다. 더 효율적인 방법에 따르면, 문턱 값 τ = 1에 대해 이미 합격한 앞의 블록들에 대해서는 속도 왜곡 적정화 공식을 풀 필요가 없다. 그러므로 이 블록들은 더 큰 문턱 값(보기: τ = 2)에 대해서도 합격할 것이라는 것을 알고 있다. 따라서, 더 큰 문턱 값 τ = 2 를 사용하여 속도 왜곡 적정화 공식을 푸는 것은, 더 작은 문턱 값 τ = 1 을 사용했을 때 불합격이었던 블록 808부터 시작할 수 있다.
이런 방식으로, 효율적인 방법에 따라 더 효율적으로 문턱 값 τ를 결정할 수 있다. 따라서, 문턱 값 τ = 2 일 때 , 속도 왜곡 적정화 공식은 블록 808에서부터 풀며, 이 블록이 합격하면, 다음 블록을 풀고, 이런 식으로 오차의 상한 놈이 2보다 커서 불합격인 블록에 도달할 때까지 진행한다. 여기에서, 영상 프레임 804에 나타낸 바와 같이 문턱 값 τ = 2 이 블록 810에서 불합격이다. 이에 따라, 문턱 값 τ를 검색 창(S)에서 그 다음 작은 값, 예를 들어 이 경우에는 3으로 설정하고, 블록 810에서부터 속도 왜곡 적정화 공식을 푼다. 그 블록이 합격하면 다음 블록에 대해서 공식을 풀고, 이런 식으로 영상 프레임(806)에 나타낸 바와 같이 모든 블록이 합격할 때까지 진행한다. 따라서 이 예에서 문턱 값 τ는 3으로 설정할 수 있다.
본 발명의 한 실시예에 따르면, 작은 검색 창 값으로 모든 블록이 합격할 수 없다는 것을 알고 있다면, τ를 최소의 검색 창 값(보기: S의 하한, 즉 τ = 1)으로 설정하는 것이 비효율적일 수 있다. 이에 따라, 이진 검색법을 사용할 수 있는데, 이 방법에서는 τ의 초기 값을 더 큰 값, 예를 들어 검색 창 값의 하한과 검색 창 값의 상한의 중간[보기: 검색 창(S)의 중간]에 어디엔가 있는 값으로 설정할 수 있으며, 이때 더 작은 τ는 어느 지점에선가 불합격이 될 것이라는 것을 알고 있다. 예를 들어 검색 창(S) = {1, 2, 3, 4, 5, . . ., 100}이면, 제1 문턱 값 τ는 50에서부터 시작하도록 설정할 수 있다. τ = 50 이 합격이면, 검색 창(S)의 아래쪽 반을 나누는데, 예를 들어 1과 50 사이(즉, 아래쪽 반)의 값인 τ = 25를 선택할 수 있다. 이와는 반대로, τ = 50 이 불합격이면, 검색 창(S)의 위쪽 반을 나누는데, 예를 들어 50과 100 사이(즉, 위쪽 반)의 값인 τ = 75를 선택할 수 있다. 이 과정은 합격인 τ 값을 결정할 때까지 반복할 수 있다. 따라서, 계산할 때 검색 창(S)의 문턱 값 τ를 모두 사용하지 않음으로써 시간을 절약할 수 있고, 이에 따라 전체 효율을 향상할 수 있다.
따라서, 전체 탐색법이 간단하지만 가장 효율적인 것은 아니며, 효율적인 방법과 이진 탐색법은 더 복잡하지만 더 효율적이다. 예를 들면, 1920 X 1080 화소를 가지는 표시 장치는 약 129,600 블록(또는 2,073,600 화소, 여기에서 각 블록은 2 행 8 열의 화소를 포함함)을 포함한다. 복잡도(complexity)는 검색 창의 기수(cardinality) 곱하기 블록의 수효(보기: |S|*B = |S|*(N x M))로 분석할 수 있는데, 여기에서 S는 검색 창의 기수, B는 블록의 수효, N은 블록 행의 수효, M은 블록 열의 수효이다. 그러므로 효율적인 방법의 복잡도는 O(B+|S|*B) 로 )로 나타낼 수 있지만, 검색 창의 기수(S)가 B보다 매우 작기(보기: |S|<<B) 때문에, O(B+|S|*B) = O(B) = O(N*M). 따라서, 검색의 복잡도는 그저 O(N*M)까지 실질적으로 줄어들 수 있다. 한편, 전체 탐색법의 복잡도는 O(|S|*N*M) 이고, 이진 탐색법의 복잡도는 O(log2(|S|*N*M) 이다)이다.
도 7은 부호기의 블록도로서, 도 4의 부호기(312)와 비슷하지만 τ 계산기를 포함하지 않으며, 비용 계산이 속도, 왜곡 및 상한 놈 제약 조건을 포함하는 제2 방법(또는 두 번째 방법)에 따라 보정 매개 변수를 부호화하는 데 사용할 수 있다. 이에 대하여 도 8을 참고하여 더 상세하게 설명한다. 본 발명의 한 실시예에 따르면, 부호기는 도 4와 마찬가지로 둘 이상의 변환 모드(604A-604C)를 포함하며, 각 변환 모드는 영상(802)의 블록에 대응하는 보정 매개 변수의 공간 내적 예측을 수행할 수 있다. 본 발명의 한 실시예에 따르면, 수직 내적 예측 모드를 수행할 수 있다. 본 발명의 다른 실시예에 따르면, 수평 내적 예측 모드를 수행할 수 있다. 따라서, 서로 다른 변환 모드 각각으로부터 보정 매개 변수의 서로 다른 예측을 생성할 수 있다. 변환 모드 각각에 의한 예측에서 원래 보정 매개 변수를 빼서 잔차를 생성할 수 있다. 잔차를 생성한 후에, 이산 코사인 변환 또는 이산 사인 변환을 수행할 수 있다. 변환을 적용한 후에, 양자화 매개 변수를 사용하여 현재 블록을 양자화할 수 있으며, 양자화 계수를 나타내는 암호화 속도(coding rate)를 계산할 수 있다. 따라서, 보정 매개 변수의 서로 다른 예측이 서로 다른 변환 모드로부터 생성될 수 있고, 변환 모드 각각에 대해서 비용이 생성될 수 있다. 나머지 블록들은 도 4를 참고하여 설명한 것과 실질적으로 동일하므로 여기에서 반복하지 않는다.
도 8은 도 7에 도시한 부호기를 사용하는 두 번째 방법에 따른 다른 비용 계산 방법을 나타낸다. 특히, 부호기의 변환 모드(604A-604C)에 의하여 수행되는 비용 계산을 보여준다. 도 7에 도시한 부호기의 둘 이상의 비용 계산을 수행하여 최고의 결과를 선택하는 비용 계산 변환 모드(604A-604C)의 둘 이상의 단위(보기: 8 개의 단위)를 포함한다. 본 발명의 한 실시예에 따르면, 비용을 계산하는 두 번째 방법은 두 개의 제약 조건, λ1 및 λ2 를 사용하고, 다음 공식을 사용하여 제약 조건을 비제약 문제(unconstrained problem)로 전환한다.
Figure pat00026
Figure pat00027
여기에서, λ1은 양자화 매개 변수에 의존하거나 첫 번째 방법을 사용하여 계산될 수 있다. λ2 는 실험 오차 또는 분석 오차에 기초하여 시행착오를 통하여 계산될 수 있으며, 이에 따라 추정 값(estimated value)일 수 있다. 예를 들면, λ2 는 양자화 매개 변수에 의존할 수 있으며, λ2 값이 λ1으로부터 계산된 값들과 다른 지수 방정식으로부터 결정될 수 있다. 본 발명의 한 실시예에 따르면, λ2 는 무한대 놈(
Figure pat00028
)에 의존할 수 있다. 따라서, λ1 및 λ2 를 사용하여 속도(R)과 와 오차의 상한 놈의 균형을 맞추어 두 번째 방법에 따른 비용을 결정할 수 있다. 도 8에 도시한 것처럼, 원래 데이터의 재건본을 왜곡 계산기(702)에 공급하여 왜곡(D)을 계산할 수 있다. 여기에서, 원래 데이터의 재건본은, 도 7의 부호기에 있는 변환 모드(604A-604C)로부터 모드 선택기(610)가 선택한 부호화 방법을 사용한 원래 데이터의 부호화 및 복호화에 기초하여 생성할 수 있다. 앞서 설명한 것처럼, λ1 및 λ2 는 블록(704)에서 계산될 수 있으며, 비용은 이러한 방식으로 추정할 수 있다. 이와 같이 절대 오차가 비용에 병합되므로, 최소 비용으로 부호화를 수행하면 절대 오차를 줄일 수 있다.
도 9는 본 발명의 한 실시예에 따른 보정 매개 변수 부호화 방법(900)의 흐름도이다. 본 실시예에 따른 속도-왜곡 적정화에 대하여 설명한다. 이 방법은 영상 프레임의 한 블록에 대응하는 원래 데이터(I)를 수신하는 단계(902)를 포함할 수 있다. 본 발명의 한 실시예에 따르면, 이 방법은 비용 함수를 최소화하는 원래 데이터의 재건본(I’')을 식별하는 단계(904)를 더 포함할 수 있다. 비용은 원래 데이터의 특정 재건본과 관련 있을 수 있으며, 문턱 값(τ) 이하인, 원래 데이터와 원래 데이터의 특정 재건본 사이의 오차의 상한 놈에 응답하여 원래 데이터와 원래 데이터의 특정 재건본 사이의 왜곡(D) 및 원래 데이터의 특정 재건본과 관련된 부호화율(R)에 기초할 수 있다. 본 발명의 한 실시예에 따르면, 이 방법은 원래 데이터와 원래 데이터의 제2 특정 재건본 사이의 오차의 제2 상한 놈으로서 문턱 값보다 큰 오차의 제2 상한 놈에 응답하여 문턱 값을 제2 문턱 값으로 설정할 수 있다(906). 본 발명의 한 실시예에 따르면, 이 방법은 검색 창(S)을 더 검색하여 오차의 상한 놈 이상인 제1 값을 찾은 후(908), 문턱 값을 제1 값으로 설정한다(910).
도 10은 본 발명의 한 실시예에 따른 보정 매개 변수 부호화 방법(1000)의 흐름도이다. 본 실시예에 따른 다른 속도-왜곡 적정화에 대하여 설명한다. 이 방법은 영상 프레임의 한 블록에 대응하는 원래 데이터(I)를 수신하는 단계(1002)를 포함할 수 있다. 본 발명의 한 실시예에 따르면, 이 방법은 비용 함수를 최소화하는 원래 데이터의 재건본(I’')을 식별하는 단계(1004)를 더 포함할 수 있다. 비용은 원래 데이터의 특정 재건본과 관련 있을 수 있고, 원래 데이터와 원래 데이터의 특정 재건본 사이의 왜곡(D), 원래 데이터의 특정 재건본과 관련된 부호화율(R), 원래 데이터와 특정 재건본 사이의 오차의 상한 놈에 기초할 수 있다.
"제1", "제2", "제3" 등의 용어를 여러 가지 원소, 성분, 영역, 층, 부분 등에 사용하지만, 이들은 이런 수식어에 의하여 한정되지 않는다. 이러한 용어는 어떤 원소, 성분, 영역, 층, 부분을 다른 원소, 성분, 영역, 층, 부분과 구별하기 위하여 사용하는 것이다. 따라서 제1 원소, 성분, 영역, 층, 부분은 본 발명의 취지와 범위를 벗어나지 않고 제2 원소, 성분, 영역, 층, 부분이라고 할 수도 있다.
설명의 편의를 위하여 도면에 도시한 어떤 부분 또는 특성에 대한 다른 부분 또는 특성의 관계를 나타내기 위하여 "아래", "밑", "위" 등 공간 관계 용어를 사용할 수 있다. 이러한 공간 관계 용어는 도면에 도시한 사용 또는 동작하는 장치의 서로 다른 위치 및/또는 방향을 나타내기 위한 것이다. 예를 들면, 도면에서 어떤 부분의 "아래" 또는 "밑"에 있는 것으로 도시한 부분은 장치가 뒤집히면 반대로 "위"에 있는 것이 된다. 그러므로 예를 들어 "아래" 및 "밑"은 위와 아래를 모두 나타낼 수 있다. 장치가 예를 들면 90도 회전하거나 다른 방향을 향할 수 있으며, 이 경우 공간 관계 용어는 이에 맞게 해석되어야 한다.
성분이나 층이 다른 성분이나 층의 "위에" 있거나 "연결되어" 있는 것으로 기재하는 경우 "바로" 위에 있거나 또는 "직접" 연결되어 있는 경우뿐 아니라 중간에 다른 성분이나 층이 더 끼어 있는 경우도 포함한다. 그러나 "바로 위에" 있거나 "직접 연결"되어 있는 것으로 기재하면 중간에 다른 부분이 없다는 것을 뜻한다. 또한, 어떤 성분이나 층이 다른 두 성분이나 층 "사이"에 있다고 표현했을 때, 두 성분이나 층이 사이에 해당 성분이나 층만 있을 수도 있지만 하나 이상의 다른 성분이나 층이 더 있을 수 있다.
여기에서 사용된 용어는 특정 실시예를 설명할 목적으로 사용할 뿐이며 본 발명을 제한하고자 하는 것은 아니다. 여기에서 수를 특별히 언급하지 않으면 단수 또는 복수의 경우를 모두 포함한다. 어떤 특징, 정수, 단계, 동작, 부분, 성분 등을 "포함"한다는 표현은 해당 부분 외에 다른 특징, 정수, 단계, 동작, 부분, 성분 등도 포함할 수 있다는 것을 의미한다. "및/또는"이라는 표현은 나열된 것들 중 하나 또는 둘 이상의 모든 조합을 포함한다. 나열 목록 앞에 기재한 "적어도 하나" 등의 표현은 목록 전체를 수식하는 것이지 목록 내의 각각의 것을 수식하는 것은 아니다.
여기에서 "실질적으로", "약", "대체로" 및 이와 비슷한 표현은 근사를 나타내는 표현일 뿐 "정도"를 나타내는 것이 아니며, 당업자가 알 수 있는 측정값 또는 계산 값의 고유 오차를 나타내는 데 사용한다. 또한, 본 발명의 실시예를 설명할 때 사용하는 "수 있다"는 표현은 "본 발명의 하나 이상의 실시예"에 적용 가능하다는 것을 뜻한다. "예시적인"이라는 용어는 예 또는 도면을 나타낸다. "사용", "이용" 등은 이와 유사한 다른 표현과 함께 비슷한 의미로 사용될 수 있다.
본 발명의 실시예에 따라 설명한 전자, 전기 장치 및/또는 다른 관련 장치 또는 부분은 적절한 하드웨어, 펌웨어[보기: 응용 주문형 집적 회로(ASIC: application-specific integrated circuit), FPGA(field-programmable gate array)], 소프트웨어 또는 이들의 조합을 사용하여 구현할 수 있다. 예를 들면, 이들 장치의 다양한 구성 요소를 하나의 집적 회로 칩에 형성될 수도 있고 서로 다른 집적 회로 칩에 구현할 수도 있다. 또한, 이들 장치의 다양한 구성 요소를 가요성 인쇄 회로 필름, 테이프 캐리어 패키지(TCP: tape carrier package), 인쇄 회로 기판 등에 구현하거나 하나의 기판 위에 형성할 수 있다. 또한, 이들 장치의 다양한 구성 요소를 여기에서 설명한 다양한 기능을 수행하기 위하여 컴퓨터 프로그램 명령을 실행하고 다른 시스템 요소와 상호 작용하는 하나 이상의 컴퓨터 장치 내에 있는 하나 이상의 프로세서에서 실행될 수 프로세스 또는 스레드(thread)일 수 있다. 컴퓨터 프로그램 명령은 램(RAM: random access memory) 등의 표준 메모리 장치를 사용하는 컴퓨터 장치에 구현된 메모리에 저장될 수 있다. 뿐만 아니라, 당업자는 본 발명의 실시예의 개념과 범위를 벗어나지 않고도 다양한 컴퓨터 장치의 기능들을 하나의 컴퓨터 장치에 결합 또는 통합하거나, 특정 컴퓨터 장치의 기능을 하나 이상의 다른 컴퓨터 장치에 분산할 수도 있다.
별다른 언급이 없는 한 여기에서 사용하는 (기술적, 과학적 용어를 포함하는) 모든 용어들은 이 발명이 속하는 기술 분야의 당업자가 일반적으로 알고 있는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의된 용어 등의 용어들은 관련 기술 분야 및/또는 본 명세서에서의 의미와 일치하는 의미를 가지고 있는 것으로 해석하며, 여기에서 명시하지 않는 한 이상적인 또는 지나치게 엄격한 의미로 해석해서는 아니 된다.
이상에서 설명한 실시예는 그야말로 예일 뿐이다. 당업자라면 여기에 기재한 실시예로부터 다양한 대체 실시예를 알아낼 수 있다. 이러한 대체 실시예들은 본 발명의 범위에 포함된다. 이와 같이, 실시예들은 다음의 청구범위 및 그 등가물에 의해서만 한정된다.
102, 312: 부호기
104: 복호기
202, 302, 402, 802: 영상/영상 프레임
204, 304: 보정 매개 변수
206, 306: 뮤라 보정 블록
210, 310: 표시 장치
214, 314: 메모리
408: τ 계산기
412: 속도 제어기
702: 왜곡 계산기

Claims (10)

  1. 영상 프레임의 한 블록에 대응하는 원래 데이터를 수신하는 단계, 그리고
    비용 함수를 최소화하는 상기 원래 데이터의 재건본(reconstructed version)을 식별하는 단계
    를 포함하며,
    상기 원래 데이터의 제1 특정 재건본과 관련된 제1 비용은 상기 원래 데이터의 상기 제1 특정 재건본과 관련된 부호화율(encoding rate) 및 문턱 값 이하인 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 오차의 제1 상한 놈(supremum norm)에 응답하는 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 왜곡에 기초하는
    속도 왜곡 적정화 방법.
  2. 제1항에서,
    상기 원래 데이터의 제1 특정 재건본과 관련된 상기 비용은 라그랑지 매개 변수(Lagrangian parameter)와 상기 부호화율의 곱을 상기 왜곡과 더한 것인 속도 왜곡 적정화 방법.
  3. 제1항에서,
    상기 원래 데이터의 제2 특정 재건본과 관련된 제2 비용은 상기 제1 문턱 값보다 큰 상기 원래 데이터와 상기 원래 데이터의 상기 제2 특정 재건본 사이의 오차의 제2 상한 놈에 응답하여 무한대인 속도 왜곡 적정화 방법.
  4. 제3항에서,
    상기 제1 문턱 값보다 큰 상기 원래 데이터와 상기 원래 데이터의 상기 제2 특정 재건본 사이의 상기 오차의 상기 제2 상한 놈에 응답하여 상기 제1 문턱 값을 제2 문턱 값으로 설정하는 단계를 더 포함하는 속도 왜곡 적정화 방법.
  5. 제1항에서,
    상기 제1 문턱 값을 설정하는 단계를 더 포함하며,
    상기 제1 문턱 값을 설정하는 단계는,
    상기 오차의 상기 제1 상한 놈 이상인 제1 값에 대하여 검색 창을 검색하는 단계, 그리고
    상기 제1 값을 상기 제1 문턱 값으로 설정하는 단계
    를 포함하는
    속도 왜곡 적정화 방법.
  6. 제5항에서,
    상기 검색 창은 커지는 순서로 배열된 복수의 값을 포함하는 속도 왜곡 적정화 방법.
  7. 제6항에서,
    상기 제1 값은 상기 검색 창의 하한보다 큰 속도 왜곡 적정화 방법.
  8. 제7항에서,
    상기 검색 창의 하한은 상기 영상 프레임의 이전 블록의 문턱 값에 해당하는 속도 왜곡 적정화 방법.
  9. 제1항에서,
    상기 제1 문턱 값 이하인 상기 원래 데이터와 상기 원래 데이터의 상기 제1 특정 재건본 사이의 상기 오차의 상기 제1 상한 놈은 상기 원래 데이터의 상기 제1 특정 재건본의 최대 절대 오차를 줄이는 속도 왜곡 적정화 방법.
  10. 영상 프레임의 한 블록에 대응하는 원래 데이터를 수신하는 단계, 그리고
    비용 함수를 최소화하는 상기 원래 데이터의 재건본을 식별하는 단계
    를 포함하며,
    상기 원래 데이터의 특정 재건본과 관련된 비용은, 상기 원래 데이터와 상기 원래 데이터의 상기 특정 재건본 사이의 왜곡, 상기 원래 데이터의 상기 특정 재건본과 관련된 부호화율 및 상기 원래 데이터와 상기 특정 재건본 사이의 오차의 상한 놈에 기초하는
    속도 왜곡 적정화 방법.
KR1020220002749A 2021-01-08 2022-01-07 속도 왜곡 적정화 방법 KR20220100793A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163135462P 2021-01-08 2021-01-08
US63/135,462 2021-01-08
US17/235,870 2021-04-20
US17/235,870 US11343512B1 (en) 2021-01-08 2021-04-20 Systems and methods for compression with constraint on maximum absolute error

Publications (1)

Publication Number Publication Date
KR20220100793A true KR20220100793A (ko) 2022-07-18

Family

ID=79283273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220002749A KR20220100793A (ko) 2021-01-08 2022-01-07 속도 왜곡 적정화 방법

Country Status (3)

Country Link
EP (1) EP4027643A1 (ko)
KR (1) KR20220100793A (ko)
CN (1) CN114760473A (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790131A (en) * 1996-05-15 1998-08-04 Iterated Systems, Inc. System and method for lossy compression of data with output file size control
US7194035B2 (en) * 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
US8467448B2 (en) * 2006-11-15 2013-06-18 Motorola Mobility Llc Apparatus and method for fast intra/inter macro-block mode decision for video encoding
US20090067495A1 (en) * 2007-09-11 2009-03-12 The Hong Kong University Of Science And Technology Rate distortion optimization for inter mode generation for error resilient video coding
FR2996093A1 (fr) * 2012-09-27 2014-03-28 France Telecom Procede de codage et decodage d'images, dispositifs de codage et decodage et programmes d'ordinateur correspondants
JP2015186120A (ja) * 2014-03-25 2015-10-22 沖電気工業株式会社 符号化方式変換装置及びプログラム
US9866853B2 (en) 2014-04-15 2018-01-09 Qualcomm Incorporated System and method for lagrangian parameter calculation for display stream compression (DSC)
KR102519371B1 (ko) * 2016-01-20 2023-04-10 삼성디스플레이 주식회사 Ela 얼룩 보상 방법 및 이를 채용한 표시 장치
CN105654891B (zh) * 2016-04-05 2018-06-26 京东方科技集团股份有限公司 一种获取mura补偿值的方法、装置及显示面板
CN106339196B (zh) * 2016-08-31 2019-03-15 深圳市华星光电技术有限公司 DeMura表的数据压缩、解压缩方法及Mura补偿方法
EP3487177A1 (en) * 2017-11-21 2019-05-22 Thomson Licensing Method and apparatus for low-complexity bi-directional intra prediction in video encoding and decoding
US20210049791A1 (en) * 2018-03-29 2021-02-18 Nokia Technologies Oy Method and apparatus for reconstructing a signal captured by a snapshot compressive sensing system
CN110061717B (zh) * 2019-03-06 2019-11-12 杭州电子科技大学 基于迭代梯度搜索的两通道正交镜像滤波器组设计方法

Also Published As

Publication number Publication date
EP4027643A1 (en) 2022-07-13
CN114760473A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
US10237552B2 (en) Multiple color channel multiple regression predictor
US7403183B2 (en) Image data processing method, and image data processing circuit
US20110091122A1 (en) Device and method of processing image data to be displayed on a display device
CN101142821A (zh) 新压缩格式和用其在帧存储器中暂存图像数据的设备
US20140071143A1 (en) Image Compression Circuit, Display System Including the Same, and Method of Operating the Display System
KR102304893B1 (ko) 디스플레이 패널, 디스플레이 패널의 픽셀 휘도 보상 방법 및 픽셀 파라미터들을 보상하기 위한 방법
US10750188B2 (en) Method and device for dynamically monitoring the encoding of a digital multidimensional signal
US8270747B2 (en) Image encoding device, image decoding device, and integrated circuit
US20140010445A1 (en) System And Method For Image Compression
US20180366055A1 (en) Method of compressing image and display apparatus for performing the same
US20090129685A1 (en) Image processing apparatus, image transmitting apparatus and method and program of the same and display device
KR20220100793A (ko) 속도 왜곡 적정화 방법
US11044466B2 (en) Image processing device
US11343512B1 (en) Systems and methods for compression with constraint on maximum absolute error
Ko et al. Dual block truncation coding for overdriving of full HD LCD driver
KR20100013142A (ko) 프레임 메모리 압축방법
CN115116387B (zh) 码率控制的方法、显示装置及非暂时性计算机可读介质
KR20150028716A (ko) 영상 부호화 장치 및 영상 부호화 방법
KR20180059158A (ko) 보상 데이터 처리 장치 및 방법과 이를 이용한 유기 발광 다이오드 표시 장치
CN109302615B (zh) 视频压缩的自适应模板预测方法
US10715819B2 (en) Method and apparatus for reducing flicker
KR20220119316A (ko) 부호화 방법 및 부호기
US20160249061A1 (en) Method for selecting a pixel positioning solution to obtain an optimal visual rendition of an image

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20220107

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

Patent event code: PA02012R01D

Patent event date: 20250106

Comment text: Request for Examination of Application