pdp에서의 의사윤곽 저감을 위한 듀얼 코딩 방법할 수 있어야 한다. 현재...

130
工學碩士學位請求論文 PDP에서의 의사윤곽 저감을 위한 듀얼 코딩 방법 Dual Coding Technique to reduce the Dynamic False Contours for PDPs 2004年 2月 仁荷大學校 情報通信大學院 情報通信工學科

Upload: others

Post on 29-Dec-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

  • 工學碩士學位請求論文

    PDP에서의 의사윤곽 저감을 위한

    듀얼 코딩 방법

    Dual Coding Technique to reduce the Dynamic False Contours for PDPs

    2004年 2月

    仁荷大學校 情報通信大學院

    情報通信工學科

    郭 東 燦

  • 工學碩士學位請求論文

    PDP에서의 의사윤곽 저감을 위한

    듀얼 코딩 방법

    Dual Coding Technique to reduce the Dynamic False Contours for PDPs

    2004年 2月

    指導敎授 金 椿 宇

    이 論文을 碩士學位 論文으로 提出함

    仁荷大學校 情報通信大學院

    情報通信工學科

    郭 東 燦

  • 이 論文을 郭東燦의 碩士學位 論文으로 提出함

    2004年 2月

    主審 _____________________

    副審 _____________________

    委員 _____________________

  • 국문요약

    i

    국문 요약

    플라즈마 디스플레이 패널(Plasma Display Panel; PDP)은 펄스 수 변조 방식

    (Pulse Number Modulation)을 사용하여 계조를 표현한다. 이런 PDP의 계조 표현

    방식과 움직이는 물체를 따라가는 인간 시각 특성에 의해 계조 변화가 적은

    동영상에서 의사윤곽(Dynamic False Contour)이 발생하게 된다. 이러한 의사윤곽

    은 PDP의 화질 저하에 큰 영향을 미치므로 의사윤곽을 저감하는 다양한 방법

    들이 제안되고 있다. 본 논문에서는 의사윤곽을 저감하는 여러 방법들 중 듀

    얼 코딩 방법(Dual Coding Technique)에 중점을 두었다. 이 방법은 우선 대칭 구

    조의 한 서브필드 패턴(Subfield Pattern)을 결정한다. 그리고 결정된 한 서브필

    드 패턴에 대하여 서로 다른 두개의 코딩을 결정한다. 두개의 서로 다른 코딩

    은 픽셀 및 프레임별로 번갈아 적용된다. 듀얼 코딩 방법은 의사윤곽을 어느

    정도 저감하지만 눈에 거슬리는 체크패턴을 발생한다. 듀얼 코딩 방법의 완성

    도는 대칭 구조의 서브필드 패턴과 코딩 방식에 의해 결정된다. 본 논문에서

    는 유전 알고리즘을 이용하여 최적의 듀얼 코딩 서브필드 패턴을 결정하는 방

    법을 제안하였다. 가능한 모든 듀얼 코딩 서브필드 패턴(V, W, M, VVV, ΛΛΛ

    shape 등)을 고려하기 위해 두 가지 type의 스트링(String) 구조가 정의되었다.

    그리고 듀얼 코딩 서브필드 패턴의 최적화를 위해 유전 연산자가 제안되었다.

    의사윤곽과 체크패턴의 정도를 나타내는 정량화 방법도 제안되었다. 실험결과

    를 통해 제안하는 방법에 의한 듀얼 코딩 서브필드 패턴이 의사윤곽과 체크패

    턴을 상당히 줄일 수 있음을 확인 할 수 있다.

  • ABSTRACT

    ii

    ABSTRACT

    PDP(Plasma Display Panel) represents the gray levels by the pulse number modulation

    technique. Such a gray level representation technique of PDP and characteristics of human

    vision that follows a moving object cause dynamic false contours on the smooth area of

    moving images. Because the dynamic false contours seriously affect image quality on PDP,

    various techniques have been proposed to reduce the dynamic false contours. Among these

    dynamic false contour reduction techniques, this paper is focused on the dual coding

    technique. For the dual coding technique, a subfield of symmetrical shape is selected first.

    Two different coding schemes are determined for a selected subfield pattern. Two different

    coding are applied alternatively, frame by frame, or pixel by pixel within a given frame, or

    both. It has been reported that the dual coding technique can reduce the dynamic false

    contours. However, it may result in undesirable checkerboard patterns. Performance of dual

    coding technique is determined by the subfield pattern and coding schemes. In this paper,

    an optimum subfield selection method based on genetic algorithm is proposed. Two types

    of string structures are defined to account for all the possible configurations of the dual

    coding subfield patterns, V, W, M, VVV and ΛΛΛ shapes. Genetic operators are proposed

    for optimization of dual coding subfield pattern. Quantitative measures to describe degrees

    of dynamic false contours and checkerboard patterns are defined. Experimental results

    indicate that dual coding subfield pattern that is determined by proposed method reduces

    dynamic false contours and checkerboard patterns.

  • 목차

    iii

    목 차

    국문요약

    ABSTRACT

    1. 서 론 1

    1.1. PDP에서의 영상 표시 방법 3

    1.2. 동영상 의사윤곽 발생 원인 5

    2. 기존의 의사윤곽 저감 방법 9

    2.1. 듀얼 코딩 방법 9

    2.2. 코딩 최적화를 이용한 방법 12

    2.2.1. Stretched-out 코딩과의 코딩 차이를 이용한 최적화 방법 12

    2.2.2. 광 생성 중심점을 이용한 코딩 최적화 방법 14

    2.3. 서브필드 최적화 방법 15

    2.4. 오차확산 및 디더링을 이용한 방법 16

    3. 제안하는 의사윤곽 저감 방법 22

    3.1. 서브필드 및 코딩 24

    3.1.1. 스트링 구조 25

  • 목차

    iv

    3.1.2. 테스트 영상과 PDP 듀얼 모드 시뮬레이션 27

    3.1.3. 코딩 방법 31

    3.2. 평가 함수 34

    3.2.1. 의사윤곽 평가 함수 36

    3.2.2. 체크패턴 평가 함수 37

    3.2.3. 의사윤곽 평가 함수와 체크패턴 평가 함수의 결합 39

    3.3. 유전 알고리즘 연산자 41

    3.3.1. Reproduction 연산 42

    3.3.2. Crossover 연산 43

    3.3.3. Mutation 연산 46

    3.4. 실험 및 결과 52

    3.4.1. 유전 알고리즘 검증 실험 52

    3.4.1.1. 유전 알고리즘 검증 실험 방법 53

    3.4.1.2. 유전 알고리즘 검증 실험 결과 54

    3.4.2. 평가 함수 검증 실험 55

    3.4.2.1. 의사윤곽 평가 함수 문턱값 결정 및 검증 실험 56

    3.4.2.1.1. 의사윤곽 평가함수 문턱값 결정 실험 56

    3.4.2.1.1.1. 램프 영상에 대한 실험 57

    3.4.2.1.1.2. 일반 영상에 대한 실험 61

    3.4.2.1.2. 의사윤곽 평가함수 검증 실험 63

    3.4.2.1.2.1. 의사윤곽 평가함수 검증 실험 1 64

  • 목차

    v

    3.4.2.1.2.2. 의사윤곽 평가함수 검증 실험 1 결과 67

    3.4.2.1.2.3. 의사윤곽 평가함수 검증 실험 2 69

    3.4.2.1.2.4. 의사윤곽 평가함수 검증 실험 2 결과 71

    3.4.2.1.3. 의사윤곽 평가함수 문턱값 결정 및 검증 실험 결론 74

    3.4.2.2. 체크패턴 평가함수 문턱값 결정 및 검증 실험 74

    3.4.2.2.1. 체크패턴 평가함수 문턱값 결정 실험 75

    3.4.2.2.1.1. 램프 영상에 대한 실험 75

    3.4.2.2.1.2. 일반 영상에 대한 실험 79

    3.4.2.2.2. 체크패턴 평가함수 검증 실험 82

    3.4.2.2.2.1. 체크패턴 평가함수 검증 실험 1 83

    3.4.2.2.2.2. 체크패턴 평가함수 검증 실험 1 결과 86

    3.4.2.2.2.3. 체크패턴 평가함수 검증 실험 2 90

    3.4.2.2.2.4. 체크패턴 평가함수 검증 실험 2 결과 91

    3.4.2.2.2.5. 체크패턴 평가함수 검증 실험 3 94

    3.4.2.2.2.6. 체크패턴 평가함수 검증 실험 3 결과 95

    3.4.2.2.2.7. 체크패턴 평가함수 검증 실험 4 99

    3.4.2.2.2.8. 체크패턴 평가함수 검증 실험 4 결과 100

    3.4.2.2.3. 체크패턴 평가함수 문턱값 결정 및 검증 실험 결론 103

    3.4.2.3. 의사윤곽과 체크패턴을 통합한 최종 평가함수 검증 실험 104

    3.4.2.3.1. 최종 평가함수 검증 실험 1 105

    3.4.2.3.2. 최종 평가함수 검증 실험 1 결과 108

  • 목차

    vi

    3.4.2.3.3. 최종 평가함수 검증 실험 2 110

    3.4.2.3.4. 최종 평가함수 검증 실험 2 결과 111

    3.4.2.3.5. 최종 평가함수 검증 실험 결론 113

    3.4.3. 256 계조 10 서브필드 듀얼 코딩 서브필드 패턴 최적화 113

    3.4.4. 256 계조 11 서브필드 듀얼 코딩 서브필드 패턴 최적화 115

    4. 결 론 119

    참 고 문 헌 120

  • 1.서론

    1

    1. 서 론

    PDP(Plasma Display Panel)는 CRT(Cathode Ray Tube)와는 달리 펄스 수 변조

    방식을 사용하여 계조(gray level)를 표현한다. 펄스 수 변조 방식은 1 TV field를

    정해진 펄스 수를 갖는 여러 개의 서브필드로 나누고, 이 서브필드들의 발광 유

    무에 따라 계조를 표현하는 방식이다. 여기서 256 계조를 표현할 경우, 0부터

    255까지의 각 계조에 대한 서브필드들의 발광 유무 정보를 발광 패턴 또는 서

    브필드 코딩(Coding)이라 한다. 이러한 PDP의 계조 표현 방식과 움직이는 물체

    를 따라가는 인간 시각 특성에 의해 계조 변화가 적은 동영상에서 의사윤곽

    (Dynamic False Contour)이 발생하게 된다[1]. 이러한 의사윤곽은 PDP의 화질 저하

    에 큰 영향을 미치므로 의사윤곽을 저감하는 다양한 방법들이 제안되고 있다.

    의사윤곽 저감 방법으로는 듀얼 코딩 방법[2], 코딩 최적화를 이용한 방법[3][4], 서

    브필드 최적화 방법[5], 오차확산 및 디더링을 이용한 방법[6][7][8] 등이 있다.

    본 논문에서는 의사윤곽을 저감하는 여러 방법들 중 듀얼 코딩 방법(Dual

    Coding Technique)에 중점을 두었다[2]. 듀얼 코딩 방법은 대칭 구조의 한 서브필

    드 패턴을 우선 결정한다. 서브필드 패턴들의 유형은 V, W, M, VVV, ΛΛΛ shapes

    로 나뉘어진다. 그리고 결정된 한 서브필드 패턴에 대하여 서로 다른 두개의 코

    딩을 결정한다. 두개의 다른 코딩은 픽셀 및 프레임별로 또는 둘 다 동시에 번

    갈아 적용된다. 듀얼 코딩 방법이 의사윤곽을 저감한다는 사실은 이미 증명된

    바가 있다[2]. 그러나 이 방법은 원하지 않은 체크패턴을 발생한다. 듀얼 코딩 방

    법의 완성도는 서브필드 패턴과 코딩 방식에 의해 결정된다. 기존에는 전수 비

  • 1.서론

    2

    교 방법과 전문가의 경험적인 방법에 의해 듀얼 코딩 서브필드 패턴이 결정되

    었다.

    본 논문에서는 듀얼 코딩 방법을 위한 최적의 서브필드 패턴을 결정하는

    체계적 방법이 제안되었다. 최적의 듀얼 코딩 서브필드 패턴은 의사윤곽과 체크

    패턴 정도를 최소화함으로써 얻어진다. 여기서 최적화 방법으로는 유전 알고리

    즘이 적용되었다. 가능한 모든 유형의 듀얼 코딩 서브필드 패턴(V, W, M, VVV과

    ΛΛΛ shapes 등)을 고려하기 위해 두 가지 type의 스트링 구조가 정의되었다. 유

    전 연산자는 듀얼 코딩 서브필드 패턴의 최적화를 위해 제안되었다. 그리고 의

    사윤곽과 체크패턴의 정도를 나타내는 정량화 방법 역시 제안되었다.

    본 논문의 구성은 다음과 같다. 서론에서는 PDP에서의 계조 표현 방법과

    동영상 의사 윤곽 발생 원인에 대하여 설명한다. 2장에서는 기존의 의사 윤곽

    저감 방법들에 관하여 설명하고 3장에서는 제안하는 방법, 수행된 실험 내용

    및 결과를 설명한다. 끝으로 4장에서는 실험 및 결과로부터 결론을 맺는다.

  • 1.서론

    3

    1.1. PDP에서의 영상 표시 방법

    영상은 여러 개의 화소(pixel)들로 구성되어 있다. 그리고 각 화소들은 밝

    기를 나타내는 휘도 정보를 가지고 있으며, 이러한 휘도 단계를 계조(gray

    level)라 한다. 보통 256 단계의 계조라 함은 0부터 255까지의 계조를 의미한

    다. 컬러 영상은 256 단계의 3 채널 R(Red), G(Green), B(Blue)가 각각 존재하며

    이 3 채널의 밝기가 조합을 이루어 컬러 영상이 표현된다.

    기존의 CRT는 전압 조절을 통해 전자빔의 세기를 조절함으로써 휘도를

    조절한다[9]. 그러나 현재 많이 사용되는 AC PDP는 방전 시 발생하는 자외선이

    전류가 증가함에 따라 포화하기 때문에 전류에 의한 휘도 조절이 어렵다. PDP

    는 방전의 켜짐/꺼짐 두 상태만 존재하며 방전 상태를 유지하는 시간을 조절

    하여 휘도를 표현한다. 이러한 방전 상태가 유지되는 시간에 따라 인간 시각

    에 누적되는 빛의 양이 다르게 된다. 즉, 방전 상태를 길게 유지하면 인간 시

    각에 누적되는 빛의 양은 증가하게 되고 방전 상태를 짧게 유지하면 인간 시

    각에 누적되는 빛의 양은 적게 된다. 따라서 PDP는 1 frame 내에서 펄스 수를

    조절하여 계조를 표현한다. 이를 펄스 폭 변조(pulse width modulation) 또는 펄

    스 수 변조(pulse number modulation) 방식이라 한다.

    동영상은 여러 정지 영상을 연속적으로 디스플레이 함으로써 구현되는데,

    이때 각각의 정지 영상을 1 frame이라 한다. 그리고 1 frame은 1/60 초

    (=16.7ms)가 할당되며 이 시간을 1 TV field라 한다. 1 frame의 정지 영상을 PDP

    에 나타내려면 각 화소에 대한 계조 정보와 위치 정보가 필요하며 이를 제어

  • 1.서론

    4

    할 수 있어야 한다. 현재 많이 사용되는 PDP 구동 방식은 ADS(Address

    Display Separating) 방식[10]이며, 이 방식은 1 frame 동안 계조를 표현하기 위한

    sustain time(또는 display time)과 위치 정보를 위한 address time으로 구성되어 있

    다. Sustain time은 방전 유지 시간을 나타내며 address time은 화소의 위치 제어

    를 위해 할당된 시간이다. ADS 방식의 예를 그림 1.1에 나타내었다.

    그림 1.1. ADS 방식 예

    하나의 address time과 sustain time을 서브필드(subfield)라 한다. 그림 1.1에

    서는 1 frame이 8개의 서브필드로 이루어져 있으며, sustain time 길이의 비는 1 :

    2 : 4 : 8 : 16 : 32 : 64 : 128으로 구성되어 있다. 이때의 sustain time 길이 비를 서

    브필드 패턴(pattern) 또는 서브필드 배열이라 하고 각 값을 서브필드 가중치

    (subfield weight)라 한다. 각 서브필드들은 독립적으로 ON/OFF가 제어 되며

    address time 동안 위치 정보를 통해 각 화소에 대한 ON/OFF가 제어된다. 예를

    1 TV field (= 1 frame, 16.7ms)

    1 2 4 8 16 32 64 128 가중치

    : address time : sustain( display ) time

  • 1.서론

    5

    들면, 그림 1.1과 같은 서브필드 패턴에서 127이란 계조를 표현하고자 한다면

    서브필드 가중치 128을 제외한 모든 서브필드를 ON하여야 한다. 그리고 128

    이란 계조를 표현하기 위해서는 서브필드 가중치 128의 서브필드만 ON하면

    된다. 즉, 서브필드 발광의 조합으로 계조표현이 이루어 진다. 계조 127과 128

    을 표현하기 위한 서브필드 ON/OFF 여부를 그림 1.2에 나타내었다.

    (a) 계조 127 표현 예

    (b) 계조 128 표현 예

    그림 1.2. 계조 표현 예

    1.2. 동영상 의사윤곽 발생 원인

    1.1절에서 설명한 PDP의 계조표현 방식은 정지 영상의 경우 뛰어난 화질

    을 제공한다. 그러나 동영상의 경우는 각 화소 발광의 시간적 불균일성과 물

  • 1.서론

    6

    체의 움직임을 따라가는 인간 시각 특성에 의해 의사윤곽이 발생한다[1]. 이러

    한 의사윤곽은 주로 사람 피부와 같이 계조 변화가 적은 영역에서 발생하며

    PDP 화질 저하의 큰 요인으로 작용하고 있다.

    그림 1.3. (a)는 그림 1.1에서 예로 들은 8개 서브필드와 동일한 서브필드

    패턴을 사용하고 계조 127을 표현하는 3개의 화소와 계조 128을 표현하는 3

    개의 화소로 구성된 정지 영상을 2 frame에 걸쳐 나타내고 있다. 가로축은 화

    소 위치를 나타내고 세로축은 시간을 나타낸다. 이때 인간 시각은 점선의 화

    살표 방향으로 영상을 인식하여 정지영상의 경우 원영상 그대로 계조 127과

    128을 인식한다. 그러나 그림 1.3 (b)와 같이 오른쪽 방향으로 한 화소씩 움직

    일 경우, 인간 시각이 점선으로 표시된 화살표 방향으로 영상을 인식하게 되

    면 두 계조의 경계선 부근에서 계조 127 또는 128이 아닌 계조 255로 인식하

    게 되는 것이다. 이와 같이 실제 영상에는 존재하지 않는 경계선을 동영상 의

    사윤곽이라 한다. 그림 1.3. (b)와 같이 동영상에서 원래의 계조보다 밝게 인식

    되는 artifact를 밝은 의사윤곽이라 한다. 그리고 그림 1.3 (c)와 같이 왼쪽 방향

    으로 한 화소씩 움직일 경우, 인간 시각은 역시 화살표 방향으로 영상을 인식

    하게 되면 경계 부근에서 원래의 계조보다 어두운 계조 0으로 인식하게 된다.

    동영상에서 원래의 계조 보다 어둡게 인식되는 artifact를 어두운 의사윤곽이라

    한다. 일반 영상의 경우 동영상 의상윤곽이 발생하는 예를 그림 1.4에 나타내

    었다. 그림 1.4 (b)를 보면 계조 변화가 적은 사람의 피부부분에서 의사윤곽이

    발생하고 있음을 확인 할 수 있다.

  • 1.서론

    7

    (a) 정지 영상의 경우

    (b) 동영상의 경우 1

  • 1.서론

    8

    (c) 동영상의 경우 2

    그림 1.3. 동영상 의사윤곽 발생 예

    (a) 원영상 (b) 의사윤곽 발생 영상

    그림 1.4. 일반 영상에 대한 동영상 의사윤곽 발생 예

  • 2.기존의 의사윤곽 저감 방법

    9

    2. 기존의 의사윤곽 저감 방법

    PDP는 동영상을 디스플레이 하였을 경우 의사윤곽이 나타난다. 이러한

    동영상에서 나타나는 의사윤곽을 저감하기 위해서는 발광 패턴 최적화, 서브

    필드 패턴 최적화, 의사윤곽이 적은 계조를 선택 사용하는 제한된 계조 사용

    과정이 필요하다. 본 장에서는 기존에 제안 된 방법들 중 듀얼 코딩 방법[2],

    코딩 최적화를 이용한 방법[3][4], 서브필드 최적화 방법[5], 오차확산 및 디더링

    을 이용한 방법[6][7][8]에 대한 특징을 설명하기로 한다.

    2.1. 듀얼 코딩 방법[2]

    PDP를 구동하기 위해서는 서브필드 패턴이 결정된 후 각 계조에 대한 서

    브필드의 ON/OFF 유무를 나타내는 발광 패턴이 결정되어야 한다. 이러한 발

    광 패턴을 코딩이라 한다.

    제안된 방법은 한 서브필드 패턴에 대해 두개의 코딩을 결정하여 화소 및

    frame 마다 번갈아 적용하여 동영상 의사윤곽 문제를 해결하고자 하였다. 그

    림 2.1에서 서브필드 패턴은 [8 16 2 8 4 1 16 8]이고 코딩 방법에 따라 그림 2.1.

    (a)와 그림 2.1. (b) 두 가지의 코딩이 결정된다. 서브필드 패턴을 보면 비교적

    큰 가중치의 값인 8이 중앙과 왼쪽, 오른쪽에 배치되어 있음을 알 수 있다. 표

    2.1과 같은 코딩 방법에 따라 두 가지의 서로 다른 코딩 A과 코딩 B로 나뉘

  • 2.기존의 의사윤곽 저감 방법

    10

    었다. 그림 2.1 (a)를 살펴보면, 중앙 8을 가장 우선으로 선택하고 왼쪽을 다음

    우선 순위로 선택하면서 좌우 대칭을 이루도록 코딩을 결정하였다. 그림 2.1

    (b)의 경우 역시 중앙 8을 가장 우선으로 선택하였다. 그리고 오른쪽을 다음

    우선 순위로 선택하면서 좌우 대칭을 이루도록 코딩을 결정하였다.

    계조 값이 8이상일 때는 중앙 8이 항상 발광됨으로써 플리커 현상을 방지

    하고자 하였다. 또한 그림 2.1 (a)와 (b)의 코딩을 화소 및 frame 마다 번갈아

    적용하여 의사윤곽이 서로 상쇄되는 효과를 이용하고자 하였다.

    표 2.1. 서브필드 코딩 선택 조건

    계 조 코딩 A 코딩 B

    0 ~ 7 1, 2, 4로 구성 1, 2, 4로 구성

    8 ~ 15 중앙 8(3) 우선 중앙 8(3) 우선

    16 ~ 23 왼쪽 8(1) 우선 오른쪽 8(2) 우선

    24 ~ 31 대칭위해 오른쪽 8(2) 우선 대칭위해 왼쪽 8(1) 우선

    32 ~ 39 왼쪽 16(1) 우선 오른쪽 16(2) 우선

    40 ~ 47 대칭위해 오른쪽 16(2) 우선 대칭위해 왼쪽 16(1) 우선

    48 ~ 55 왼쪽 8(1) 우선 오른쪽 8(2) 우선

    56 ~ 63 대칭위해 오른쪽 8(2) 우선 대칭위해 왼쪽 8(1) 우선

    이 방법은 복수개의 코딩을 번갈아 적용함으로써 의사윤곽이 어느 정도

    저감된다. 하지만 화소 마다 대칭 구조의 코딩을 적용하므로 동영상에서 체크

    패턴이 발생한다. 그리고 기존의 듀얼 코딩 서브필드 패턴 결정 방법들은 주

    관적이고 체계화되지 않은 결정 방법이었다.

  • 2.기존의 의사윤곽 저감 방법

    11

    ( a ) 코딩 A ( b ) 코딩 B

    그림 2.1. 듀얼 코딩 예

  • 2.기존의 의사윤곽 저감 방법

    12

    2.2. 코딩 최적화를 이용한 방법[3][4]

    PDP는 서브필드 패턴에 따라 의사윤곽의 정도가 다르게 나타나지만 코딩

    결정 방법에 의해서도 의사윤곽의 정도가 다르게 나타난다.

    본 절에서는 주어진 서브필드 패턴에 대한 최적화된 계조 별 코딩을 결정

    하는 기존의 방법에 대하여 설명하기로 한다. 2.2.1절에서는 stretch-out 코딩과

    의 코딩 차이를 이용한 최적화 방법[3]에 대하여 설명하고, 2.2.2절에서는 광 생

    성 중심점을 이용한 코딩 최적화 방법[4]에 대하여 설명할 것이다.

    2.2.1. Stretched-out 코딩과의 코딩 차이를 이용한 최적화 방법[3]

    PDP에서 사용하는 발광 패턴이 모두 연속 발광하는 stretched-out 코딩이

    라면 동영상 의사윤곽은 발생하지 않을 것이다. Stretched-out 코딩이란 그림

    2.2와 같이 발광 패턴이 연속적인 코딩을 의미한다. 서브필드 패턴이 [ 1 2 4 6

    8 16 32 42 44 48 52]이라면 그림 2.2와 같이 0을 포함하여 12개 계조만이

    stretched-out 코딩에 해당한다.

  • 2.기존의 의사윤곽 저감 방법

    13

    그림 2.2. Stretched-out 코딩 예

    이전의 코딩 결정 방법은 작은 가중치의 서브필드를 우선 발광 시키는 방

    식으로 결정되었다[11]. 제안된 방법은 하나의 계조에 대해 여러 코딩이 존재할

    경우, 주어진 서브필드 패턴의 모든 stretched-out 코딩과의 코딩 차이 합이 가

    장 적은 코딩을 해당 계조의 최적 코딩으로 결정한다. 즉, stretched-out 코딩과

    같이 연속 발광하는 코딩을 선택하도록 하는 방법이다. 결정하고자 하는 i 계

    조의 코딩을 Bi라하고 stretched-out 코딩의 j 계조 코딩을 Bj라 하자. 이때 사

    용된 서브필드 가중치가 SP라면 결정하고자 하는 코딩과 stretched-out 코딩간

    의 코딩 차이를 식 (2.1)과 같이 dCN(distance of Contour Noise) 값으로 정의하였

    다.

    jiSPBjBiSPBjBidCN −−⋅−=),,( (2.1)

  • 2.기존의 의사윤곽 저감 방법

    14

    2.2.2. 광 생성 중심점을 이용한 코딩 최적화[4]

    PDP에 디스플레이 되는 영상에 대하여 인간 시각은 정확한 밝기를 인지

    하기 위해 frame 기간 동안 광 펄스를 통합한다. 제안된 방법에서는 계조가

    표현될 때의 광 펄스 중심점을 계산하여 의사윤곽을 저감하기 위한 코딩 선택

    방법에 사용하였다. 서브필드 패턴이 결정되면 0에서 255 사이의 임의 계조를

    나타낼 때 여러 코딩 조합이 있을 수 있다. 임의 한 계조에 대한 여러 코딩

    조합들의 광 생성 시간 중심점을 계산하여 가장 중심점이 낮은 코딩 조합을

    선택한다. 이런 선택 과정을 256 계조 모두 반복함으로써 코딩이 결정된다.

    그림 2.3은 sustain time 동안의 서브필드 펄스를 나타내고 있으며 가로축

    은 시간 진행 방향을 나타낸다. 그림 2.3에서 세로 방향 점선은 각 서브필드의

    시간 중심을 나타내고, sfCG1, sfCG2, sfCG3,…은 각 서브필드 펄스의 광 생성

    시간 중심점 값을 나타낸다. 그림 2.3과 같이 각 서브필드 별 광 생성 시간 중

    심을 나타낼 수 있다.

    그림 2.3. 광 생성 시간 중심점

    sfCG1 sfCG2 sfCG3 sfCG4 sfCG5 sfCG6 시간

  • 2.기존의 의사윤곽 저감 방법

    15

    임의의 코딩에 대한 광 생성 시간 중심은 식 (2.2)에 의해 계산된다. 식

    (2.2)에서 n은 서브필드 개수, sfWi는 i번째 서브필드 가중치, iδ 는 코딩 조합,

    sfCGi는 i번째 서브필드의 광 생성 시간 중심을 의미한다. 식 (2.2)에 의해 해

    당 코딩의 광 생성 시간 중심이 계산된다.

    =

    == n

    iii

    n

    iiii

    코드sfW

    sfCG코드sfW코드CG

    1

    1

    )(*

    *)(*)(

    δ

    δ (2.2)

    제안된 방법은 식 (2.2)를 사용하여 한 계조에 대한 여러 코딩 조합들의

    광 생성 시간 중심점을 계산하고 시간 중심점이 가장 낮은 코딩 조합을 최적

    코딩으로 결정한다.

    2.3. 서브필드 최적화 방법[5]

    PDP는 서브필드 개수, 가중치 값과 서브필드 패턴에 따라 동영상에서 발

    생하는 의사윤곽의 정도가 다르다. 따라서 서브필드 패턴의 최적 결정은 가장

    간단한 의사윤곽 저감 방법이기도 하다. 기존의 서브필드 패턴 결정 방법은

    경험적인 방법과 전수비교에 의한 방법이었다. 그러나 이 방법들은 서브필드

    개수가 8개 이상으로 증가할 경우, 서브필드 가중치 조합은 기하급수적으로

    증가하므로 최적의 서브필드 패턴 결정을 수행할 수 없다. 따라서 가장 의사

  • 2.기존의 의사윤곽 저감 방법

    16

    윤곽이 적은 서브필드 패턴을 선택하는 체계적 방법이 필요하다. Park에 의해

    제안된 GA를 이용한 서브필드 결정 방법[5]은 서브필드 가중치 조합에 따라

    의사윤곽 시뮬레이션을 수행하고 의사윤곽의 정도를 계산 한다. 그리고

    reproduction, crossover, mutation 과정을 반복적으로 수행하여 최적의 서브필드

    패턴을 결정하는 것이다.

    이 방법은 추가적인 계산이 필요없이 간단하게 의사윤곽을 저감하는 방법

    이다. 그러나 하나의 서브필드 패턴과 하나의 코딩만을 사용한 방법이므로 하

    나의 대칭구조 서브필드 패턴과 서로 다른 두 코딩을 사용하는 듀얼 코딩 서

    브필드 패턴 결정 방법에는 적합하지 않다. 또한 GA를 이용한 서브필드 결정

    방법에 사용되었던 Choi의 의사윤곽 정량화 함수[12]와 Park의 의사윤곽 정량화

    함수[13]는 듀얼 코딩을 적용 시 발생되는 의사윤곽과 체크패턴이 고려되지 않

    은 방법이므로 최적 듀얼 코딩 서브필드 패턴을 결정하기 위한 정량화 함수로

    는 적합하지 않다.

    2.4. 오차확산 및 디더링을 이용한 방법[6][7][8]

    동영상 의사윤곽을 저감하는 방법들 중 대부분이 사용 계조를 제한하고,

    제한된 계조에 오차확산 및 디더링을 이용하여 계조 재현성을 향상시키는 방

    법을 사용한다. 오차확산 및 디더링을 이용하는 방법으로 대표적인 예를 들면,

    이전 frame과 현 frame 정보를 이용하여 영상의 움직임을 검출하고, 영상의 움

    직임 정도에 따라 사용 계조를 적응적으로 변환시킨다. 그리고 변환된 계조값

  • 2.기존의 의사윤곽 저감 방법

    17

    에 대한 오차를 주위 화소로 전파 시키는 방법이 있다[6]. 또한 의사윤곽이 발

    생하지 않는 코딩에 해당하는 stretched-out 코딩만을 사용하여 영상을 구현하

    는 클리어 구동 방법도 이에 속한다[7].

    계조를 제한하여 사용하는 방법들 중 본 절에서 설명할 방법의 전체흐름

    은 그림 2.4와 같다[8]. 제안된 방법은 오차확산 회로부와 디더 회로부로 나눌

    수 있다. 오차확산 회로부에서는 입력 영상을 계조 변환 table에 적용하여 변

    환된 계조 값과 입력 계조 값의 차이를 오차확산하여 주위 화소로 전파한다.

    디더 회로부는 오차확산 회로부를 거친 계조 값과 계조 변환 table에 표시된

    디더량을 적용하여 두 frame에 적용한다. 즉, 오차확산 회로부는 공간적인 확

    산이라 볼 수 있고 디더 회로부는 시간적인 확산이라 할 수 있다.

    그림 2.4. 오차확산 및 디더 적용 예

    계조 변환 table 그림 2.5의 구성을 살펴보면, 서브필드는 하위서브필드

    (SF1~SF6)와 상위서브필드(SF7~SF12)로 나눌 수 있다. 상위서브필드 가중치의

    최대는 39이고 하위서브필드 가중치의 총합은 47이다. 따라서 상위서브필드

    가중치가 하위서브필드 가중치 총합 보다 작으므로 상위서브필드 코딩은 발광

  • 2.기존의 의사윤곽 저감 방법

    18

    서브필드 사이에 비발광 상태가 없도록 할 수 있다.

    표시 계조는 그림 2.5의 코딩에서 하위서브필드가 2개 이상 비발광 상태

    일 경우, 의사윤곽 발생 가능성이 있다고 판단하여 비사용 계조로 결정한다.

    여기서 의사윤곽 발생 가능성으로 판단되는 하위서브필드의 비발광 상태 개수

    는 전문가의 경험적 판단에 의해 결정된다. 본 절에서는 2개 이상 비발광 상

    태일 경우에 대하여 설명한다. 최하위 서브필드 SF1은 가중치가 가장 작기 때

    문에 의사윤곽에 대한 영향이 없다고 판단하여 비발광 상태에서 제외하였다.

    그림 2.5에서 표시 계조 열의 • 표시는 의사윤곽 발생 가능성이 적은 계조이

    므로 사용 할 수 있는 계조이다. 이를 사용 계조라 한다. 디더 계조는 표시 계

    조에서 비사용 계조로 결정 된 계조 중 하나로써 비사용 계조가 연이어 나타

    날 경우, 가운데 계조를 디더 계조로 결정한다. 디더량은 결정된 디더 계조와

    디더 계조에서 가장 가깝고 사용할 수 있는 계조간의 차를 나타낸다.

    예를 들어 설명하면, 그림 2.5에서 계조 15 ~ 17은 서브필드 SF2, SF3, SF4

    에서 비발광 서브필드가 2개씩 존재하므로 비사용 계조로 결정한다. 계조 15

    ~ 17의 중간에 해당하는 계조 16은 디더 계조로 결정한다. 그리고 가장 가까

    운 사용 계조와의 차가 2이므로 디더량은 2로 결정된다. 입력 계조는 오차확

    산에 의해 주위 화소로부터 전파된 오차가 더해진 계조 값이다. 입력된 계조

    가 사용 계조이면 디더량은 0이고, 디더 계조라면 그림 2.5에 표시된 디더량이

    짝수 frame과 홀수 frame 각각 서로 다른 부호로 적용된다.

  • 2.기존의 의사윤곽 저감 방법

    19

    그림 2.5. 계조 변환 table

  • 2.기존의 의사윤곽 저감 방법

    20

    디더량은 그림 2.6과 같이 짝수 frame, 홀수 frame 서로 번갈아 적용된다.

    + - + - + -

    - + - + - +

    + - +

    - + -

    (a) 짝수 frame (b) 홀수 frame

    그림 2.6. 디더량 적용 부호 패턴

    예를 들면, 입력 계조 77 ~ 87에 대한 변환 계조와 디더량을 나타내면 표

    2.2와 같다.

    표 2.2. 변환 계조와 디더량 예

    입력

    계조 77 78 79 80 81 82 83 84 85 86 87

    변환

    계조 77 77 77 82 82 82 82 82 87 87 87

    디더

    량 0 0 0 5 5 5 5 5 0 0 0

    표 2.2의 입력 계조 82와 같은 디더 계조는 그림 2.5의 코딩을 보면 사용

    할 수 없는 계조에 해당한다. 그러나 두 필드에 부호가 다른 디더량을 적용함

    으로써 사용할 수 있는 계조 77과 87로 표현되며 결국 눈에 보이는 계조는 그

    중간에 해당하는 82로 나타난다. 따라서 사용 계조수가 확장되고 의사윤곽은

  • 2.기존의 의사윤곽 저감 방법

    21

    저감 된다.

    본 절의 제안된 방법을 다시 설명하면, 주어진 서브필드를 가중치가 큰

    부분에 해당하는 상위서브필드, 서브필드 가중치가 적은 부분에 해당하는 하

    위서브필드 두 부분으로 나눈다. 이 중 상위서브필드에서 서브필드 on/off의

    변동이 있는 계조는 비사용 계조로 간주한다. 또한 하위서브필드 중 서브필드

    가중치가 작은 1은 제외하고 서브필드 on/off 여부가 2회 이상 변동하면 비사

    용 계조로 간주한다. 비사용 계조를 제외한 사용 계조만을 사용하고 입력 계

    조와 변환된 계조간의 오차에 대해서는 오차확산을 적용한다. 연속되는 비사

    용 계조 중 중간에 해당하는 계조를 디더 계조로 사용하여 중간 계조를 삽입

    하는 방식을 취하고 있다.

    본 방법에서는 사용 계조간의 간격이 크게 되면 그 만큼 오차확산 패턴이

    눈에 띄는 현상이 나타난다. 따라서 오차확산에 의해 생기는 패턴을 저감 시

    킬 필요가 있다.

  • 3.제안하는 의사윤곽 저감 방법

    22

    3. 제안하는 의사윤곽 저감 방법

    유전 알고리즘에서 스트링은 서브필드 패턴을 나타내고 스트링들의 집합을

    population이라 한다. 제안하는 방법에서는 다양한 듀얼 코딩 서브필드 패턴을

    크게 두 그룹으로 나누었다. 첫번째 유형은 초기 population에서 가장 작은 서브

    필드 가중치가 가운데에 위치하는 유형이고 편의상 이를 V Type이라 정의한다.

    두번째 유형은 초기 population에서 비교적 큰 서브필드 가중치가 가운데에 위치

    하는 유형이며 이를 편의상 W Type이라 정의한다. 10개 서브필드이고 V Type이

    면 V, M, VVV, W, ΛΛΛ, Λ shape이 모두 가능하고, W Type이면 W, ΛΛΛ, Λ shape이

    가능하다. 또한 11개 서브필드이고 V Type이면 V, M, VVV shape이 가능하고, W

    Type이라면 W, ΛΛΛ, Λ shape이 가능하다. 이런 shape에 대한 설명은 스트링 구조

    (3.1.1.절)에서 자세히 설명할 것이다. 그림 3.1의 유전 알고리즘 과정은 V type,

    W type 각각 독립적으로 적용된다. 유전 알고리즘에 의한 V Type, W Type 각 결

    과의 최종 평가 함수 값을 서로 비교하여 최적의 듀얼 서브필드 패턴을 선택하

    게 된다.

    제안하는 방법의 전체 흐름은 그림 3.1과 같다. 먼저, M개의 스트링 배열들

    을 임의로 발생시킨다. 이때 각각의 스트링들은 편의상 존재하는 배열이며 실제

    PDP에 적용하거나 듀얼 모드 시뮬레이션 단계에서는 일정한 규칙에 의해 듀얼

    코딩 서브필드 패턴 유형으로 변환되어야 한다. 이에 관한 내용은 3.1.2절에서

    자세히 설명할 것이다. 임의 발생된 스트링들에 의해 초기 population이 이루어

  • 3.제안하는 의사윤곽 저감 방법

    23

    지고, 주어진 테스트 영상에 대해 듀얼 모드 PDP 시뮬레이션 방법에 의해 각

    스트링에 대한 시뮬레이션 된 영상이 얻어진다. 즉, M개의 듀얼 모드 시뮬레이

    션 영상을 얻게 된다. 테스트 영상과 각 시뮬레이션 결과 영상에 대해 의사윤곽

    과 체크패턴에 대한 평가를 수행한다. 의사윤곽과 체크패턴에 대한 평가를 수행

    한 후, 유전 알고리즘 연산자인 reproduction(재생), crossover(교차), mutation(변이)

    과정이 순서대로 적용된다. 유전 연산자를 통해 초기 population은 새로운 스트

    링 배열로 구성된 새로운 population이 만들어진다. 이러한 새로운 population은

    초기 population에 비해 의사윤곽과 체크패턴이 저감 되었을 것이다. 그리고 새

    로운 population은 유전 알고리즘의 다음 세대를 구성하게 된다. 이와 같은 계산

    과정은 수렴 조건을 만족할 때까지 반복된다. 반복 계산이 끝났을 때 마지막

    population에 대해서는 의사윤곽과 체크패턴에 대한 평가를 수행하고, 의사윤곽

    과 체크패턴이 최소가 되는 서브필드 패턴을 선택하게 된다. 이와 같이 선택된

    서브필드 패턴이 제안하는 방법에 의해 결정된 최적화된 듀얼 코딩 서브필드

    패턴이다.

  • 3.제안하는 의사윤곽 저감 방법

    24

    그림 3.1. 유전 알고리즘 전체 흐름도

    3.1. 서브필드 및 코딩

    듀얼 코딩 서브필드 패턴을 최적화 하기 위해서 필요한 스트링, 서브필드

    패턴, 테스트 영상 및 듀얼 모드 시뮬레이션 방법에 대하여 설명한다. 3.1.1절에

    서는 스트링 구조에 대하여 설명하고 3.1.2절에서는 테스트 영상과 PDP 시뮬레

    초기 스트링

    (서브필드 패턴)

    수렴여부? 끝

    적격치 계산

    Y

    N

    테스트

    영상

    듀얼 모드

    PDP 시뮬레이션

    시뮬레이션

    결과 영상

    평가 함수

    (객관적인 함수)

    재 생

    교 차

    변 이

    새로운 스트링

    (새로운 서브필드 패턴)

  • 3.제안하는 의사윤곽 저감 방법

    25

    이션 방법 및 스트링에서 실제 PDP에 적용 가능한 서브필드로의 변환 방법에

    대하여 설명한다. 그리고 3.1.3절에서는 주어진 서브필드 패턴에 대하여 서브필

    드 발광 유무를 나타내는 코딩 생성 방법에 대하여 설명한다.

    3.1.1. 스트링 구조

    제안하는 방법의 유전 알고리즘에서 스트링은 일정한 규칙에 의해 서브필

    드 패턴으로 변환된다. Population 내의 스트링이 N 서브필드이고 [sf(1) sf(2) sf(3)

    … sf(N-1) sf(N)]이라고 하자. 이때 이 스트링을 오름차순으로 정렬하여 나타내면

    다음 조건을 만족해야 한다.

    255)(1

    =∑=

    N

    iisf (3.1)

    1,...,2,1,1)()1(1

    −=+

    ≤+ ∑=

    Nnisfnsfn

    i

    (3.2)

    1)1( =sf (3.3)

    N은 서브필드 가중치 개수를 나타낸다. 식 (3.1)-(3.3)은 256계조를 나타내는

    서브필드 패턴일 경우 만족되어야 할 조건들이다. 그러나 듀얼 코딩 서브필드

    패턴일 경우에는 서브필드 패턴 type(V Type, W Type)과 개수에 따라 추가적인

    조건이 필요하다. 초기 population 내의 스트링들이 갖추어야 할 추가 조건들은

    다음과 같다.

  • 3.제안하는 의사윤곽 저감 방법

    26

    (1) V Type 서브필드 패턴의 경우 추가 조건 및 예

    i) 10 서브필드 경우 (N=10)

    sf(2n-1)=sf(2n), n=3,4,5 (3.4)

    예) [1 2 4 8 13 13 41 41 66 66]

    ii) 11 서브필드 경우 (N=11)

    sf(2n)=sf(2n+1), n=2,3,4,5 (3.5)

    예) [1 2 4 7 7 21 21 47 47 49 49]

    (2) W Type 서브필드 패턴의 경우 추가 조건 및 예

    i) 10 서브필드 (N=10)

    sf(2n)=sf(2n+1), n=2,3,4 (3.6)

    sf(10)=sf(6)=sf(7)

    or sf(10)=sf(8)=sf(9) (3.7)

    예) [1 2 4 7 7 22 22 84 84 22]

    [1 2 4 8 8 20 20 64 64 64]

    ii) 11 서브필드 (N=11)

    sf(2n-1)=sf(2n), n=3,4,5 (3.8)

    sf(11)=sf(7)=sf(8)

    or sf(11)=sf(9)=sf(10) (3.9)

    예) [1 2 3 7 11 11 35 35 50 50 50]

    [1 2 3 7 11 11 36 36 56 56 36]

  • 3.제안하는 의사윤곽 저감 방법

    27

    식 (3.4)-(3.9)는 10 서브필드와 11 서브필드의 경우 초기 population의 스트

    링들이 갖추어야 할 추가 조건들이다. 식 (3.4)-(3.9)와 같은 조건들은 서브필드

    패턴 type과 서브필드 수에 따라 다르게 적용된다. 서브필드 수가 고정되어 있

    다면 추가 조건은 서브필드 패턴 type에 따라 적용된다. 따라서 제안하는 방법

    에서 그림 3.1과 같은 과정은 서브필드 패턴 type에 따라 독립적으로 적용되어

    야 한다.

    초기 population의 스트링들은 식 (3.4)-(3.9)의 조건들을 만족하며 랜덤하

    게 생성된다. 즉, 초기 population 스트링들은 V shape 또는 W shape의 서브필드

    패턴을 이룬다. 이런 V shape, W shape의 초기 스트링들은 유전 알고리즘의

    crossover, mutation 과정을 거치면서 다른 여러 유형들을 생성한다. 생성 가능한

    여러 유형들에 대해서는 PDP 시뮬레이션 단계 설명 시 자세히 설명할 것이다.

    3.1.2. 테스트 영상과 PDP 듀얼 모드 시뮬레이션

    제안하는 방법에서 사용된 테스트 영상은 그림 3.2와 같다. 테스트 영상은

    계조 변화가 증가하는 방향과 감소하는 방향의 양 방향성이 고려되었으며 크기

    는 2x512이다.

    1 2 3 ••• 254 255 254 ••• 3 2 1

    1 2 3 ••• 254 255 254 ••• 3 2 1

    그림 3.2. 테스트 영상

  • 3.제안하는 의사윤곽 저감 방법

    28

    Population 내의 각 스트링에 대하여 듀얼 모드 PDP 시뮬레이션[14]이 적용된

    다. PDP 시뮬레이션 단계에서는 population의 각 스트링들에 대하여 변환과정이

    필요하다. Population 내의 스트링 구조가 [sf(1) sf(2) sf(3) … sf(N-1) sf(N)]라면 10

    서브필드와 11 서브필드에 대한 서브필드 패턴 변환은 다음과 같다.

    (1) V Type 서브필드

    i) 10 서브필드 (N=10)

    [sf9 sf7 sf5 sf3 sf1 sf2 sf4 sf6 sf8 sf10] (3.10)

    ii) 11 서브필드 (N=11)

    [sf10 sf8 sf6 sf4 sf2 sf1 sf3 sf5 sf7 sf9 sf11] (3.11)

    (2) W Type 서브필드

    i) 10 서브필드 (N=10)

    [sf8 sf6 sf4 sf2 sf1 sf10 sf3 sf5 sf7 sf9] (3.12)

    ii) 11 서브필드 (N=11)

    [sf9 sf7 sf5 sf3 sf1 sf11 sf2 sf4 sf6 sf8 sf10] (3.13)

    정해진 서브필드 패턴에 의해 듀얼 코딩이 생성된다. 코딩 생성 과정은

    3.1.3절에서 자세히 설명할 것이다. 서브필드, 듀얼 코딩과 움직임 속도는 PDP

    시뮬레이션에 적용된다. 듀얼 코딩은 두개의 다른 코딩으로써 픽셀별로 번갈아

    적용된다. 시뮬레이션 결과 영상은 의사윤곽과 체크패턴이 같이 나타나게 되고

    그 정도의 차이는 서브필드 가중치에 따라 다르게 나타난다. 만약 population에

  • 3.제안하는 의사윤곽 저감 방법

    29

    M개의 스트링이 있다면 시뮬레이션은 M번 수행된다. Population 내의 스트링 구

    조와 시뮬레이션 단계의 서브필드 패턴 구조 및 서브필드 유형 예는 다음과 같

    다.

    초기 population 내의 스트링들이 V자형을 이루는 유형을 V Type이라 앞에

    서 정의하였으며 이런 V shape를 이루는 초기 스트링들이 변형 가능한 예는 표

    3.1, 표 3.2와 같다.

    표 3.1. 10 서브필드 경우 (N=10)

    Shape Population 내의 스트링 구조 시뮬레이션 단계 서브필드 패턴

    V [1 2 4 8 13 13 41 41 66 66] [66 41 13 4 1 2 8 13 41 66]

    M [4 8 13 13 41 41 66 66 1 2] [1 66 41 13 4 8 13 41 66 2]

    VVV [4 8 13 13 41 41 1 2 66 66] [66 1 41 13 4 8 13 41 2 66]

    W [66 66 4 8 1 2 13 13 41 41] [41 13 1 4 66 66 8 2 13 41]

    Λ [66 66 41 41 13 13 4 8 1 2] [1 4 13 41 66 66 41 13 8 2]

    표 3.2. 11 서브필드 경우 (N=11)

    Shape Population 내의 스트링 구조 시뮬레이션 단계 서브필드 패턴

    V [1 2 4 7 7 21 21 47 47 49 49] [49 47 21 7 2 1 4 7 21 47 49]

    M [1 7 7 47 47 49 49 21 21 2 4] [2 21 49 47 7 1 7 47 49 21 4]

    VVV [1 7 7 47 47 21 21 2 4 49 49] [49 2 21 47 7 1 7 47 21 4 49]

    초기 population 내의 스트링들이 W자형을 이루는 유형을 W Type이라 앞에

    서 정의하였으며 이런 W shape를 이루는 초기 스트링들이 변형 가능한 예는 표

    3.3, 표 3.4, 표 3.5, 표 3.6과 같다.

  • 3.제안하는 의사윤곽 저감 방법

    30

    표 3.3. 10 서브필드 (N=10) and sf(10)=sf(6)=sf(7)

    Shape Population 내의 스트링 구조 시뮬레이션 단계 서브필드 패턴

    W [1 2 4 7 7 22 22 84 84 22] [84 22 7 2 1 22 4 7 22 84]

    ΛΛΛ [1 7 7 22 22 84 84 2 4 22] [2 84 22 7 1 22 7 22 84 4]

    M [1 84 84 22 22 7 7 2 4 22] [2 7 22 84 1 22 84 22 7 4]

    표 3.4. 10 서브필드 (N=10) and sf(10)=sf(8)=sf(9)

    Shape Population 내의 스트링 구조 시뮬레이션 단계 서브필드 패턴

    W [1 2 4 8 8 20 20 64 64 64] [64 20 8 2 1 64 4 8 20 64]

    ΛΛΛ [1 8 8 20 20 64 64 2 4 64] [2 64 20 8 1 64 8 20 64 4]

    Λ [1 64 64 20 20 8 8 2 4 64] [2 8 20 64 1 64 64 20 8 4]

    표 3.5. 11 서브필드 (N=11) and sf(11)=sf(9)=sf(10)

    Shape Population 내의 스트링 구조 시뮬레이션 단계 서브필드 패턴

    W [1 2 3 7 11 11 35 35 50 50 50] [50 35 11 3 1 50 2 7 11 35 50]

    ΛΛΛ [3 7 11 11 35 35 50 50 1 2 50] [1 50 35 11 3 50 7 11 35 50 2]

    Λ [50 50 35 35 11 11 3 7 1 2 50] [1 3 11 35 50 50 50 35 11 7 2]

    VVVV [3 7 11 11 35 35 1 2 50 50 50] [50 1 35 11 3 50 7 11 35 2 50]

    표 3.6. 11 서브필드 (N=11) and sf(11)=sf(7)=sf(8)

    Shape Population 내의 스트링 구조 시뮬레이션 단계 서브필드 패턴

    W [1 2 3 7 11 11 36 36 56 56 36] [56 36 11 3 1 36 2 7 11 36 56]

    ΛΛΛ [1 2 36 36 56 56 11 11 3 7 36] [3 11 56 36 1 36 2 36 56 11 7]

    M [56 56 36 36 11 11 3 7 1 2 36] [1 3 11 36 56 36 56 36 11 7 2]

    VVVV [3 7 11 11 36 36 1 2 56 56 36] [56 1 36 11 3 36 7 11 36 2 56]

  • 3.제안하는 의사윤곽 저감 방법

    31

    3.1.3. 코딩 방법

    서브필드 패턴이 결정되면 서브필드의 발광 유무를 나타내는 서브필드 코

    딩 방법에 의해 코딩이 결정되어야 한다. 코딩 방법에 따라 의사윤곽이 나타나

    는 정도가 달라지므로 최적의 코딩 방법을 찾아서 듀얼 코딩에 사용한다면 의

    사윤곽이 더욱 줄어든 결과를 얻을 수 있을 것이다. 제안하는 방법에서 사용된

    코딩 방법에 대하여 설명하면 다음과 같다.

    (1) V Type 서브필드 패턴의 경우

    V Type 서브필드 패턴일 경우 코딩 생성 과정은 아래와 같다.

    ① Population 내의 스트링을 오름차순으로 정렬하고 가중치가 적은 스트링

    부터 코딩을 채워 나간다. 즉, 기존의 서브필드 가중치가 순차적 증가일 경

    우 코딩 결정 방법과 동일한 방법으로 코딩을 결정한다.

    ② 코딩을 다시 스트링 구조대로 배열하되 가중치가 동일할 경우 왼쪽을

    우선으로 한다.

    ③ PDP 시뮬레이션 단계에서는 시뮬레이션 시 사용되는 듀얼 서브필드 패

    턴 구조로 재 배열하되 역시 왼쪽을 우선으로 한다.

    ④ 위 과정(①, ②, ③)에 의해 하나의 코딩 A가 완성되고 가중치가 같은

    코딩에서는 대칭을 이루는 구조가 되도록 또 다른 코딩 B를 완성한다.

    예, 스트링 배열 [1 7 7 47 47 49 49 21 21 2 4]

  • 3.제안하는 의사윤곽 저감 방법

    32

    → arranging [1 2 4 7(a) 7(b) 21(a) 21(b) 47(a) 47(b) 49(a) 49(b)]

    → grearrangin [1 7(a) 7(b) 47(a) 47(b) 49(a) 49(b) 21(a) 21(b) 2 4]

    → gtransfor min 코딩A: [2 21(a) 49(a) 47(a) 7(a) 1 7(b) 47(b) 49(b) 21(b) 4]

    코딩B: [2 21(b) 49(b) 47(b) 7(b) 1 7(a) 47(a) 49(a) 21(a) 4]

    예를 들은 듀얼 서브필드 패턴 [2 21 49 47 7 1 7 47 49 21 4]에 대한 코딩 A,

    코딩 B는 그림 3.3과 같다. 그림 3.3은 계조 20부터 42까지의 코딩을 보여주고

    있다. 계조 22는 서브필드 가중치 21과 1을 발광함으로써 표현된다. 그러나

    서브필드 가중치 21은 서브필드 가중치 2번째(왼쪽)와 10번째(오른쪽) 2개가

    존재한다. 따라서 가운데를 중심으로 왼쪽을 우선으로 발광하느냐 오른쪽을

    우선으로 발광하느냐에 따라 코딩 A와 코딩 B가 결정되는 것이다.

    (a) 코딩 A (b) 코딩 B

    그림 3.3. V Type 서브필드 [2 21 49 47 7 1 7 47 49 21 4]에 대한 듀얼 코딩 예

  • 3.제안하는 의사윤곽 저감 방법

    33

    (2) W Type 서브필드 패턴의 경우

    V Type 서브필드 패턴일 경우 코딩 생성 과정은 아래와 같다.

    ① Population 내의 스트링을 오름차순으로 정렬하고 스트링 가중치가 적은

    가중치부터 코딩을 채워 나간다. 즉, 기존의 서브필드 가중치가 순차적 증

    가일 경우 코딩 결정 방법과 동일한 방법으로 코딩을 결정한다.

    ② 코딩을 다시 스트링 구조대로 배열하되 가중치가 동일할 경우 가운데,

    왼쪽, 오른쪽 순으로 우선 코딩을 채워나간다.

    ③ 시뮬레이션 단계에서는 시뮬레이션 시 사용되는 듀얼 서브필드 패턴 구

    조로 재 배열하되 역시 가운데, 왼쪽, 오른쪽 순으로 한다.

    ④ 마찬가지로 위 과정(①, ②, ③)에 의해 하나의 코딩 A가 완성되고 가중

    치가 같은 코딩에서는 대칭을 이루는 구조가 되도록 또 다른 코딩 B를 완

    성한다.

    예, 스트링 [56 56 36 36 11 11 3 7 1 2 36]

    → arranging [1 2 3 7 11(a) 11(b) 36(a) 36(b) 36(c) 56(a) 56(b)]

    → grearrangin [56(a) 56(b) 36(b) 36(c) 11(a) 11(b) 3 7 1 2 36(a)]

    → gtransfor min 코딩 A : [1 3 11(a) 36(b) 56(a) 36(a) 56(b) 36(c) 11(b) 7 2]

    코딩 B : [1 3 11(b) 36(c) 56(b) 36(a) 56(a) 36(b) 11(a) 7 2]

    예를 들은 듀얼 서브필드 패턴 [1 3 11 36 56 36 56 36 11 7 2]에 대한 코딩 A,

    코딩 B는 그림 3.4와 같다. 그림 3.4는 계조 69부터 91까지의 코딩을 보여주고

  • 3.제안하는 의사윤곽 저감 방법

    34

    있다. 계조 71은 서브필드 가중치 1, 3, 11, 36, 11, 7, 2를 발광함으로써 표현된다.

    여기서 서브필드 가중치 36은 서브필드 가중치 4번째(왼쪽), 6번째(가운데), 8번

    째(오른쪽) 3개 존재한다. 3개 중 가운데 서브필드를 우선적으로 발광시킨다.

    그리고 계조 72는 서브필드 가중치 36과 36을 발광함으로써 표현된다. 그러나

    서브필드 가중치 36은 3개 존재하므로 가운데를 우선적으로 선택한다. 그리고

    나머지 2개 중 왼쪽을 우선으로 발광하느냐 오른쪽을 우선으로 발광하느냐에

    따라 코딩 A와 코딩 B가 결정되는 것이다.

    (a) 코딩 A (b) 코딩 B

    그림 3.4. W Type서브필드 [1 3 11 36 56 36 56 36 11 7 2]에 대한 듀얼 코딩 예

    3.2. 평가 함수

    유전 알고리즘을 이용하여 의사윤곽과 체크패턴을 동시에 최소화하는 서브

  • 3.제안하는 의사윤곽 저감 방법

    35

    필드 패턴을 선택하는 것이 최종 목적이다. 그러므로 유전 알고리즘에서

    reproduction을 위한 평가함수는 시뮬레이션 결과 영상에 나타나는 의사윤곽과

    체크패턴의 정도를 정량화 할 수 있어야 한다. 제안하는 방법의 평가함수는 테

    스트 영상과 시뮬레이션 결과 영상을 사용하여 의사윤곽량 (EDFC)과 체크패턴량

    (ECHK)이 계산된다. EDFC와 ECHK의 평가 함수 계산 흐름도는 그림 3.5와 같다.

    그림 3.5. 평가 함수 계산 흐름도

    3.2.1절에는 의사윤곽을 정량화하는 방법에 관하여 설명하고 3.2.2절에서는

    체크패턴을 정량화하는 방법에 대하여 설명한다. 그리고 3.2.3절에는 의사윤곽량

    과 체크패턴량을 하나로 통합하는 방법에 대하여 설명한다.

    + _ + _

    문턱값 적용

    Squared Mean = EDFC ECHK

    의사윤곽 영역 제외

    Weber's law

    듀얼 모드

    PDP 시뮬레이션

    시뮬레이션

    결과 영상

    역감마

    보정

    1x2 lowpass 필터

    테스트 영상

  • 3.제안하는 의사윤곽 저감 방법

    36

    3.2.1. 의사윤곽 평가 함수

    시뮬레이션 결과 영상은 의사윤곽과 체크패턴을 모두 나타내고 있다. 따라

    서 의사윤곽 평가함수는 체크패턴 영역을 제외한 의사윤곽 영역만을 추출할 수

    있어야 하며 추출된 영역에서 나타나는 의사윤곽 정도를 정량적으로 제시 할

    수 있어야 한다. 제안하는 방법에서 사용된 의사윤곽 평가 함수의 흐름은 그림

    3.5에 제시되었다. 그림 3.5에서 의사윤곽량이 계산되는 흐름에 따라 수식으로

    작성하면 식 (3.14)-(3.18)에 해당한다. 먼저 식 (3.16)에 의해 감마 변환된 테스트

    영상과 시뮬레이션 결과 영상에 각각 식 (3.17)과 같은 1x2 lowpass 필터를 적용

    한다. Lowpass 필터를 거친 영상에 weber’s law를 적용한 후 그 차이를 식 (3.14)

    에 의해 계산한다. 그리고 그 차이 값에 대하여 식 (3.18)에 의해 문턱값을 적용

    한다. 문턱값 과정을 거친 후 식 (3.15)와 같은 제곱평균을 적용하면 의사윤곽량

    EDFC가 계산된다.

    ( )[ ] [ ] 2.2/12.2/1 )))','(((),(),( jioriGsimulLowjioriGLowjiDFC −= (3.14)

    ( )∑∑−

    =

    =

    =1

    0

    1

    0

    2),(1N

    j

    M

    iDFC jiDFCTHMN

    E (3.15)

    2.2

    255),(255)),((

    ⋅=

    jiorijioriG (3.16)

    [ ]),1(),(21)],([ jifjifjifLow ++= (3.17)

  • 3.제안하는 의사윤곽 저감 방법

    37

    ( ) >

    =else

    dfcthresholdjiDFCifjiDFCjiDFCTH

    ,0_),(),,(

    ),( (3.18)

    식 (3.14)-(3.18)에서 ),( jiori 는 테스트 영상의 ( i, j ) 위치 계조값을 나타내

    고, )(•simul 은 듀얼 코딩을 적용하여 PDP 시뮬레이션하는 함수를 나타낸다.

    )(•G 는 감마 2.2를 적용한 감마적용 함수로 식 (3.16)과 같다. ][•Low 는 1x2

    lowpass 필터 함수이며 식 (3.17)과 같다. )(•TH 은 정해진 의사윤곽량 문턱값

    (threshold_dfc)을 적용하여 눈에 띄지 않는 의사윤곽 영역은 제외시키는 함수로

    서 식 (3.18)과 같이 적용된다.

    3.2.2. 체크패턴 평가 함수

    체크패턴 평가함수는 의사윤곽 영역을 제외한 체크패턴 영역만을 추출할

    수 있어야 하며 추출된 영역에서 나타나는 체크패턴 정도를 정량적으로 제시

    할 수 있어야 한다. 제안하는 방법에서 사용된 체크패턴 평가 함수의 흐름은 그

    림 3.5에 제시하였다. 그림 3.5에서 체크패턴 평가함수에 해당하는 부분만을 설

    명하면 다음과 같다. 감마변환 된 테스트 영상과 시뮬레이션 결과 영상에 각각

    weber’s law를 적용한 후 두 영상의 차이를 계산한다. 차이 영상은 그림 3.6과 같

    이 두 영상 차이가 음수(–)에 해당하는 영역은 어둡게, 양수(+)에 해당하는 영역

    은 밝게 나타날 것이다. 그림 3.6과 같은 체크패턴이 나타나고 있다고 할 때

    체크패턴량 (ECHK) 함수를 나타내면 식 (3.19)-(3.20)과 같다. 체크 패턴의 정도를

  • 3.제안하는 의사윤곽 저감 방법

    38

    나타내는 관계식은 식 (3.19)와 같다. 체크패턴량 계산 시 의사윤곽 영역은 제외

    시킨다. 즉, 의사윤곽량 계산 시 문턱값 적용 단계에서 문턱값 이상일 경우 의

    사윤곽 영역으로 간주되므로 그 영역은 체크패턴량 0가 된다.

    A(i,j) A(i,j+1)

    A(i+1,j) A(i+1,j+1)

    그림 3.6. 체크패턴 유형

    )1,1(),(),1(),(

    )1,(),(),(

    ++−−+−+

    +−=

    jiAjiAjiAjiA

    jiAjiAjicheck (3.19)

    ( )∑∑−

    =

    =

    =1

    0

    1

    0

    2),(1P

    i

    Q

    jCHK jicheckTHPQ

    E (3.20)

    ( ) >

    =else

    chkthresholdjicheckifjicheckjicheckTH

    ,0_),(),,(

    ),( (3.21)

    식 (3.19)-(3.21)에서 A(i,j)는 ( i, j ) 위치에서 테스트 영상과 시뮬레이션 결

    과 영상간의 차이 값을 나타낸다. 그리고 P와 Q는 영상의 가로, 세로 크기를 나

    타낸다. ),( jicheck 는 그림 3.6과 같은 체크패턴 유형의 ( i, j ) 위치에서 체크

    패턴 정도를 나타내는 함수이다. 체크패턴량(ECHK)은 체크패턴의 정도를 나타내

    는 함수값의 제곱 평균에 의해 계산되고 식 (3.20)과 같다. )(•TH 은 정해진 체

    크패턴량 문턱값(threshold_chk)을 적용하여 눈에 띄지 않는 체크패턴 영역을 제

    외시키는 함수로서 식 (3.21)과 같이 적용된다.

  • 3.제안하는 의사윤곽 저감 방법

    39

    3.2.3. 의사윤곽 평가 함수와 체크패턴 평가 함수의 결합

    유전 알고리즘에 적용되는 평가함수는 하나의 값으로 존재해야 한다. 따라

    서 의사윤곽 평가 함수와 체크패턴 평가 함수간의 결합 과정이 필요하다. 의사

    윤곽 평가함수에 의한 의사윤곽량과 체크패턴 평가 함수에 의한 체크패턴량은

    서로 값의 범위가 다르다. 두 함수에 대하여 normalize 과정이 필요하지만 체크

    패턴 평가 함수와 의사윤곽 평가 함수를 각 최대값으로 나눔으로써 normalize하

    게 되면 두 함수간에 값의 범위에 차이가 있으므로 치우침이 나타나게 된다. 따

    라서 식 (3.22)에서와 같이 stretching 방법을 적용하였다. 그러나 임의의 서브필

    드 패턴에서 의사윤곽량이 최소이고 체크패턴량 역시 최소가 되면 최종 오차값

    이 0가 된다. 이러한 오차값이 0가 되는 경우가 생기지 않도록 하기 위해 식

    (3.22)에서 상수 C를 최종 오차값에 덧셈 연산하였다. 의사윤곽량과 체크패턴량

    을 결합한 최종 평가함수(eval(•))는 식 (3.22)와 같다. 식 (3.22)에서 NDFC, NCHK는

    각각 식 (3.23), 식(3.24)와 같다.

    CNN

    CEE

    EEEE

    EEkeval

    CHKDFC

    CHKMinCHKMax

    CHKMinCHK

    DFCMinDFCMax

    DFCMinDFC

    ++=

    +

    −+

    −=

    22

    2

    __

    _2

    __

    _)( (3.22)

    DFCMinDFCMax

    DFCMinDFCDFC EE

    EEN

    __

    _

    −=

    (3.23)

  • 3.제안하는 의사윤곽 저감 방법

    40

    CHKMinCHKMax

    CHKMinCHKCHK EE

    EEN

    __

    _

    −=

    (3.24)

    식 (3.23)-(3.24)에서 EMax_DFC와 EMin_DFC는 k번째 세대에서 최대, 최소 의사윤

    곽량을 나타낸다. EMax_CHK와 EMin_CHK는 k번째 세대의 최대, 최소 체크패턴량을

    나타낸다. C는 양의 상수이다. 최종 평가 함수에서 의사윤곽 함수(NDFC)와 체크

    패턴 함수(NCHK)를 식 (3.22)와 같이 적용한 이유를 설명하면 다음과 같다.

    X축을 식 (3.23)에 의한 값 NDFC, Y축을 식 (3.24)에 의한 값 NCHK라 놓고 듀

    얼 서브필드에 대한 분포도를 나타내었을 때 그림 3.7과 같다고 하자. 이때 임

    의의 한 점 K에서 최종 오차량 0까지의 거리를 d라 하면 d2은 식 (3.25)와 같고

    이 식은 식 (3.22)에서 상수 C를 제외한 식과 같다. 가장 이상적인 서브필드 패

    턴은 의사윤곽량이 최소이고 체크패턴량이 최소인 서브필드 패턴이며 그림 3.5

    의 원점에 존재 할 것이다. 그러므로 원점에 가까울수록 이상적인 서브필드 패

    턴에 가깝다고 볼 수 있다. 각 듀얼 서브필드 패턴의 X, Y 값으로부터 원점까지

    의 거리식을 적용하여 의사윤곽량과 체크패턴량을 결합함으로써 이상적인 경우

    에 가장 가까운 서브필드 패턴을 선택 할 수 있을 것이다. NDFC= X, NCHK=Y, 원

    점까지의 거리를 d라 놓으면 식 (3.25)와 같이 나타낼 수 있다.

    22222CHKDFC NNYXd +=+= (3.25)

  • 3.제안하는 의사윤곽 저감 방법

    41

    그림 3.7. 듀얼 서브필드 패턴 분포도

    3.3. 유전 알고리즘 연산자

    유전 알고리즘은 reproduction (재생), crossover (교차), mutation (변이)의 세단계

    연산자를 거치게 된다. Reproduction 단계는 다음 세대에서 해당 서브필드가 생

    존해 있을 확률을 연산하는 단계이다. Crossover 단계는 두 서브필드들의 특성을

    서로 교환하는 단계이다. Mutation 단계는 진화과정에서 발생하는 돌연변이를 나

    타내는 단계이다. Crossover와 mutation은 reproduction 후 수행되고 수렴 조건을

    만족할 때까지 반복된다.

    3.3.1절에서는 reproduction 단계를 설명하고 3.3.2절에서는 crossover 단계를

    설명한다. 그리고 3.3.3절에서 mutation 단계를 설명할 것이다.

  • 3.제안하는 의사윤곽 저감 방법

    42

    3.3.1. Reproduction 연산

    의사윤곽과 체크패턴을 정량화한 결과를 사용하여 각 스트링들의 fitness

    value를 식 (3.26)과 같이 계산한다. 그리고 계산된 fitness value를 이용하여 각

    스트링의 reproduction 확률을 계산하고 그 확률에 따라 reproduction 연산이 수행

    된다. K번째 스트링의 최종 평가함수에 의한 오차량이 eval(k)라면 fitness value는

    식 (3.26)과 같다.

    )(1)(_

    kevalkvaluefitness = (3.26)

    Fitness value는 오차량과 반비례의 관계에 있다. 즉, fitness value가 높다는 것

    은 의사윤곽량과 체크패턴량을 결합한 최종 오차량이 낮다는 것을 나타내고 결

    국 의사윤곽과 체크패턴이 적은 스트링이라는 의미이다. 다음 세대를 위한 k번

    째 스트링의 reproduction 확률은 식 (3.27)과 같이 계산된다.

    ∑=

    = M

    iivaluefitness

    kvaluefitnesskprob

    0)(_

    )(_)( (3.27)

    식 (3.27)은 다음 세대에서 해당 서브필드가 생존해 있을 확률을 나타낸다.

    즉, fitness value 값이 높을수록 다음 세대에 생존할 가능성이 높아지고, fitness

  • 3.제안하는 의사윤곽 저감 방법

    43

    value가 높다는 것은 의사윤곽량과 체크패턴량이 적다는 것을 의미한다.

    3.3.2. Crossover 연산

    Crossover는 두 서브필드들의 특성을 서로 교환하는 단계이다. 두 부모 스트

    링의 형질을 물려 받아 두 자손을 이룬다. 그림 3.1 과정에서 초기 population의

    스트링들은 오름차순으로 정렬된 상태이므로 crossover 단계는 무의미하다. 따라

    서 2번째 반복부터 적용된다. Crossover 연산 단계에서는 스트링 배열 내의 정해

    진 영역에서 서브필드 가중치 순서의 교환이 이루어 진다. Crossover 연산에서의

    위치 선택은 스트링 유형과 서브필드 개수에 따라 다르게 결정된다. 스트링 유

    형과 서브필드 개수가 정해지면 crossover 연산을 위해 starting point와 ending

    point에 해당하는 두 위치가 선택된다. 스트링 구조가 [sf(1) sf(2) sf(3) … sf(N-1)

    sf(N)]라 했을 때 서로 다른 두 위치는 다음 조건 식 (3.28)-(3.31)을 만족하는

    point 중 랜덤하게 선택된다.

    (1) V Type 서브필드

    i) 10 subfield case (N=10)

    5,4,3,2,1),12( =−= nnsfposition (3.28)

    ii) 11 subfield case (N=11)

    5,4,3,2,1),2( == nnsfposition (3.29)

  • 3.제안하는 의사윤곽 저감 방법

    44

    (2) W Type 서브필드

    i) 10 subfield case (N=10)

    4,3,2,1),2( == nnsfposition (3.30)

    ii) 11 subfield case (N=11)

    5,4,3,2,1),12( =−= nnsfposition (3.31)

    식 (3.28)-(3.31)에 의해 결정된 랜덤한 서로 다른 두 위치에 따라 crossover

    연산이 수행된다. 각 위치 선택 조건은 서브필드 type과 개수에 따라 다르다. 서

    브필드 type과 개수에 따라 crossover 연산이 적용되는 예를 그림 3.8, 그림 3.9에

    나타내었다. 그림 3.8, 그림 3.9에서 string A와 string B는 crossover 연산 전의 스

    트링들이고 string A'와 string B'는 crossover 연산 후의 스트링들을 나타낸다.

    Position1은 starting point이고 position2는 ending point를 나타낸다. 즉, crossover 연

    산이 수행되는 영역은 position1과 position2 사이 영역에 해당한다. Crossover 영

    역으로 지정된 부분에 대하여 string A와 string B의 가중치 순서를 서로 교환함

    으로써 crossover 연산이 수행된다. Crossover 영역으로 지정된 부분의 가중치 순

    서는 그림 3.8, 그림 3.9에서 스트링 가중치 위에 작은 글씨로 나타내었다. 그림

    3.8은 V Type 서브필드의 경우이고 그림 3.9는 W Type 서브필드의 경우

    crossover 연산 수행 예를 제시한 것이다.

  • 3.제안하는 의사윤곽 저감 방법

    45

    (a) 10 서브필드 경우 (position1= 3, position2= 9)

    (b) 11 서브필드 경우 (position1= 2, position2=10)

    그림 3.8. V Type 서브필드 경우

  • 3.제안하는 의사윤곽 저감 방법

    46

    (a) 10 서브필드 경우 (position1= 2, position2= 8)

    (b) 11 서브필드 경우 (position1= 1, position2= 7)

    그림 3.9. W Type 서브필드 경우

    3.3.3. Mutation 연산

    Mutation 단계는 진화과정에서 발생하는 돌연변이를 나타내는 단계이다.

    Mutation 연산은 두 가지 연산 형태로 이루어져 있다. Mutation 연산 1은 임의의

    두 쌍의 위치가 선택되고 각 값에 일정한 상수를 더하거나 빼는 연산을 수행한

  • 3.제안하는 의사윤곽 저감 방법

    47

    다. Mutation 연산 2는 임의의 두 쌍 위치가 선택되고 서로 값을 교환하는 방법

    이다. 스트링 배열이 [sf(1) sf(2) sf(3) … sf(N-1) sf(N)]라 했을 때 서로 다른 임의

    의 두 위치 선택은 crossover 연산 단계에서의 위치 선택 조건 식 (3.28)-(3.31)과

    동일하다. 식 (3.28)-(3.31)에 의해 결정된 랜덤한 서로 다른 두 위치에 따라

    mutation 연산이 수행된다. 각 위치 선택 조건은 서브필드 type과 개수에 따라

    다르다. 서브필드 type과 개수에 따라 mutation 연산이 적용되는 예를 그림 3.10,

    그림 3.11에 나타내었다.

    그림 3.10, 그림 3.11에서 string A는 mutation 연산 전의 스트링이고 string A'

    는 mutation 연산 후의 스트링을 나타낸다. 식 (3.28)-(3.31)에 의해 결정된

    position1의 해당 스트링 가중치와 바로 옆 position1+1 위치 가중치가 쌍으로

    선택되고 position2에 의해 두번째 쌍의 스트링 가중치가 선택된다. 즉, mutation

    연산이 수행되는 영역은 position1과 position1+1, position2와 position2+1 두 쌍에

    해당한다. Mutation 영역으로 지정된 두 쌍의 위치에 대하여 string A의 가중치

    위치를 서로 교환 또는 일정한 상수를 더하거나 빼는 연산을 함으로써 mutation

    연산이 수행된다. 위와 같은 과정의 mutation 연산은 서브필드 유형이 V Type일

    경우에 대한 설명이다.

    W Type의 경우 mutation 연산 1은 sf(N)를 제외한 나머지 부분에 대해서 임

    의의 두 곳 위치를 선택한다. Mutation 연산 2의 경우는 sf(N)를 제외한 나머지

    부분에 대하여 선택된 스트링을 서로 교환한다. Mutation 연산 1의 경우 만약 선

    택된 위치의 스트링 가중치가 sf(N)과 동일하다면 선택된 위치의 한 쌍의 가중

    치와 sf(N)에 2의 배수 상수를 더하거나 빼고 다른 선택된 한 쌍의 위치에는 3

  • 3.제안하는 의사윤곽 저감 방법

    48

    의 배수 상수를 빼거나 더한다. Mutation 연산 1의 경우 서브필드 유형과 개수에

    따라 적용되는 예를 그림 3.10에 나타내었다. 또한 mutation 연산 2의 경우 서브

    필드 유형과 개수에 따라 적용되는 예를 그림 3.11에 나타내었다. Crossover 연산

    에서의 설명과 마찬가지로 position1과 position2는 임의로 선택되는 위치로서

    mutation 연산을 처리할 스트링 가중치 쌍을 지정하는 역할을 한다. Mutation 연

    산 1은 임의의 상수를 더하거나 빼는 연산이므로 가중치 값에 변화가 생긴다.

    따라서 mutation 연산 후 string 가중치를 크기 순으로 정렬하였을 경우 식 (3.1)-

    (3.3)을 만족해야 한다.

    (a) V Type 10 서브필드 (position1= 5, position2= 9)

    (b) V Type 11 서브필드 (position1= 6, position2=10)

  • 3.제안하는 의사윤곽 저감 방법

    49

    (c) W Type 10 서브필드 (position1= 2, position2= 4)

    (d) W Type 11 서브필드 (position1= 3, position2= 5)

    그림 3.10. Mutation 연산1

    (a) V Type 10 서브필드 (position1= 3, position2= 7)

    (b) V Type 11 서브필드 (position1= 4, position2= 8)

  • 3.제안하는 의사윤곽 저감 방법

    50

    (c) W Type 10 서브필드 (position1= 2, position2= 6)

    (d) W Type 11 서브필드 (position1= 3, position2= 7)

    그림 3.11. Mutation 연산2

    Mutation 연산 1을 수행하게 되면 스트링의 가중치 값이 바뀌게 되므로 대

    칭성을 유지하고 있는지, 그리고 256 계조를 모두 표현 할 수 있는지 확인하는

    절차가 필요하다. 스트링 가중치를 오름차순으로 정렬하였을 경우 식 (3.1)-(3.3)

    을 만족하고 서브필드 type과 개수에 따라 식 (3.4)-(3.5), 식 (3.32)-(3.35)을 만족

    해야 한다. 앞에서 나왔던 식 (3.4)-(3.9)의 조건은 초기 population 내의 스트링들

    이 갖추어야 할 조건이고 다음에 제시되는 식 (3.32)-(3.35)는 mutation 연산을 거

    친 후 모든 스트링들이 갖추어야 할 조건들이다.

    스트링의 가중치를 오름차순 정렬하였을 경우 [sf(1) sf(2) sf(3) … sf(N-1) sf(N)]

    이 된다고 가정하자. 이 때 V Type 서브필드 패턴의 경우 만족되어야 할 조건은

    식 (3.4)-(3.5)와 동일하고 W Type 서브필드 패턴의 경우 만족되어야 할 조건 및

  • 3.제안하는 의사윤곽 저감 방법

    51

    예는 다음 식 (3.32)-(3.35)와 같다.

    (1) 10 서브필드 (N=10)

    sf(2n)=sf(2n+1), n=2,3,4 (3.32)

    sf(8)=sf(6)=sf(7)

    or sf(8)=sf(9)=sf(10) (3.33)

    예) [1 2 4 7 7 22 22 84 84 22] →sorting [1 2 4 7 7 22 22 22 84 84]

    [1 2 4 8 8 20 20 64 64 64] →sorting [1 2 4 8 8 20 20 64 64 64]

    (2) 11 서브필드 (N=11)

    sf(2n-1)=sf(2n), n=3,4,5 (3.34)

    sf(9)=sf(7)=sf(8)

    or sf(9)=sf(10)=sf(11) (3.35)

    예) [1 2 3 7 11 11 36 36 56 56 36] →sorting [1 2 3 7 11 11 36 36 36 56 56]

    [1 2 3 7 11 11 35 35 50 50 50] →sorting [1 2 3 7 11 11 35 35 50 50 50]

  • 3.제안하는 의사윤곽 저감 방법

    52

    3.4. 실험 및 결과

    유전 알고리즘을 적용하여 의사윤곽과 체크패턴이 최적인 듀얼 서브필드

    패턴을 결정하기 위해서는 먼저 제안하는 유전 알고리즘에 대한 검증 실험이

    필요하다. 그리고 유전 알고리즘에 사용되는 의사윤곽 평가함수, 체크패턴 평가

    함수, 의사윤곽과 체크패턴을 통합한 최종 평가함수에 대한 검증 실험이 선행되

    어야 한다. 유전 알고리즘이 검증되고 각 평가 함수들이 검증된 후에 최종 목적

    인 최적의 듀얼 서브필드 패턴을 결정하기 위한 실험을 수행한다.

    3.4.1절에서는 유전 알고리즘에 대한 검증 실험 내용이 설명되고 3.4.2절에

    서는 각 평가함수에 대한 검증 실험 내용을 설명한다. 그리고 3.4.3절에서는 제

    안하는 방법에 의한 10 서브필드 결과를 제시하고 3.4.4절에서는 제안하는 방법

    에 의한 11 서브필드 결과를 제시한다.

    3.4.1. 유전 알고리즘 검증 실험

    최적 듀얼 서브필드 패턴을 결정하기위해 유전 알고리즘을 적용하기에 앞

    서 듀얼 서브필드 모든 경우에 대하여 오차를 계산한 후 최적 서브필드를 결정

    한 경우와 유전 알고리즘을 적용하여 최적 서브필드를 결정한 결과가 동일한지

    검증하고자 하였다. 이 실험은 앞에서 설명한 유전 연산자 reproduction, crossover,

    mutation 단계가 제대로 수행되는지 검증하는 단계이다. 즉, local minima에 빠지

    지 않고 global minimum을 찾을 수 있는지 검증하는 실험이다. 듀얼 서브필드를

  • 3.제안하는 의사윤곽 저감 방법

    53

    고려한 유전 연산자 crossover, mutation이 결정된 후 코딩방법, 평가함수를 최종

    결정하기 전에 수행되었으므로 앞 설명과 다른 코딩방법, 오차기준 함수가 사용

    되었다. 그러나 유전 알고리즘 검증 실험에서는 전수비교와 동일한 코딩방법,

    오차기준 함수를 사용한다면 유전 알고리즘 검증 수행이 가능하다.

    3.4.1.1절에서는 유전 알고리즘 검증 실험 방법에 대하여 설명하고 3.4.1.2절

    에서는 유전 알고리즘 검증 실험 결과에 대하여 설명한다.

    3.4.1.1. 유전 알고리즘 검증 실험 방법

    실험을 실시하기 위해서는 다음 4가지 조건들을 고려하여야 한다. 즉, 전수

    비교 경우의 4가지 조건과 유전 알고리즘에 적용되는 4가지 조건이 서로 일치

    하여야 한다.

    조건1. 서브필드 개수

    조건2. 코딩방법

    조건3. 오차기준 함수

    조건4. 테스트 영상

    256 계조를 표현할 수 있는 모든 경우의 듀얼 서브필드를 생성하여 비교하

    여야 된다. 따라서 생성할 수 있는 서브필드 개수가 비교적 적은 10 서브필드

    를 선택하였다. 전수비교와 유전 알고리즘에 동일한 코딩 생성 방법을 적용하였

  • 3.제안하는 의사윤곽 저감 방법

    54

    다. 유전 알고리즘 검증 실험에서 사용된 오차기준 함수는 의사윤곽 평가함수

    식 (3.15)와 유사한 함수를 적용하였다. 즉, 의사윤곽 평가 함수와 달리 여기서

    는 문턱값 3을 적용하며 제곱 평균값이 아닌 제곱합으로 계산한다. 또한

    weber’s law가 적용되지 않았다. 전수비교에 사용된 오차기준 함수와 유전 알고

    리즘에 적용되는 오차기준 함수가 동일하므로 실제 최종 결정된 오차기준 함수

    와 달라도 무관하다. 테스트 영상 역시 전수 비교 방법과 유전 알고리즘 방법에

    동일하게 적용하였다.

    3.4.1.2. 유전 알고리즘 검증 실험 결과

    전수비교 결과와 유전 알고리즘을 적용한 결과가 일치하는지 알아보았다.

    유전 알고리즘에서 초기 population은 V shape 서브필드 배열 194개, W shape 서

    브필드 배열 6개를 200번 반복하도록 하였다. V shape 서브필드와 W shape 서브

    필드 간에는 독립적으로 수행된다. 표 3.7과 표 3.8은 전수 비교한 결과와 유전

    알고리즘을 적용한 결과이다. 표 3.7에서 순위는 전수비교 결과에서 상위 5위까

    지를 나타낸다. 표 3.8에서 순위 1이 최종 수렴된 결과이다. 표 3.7, 표 3.8에서

    최종적인 1위가 서로 같음을 볼 수 있다. 표 3.8의 순위는 수렴된 동일

    population 내의 서브필드 순위를 나타낸다.

    표 3.7과 표 3.8로부터 전수비교 결과와 유전 알고리즘을 적용하여 결정된

    결과가 서로 동일 함을 알 수 있다. 따라서 실험 결과로부터 제안하는 방법이

    최적 서브필드를 결정하는데 적합하다고 할 수 있다.

  • 3.제안하는 의사윤곽 저감 방법

    55

    표 3.7. 10 서브필드 전수 비교 결과

    순위 서브필드 오차

    1 [77 1 4 12 33 33 12 4 2 77] 155

    1 [1 75 4 12 35 35 12 4 75 2] 155

    3 [1 83 4 11 28 28 11 4 83 2] 157

    4 [81 1 4 12 29 29 12 4 2 81] 158

    5 [81 1 4 14 26 26 14 6 2 81] 159

    표 3.8. 10 서브필드 유전 알고리즘 결과

    순위 서브필드 오차

    1 [77 1 4 12 33 33 12 4 2 77] 155

    1 [1 75 4 12 35 35 12 4 75 2] 155

    3 [81 1 4 12 29 29 12 4 2 81] 158

    4 [85 1 4 12 25 25 12 4 2 85] 167

    5 [85 1 4 10 27 27 10 4 2 85] 184

    3.4.2. 평가 함수 검증 실험

    유전 알고리즘에서 사용되는 평가 함수에 대한 검증 실험을 수행하였다. 먼

    저 의사윤곽 평가 함수에 대한 문턱값을 결정하고 의사윤곽 평가함수에 대한

    검증 실험을 실시하였다. 두번째 실험은 체크패턴 평가 함수에 대한 문턱값을

    결정하고 체크패턴 평가 함수에 대한 검증 실험을 실시하였다. 세번째 실험은

    의사윤곽과 체크패턴을 결합한 최종 평가함수에 대한 검증 실험을 실시하였다.

    각 실험 내용은 다음에서 자세히 설명한다.

  • 3.제안하는 의사윤곽 저감 방법

    56

    3.4.2.1. 의사윤곽 평가함수 문턱값 결정 및 검증 실험

    유전 알고리즘에서 사용되는 평가 함수 중 의사윤곽 평가함수의 문턱값 결

    정 및 의사윤곽 평가함수에 대한 검증 실험 내용은 다음과 같다.

    3.4.2.1.1. 의사윤곽 평가함수 문턱값 결정 실험

    의사윤곽 평가함수를 적용하였을 경우 의사윤곽량 0 이상인 모든 영역이

    의사윤곽을 나타내는 것은 아니다. 즉, 의사윤곽량은 계산되었지만 실제 PDP에

    디스플레이 하였을 경우 인간 시각이 의사윤곽을 인식하지 못하는 부분이 존재

    한다. 따라서 인식되지 않는 의사윤곽량 이하를 제외하기 위해 문턱값을 적용

    한다. 문턱값을 결정하기 위해 표 3.9와 같은 두개의 서브필드 패턴을 사용하여

    실험하였다. 실험에 사용된 영상은 768x300 gray 램프 영상과 320x470 egg 일반

    영상이다.

    표 3.9. 실험에 사용된 서브필드 패턴

    Subfield Number 서브필드 패턴

    SF1 [ 64 28 24 8 2 1 4 8 24 28 64 ]

    SF2 [ 84 26 12 3 2 1 2 3 12 26 84 ]

  • 3.제안하는 의사윤곽 저감 방법

    57

    3.4.2.1.1.1. 램프 영상에 대한 실험

    표 3.9의 서브필드 SF1으로 768x300 램프영상을 듀얼 모드 시뮬레이션한

    후 그림 3.5의 의사윤곽 평가함수 과정에 따라 의사윤곽량을 계산한다. 램프 영

    상 가로 한 라인의 의사윤곽량을 그래프로 나타내면 그림 3.12와 같다. 그림

    3.13은 서브필드 SF2를 사용하였으며 그림 3.12와 동일한 방법으로 의사윤곽량

    을 그래프로 나타내었다. 서브필드 패턴 SF1과 SF2를 각각 PDP에 적용하고 그

    림 3.14 (a)와 같은 gray 램프 동영상을 디스플레이 하였다. PDP에 램프 동영상을

    디스플레이 하면 서브필드 SF1의 경우 그림 3.12에서 A ,B ,C, D 부분만이 의사

    윤곽으로 보인다. 또한 서브필드 SF2의 경우 그림 3.13에서 E, F, G 부분이 의사

    윤곽으로 보인다. 서브필드 SF1에서 나타나는 의사윤곽이 서브필드 SF2에서 나

    타나는 의사윤곽보다 덜 눈에 거슬렸고 부드럽게 나타났다. 그림 3.14 (b), (c), (d),

    (e)는 그림 3.14 (a) 램프 원 영상을 서브필드 SF1으로 시뮬레이션하고 의사윤곽

    량의 문턱값 변화에 따라 의사윤곽으로 간주되는 영역을 나타낸 영상들이다. 그

    림 3.15는 램프 원 영상을 서브필드 SF2으로 시뮬레이션하고 의사윤곽량의 문

    턱값 변화에 따라 의사윤곽으로 간주되는 영역을 나타낸 영상들이다.

    실제 PDP에 램프 영상을 디스플레이 하였을 때 인식되는 의사윤곽 영역은

    그림 3.14와 그림 3.15에서 문턱값 6일 경우와 일치한다. 따라서 의사윤곽 문턱

    값은 6으로 결정되었다.

  • 3.제안하는 의사윤곽 저감 방법

    58

    그림 3.12. 서브필드 SF1일 경우 램프 영상의 의사윤곽 그래프

    그림 3.13. 서브필드 SF2일 경우 램프 영상의 의사윤곽 그래프

  • 3.제안하는 의사윤곽 저감 방법

    59

    (a) 램프 원영상

    (b) 의사윤곽량 0 이상 영역 (문턱값 0) (c) 의사윤곽량 2 이상 영역 (문턱값 2)

    (d) 의사윤곽량 4 이상 영역 (문턱값 4) (e) 의사윤곽량 6 이상 영역 (문턱값 6)

    그림 3.14. 서브필드 SF1

    문턱값 변화에 따른 의사윤곽 부분을 나타낸 영상

  • 3.제안하는 의사윤곽 저감 방법

    60

    (a) 의사윤곽량 0 이상 영역 (문턱값 0) (b) 의사윤곽량 2 이상 영역 (문턱값 2)

    (c) 의사윤곽량 4 이상 영역 (문턱값 4) (d) 의사윤곽량 6 이상 영역 (문턱값 6)

    그림 3.15. 서브필드 SF2

    문턱값 변화에 따른 의사윤곽 부분을 나타낸 영상

  • 3.제안하는 의사윤곽 저감 방법

    61

    3.4.2.1.1.2. 일반 영상에 대한 실험

    램프 영상 실험에서 결정된 의사윤곽량 문턱값 6이 일반 영상에서도 적용

    가능한지 알아 보기 위한 실험이다. 일반 영상은 그림 3.16 (a)와 같은 320x470

    egg영상을 선택하였다. 그림 3.16 (a)의 원영상을 표 3.9에서의 서브필드 SF1과

    SF2에 각각 적용하여 시뮬레이션 한 후 의사윤곽 영역을 검출하였다. 그림 3.16

    (b), (c), (d), (e)는 의사윤곽량에 문턱값 0, 2, 4, 6을 적용하여 의사윤곽 영역만을

    나타낸 영상이다. 그림 3.16 (b), (c)와 같이 문턱값 0과 2를 적용시 의사윤곽 영

    역이 많이 검출되었다. 실제 PDP에 디스플레이 하였을 경우는 그림 3.16 (e)와

    가장 일치한다. 그림 3.17은 서브필드 SF2으로 시뮬레이션 된 영상의 문턱값 변

    화에 따른 의사윤곽 영역을 나타낸 영상들이다. 그림 3.17 (a), (b), (c), (d)는 문턱

    값 0, 2, 4, 6을 적용하였을 경우 의사윤곽 영역으로 검출된 영상이다. 서브필드

    SF2일 경우 역시 문턱값 6일 경우가 실제 PDP에 디스플레이 한 결과와 가장

    일치하였다. 따라서 램프 영상 실험과 일반 영상 실험 결과 의사윤곽량 문턱값

    은 6으로 결정되었다.

  • 3.제안하는 의사윤곽 저감 방법

    62

    (a) 일반 영상 원영상

    7

    (b) 의사윤곽량 0 이상 영역 (문턱값 0) (c) 의사윤곽량 2 이상 영역 (문턱값 2)

    (d) 의사윤곽량 4 이상 영역 (문턱값 4) (e) 의사윤곽량 6 이상 영역 (문턱값 6)

    그림 3.16. SF1의 경우 문턱값 변화에 따른 의사윤곽 영역을 나타낸 영상

  • 3.제안하는 의사윤곽 저감 방법

    63

    (a) 의사윤곽량 0 이상 영역 (문턱값 0) (b) 의사윤곽량 2 이상 영역 (문턱값 2)

    (c) 의사윤곽량 4 이상 영역 (문턱값 4) (d) 의사윤곽량 6 이상 영역 (문턱값 6)

    그림 3.17. SF2의 경우 문턱값 변화에 따른 의사윤곽 영역을 나타낸 영상

    3.4.2.1.2. 의사윤곽 평가함수 검증 실험

    유전 알고리즘에 적용되는 의사윤곽 평가 함수가 시각 평가 결과와 일치하

    는지 알아보기 위해 실험을 실시한다. 여기서 적용되는 의사윤곽 평가 함수는

    그림 3.5에 제시되었다. 실험 1은 training sample 영상에 대해 시각 평가를 거친

    후 의사윤곽 평가함수에 의한 순위와 시각 평가 결과 순위가 일치하는지 알아