천객만래 [千客萬來] (It has an interminable succession of visitors)

[html/javascript] form 태그 항목 리스트 전체 선택하기


2003.11.25



<html>
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="Yes">
<script language='JavaScript'>

function reverse() {
           var i, chked=0;
           if(confirm('목록을 반전하시겠습니까?\n\n반전을 원하지 않는다면 취소를 누르시면 다음으로 넘어갑니다'))
           {
            for(i=0;i<document.list.length;i++)
            {
                     if(document.list[i].type=='checkbox')
                     {
                              if(document.list[i].checked) { document.list[i].checked=false; }
                              else { document.list[i].checked=true; }
                     }
            }
           }
}

</script>

<body>
<form name=list ....>

<input type=checkbox name=cart value='111'>111<BR>
<input type=checkbox name=cart value='222'>222
</body></html>

Posted by SB패밀리

[Javascript/html] Select 태크로 목록 선택하기


2003.11.25


ComboBox에서 Item선택시 이벤트 처리 (Select 태그)


<script language='JavaScript'>

<ComboBox에서 Item선택시 이벤트 처리

        function category_change() {
                  var myindex=list.category.selectedIndex;

                document.list.category.value=list.category.options[myindex].value;
                document.list.submit();
                return true;
        }


        
</script>


<select name=category onchange=category_change(this)>
        <option value=''>Category</option>
        <option value=1>일반</option>
        <option value=2>데이타베이스</option>
        <option value=3>그래픽스</option>
        <option value=4>네트웍/통신</option>
        <option value=5>레포팅</option>
        <option value=6>멀티미디어</option>
        <option value=7>액티브 X</option>
        <option value=8>어브젝트 파스칼</option>
        <option value=9>윈도우즈 API</option>
        <option value=10>인터넷</option>
        <option value=11>컴파일러/디버거</option>
        <option value=12>IDE</option>
        <option value=13>VCL/팩키지</option>
        <option value=14>시스템</option>
</select>

Posted by SB패밀리

[용어] 유비쿼터스(Ubiquitous)


2003.11.20 


유비쿼터스(Ubiquitous)

라틴어로 ‘어디에나 있는’이란 뜻. ‘유비쿼터스 컴퓨팅’이란 개념은 제록스 팔로 알토 연구소의 마크 와이저 박사가 1988년 처음 만들어냈다. 그는 집에는 수백개의 컴퓨터가 숨어있고, 이들이 케이블과 무선 네트워크로 연결될 것이라고 예언했다.

Posted by SB패밀리

[CppBuilder] ClassName 비교하여 작업하기 ClassName(), ClassNameIs()


2003.11.05



델파이로 비유하자면 Is 구문과 같다.

Typecase 는 As 구문과 같다.


    for (int i=0; i<ComponentCount; i++)
    {
        if ( String(Components[i]->ClassName()) == "TPanel")
            ((TPanel*)Components[i])->Color = nbAttrib->Color;
    }


다른 예 ClassNameIs() 함수를 사용한다.  

for (int i = 0; i < DataModule2->ComponentCount; i++)
  {
    if (DataModule2->Components[i]->ClassNameIs("TDataSource"))
      ListBox1->Items->AddObject(DataModule2->Components[i]->Name,
        (TObject *)DataModule2->Components[i]);
  }


Posted by SB패밀리

[HTML] HTML 페이지 Unload할 때 페이지 띄우기


2003.10.20


body 태그의 onunload 이벤트를 주목하자.

<html>
<head></head>
<script language="JavaScript">
function popup() {
window.open('http://mau.eg.to', 'popup', s='top=0,left=0,width='+(screen.availWidth-10)+',height='+(screen.availHeight-70)+',toolbar=yes,status=0,scrollbars=yes,resizable=0');
}
</script>

<body bgcolor="#ffffff" text="#000000" onunload="popup()">

<SCRIPT language=JavaScript>
function popup() {
window.open('http://mau.eg.to', 'popup', s='top=0,left=0,width='+(screen.availWidth-10)+',height='+(screen.availHeight-70)+',toolbar=yes,status=0,scrollbars=yes,resizable=0');
}
</SCRIPT></BODY></html>

Posted by SB패밀리

[HTML/JAVASCRIPT] HTML 오픈할 때 전체화면 만들기

2003.10.17


+0900

<html>
  <head>
  <meta http-equiv="Content-type" content="text/html; charset=euc-kr">
      <title></title>
<SCRIPT LANGUAGE="JavaScript"> 
function fullscreen() { 
var fullscreen = window.open("http://sobakcc.com","icdk","인천델파이코리아"); 

</script> 
  </head>
<BODY onload="fullscreen();"> 
  <div></div>
  </BODY>




Posted by SB패밀리

[컴퓨터] 소리로 진단하는 컴퓨터 에러



[펌] 소리로 진단하는 컴퓨터 에러 |  2003/12/17 13:56  


갑자기 먹통이 된 컴퓨터를 며칠동안 고생하며 수리하려다 포기하고 A/S 센터에 들고 갔더니, 도사께서는 전원을 켜면서 소리만 듣고 램을 바꿔 꽂더니 수리가 끝났다고 한다.(이런 황당한 경우가?)" 

이런 황당한(?) 일이 가능한 이유는 POST 기능 덕택입니다. 
POST(Power-On Self Test)란, PC 에 전원을 넣었을 때 CPU, 키보드, 그래픽카드, 메모리, 주변IC 등의 정상작동 상태를 파악하는 작업을 말하며, 이 과정에서 문제가 발견되지 않으면 정상적인 부팅과정으로 넘어가고 문제가 있으면 '삑' 소리(Beep음)와 함께 셋업(setup)을 위해 시스템 기능이 잠시 정지합니다. 이 때는 다시 셋업을 해야 합니다. 에러 내역은 각각의 상황에 따라 비프음의 횟수와 길이로 구별할 수 있는데 보통 부팅 중에 비프음을 내는 에러는 치명적인 문제일 때가 많습니다. 
아래 표를 참고하여 부팅중에 발생되는 문제의 원인을 찾고 그에 맞는 조치를 취하면 의외로 쉽게 문제를 해결할 수 있을겁니다.

부팅자체가 되지 않는 상황이라면 당황하기보다는 먼저 침착하게 시스템에 장착된 CPU, 메모리, 각 카드들이 제대로 꽂혀 있는지 확인하는 것이 좋습니다. 제대로 고정했더라도 다른부품을 건드리는 과정에서 같이 접촉되어 이탈되거나 이동할 때의 충격 등으로 살짝 빠져 있을 수 있기 때문이죠. 특히 슬롯1 CPU나 AGP 그래픽카드는 슬롯의 접촉부분이 2단으로 되어 있어 조금만 어긋나도 문제를 일으킬 가능성이 큽니다. 

메인보드에서 아예 소리가 나지 않는다면 메인 보드의 테스트가 필요하나 이것 또한 대부분의 경우 COMS 클리어로 해결이 됩니다. 
간혹 CPU 어댑터(라이저카드)를 사용할 경우에 문제가 발생될 수 있는데 접촉불량이 아니라면 라이저 카드 자체를 교체해서 테스트 해보는 수밖에 없겠죠.
 

1. 소리횟수
2. 에러내역
3. 상태
4. 해결법

짧게 1번
  -
정상부팅



길게 1번(반복)
패리티 이상
메모리의 리프레시 사이클과정에서 발생된 에러
메모리를 다시 꽂아 본다. 그래도 해결되지 않으면 메모리 교체

2번
패리티 이상
시스템의 기본메모리(처음64KB)에서 패리티 에러발생

3번
64KB기본 메모리 이상
시스템의 기본메모리에서 메모리 이상 발견

4번
타이머 비동작
기본 메모리에서 에러가 발견되었거나 시스템의 첫 번째 타이머가 작동하지 않는다
메인보드 불량 ->메인보드 교체

5번
프로세서 에러
CPU에서 에러 발견

6번
8042-게이트 A20이상 
키보드 컨트롤러(8042)는 CPU를 가상모드에서 작동시키기 위해서 게이트 A20이라는 스위치를 가지고 있다. 이 에러는 게이트 A20이 정상적으로 작동하지 않는 즉 CPU를 보호모드에서 동작시킬 수 없음을 의미한다
키보드 컨트롤러 칩을 다시 꽂는다. 해결되지 않으면 키보드 컨트롤러칩을 교체하고 그래도 해결되지 않으면 키보드의 퓨즈 또는 키보드 자체를 바꿔본다. 

7번
프로세서 익셉션 인터럽트 에러(Exoeption Interrupt Error)
시스템의 프로세서가 익셉션인터럽터를 발생시켰다
메인보드 불량 ->메인보드 교체

8번 
디스플레이 메모리 기록,판독 에러
그래픽카드를 찾을 수 없거나 그래픽카드 메모리 이상
그래픽카드의 메모리를 교체할 수 없거나 교체 해도 같은 에러가 발생 한다면 그래픽카드 자체를  

바꾼다. 

9번
롬 체크섬 에러
롬의 체크섬 값이 바이오스에 기록된 것과 다르다
바이오스 롬 칩의 불량이므로 새로운 바이오스롬 칩을 써야한다

10번
CMOS 셧다운
레지스터 기록, 판독에러  .  CMOS 셧다운 레지스터 이상
메인보드 불량 -> 메인보드 교체

2번 (늘어난 음향)
바이오스 손실
바이오스가 지워졌다
바이오스 업데이트나 바이오스 복구

사이렌음
CPU 과열
CPU가 과열로 위험한 상태
쿨러 장착이나 교체 또는 CPU교체



Posted by SB패밀리

마이크로소프트사의 저작권 관련 정보 제공 

2003.12.18


http://www.microsoft.com/korea/permission/


마이크로소프트사의 저작권 관련 정보 제공

http://www.microsoft.com/korea/permission/


Posted by SB패밀리

[CPP빌더] 2차원 배열 변수 메모리 할당/해제


2003.10.30



다차원 배열 변수에 메모리를 할당하고 해제하는 방법으로 2차원 배열 변수를 통하여 배워보자.

// 변수 선언
   long double **data;
// 메모리 할당

   try {                                 // TEST FOR EXCEPTIONS.
      data = new long double*[m];        // STEP 1: SET UP THE ROWS.
      for (int j = 0; j < m; j++)

          data[j] = new long double[n];  // STEP 2: SET UP THE COLUMNS
      }
  // 예외 상황
   catch (std::bad_alloc) {  // ENTER THIS BLOCK ONLY IF bad_alloc IS THROWN.
      // YOU COULD REQUEST OTHER ACTIONS BEFORE TERMINATING
      cout << "Could not allocate. Bye ...";
      exit(-1);
      }
  // 2차원 배열 변수 사용
   for (int i = 0; i < m; i++)
      for (int j = 0; j < n; j++)
          data[i][j] = i + j;            // ARBITRARY INITIALIZATION

  // 2차원 배열 변수 메모리 해제
   for (int i = 0; i < m;  i++)
       delete[] data[i];                 // STEP 1: DELETE THE COLUMNS

   delete[] data;                        // STEP 2: DELETE THE ROWS

Posted by SB패밀리

[델파이] 폼 디자인할 때 콤포넌트에 Mouse 이벤트 받게 하기.. 


2003.11.01


콤포넌트를 만들 때 디자인 타임에 Mouse 클릭에 반응해서 뭔가
바뀌게 하고 싶을 때가 있는데
예를 들면 TPageControl 에서 Tab 을 클릭하면 
Page 가 바뀌는 경우가 있는데 이런건.. 

CM_DESIGNHITTEST 메시지를 받아서 Result 값으로 0 이상의 값을 돌려주면
된다고 합니다.

콤포넌트 정의에

protected
procedure CMDesignHitTest(var msg: TMessage); message CM_DESIGHHITTEST;

를 추가하고..

procedure TMyCmp.CMDesignHitTest(var msg: TMessage);
begin
  Result := 1;
end;

저렇게 해주면 콤포넌트 디자인 타임에도 Mouse 이벤트를 처리할 수 있습니다.



Posted by SB패밀리

[delphi/web] how to detect when a Document is comp...



2004.01.12


An other example:

This example shows how to detect when a document is completely 
loaded, even if it includes multiple frames. Only the final 
OnDocumentComplete event passes the same Dispatch interface as the 
OnNavigateComplete event handler.

var
  CurDispatch: IDispatch; {save the interface globally }

procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject; const 
pDisp: IDispatch; var URL: OleVariant);

begin
  if CurDispatch = nil then
    CurDispatch := pDisp; { save for comparison }
end;
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const 
pDisp: IDispatch; var URL: OleVariant);
begin
  if (pDisp = CurDispatch) then
  begin
    Beep; {the document is loaded, not just a frame }
    CurDispatch := nil; {clear the global variable }
  end;
end;

cu Andries

Posted by SB패밀리

[기사] 마크애니-HIT, 중앙대 콘텐츠유통플랫폼 구축


2003.05.08


http://www.dt.co.kr/dt_srcview.html?gisaid=2003050602011060699001


[기사] 마크애니-HIT, 중앙대 콘텐츠유통플랫폼 구축

마크애니(www.markany.com 최종욱)는 5일 현대정보기술과 컨소시엄을 구성해 중앙대학교의 `DCRC(Digital Contents Resources Center)' 프로젝트를 수주, 이달부터 본격적인 구축작업에 들어간다고 밝혔다.
중앙대학교는 기술 및 가격심사를 거쳐 현대정보기술-마크애니 컨소시엄을 사업자로 선정했으며, 오는 7월말까지 이미지 콘텐츠의 유통 비즈니스 모델 구현을 위한 디지털 콘텐츠 유통 인프라를 구축한다는 방침이다.

저작권 보호 및 불법 유통방지를 위해 디지털저작권관리(DRM) 기술과 워터마킹 기술이 적용되는 이 프로젝트는 현재 충무로 인쇄업에서 이용하고 있는 이미지 콘텐츠 등 국내에서 산업화에 필요한 이미지 콘텐츠를 전자상거래 유통 플랫폼에서 거래를 할 수 있도록 기반을 조성하는 것이다.

한민옥기자

한민옥 (mohan@dt.co.kr) 



Posted by SB패밀리

[기사] 민원서류 온라인발급사업 착수


2003.05.08


http://www.dt.co.kr/dt_srcview.html?gisaid=2003050202010860624002


민원서류 온라인발급사업 착수 
[디지탈타임스] 2003년 05월 02일 (금) 03:00 

주민등록 및 호적등ㆍ초본 등 18종의 민원서류를 집이나 사무실에서 인터넷을 통해 직접 발급받을 수 있는 `민원서류 온라인 발급사업`이 5월부터 착수된다.
행정자치부(www.mogaha.go.kr 장관 김두관)는 5월 중순 온라인 민원발급시스템과 열람확인시스템 구축사업을 발주하고 8월말 구축을 완료할 계획이라고 1일 밝혔다. 

이 사업은 주민등록ㆍ토지대장ㆍ사업자등록증명ㆍ호적등본 등 기존에 인터넷 열람ㆍ신청 및 우편발급만이 가능했던 18종의 민원서류에 대한 신청과 발급을 온라인화해 시범서비스한 뒤 내년 3월부터 집이나 사무실에서 필요한 공문서를 발급받을 수 있게 하기 위한 것이다.

이번에 구축되는 발급시스템은 민원인이 인터넷으로 민원을 신청하면, 신청된 내용이 민원처리기관의 해당 데이터베이스(DB)에 연결돼 자동으로 민원서류를 발급하게 된다. 이 시스템은 토지(임야)대장등본 교부, 개별공시지가 확인, 사업자등록증명 등 개인정보 보호의 필요성이 적고 이용률이 높은 3종의 민원에 우선 적용한 후 내년 3월부터 18종의 민원으로 확대된다.

열람확인시스템은 민원서류수령자가 출력번호로 민원혁신시스템(G4C)에 접속해 원본과 대조ㆍ확인할 수 있도록 지원한다. 특히 이 시스템은 발급문서의 위ㆍ변조 가능성을 최소화하기 위해 워터마크(Watermark)기술을 도입한다.

워터마크는 기관장의 이미지관인 등 문서의 주요정보를 암호화해 삽입함으로써 추후 스캔과 확인프로그램으로 위ㆍ변조 여부를 확인하거나 복사시 워터마킹된 부분이 깨지도록 해 복사를 방지하는 기법이다.

남상훈기자

남상훈 (nsh21@dt.co.kr)


Posted by SB패밀리

[기사] 디지털 방송시대를 위한 워터마크

2003.04.29




http://www.etimesi.com/news/detail.html?id=200304180051&sr=yes&banner_class= 


2010년 완전 디지털방송 시대를 앞두고 디지털 콘텐츠 저작권 보호와 관련된 기술 개발과 표준화 작업이 활발하다. 지상·위성·케이블 등 다양한 종류의 미디어를 통해 전달되는 디지털 콘텐츠는 저장과 복사, 배포가 쉬워 항상 지적재산권 분쟁에 휘말릴 소지를 안고 있다. 불과 2, 3년 전 냅스터나 소리바다와 관련된 법적 분쟁이 일어났을 때만 해도 디지털 저작권은 다소 생소한 개념이었지만 디지털방송이 본격 확산될 향후 수년은 매우 중요한 시기가 될 것으로 전문가들은 판단한다. 이 때문에 지상파 방송 3사는 물론 저작권 보호기술 전문업체까지 생겨나 관련 기술개발에 적극 나서고 있다. 

 그중 대표적 기술인 워터마크는 중세교회에서 암호문을 보낼 때 사용했던 투명한 그림 혹은 글씨란 뜻에서 유래했다. 이 때문에 현대의 디지털 워터마킹은 문서·오디오·이미지 등 각종 디지털 콘텐츠에 저작권 인증 내용을 담은 데이터를 육안으로 식별할 수 없도록 삽입·추출하는 기술을 의미한다. 

   콘텐츠 유통 과정에서 지적재산권 분쟁이 발생할 경우 콘텐츠 안에 삽입된 워터마크만 추출하면 소유권 확인이 쉬워진다. 

 디지털방송에서 워터마킹 시스템은 삽입과 검출 두 부문으로 구성된다. TV프로그램은 위성이나 지상파를 통해 시청자에게 전달되는데 이 과정에서 소유자·제작날짜·허가정보 등 저작권 정보를 담은 워터마크를 삽입하면 방송사들은 언제든지 해당 콘텐츠의 전달과정을 감시할 수 있게 된다. 

 워터마크 삽입 방법은 비디오·이미지는 물론 텍스트·오디오에 이르기까지 콘텐츠 종류에 따라 다양한 방식을 취한다. 

 대표적인 삽입 방법인 이미지 워터마킹은 시각적 영향을 적게 미치는 화소를 조작하는 공간영역 변환 방식과 고속푸리에변환(FFT)·이산코사인변환(DCT)·웨이블릿변환 등을 이용한 주파수 영역 변환방식이 있다. 비디오 워터마킹도 이미지 워터마크 삽입 방식과 같은 공간영역과 주파수 변환 두 가지로 나뉜다. 

 이같은 워터마킹 기술은 콘텐츠 불법 재사용을 막는 용도로 쓰이는 한편 콘텐츠에 관한 부가적인 정보를 담는 메타데이터 삽입 기술로 응용이 가능해 콘텐츠 제작·교환·검색·전송 등 다방면에 활용할 수 있다. 방송제작 환경에서 워터마크의 또 다른 활용 사례는 오디오·비디오 신호 동기화다. 디지털방송 제작환경에 따라 오디오와 비디오 신호처리속도 차이에 따른 동기화 문제가 크게 불거지면서 비디오에 오디오 동기신호를 워터마크로 삽입하는 시스템이 개발되기도 했다. 

 하지만 여전히 남은 문제가 있다. 디지털 워터마킹에서 반드시 요구되는 비가시성, 견고성, 원영상 사용 여부, 충분한 워터마크 정보량, 검출 속도, 다중성, 비밀성 등을 완벽히 보장할 기술이 아직까지 개발되지 못한 상태. 

 디지털방송에 활용될 기술은 이밖에도 DRM(Digital Rights Management), MPEG21, 방송수신제한장치(CAS) 등 다양한 기술들이 있으며 현재 기술개발과 함께 표준화 작업이 한창 진행중이다. 

 <박근태기자 runrun@etnews.co.kr>  

○ 신문게재일자 : 2003/04/19
○ 입력시간 : 2003/04/18 14:52:52




Posted by SB패밀리

[기사] 디지털정보기기 '워터마킹' 속속 채택

2003.04.16



http://www.etimesi.com/news/detail.html?id=200304150118


디지털 정보기기에 저작권을 보호할 수 있는 워터마킹 기술채용 바람이 거세게 불고 있다. 
 15일 관련업계에 따르면 필립스, 소니, 올림퍼스 등 세계적인 AV영상업체들은 물론 삼성테크윈, 심스라인 등 국내 업체들도 디지트리얼, 마크텍 등 워터마킹 전문업체와의 전략적 제휴를 적극 모색하고 있다. 
 이에 따라 그동안 디지털비디오리코더(DVR) 등 몇몇 한정된 제품에만 채택돼 왔던 워터마킹 기술이 이르면 오는 6월부터 디지털녹음기, 디지털카메라 등으로 확산될 전망이다. 
 워터마킹 기술이란 저작권 정보를 사람의 눈이나 귀를 통해 쉽게 감지하기 어려울 정도로 디지털이미지, 오디오 및 비디오신호에 삽입하는 기술로 디지털기기에 저장된 데이터의 위변조를 불가능하게 하고 불법 다운로드를 방지해 준다.

 마크텍의 윤진호 이사는 “지난해 김대업 사건에서 녹음테이프의 조작여부가 뜨거운 관심사로 대두된 이후 그동안 인터넷상에서 사용돼 왔던 워터마킹 기술이 최근 오프라인 제품에 본격적으로 적용되고 있다”며 “특히 미국, 유럽에서 디지털 데이터의 원본 증명에 대한 법안이 통과될 경우 워터마킹을 채택하지 않은 디지털기기는 시장에서 사라질 가능성도 있다"고 말했다. 
 이미 필립스(대표 제라이 클라이스터리)가 미국 디지마크사의 특허를 이용해 방송모니터 제품을 시장에 출시한 데 이어 올림퍼스, 소니 등 AV영상기기 업체들도 디지털카메라, 디지털녹음기 등 하드웨어 제품개발에 워터마킹 기술을 접목하는 연구를 활발한 진행중이다. 
 국내의 경우 최근 심스라인(대표 왕상주)이 마크텍과 저작권 위변조 방지 및 오디오이미지 워터마킹 기술의 독점사용 계약을 체결하고 오는 7월 오디오 워터마킹 기술을 채택한 디지털녹음기를 출시할 예정이다. 심스라인은 이와 함께 원본 데이터에 대한 위변조 여부를 파악할 수 있는 이미지 워터마킹을 탑재한 디지털카메라를 올 하반기 선보일 계획이다.  
 삼성테크윈(대표 이중구)도 최근 디지트리얼, 마크텍 등과 연계해 워터마킹 알고리듬을 칩화시키는 작업을 적극 모색하는 등 워터마킹 기술채택에 적극적인 모습을 보이고 있다. 


<김원석기자 stone201@etnews.co.kr>  
○ 신문게재일자 : 2003/04/16
○ 입력시간 : 2003/04/15 16:31:31



Posted by SB패밀리

DRM(Digital Rights Management)

2003.04.11



http://www.etimesi.com/news/detail.html?id=200212160145<강호갑 파수닷컴 상무> 
 88 성균관대 전자공학 석사 
 91-2000 삼성 SDS 정보기술연구소 책임연구원 
 2000-현재 파수닷컴 CTO 
  
 디지털 기술의 발전에 힘입어 아날로그 콘텐츠들이 생성 단계에서부터 디지털로 저장·관리되고 있다. 
 하지만 이 디지털 정보는 신속하게 배포되고 정보 변경이 용이하다는 특성 때문에 불법복제 및 위·변조 등 각종 보안 위협에 쉽게 노출돼 있다. 이는 양질의 콘텐츠 생산을 저해할 뿐 아니라 기업 생존에까지 위협을 줄 수 있다. 
 때문에 네트워크단에서 외부사용자의 불법침입을 차단하는 방화벽이나 IDS 솔루션, PKI기반 암호화 솔루션, PC의 매체 제어를 통한 PC보안 솔루션 등 디지털 정보를 안전하게 보호하기 위해 많은 기술들이 사용되고 있으나 정보 자체에 대한 근본적인 보안대책은 되지 못한다. 접근제어 위주의 보안대책과 함께 콘텐츠의 사용권한 제어 및 통제를 지속적으로 보호·관리할 수 있는 새로운 기술이 필요한 것이다.

DRM의 정의=이에 대한 해법이 DRM(Digital Rights Management)이다.

 
 DRM을 한마디로 말하기는 어렵지만 디지털 정보의 신뢰성 있는 유통환경을 제공하는 유일한 솔루션이라는 것이 공통된 해석이다. 
 DRM은 유저·콘텐츠·퍼미션·컨디션으로 구성되며 각 요소들은 상호 연관관계를 갖는다. 
 콘텐츠는 지적자산의 가치가 있는 정보 단위이며, 허가되지 않은 사용자로부터 보호해야 할 대상이다. 유저는 부여된 퍼미션과 컨디션에 따라 콘텐츠를 이용할 주체로 콘텐츠의 생산자·배포자·사용자가 될 수 있으며, 콘텐츠의 이용권리는 콘텐츠별로 정해진 퍼미션에 의해 결정된다. 컨디션은 퍼미션이 수행되기 위한 요구조건 및 제한요소를 포함하고 있다. 
 즉 DRM은 콘텐츠의 권리표현이 시스템적으로 처리 가능하도록 기술하고, 사용자는 명시된 권리 범위 내에서 콘텐츠의 이용을 강제적으로 통제받을 수 있게 함으로써 콘텐츠의 권리를 지속적으로 보호·관리할 수 있는 기술이다. 
 DRM 기술은 콘텐츠에 대한 지속적인 보호가 가능하고 다양한 사용규칙을 적용할 수 있어야 한다. 또 보호하고자 하는 디지털 자산은 다양한 파일포맷 형태로 존재하기 때문에 이를 일관된 방법으로 보호하고 처리할 수 있는 환경을 제공해야 한다. DRM이 적용된 콘텐츠일지라도 기존의 디지털 정보가 유통되던 배포 및 이용 방식을 그대로 수용할 수 있어야 하며 DRM의 기술적 보호조치는 사용자에게 불편을 주어서는 안된다. 
 DRM을 구성하는 시스템 요소는 그림1과 같이 크게 보호대상인 콘텐츠를 메타데이터와 함께 배포 가능한 단위로 패키징하는 패키저와 이렇게 배포된 콘텐츠를 사용자의 플랫폼에서 콘텐츠의 이용권한을 통제하는 DRM 컨트롤러, 콘텐츠에 대한 배포 정책 및 라이선스를 발급·관리하는 클리어링 하우스로 구분할 수 있다. 이와 같은 아키텍처 모듈을 만족하는 DRM 플랫폼을 개발하기 위한 대표적인 핵심기술들은 다음과 같다. 


 △암호화 기술(Encryption) 
 △패키저(Packager)=패키저는 보호 대상인 콘텐츠를 암호화해서 콘텐츠의 식별번호 및 메타데이터 정보와 함께 시큐어 컨테이너로 패키징하는 과정을 수행한다. 
 △시큐어 컨테이너(Secure Container)=저작권 보호대상인 원본 콘텐츠를 안전하게 유통하기 위해서 사용되는 전자적 보안장치로 다양한 콘텐츠 포맷 및 메타데이터의 효율적 관리를 위한 기능성과 여러 가지 채널 및 전송방식으로 배포될 수 있도록 배포 용이성을 보장한다. 
 △콘텐츠 식별관리체계(Identification)=디지털 콘텐츠의 식별체계는 디지털 콘텐츠로 하여금 유일한 식별자를 갖도록 하며, 콘텐츠의 유통과정에서 권리 소유자의 결정 및 권리 표현을 연계하는 등 많은 애플리케이션에서 중요한 역할을 담당한다. 
 △메타데이터(Metadata) 
 △사용규칙(Usage Rule)=디지털 콘텐츠에 대한 권리를 제어하기 위해서는 어떤 사용자가 어떠한 콘텐츠에 대해 어떤 권한과 조건으로 이용할 수 있는지 정의할 수 있어야 한다. 또 이렇게 정의된 권리가 컴퓨터에 의해서 처리될 수 있도록 기계가독형 언어로의 표현이 가능해야 한다. 사용규칙은 다양한 비즈니스 환경에 따라 권리의 정의 및 표현이 달라질 수 있는데 이를 지원하기 위해서는 권리표현의 다양성·확장성·유연성이 충분히 보장돼야 한다. 
 △사용권한 정책관리(Policy Management)=콘텐츠에 대한 사용권한은 콘텐츠를 배포하고 사용권한을 관리하는 도메인의 정책에 의해 결정된다. 다양한 비즈니스 도메인과 모델의 지원을 위해 정책은 자유롭게 설정할 수 있어야 하며, 이를 지원할 정책관리시스템은 유연하고 확장성 있는 구조를 제공해야 한다. 
 △탬퍼링 방지기술(Tampering Resistance)=콘텐츠의 보안성을 높이기 위해서 우선적으로 고려해야 할 분야는 암호화 기술의 견고성과 클라이언트 프로그램의 탬퍼링 방지대책이다. 소스 레벨에서 스크램블 코드를 삽입하는 방식과 운용체계에서 크래킹 시도를 탐지·차단하는 방식, 그리고 위장모듈을 가장한 크래킹 시도를 차단하기 위한 탬퍼 프루핑 방식 등 다양한 탬퍼링 방지기술이 적용된다. 
 △사용내역 모니터링 기술(Usage Reporting)=콘텐츠가 적절하게 사용되고 있는지, 저작권이 적절하게 보호되고 있는지를 파악하기 위해서 콘텐츠 사용내역이 충분히 모니터링돼야 한다. 여기서 수집된 내역정보는 콘텐츠의 거래내역을 증명하거나 정보의 불법유통 사실이 탐지됐을 때 콘텐츠의 이동경로를 추적할 수 있는 정보로 활용된다. 

 ◇DRM의 응용 도메인=DRM 플랫폼은 디지털 형태로 존재하는 지적자산의 보호 및 관리를 위해 그림2와 같이 다양한 응용 도메인에서 활용될 수 있다. 
 DRM이 가장 먼저 적용된 응용 도메인은 디지털 콘텐츠의 상거래 분야로 디지털뮤직·동영상·이미지·e북·만화, 그리고 기타 부가정보서비스 등 디지털 콘텐츠에 대한 불법사용 방지 목적용이다. DRM 기술이 콘텐츠 유통 도메인에 적용됨에 따라 콘텐츠 제공업자는 페이 투 유즈(Pay-to-Use), 프리뷰 비포 퍼처스(Preview-before-Purchase), 서브스크라이브(Subscribe) 등 다양한 마케팅 정책을 수행할 수 있게 됐다. 또 사용자 권한에 따라 뷰/플레이·프린트·에디트·세이브·트랜스퍼 등 세분화된 콘텐츠 이용 통제가 가능하다. 
 디지털 콘텐츠 상거래 분야에 이어 DRM은 기업 및 국가 주요 기관에서 생산·관리하는 중요 기밀문서 보안에도 적용되고 있다. 
 DRM은 보호 대상이 되는 문서 및 도면 등 각종 디지털 지적자산에 대해 허가되지 않은 사용자는 문서를 열어볼 수 없도록 할 뿐만 아니라 허가된 사용자에 한해서도 권한별 세분화된 사용권한 제어, 문서 사용내역에 대한 추적, 배포된 문서의 폐기, 퇴사자의 사용권한 박탈 등 다양한 보안기능을 제공함으로써 기밀문서에 대한 근본적인 보안대책을 수립할 수 있다. 

 ◇DRM 표준화 활동=초기의 DRM 시장은 DRM 기술 제공업체에 의해 주도됨에 따라 콘텐츠의 보호범위가 해당 DRM 업체의 기술을 적용한 콘텐츠에만 국한됐다. 
 이 때문에 사용자는 동일한 콘텐츠임에도 불구하고 어떤 DRM 기술을 적용했느냐에 따라 해당 업체의 전용뷰어 및 관련 프로그램들을 설치해야 하는 불편함을 감수해야 했다. 
 아마존이나 반센노블과 같은 온라인서점 사이트에서 볼 수 있듯이 각 업체들은 포맷간 상호호환성이 보장되지 않기 때문에 여러 가지의 포맷을 모두 준비하고 사용자들에 이의 이용을 유도해야 한다. 
 이런 문제점들을 해결하기 위해 MPEG-21, TV애니타임, AAP, OeBF, W3C, XrML, DOI 등 국제표준화단체 및 기구에서 DRM 표준화를 추진중이다. 국제표준화단체에서는 국제적으로 통용될 수 있는 DRM 기술사양의 개발과 DRM 플랫폼간의 상호호환성 보장을 위한 표준기술 개발에 주력하고 있다. 
 국제표준화기구들을 활동 분야별로 나누면 △DRM 플랫폼의 표준사양 개발분야=MPEG-21, TV애니타임, AAP, OeBF, OMA △식별체계의 표준화 기술개발 분야=DOI, URI, MPEG-21 DII △권리표현기술 개발분야=XrML, ODRL, XMCL, MPEG-21 RDD/REL △지적자산의 메타데이터 정보관리 기술분야=INDECS, ONIX, 더블린 코어 등으로 구분된다. 
 DRM 기술 표준화를 위해 많은 국제표준화 활동들이 진행되고 있지만 가장 적극적으로 표준화 활동을 수행하는 곳은 MPEG-21이다. MPEG-21은 다양한 종류의 디지털 콘텐츠를 서비스가 가능한 총체적인 멀티미디어 프레임워크의 사양을 도출하는 것을 목표로 ISO/IEC 산하의 MPEG 워킹그룹에서 2000년 6월에 착수해 2005년 국제표준안 제정을 완료한다는 방침을 정해 놓고 표준화 작업을 진행중이다. 

 ◇DRM의 전망=DRM이 상용화된 것은 2000년 초반으로 불과 3년 전 일이다. 그러나 짧은 기간이었음에도 불구하고 DRM 기술은 다양한 분야에 적용됐을 뿐만 아니라 적지 않은 디지털 라이프의 패러다임 변화에 영향을 미치고 있다. 
 DRM은 현재의 콘텐츠 유통 도메인이나 기업의 문서보안 도메인 외에 다양한 응용 도메인에서 활용되고 DRM 기술은 장기적으로 다음과 같은 방향으로 발전할 것으로 전망된다. 
 첫째 벤더 및 특정 기관에 의해 분산돼 개발되던 각종 기술들이 표준화돼 유기적으로 통합된 플랫폼으로 발전할 것이다. 즉, 벤더의 DRM 플랫폼과 식별체계, 메타데이터, PKI, 파일포맷 등이 상호호환성을 갖도록 기술적 표준안이 마련되고, 이를 통해 디지털 콘텐츠의 글로벌 유통이 가능한 시기가 도래할 것이다. 이러한 글로벌 유통 플랫폼은 MPEG-21, TV애니타임, W3C 등과 같은 국제표준기구에 의해 주도적으로 추진되겠지만 WMT를 앞세워 결국 de-facto 표준을 노리는 마이크로소프트 등 특정 도메인에서 치열한 시장경쟁을 거치고 생존한 업체들의 de-facto 표준화가 가속화·활성화될 것이다. 
 둘째 유무선 통신기술이 발전함에 따라 디지털 콘텐츠의 이용환경은 유무선 구분이 모호해질 것이다. 또 현재의 PC위주의 콘텐츠 이용환경도 PDA, 태블릿PC, e북 디바이스, 모바일폰 등 다양한 기종의 하드웨어 플랫폼에서 이용될 것이다. 따라서 DRM은 이러한 유비쿼터스 환경에서 디지털 콘텐츠의 투명한 접속 및 이용, 콘텐츠 사용권리의 자유로운 이동 등 사용편리성이 충분히 보장되는 방향으로 발전할 것이다. 
 셋째 DRM 기술은 운용체계에 기본사양으로 포함될 것이다. 현재도 마이크로소프트는 최근에 발표되는 운용체계에 DRM을 기본적으로 내장해 배포하고 있는데 이런 현상은 DRM의 글로벌 표준사양이 정립됨에 따라 유닉스·리눅스를 비롯한 다른 운용체계에도 적용될 것으로 전망된다. 
 넷째 디지털의 유통구조가 대형화·글로벌화됨에 따라 이를 체계적으로 관리하고 투명한 유통 환경을 지원하기 위한 클리어링하우스센터가 구축될 것이다. 클리어링하우스센터는 글로벌 유통망을 대상으로 콘텐츠의 권한통제 관리, 권리계약 이행 감시, 정산 등의 업무를 수행하게 된다.







Posted by SB패밀리

[영역처리] Thinning (세선화) --- ③


2003.09.01


위의 그림은 알고리즘을 적용한 실험결과.


Zhang Suen 세선화 알고리즘의 주요부분임.


소스코드(주요부분) 

   // mark and delete pixels. 
   While Again = 1 Do 
   Begin 
       again := 0; 
       // Second sub-iteration. 
       For row := 1 To sy -2 Do 
           For col := 1 To sx -2 Do 
           Begin 
               If tTgt[col, row] <> 1 Then 
                   Continue; 
               k := nays8(tTgt, col, row); 
               If ( (k >= 2) And (k <= 6) ) And (Connectivity(tTgt, col, row) = 1) Then 
               Begin 
                   If ( tTgt[col+1, row] * tTgt[col, row-1] * tTgt[col-1, row] = 0) And 
                     ( tTgt[col, row-1] * tTgt[col, row+1] * tTgt[col-1, row] = 0) Then 
                   Begin 
                       localTgt[col, row] := 1; 
                       again := 1; 
                   End; 
                   // of if ..else. 
               End // End of if tTgt. 
           End; // Of For col. 
       // End of For row. 

       // delete pixel. 
       DeletePixel(tTgt, localTgt); 
       If Again = 0 Then 
           Break; 

       // First sub-iteration. 
       For row := 1 To sy -2 Do 
           For col := 1 To sx -2 Do 
           Begin 
               If tTgt[col, row] <> 1 Then 
                   Continue; 
               k := nays8(tTgt, col, row); 
               If ( (k >= 2) And (k <= 6) ) And (Connectivity(tTgt, col, row) = 1) Then 
               Begin 
                   If ( tTgt[col, row-1] * tTgt[col+1, row] * tTgt[col, row+1] = 0) And 
                     ( tTgt[col+1, row] * tTgt[col, row+1] * tTgt[col-1, row] = 0) Then 
                   Begin 
                       localTgt[col, row] := 1; 
                       again := 1; 
                   End; 
                   // of if ..else. 
               End // End of if tTgt. 
           End; // Of For col. 
       // End of For row. 

       // delete pixel. 
       deletePixel(tTgt, localTgt); 
   End; // of While Again. 





Posted by SB패밀리

[영역처리] Thinning (세선화) --- ②


2003.05.27



[영역처리] Thinning (세선화) --- ② 2003/5/27

영상처리 알고리즘에서 세선화는 대상 물체를 선 폭을 섬세하게 하여 한 픽셀의 두께를 갖는 중심선으로 추출하는 조작을 말한다.

이 세선화의 기본적인 세선화 알고리즘은 기본적으로 순차적 처리(sequential processing) 방법과 병렬적 처리(parallel processing) 방법으로 구분할 수 있다.  

⇒ 순차적 처리 방법: 현재의 처리 결과가 과거의 처리값에 영향을 받으며 미래의 처리 결과에도 영향을 미치는 것으로 이 방법에서는 대상 화상만 있으면 처리가 가능하다.한다. 

⇒ 병렬적 처리 방법: 현재의 처리 결과가 과거나 미래의 처리 결과에 전혀 영향 을 받거나 미치지 않는 것으로써 추가적으로 대상 화상 크기만큼의 버퍼가 필요하다. 현재의 관심 화소(pixel)에 대한 처리 결과를 버퍼에 저장하는 방식으로, 전체 화상에 대한 한 차례의 처리가 모두 끝난 다음 에 버퍼에 저장되어 있는 처리 결과를 원래의 대상 화상 위에 덮어 쓰게 된다. 

Zhang Suen 알고리즘

Zhang Suen 세선화 알고리즘은 1984년에 처음으로 발표한 것으로 병렬적 처리(Parallel Processing)방법의 하나로써 기본적인 알고리즘은 다음과 같다. 

1루프>처리대상인 검은 픽셀 I(i,j)에 대해서 다음과 같은 조건을 만족하면 지운다. 

① 픽셀 I(i,j)에 대해서 그 주위의 픽셀들의 connectivity가 1이고, 
② 픽셀 I(i,j)에 대해서 그 주위의 픽셀들 중 검은 픽셀이 적어도 2개에서 6개사이에 있어야 하며, 
③ 적어도 픽셀 I(i,j+1), I(i-1,j), I(i,j-1)중의 하나는 배경 픽셀 즉 255이어야 하며, 
④ 적어도 픽셀 I(i-1,j), I(i+1,j), I(i,j-1)중의 하나는 배경 픽셀 즉 255이어야 한다. 
⑤ 조건에 맞으면 픽셀을 제거한다. 

2루프>처리대상인 검은 픽셀 I(i,j)에 대해서 다음과 같은 조건을 만족하면 지운다. 

① 픽셀 I(i,j)에 대해서 그 주위의 픽셀들의 connectivity가 1이고, 
② 픽셀 I(i,j)에 대해서 그 주위의 픽셀들 중 검은 픽셀이 적어도 2개에서 6개사이에 있어야 하며, 
③ 적어도 픽셀 I(i-1,j), I(i,j+1), I(i+1,j)중의 하나는 배경 픽셀 즉 255이어야 하며, 
④ 적어도 픽셀 I(i,j+1), I(i+1,j), I(i,j-1)중의 하나는 배경 픽셀 즉 255이어야 한다. 
⑤ 조건에 맞으면 픽셀을 제거한다. 

위의 두 subiteration을 계속하여 더이상 지울 픽셀이 남아 있지 않을 때까지 계속 적용 시킨다.

Posted by SB패밀리

[영역처리] Thinning(세선화) -- ①


2001.06.12



- 제    목 : Thinning(세선화)
- 분    류 : Area Processing
- 자료출처 : 배경환
- 등 록 일 : 2000년 5월 6일 토요일
--------------------------------------------------------------------------------

Thinning(세선화) 
  도형에서 선 폭을 섬세하게 하여 한 픽셀로 이루어진 중심선을 추출하는 조작을 세선화(Thinning)라고 한다. 즉, 세선화는 도형의 본질적인 구조를 보존한 채, 선도형을 추출하는 조작이다. 세선화는 원래 도형의 연결성은 변화시키지 않고, 선으로 변화시키는 것이 필요하다. 세선화의 결과에서 도형의 결합 관계의 특징이 구해지므로, 글씨나 도면 등에서 선의 구조를 해석하는데 불가결한 처리로 되어 있다. 


세선화의 처리 조건 
1 골격선의 폭은 1이어야 한다. 
2 골격선의 위치는 선도형의 중심에 있어야 한다. 
3 골격선은 원래의 도형에 있어서의 연결성을 유지해야 한다. 
4 세선화 과정에서 골격선의 길이는 계속해서 줄여들어서는 안된다. 
5 패턴 윤곽선이 작은 요철로 인한 잡 가지선의 모양이 골격선에 추가되어서는 안된다. 


Posted by SB패밀리

[개념] DCT(Discrete Cosine Transform) 압축 기술


2003.05.27



DCT 압축기술 

  1974년은 오늘날 멀티미디어 혁명을 가능케 한 기념비적인 발명이 있던 해이다. 미 텍사스대학의 라오 교수를 비롯한 3명의 연구진이 이산여현변환 (DC T: Discrete Cosine Transform)이라는 새로운 직교변환에 관한 논문을 IEEE학술지에 발표했던 것이다. 이 DCT는 특히 영상의 압축에 탁월한 성능을 갖는 것으로 오늘날 멀티미디어 관련 국제표준인 H.261, JPEG, MPEG의 핵심요소로 자리잡고 있다. 

  문자, 도형, 일반 데이터 등을 무손실 압축하면 완전 복구가 가능하지만 압축률은 평균적으로 2대1정도이다. 반면 영상 음성 음향 등의 데이터를 인간의 눈과 귀가 거의 느끼지 못할 정도로 작은 손실을 허용하면서 압축하면 10 대1이상의 압축률을 쉽게 얻을 수 있다. 

  동영상의 경우 화면간 중복성과 화면내 화소간 중복성이 많아 시각 특성을 잘 활용하면 MPEG영상 압축에서 볼 수 있듯이 30대1이상의 압축을 쉽게 얻을 수 있다. 정지영상은 화면내 화소의 중복성만이 있고, 한 화면이므로 화면간 중복성은 없어 JPEG에서 보듯이 MPEG보다는 다소 압축률이 낮다. 영상이 중복성이 높은 3차원(동영상) 혹은 2차원(정지영상) 데이터여서 압축도 크게 되는데 비해 음성과 음향은 중복성이 상대적으로 떨어지는 1차원 데이터여서 압축률도 영상에 비해 크게 떨어진다. 북미 이동통신용의 음성 압축방식인 VSELP에서는 8대1정도의 압축률이 얻어지고, 돌비 AC-3이나 MPEG 음향 압축에 있어서는 단일 채널의 경우 6대1, 채널간 중복성이 높은 스테레오나 다채널(예:극장영화 감상시의 5.1채널)의 경우 10대1정도의 압축이 얻어진다. 영상데이터를 효과적으로 압축하기 위한 목적으로 가장 널리 쓰이는 손실부호화 기법은 변환부호화이다. 이 방식의 기본구조는 공간적으로 높은 상관도를 가지면서 배열되어있는 데이터를 직교변환에 의하여 저주파 성분으로부터 고주파 성분에 이르기까지 여러 주파수 성분으로 나누어 성분별로 달리 양자화하는 것이다. 

  이때 각 주파수 성분간에는 상관도가 거의 없어지고 신호의 에너지가 저주파 쪽에 집중된다. 단순 PCM에 비해 같은 비트율에서 얻는 변환부호화의 이득은 각 주파수 성분의 분산치의 산술평균과 기하평균의 비와 같다. 즉 저주파쪽 으로 에너지의 집중이 심화될수록 압축효율이 높다. 

  공간상의 데이터에 대한 단순 PCM은 모든 표본을 같은 길이(예:m비트/표본) 의 비트로 표현하며 신호대 양자화 잡음비는 약 6m가 된다. 반면 직교변환에 의해 주파수 영역으로 바뀐 데이터는 에너지가 많이 모이는(즉 분산치가큰) 주파수 성분이 보다 많은 비트를 할당받아 그 주파수 성분을 보다 충실히 표현하도록 하고 있다. 분산치가 4배(즉 진폭이 2배) 될 때마다 1비트씩 더 할당받는데 이렇게 되면 모든 주파수 성분에서 동일한 양자화 에러 특성을 갖게 된다. 

  여러가지의 직교변환 가운데 이론적으로 영상신호의 에너지 집중특성이 가장 뛰어나 압축에 가장 효과적인 것은 카루넨-뢰브 변환(KLT)이다. 그러나 이것은 영상에 따라 변환함수가 새로 정의되어야 하므로 현실적으로 사용할수 없다. 

  이 KLT에 충분히 가까운 성능을 가지면서 구현 가능한 변환을 찾는것이 라오 교수팀의 목표였고 그 결과가 바로 앞에 말한 DCT이다. 

  현재 여러 국제표준에 핵심기술로 자리잡고 있는 DCT는 8×8크기의 화소를 하나의 블록으로 묶어 변환의 단위로 삼고 있다. 블록의 크기를 키울수록 압축효율은 높아지나 변환의 구현이 훨씬 어려워진다. 실험적으로 8×8이 성능과 구현의 용이성간 타협점으로 선택되었다. 

  DCT 변환계수의 양자화는 스칼라 양자화(SQ)와 벡터 양자화(VQ)가 가능하다. VQ는 보통 계수간 상관도가 높을 때 효과적이고 대신 SQ보다는 복잡도가 높다. DCT계수들끼리는 이미 상관도가 거의 없어 현재 국제표준 에서는 SQ를 채택하고 있다. 또 SQ도 다시 구현이 용이한 선형과 특성이 좋은 비선형 기법으로 나뉘는데 양자화된 계수가 다시 엔트로피 부호화(무손실)를 거치면 두 기법간 성능의 차가 작아진다. 현재 국제표준에서는 엔트로피 부호화가 뒤따르고 있어 H.261, JPEG, MPEG-1에서는 선형 기법만을 사용하였다. 그러나 MPEG-2에서는 약간의 성능개선을 위해 비선형 기법도 함께 채택했다. 

  또한 양자화된 DCT계수들의 통계적 특성을 이용한 무손실 압축을 위해 현재 국제표준에서는 런길이 부호화와 허프만 부호화를 결합하여 사용하고 있다. 영상의 압축은 이렇게 DCT, 양자화, 런길이 부호화, 허프만 부호화, 움직임보상 DPCM(동영상의 경우만 해당) 등 많은 기술이 결합되어 이루어지고 있다. 


Posted by SB패밀리