Apple TVとHDMIのCECシステムスタンバイ

概要

Apple TVでずっとNetflixで映画を観ていたところ、妻がやってきて「地デジ番組を観たい」と突然言われたので、慌ててApple TVをスタンバイにしたところ、テレビもスタンバイに入ってしまいました。皆さんもこのような現象を経験したことがありませんか? Apple TVだけをスタンバイにしたいのに、何故テレビもOFFになってしまうのかという疑問について、今回解説したいと思います。

市場のクレーム

このような現象に対して実はネット上では多くのクレームが出ています。例えば、下記MacRumorsの掲示板で書かれたクレームをみてみましょう。

MacRumorsの掲示

この掲示のタイトル、要は「Apple TVをOnにするとテレビにHDMI接続された入力ポートが自動的に切り替わる動作はいいのですが、Apple TVをスタンバイ(Sleep)にするとテレビがOffになってしまうのがダメだよ!」という意味だと思います。これらの動作は、実はHDMIのCEC機能に関連するものです。しかし、後者の現象はCEC本来の目的に反し、ユーザーにとって邪魔な動作になってしまっています。これについては後ほど説明します。

CECとは

CECは、Consumer Electronics Controlの略で、HDMIインターフェースの制御機能の一つです。CECをサポートしたシンク機器(テレビなど)とソース機器(STBなど)がHDMIで接続された場合、便利な制御メッセージ(CECメッセージ)を機器間でやり取りできます。HDMIポートを持つデバイスは、CECプロトコルをサポートをするかしないか任意となりますが、基本的に市販のテレビやBD Player、Set-Top-Box(STB)はほとんどCECプロトコルをサポートしています。CECの便利さを取り上げるために、MacRumorsで報告された現象について解説しみましょう。

CECのRouting Controlメッセージ

MacRumorsで報告された現象は、CECのRouting Controlという機能の動作で、ユーザーがBD PlayerなどのHDMIソース機器をPower Onにした時に、ユーザーがその機器のコンテンツを観たいという意思を想定しています。ですので、Power Onした後にCECによるテレビとのやり取りでそのソース機器が接続したテレビのHDMI入力ポートに自動的に切り替える方が便利なので、そのような自動制御をCEC規格で規定されています。

CECのSystem Standbyメッセージ

CECのもう一つの機能として<Standby>というメッセージがあります。CECの世界ではSystem StandbyというCECメッセージがあり、ユーザーがリモコンなどでスタンバイボタンを押すと、接続されたすべてのデバイスに対して<Standby>というメッセージをブロードキャストします。例えば、ユーザーがテレビのリモコンでStandbyボタン(電源ボタンのこと)を押した時に、テレビはStandby状態に遷移する前に、接続されたすべてのHDMI機器に対して<Standby>というCECメッセージを自動的に送信します。これによって、すべてのHDMI機器がStandbyに移行する、というのが想定している便利な制御動作です。通常はユーザーがテレビの電源をOffにする場合、その他の接続機器についても不要となることから、Standby状態に移行しても問題ない、という考え方が根底にあります。通常の利用シナリオでは、テレビの電源を切ったタイミングで全ての接続機器が電源OFFになるのは便利な機能だと考えられています。

問題となるのは、STBのようなソース機器側からSystem Standbyメッセージを送信した場合、テレビも含めてすべてのHDMI機器がスタンバイに入ってしまうということです。例えば、上記のようなシナリオでApple TVの電源をOFFにした場合、必ずしも「もうテレビを見ない」というわけではないでしょう。テレビで観たいコンテンツは様々であってApple TVだけではないし、ゲームをやりたいならゲーム機の画面をテレビに表示させるでしょう。もちろん地デジやBS/CSというコンテンツを観たい時もあります。最初に紹介した例ですと、新しいユーザーが別のコンテンツを観たいだけですからApple TVだけをスタンバイにしたいわけです。

Apple TVStandby設定メニュー

CECの規格では、STBのようなソース機器側から特に明確なユーザーの指示がない限り、System Standbyのメッセージを送信してはいけないという記述があります。しかし、Apple TVではスタンバイにする方法が二つあり、両方ともApple TVのみをスタンバイできる選択肢がありません。まず一つ目はApple TVの設定画面でSleep NowというOSDボタンを選択する方法です。

もう一つはApple TVのホームボタンを長押しして下記の画面が出てくるのでSleepを選択したらスタンバイに入るという方法です。

最初の方法は注意喚起が一切なく、選択するとすべてのデバイスの電源がOFFになってしまいます。2番目の方法は注意喚起があって、「Sleepを選択すると接続されたすべてのデバイスがOFFになってしまいますよ。」というメッセージが表示されます。2番目の方法はメッセージが表示されるのでまだ親切ですが、Apple TVだけをSleepにする方法がない限りあまり意味がありません。

HDMI規格の観点から見ると、どちらの方法もシステムスタンバイを送信してしまうことになり、自分だけをスタンバイさせる方法がないため、CECの概念では逆に不便となっていると言えます。ソース機器の場合、自分だけをスタンバイさせる方法がないなら、HDMIのCECコンプライアンス試験ではPassすることが難しいでしょう。

そして実際のApple TVユーザーは、Apple TVだけをスタンバイにしたいのに、Apple TV自分自身のみのスタンバイ方法がないから、スタンバイを選択したらテレビもPower Offになってしまうことが問題の原因となっています。上記選択肢には「Sleep Apple TV Only」というもう一つのオプションを追加すればこの問題を簡単に解決できるはずのですが、何故かアップルの世界ではユーザーがApple TVのコンテンツを観ないなら他にもう観ないでしょう、という実装になっております。そのような実装はユーザーの観点もしくは規格の観点で非現実であり、現状、多くのユーザーのクレームの焦点となっています。

============
Note: Sleep(アップルの用語) = Power Off(多くの市販テレビの用語) = Standby(CEC規格の用語)
HDMIもしくはCEC規格が気になる方はHDMI Specification v1.3を参考としてダウンロードできます。
ダウンロードリンクです。

本記事に関するお問い合わせ

Check Also

オシロスコープのCSV波形Fileはなぜ大きい? CSV波形FileとBinary波形Fileの構造を詳しく解説します

読者の中に評価でオシロスコープ

Leave a Reply

Subscribe to get MCPC Technical Paper.
Subscribe
close-image
Subscribe to get the UHD Technical Paper.
Subscribe
close-image
Subscribe to get HDMI Technical Paper.
Subscribe
close-image
Subscribe to get Wi-Fi Technical Paper.
Subscribe
close-image
Subscribe to get USB Technical Paper.
Subscribe
close-image