Technical Report/Graphics Tech Reports

[번역]동적 변경을 가능하게 하는 Cyllista Game Engine의 오픈 월드를 위한 프로시저 배경 제작 도구 및 그리기 기능

illu_yun 2022. 7. 4. 22:21
반응형

원문 링크 : https://speakerdeck.com/cygames/dainamitukunabian-geng-woke-neng-nisurucyllista-game-enginefalseopunwarudoxiang-kepurosiziyarubei-jing-zhi-zuo-turutomiao-hua-ji-neng

warning : 본문 통째로 자기 블로그(특히 네이버) 올려놓고 광고 붙이는 짓좀 작작하기 바람... 안쪽팔리냐... 니들은 이거 퍼가서 광고붙여서 먹고산다해도 번역하고 정리하는데 서너시간씩 걸리는 사람입장에선 자기꺼처럼 버젓이 올려둔거 보면 짜증나요.. 니들때매 내가 요새 기술관련 블로그 포스팅 하기가 싫어진다..

동적 변경을 가능하게 하는 Cyllista Game Engine의 오픈 월드를 위한 프로시저 배경 제작 도구 및 그리기 기능

본 발표 내용
• Cyllista Game Engine 기능 소개
- 오픈 월드를 지원하는 게임 엔진 사례로
   • 터레인 관련 도구 및 그리기 기능
   • 폴리지 관련 도구 및 그리기 기능
• Agenda
1. Cyllista Game Engine
2. 오픈 월드 게임 제작의 요구
3. 터레인 시스템
4. 폴리지 시스템

Cyllista Game Engine
• Cygames 내에서 개발한 게임 엔진
– PC, 하이엔드 콘솔용으로 개발 중
– Project Awakening에서 사용
• 엔진 목표
– 제작자가 최대의 퍼포먼스를 발휘할 수 있다
– 하드웨어가 최대 성능을 발휘할 수 있음
• 과거 CEDEC 강연
– Cygames에서 차세대 하이엔드 콘솔용 게임 엔진 개발 [TAG17]
– Python의 대규모 게임 개발 환경 [OKI20]

오픈 월드 게임 제작의 요구
• 제작 효율
– 광대한 수준을 커버하는 터레인의 효율적인 편집
   • 최근에는 제목에 따라 4km ~ 32km의 크기
– 한 번에 대량의 폴리지 배치
   • 레벨의 대부분 지역에서 식물이 필요
– 고속 반복
   • 레벨 작성 시행 착오
   • 실시간 반영
– 비파괴 워크플로우
   • 변경 사항을 요소별로 되돌릴 수 있습니다.
   • 한 요소의 업데이트가 다른 요소의 자동 업데이트를 촉구합니다.

• 그리기 효율
– 광대한 지형을 효율적으로 그리기
   • 근경/원경 모두
– 대량의 폴리지를 효율적으로 그리기
   • 근경/원경 모두
• 게임 중 빠른 동적 업데이트
– 인게임에서 터레인 모양 변경
– 인게임에서 폴리지 배치 및 상태 변경

터레인 시스템
1. 데이터 구성
2. 기본 편집 도구
3. 터레인 레이어
4. 절차 칠 페인트
5. 터레인 그리기

섹터 분할
• 편집 및 스트리밍 단위
– 섹터마다 지형 등의 정보를 유지
   • 하이트맵
   • 머티리얼 ID 맵
   • 폴리지 밀도 맵 등
– 스트리밍
   • 카메라 중심
   • 11x11 범위

다른 사용자가 편집 중 / 자신이 편집 중

섹터 선택 도구
• 섹터를 선택하여 편집 시작
– 편집용 메모리 확보
– 편집 상태 표시 표시
• 다른 사용자의 편집 상태 보기
– 사용자 간의 충돌 방지
• 기타 다양한 기능
– 자주 편집하는 부문의 북마크
– D&D로 카메라 이동
– 3D 뷰에서 그리드 전환
– LOD 정보의 쿡을 트리거(후술)

하이트맵 / 하이트맵을 이용한 터레인 드로잉

하이트맵
• 해상도 257x257 (0.5m / pixel)
• 포맷
– Asset : 32bit EXR
– 런타임: R16_UNORM

머티리얼 드로잉 결과 / 머티리얼 ID 맵 / 머티리얼 배열

데이터 구성: 매터리얼 ID 맵
• 머티리얼 ID 저장
• 셰이더에서 ID에서 머티리얼 배열 참조
• 해상도 257x257 (0.5m / pixel)
• 8bit 압축되지 않음 (0 – 255)

데이터 구성: 기타
• 에코토프 맵
– 가장 거친 수준의 머티리얼 분포
– 예) 삼림지대, 사막지대, 습지대, 설산
– 해상도 129x129 ( 1.0m / pixel )
– 8bit 압축되지 않음 ( 0 – 255 )
• 색 얼룩맵
–  매터리얼에 따로 채색이 되어있지 않아도 불균일한 색을 만들기 위해 사용
– 해상도 132x132 ( 약 1.0m / pixel )
– BC1 형식

Quadtree / Large Sector

터레인 LOD
• Terrain Quadtree [MOOR18][WEMA17][WID12]
– 터레인 LOD용
   • Quadtree 상위 노드는 다양한 맵의 저해상도 버전을 유지합니다.
– 2km 단위의 대형 섹터 내에서 Quadtree 화
– 섹터 선택 도구 또는 나이트리 작업으로 생성

터레인 LOD
• Quadtree는 5단계
– 섹터 (LOD0: 128m)
   • 근경용
   • 기본 편집 단위
– 중간 (LOD1, 2, 3: 256m, 512m, 1km)
   • 중경용
   • 쿡시 생성(Generated cook time)[각주:1]
– 대형 섹터(LOD4: 2km)
   • 최원경용
   • 쿡시 생성
   • 상주

2. 기본 편집 도구

 

편집섹터 선택 / ToolBox, sculpt, material Paint, folige 배치 / 편집 리얼타임 반영

지형 편집 도구

하이트맵 편집
• 스컬프트 기능
– 올리거나 내리다
– 평탄화
– 스무딩
– 그레이스케일 맵에 의한 임의 형상의 브러시

스컬프트의 실시간 반영
• 편집하는 동안 컬리젼 업데이트
   - 터레인, 폴리지 모두
• 지면 위의 폴리지 배치에도 즉시 반영

PassTool[각주:2]
• 길, 강을 당기는 도구
• 높이, 터레인 머티리얼 가공
• 데칼 배치

메쉬 스탬프(Mesh Stamp)
• 모든 메쉬 모양을 터레인으로 전사(transfer any mesh shape to the terrain)
• 산악 규모에서 작은 단차 규모까지 사용(Use from mountain scales to small step scales)
• 다양한 모양의 스탬프 메쉬 준비

 

3. Terrain Layer

터레인 레이어
• 터레인의 모든 범위(사각형)를 레이어링
- 산악 등의 광범위한 복사 붙여넣기(Copy and paste from a wide range such as mountains)
– 머티리얼까지 포함한 이동, 복제
– 임의의 수를 스택 가능
– 마스크에 따라 블렌딩

터레인 레이어 / 메쉬 스탬프 / 패스툴 / ① 입력 하이트맵 생성, 에셋을 직접 import해 사용, 하이트맵으로 변환, 경로를 메쉬화하여 하이트맵으로 변환 / ② 베이스 하이트맵과 합성, 베이스 하이트맵 << 섹터, 입력 텍스처 + 트랜스폼 + 마스크 텍스처, 런타임 하이트맵. 필요하다면 베이크 / ③&nbsp;point cloud 배치와 그리기. 필요에 따라 폴리지 point cloud 재생성 / 최종 결과

다양한 맵의 런타임 합성[ footnote]점군이 point colud로 번역된다. 이부분은 확인이 필요할듯[/footnote]

 

4. Procedural paint

잔디 머티리얼 칠하기 / 절벽 머티리얼 칠하기 / 광대한 맵을 모두 수동으로 칠해?

머티리얼 ID 맵 편집
• 브러시 툴로로 꾸준히 페인트?
   - 수동 페인트만으로 물량적을 소화하기 어려움
• 지형이 변경되면 다시 시도[각주:3]
➡ 터레인의 형상 등에 따라 자동으로 페인트

분포
• 분포 : 형태를 파라메터화
– 지면 기울기, 높이, 볼록한 요철, etc...
– 2D 그레이스케일 맵
– Compute Shader로 구현

규칙 및 규칙 세트(Rule and Rule set)
• 규칙
– 분포 + 머티리얼
• 규칙 세트
– 규칙 모음
규칙 세트를 기반으로 자동 페인트

자동 페인트 결과

규칙 세트
규칙 조합으로 복잡한 결과를 얻을 수 있습니다.

룰 세트 A / 룰 세트 B

• 에코토프별로 규칙 세트 정의
   – 에코토프 맵은 수동 페인트
• 페인트되지 않은 부분만 업데이트
   – 수동 페인트 부분과 확정된 위치 제외
   – 다시 페인트하고 싶은 영역은 브러시 등으로 클리어

터레인 편집 흐름

Work flow use Tool
① 큰 프레임의 지형 작성 Heightmap importer
Mesh stamp
Terrain layer
② 에코토프 작성 Paint Tool
Outline of material allocation
Procedural paint
Creating details of the terrain Sculpt tool
Paint tool
Mesh stamp
Pass Tool
⑤구획의 이동 Terrain Layer

 

5. 터레인 그리기

 

Terrain Quadtree 그리기
• Terrain Quadtree 그리기
   – Quadtree 각 단계에 해당하는 크기의 메쉬 그리기
   – 로드 상태와 거리에 따라 LOD 레벨 결정
   – frustum culling 및 그리기

①레벨 N의 노드가 대상 / ②로드 상황 체크. 모든 자식 노드가 로드됨. 하위 노드가 부분적으로 로드됨. 자식 노드가 로드되지 않음 / ③컬링 판정. 레벨 N 전체를 컬링. 4분할하고 자식이 로드되어 있는 부분을 컬링. 분할하지 않고 그대로 표시 / ④N-1을 동일하게 처리

• 표시할 노드 레벨 결정
   – 자식의 로드 상태에 따라 자신의 컬링 상태를 결정
   – 자식 노드에 대해 재귀적으로 결정
   – 소형 섹터(LOD=0)는 더 이상 분할되지 않음

머티리얼 블렌딩
• 상하 방향의 투영만으로는 경사면의 텍스처가 늘어난다
   – 기울기가 가파를수록 눈에 띄는
   – 개선하려면 횡방향 투영도 필요

• Triplanar Mapping [GOL17]
– 신장[각주:4] 방지를 위해 XYZ축의 3방향에서 투영(Projection)
– 각 축의 각도와 표면의 노멀 각도를 weight값에 따라 블렌딩

• 블렌딩 처리의 처리 부하가 높습니다.
– Albedo + NRO = 2 텍스처
   • NRO = Normal/Roughness/Occlusion으로 패킹된 텍스처
– 4개의 각 버텍스의 리니어 보간 = 4 블렌드
   • 버텍스당 1매터리얼
– Triplanar Mapping = 3 블렌드
   • 절벽 등의 텍스처 신장(늘어남) 방지
- 근경과 원경에서 타일링 수가 다르다 = 2 블렌드
   • 반복 감을 줄이기 위해 원경은 UV 타일링 수를 줄입니다.
➡ 픽셀당 합계 2 * 4 * 3 * 2 = 48 샘플

• Triplanar Mapping
   – 신장 방지를 위해 XYZ축의 3방향에서 투영
   – 각 축의 각도와 서페이스 노멀의 각도를 가중치로 혼합
• Biplanar Mapping [QUI20]
   - 3축 중 가중치가 높은 2축을 채용하여 혼합
   – 블렌드 수를 3→2로 줄이기
   – Triplanar Mapping과 손색없는 결과

• Stochastic Sampling [MOOR18][WYMC17]
   – 1픽셀당 최대 4개의 머티리얼 블렌드
     ➡ 가중치에 따라 확률적으로 1 머티리얼 선택
   – Biplanar Mapping
     ➡ 가중치에 따라 확률적으로 투영 방향을 선택

• Biplanar + Stochastic + α
   – 근경(30m까지)
     • Biplanar Mapping
        – 2*4*2*2 = 32개 샘플
     • XYZ 중 하나에 수직에 가까운 면은 축 방향에서만 매핑
   – 2*4*1*2 = 16개 샘플
     • 동일한 머티리얼 감소
   – 2*n*1*2 = 4*n 샘플 » n은 1-4입니다.
   – 원경
     • 확률적으로 하나의 머티리얼 선택
     • 확률적으로 하나의 투영 방향 선택 (Uniplanar)
     • 2*1*1*2=4 샘플

폴리지 시스템(foliage system)

1. Procedural foliage 배치
2. Point cloud generation and culling
3. Vertex adsorption(흡착)
4. Foliage layer 종속성
5. Distant view foliage(원경 폴리지)
6. 다른 시스템에 대한 정보제공

 

1. Procedural foliage 배치

 

폴리지 배치: 요구사항
• 광대한 세계에 효율적으로 폴리지를 배치하고 싶습니다.
• 대부분의 지역에서 자동 배치하고 싶습니다.
• 만들고 싶은 영역을 수동으로 배치하고 싶습니다.
• 터레인 편집을 폴리지 배치에 반영하고 싶습니다.
• 게임 플레이 중 동적 변경을 가능하게하고 싶습니다.

절차적 폴리지 배치
• 특징
   – GPU로 배치
   – 게임 실행 시 실시간 배치
   – 규칙으로 자동 배치
• 배치를 위한 데이터
   – 폴리지 맵: 밀도, 에코토프[각주:5]
   – 지형지도: 높이, 일반, 재질
   – 모델 : 식물과 돌 등 모든 모델
   – 배치 규칙 및 매개변수
• 폴리지 레이어
   – 모델 및 배치 파라메터 세트
• 폴리지 프리셋
   – 폴리지 레이어 모음

배치 맵
• 밀도 맵
   – 폴리지 점군의 배치 밀도 유지
   – 페인트 도구로 수동 편집
   – 프로시저 페인트에도 대응
   – 4장 사용 가능
• 에코토프 맵
   – 거친 풍경의 종류와 범위를 표현
     • 숲, 사막, 설산, etc.
• 서브 에코 토프 맵
   – 에코토프 내의 변형 표현
• 머티리얼 ID 맵
   – 터레인 머티리얼 ID 유지

배치 파라메터
• 배치 파라미터
   – 배치 간격
   – 랜덤 스케일 및 회전 범위
   – 배치할 터레인의 고도 및 경사 범위
   – 밀도 맵 인덱스
   – 배치되는 터레인 재질
   – 배치되는 서브 에코토프
              ...etc

밀도 맵의 노이즈 페인트
• 다양한 파라미터를 지정하여 페인트
   – 크기
   – 반복 수
   – 게인
   – 왜곡
     ... etc.
• 여러 노이즈를 합성하여 생성

[각주:6]">
격자마다 포인트 배치 / 거리 필드화 / 디스토션 적용 / 2치화[각주:7]

밀도 맵의 노이즈 페인트
• 셀 노이즈(보로노이)
   – 그리드 셀에 무작위로 포인트를 무작위로 배치
   – 각 텍셀에서 포인트에 대한 거리 필드 만들기
   – UV에 디스토션 적용
   – 임계값을 지정하여 이진화

터레인 레이어와 밀도 맵
• 터레인 레이어에 밀도 맵도 유지
– 폴리지도 정리해 카피 페이스트·이동이 가능
– 소규모~대규모 범위까지 유용

 

2. Point cloud generation and culling

 

 

점군 패턴
• 밀도 맵을 점군으로 변환
   – 무작위가 아닌 Deterministic(결정론적[각주:8] 배치
   – 밀도에 관계없이 편향되지 않은 균일한 분포
• 배치 패턴
   – 사전 생성된 고정 배치 패턴
   – 각 점이 2D 좌표와 밀도 임계값(0~1)을 유지
   - 밀도 값이 임계 값을 초과하는 지점을 남겨 둡니다.
   – 섹터에 타일링
   – 배치 간격으로 패턴 스케일

뷰프러스텀, 섹터, 점군생성 / 점군 생성 단계, 그리기 단계 /&nbsp; 섹터 컬링 >> 점군 생성 및 정렬(sorting) >> 점군 컬링 >> 그리기

점 그룹 생성
1. 뷰프러스텀 내에 존재하는 섹터 식별
2. 점군을 생성하여 정렬
  
• 가시성이 변경된 섹터만 다시 생성
3. 점 단위로 컬링하여 그리기

점군 정렬
• 점군 생성은 GPU에서 병렬로 실행되므로 결과가 순차적입니다.
   – 폴리지 레이어별로 정렬 필요
      • 컬링과 그리기가 폴리지 레이어 단위이기 때문에
   – 경우에 따라 섹터별 정렬도 필요합니다.
     • 섹터 단위로 리드백해야 하는 레이어(콜리전이 있는 점군)
     • 섹터 단위로 다른 맵에 래스터화 그리기 레이어(부시 맵)
• 정렬 키(Sort key)
   1. 폴리지 레이어 인덱스(0~255, 256종의 폴리지)
   2. 활성 섹터 인덱스(0~120, 11*11 로드된 섹터)
      • 두 개의 키를 하나로 통합하여 정렬
• GPU Radix Sort [HAHO11]
   – 정렬할 값의 범위가 제한된 경우 실용적

 

3. Vertex adsorption(흡착)

정점 흡착
• 지면 근처의 정점을 지면까지 오프셋
   – 정점 셰이더에서 하이트맵 참조
• 콜리전은 지원되지 않음
   – 콜리전이 있는 메쉬는 어긋남이 눈에 띄지 않는 범위에서 이용
   – 큰 나무의 뿌리는 하이트맵 측의 콜리전 변형을 검토 중

 

4. Foliage layer 종속성

필터전 / 필터후

폴리지 레이어 종속성
• 예) 높은 나무 주위 10m 이내만 관목을 심고 싶다
– 레이어간에 종속성이 있음
– 의존하는 측(높은 나무)의 점군을 Dependency Map에 래스터화
– 의존하는 쪽의 레이어(관목)는 Dependency Map을 참조

 

5. Distant view foliage(원경 폴리지)

원경 폴리지
• 액티브 섹터 범위를 벗어난 폴리지 배치 데이터 없음
   – 필요한 맵이 로드되지 않음 → 점 구름을 배치할 수 없음
• 레지던트 맵
   – 모든 섹터 분할 맵을 한 장으로 병합
   – 해상도는 섹터 단위 맵의 1/4
   – 스트리밍 없음, 메모리에 상주
   – Jenkins에서 매일 자동 생성

폴리지 임포스터
• 엔진내 도구로 임포스터 텍스처 생성
   – 알베도, 노멀, 러프니스, 오클루전, 투과색, 두께
• Octahedral Impostors [BRU18]
   – 상반구의 다양한 각도에서 캡처
   – 캡처시 카메라 방향을 팔면체 전개한 UV에 대응
   – 그릴 때는 시선 벡터에서 같은 계산을 하여 UV를 결정

 

6. 다른 시스템에 대한 정보제공

 

다른 시스템에 대한 정보 제공
• 점군의 좌표는 게임 실행 시까지 불명
• 그리기 이외의 기능에 배치 정보 제공
   – 예) 물리, 사운드, 게임 플레이
   – 점군의 데이터는 비디오 메모리에 존재
       • 메인 메모리로 전송 (리드백) 필요

정보 제공: 콜리전
• 배치 데이터를 물리적 시스템에 제공
• 콜리전이 있는 폴리지 레이어는 섹터 로드 시 항상 점군 배치 및 리드백
• 채집 아이템의 배치도 유사한 구조로 실현

정보 제공: 부시맵
• 캐릭터가 부시에 있는지 알고 싶습니다.
• 부시 속성이 있는 점 구름을 부시 맵에 래스터화
• 높이 필드의 충돌 데이터에 포함

정보 제공: 점군 쿼리
• 지정한 원 안에 있는 폴리지 배치점을 취득
• 사운드와 게임 플레이로 활용
• 쿼리 결과 점수는 소량
   – 리드백(readback) 데이터의 양을 줄이기 위해

Blue : 입력 / Green 출력 / Yellow : 입출력

기능과 데이터의 관계 다이어그램

편집 도구 대상 맵 이용 시스템  
Heightmap importer      
Mesh stamp Heightmap Collision system Sound system
Manual painting tool Material ID map    
Procedural paint Eco-tope map Terrain drawing system Gameplay system
Sculpt tool Color unevenness map    
Pass tool Density map Foliage placement system 배치점군
Terrain layer Sub eco-tope   Dependency map

요약
• 터레인 시스템
   – 광범위하고 고효율로 편집할 수 있는 도구를 정비
   터레인 레이어 등으로 비파괴 워크플로우 추진
   – 머티리얼 블렌딩이나 Quadtree에 의한 LOD 등의 최적화
• 폴리지 시스템
   절차 배치에 의해 고효율이고 자연스럽게 보이는 식생 분포를 실현
   – 최적화된 실시간 배치로 제작 시 게임중 양쪽에서 변경을 즉시 반영

Cyllista Game Engine이 내거는 지침에 따른 기능 개발
• 하드웨어가 최대 성능을 발휘할 수 있음
   – 오픈 월드 전제 설계
   – 지속적인 최적화
   – 게임의 요구를 충족하면서 처리 부하를 가능한 한 감소
• 개발자가 최대 성능을 발휘할 수 있음
   베이크 및 사전 데이터 준비를 최대한 줄이고 런타임 실행
   기능의 편의성, 실행 속도 및 유지 보수를위한 단순성을 신중하게 균형
   – 우리 팀에게 최적의 기능 개발

최고의 엔진으로 최고의 게임

References
[TAG17] 多胡 順司. Cygamesにおける次世代ハイエンドコンソール向けゲームエンジンの開発 ~最高のコンテンツを支えるゲームエンジン~. CEDEC2017
https://tech.cygames.co.jp/archives/3043/
[OKI20] 沖 幸太朗. Python による大規模ゲーム開発環境 ~Cyllista Game Engine 開発事例~. CEDEC2020
https://tech.cygames.co.jp/archives/3442/
[MOOR18] Jeremy Moore. Terrain Rendering in ’Far Cry 5’. GDC2018
https://www.gdcvault.com/play/1025480/Terrain-Rendering-in-Far-Cry
[WEMA17] Guillaume Werle, Benoit Martinez. ‘Ghost Recon Wildlands’: Terrain Tools and Technology. GDC2017
https://www.gdcvault.com/play/1024029/-Ghost-Recon-Wildlands-Terrain
[WID12] Mattias Widmark. Terrain in Battlefield 3: A Modern, Complete and Scalable System. GDC2021
https://www.gdcvault.com/play/1015676/Terrain-in-Battlefield-3-A
[GOL17] Ben Golus. Normal Mapping for a Triplanar Shader.
https://bgolus.medium.com/normal-mapping-for-a-triplanar-shader-10bf39dca05a
[QUI20] Inigo Quilez. Biplanar Mapping.
https://iquilezles.org/www/articles/biplanar/biplanar.htm
[WYMC17] Chris Wyman, Morgan McGuire. Hashed Alpha Testing. I3D2017
https://casual-effects.com/research/Wyman2017Hashed/index.html
[HOOK21] JT Hooker. Boots on the Ground: The Terrain of 'Call of Duty’. GDC2021
https://www.gdcvault.com/play/1027463/Advanced-Graphics-Summit-Boots-on
[WOH21] Eric Wohllaib. Procedural Grass in 'Ghost of Tsushima. GDC2021
https://www.gdcvault.com/play/1027214/Advanced-Graphics-Summit-Procedural-Grass
[MUI17] GPU-based Procedural Placement in Horizon Zero Dawn. GDC2017
https://www.guerrilla-games.com/read/gpu-based-procedural-placement-in-horizon-zero-dawn
[HAHO11] Takahiro Harada, Lee Howes. Introduction to GPU Radix Sort.
http://www.heterogeneouscompute.org/wordpress/wp-content/uploads/2011/06/RadixSort.pdf
[BRU18] Ryan Brucks. Octahedral Impostors.
https://shaderbits.com/blog/octahedral-impostors

  1. Packaging process를 이야기 하는 것 같음 [본문으로]
  2. 원문 번역은 파스퇴르라고 나오는데 pass tool이 맞는듯... 터레인의 길이나 강같은 라인 베이스의 영역을 베지어 커브로 제어하는 툴로 보인다 [본문으로]
  3. 수정이슈 [본문으로]
  4. 노멀 방향이 달라짐에 따라 텍스쳐가 늘어나는 현상 [본문으로]
  5. 도시 생태계를 구성하는 최소의 공간 단위를 나타낸 도면. 경관을 이루는 기본 단위로 경관 생태적 동질성을 보여 준다. [본문으로]
  6. binarization : 흑백 또는 색채 화상 등 다치(多値)의 화상으로부터 2치(1, 0)의 화상을 얻기 위한 처리. 임계값 처리가 쓰인다. 얻어지는 화상은 2치 화상이라 부르며, 1, 0을 각각 흑백에 대응시켜 취급한다. 2치화는 화상 가운데서 대상물을 꺼내기 위한 수단으로 쓰이며, 일단 2치 화상이 얻어지면 여러 가지 기하학적 취급이 가능하게 된다. [본문으로]
  7. binarization : 흑백 또는 색채 화상 등 다치(多値)의 화상으로부터 2치(1, 0)의 화상을 얻기 위한 처리. 임계값 처리가 쓰인다. 얻어지는 화상은 2치 화상이라 부르며, 1, 0을 각각 흑백에 대응시켜 취급한다. 2치화는 화상 가운데서 대상물을 꺼내기 위한 수단으로 쓰이며, 일단 2치 화상이 얻어지면 여러 가지 기하학적 취급이 가능하게 된다. [본문으로]
  8. 주어진 조건들을 만족하는 유일 해가 존재한다는 가정하에서의 문제 접근 방법. 이에 대응되는 용어는 통계적(statistic) 혹은 확률론적(probabilistic)이다.
    예를 들어, 음파검층 자료로부터 합성탄성파기록을 만든후 탄성파 트레이스와의 상호상관으로부터 파형요소를 추출하여 디콘볼루션이나 역필터를 설계할 경우는 결정론적이며, 파형요소와 반사계수 함수에 대한 몇 가지 가정을 하여 탄성파 트레이스의 자기상관 함수로부터 파형요소를 추출할 경우는 확률론적이다.) [본문으로]
반응형