IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ソニー株式会社の特許一覧

<>
  • 特表-ストリーム修復メモリ管理 図1
  • 特表-ストリーム修復メモリ管理 図2
  • 特表-ストリーム修復メモリ管理 図3
  • 特表-ストリーム修復メモリ管理 図4
  • 特表-ストリーム修復メモリ管理 図5
  • 特表-ストリーム修復メモリ管理 図6
  • 特表-ストリーム修復メモリ管理 図7
  • 特表-ストリーム修復メモリ管理 図8
  • 特表-ストリーム修復メモリ管理 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-03
(54)【発明の名称】ストリーム修復メモリ管理
(51)【国際特許分類】
   H04N 21/438 20110101AFI20240827BHJP
【FI】
H04N21/438
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024506969
(86)(22)【出願日】2022-08-05
(85)【翻訳文提出日】2024-02-05
(86)【国際出願番号】 IB2022057325
(87)【国際公開番号】W WO2023012751
(87)【国際公開日】2023-02-09
(31)【優先権主張番号】63/260,022
(32)【優先日】2021-08-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/506,592
(32)【優先日】2021-10-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
2.HDMI
3.JAVASCRIPT
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100092093
【弁理士】
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(72)【発明者】
【氏名】キャンデロア ブラント
(72)【発明者】
【氏名】ゴールドバーグ アダム
(72)【発明者】
【氏名】アンスフィールド フレッド
(72)【発明者】
【氏名】クリフト グラハム
(72)【発明者】
【氏名】ピネダ ローレン エフ
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA04
5C164UB21P
5C164UB38S
5C164UB41S
5C164UC27S
5C164YA21
(57)【要約】
次世代放送テレビサービスを確実に提供する上で高度テレビシステム委員会(ATSC)3.0テレビプロトコルを拡張及び/又は改善する技術について説明する。複数のメモリバッファを使用して、放送パケットの修復及び提示又は記憶を管理する。
【選択図】 なし
【特許請求の範囲】
【請求項1】
少なくとも1つの受信機が放送信号を受信できるデジタルテレビにおいて、
放送デジタルテレビ(DTV)データ要素をバッファ内に受信することと、
前記バッファが閾値を満たすデータ量を含んでいることに応答して、前記バッファ内のDTVデータ要素のパケットエラーのためのいずれかの置換用コンテンツが利用可能であるかどうかを識別することと、
置換用コンテンツが利用可能であることに応答して、前記バッファ内の少なくとも第1のDTVデータ要素を修復することと、
前記バッファ内のDTVデータ要素を少なくとも1つの解凍又は記憶エンジンに伝達して、前記DTVデータ要素を提示又は記憶のために処理することと、
を含むことを特徴とする方法。
【請求項2】
第2のDTVデータ要素のための置換用コンテンツが利用可能でないことに応答して、少なくとも前記第2のDTVデータ要素が少なくとも1つのエラーを含む旨を前記解凍又は記憶エンジンにシグナリングすることを含む、
請求項1に記載の方法。
【請求項3】
前記DTVデータ要素はDTVパケットを含む、
請求項1に記載の方法。
【請求項4】
前記バッファは、第1のメモリアドレス範囲を含む第1のバッファであり、前記方法は、前記第1のバッファが満杯になる前に前記第1のバッファ内に前記DTVデータ要素が受信されている間に、第2のメモリアドレス範囲を含む第2のバッファ内のDTVデータ要素のエラーを修復することを含む、
請求項1に記載の方法。
【請求項5】
前記方法は、前記第1のバッファが満杯になる前に前記DTVデータ要素が前記第1のバッファ内に受信されていて、前記第2のバッファ内でエラーが修復されている間に、第3のメモリアドレス範囲を含む第3のバッファから前記解凍又は記憶エンジンにDTVデータ要素を伝達することを含む、
請求項4に記載の方法。
【請求項6】
前記第2のバッファ内のDTVデータ要素のエラー修復の完了時に、前記第2のバッファから前記解凍又は記憶エンジンにDTVデータ要素を伝達することを含む、
請求項4に記載の方法。
【請求項7】
前記第3のバッファからのDTVデータ要素の伝達の完了時に、前記第3のバッファ内にDTVデータ要素を受信することを含む、
請求項6に記載の方法。
【請求項8】
前記DTV受信機は、高度テレビシステム委員会(ATSC)3.0受信機を含む、
請求項1に記載の方法。
【請求項9】
デジタルテレビ(DTV)装置であって、
少なくとも1つのデジタルテレビ(DTV)受信機と、
前記DTV受信機に関連する、命令をプログラムされた少なくとも1つのプロセッサと、
を備え、前記命令は、前記プロセッサを、
放送デジタルテレビ(DTV)データ要素を同時にそれぞれ受信し、DTVデータ要素を修復し、DTVデータ要素を少なくとも1つのディスプレイ上での提示のため又はDTVデータ要素において表現されるコンテンツの記憶のために処理エンジンに伝達するように、少なくとも第1、第2及び第3のバッファを制御する、
ように構成する、
ことを特徴とするDTV装置。
【請求項10】
前記命令は、
前記第1のバッファ内にDTVデータ要素を受信し、
前記第1のバッファが閾値を満たすデータ量を含んでいることに応答して、前記第1のバッファ内のDTVデータ要素のパケットエラーのためのいずれかの置換用コンテンツが利用可能であるかどうかを識別し、
置換用コンテンツが利用可能であることに応答して、前記第1のバッファ内の少なくとも第1のDTVデータ要素を修復し、
前記第1のバッファ内のDTVデータ要素を処理エンジンに伝達する、
ように実行可能である、請求項9に記載のDTV装置。
【請求項11】
前記命令は、
第2のDTVデータ要素のための置換用コンテンツが利用可能でないことに応答して、少なくとも前記第2のDTVデータ要素が少なくとも1つのエラーを含む旨を前記処理エンジンにシグナリングする、
ように実行可能である、請求項10に記載のDTV装置。
【請求項12】
前記DTVデータ要素はDTVパケットを含む、
請求項9に記載のDTV装置。
【請求項13】
前記第1のバッファは第1のメモリアドレス範囲を含み、前記命令は、
前記第1のバッファが満杯になる前に前記第1のバッファ内に前記DTVデータ要素が受信されている間に、第2のメモリアドレス範囲を含む第2のバッファ内のDTVデータ要素のエラーを修復する、
ように実行可能である、請求項9に記載のDTV装置。
【請求項14】
前記命令は、前記第1のバッファが満杯になる前に前記DTVデータ要素が前記第1のバッファ内に受信されていて、前記第2のバッファ内でエラーが修復されている間に、第3のメモリアドレス範囲を含む第3のバッファから前記処理エンジンにDTVデータ要素を伝達するように実行可能である、
請求項13に記載のDTV装置。
【請求項15】
前記命令は、前記第2のバッファ内のDTVデータ要素のエラー修復の完了時に、前記第2のバッファから前記処理エンジンにDTVデータ要素を伝達するように実行可能である、
請求項14に記載のDTV装置。
【請求項16】
前記命令は、前記第3のバッファからのDTVデータ要素の伝達の完了時に、前記第3のバッファ内にDTVデータ要素を受信するように実行可能である、
請求項15に記載のDTV装置。
【請求項17】
前記DTV受信機は、高度テレビシステム委員会(ATSC)3.0受信機を含む、
請求項9に記載のDTV装置。
【請求項18】
少なくとも1つのプロセッサを備えた装置であって、前記少なくとも1つのプロセッサは、
受信した放送デジタルテレビ(DTV)を、受信、エラー訂正及びデータ読み出しを含む少なくとも3つのバッファ動作間で循環させることであって、各バッファ動作は、それぞれのメモリレジスタ割り当てを有する少なくとも第1、第2及び第3のバッファの各々において順次に実行される、ことと、
バッファ動作を実行するアプリケーション間でのバッファ使用のための競合を防ぐことと、
を行うように構成される、
ことを特徴とする装置。
【請求項19】
前記装置は、高度テレビシステム委員会(ATSC)3.0受信機を含む、
請求項18に記載の装置。
【請求項20】
前記プロセッサは、放送デジタルテレビ(DTV)データ要素を同時にそれぞれ受信し、DTVデータ要素を修復し、DTVデータ要素をコンテンツの提示又は記憶のために処理エンジンに伝達するように、少なくとも前記第1、第2及び第3のバッファを制御するよう構成される、
請求項18に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、デジタルテレビを対象とする、必然的にコンピュータ技術に根ざした技術的進歩に関し、具体的には高度テレビシステム委員会(ATSC)3.0に関する。
【背景技術】
【0002】
高度テレビシステム委員会(ATSC)3.0規格群は、A/300に示されている、次世代放送テレビを配信するための数多くの業界技術標準の組である。ATSC3.0は、超高精細テレビから無線電話機までの数多くの受信装置に対するテレビ放送ビデオ(televised video)、双方向サービス、非リアルタイムデータ配信、及び的を絞った広告(tailored advertising)などの幅広いテレビサービスの提供をサポートする。ATSC3.0は、(「オーバージエア(Over the Air)」又はOTAと呼ばれる)放送コンテンツと(「オーバーザトップ(Over the Top)」又はOTTと呼ばれる)関連するブロードバンド配信コンテンツ及びサービスとの間の協調も取りまとめる。ATSC3.0は、技術の進化と共にいずれかの関連する技術標準を全面的に見直す必要なく容易に進歩を組み込むことができるような柔軟性を有するように設計されている。
【0003】
本明細書で理解されるように、ATSC3.0受信機は、単一周波数ネットワーク(SFN)又はマルチ周波数ネットワーク(MFN)においてサービスをスキャンする。また、ATSC3.0受信機は、これら両タイプの周波数ネットワークが利用可能でない場合にはブロードバンドを介してサービスを受信することもできる。ATSC3.0受信機は、コンテンツをリアルタイムでディスプレイにレンダリングし、又はコンテンツを記憶装置に記録することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書でさらに理解されるように、放送コンテンツは、受信されると処理されてエラーが訂正される。ATSC放送ストリームは、採用する変調スキームに、ATSCリンク層パケット(ATSC Link Layer Packets:ALP)内の多くのシングルビットエラーを修正する順方向誤り訂正(FEC)を組み込んでいる。マルチビット又は欠落パケットは、信号経路が劣化する又は信号ロックの損失が存在する境界条件で発生し得る深刻なエラーである。この種のエラーはFECで修復することができない。本明細書で認識されるように、このようなコンテンツは、レンダリング前又はストレージへの書き込み前に、欠落した又は訂正不能なパケットを置き換えることによって改善されることが望ましい。このプロセスでは、コンテンツにエラーがないかを調べた後に、大規模な修復プロセスを開始すべきであるかどうかを決定する必要があり、或いは場合によっては、例えばMFN内に第2の周波数が存在する場合には、一次放送フィードが何であるかについての再選択を開始すべきであるかどうかを決定する必要がある。たとえ第2の周波数に同等のサービスが存在する場合でも、アクセスは一時的なものであって一次放送のフィードを変更すべきではないと判定することができる。しかしながら、修復を試みるべきである場合には、通常、欠落したパケット又はエラーを含むパケットだけでなく、これらのパケットが存在するフレーム群内の全ての関連するパケットを置き換える必要がある。これらのパケットは、サービスから第2の周波数で取得されたパケットから、或いはそれらが利用可能でない場合にはブロードバンドを通じて取得することができる。修復アプリケーションは、コンテンツメモリへの自由なアクセスを必要とする。しかしながら、同じ装置上で動作して同じメモリにアクセスしようと試みる異なるソフトウェアアプリケーション又はハードウェア回路がコンテンツメモリに同時に書き込みを行うと、問題が生じる場合がある。具体的には、1つのソフトウェアアプリケーション又はハードウェア回路がメモリにアクセスしている時には、これらが他のアプリケーション又はハードウェア回路に対してメモリをロックアップしてしまうことがある。すなわち、修復に関与するアプリケーションが欠落又は破損したコンテンツセグメントを置き換える必要がある一方で、受信用アプリケーション又は回路が着信コンテンツセグメントを記憶する必要があり、レンダリング又は記憶用アプリケーション又は回路が解凍及び再生目的でそのメモリに、或いはハードディスクドライブ又はソリッドステートドライブなどの長期ストレージにアクセスする必要があることによって同じメモリへのアクセス権を求めて競合する場合などに、アプリケーション又はハードウェア回路に競合が発生する可能性がある。
【課題を解決するための手段】
【0005】
従って、少なくとも1つの受信機が放送信号を受信できるデジタルテレビにおいて、方法が、放送デジタルテレビ(DTV)データ要素をバッファ内に受信することを含む。方法は、バッファが閾値を満たすデータ量を含んでいることに応答して、バッファ内のDTVデータ要素のパケットエラーのためのいずれかの置換用コンテンツが利用可能であるかどうかを識別することと、置換用コンテンツが利用可能であることに応答して、バッファ内の少なくとも第1のDTVデータ要素を修復することと、を含む。方法は、バッファ内のDTVデータ要素を少なくとも1つの解凍又は記憶エンジンに伝達して、DTVデータ要素を少なくとも1つのディスプレイ上での提示のため又は記録媒体への記憶のために処理することを含む。
【0006】
いくつかの実施形態では、方法が、第2のDTVデータ要素のための置換用コンテンツが利用可能でないことに応答して、少なくとも第2のDTVデータ要素が少なくとも1つのエラーを含む旨を解凍又は記憶エンジンにシグナリングすることを含むことができる。
【0007】
実装例では、DTVデータ要素がDTVパケットを含むことができる。
【0008】
実施形態例では、バッファが、第1のメモリアドレス範囲を含む第1のバッファであり、方法は、第1のバッファが満杯になる前に第1のバッファ内にDTVデータ要素が受信されている間に、第2のメモリアドレス範囲を有する第2のバッファ内のDTVデータ要素のエラーを修復することを含む。いくつかの実装では、方法が、第1のバッファが満杯になる前にDTVデータ要素が第1のバッファ内に受信されていて、第2のバッファ内でエラーが修復されている間に、第3のバッファから解凍又は記憶エンジンにDTVデータ要素を伝達することを含む。第3のバッファは第3のメモリアドレス範囲を有する。第3のバッファが空になると、そのメモリポインタは第2のバッファのためのものであったメモリポインタに変更される。第2のバッファ内に存在していたDTVデータ要素のエラー修復が完了すると、この時点で第3のバッファ内に存在している第2のバッファからのDTVデータ要素を解凍又は記憶エンジンに伝達することができる。
【0009】
バッファのメモリアドレスは全て互いに異なり、必要に応じて互いに重複しない。様々なバッファへのポインタは、必要に応じて変化することができる。第1のバッファは、バッファが満杯である時などの閾値を満たすデータ量を含む時には第2のバッファになる。修復アプリケーションには、第1のバッファであったもののメモリ位置ポイントを与えることができる。バッファには、終端アドレス又はバッファサイズを与えることができる。古い第2のバッファのポインタは、この時点でレンダリングに関与するアプリケーションに与えられ、この時点で第2のバッファは第3のバッファになる。古いコンテンツを含む古い第3のバッファは、この時点で利用可能なバッファになって、着信パケットを受け取る第1のバッファになることができる。
【0010】
別の態様では、デジタルテレビ(DTV)装置が、少なくとも1つのデジタルテレビ(DTV)受信機と、命令をプログラムされた少なくとも1つのプロセッサとを含み、この命令は、プロセッサを、放送デジタルテレビ(DTV)データ要素を同時にそれぞれ受信し、DTVデータ要素を修復し、DTVデータ要素を少なくとも1つのディスプレイ上での提示のため又はDTVデータ要素において表現されるコンテンツの記録媒体への記憶のために処理エンジンに伝達するように、少なくとも第1、第2及び第3のバッファを制御するように構成する、
【0011】
別の態様では、装置が、受信した放送デジタルテレビ(DTV)を、受信、エラー訂正及びデータ読み出しを含む少なくとも3つのバッファ動作間で循環させるように構成された少なくとも1つのプロセッサを含む。各バッファ動作は、それぞれのメモリレジスタ割り当てを有する少なくとも第1、第2及び第3のバッファの各々において順次に実行される。プロセッサは、バッファ動作を実行するアプリケーション間でのバッファ使用のための競合を防ぐように構成される。
【0012】
本出願の詳細は、その構造及び動作の両方に関し、同様の要素を同様の参照符号で示す添付図面を参照することで最も良く理解することができる。
【図面の簡単な説明】
【0013】
図1】高度テレビシステム委員会(ATSC)3.0システムを示す図である。
図2図1に示す装置のコンポーネントを示す図である。
図3】具体的なシステム例を示す図である。
図4】デジタルTV受信機の第1の実施形態例を示す図である。
図5】デジタルTV受信機の第2の実施形態例を示す図である。
図6】特定の受信機メモリシステム例を示す図である。
図7】第1のバッファのロジック例をフローチャート例形式で示す図である。
図8】第2のバッファのロジック例をフローチャート例形式で示す図である。
図9】第3のバッファのロジック例をフローチャート例形式で示す図である。
【発明を実施するための形態】
【0014】
本開示は、高度テレビシステム委員会(ATSC)3.0テレビなどのデジタルテレビの技術的進歩に関する。本明細書におけるシステム例は、互いにデータを交換できるように放送及び/又はネットワークを介して接続されたATSC3.0ソースコンポーネント及びクライアントコンポーネントを含むことができる。クライアントコンポーネントは、ポータブルテレビ(例えば、スマートTV、インターネット対応TV)、ラップトップ及びタブレットコンピュータなどのポータブルコンピュータ、並びにスマートフォン及び後述するさらなる例を含むその他のモバイル装置などの1又は2以上のコンピュータ装置を含むことができる。これらのクライアント装置は、様々な動作環境で動作することができる。例えば、クライアントコンピュータの一部は、一例としてMicrosoft社のオペレーティングシステム、又はUnixオペレーティングシステム、或いはApple Computer社又はGoogle社によって製造されたAndroid(登録商標)などのオペレーティングシステムを採用することができる。これらの動作環境は、Microsoft社、Google社又はMozillaによって作成されたブラウザ、或いは後述するインターネットサーバによってホストされたウェブサイトにアクセスできるその他のブラウジングプログラムなどの1又は2以上のブラウジングプログラムを実行するために使用することができる。
【0015】
引用により本明細書に組み入れられるATSC3.0出版物A/344は、とりわけ本明細書で説明する技術に関連することができる。
【0016】
ATSC3.0ソースコンポーネントは、放送送信コンポーネントと、インターネットなどのネットワークを介したデータ放送及び/又はデータ送信を行うようにソースコンポーネントを構成する命令を実行する1又は2以上のプロセッサを含むことができるサーバ及び/又はゲートウェイとを含むことができる。クライアントコンポーネント及び/又はローカルATSC3.0ソースコンポーネントとしては、Sony PlayStation(登録商標)などのゲーム機、パーソナルコンピュータなどを具体例として挙げることができる。
【0017】
クライアントとサーバとの間では、ネットワークを介して情報を交換することができる。この目的及びセキュリティのために、サーバ及び/又はクライアントは、ファイヤウォール、ロードバランサ、一時ストレージ、及びプロキシ、並びに真正性及びセキュリティを高めるその他のネットワークインフラを含むことができる。
【0018】
本明細書で使用する命令とは、システム内で情報を処理するためのコンピュータ実装ステップのことを意味する。命令は、ソフトウェア、ファームウェア又はハードウェアで実装することができ、システムのコンポーネントが行うあらゆるタイプのプログラムステップを含むことができる。
【0019】
プロセッサは、アドレス回線、データ回線及び制御回線などの様々な回線、並びにレジスタ及びシフトレジスタによってロジックを実行できるシングルチップ又はマルチチッププロセッサであることができる。
【0020】
フローチャートによって説明するソフトウェアモジュール、及び本明細書におけるユーザインターフェイスは、様々なサブルーチン、手続きなどを含むことができる。本開示を限定することなく、特定のモジュールによって実行されるものとして開示するロジックは、他のソフトウェアモジュールに再分配し、及び/又は単一のモジュールに組み合わせ、及び/又は共有可能なライブラリ内で利用することもできる。フローチャート形式を使用することもできるが、ソフトウェアは、状態機械又はその他の論理的方法として実装することもできると理解されたい。
【0021】
本明細書で説明する本原理は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせとして実装することができ、従って例示的なコンポーネント、ブロック、モジュール、回路及びステップについてはこれらの機能面から説明する。
【0022】
上記で示唆したものに加え、論理ブロック、モジュール及び回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)などの他のプログラマブルロジックデバイス、離散ゲート又はトランジスタロジック、離散ハードウェアコンポーネント、又は本明細書で説明する機能を実行するように設計されたこれらのいずれかの組み合わせを使用して実装又は実行することができる。プロセッサは、コントローラ、状態機械、又はコンピュータ装置の組み合わせによって実装することができる。
【0023】
以下で説明する機能及び方法は、ソフトウェアで実装した場合、以下に限定するわけではないが、ハイパーテキストマークアップ言語(HTML)-5、Java(登録商標)/Javascript、C#、C++などの適当な言語で書くことができ、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的に消去可能でプログラム可能なリードオンリメモリ(EEPROM)、コンパクトディスクリードオンリメモリ(CD-ROM)、又はデジタル多用途ディスク(DVD)などの他の光ディスクストレージ、磁気ディスクストレージ、又は取り外し可能なユニバーサルシリアルバス(USB)サムドライブなどを含む他の磁気ストレージ装置などのコンピュータ可読記憶媒体に記憶し、又はこれらを通じて伝送することができる。ある接続は、コンピュータ可読媒体を構築することができる。このような接続は、一例として、光ファイバ、同軸線、デジタル加入者回線(DSL)及びツイストペア線を含む有線ケーブルを含むことができる。
【0024】
1つの実施形態に含まれるコンポーネントは、他の実施形態においていずれかの適切な組み合わせで使用することができる。例えば、本明細書において説明する及び/又は図に示す様々なコンポーネントのいずれかは、組み合わせ、置き換え、又は他の実施形態から除外することができる。
【0025】
「A、B及びCのうちの少なくとも1つを有する(同様に、「A、B又はCのうちの少なくとも1つを有する」、及び「A、B、Cのうちの少なくとも1つを有する」)」との記載は、Aのみ、Bのみ、Cのみ、AとBの両方、AとCの両方、BとCの両方、及び/又はAとBとC全てなどを含む。
【0026】
本原理は、ディープラーニングモデルを含む様々な機械学習モデルを採用することができる。本原理による機械学習モデルは、教師あり学習、教師なし学習、半教師あり学習、強化学習、特徴学習、自己学習及びその他の学習形態を含む方法で訓練された様々なアルゴリズムを使用することができる。コンピュータ回路によって実装できるこのようなアルゴリズムの例としては、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、長短期記憶(LSTM)ネットワークとして知られているタイプのRNNなどの1又は2以上のニューラルネットワークが挙げられる。サポートベクターマシン(SVM)及びベイジアンネットワークも機械学習モデルの一例であると考えることができる。
【0027】
従って、本明細書で理解されるように、機械学習を実行することは、モデルがさらなるデータを処理して推論を行えるように、訓練データにアクセスした後に訓練データに基づいてモデルを訓練することを伴うことができる。従って、機械学習を通じて訓練された人工ニューラルネットワーク/人工知能モデルは、入力層と、出力層と、適切な出力に関する推論を行うように構成され重み付けされた、これらの間の複数の隠れ層とを含むことができる。
【0028】
図1を参照すると、「放送局設備」10として表記するATSC3.0ソースコンポーネントの例は、典型的には1対多の関係で直交周波数分割多重(OFDM)を介してATSC3.0テレビなどの複数の受信機14にテレビデータを無線で放送するオーバージエア(OTA)設備12を含むことができる。1又は2以上の受信機14は、Bluetooth(登録商標)、低エネルギーBluetooth、その他の近距離無線通信(NFC)プロトコル、赤外線(IR)などによって実装できる、典型的には無線である短距離リンク18を介してリモコン装置、ヘッドフォン、タブレットコンピュータ及び携帯電話機などの1又は2以上のコンパニオンデバイス16と通信することができる。
【0029】
また、受信機14のうちの1つ又は2つ以上は、インターネットなどの有線及び/又は無線ネットワークリンク20を介して放送局設備10のオーバーザトップ(OTT)設備22と、典型的には1対1の関係で通信することもできる。OTA設備12は、OTT設備22と同じ位置に存在することができ、或いは放送局設備10の両設備12、22は、互いに離れて適切な手段を通じて互いに通信することもできる。いずれにせよ、受信機14は、同調したATSC3.0テレビチャンネルを介してATSC3.0テレビ信号をOTAで受信することも、或いはテレビを含む関連コンテンツをOTT(ブロードバンド)で受信することもできる。なお、本明細書の全ての図において説明するコンピュータ装置は、図1及び図2の様々な装置について示すコンポーネントの一部又は全部を含むことができる。
【0030】
次に図2を参照すると、図1に示すコンポーネント例の詳細を見ることができる。図2には、ハードウェアとソフトウェアとの組み合わせによって実装できるプロトコルスタック例を示す。放送局は、図2に示す放送局側のために適宜に修正されたATSC3.0プロトコルスタックを使用して、(本明細書では「ブロードバンド」及び「オーバーザトップ」(OTT)と呼ぶ)コンピュータネットワークと、(本明細書では「放送」及び「オーバージエア」(OTA)と呼ぶ)無線放送とを介して1又は2以上の番組要素を配信するハイブリッドサービス配信を送信することができる。図2には、受信機によって具現化できるハードウェアを含む例示的なスタックも示す。
【0031】
図2を放送局設備10の観点から開示すると、本明細書で説明するいずれかのメモリ又はストレージなどの1又は2以上のコンピュータ記憶媒体202にアクセスする1又は2以上のプロセッサ200は、最上位のアプリケーション層204において1又は2以上のソフトウェアアプリケーションを提供するように実装することができる。アプリケーション層204は、ランタイム環境で動作する、例えばHTML5/Javascriptで書かれた1又は2以上のソフトウェアアプリケーションを含むことができる。限定するわけではないが、アプリケーションスタック204のアプリケーションは、リニアTVアプリケーション、インタラクティブサービスアプリケーション、コンパニオンスクリーンアプリケーション、個人化アプリケーション、緊急アラートアプリケーション、及び使用報告アプリケーションを含むことができる。通常、アプリケーションは、ビデオコーディング、オーディオコーディング及びランタイム環境を含む、視聴者が体験する要素を表すソフトウェアで具現化される。一例として、ユーザによるダイアログの制御、代替オーディオトラックの使用、並びに正規化及びダイナミックレンジなどのオーディオパラメータの制御などを可能にするアプリケーションを提供することができる。
【0032】
アプリケーション層204の下位にはプレゼンテーション層206が存在する。プレゼンテーション層206は、受信機に実装された時に無線で放送されたオーディオビデオコンテンツを復号して1又は2以上のディスプレイ及びスピーカ上で再生するメディア処理ユニット(MPU)208と呼ばれる放送オーディオビデオ再生装置を放送(OTA)側に含む。MPU208は、国際標準化機構(ISO)ベースメディアファイルフォーマット(BMFF)データ表現210、及び高効率ビデオコーディング(HEVC)のビデオを、例えばドルビーオーディオ圧縮(AC)-4フォーマットのオーディオで提示するように構成される。ISO BMFFは、「セグメント」とプレゼンテーションメタデータとに分割される時間ベースのメディアファイルのための一般的ファイル構造である。基本的に、各ファイルは、それぞれがタイプ及び長さを有する一群のネスト化オブジェクト(nested objects)である。MPU208は、暗号解読を容易にするために、放送側暗号化メディア拡張(encrypted media extension:EME)/共通暗号化(common encryption:CENC)モジュール212にアクセスすることができる。
【0033】
図2には、放送側において、プレゼンテーション層206が、アプリケーション層204にアクセス可能な非リアルタイム(NRT)コンテンツ218を配信するために、動画専門家集団(MPEG)メディア転送プロトコル(MMTP)シグナリングモジュール214、又は単方向トランスポートを介したリアルタイムオブジェクト配信(real-time object delivery over unidirectional transport:ROUTE)シグナリングモジュール216のいずれかを含むシグナリングモジュールを含むことができることをさらに示す。NRTコンテンツは、限定するわけではないが、記憶された代替広告を含むことができる。
【0034】
ブロードバンド(OTT又はコンピュータネットワーク)側では、受信機によって実装された場合、プレゼンテーション層206が、インターネットからのオーディオビデオコンテンツを復号して再生するために、ハイパーテキスト転送プロトコル(HTTP)を介した1又は2以上の動的適応型ストリーミング(DASH)プレーヤ/デコーダ220を含むことができる。この目的のために、DASHプレーヤ220は、ブロードバンド側のEME/CENCモジュール222にアクセスすることができる。DASHコンテンツは、ISO/BMFFフォーマットのDASHセグメント224として提供することができる。
【0035】
プレゼンテーション層206のブロードバンド側は、放送側と同様に、ファイル226内にNRTコンテンツを含むとともに、再生シグナリングを提供するシグナリングオブジェクト228を含むことができる。
【0036】
プロトコルスタック内のプレゼンテーション層206の下位にはセッション層230が存在する。セッション層230は、放送側にMMTPプロトコル232又はROUTEプロトコル234のいずれかを含む。なお、ATSC標準は、伝送にMPEG MMTを使用するオプションを提供するが、ここには示していない。
【0037】
セッション層230は、ブロードバンド側にHTTP-secure(HTTP(S))として実装できるHTTPプロトコル236を含む。セッション層230のブロードバンド側は、HTTPプロキシモジュール238及びサービスリストテーブル(SLT)240を採用することもできる。SLT240は、基本サービスリストを構築して放送コンテンツのブートストラップ発見を提供するために使用されるシグナリング情報のテーブルを含む。「ROUTEシグナリング」テーブルには、ROUTEトランスポートプロトコルによってユーザデータグラムプロトコル(UDP)を介して配信されるメディアプレゼンテーション記述(MPD)が含まれる。
【0038】
プロトコルスタック内のセッション層230の下位には、低遅延かつ損失耐性のある(loss-tolerating)接続を確立するためのトランスポート層242が存在する。トランスポート層242は、放送側ではUDP244を使用し、ブロードバンド側では伝送制御プロトコル(TCP)246を使用する。
【0039】
図2に示す非限定的なプロトコルスタック例は、トランスポート層242の下位にネットワーク層248も含む。ネットワーク層248は、IPパケット通信のために両方の側においてインターネットプロトコル(IP)を使用し、放送側ではマルチキャスト配信が典型的であり、ブロードバンド側ではユニキャストが典型的である。
【0040】
ネットワーク層248の下位には、両方の側に関連するそれぞれの物理媒体上で通信を行うための放送送信/受信設備252及び(単複の)コンピュータネットワークインターフェイス254を含む物理層250が存在する。物理層250は、インターネットプロトコル(IP)パケットを関連する媒体上での伝送に適するように変換して、受信機における誤り訂正を可能にする順方向誤り訂正機能を追加するとともに、変調及び復調機能を組み込むために変調及び復調モジュールを含むことができる。物理層250は、長距離送信及び帯域幅効率向上のためにビットをシンボルに変換する。物理層250は、通常、OTA側には直交周波数分割多重(OFDM)を使用して無線でデータを放送する無線放送送信機を含み、OTT側にはインターネットを介してデータを送信するコンピュータ送信コンポーネントを含む。
【0041】
ブロードバンド側では、プロトコルスタック内の様々なプロトコル(HTTP/TCP/IP)を通じて送信されるDASH業界フォーラム(DASH Industry Forum:DASH-IF)プロファイルを使用することができる。ISO BMFFに基づくDASH-IFプロファイル内のメディアファイルは、放送配信及びブロードバンド配信の両方のための配信、メディアカプセル化及び同期フォーマットとして使用することができる。
【0042】
通常、各受信機14は、放送局設備のプロトコルスタックと相補的なプロトコルスタックを含む。
【0043】
図1の受信機14は、図2に示すように、(TVを制御するセットトップボックスと同等の)ATSC3.0TVチューナ256を有するインターネット対応TVを含むことができる。受信機14は、Android(登録商標)ベースのシステムであることができる。或いは、受信機14は、コンピュータ化されたインターネット対応(「スマート」)電話機、タブレットコンピュータ、ノートブックコンピュータ、及び仮想現実(VR)ゴーグル又はやスマートメガネなどのウェアラブルコンピュータ装置などによって実装することもできる。それにもかかわらず、本明細書で説明する受信機14及び/又は他のコンピュータは、本原理を実施する(例えば、他の装置と通信して本原理を実施し、本明細書で説明するロジックを実行し、本明細書で説明する他のいずれかの機能及び/又は動作を実行する)ように構成されると理解されたい。
【0044】
従って、受信機14は、このような原理を実施するために、図1に示すコンポーネントの一部又は全部によって確立することができる。例えば、受信機14は、高精細又は超高精細「4K」又はそれ以上のフラットスクリーンによって実装されて、ディスプレイ上のタッチを介してユーザ入力信号を受け取るタッチ対応型であることも又はそうでないこともできる1又は2以上のディスプレイ258を含むことができる。受信機14は、本原理に従ってオーディオを出力するための1又は2以上のスピーカ260と、例えば受信機14を制御する可聴コマンドを受信機14に入力するための、例えばオーディオ受信機/マイクなどの少なくとも1つのさらなる入力装置262とを含むこともできる。受信機14の例としては、1又は2以上のプロセッサ266の制御下でインターネット、WAN、LAN、PANなどの少なくとも1つのネットワークを介して通信するための1又は2以上のネットワークインターフェイス264をさらに挙げることができる。従って、インターフェイス264は、限定するわけではないがメッシュネットワークトランシーバなどの無線コンピュータネットワークインターフェイスの一例であるWi-Fiトランシーバであることができる。インターフェイス264は、以下に限定するわけではないが、Bluetooth(登録商標)トランシーバ、Zigbee(登録商標)トランシーバ、赤外線通信協会(IrDA)トランシーバ、無線USBトランシーバ、有線USB、有線LAN、電力線又はMultimedia over Coax Alliance(MoCA)であることができる。プロセッサ266は、例えば画像の提示及び入力の受信を行うようにディスプレイ258を制御することなどの、本明細書で説明した受信機14の他の要素を含めて本原理を実施するように受信機14を制御すると理解されたい。さらに、ネットワークインターフェイス264は、例えば有線又は無線モデム又はルータ、或いは無線電話トランシーバ又は上述したWi-Fiトランシーバなどの他の適切なインターフェイスであることができる。
【0045】
上記に加えて、受信機14は、別のCE装置に(有線接続を使用して)物理的に接続するための、高精細マルチメディアインターフェイス(HDMI)ポート又はUSBポートなどの1又は2以上の入力ポート268、及び/又は受信機14にヘッドフォンを接続して受信機14からヘッドフォンを通じてユーザにオーディオを提示するためのヘッドフォンポートを含むこともできる。例えば、入力ポート268は、有線又は無線を介してオーディオビデオコンテンツのケーブル又は衛星ソースに接続することができる。従って、ソースは、独立した又は統合されたセットトップボックス又は衛星受信機であることができる。或いは、ソースは、ゲーム機又はディスクプレーヤであることもできる。
【0046】
受信機14は、いくつかの事例では受信機のシャーシ内にスタンドアロン装置として、受信機のシャーシの内部又は外部の、オーディオビデオ(AV)プログラムを再生するためのパーソナルビデオ録画装置(PVR)又はビデオディスクプレーヤとして、或いは取り外し可能記憶媒体として具現化される、一時的信号ではないディスクベースストレージ又はソリッドステートストレージなどの1又は2以上のコンピュータメモリ270をさらに含むことができる。また、いくつかの実施形態では、受信機14が、例えば少なくとも1つの衛星又は携帯電話タワーから地理的位置情報を受け取ってこの情報をプロセッサ266に提供し、及び/又は受信機14がプロセッサ266と共に配置される高度を決定するように構成された、限定するわけではないが、携帯電話受信機、全地球測位衛星(GPS)受信機、及び/又は高度計などの位置又は場所受信機272を含むことができる。しかしながら、例えば3次元全てにおいて受信機14の位置を決定するために、本原理に従って携帯電話受信機、GPS受信機及び/又は高度計以外の別の好適な位置受信機を使用することもできると理解されたい。
【0047】
受信機14の説明を続けると、いくつかの実施形態では、受信機14が、本原理に従って写真/画像及び/又はビデオを収集するために、熱探知カメラ、ウェブカメラなどのデジタルカメラ、及び/又は受信機14に統合されてプロセッサ266によって制御可能なカメラのうちの1つ又は2つ以上を含むことができる1又は2以上のカメラ274を含むことができる。また、受信機14には、Bluetooth(登録商標)及び/又はNFC技術を使用して他の装置と通信するためのBluetooth(登録商標)トランシーバ276又は他の近距離通信(NFC)要素をそれぞれ含めることもできる。NFC要素例は、無線周波数識別(RFID)要素であることができる。
【0048】
さらに、受信機14は、プロセッサ266に入力を提供する(加速度計、ジャイロスコープ、サイクロメータ又は磁気センサ及びこれらの組み合わせなどのモーションセンサなどの)1又は2以上の補助センサ278、リモコン装置からIRコマンドを受け取るための赤外線(IR)センサ、光学センサ、速度及び/又はケイデンスセンサ、(ジェスチャコマンドを検知するための)ジェスチャセンサなどを含むこともできる。無線リモコンからコマンドを受け取るためにIRセンサ280を設けることもできる。受信機14に電力を供給するためにバッテリ(図示せず)を設けることもできる。
【0049】
コンパニオンデバイス16は、上述した受信機14に関連して示した要素の一部又は全部を含むことができる。
【0050】
本明細書で説明する方法は、プロセッサ、好適に構成された特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)モジュール、又は当業者が理解するであろう他のいずれかの便利な方法によって実行されるソフトウェア命令として実装することができる。ソフトウェア命令は、採用する場合にはCD ROM又はフラッシュドライブなどの非一時装置に具現化することができる。或いは、ソフトウェアコード命令は、無線信号又は光信号などの一時的構成で、又はインターネットを介したダウンロードを通じて具現化することもできる。
【0051】
次に、図3に、ATSC3.0システムなどの単純化したデジタルTVシステムを示す。図3では、図1及び図2に関連して上述した関連するコンポーネントの一部又は全部を含むことができるATSC3.0受信機300などの移動型又は固定型デジタルTV受信機が、第1及び第2のATSC3.0放送局又はアセンブリ304間の境界領域302に配置されており、両放送局304からの信号が領域302内の受信機300によって拾われる。第1の放送局304からは、第1のATSC3.0サービス(「サービスA」)が第1の周波数306で放送されるのに対し、第2の放送局304からは、同じサービスAが第1の周波数306とは異なる第2の周波数308で放送される。受信機300は両周波数を拾い、すなわち受信機300は両放送局304からの信号を拾う。
【0052】
図4に、図1及び図2に関連して上述した関連するコンポーネントの一部又は全部を含むことができるATSC3.0受信機400などのデジタルTV受信機の非限定的な実施形態例を示す。図示の例では、ATSC3.0受信機400が、例えば家庭内に配置された受信機などの固定型受信機であることができる。いくつかの例では、ATSC3.0受信機400が、例えば携帯電話機に実装又は移動車両内に配置されるような移動型受信機であることができる。
【0053】
図4に示すATSC3.0受信機例400は、1又は2以上のアンテナ406から拾い上げた信号を復調器404に送るチューナ402を含む。受信機400は、1つのみのチューナ、1つのみの復調器、及び1つのみのアンテナを含む。
【0054】
対照的に、図5には、図1及び図2に関連して上述した関連するコンポーネントの一部又は全部を含むことができるATSC3.0受信機500などのデジタルTV受信機の非限定的な実施形態例を示す。図示の例では、ATSC3.0受信機500が、例えば携帯電話機に実装又は移動車両内に配置されるような移動型受信機であることができる。いくつかの例では、ATSC3.0受信機500が、例えば家庭内に配置された受信機などの固定型受信機であることができる。
【0055】
図5に示すATSC3.0受信機例500は、1又は2以上のアンテナ506から拾い上げた信号をそれぞれの復調器504に送信する複数のチューナ502を含む。図示の非限定的な例では、ATSC3.0受信機500が2つのチューナ及び2つの復調器を有するが、これよりも多くの又は少ない数のチューナ/復調器を有することもできると理解されたい。図示の非限定的な例では、ATSC3.0受信機500が4つのアンテナを有するが、これよりも多くの又は少ない数のアンテナを有することもできると理解されたい。受信機500は、チューナへのアンテナ入力を切り替えることができ、従って第1のチューナが3つのアンテナなどから信号を受信し、第2のチューナが第4のアンテナから信号を受信した後に、チューナ間でアンテナ入力を入れ替えるように切り替えを行うことができる。2つのアンテナが、各それぞれのチューナに入力を提供することもできる。4つのアンテナ全てから単一のチューナに入力を提供することもできる。これらの及びその他のアンテナ-チューナ構成は、必要に応じて動作中にオンザフライで変更することができる。なお、異なる構成の地上アンテナを用いたOTA信号の受信を想定しているが、受信機500は、依然として電話、WI-FI又は衛星データサービスへのブロードバンド接続250を保持することもできる。
【0056】
本明細書の技術は、上記装置、システム及び構成のいずれかを使用して実装することができる。
【0057】
以下でさらに詳細に説明するように、本明細書で説明するコンテンツ修復技術は、分離されたメモリブロックに配列され区分化された複数のバッファを利用する。全ての様々なATSC3.0送信シナリオでは、コンテンツ及び関連するメタデータがATSCリンク層プロトコル(ALP)パケットを使用して送信される。例えば、バッファ1は、ALPパケットを使用して着信コンテンツ及びUDP/IPコンテンツを受信する。バッファ1は物理層パイプ(PLP)の上の層である。多くの場合は、低レベル復調器からメモリへの接続が存在して、プロセッサ200が設定以外にそれほど関与することなくコンテンツをバッファ1内に受け取ることができる。バッファ1をモニタすることで、バッファ1がどれほど多くのデータを含んでいるかを判定して、満杯の80%、100%満杯又はその他の閾値などの閾値をいつデータ量が満たしたかを判定することができる。エラーを含むパケットには、各ALPパケットに関連するエラーインジケータビットを設定することによってメモリ内でフラグを立てることができる。通常は、パケットが巡回冗長検査(CRC)に引っかかると、復調器は、このビットの受信時にビットの値を設定することができる。また、欠落パケットにはヌルパケットとしてフラグを立てることができる。バッファ1が満杯である場合又は閾値を満たす量のデータを別様に含んでいる場合、プロセッサ200は、再生メモリなどの空きメモリへの新たなメモリポインタを使用してバッファ1を再初期化することができる。本明細書で概説する修復シナリオでは、この時点でバッファ1のメモリがバッファ2になる。通常、バッファ2は解凍エンジン(decompression engine)にリンクすることができる。しかしながら、この場合、修復プロセスは、FECが1又は2以上のエラーを修正できなかった結果、受け取られたデータがハードウェアチェックサム動作に引っかかったことを示すエラーインジケータビットが設定されているかどうかを確かめるために、プロセッサがバッファ2内の各パケットを確認することを必要とする。プロセッサは、修復動作が理にかなっているかどうかを判定することができる。1つのパケットのみがエラーを有する場合には、解凍時の単純な誤り隠蔽で十分な場合もある。複数のパケットがエラーを含み又は欠落している場合には、プロセッサが措置を講じることができる。放送システムでは、異なる送信システムが帯域幅を節約するためにトランスコーディングに違いがある可能性があり、従って同じコンテンツが全く同じように取り扱われるわけではないので、最も安全な方法は、欠落パケット又はエラーを有するパケット、並びにB-フレーム及びP-フレームを含む全てのパケットよりも前のイントラコード化フレーム(Intracoded-Frame:I-Frame)の開始フレーム(Start of Frame:SOF)から開始するピクチャ群のパケットをプロセッサが置き換えることである。オーディオはそれほど高度に圧縮されていない。また、必要に応じて、影響を受けたビデオパケットと共に受け取られた全てのオーディオパケットを置き換えることもできる。
【0058】
データは、コンテンツセグメントを調べて欠落又は破損したコンテンツセグメントを特定する(さらには(並行して同調できる)隣接するサービス送信から又は(放送局ブロードバンドOTTサービス22に返信する)インターネットを介してこれらを置き換えようと試みる)修復アプリケーションによって処理され、バッファ3は、解凍又は記憶エンジンに送信される準備が整った最良の修復状態のコンテンツを有するバッファである。バッファ3は、使用されるとそのポインタがゼロになり、バッファ1になって新たなコンテンツを受け入れる。従って、メモリはセグメント化されており、いくつかのアプリケーションは、タスクを行っていない隣接するメモリからロックアウトされる。実際には4つのバッファが存在することができる。バッファ3は、使用されると一時バッファであるバッファ4になり、(バッファ1の着信書き込み(incoming writes)が終了すると)これがバッファ1になることができる。
【0059】
本技術は、可能な場合には同じ受信機内の別のアンテナ/復調器から、或いは放送局又はアグリゲータのウェブコンテンツ22などのインターネットから利用可能なコンテンツから、ノイズ及び欠落パケットによるエラーを修復する。この修復は、コンテンツが継続的に受信機にストリーミングされてディスプレイ上にレンダリングされている間又はメモリ270に記憶されている間に行われなければならない。バッファは、修復バッファを処理して欠落したコンテンツを決定し、リモートサーバに修復データを要求して受け取り、又は第2のチューナ/復調器に接続された別のメモリからコンテンツを抽出するのに必要な時間に対応できるほど十分に大きなものとすべきである。通常、この方法は、セルラーネットワーク又は衛星ネットワークから修復データを取り出すよりも安価である。
【0060】
図6に、(ASC3.0などの)放送デジタルTVコンテンツパケット604を受け取って処理するために、例えば図5のマルチチューナ/復調器受信機500などの、本明細書で説明する受信機のうちのいずれかなどのデジタルTV受信機内の1又は2以上のプロセッサ602がアクセスできる1又は2以上のメモリ600を示す。メモリ600は、1つの例では少なくとも3つのバッファを含み、図示の例では(図6では606、608、610及び612として表記する)4つのバッファ1~4を含む。各バッファには永続メモリレジスタが割り当てられ、第1のバッファ606にはレジスタ0~N-1が、第2のバッファ608にはレジスタN~M-1が、第3のバッファ610にはレジスタM~P-1が、第4のバッファ612にはレジスタP~Qがそれぞれ割り当てられる。それぞれのバッファのそれぞれの機能を動作させるためにプロセッサ602によって実行されるアプリケーションは、他のバッファのメモリアドレスに同時にアクセスすることができない。
【0061】
従って、プロセッサは、図7で説明するようなパケット受信ロジックを第1のバッファ606内で実行する第1のアプリケーションと、図8で説明するようなパケット修復ロジックを第2のバッファ608内で実行する第2のアプリケーションと、図9で説明するようなパケット読み出しロジックを第3のバッファ610内で実行する第3のアプリケーションとを同時に実行し、これらのアプリケーションは、他のバッファが以下でさらに説明するような適切な機能に循環するまで他のバッファにアクセスすることができない。
【0062】
第3のバッファから読み出されたデータは、最終的に本明細書におけるいずれかのディスプレイなどのディスプレイ616上でのコンテンツの表示のために、解凍エンジン614、又は記憶エンジン615などの他の適切な処理コンポーネントに送信することができる。
【0063】
従って、第1のアプリケーションは、第1のバッファがパケットを受け取る際に第1のバッファのメモリレジスタを割り当てられ、この時間中は第2及び第3のバッファのメモリレジスタからロックアウトすることができる。第2及び第3のアプリケーションは、この時間中に第2及び第3のバッファのメモリレジスタをそれぞれ割り当てられる。その後、第1のバッファが満杯になり、又は(満杯状態に対する高い割合、例えば満杯の90%などの)閾値を満たすのに十分なデータを含んで第2のバッファの役割を担うと、第1のアプリケーションを第1のバッファのメモリレジスタからロックアウトして、着信パケットを受け取るために新たなバッファ(例えば、提供されている場合には第3のバッファ又は第4のバッファ)のメモリレジスタを割り当てることができる。このシフトによれば、第2のアプリケーション(エラー訂正)は、第1のバッファのメモリレジスタを割り当てられて他のバッファからロックアウトされ、第3のアプリケーション(解凍器(decompressor)に読み出されるデータ)は、この時点で訂正済みである第2のバッファのメモリレジスタを割り当てられて他のバッファからロックアウトされる。このアプリケーションに対するメモリレジスタ割り当てのシフトは、アプリケーション間の競合を防ぐために、コンテンツが流入して各バッファシフトが発生する度に継続する。
【0064】
図7のブロック700から開始して、ブロードキャストデータのパケット(又はブロードキャストを介して受け取られた非パケット化コンテンツデータ)を第1のバッファに供給する。ブロック702において、第1のバッファが、破損データ又は欠落データなどのいずれかのエラーが検出されたかどうかを検出してシグナリングすることができる。判定区画704は、バッファが満杯になることなどによって閾値を満たすのに十分なデータを有するまでこのプロセスが継続することを示しており、その時点でロジックはブロック706に進み、第1のバッファは第2のバッファのエラー訂正機能を担い、第2のバッファはエラー訂正機能から第3のバッファの読み出し機能に循環し、第3のバッファは読み出し機能から第1のバッファの受信機能に循環する。いくつかの事例では、第3のバッファがデータの読み出しを完了する前に第1のバッファの受信機能を担う第4の「予備」バッファを設けることもできる。
【0065】
従って、図7ではIPアドレスに対してフィルタリングを行うことができ、受信機ハードウェアは、第1のバッファ606を含む特定のメモリ範囲にATSC3.0 IPパケットを直接供給するように構成される。ハードウェアは、メモリ内に受け取られたいずれかのパケットのエラーをシグナリングする。バッファは、割り込み駆動バッファ(interrupt driven buffer)又はポーリング駆動バッファ(poll driven buffer)であることができる。第1のバッファ606は、満杯時又は閾値を満たすのに十分なデータを別様に含む時には第2のバッファ608としてマークされ(第2のバッファ608の役割を担い)、第2のバッファ608は第3のバッファ610としてマークされ(第3のバッファ610の役割を担い)、第3のバッファは第1のバッファ又は(提供されている場合には)第4のバッファ612としてマークされる。
【0066】
図8に、満杯でエラー訂正の準備が整ったバッファ上で動作する第2のアプリケーションのエラー訂正ロジックを示す。ブロック800は、バッファがデータで満たされている時にハードウェアがエラーをシグナリングしたかどうかを識別することを示す。エラーがシグナリングされなかった場合、ロジックは終了する。一方で、エラーがシグナリングされた場合、ロジックは判定区画802に進み、シグナリングされたエラーについて置換用コンテンツが利用可能であるかどうかを判定する。置換用コンテンツが利用可能でない場合、ブロック804において、コンテンツは修正されず、解凍エンジンにその旨がシグナリングされて、解凍エンジンがコンテンツのあらゆるエラーを平滑化又は隠蔽しようと試みることができる。これに加えて又は代えて、データは、このロジックの経路に沿って図6の記憶エンジン615などの記憶エンジンに送信することもできる。
【0067】
一方で、置換用コンテンツが利用可能である場合、ロジックはブロック806に進み、OTAで受信される、処理中のものと同じサービスを伝える別の放送周波数から、或いは図3の境界領域302などで起こり得るように放送局から、ブロードバンドを介して置換用コンテンツをフェッチする。なお、このような重複ストリームは、図5に示すような第2のチューナ/復調器ペアを介して受信することができる。或いは、置換用コンテンツは、放送事業者又はアグリゲータのネットワークサーバからOTTで取得することもできる。置換用コンテンツは、削除された破損データの適切な位置においてデータに挿入される。
【0068】
コンテンツの置換では、具体的なエラーがどのようなものであったか、どのようなデータが欠落しているか、大抵の場合そうであるように破損パケット又は欠落パケットが見つかったピクチャ群全体を置換する必要があるかどうかを識別することができる。このプロセスでは、受け取られた第2のストリーム又は放送局コンテンツキャッシュ内のピクチャ群の位置を特定する必要がある。開始フレームが位置する特定のIPパケットを特定してそこから開始することなどが必要な場合もある。
【0069】
ブロック808において、上述したアプリケーションのうちの第3のアプリケーションによって実行される図9の解凍ロジックに必要な連続メモリを作成するために、フェッチされたコンテンツと共にコンテンツブロックを移動させて追加することができる。
【0070】
実際に、図9に、ブロック900において第3のアプリケーションが図6の解凍エンジン614と通信して、図8のロジックからのエラー訂正を完了したばかりのバッファのメモリレジスタ識別を解凍エンジンハードウェアに供給することを示す。ブロック902は、解凍及び表示又は記憶のための読み出しに新たなコンテンツが利用可能であることをアプリケーションが解凍エンジン又は記憶エンジンにシグナリングし、解凍エンジンがバッファからのデータを解凍して図6のディスプレイ616に提供することを示す。通常、これは「ファイア・アンド・フォーゲット(fire and forget)」動作である。メモリ270にコンテンツを書き込む動作についても同様である。
【0071】
いくつかの実施形態例を参照しながら本原理について説明したが、これらの実施形態は限定的であるように意図するものではなく、本明細書において特許請求する主題は様々な別の構成を用いて実装することもできると理解されるであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】