



요즘 들어 고선명 HD(high Definition) 디지털 TV 방송을 수신할 수 있는 PC 카드 제품이 속속 시판되고 있다. 전용 HD급 TV나 HD 셋톱박스 등의 가격이 부담스러운 만큼 가장 경제적으로 HD 방송을 시청할 수 있는 대안으로서 PC 카드 제품이 나름대로의 호응을 얻고 있다. 게다가 요즘은 HTPC(Home Theater PC)라고 해서 PC를 이용해 상대적으로 저렴하게 홈 시어터를 구축하려는 애호가들이 많은 까닭에 이러한 AV 제품이 더욱 환영을 받는 것 같다.더 나은 화질로 DVD를 감상하기 위해HDTV PC 카드를 설치한 사람들 중에는 기존의 DVD 또한 즐겨오던 사람들이 많을 것이다. 최근에 이러한 사람들의 자연스런 욕구 가운데 하나는 HD PC 카드로 DVD까지 재생할 수는 없는가 하는 것이다.사실 디지털 방송이나 기존의 DVD나 모두 MPEG-II, 돌비 AC-3를 사용하므로 당연히 가능한 것으로 보이는 게 사실이다. 물론 PC에서 기존의 소프트웨어 플레이어(윈 DVD나 파워 DVD 등)로 DVD를 재생, 감상하는 것에 특별한 문제가 있는 것은 아니다. 하지만 대부분의 HD PC 카드에는 HD TV(또는 튜너가 없는 HD 모니터)와 연결할 수 있는 외부 출력단자가 마련돼 있고, 자체적으로 저해상도 스트림을 HD로 업 컨버팅(up converting)하는 게 가능하므로 DVD 롬의 디지털 데이터를 내부에서 읽어들여 업컨버팅한다면 보다 나은 화질로 DVD를 감상할 수 있지 않겠는가 하는 것이다. 또 다른 사용자의 욕구 중 하나는 바로 HD 소스를 저장하는 것이다. PC 카드 중에는 디지털 방송을 PC 파일로 저장하는 기능이 있으므로 보고 싶은 내용을 저장해 두었다가 나중에 다시 재생하는 것도 가능하다. 하지만 HD 소스의 전송률이 19.4Mbps이므로 약 10분 정도의 저장 용량이 1.5G바이트에 이르게 되어 사실상 현실성이 없다. 보다 본격적인 저장 방법은 IEEE 1394 인터페이스를 갖춘 D-VHS(HD 방송을 녹화할 수 있는 디지털 비디오 레코더)를 활용하는 방법이 될 것이다. 기존 PC에는 이미 IEEE 1394 인터페이스 카드를 설치할 수 있으므로 HD 카드에서 IEEE 1394를 이용, 외부의 D-VHS와 연결한다면 장시간의 녹화도 가능해 진다. 하지만 D-VHS 업체에서는 가전제품이 아닌 PC에 대해서는 그다지 신경을 쓰지 않고 있는 것 같은데 그래서인지 PC용 드라이버를 제공하고 있지 않는 형편이다. 어쨌든 이런저런 이야기들이 최근에 AV 동호회 등을 중심으로 활발하게 논의되고 있지만 아직까지 구체적으로 제품화된 사례는 없다. 또한 실제 구현상에 몇 가지 문제점이 있는 것도 사실이다. 이 글에서는 이 문제들 중 우선 DVD를 HD PC 카드에서 재생하기 위해 필요한 몇 가지 기술적인 사항들에 대해서 간단히 살펴보도록 하겠다.해상도 업컨버팅과 화질의 차이우리나라 HD 디지털 방송 표준인 ATSC(아날로그 방송은 NTSC)에서 지원하는 최대 해상도는 1920×1080i다. 요즘 나오는 PC 모니터들은 이 정도의 해상도를 상회하므로 모니터를 통해서도 HD 방송을 감상하는 것이 가능하다. 다만 화면이 작은 것이 아쉽다는 생각이 들지도 모른다. 여기서 i는 인터레이스(interlace)를 나타내며 이는 기존의 아날로그 TV에서와 마찬가지로 한 장의 화면을 짝수와 홀수 필드로 나누어 두 번에 걸쳐 주사하는 방식으로 30개의 화면만으로 초당 60장의 화면 프레임을 구성하는 것이다.보다 저해상도인 1280×720, 704×480 등에서는 프로그레시브(progressive) 모드도 지원하는데 이는 초당 60개의 화면을 그대로 60장의 프레임으로 출력하는 방식으로서 데이터가 많은 만큼 당연히 화질도 인터레이스에 비해 우수하다. 해상도를 올리기 위한 업컨버팅에는 인터레이스를 프로그레시브로 바꾸는 방식이 있고, 아예 480과 같은 SD(Standard Definition)급 소스를 HD(High Definition)급으로 바꾸는 방식이 있을 수 있다.DVD 소스 업 컨버팅은 가능하지만···DVD의 출력은 480 SD급이므로 이 데이터를 읽어들여 HD급으로 변환하면 당연히 화질이 좋아질 거라는 것이 일반적인 생각이지만 화상 전문가들의 생각은 조금 다른 것 같다. 일단 640×480을 1920×1080으로 변환하기 위해서는 없는 데이터를 새로 만들어 내야하므로 동작 예측, 보간법 등을 사용해 없는 부분의 데이터를 생성해야 한다. 결국 적용된 알고리즘의 성능에 의해 최종 화질이 결정된다는 것이다. 이 기능은 HD 카드나 HD 셋톱박스 등의 비디오 디스플레이 프로세서라는 칩에 내장돼 있는데, 현재까지의 수준에서는 DVD 소스의 업 컨버팅은 가능하지만 눈에 띄는 화질 향상은 얻기 어렵다는 게 일반적인 의견이다. 다만 HD 카드가 대부분의 HDTV의 입력 방식인 컴포넌트(Component) 출력단을 지원하므로 PC에서 DVD를 재생해 이를 다시 HDTV로 출력해 본다면 중간에 화질 열화 요소가 없으므로 어느 정도 화질 향상은 기대할 수 있을 것이다. 지상파 HD 셋톱박스의 경우에도 외부입력을 받아서 자체적으로 업 컨버팅을 지원하는 제품이 있다. 이 때도 일반 DVD 플레이어의 NTSC 출력보다는 480p를 출력할 수 있는 고급형 DVD 플레이어를 사용하는 게 효과가 좋을 것이다. 참고로 필름 모드 처리 방식에 대해 간단히 언급하고자 한다. DVD의 소스는 대부분 영화이고, 영화는 초당 24장의 화면을 사용하고 있다. DVD는 초당 30 프레임을 사용하는 TV에 출력하기 위한 소스이므로 DVD를 제작하는 과정에는 24장의 화면을 30장의 화면으로 변환시키는 작업이 필요하게 되며, 이 과정에서 얼마간의 화질 왜곡이 발생되는 것으로 보인다. DVD에서 원본 24장의 화면을 역으로 뽑아내는 것이 가능한지는 잘 알 수 없지만, 이것이 가능하다면 이를 직접 업컨버팅하는 것이 훨씬 좋은 화질을 보일 것이라고 주장을 하는 사람도 있다.ATSC의 규격에는 이와 같은 24 프레임의 소스에 대한 지원(필름 모드)을 규정하고 있다. DVD 복사 방지 기술의 원리DVD는 지적 재산권 보호 명목으로 다단계의 복사 방지 기술을 채택하고 있다. 이와 같은 보호 대책이 오히려 DVD의 보급을 지연시키는 결과를 가져오기도 했고, 여전히 찬반 논쟁이 오가고 있지만 민감한 부분인 만큼 더 이상 언급하지 않고 기술 그 자체만 간단히 살펴보기로 하겠다.모든 DVD가 다 그렇지는 않지만 영화 타이틀은 거의 대부분 복사 방지가 돼 있다. PC 환경의 경우 탐색기 등으로 DVD 타이틀의 구성 파일을 볼 수는 있지만 원칙적으로는 복사는 불가능하다. 복사가 되었을 지라도 일반 MPEG 파일처럼 재생 등은 불가능하다.여기서 간단한 실험을 통해 DVD 복사 방지가 어떻게 작용하는지 살펴보기로 하자.먼저 DVD 미디어를 PC의 DVD-ROM 드라이브에 넣고 PC를 재부팅시킨다. PC를 재부팅시키는 것은 DVD가 인식돼 자동으로 DVD 플레이어가 실행되는 상황을 피하기 위한 것이다. PC가 부팅되면 탐색기를 열어 DVD-ROM의 파일을 확인해 본다. DVD-ROM은 기본적으로 CD-ROM 파일 시스템 포맷인 ISO-9660을 지원하므로 내부의 파일들을 모두 확인해 볼 수 있다.Video_ts라고 표현된 폴더 중에서 아마도 1GB가 넘을 VOB(video object)를 다른 하드 디스크로 복사를 시도해 본다. 아마도 에러 메시지가 나오면서 복사가 되지 않을 것이다. 이번엔 DVD 플레이어 프로그램을 실행한다. 영화가 시작되면 곧바로 재생을 중단하고 다시 탐색기에서 복사를 시도해 본다. 아마도 복사가 될 것이다. 플레이어 실행 후에 복사가 가능해지는 것은 프로그램과 DVD-ROM 사이에 적절한 인증 과정을 거쳐 DVD-ROM에서 정상적으로 데이터를 전송해 주기 때문이다.이제 DVD '불법 복사'에 성공했으므로 ROM에서 디스크를 꺼낸 후 복사한 파일로 재생을 시도해 본다. 아마도 에러 메시지가 나오거나 프로그램이 다운될 것이다. 복사된 파일은 순수한 데이터 파일이 아니라 암호키에 의해 스크램블된 데이터이기 때문이다.모든 디스크가 복사 방지가 돼 있는 것은 아니다. 혹시 이런 복사 OK 디스크를 갖고 있다면 이 디스크로 위의 과정을 되풀이했을 때, 별다른 문제없이 복사 재생이 가능하다는 것을 알 수 있을 것이다. DVD에는 APS, CGMS, CSS라고 하는 3단계의 복사방지 기술이 적용돼 있다.개인적으로 이런 복잡한 약어들을 남발하는 것을 좋아하진 않지만 한번만 참아주길 바라며 이들을 간단히 설명하면 다음과 같다.APS(Analog Protection System)는 일반적으로 매크로비전으로 알려져 있는 아날로그 단에서의 복사방지 장치로서, DVD 플레이어에서의 비디오 출력을 VTR에 저장해도 잡신호만 보이게 만드는 방법이다. CGMS(Copy Generation Management System)는 디스크 내부에 포함된 제어코드의 일종으로 복사방지의 적용여부, 복사가능 횟수 등에 대한 정보를 담고 있다. 잘 알려져 있는 지역코드에 대한 정보도 같은 위치에 존재한다. 플레이어나 DVD-ROM 등에서는 이 정보를 읽어들여 기본적인 수준의 복사 방지를 수행한다. 마지막으로 CSS(Content Scrambling System)는 DVD 복사방지의 핵을 이루는 부분이다. CSS가 적용된 타이틀에 저장된 데이터 스트림은 원형대로의 MPEG 스트림이 아니다. DVD의 내용을 파일로 복사했을지라도 재생이 불가능한 이유가 여기에 있다. <그림 1> CSS와 인증(Authentication) 디스크 키와 타이틀 키암호화된 오디오·비디오 데이터를 원상태로 돌려놓기 위해서는 타이틀 키라는 게 필요하다. 타이틀 키는 각각의 디스크마다 고유한 값을 갖도록 돼 있다. 따라서 DVD 플레이어는 재생전에 이 키 값을 디스크로부터 읽어와야 한다. 한편 이 타이틀 키는 다시 디스크 키라는 코드에 의해 암호화돼 있다. 따라서 디코더는 암호화된 데이터를 풀기 위해서는 DVD에서 디스크 키와 타이틀 키를 차례로 읽어와야 한다. 이 과정 또한 정해진 규칙에 따라 상호 인증(Authentication) 과정을 거쳐야 가능하다. PC 환경의 경우, DVD-ROM과 메인보드 사이에는 IDE라는 보안 무방비 상태의 버스가 존재한다. '로직 아날라이저'라고 하는, 비싸지만 흔한 하드웨어 장비만으로도 이 사이를 넘나드는 디스크 키나 타이틀 키를 읽어내는 것이 충분히 가능하다.DVD를 설계한 사람들은 이 상황을 예측하고 다시 한번 머리를 싸매면서 이러한 상황을 극복할 아이디어를 짜내게 되는데, 결국 각종 키 값이 IDE를 통과할 때 다시 한번 암호화시키는 방법을 채택하게 된다. 디스크 키와 타이틀 키를 암호화할 새로운 암호 코드는 바로 버스 키라는 것으로, 다른 키와는 달리 매 번 그 값이 변하도록 되어있다. 결국 DVD-ROM과 DVD 디코더는 DVD 재생 전에 상호 인증과정을 통해 합의된 버스키 값을 생성해 내면, DVD-ROM은 다시 이 값으로 키 값을 암호화한 후 호스트로 전송하게 된다. 플레이어 측에서는 버스키로 디스크 키와 타이틀 키를 먼저 풀고, 디스크 키로 다시 타이틀 키를 푼 다음, 타이틀 키로 읽어온 AV 데이터를 풀고 나서야 비로서 MPEG이나 AC-3 디코더로 데이터를 전달 할 수 있게 된다.아무튼 우리는 이 복잡한 과정을 거치고 난 후라야 PC에서 DVD를 볼 수 있게 되는 것이다. 예전에 De-CSS라고 해서 리눅스 진영에서 이 비밀 코드를 풀어서 논란이 된 적이 있었다. 적법성 여부를 떠나서 참으로 대단한 사람들이라는 생각이 들지만, 어쨌든 상호 인증 프로세스, 코드의 생성 로직 등은 비밀이며 DVD 플레이어나 윈 DVD나 파워 DVD 같은 상용 소프트웨어를 작성하기 위해서는 먼저 이 방법을 사용하기 위한 라이선스를 얻어야 한다.DVD 지역코드 자동 인식기술, RPC지역 코드에 따른 제어는 CSS에 비해 상대적으로 간단하다. 코드프리가 아닌 DVD 플레이어의 경우에는 지역코드가 다르면 바로 재생이 불가능하다는 메시지와 함께 재생을 멈추고 말지만, PC에서는 아마도 실수나 시스템 오류의 문제 가능성 때문인지 5번까지는 지역 코드가 다른 디스크를 재생할 수 있도록 하고 있다. 이를 RPC(Region Playback Control)라고 하며, DVD-ROM 드라이브는 플래시롬 등을 이용해 이 값을 기억하도록 되어있다. 주의해야 할 점은 마지막 다섯번 째 디스크의 지역코드로 DVD-ROM 드라이브의 코드가 영구 고정된다는 점이다. 서비스 센터같은 곳에서 고정된 코드를 다시 풀어주는지는 잘 모르겠지만, 그게 아니라면 골치 아픈 문제가 생길 수 있다. 프로그램 / 트랜스포트 스트림DVD건 디지털 TV건 비디오는 MPEG-II를, 오디오는 돌비 AC-3(돌비 디지털)를 사용한다. 해상도는 다를지라도 같은 MPEG이므로 재생이 당연히 가능할 것으로 보이나, 실제로 두 미디어의 MPEG 비디오의 구성은 서로 다르다. MPEG 비디오에는 두 가지 타입의 스트림이 정의돼 있는데 바로 프로그램 스트림(Program Stream, 이하 PS)과 트랜스 포트 스트림(Transport Stream,이하 TS)이다. DVD는 이중 PS 구조를 사용하고, 디지털 방송은 TS를 사용한다. 맨 처음 MPEG 알고리즘에 의해 압축된 순수 데이터는 엘리먼터리 스트림이라고 한다. DVD를 보면 자막, 언어, 카메라 앵글 등 다양한 형태로의 재생이 가능한 것으로 되어 있다.이것은 서로 다른 엘리먼터리 스트림이 하나의 스트림으로 다중화돼 있고, 이 중 몇 개만 골라내는 형태로 재생되기 때문이다. DVD나 디지털 방송에서 여러 개의 스트림을 다중화하기 위한 사전 작업으로 엘리먼터리 스트림을 잘게 나누어 패킷화시키는데 이렇게 패킷화한 스트림을 Packetized Elementary Stream이라고 한다. 여기까지는 PS건 TS건 동일하지만 여러 가지 스트림을 섞어서 다중화하는 과정에서 한번 더 패킷화 과정을 거친다.마지막 패킷화는 저장장치나 전송선로의 특성을 고려한 부분이다. DVD는 대용량 저장장치를 사용하며 랜덤 액세스가 지원되고, 또한 전송에러 같은 것을 생각해 줄 필요가 없으므로 패킷 길이 자체에 특별한 제한이 없는 PS를 이용한다. 반면 지상파나 케이블 방송 등 전송 에러가 발생할 가능성이 높은 매체를 통해 전달되는 디지털 방송은 이 같은 상황을 고려해서 모든 패킷이 동일한 크기(188바이트)를 갖는 TS로 만들어진다. 이를 통해 패킷이 중간에 손실되더라도 재빨리 원상 복구하는 것이 가능해진다. HD PC 카드에서 DVD를 재생하는 것이 가능하기 위해서는 일단 디코더가 이 두 가지 포맷을 모두 처리할 수 있어야 한다.<그림 2> TS와 PSDVD 네비게이션의 작동 원리MPEG 규격에 따르면 여러 개의 엘리먼터리 스트림을 다중화해 프로그램의 선별적인 재생을 할 수 있다고 한다. 디지털 방송의 경우 이와 같은 방식을 이용하는데, HD 방송의 경우 1개, SD 방송의 경우 4개까지 비디오 스트림을 전송할 수 있으므로 한 개의 채널을 통해 여러 개의 방송을 동시에 송출하는 것도 가능하다. 이 외에도 여러 개의 오디오, 데이터 등과 같은 스트림을 다중화해 전송할 수 있으므로 수신 측에서는 이들을 선택, 시청할 수 있다.DVD의 경우 오히려 방송에서 보다 다양한 기능을 제공하고 있다. 특히 루트 메뉴, 타이틀 메뉴 등을 통한 장면 선택, 자막 선택, 화면 각도 선택, 시청 연령제한 등 DVD만의 다양한 기능을 이용할 수 있다. 이를 제어해 선택적으로 필요한 부분만 선별, 재생하는 것을 총칭해 DVD 네비게이션이라고 표현한다. 이들은 모두 독립적인 여러 개의 엘리먼터리 스트림을 사용자의 선택에 따라 취하거나 버림으로써 구현되는 기능들로 DVD 애플리케이션의 핵심적인 부분이다. ATAPI와 Winaspi 프로그래밍마지막으로 앞서 말한 인증 프로세스 등을 포함해 DVD 특유의 구성에 대한 액세스가 가능하려면 하드 디스크에서 파일을 읽어들이는 것과 같은 일반적인 파일 액세스 방법을 사용할 수 없다. CD-ROM, DVD-ROM은 IDE 인터페이스 상에서 하드 디스크와 동일한 신호 구성에서 다양한 명령을 주고받을 수 있도록 ATAPI(ATA Packet Interface)라는 독특한 프로토콜을 사용한다. 이는 기존의 하드 디스크의 명령 프로토콜인 ATA(AT Attachment) 위에 SCSI의 패킷 명령을 거의 그대로 사용할 수 있도록 확장한 프로토콜로, 윈도우 OS 환경에서는 ASPI라는 소프트웨어 레이어를 통해서 사용할 수 있다. ASPI에서는 패킷 명령을 거의 그대로 이용해 롬 드라이브를 액세스하도록 하고 있다. 특히 디스크의 논리·물리적 특성에 직접적으로 관련된 애플리케이션을 제작할 필요가 있을 때는 반드시 필요한 것으로, 소프트웨어 DVD 플레이어, CD 레코딩 프로그램들은 대부분 이 레이어를 사용해 CD나 DVD를 제어하고 있다. DVD의 파일 시스템에 대해서는 특별한 사항은 없다. 단 DVD는 ISO9660 CD-ROM 파일 시스템 외에도 UDF(Universal Disc Format, CD-RW의 Direct CD 등에 쓰이는, writing을 고려한 파일 시스템)라는 별도의 파일 시스템을 동시에 사용하고 있으므로 향후 이에 대한 고려가 필요할 수도 있다. HD PC 카드가 DVD를 재생해 내려면결론적으로 파워 DVD 같은 재생 소프트웨어를 사용하지 않고 HD PC 카드에서 바로 DVD를 재생해 내려면 PC 카드 자체에 DVD 상호 인증 프로세스를 구현해야 한다. 간단한 파일 플레이 기능이 아니라 실제 영화 타이틀을 재생하기 위해서는 이는 필수 항목이다. 불법적인 크랙킹 툴을 이용해 몇몇 부분을 비껴나갈 가능성도 있겠지만 카드업체에 공식적으로 바랄 만한 사항이 되지 못하므로 논외로 하기로 하겠다.그 다음으로는 DVD 네비게이션 애플리케이션을 작성해야하는데 이는 전술한 ASPI 프로토콜 레이어 상에서 개발해야 한다. 그 외에도 비디오 자체 규격에 따른 문제 등 몇 가지 난제가 있으며 따지고 보면 실제 MPEG 비디오의 디코딩 부분을 제외한 DVD 플레이어 거의 전체를 개발해야 한다고 해도 과언이 아니다. 따라서 HD PC 카드 업체로서는 당장 추진하기에는 무척 부담스러운 일일 수밖에 없다. AV 동호회 등에서 알려진 바와 같이 PS의 재생이 가능하도록 드라이버를 업데이트하는 것만으로 간단히 끝날 일은 분명 아니다. 아마도 카드업체 단독으로 하기보다는 기존의 소프트웨어 DVD 플레이어 개발 업체와 연계를 하는 것과 같은 전략도 필요할 것으로 보인다. 하지만 시간이 필요할 뿐 불가능한 것은 절대 아니므로 어느 정도 시간이 지나면 DVD를 재생하고 HD 포맷으로 업컨버팅 출력을 제공하는 HD 카드의 출현을 실제 보게 될 수 도 있을 것 같다.@