DLNAガイドラインとは

既存のビデオコンテンツを「DiXiM Digital TV plus for IO-DATA」から視聴するために、いろいろなDMSを使って試行中ですがなかなかうまくいきません。

そこで、そもそも「DLNAガイドラインって何?」というところに戻って整理してみました。
ここに記載してある内容は、インターネットで公開されている情報以外に個人的な認識を混ざっていますので、その部分は間違っている可能性は大です。
※正確なそして詳細な内容は、DLNAガイドラインに関するドキュメントを入手する必要があると思いますが、うん十万円もするようです。

DLNAは、「Digital Living Network Alliance」の略です。

一通りのことは、以下のサイトにまとめられていますので参考になります。
Lanhome(ランホーム)「DLNAとは」
Lanhome(ランホーム)「DLNAのバージョン」
アルファシステムズ「DLNAで出来る事」

1.DLNAの目的
家庭内ネットワークに接続した家電、携帯端末、PCなどのデジタル機器間の相互接続を容易にすることを目的にしています。
その実現のために新しい技術を開発するのではなく、既存の技術を利用することを方針にしているようです。
※家庭内ネットワークは有線・無線を問いません。


2.基本構造と機能
DLNAの基本構造は以下になります。
Media format JPEG,LPCM,MPEG2
Device Detection, Control & Media Management UPnP AV 1.0
Media Transfer UPnP DA 1.0
HTTP 1.0/1.1
Network stack IPv4 Protocol
Network Connectivity Wired:IEEE802.3i(10BASE-T)、IEEE802.3u(100BASE-TX)
Wireless:IEEE802.11a/b/g
機能は以下のようになります。
UPnP/UPnP AV 1.0の技術が使われています。

①アドレッシング
ネットワーク上のデバイスが自動的にIPアドレスを決定する機能です。
「DHCP」によるIPアドレスの自動割り当てと、それに失敗した場合の「AutoIP」が使われます。

②ディスカバリ
ネットワーク上の機器の検出機能です。
デバイスがネットワークに接続された際、他のデバイスへの告知や他のデバイスの検索を行います。
「SSDP」プロトコルを使用してネットワーク上に「ssdp:discover」を送信します。NOTIFY(告知)もしくはM-SEARCH(検索)メッセージをマルチキャスト(UDP 239.255.255.250:1900)して他のUPnP対応機器からのレスポンスを調べます。
そのレンスポンスに対して、すでにネットワーク上にあるUPnP機器から「ディスクリプションドキュメント」のURL、個別ID(uuid)などのメッセージが送り返されます。
SSDPはHTTPU/HTTPMUの上位プロトコルになります。HTTPU/HTTPMUは、HTTPのUDP版です。上記にはHTTP1.0/1.1が使われます。

③ディスクリプション
検出したデバイスからさらに詳細な情報を取得する機能です。
デバイスごとにデバイス情報やそのデバイスのサービス情報を保持しています。
これらの情報はディスクリプションドキュメント(XML文書)として保持します。
これにはデバイス情報が記載されたデバイスディスクリプションとサービスのアクション一覧が記載されたサービスディスクリプションがあります。
検出時の応答メッセージでデバイスディスクリプションのURLが伝えられ、さらにこのデバイスディスクリプション内にサービスディスクリプションのURLが記載されています。
「HTTP」プロトコルを使用してディスクリプションドキュメントの取得(GET)が行われます。
送られるXML文書にrootタグがあるほうがデバイスディスクリプション、scpdタグがあるほうがサービスディスクリプションのようです。

④コントロール
ディスクリプションドキュメントで知ることができたデバイスを実際に制御する機能です。
たとえば、利用者が操作した内容にあわせてそのデバイスへアクションが送信されます。
このアクションは、先ほどそのデバイスから入手したサービスディスクリプションを参照してデバイスにあったアクション要求(SOAPメッセージ)を送信します。(サービスの呼び出し)
それには「SOAP(Simple Object Access Protocol )」が使用されます。「HTTP(Hypertext Transfer Protocol)」の上位プロトコルになります。
SOAPメッセージは、HTTPヘッダーに「soapaction:」を使い、SOAP bodyに実際のアクションをXML文書で記載してあります。
アクションの結果を受信してそれを自身の画面に反映します。

⑤イベンティング
デバイスのサービス状態監視機能です。
これには「SUBSCRIBE(登録要求)」と「NOTIFY(状態変化の告知)」があります。
デバイスは「登録要求」を受信すると、自身のデバイスの状態が変化した際にそのデバイスへ「状態変化の告知」を行います。
「GENA(General Events Notification Architecture )」プロトコルが使用されています。「HTTP」の上位プロトコルになります。

⑥プレゼンテーション
WEBサービスを使用してデバイスの設定を行う機能です。

①~⑥により、デジタル機器を家庭内ネットワークに接続するだけで機器間でうまく制御ができるようになります。

UPnPとUPnP AV
UPnP DA(Deviceアーキテクチャ)が下層プロトコルになります。上記①から⑥はUPnP DAのことです。
この上層プロトコルにUPnP DCP(Device Control Protocols)があります。
UPnP DCPの種類にUPnP AVやUPnP IGD、そのほかにもBasic Device、Imaging、Security、Home Automation&Securityがあります。
UPnP AVは、AVコンテンツの再生などを目的とし、デバイスとしてMediaServerとMediaRendererの2種類、サービスとしては、MediaRenderer、ConnectionManager、AVTransport、RenderingControlの4種類を定義しています。
ちなみに、UPnP IGD(Internet Gateway Device)はインターネットゲートウェイ(ルータやインターネット接続共有ソフトなどのこと)について定めたものです。UPnP対応ブロードバンドルータというのがこれです。


3.デバイスクラスとバージョン
前記のサイトに詳細がありますので抜粋のみです。
DLNA 1.0
デバイスクラスはHome Network Devices(HND)のデジタルメディアサーバ(DMS)とデジタルメディアプレイヤー(DMP)のみで、「2-BOXモデル(pull)」構成でした。

DLNA 1.5
HND以外にもMobile Handheld Devices(MHD)やNetworked Infrastructure Devices(NID)用などデバイスカテゴリが追加され、さらにデジタルメディアコントローラ(DMC)やデジタルメディアレンダラー(DMR)などのデバイスクラスも新たに加わりました。
デバイスクラスは17種類あり、 それらは3つのデバイスカテゴリに分類されています。
(1)ホームネットワークデバイス:Home Network Devices(HND)
(2)モバイルハンドヘルドデバイス:Mobile Handheld Devices(MHD)
(3)ホームインフラストラクチャデバイス:Networked Infrastructure Devices(NID)
これにより「3-BOXモデル」構成が実現します。
日本のデジタル番組事情を考慮してかDTCP-IP対応(ネットワーク配信時の暗号化)が追加されましたが、各社のDRMについてはまだのようです。
Windows Media DRM 10はオプション扱いです。

Device Class DLNA 1.0 DLNA 1.5
Digital Media Server(DMS)
Digital Media Player(DMP)
Digital Media Controller(DMC)  
Digital Media Renderer(DMR)  
Digital Media Printer(DMPr)  
Mobile Digital Media Server(M-DMS)  
Mobile Digital Media Player(M-DMP)  
Mobile Digital Media Upload(M-DMU)  
Mobile Digital Media Download(M-DMD)  
Mobile Digital Media Controller(M-DMC)  
Printing Controller –1(+PR1+)  
Printing Controller –2(+PR2+)  
Upload Controller(+UP+)  
Download Controller(+DN+)  
Push Controller(+PU+)  
Mobile Network Connectivity Function(M-NCF)  
Media Interoperability Unit(MIU)  


DLNA 2.0
家庭内だけでなく外出先などの外部のネットワークとの接続やさらに多くの機器を追加する予定?
録画環境まわりの機能追加?

DRM(Digital Rights Managementの略:デジタル著作権管理)
アップル、マイクロソフトその他、著作権保護のあるコンテンツ(ダウンロードによって購入したコンテンツなど)に関する問題については今後の課題のようです。
デジタル放送の録画データに関してはネットワーク上を流れるデータを暗号化することによりストリーミング配信することが許可されています。
これに準拠するのがDTCP-IPでDTCP-IP1.2でさらにムーブ&コピーが可能になります。


4.Media Format
DLNAでいうところのMediaは基本的には「ビデオ」「画像」「音楽」の3種類です。
それぞれのMediaにはさまざまなファイルフォーマット(ファイル形式)が、さらにそのファイルフォーマットは何種類かのコーデック(圧縮伸張方式)の中から使用されます。
その組み合わせ(Media Format Profile)を考えると世の中には300種類以上の組み合わせが存在することになります。独自のものを入れるとさらにその数は増えます。
この組み合わせの中から各社が自由に選択し製品を販売してしまうと、利用者が再生したいMedia Formatにあわせて購入しないといけなくなり、選択肢は極端に減ります。
せっかくUPnPでデバイスの接続ができていても、それぞれのデバイスでサポートするMedia formatが異なると、再生ができなず使えないことになってしまいます。
これを防ぐために、「ビデオ」「画像」「音楽」の3種類それぞれにMedia Formatが決められています。
現在は、以下のようになっているようです。
デバイスカテゴリ ビデオ 音楽 画像
ホームネットワークデバイス MPEG1
MPEG2
MPEG4
WMV9
VC-1
LPCM(2channel)
MP3
WMA9
AC-3
AAC
ATRAC3plus
JPEG
PNG
GIF
TIFF
モバイルハンドヘルドデバイス MPEG4 AVC
(AAC LC Assoc Audio)

VC1
H.263
MPEG2
MPEG4 part 2
MPEG4 AVC
(BSAC or other for Assoc. Audio)
LPCM
MP3 and MPEG4 AAC LC
MPEG4 AAC LTP
MPEG4 HE AAC
MPEG4 BSAC
AMR
ATRAC3plus
WMA
G.726
JPEG
PNG
GIF
TIFF
デバイスがここに記載されているMedia Format(赤字箇所)をサポートしていなければDLNA認証テストをパスできません。
黒字の箇所はOption扱いになりますので、デバイスごとに異なる可能性があります。
再生したいMedia Formatがここに記載がないからといってダメなわけでもなく、たまたまデバイスが対応していて再生できる可能性もあります。
Optionを含めても非常に少ないと思えますが、デバイス間の互換性の向上を考慮すると仕方がないように思います。


DLNAについて感想
接続というと物理的に郢ォげばよいだけのイメージがあると思いますが、実際に機能を使う場合は、機器どうしがお互いを発見し制御しあえてはじめて可能になります。
人におきかえると「心が通じ合って」というレベルまでのことでしょうか・・・
利用者からすれば、その状態でないと使えません。
DLNAガイドラインはそのプロセスを自動化し、利用者はデジタル機器をネットワークに郢ォげるだけで目的の操作ができる。
そういった環境をグローバルに構築するための取り決め的なものがDLNAガイドラインであり、その選択肢のひとつである思います。

たとえば、1階の部屋と2回の部屋にデジタルTVがあり、自分の部屋にPCがあり、番組録画がしたいので1階の部屋のデジタルTVにブルーレイレコーダを購入したとします。
1Fの部屋で録画した番組を2FのデジタルTVやPCで視聴する場合、ブルーレイやDVDメディアに一旦書き込みをし、それを2階の部屋のデジタルTVもしくはPCで再生しなければなりません。もし、2階のデジタルTVやPCにブルーレイやDVDの再生機能がない場合、新たに機器を購入しなくては再生はできません。また、2階のデジタルTVはブルーレイ再生機がPCにはDVDプレイヤーがあったとした場合、それぞれの部屋で視聴するためにブルーレイとDVDのメディアに書き込み使い分けることになります。
しかし、これらの機器がDLNA1.0対応でネットワークに接続されていれば、2階の部屋のデジタルTVやPCのそれぞれから視聴が可能になります。
また、DLNA1.5対応機器であれば、2階のPCから操作して2階のデジタルTVの大画面で視聴することも可能ですし、携帯電話を家庭内ネットワークに接続して2階のデジタルTVを操作して視聴はTV画面で行うことも可能になります。

ただ、現状、DLNA1.0と1.5が混載している状態であり、また最近になってDLNAが一般家庭でも注目されてきた状況ですので、利用者からすると、まだまだ上記のようなことが確実にできる状態ではないと感じます。しかし、近い将来、当たり前のように使える環境になると信じています。
何事もそうですが、いきなり「完璧」な結果をだすのは無理です。
今は、将来便利になるその過渡期であると思えばよいのかなぁと自分自身を言い聞かせています。

利用ケースは発想しだいでどんどん広範囲に及んでいく、DLNAはそういう類のものだと思います。