PowerPoint 프레젠테이션
Download
Report
Transcript PowerPoint 프레젠테이션
12장 미디어 서브셋팅과 확장
12.1 미디어 불투명도와 투명도 관리
12.2 소스 미디어 부분적 크로핑
12.3 미디어 공간 자르기
12.4 미디어 시간 자르기
12.5 미디어 마커를 사용한 미디어 자르기
12.6 프래그먼트 식별자를 사용한 미디어 서브셋팅
12.7 미디어 객체와 미디어 플레이어의 초기화
12,8 요약 및 결론
미디어 서브셋팅과 확장
1
12.1 미디어 불투명도와 투명도 관리
SMIL에서 미디어 불투명도 제어를 지원하기 위한 3가지 방법
unstructured single-color substitution: 소스 미디어에서 하나의 미디어 칼
라를 정의하고 불투명도 계수로 그 칼라의 모든 발생을 수정한다. SMIL은
이 방법을 위해 chroma key opacity를 사용한다.
structured single-color substitution: 미디어 자체가 배경색으로 정의되어
진 칼라를 취하고 어떤 불투명도 계수로 그것을 수정한다. SMIL은 이 방법
을 위해 background media opacity를 사용한다.
whole-image merging: 소스 미디어에서 모든 칼라를 취하고 그것들을 불
투명도 계수로 균일하게 수정한다. SMIL은 이 방법을 위해 media opacity를
사용한다.
미디어 불투명도 제어를 위한 속성들
속성: chromaKey
이미지 또는 비디오에서 chroma key 칼라로 작용하는 하나의 칼라를 정의한다.
비디오 콘텐츠가 렌더링될 때, chroma key로 정의된 칼라는
chromaKeyOpacity 속성에 의해 정의된 불투명도 정도를 반영하여 새로운 칼라
로 대체된다.
미디어 서브셋팅과 확장
2
12.1 미디어 투명도와 투명도 관리
속성: chromaKeyOpacity
이 속성은 chroma key 칼라의 투명도 정도가 지정되는 것을 허용한다.
chromaKeyOpacity 속성은 다음 값을 수용한다.
•
•
실수: 0.0(완전히 투명)-1.0(완전히 불투명)
백분율 값: 0%(완전히 투명)-100%(완전히 불투명)
속성: chromaKeyTolerance
이 속성은 허용치가 chroma key 칼라의 명세를 위해 정의되어지는 것을 허용한
다. 이것은 손실 압축 미디어 아이템이 처리될 때 특히 유용하다.
chromaKeyTolerance 속성은 24-bit hex number를 수용한다.
허용 범위를 계산하기 위하여 chroma key로부터 지정된 값이 더 해지고 빼진다.
속성: mediaOpacity
이 속성은 전체 미디어 객체의 투명도 정도를 정의한다. 그것은 모든 칼라에 균
일하게 적용한다.
mediaOpacity 속성은 다음 값들을 수용한다.
•
•
실수: 0.0-1.0
백분율 값: 0%-100%
속성: mediaBackgroundOpacity
이 속성은 어떤 미디어 아이템에 분명하게 정의된 배경색의 투명도 정도를 허용
한다. mediaBackgroungOpacity 속성은 mediaOpacity 속성이 하는 것과 같은
불투명도 값을 수용한다.
미디어 서브셋팅과 확장
3
12.1 미디어 투명도와 투명도 관리
미디어 불투명도 처리의 예
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="Language">
<head>
<layout>
<root-layout height="240" width="320"/>
<region xml:id="img-anchor" height="240px" width="320px"
left="0px" top="0px" z-index="2" backgroundOpacity="0%" />
<region id="img-soccer" height="240px" width="320px"
left="0px" top="0px" z-index="0" />
</layout>
</head>
<body>
<par dur="10s">
<img src="caster.jpg" chromaKey="green"
chomaKeyOpacity="0%" chromaKeyTolerance="#000500" region="img-soccer"/>
<img src="soccer.jpg" region="img-soccer"
mediaOpacity="60%" />
</par>
</body>
</smil>
미디어 서브셋팅과 확장
4
12.1 미디어 투명도와 투명도 관리
미디어 서브셋팅과 확장
5
12.2 소스 미디어 부분적 크로핑
소스 미디어 객체의 공간적 크로핑는 panZoom 속성으로 SMIL 3.0에 소
개되었다.
소스 미디어 크로핑과 Pan/Zoom 지원
SMIL은 시각적인 미디어 객체가 어떤 레이아웃 지역에서 스케일되고, 리사
이즈되고 그리고 포지션되는 것을 허용한다.
SMIL 3.0은 panZoom 속성으로 이 기능을 확장한다.
panZoom 속성은 미디어 객체가 인출되기 전에 편집되어 진 것처럼 그것이
더 처리되기 전에 SMIL 사용자 에이전트에 의해 조작되는 것을 허용한다.
panZoom 속성은 이미지의 부분을 식별하기 위하여 좌표를 사용한다.
미디어 Pan/Zoom의 속성
속성: panZoom
panZoom 속성은 어떤 이미지 또는 비디오 객체의 시각적 부분집합이 정의되는
것을 허용한다.
미디어 서브셋팅과 확장
6
12.2 소스 미디어 부분적 크로핑
panZoom 속성은 아래에 정의된 4개의 콤마로 분리된 값들의 스트링을 수용한다.
• left: 미디어 공간에서 크롭 박스의 왼쪽 가장자리를 정의한다.
• top: 미디어 공간에서 크롭 박스의 꼭대기 가장자리를 정의한다.
• width: 미디어 공간에서 크롭 박스의 너비(폭)을 정의한다.
• height: 미디어 공간에서 크롭 박스의 높이를 정의한다.
panZoom 속성의 디폴트 행위는소스 미디어 객체와 정확하게 같은 “0,
0, 100%, 100%”인 크롭 박스이다.
원래 이미지 보다 작은 크롭 박스를 명세하여 줌-인 효과를 생성할 수
있다. 반면에 원래 이미지 보다 더 큰 크롭 박스로 줌-아웃 효과를 생성
할 수 있다.
미디어 서브셋팅과 확장
7
12.2 소스 미디어 부분적 크로핑
panZoom 크롭의 결과와 SMIL 레이아웃에 의한 처리
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="Language">
<head>
<layout>
<root-layout height="350" width="500"/>
</layout>
</head>
<body>
<seq>
<img xml:id="F1" dur="5s" src="store.jpg" fit="meet"
mediaAlign="center" />
<img xml:id="F2" dur="5s" src="store.jpg"
panZoom="155,160,90,75" fit="hidden" />
<img xml:id="F2" dur="5s" src="store.jpg"
panZoom="155,160,90,75" fit="hidden" mediaAlign="center" />
<img xml:id="F2" dur="5s" src="store.jpg"
panZoom="155,160,90,75" fit="fill" mediaAlign="center" />
</seq>
</body>
</smil>
미디어 서브셋팅과 확장
8
12.2 소스 미디어 부분적 크로핑
미디어 서브셋팅과 확장
9
12.2 소스 미디어 부분적 크로핑
움직이는 panZoom 값들
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="Language">
<head>
<layout>
<root-layout height="550" width="800"/>
</layout>
</head>
<body>
<par>
<img xml:id="F1" dur="25s" src="chunji2.jpg" mediaAlign="center"
panZoom="0,0,800,550" >
<animate begin="3" dur="3" attributeName="panZoom"
fill="freeze" values="0,0,100%,100%;360,340,40%,40%"/>
<animate begin="9" dur="3" attributeName="panZoom"
fill="freeze" values="360,340,40%,40%;20,185,70%,20%"/>
<animate begin="15" dur="3"
attributeName="panZoom" fill="freeze" values="20,185,70%,20%;30,10,60%,35%"/>
</img>
</par>
</body>
</smil>
미디어 서브셋팅과 확장
10
12.2 소스 미디어 부분적 크로핑
미디어 서브셋팅과 확장
11
12.3 미디어 공간 자르기
미디어 공간 자르기
SMIL 2.0 Language 프로파일에서 레이아웃을 위해 미디어 객체를
공간적으로 자르는 것은 <region> 요소의 fit 속성을 사용하면 된다.
링크가 활성화되는 지역을 한정시키기 위해 공간을 자르기 하려면
<area> 요소의 coords와 shape 속성을 사용하면 된다.
링킹을 위한 공간 자르기의 이해
• SMIL은 링크 앵커의 활성화 지역을 정의하기 위해 <a>, <area>,
<anchor> 요소를 제공한다.
• <a> 요소는 링크 앵커를 가진 미디어 객체의 평면 전체를 앵커 활성화
지역으로 사용한다.
• <area>와 <anchor> 요소는 미디어 객체의 평면 일부분만 앵커 활성화
지역이 될 수 있도록 해준다. 뿐만 아니라 앵커의 활성화 기간을 앵커의
지속기간 중 일부로 한정시키는 것도 가능하다.
미디어 서브셋팅과 확장
12
12.3 미디어 공간 자르기
shape와 coords 속성을 사용한 앵커 정의
1 <smil ...>
...
2 <head>
3 <layout>
4 <root-layout height="300" width="400" />
5
<region id="image" height="300" width="400"
fit="fill"/>
...
6 </layout>
7 </head>
8 <body>
...
9 <img src="pic2.jpg" region="image" dur="10s" >
10
<area id="sky" shape="rect" coords="0, 0,
399, 140" />
...
11 </img>
...
12 </smil>
미디어 서브셋팅과 확장
13
12.3 미디어 공간 자르기
공간 자르기를 위한 요소
요소: <area>
• <area> 요소는 거의가 미디어 객체의 자식으로서 앵커의 활성화 지역
을 정의하는 데 사용된다.
• <area> 요소의 자르기와 관련된 속성의 구조
미디어 서브셋팅과 확장
14
12.3 미디어 공간 자르기
공간 자르기를 위한 속성
속성: shape
• shape 속성은 활성화 지역의 모양을 결정짓는 것으로 다음 4가지 중 한
가지 값을 가질 수 있다.
- rect: 디폴트값이며 직사각형 모양의 앵커를 정의한다.
- circle: 활성화 지역의 모양을 원으로 정의한다.
- poly: 활성화 지역을 (폐쇄된) 다각형으로 정의한다.
- default: 렌더링 영역 전체를 활성화 지역으로 사용한다.
속성: coords
• coords 속성은 디스플레이 좌표에서 활성화 지역의 평면을 정의하는 값
들을 포함하고 있다.
• shape 속성의 값
- shape="rect"인 경우: 네 개의 값 중 앞의 두 값은 앵커의 위쪽 왼쪽
모서리의 정보로서 각각 지역의 맨 왼쪽과 맨 위로부터의 오프셋이
며, 그 뒤의 두 값은 앵커의 아래쪽 오른쪽 모서리의 정보로서 각각
지역의 왼쪽과 맨 위로부터의 오프셋이다.
미디어 서브셋팅과 확장
15
12.3 미디어 공간 자르기
- shape="circle"인 경우: 세 개의 값 중 앞의 두 값은 원의 중점에 대한 오프셋
을, 세 번째 값은 반지름의 길이를 나타낸다.
- shape="poly"인 경우: 나열된 좌표 값 두 개가 하나의 지점을 명시한다. 각
좌표 쌍은 폐쇄된 다각형에 포함된 각 지점에 대한 맨 왼쪽과 맨 위로부터의
오프셋을 나타낸다.
- shape="default"인 경우: 값 목록이 무시된다. 그러나 애니메이션을 통해 이
shape 속성의 값이 변경되면 이 coords의 값을 사용하게 된다.
공간 자르기 예
미디어 서브셋팅과 확장
16
12.3 미디어 공간 자르기
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN"
"http://www.w3.org/2001/SMIL20/WD/SMIL20.dtd">
3 <smil xmlns="http://www.w3.org/2000/SMIL20/CR/Language"
xmlns:rn="http://features.real.com/2001/SMIL20/Extensions">
4 <head>
5 <layout>
6 <root-layout height="300" width="400" />
7 <region id="image" height="300" width="400" fit="fill"/>
8 </layout>
9 </head>
10 <body>
11 <seq>
12 <par id="main">
13 <img src="pic2.jpg" region="image" dur="30s" >
14
<area href="#S1" shape="rect" coords="0, 0, 399, 140" />
15
<area href="#S2" shape="rect" coords="135, 150, 399, 299" />
16
<area href="#S3" shape="poly"
coords="0,160, 80,170, 130,250, 70,299, 0,299, 0,200" />
17 </img>
18 </par>
19 <par id="S1">
미디어 서브셋팅과 확장
17
12.3 미디어 공간 자르기
20
21
22
23
<img src="pic2.jpg" region="image" dur="30s" >
<area href="#S1" shape="rect" coords="0, 0, 399, 140" />
<area href="#S2" shape="rect" coords="135, 150, 399, 299" />
<area href="#S3" shape="poly"
coords="0,160, 80,170, 130,250, 70,299, 0,299, 0,200" />
24 </img>
25 <audio src="mail.wav" />
26 </par>
27 <par id="S2">
28 <img src="pic2.jpg" region="image" dur="30s">
... 21~23번 줄과 동일
29 </img>
30 <audio src="mail2.wav" />
31 </par>
32 <par id="S3">
33 <img src="pic2.jpg" region="image" dur="30s" >
... 21~23번 줄과 동일
34 </img>
35 <audio src="hello.wav" />
36 </par>
37 </seq>
38 </body>
39 </smil>
미디어 서브셋팅과 확장
18
12.4 미디어 시간 자르기
미디어 시간 자르기의 이해
비디오는 특정 기간 동안 처리되는 일련의 샘플들이라 할 수 있다.
미디어의 일부만으로 구성된 클립을 정의할 때 그 범위를 미디어 객
체의 전체 지속 기간의 일부 기간으로 명시할 수 있다. 즉 클립을 미
디어 객체의 전체 지속 기간에 대해 tbegin부터 tend까지의 기간에 해당
하는 샘플들로 명시할 수 있다.
타임스탬프 기반 미디어 클립 구조
미디어 서브셋팅과 확장
19
12.4 미디어 시간 자르기
시간 자르기 속성: clipBegin과 clipEnd
clipBegin 속성은 미디어 클립의 시작 부분이 될 곳을 명시하기 위한
것으로 미디어 객체의 시작으로부터 얼마 뒤의 시간인지를 나타내는
오프셋 값을 갖는다. 디폴트 값은 미디어 객체의 시작에 해당하는 0
이다.
clipBegin은 인자로 미디어 측정기준 명시자(metric specifier)와 시
간 값으로 구성된 타임스탬프 값을 취한다.
clipBegin은 인자로 미디어 측정기준 명시자(metric specifier)와 시
간 값으로 구성된 타임스탬프 값을 취한다.
• npt: clipBegin=“npt=10s": “=” 뒤에 있는 시간 값이 정상적인 재생시간
에 대한 측정 기준 임을 나타낸다.
• smpte: clipBegin=“smpte=01:10:20:20.92": NTSC 표준에 근거하여 특
정 프레임을 선택하도록 하는 비디오 기반 타임코드 명시자다. smpte 시
간 값은 “시간:분:프레임.하위프레임”으로 명시한다. 하위프레임부분은
현 프레임의 시간 값을 0~99 범위로 표시한다.
• smpte-25: clipBegin=“smpte-25=01:10:20:20.92": smpte와 비슷하지
만 PAL 표준에 근거한 것으로 초당 프레임 수가 25일 때 사용된다.
미디어 서브셋팅과 확장
20
12.4 미디어 시간 자르기
시간 자르기 예
1 ...
2 <par begin="A4.activateEvent">
3
<img src="media/Bae1.jpg" fill="freeze"
region="content3"/>
4
<video src="media/dance.mpg"
region="content1"
clipBegin="30s"
clipEnd="80s"/>
5 </par>
6 ...
미디어 서브셋팅과 확장
21
12.5 미디어 마커를 사용한 미디어 자르기
미디어 클립 마커의 이해
미디어 객체의 시간에 대한 절대적 값을 사용하는 것이 아니라 논리
적 마커를 사용하는 방법이 있다.
dialogClip이란 일반 클립 파일에 비디오의 원하는 코너의 시작 지점
과 끝 지점을 가리키는 두 개의 마커가 있다.
마커에 기반 한 미디어 클립
미디어 서브셋팅과 확장
22
12.5 미디어 마커를 사용한 미디어 자르기
미디어 마커를 위한 속성 확장
• 미디어 마커를 위해 clipBegin/clipEnd 속성 값을 확장하여 명시하는 구
문
clipBegin="marker=dialogClip#dialogBegin"
• “marker=” 뒤에 dialogClip란 마커 파일의 URI을 그리고 이 마커 파일
에서 마커가 명시된 위치 즉 프래그먼트 식별자를 “#” 뒤에 명시한다.
미디어 서브셋팅과 확장
23
12.6 프래그먼트 식별자를 사용한 미디어 서브셋팅
프래그먼트 식별자란 해당 문서 안의 특정 지점에 대한 이름
으로 사용된다. 즉 프래그먼트 식별자는 파일의 일부분 즉
프래그먼트의 위치를 나타내는 데 사용된다. 프래그먼트 식
별자는 URI 뒤에 “#” 문자를 표시한 후에 명시한다.
웹 상에서 가장 광범위하게 사용되는 프래그먼트 식별자는
다른 여러 구성요소를 갖는 구조가 아닌 이름 하나만 있는
꾸미지 않은(naked) 식별자이다.
프래그먼트를 소스 객체로서 참조 예
<text id="t1" src="http://www.sample.org/smil.html#extending" ... />
미디어 서브셋팅과 확장
24
12.7 미디어객체를 위한 초기화 속성
<param> 요소를 제공하며 미디어 렌더러를 초기화하기 위해
erase, mediaRepeat, sensitivity란 세 가지 속성을 정의한다.
미디어 초기화를 위한 <param> 요소
<param> 요소의 구조
미디어 서브셋팅과 확장
25
12.7 미디어객체를 위한 초기화 속성
미디어 초기화를 위한 <param> 요소의 속성
속성: name, value
• name 속성은 초기화할 매개변수가 무엇인지를 지정한다.
• value 속성은 미디어 렌더러로 보낼 인자를 지정한다.
속성: valuetype
• valuetype 속성은 value 속성에서 명시한 값이 어떤 형의 값인지를 명시
한다.
- data: valuetype 속성의 디폴트 값이며 value 속성에서 명시한 값을 렌더러
에게 전달할 때 문자열로 전달한다.
- ref: value 속성 값이 URI로 해석해야 할 문자열임을 명시한다.
- object: value 속성에서 명시한 값이 같은 소스 문서 안에 있는 미디어 객체
의 이름에 대한 문자열임을 명시한다.
- type: value 속성이 지정한 것이 참조할 미디어의 형임을 유저 에이전트에
게 알려준다.
미디어 서브셋팅과 확장
26
12.7 미디어객체를 위한 초기화 속성
미디어 랜더러 초기화를 위한 속성
속성: mediaRepeat
• mediaRepeat 속성은 미디어 객체 안에 있는 반복 행위를 그대로 지킬
것인지 아닌지를 미디어 렌더러에게 알려주기 위한 것으로 다음 값을 가
질 수 있다.
- strip: 미디어 객체 내부의 반복 행위를 무시할 것을 명시한다. 즉 미디어 객
체를 절대로 반복하지 않는다.
- preserve: 디폴트 값이며 미디어 객체 내부의 반복 행위를 그대로 따를 것을
명시한다.
속성: erase
• 미디어 객체의 타이밍 문맥이 종료된 후에도 렌더링을 그대로 계속 유지
할 것인지 아닌지를 명시하는 것으로 다음 값을 가질 수 있다.
- whenDone: 디폴트 값이며 SMIL 타이밍과 fill과 같은 렌더링 속성을 적용한
후 미디어 객체를 제거한다.
- never: 종료된 후에도 미디어 객체를 화면에 그대로 둔다. 그러나 동일 지역
에 새로운 미디어 객체가 렌더링 된다면 현재의 미디어 객체는 제거된다.
미디어 서브셋팅과 확장
27
12.7 미디어객체를 위한 초기화 속성
속성: sensitivity
• sensitivity 속성은 미디어 객체가 이벤트를 받아들이는 민감도를 설정할
수 있게 해준다. 이 속성은 다음 값을 가질 수 있다.
- opaque: 디폴트이며 객체에 지정된 영역 전체가 이벤트에 반응한다.
- transparent: 마치 객체가 투명한 것처럼 이벤트에 전혀 반응하지 않는다.
- 백분율 값: 미디어 객체의 알파 채널 값을 위해 정의된 불투명도와 이 속성에
서 명시한 음수가 아닌 CSS 백분율 값을 비교하여 알파 채널에 정의된 불투
명도 값이 더 작다면 객체는 transparent를 명시한 것처럼 취급된다.
미디어 서브셋팅과 확장
28
12.7 미디어객체를 위한 초기화 속성
미디어 랜더러 초기화 예
erase 속성을 사용한 미디어 렌더러 초기화 예
미디어 서브셋팅과 확장
29
12.7 미디어객체를 위한 초기화 속성
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE smil PUBLIC "-//W3C//DTD SMIL 2.0//EN"
"http://www.w3.org/2001/SMIL20/WD/SMIL20.dtd">
3 <smil xmlns="http://www.w3.org/2000/SMIL20/CR/Language"
xmlns:rn="http://features.real.com/2001/SMIL20/Extensions">
4 <head>
5 <layout>
6 <root-layout height="300" width="400" backgroundColor="gray" />
7 <region id="image" height="300" width="400" fit="fill"
backgroundColor="#D5C2EE" />
8 </layout>
9 </head>
10 <body>
11 <par>
12 <img src="pic2.jpg" region="image" fill="freeze" erase="never"/>
13 <audio src="hello.wav" />
14 </par>
15 </body>
16 </smil>
미디어 서브셋팅과 확장
30
12.8 요약 및 결론
SMIL은 미디어 아이템의 활성화 지역 또는 시간적 기간을
제어하기 위한 많은 기능들을 제공한다.
공간 자르기는 <area> 요소의 coords 속성을 통하여 제공
된다. 시간 자르기는 clipBegin과 clipEnd 속성에 의해 제공
된다.
객체내의 프래그먼트는 간단하거나 복잡한 프래그먼트 식별
구문에 의해 식별될 수 있다.
미디어 렌더링의 초기화와 제어는 <param> 요소와 다양한
미디어 제어 속성들을 사용하여 수행될 수 있다.
미디어 서브셋팅과 확장
31