기본 콘텐츠로 건너뛰기

Java Inside - BD-J에 대한 소개

이 글은 http://javba.tistory.com/10 팀 블로깅에도 동시에 게제하였습니다.


Blu-ray Disc?

게임이 취미인 분들은 Sony의 Playstation 3를 잘 알고 계시리라 믿는다. 비록, 필자는 Nintendo Wii만 보유하고 있지만 한 때 Playstation 3를 지를까 한참 고민도 했었다.

Playstation 3는 게임기 기능도 갖추고 있으나 최근 새로운 미디어로 각광받는 Blu-ray Disc 플레이어로도 활용할 수 있다. 비록 국내에서는 불법 영화 다운로드 및 IPTV의 빠른 보급으로 인해 많이 사용되고 있지 않지만 미국이나 타 국가에서는 빠르게 보급되고 있는 디지털 기기 중 하나이다.

Blu-ray Disc는 기존 DVD가 4GB ~ 8GB 정도의 용량을 지원하는 것에 비해 무려 6배 이상인 25G ~ 50G 정도의 용량을 지원한다. 구현 방법에 따라서는 100GB ~ 200GB 정도도 지원가능하다고 하니 기존 DVD 대비 혁신적인 포맷임이 분명하다.

Blu-ray Disc에는 용량 외에도 매우 흥미로운 기술이 표준으로 채택되었는데 바로 BD-J (Blu-ray Disc Java)라고 하는 Java 프로그램 개발 환경을 제공한다는 것이다. BD-J를 이용하여 Blu-ray Disc 타이틀에 인터액티브 메뉴를 제공하거나 혹은 게임 등의 Java 응용프로그램을 사용자에게 제공할 수 있다.

BD-J로 개발 가능한 응용프로그램?

BD- J를 이용하면 어떤 어플리케이션을 개발 할 수 있을까? 가장 먼저 떠오르는 것이 타이틀에서 제공하는 사용자 메뉴 화면이다. 기존 DVD 타이틀과 달리 Java 어플리케이션으로 메뉴 프로그램을 개발할 수 있어 interactive한 메뉴 프로그램을 제공할 수 있다. 사실, Java 언어를 이용한 소프트웨어 개발이기 때문에 개발자의 아이디어에 따라 생각치도 못한 다양한 프로그램 개발이 가능할 것이다. 다음 목록은 이미 개발된 BD-J 어플리케이션 및 개인적으로 생각해본 BD-J 응용 프로그램의 예제들이다.
  • 타이틀과 관련된 간단한 게임
  • 현재 재생되고 있는 비디오 영상에 대한 추가 설명을 제공
  • 타이틀이 보여주는 패션 물품을 온라인 쇼핑과 연계하여 소비자의 구매를 유도
  • PIP (Picture in Picture) 기능을 활용하여 감독의 설명이나 주인공의 설명을 함께 제공
  • 네트워크를 이용하여 현재 시청하고 있는 영화에 대한 감상평 쓰기
  • Twitter 계정을 이용하여 내가 시청한 영화 목록을 자동으로 등록하기
예시 한 응용 프로그램 중 몇몇은 네트워크를 필요로 하므로 Blu-ray Disc Player가 네트워크 연결을 지원하는 경우에만 가능하다. 참고로 삼성이 출시한 최신 Blu-ray Player들을 보면 대부분 Ethernet 연결 혹은 USB Dongle을 이용한 무선랜을 지원하고 있다. 물론, Sony Playstation 3 역시 네트워크 연결을 지원한다.

BD-J 표준

BD-J는 기존에 이미 존재하던 여러 Java 표준을 아우르고 또한, Blu-ray만을 위한 별도의 표준을 만들어 포함하고 있다. 아래 그림을 보며 BD-J가 지원하는 표준에 대해 정리해보자.


(출처 - 2007 JavaOne Conference TS-0887 session)

BD-J는 가장 기본적인 프로그래밍 지원을 위해 Java PBP (JSR-217)을 지원한다. PBP는 그래픽 사용자 인터페이스를 위한 AWT (Abstract Windows Toolkit) 및 어플리케이션 모델을 위한 Xlet 관련 클래스를 제공한다.

PBP는 TV, Blu-ray 컨텐츠를 다루기 위한 기능은 제공하지 않는다. 이를 위해 BD-J 스팩은 이미 Digital TV에서 사용되고 있는 GEM, MHP, JavaTV와 같은 스팩을 재 사용하고 있다. GEM, MHP, JavaTV에서 부족한 Blu-ray Disc 만을 위한 특별한 기능을 위해 BD-ROM 스팩 3-2 파트에서 새로운 Java API를 정의하고 있다. BD-J에서 새로 추가한 API 종류에 대해서 짧게 살펴보도록 하자.
  • org.bluray.media - Java Media Frameworks 관련 컨트롤을 제공
  • org.bluray.ti - 타이틀 정보 및 타이틀 정보 컨트롤 API 제공
  • org.bluray.vfs - virtual file system을 제어하기 위한 API 제공
  • org.bluray.ui - 비디오 프레임과 동기화되어 재생되는 애니메이션 기능 제공
  • org.bluray.storage - 저장 공간의 빈 공간 크기 등의 정보를 조회하는 기능 제공
  • org.bluray.system - 시스템 레지스터에 대한 정보 제공
  • org.bluray.application - org.dvb.application에 있는 클래스를 조금 확장한 패키지
  • org.bluray.net - javax.tv.locator에서 정의한 Java TV locator에 대한 구현 클래스
BD-J가 제공하는 클래스에 대해 더 자세한 기술적인 내용을 알고 싶은 분들은 Programming HD DVD and Blu-ray Disc 책을 참고하기 바란다.

BD-J의 미래?

2009 년도 자료를 보면 미국 가정의 HDTV 보급율은 2008년 대비 33%의 성장율을 보이고 있고 Blu-ray의 경우는 71%의 성장율이라고 한다. 향후 몇년 내에 기존 DVD player가 거의 대부분 Blu-ray Player로 대치될 것으로 예상되며 또한, PC의 미디어 장치로 Blu-ray가 탑재되기 시작하면 급격하게 전 세계적으로 보급율이 증가할 것으로 생각된다.
아직 영화사들이 제공하고 있는 기존 BD-J 어플리케이션의 수준이 그리 높지 않아 큰 관심을 얻고 있지는 못하지만 넓은 사용자층과 다양한 H/W, S/W 기능을 활용한 비지니스 모델을 개척할 수 있다면 BD-J 기반의 응용 어플리케이션 개발 시장도 충분히 매력적인 환경이 될 수 있으리라 생각한다.

참고자료
참고 서적은 아래 자료가 유일한 것으로 보인다.

댓글

이 블로그의 인기 게시물

Wireless: HotSpot 2.0 이란?

스마트폰 사용자가 HotSpot 2.0을 지원하는 Wi-Fi 망을 사용하는 경우라면 기존 Wi-Fi 망과 달리 이동통신 망에서 Wi-Fi 망으로의 네트워크 연결 전환이 자연스럽게 이루어진다. 예를 들면, 3G 네트워크를 이용하여 영화를 보고 있다가 HotSpot 2.0 네트워크에 연결이 가능하게 되면 영화 시청 중단 없이 Wi-Fi 망으로 자연스럽게 네트워크 연결이 이동하여 3G 망의 부하도 줄이고 사용자의 네트워크 비용도 절약할 수 있다. 시스코에서 제공한 White Paper 를 참고.

2025년 노벨 화학상 - '맞춤형 나노 스펀지' MOF 시대를 열다!

올해의 주인공들은 지구를 구하고 미래 산업을 바꿀 수 있는 혁신적인 신소재를 세상에 내놓았습니다. 바로 금속-유기 골격체(MOF, Metal-Organic Frameworks) 의 기초를 닦은 세 분의 과학자입니다! 🏆 2025년 노벨 화학상 수상자 올해 노벨 화학상의 영예는 세 명의 선구자에게 돌아갔습니다. 이들은 금속 이온과 유기 분자를 화학적으로 연결해 새로운 물질을 '설계하고 건축'하는 길을 열었습니다. 오마르 M. 야기 (Omar M. Yaghi): UC 버클리 대학 (미국), MOF의 안정적이고 대량 합성법 개발 및 '망상 화학' 분야 창시 기타가와 스스무 (Susumu Kitagawa): 교토 대학교 (일본), MOF 구조의 유연성과 기체 흡착 능력 입증 리처드 롭슨 (Richard Robson): 멜버른 대학교 (호주), MOF의 초기 구조적 개념과 설계 제시 🔑 MOF란 무엇인가요? (헤르미온느의 핸드백) MOF는 Metal-Organic Framework 의 약자로, 말 그대로 금속과 유기물로 만든 뼈대(골격체)라는 뜻입니다. 구성 원리: 무기물인 금속 이온(노드)을 유기 분자인 링커로 연결하면, 레고 블록처럼 규칙적으로 반복되는 거대한 다공성(구멍이 많은) 결정 구조가 만들어집니다. 놀라운 특징: MOF의 가장 큰 매력은 이 구조 내부에 있는 나노미터 크기의 미세한 구멍들입니다. 이 구멍들 덕분에 MOF는 1그램당 아파트 한 채 면적에 달하는 엄청나게 넓은 표면적을 가질 수 있습니다. 노벨위원회는 이 물질을 '헤르미온느의 핸드백' 처럼 작은 물질 속에 엄청난 공간을 담고 있다고 비유했습니다! 💡 이 연구가 인류에게 주는 영향 MOF 기술은 단순히 학문적인 발견을 넘어, 당면한 지구적 문제를 해결할 수 있는 실용적인 첨단 소재로 주목받습니다. 1. 기후 위기 극복의 열쇠 이산화탄소 포집: MOF의 미세 구멍을 활용하여 발전소나 산업 현장에서 배출되는 CO₂를 선택적으로 흡착하고 분리해 대기 중 ...

Apple M1 Mac Mini에서 이더리움 (Ethereum) 채굴하기

 돈을 벌 목적은 아니고 이더리움 기술에 대한 호기심에 직접 채굴(마이닝)에 나서 보기로 했다. 머신은 Apple M1 Mac Mini. 스팩을 살펴보니 8 Core GPU에 16GB 메모리를 공유하고 있어 가능은 해보인다. 큰 흐름은 다음과 같다. 채굴한 이더리움을 저장할 지갑을 만든다 만든 지갑의 정보를 잘 보관해둔다 (Secret Recovery Phrase, 지갑의 주소 값) Apple M1용 채굴 프로그램 설치 내 지갑 정보를 이용해서 채굴 프로그램 실행 일단, 채굴한 이더리움을 저장할 지갑(wallet)을 만들어야 한다.  크롬 브라우저 익스텐션 설치로 비교적 간단하게 지갑을 만들 수 있는  https://metamask.io/ 를 이용하기로 했다. 크롬 익스텐션을 설치 후 기존에 만든 지갑이 없으므로 "Create a Wallet"을 선택한다. 패스워드 입력하고 등등의 절차를 거치면 아래와 같은 Secret Recovery Phrase가 나온다. 이 값을 잘 보관해두기 바란다. 나중에 지갑을 복구할 때 필요한 값이다. 이 값이 유출되면 지갑에 모아둔 이더리움을 다 털릴 수 있으므로 안전한 곳에 보관한다. Confirm Your Secret Phrase에서 확인 과정을 거친다. 직접 입력하는 것이 아니라 단어 별 버튼을 일일이 클릭해서 확인해주어야 한다. (좀 번거롭지만 그만큼 Secret Recovery Phrase가 중요함을 인지시키기 위한 과정이다.) 이제 지갑은 준비 완료. 생성된 Account 화면에서 지갑의 주소갑을 얻을 수 있다.  Apple M1용 채굴 프로그램을 설치해보자. Ethminer M1 Github 프로젝트 에서 미리 컴파일된 바이너리를 다운로드 받는다. (Assets를 펼치고 ethminer-m1을 클릭해서 다운 받으면 된다) 원하는 폴더에 파일을 옮겨 놓고 Terminal에서 chmod +x로 실행가능하게 만든다. % mv ~/Downloads/ethminer-m1 .   ...