hbbtv v2-for-w3 ckeio-workshop
TRANSCRIPT
自己紹介
• 出葉義治(でわよしはる)• 15年くらいこの手の技術界隈で仕事(技術開発・標準化)– ISO MHEG-1/5
– BS/CSデジタル放送、地上波:BML
– 放送向けJava (DVB MHP/ARIB-J)
– サーバー型放送– Hybridcast
• 仮想機械系言語を色々– p-code, ASN.1, JVM, CLI/C#, ECMAScript
• 趣味:デジタルガジェット、文字コード
page 3
今日のお話• HbbTVとは?
– 欧州で始まっているHybridcastみたいなもの
– Ver1.0とVer1.5がサービスされている
• HbbTV 2が出来たのでその変更点について– 追加された新技術
– 機能の改善
– セカンドスクリーン
– テスト
– 現状・今後
page 4
Hybrid broadcast broadband TV
• ドイツとフランスが考えていたInteractiveTV(H4TV)の仕様を統合(2009年2月~)したものが起源
• Web技術や、既存の標準をベースに作成• TV受信機の放送とブロードバンド(IP網)の複合環境を構築
– TVの視聴体験をより豊かに• 仕様は、伝送レイヤーに依存しない(地上波、衛星、ケーブル)– あくまでも放送であるためIP接続が必須なモデルではない
• ファウンダーメンバー:ANT Software Ltd (Espial)., Astra Platform Services, French broadcasters: Canal+, TF1, France Televisions, Institut Für Rundfunktechnik (IRT), OpenTV, Philips(現TPVision) , Samsung, Sony
HbbTVとは?
page 5
サービス状況
2009 2010 2011 2012 2013 2014
ドイツでサービス開始
スペインでサービス開始
オランダでサービス開始
ポーランドチェコなど
フランスでサービス開始
フィンランドスイスでサービス開始
注)公式にサービス開始と言っていない国もあります。
page 6
• 主たる前提条件– 放送番組の品位を落とさない– 放送事業者とメーカーがwin-winになることを目指す– 端末の仕様を規定し、システム全体は規定しない– インターネット接続は推奨で、必須とはしない
• 放送のみでもシステムとして破綻しない
• 二つの成熟かつ安定した技術を立脚点とする– 組み込み系ウェブブラウザを含むウェブ技術標準– 英国などで使われているDSM-CCオブジェクトカルーセル
• 必要とされる他の仕様の要素の取り込み– DVB MHPで規定されるアプリケーション制御信号– Open IPTV Forumで規定されるTV向けJavascript API群
前提条件
page 7
HbbTVの利点• 単にTV局がIPTVサービスを行うだけでは後追いで面白みがない– TV局はやはり放送サービスありき!
– この他に出来ない優位な点をIP配信で活かせないか?
– 一方IP配信での課題の一つはサービスへの誘導
HbbTV仕様を使えばTV視聴というマスカジュアルな行為から,ボタン(赤ボタン)一発でサービスポータルへの誘導が可能
放送のリーチ力を生かしてIPTVサービスを提供することが可能
page 8
今までの規格:HbbTV 1と1.5
• HbbTV v1– 2010年6月にETSI:欧州電気通信標準化機構(http://www.etsi.org/)で仕様公開
– 2012年8月にテストケース 0.9版が利用可能に
• HbbTV v1.5– 2012年11月にETSIで仕様公開
• 2013年10月にエラッタ1発行• 2014年8月にエラッタ2発行
– テストケース1.0版• レビュー中。2015年5月以降になりそう
page 9
DVB A137CEA-
2014
(CE-
HTML)
TS 102
796
プロファイル
Audio
and
Video
formats
Declarativ
e
Applicatio
n
Environm
entTV機能/映像再生機能拡張
W3C 仕様
XHTML
CSS
アプリケーション管理信号参照
IPTV用映像音声仕様参照DAE仕様参照
XHTML/CSS仕様参照XHTML/CSS仕様参照
HbbTV仕様
UI機能拡張
Open IPTV Forum CEA DVB
W3C
Open IPTV Forum (OIPF) JavaScript APIs for TV environment (e.g. tuning,
now/next info, PVR, …) Media formats Modifications to CE-HTML
CEA (CE-HTML) JavaScript APIs for on-demand media Subset of W3C specifications &
image formats Remote control support
(e.g. key events, spatial navigation)
DVB Application signaling Application transport via DVB (DSM-CC
object carousel) Stream events
W3C XHTML CSS 2.1, CSS-TV DOM-2 (including XML Document support) ECMAScript XMLHTTPRequest
page 10
機能サマリ機能 HbbTV 機能 備考
グラフィックス • HDプレーン 1280x720
• 解像度のアップ・ダウン可能
コンテンツ保護 /
DRM
• CI+ や他のDRMに対する簡単なインタフェース
テキスト表示 • 組み込みフォント: tiresias & letter_gothic 12
• 他のフォントはダウンロード
課金 • HTTPSで処理 •一般的なウェブ決済
アプリケーションへのトリガー
• カルーセル中のトリガーデータ(DVB同様)
リモコン • 必須キー : OK BACK TXT 0…9
• オプション: EXIT/TV, P+/P-, “メーカーポータルキー”
アプリ起動 • チャネルの信号によって自動起動する• 他の場合は、実装依存
•自動起動するアプリは、赤ボタンを待ち受けるたけのものであったりする
ビデオ • HTTPS or HTTP streaming
• MPEG DASH
情報蓄積 • Cookieのみ
page 11
• 1080pと 720pをサポート
• アプリのグラフィックプレーン論理解像度は横1280 pixels縦720
pixels
• HbbTVアプリは1080pの端末においてアップスケールされて表示される
セーフエリア
グラフィックスおよび解像度
page 14
• 受信機は、即時発火イベントをサポート
• ライブなどに対応
• 機能自体はすでにDVB側(放送仕様)で規定されているので、HbbTV仕様には、含まれていない。
• 単一のストリーム上のアプリで“do-it-now”(即時発火)ストリーム記述子を監視するため、映像と同一のストリームに信号を配置する必要がある。
TV番組との同期
page 15
同期のためのリスナーvoid addStreamEventListener(String targetURL,
String eventName, EventListener listener)
void removeStreamEventListener(String
targetURL, String eventName, EventListener
listener)
interface StreamEvent : Event {
readonly attribute String name;
readonly attribute String data;
readonly attribute String text;
readonly attribute DOMString status;
}
page 16
Runtime Environment
ハイブリッド端末の機能コンポーネント
2015/3/16Confidential
Broadband
Application Application Application
embed/control
AIT Data
Stream Events
Application Data
Linear A/V Content
Non-Linear A/V
Other Data(e.g. Channel List)
Object CarouselBroadcast Interface
Section Filter
AIT
Filter
Application Manager
DSM-CC Client
BroadcastProcessing
Media Player
Broadband Interface
Internet Protocol
Processing
Browser
Broadcast
page 18
HbbTV Ver2.0
• 完成までの歴史– 要求条件の検討を2012年10月から開始~2013年3月終了
– ドラフト完成は2014年7月• DVB側で検討していたDASHやコンパニオンスクリーン、HEVCなどの完成を待つことに。
– テストアサーションの開発と仕様のレビューを並行して6か月行う
• テストアサーションが完成するまで仕様の発行を許可しないというステアリングボードの決定のため
– 2015年1月に最終承認され、2015年2月に公開
page 19
HbbTV v2仕様の参照関係
TTML
TS 103 286
CSS
TS 102 809
AIT
TS 103 285
DASH Profile
23009-1 DASH
23001-7 CENC
Tech-3380
“EBU-TT-D”
EN 300 468
DVB-SI
Web Standards
TV Profile
.....CSS3..HTML5 …...DOM3..
Vol. 5
DAE
TS 103 205ext. to CI Plus
Vol. 2
Media Formats
HbbTV Specification
CEA-2014
TS 101 154
CI Plus
Vol. 7Content & Service
Protection
Video and Audio
Codecs
page 20
HTML5と関連する技術の導入• HbbTV v1/1.5では、CEA-2014(CE-HTML)ベース。Open IPTV ForumのDAE(Declarative Application Environment)を改良
– まずOIPFでウェブスタンダードのための仕様を作成– 大部分がOpera (Presto)とWebkitの共通部分から構成
• HTML5への置き換え– HTML5の意味は人によって様々
• TV業界の人が “HTML5”というときHTML5 video要素のことを言っている場合が多い
– 様々な機能がHTML5と共に考案・活性化された• WOFF, Canvas 2D, XHR, Web Messaging, Web Socket, Web Workers, Server-Sent Events,
Web Storage, Media Fragment URI
• CSS 2.1をベースにしたスタイルシート– 加えてCSS3からもいくつか持ち込んでいる
• Basic UI, Color, Images, Backgrounds and Borders, Selectors, Media Queries, Multi-column Layout, Flexible Box Layout, Fonts, Transforms, Transitions, Animations
• v1/1.5ではDOM2だったがDOM 3になった
page 21
HTML5 Video要素• IP配信用ビデオの必須仕様
– 同じHTMLアプリでTVだけでなく、タブレットはスマホでも使える(はず)
– OIPFのビデオ機能に比べて機能面やパラメタで不足がある• 受信機はどちらも必須なので、アプリは選択可能
• TVに必要な様々な機能を追加– MPEG-2 TS, ISOBMFF/MP4, DASHといったフォーマットと
HTML5ビデオ要素の機能のマッピング
– 時間に関するパラメタの精密度の規定• 例えば、‘currentTime’が示す値はデコードのどの時点でのもので、どのくらい正確でなければならないか、といったこと
– 組み込みTTMLデコーダを使ったTTML字幕のサポート• W3C仕様ではWebVTTをブラウザがデコードすることを想定
page 22
他の追加新技術• ネット配信用のHEVCビデオ
– 放送でのHEVCについては国の放送規格で決めるので所掌外– UHDとHDの両方をカバー
• UHDは放送規格がまだないので補完の意味合い• HDは、同じビットレートならAVCより品質が高くなる。(同じ品質なら低ビットレートにできる)
• 通信経路での字幕– ISOBMFF (いわゆる“MP4”)形式で運ぶサブタイトルの方式追加– W3C TTMLのEBU(欧州放送連合)プロファイル (“EBU-TT-D”)を使う
• プライバシー– W3C ‘do not track’仕様をサポート– サードパーティクッキーの使用を禁止できるようにオプションを設定できることを推奨
– ウェブサイトをトラッキングすることを禁止できるようなオプションを設定できることを推奨
• 複数ストリームの同期– 例えば、通信からの音声を放送映像と同期– 機器を跨いだアプリとコンテンツの同期(後述)
page 24
V1/1.5からの改善点(1)• MPEG DASH
– DVBで決めた MPEG DASHプロファイルを使用
• 既存のHbbTV MPEG DASHプロファイルも併用
– オンデマンドだけでなくライブ配信も。
• VoDコンテンツの広告挿入(ガイドライン)
– 二つのHTML5メディア要素を使う
– 遷移をスムースに行うための要求条件をいくつか記載
• プッシュVoD
– いわゆる放送で行う非リアルタイムコンテンツ(ファイル)配信
– ファイル転送プロトコル(FDP)を既存のAPIを組み合わせて行う
• FDPは、DVBが決めたファイルを送るために最適化された仕様
• MPEG2TSに直接DVB Data piping model(ETSI EN 301 192)を適用している
page 25
V1/1.5からの改善点(2)
• マウス・キーボードサポート– 既存APIを拡張してサポート
• キー要求の衝突の調停– HbbTVアプリがフォーカスを持っている時とTVシステムがフォーカスを持っている時の間でのユーザ入力の振る舞いを規定
• オブジェクトカルーセルのキャッシュ– オーストラリアのMHEG5で使っている方式をベース
• VK_RECORD仮想キーの追加– レコーダ機能がある受信機のみ実装必須に
page 27
TVからのCSアプリ起動
HbbTV 端末 Companion Screen
Native
App.Web Browser
HTML App.
Web Browser
HbbTV App.
HbbTV
CSManager
CS Application
LauncherDiscover CS Launcher
Install / Launch
Launch Install / LaunchDiscovery / launch
• セカンドスクリーン上の“Launcher”アプリを視聴者が起動• Launcherアプリは、TVメーカーが作る想定• 端末とLauncherアプリ間のプロトコルは独自だが、どのアプリをどのアプリストアから取ってくるといったことは指定可能
• アプリは、HbbTVCSManagerに今動いているLauncherアプリのリストを問い合わせ
• アプリは、Launcher実行中の機器を選ぶ• アプリは、Launcherアプリにアプリのインストールや起動を伝える
page 28
App間通信
HbbTV端末 Companion Screen
Native
App.Web Browser
HTML App.
Web Browser
HbbTV App.
HbbTV
CSManager
CS Application
WebSocket
Server
WebSocket connection
WS
co
nn
ecti
on
Service end-points
• TV上ではWebSocketサーバが稼働• アプリは、HbbTVCSManagerにWebSocketサーバの接続(local end point)を問い合わせ、WebSocket接続をローカルに行う
• Companion screenのアプリはWebSocketサーバの接続(remote end point)を取得し接続する
• WebSocketサーバはそれぞれの接続をペアリングする
page 29
TV上のHbbTVアプリをリモート起動
HbbTV端末 Companion Screen
Native
App.Web Browser
HTML App.
Web Browser
HbbTV App.
HbbTV
CSManager
CS Application
Discovery HbbTV Terminal
Launch HbbTV App
Launch HbbTV App
» Netflix/Youtubeが使っているDIALプロトコルをベース» Companion screen上のアプリは、HbbTV端末を発見しHTTP POSTリクエストを使ってアプリを起動するための接続ポイントを生成する
» HTTP POSTのペイロードは XMLフラグメントを使う» アプリの起動は、諸般の事情で拒否することができる
page 30
Companion Screenの共通利用技術
• Companion Screenの3つのシナリオで使われる共通点– DIAL/ UPnP-SSDPベースの機器発見
• Companion Screen機器はDIALを使ってHbbTV端末を発見する
• 発見時にサービスのためのURLを提供する
– HbbTVCSManagerオブジェクトをサポート
• TV上のアプリはCS機器のリストを取得できる
• TV上のアプリはCSサービス用のURLを取得できる
– Companion ScreenアプリからTVのサービス用URLを取得する方法
• UPnP discoveryを使って取得
• TVで動作しているアプリからアプリ間通信を使って取得
• CSアプリが既に起動している場合は、起動パラメタとして取得可能
page 31
テスト• HbbTV v1/1.5ではテストスーツ開発はボランティアベース:非常に進捗が遅く大変
• 仕様と個々のテストの対応は、“assertions”と呼ばれる– assertionsの作成とレビューをボランティアでやるのは困難
– v2では、assertionsのレビューが終わるまで仕様の発行を禁止した
• レビュー済のassertionsを基にテストを作成
– テストケースの供給元の立候補については告知済で、それに呼応してRequest for Proposal(RfP)を作成
page 32
HbbTVテストシステム
Test Case
Test Case XML
Test Assertion
Test Procedure
Test Material &
Implementation
テストスーツ
DVB-T/S/C Transport Stream (A/V, DSM-CC, SI)
HbbTV Test Application, IP-delivered Media
HbbTV Testing API:
Instructions to Tester, Screen Captures, Test Results
HbbTV Test Harness
Receiver Under
Test
page 33
現状
• 2015年2月2日HbbTV V2.0発行
• Ver2.0用のテストは2015年4/5月に契約開始– 2016年中にテストケースがリリースされる見込み
• 次のHbbTV仕様?