JP2026086355A - データストリームの認証における検証チェーンの取扱い - Google Patents
データストリームの認証における検証チェーンの取扱いInfo
- Publication number
- JP2026086355A JP2026086355A JP2025177973A JP2025177973A JP2026086355A JP 2026086355 A JP2026086355 A JP 2026086355A JP 2025177973 A JP2025177973 A JP 2025177973A JP 2025177973 A JP2025177973 A JP 2025177973A JP 2026086355 A JP2026086355 A JP 2026086355A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- data stream
- verification
- audio data
- temporal sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26613—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44236—Monitoring of piracy processes or activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Acoustics & Sound (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】信頼性に関してチェックされるべきデータストリームをデコードするための装置および方法を提供する。【解決手段】データストリーム14をデコードするための装置20は、データストリームから、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか又はセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかの指示を導出する。装置はまた、データストリームから、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出する。【選択図】図1
Description
本発明の実施形態は、信頼性に関してチェックされるべきデータストリームをデコードするための装置および方法に関する。さらなる実施形態は、データストリームを信頼性に関してチェック可能にするための装置および方法に関する。さらなる実施形態は、信頼性に関してチェック可能なデータストリームに関する。特に、実施形態は、ビデオデータストリームまたはオーディオデータストリームなどのメディアデータストリーム、ならびにそのようなデータストリームをそれぞれデコードまたはエンコードするためのデコーダおよびエンコーダに関する。
コンテンツ認証は、メディア改ざんを回避するために重要である。急速なAIの進歩により、洗練されたディープフェイクが生み出され、本物のコンテンツと偽のコンテンツとの間の境界が曖昧になり、サイバーセキュリティおよび著作権に関する重大な懸念を引き起こしている。そのため、近年、メディアの真正性を検証できることが重要になってきている。
このような認証を実行する方法の例は、最初にメディア資産をハッシュし、次いでコンテンツジェネレータの秘密鍵でそれに署名することによってメディアにデジタル署名を提供することからなるか、または提供することを含み、それによって、クライアント側では、コンテンツジェネレータの公開鍵が与えられると、クライアントは提供された署名を、受信したメディア資産に基づいて独自に演算されたハッシュの値と比較することができる。値が一致する場合、クライアントは、メディアが改ざんされていないと問題なく仮定することができる。
このような認証を実行する方法の例は、最初にメディア資産をハッシュし、次いでコンテンツジェネレータの秘密鍵でそれに署名することによってメディアにデジタル署名を提供することからなるか、または提供することを含み、それによって、クライアント側では、コンテンツジェネレータの公開鍵が与えられると、クライアントは提供された署名を、受信したメディア資産に基づいて独自に演算されたハッシュの値と比較することができる。値が一致する場合、クライアントは、メディアが改ざんされていないと問題なく仮定することができる。
データストリームの複雑な構造は、データストリームの認証を複雑にし得る。これは、例えばデータストリームがエンティティによって修正または生成されるシナリオ、例えば、データストリームが複数のサブストリームで構成されるシナリオ、またはエンティティが複数のデータストリームを結合するシナリオにおいて、データストリームから部分を抽出するシナリオに特に当てはまる。このエンティティが元のデータストリームをエンコードしたエンティティではない場合、およびデータストリームの検証を可能にするデジタル署名の再計算が回避されるものとする場合、データストリームの信頼性の高い検証を可能にするための新しい解決策が必要とされる。
本発明の実施形態の目的は、データストリームを信頼性に関してチェックするための概念を提供することであり、この概念は、複雑なストリーミングシナリオへの高い適応性、低い計算労力、および認証に必要な情報を提供するために必要なシグナリングオーバーヘッドの低いビットレートの間の改善されたトレードオフを提供する。
この目的は、独立請求項の主題によって達成される。
この目的は、独立請求項の主題によって達成される。
本発明の第1の態様による実施形態は、データストリームのセグメントの時間的シーケンスのセグメントが時間的シーケンスの割り当てられた部分シーケンスの最初のセグメントであるかどうか、または第1の態様の第2の代替例では、このセグメントが時間的シーケンスの割り当てられた部分シーケンスの最後のセグメントであるかどうかを指示する指示をデータストリームに含めるという考えに依拠する。セグメントが割り当てられた部分シーケンスの最初/最後のセグメントであるかどうかを指示する指示は、デジタル署名を使用して検証される検証文字列を形成するために使用される。時間セグメントのシーケンスの署名された部分シーケンスの開始点をシグナリングすることにより、受信機は、署名された部分シーケンスの開始を認識することが可能になり、その結果、例えば、2つのビットストリームが連結されるシナリオでは、受信機は、信頼性チェックにおいて、すなわち、現在のセグメントが署名された部分シーケンスの最初のセグメントであるか否かにかかわらず、最初のセグメントを適切に扱うことができる。例えば、セグメントの時間的シーケンスの時間的一貫性を検証するために、現在のセグメントの検証は、シーケンス内の時間的セグメントの連続が本物であるかどうかを信頼性チェックが検証できるように、先行するセグメントから得られたハッシュ値を含むことができる。現在のセグメントが署名されたサブシーケンスの最初のセグメントであることを受信機が認識していない場合、受信機は、先行するセグメントのハッシュ値を信頼性チェックに含めることができ、その結果、信頼性チェックは否定的な結果をもたらす。現在のセグメントが署名されたサブシーケンスの最初のセグメントであるという指示に応答して、受信機は先行するセグメントとは独立して信頼性チェックが行われ得る。したがって、セグメントが署名されたサブシーケンスの最初のセグメントであるという指示は、独立的に署名されたサブシーケンスが連結された、連結されたデータストリームの信頼できる検証を可能にする。データストリーム内の時間セグメントの連続を検証する方法の上記の例は単なる例示であり、第1の態様の実施形態の基礎となる概念が同等の方法で適用可能な、署名されたセグメントのシーケンスを検証するための代替方式が使用され得ることに留意されたい。データストリームにおいて、現在のセグメントが署名されたサブシーケンスの最後のセグメントであることを指示することは、短縮が受信機によって認識されなければシーケンスを短縮できないことを保証する。例えば、受信機が、署名されたサブシーケンスの最後のセグメントであることが示されている時間セグメントを受信することなくデータストリームが終了した場合、受信機は、後続セグメントが欠落したことを認識する。
データストリームの検証という用語およびデータストリームの信頼性をチェックするという用語は、以下で互換的に使用され、例えば、データストリームのコンテンツが、証明書を使用してコンテンツに署名したコンテンツプロバイダによって提供された、コンテンツに対応するという検証に関する。
第1の態様による実施形態は、データストリームをデコードするための装置を提供し、データストリームは、セグメントの時間的シーケンスを含む。装置は、セグメントのシーケンスのセグメントについて、セグメントの所定の部分を決定すること、データストリームから、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を導出すること、データストリームから、所定の部分に基づいて、かつ指示に基づいて取得された検証文字列と照合されるためのデジタル署名を導出することを行うように構成されている。
第1の態様による実施形態は、データストリームをデコードするための装置を提供し、データストリームは、セグメントの時間的シーケンスを含む。装置は、セグメントのシーケンスのセグメントについて、セグメントの所定の部分を決定すること、データストリームから、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を導出すること、データストリームから、所定の部分に基づいて、かつ指示に基づいて取得された検証文字列と照合されるためのデジタル署名を導出することを行うように構成されている。
第1の態様による実施形態は、データストリームをデコードするための装置を提供する。装置は、データストリームを信頼性に関してチェックするように構成され、データストリームはセグメントの時間的シーケンスを含む。装置は、セグメントの所定の部分をハッシュ関数にかけてハッシュ値を取得すること、データストリームから、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を導出すること、ハッシュ値に基づいて、かつ指示に基づいて検証文字列を形成すること、データストリームからデジタル署名を導出し、検証文字列がデジタル署名に適合するかどうかをチェックすることを行うことによって、セグメントのシーケンスのセグメントを検証するように構成されている。
第1の態様による実施形態は、データストリームをエンコードするための装置を提供する。装置は、データストリームを信頼性に関してチェック可能にし、データストリームにセグメントの時間的シーケンスをエンコードするように構成されている。装置は、セグメントの所定の部分をハッシュ関数にかけてハッシュ値を取得すること、データストリーム内に、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を挿入すること、ハッシュ値に基づいて、かつ指示に基づいて検証文字列を形成すること、検証文字列に基づいてデジタル署名を取得することによって、セグメントのシーケンスのセグメントを信頼性に関してチェック可能にするように構成されている。
第1の態様による実施形態は、データストリームをデコードするための方法を提供し、データストリームが、セグメントの時間的シーケンスを含み、方法が、セグメントのシーケンスのセグメントについて、セグメントの所定の部分を決定すること、データストリームから、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を導出すること、データストリームから、所定の部分に基づいて、かつ指示に基づいて取得された検証文字列と照合されるためのデジタル署名を導出すること含む。
第1の態様による実施形態は、データストリームをデコードするための方法を提供し、方法は、データストリームを信頼性に関してチェックすることを含み、データストリームは、セグメントの時間的シーケンスを含み、方法は、セグメントの所定の部分をハッシュ関数にかけてハッシュ値を取得すること、データストリームから、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を導出すること、ハッシュ値に基づいて、かつ指示に基づいて検証文字列を形成すること、データストリームからデジタル署名を導出し、検証文字列がデジタル署名に適合するかどうかをチェックすることによって、セグメントのシーケンスのセグメントを検証することを含む。
第1の態様による実施形態は、データストリームをエンコードするための方法を提供し、方法は、データストリームを信頼性に関してチェック可能にすることと、データストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を含み、方法は、セグメントの所定の部分をハッシュ関数にかけてハッシュ値を取得すること、データストリーム内に、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を挿入すること、ハッシュ値に基づいて、かつ指示に基づいて検証文字列を形成すること、検証文字列に基づいてデジタル署名を取得すること(例えば、かつデジタル署名をデータストリーム内に挿入すること)によって、セグメントのシーケンスのセグメントを信頼性に関してチェック可能にすることを含む。
第1の態様による実施形態は、データストリームを提供し、データストリームは信頼性関してチェック可能であり、データストリームは、セグメントの時間的シーケンス、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、またはセグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する指示を含む。
本発明の第2の態様による実施形態は、セグメントの時間的シーケンス内の検証チェーンがセグメントで中断された場合、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立したデータストリームのセグメントのシーケンスのセグメントの信頼性チェックのための検証文字列を形成するという考えに依拠する。この目的のために、データストリームの受信機、例えばデコーダは、検証チェーンがセグメントで中断されたかどうかをデータストリームから導出することができる。例えば、中断の検出は、データストリーム内の明示的なシグナリングに基づいて実行されてもよく、あるいは、例えば、暗黙的なシグナリングに基づいて、時間的シーケンスの個々のセグメントに対して、シグナリングされた検証パラメータを比較することによって実行されてもよい。中断を検出し、先行するセグメントとは独立して検証文字列を形成することにより、ビットストリームのスプライシングが発生するシナリオ、すなわち、例えば、検証チェーンの2つのセグメント間に署名されていないセグメント、またはさらなる検証チェーンに属するセグメントを挿入することによって共同署名されたセグメントのシーケンスが中断された場合に、データストリーム内のセグメントのシーケンスが同じ検証チェーンに属さないセグメントを含むシナリオにおける信頼性チェックが可能になる。
第2の態様による実施形態は、データストリームをデコードするための装置を提供し、データストリームは、セグメントの時間的シーケンスを含む。装置は、データストリームから、セグメントのシーケンスのセグメントについて、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出することと、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名を含む場合に、データストリームから、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列に対してチェックされるためのデジタル署名を導出することと、を行うように構成されている。
第2の態様による実施形態は、データストリームをデコードするための装置を提供する。装置は、データストリームを信頼性に関してチェックするように構成され、データストリームはセグメントの時間的シーケンスを含む。装置は、データストリームから、セグメントの時間的シーケンス内の検証チェーンがセグメントで中断されたかどうかを導出することと、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントについてのデジタル署名を含む場合に、データストリームからデジタル署名を導出することと、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列を形成することと、検証文字列がデジタル署名に適合するかどうかをチェックすることと、を行うように構成されている。
第2の態様による実施形態は、データストリームをエンコードするための装置を提供する。装置は、データストリームを信頼性に関してチェック可能にし、データストリームにセグメントの時間的シーケンスをエンコードするように構成されている。装置は、セグメントの時間的シーケンス内の検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列を形成すること、ならびに検証文字列に基づいてデジタル署名を取得すること、ならびにデジタル署名をデータストリーム内に挿入することを行うように構成されている。
第2の態様による実施形態は、データストリームをデコードするための方法を提供し、データストリームは、セグメントの時間的シーケンスを含み、方法は、データストリームから、セグメントのシーケンスのセグメントについて、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出することと、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名を含む場合に、データストリームから、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列に対してチェックされるためのデジタル署名を導出することと、を含む。
第2の態様による実施形態は、データストリームをデコードするための方法を提供し、方法は、データストリームを信頼性に関してチェックすることを含み、データストリームは、セグメントの時間的シーケンスを含み、方法は、データストリームから、セグメントの時間的シーケンス内の検証チェーンがセグメントで中断されたかどうかを導出することと、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントについてのデジタル署名を含む場合に、データストリームからデジタル署名を導出することと、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列を形成することと、検証文字列がデジタル署名に適合するかどうかをチェックすることと、を含む。
第2の態様による実施形態は、データストリームをエンコードするための方法を提供し、方法は、データストリームを信頼性に関してチェック可能にすることと、データストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を含み、方法は、セグメントの時間的シーケンス内の検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列を形成することと、検証文字列に基づいてデジタル署名を取得することと、デジタル署名をデータストリームに挿入することと、を含む。
有利な実施態様は、従属請求項の主題によって定義される。
本開示の実施形態は、図面を参照して以下により詳細に説明される。
本開示の実施形態は、図面を参照して以下により詳細に説明される。
次に、本発明の実施形態が添付の図面を参照してより詳細に説明され、同じもしくは類似の要素または同じもしくは類似の機能性を有する要素は、同じ参照符号が割り当てられているか、または同じ名前で識別される。以下の説明では、本開示の実施形態の完全な説明を提供するために複数の詳細が記載されている。しかしながら、これらの具体的な詳細なしに他の実施形態が実施されてもよいことは当業者には明らかであろう。加えて、本明細書に記載された異なる実施形態の特徴は、特に明記しない限り、互いに組み合わされてもよい。
以下の説明では、データストリームに言及する場合、本発明の実施形態には、メディア信号がその中でエンコードされるメディアデータストリーム、例えば、ビデオがその中にエンコードされるビデオデータストリーム、またはオーディオ信号がその中でエンコードされるオーディオデータストリームである、データストリームが含まれる。一般に、本発明の実施形態は、任意の順次シグナリングされるデータストリーム、例えば、サンプリングされた信号、例えば、サンプリングされた測定信号がその中にエンコードされるデータストリームに対して用いられてもよい。一実施形態によれば、データストリームは、波形信号がその中でエンコードされる、例えば、生物医学的波形信号を有する。本発明のいくつかの態様は、ビデオデータストリームに関して以下に説明されるが、これらの態様は、特に異なることが明記されない限り、同等の方法で他のタイプのデータストリームに適用されてもよい。
図1は、データストリーム14をデコードするための装置20を示す。装置20は、デコーダ20と称され得る。データストリーム14は、メディアデータストリーム、例えばビデオデータストリームもしくはオーディオデータストリーム、または上記で挙げられたデータストリームタイプのうちのいずれかであり得る。例えば、デコーダ20は、データストリーム14から、メディア信号、例えばビデオ信号またはオーディオ信号をデコードし得る。デコーダ20は抽出器21を備える。抽出器21は、データストリーム14に基づいてデジタル署名43を取得する。一実施形態によれば、抽出器21は、データストリーム14からデジタル署名43を導出する。換言すれば、デジタル署名43は、データストリーム14に含まれ得る。代替実施形態によれば、データストリーム14は、デジタル署名43を含むリソースの指示を含み、抽出器21は、データストリーム14に示されたリソースからデジタル署名43を取得するためにリソースの指示を使用する。
例えば、デジタル署名43は、データストリームの信頼性をチェックするためのものである。換言すれば、デジタル署名43は、データストリーム14を検証するための、例えば、データストリーム14の信頼性を検証するためのものであり得る。
例えば、デジタル署名43は、データストリームの信頼性をチェックするためのものである。換言すれば、デジタル署名43は、データストリーム14を検証するための、例えば、データストリーム14の信頼性を検証するためのものであり得る。
デコーダ20は、以下で信頼性チェックとも称され得る信頼性に関するデータストリーム14のチェックが実行されるべきであるデータストリーム14の所定の部分13を決定するように構成された部分決定器30をさらに備える。デジタル署名43は、所定の部分に関連付けられ得る。換言すれば、デジタル署名43は、所定の部分13を検証するためのものであり得る。
例えば、データストリーム14の検証または信頼性に関するチェックは、部分ごとに、すなわちデータストリーム14の部分の単位で実行され得る。したがって、デジタル署名43は、データストリームの部分を信頼性に関してチェックするための、換言すれば、データストリーム14の部分を検証するためのものであり得る。
信頼性チェック、すなわち、信頼性に関するデータストリーム14または所定の部分13のチェックは、データストリーム14の所定の部分がデジタル署名43に適合するか、または一致するかどうかをチェックすることを含む。
例えば、データストリーム14の検証または信頼性に関するチェックは、部分ごとに、すなわちデータストリーム14の部分の単位で実行され得る。したがって、デジタル署名43は、データストリームの部分を信頼性に関してチェックするための、換言すれば、データストリーム14の部分を検証するためのものであり得る。
信頼性チェック、すなわち、信頼性に関するデータストリーム14または所定の部分13のチェックは、データストリーム14の所定の部分がデジタル署名43に適合するか、または一致するかどうかをチェックすることを含む。
一実施形態によれば、デコーダ20は、信頼性チェックを実行するように構成された検証モジュール41を備える。図1に示すように、検証モジュール41は、デジタル署名43および所定の部分13を受信して信頼性チェックを実行する。検証モジュール41は、図1に破線で示すように、装置20の任意選択の特徴である。
換言すれば、一実施形態によれば、デコーダ20は、データストリーム14の所定の部分13を信頼性に関してチェックするように構成されている。さらに換言すれば、一実施形態によれば、デコーダ20は、データストリーム14の所定の部分13がデジタル署名に適合するか、または一致するかどうかをチェックするように構成されている。
換言すれば、一実施形態によれば、デコーダ20は、データストリーム14の所定の部分13を信頼性に関してチェックするように構成されている。さらに換言すれば、一実施形態によれば、デコーダ20は、データストリーム14の所定の部分13がデジタル署名に適合するか、または一致するかどうかをチェックするように構成されている。
既に述べたように、検証モジュール41は、装置20において任意選択のものである。代替実施形態によれば、信頼性チェックは、デコーダ20に対して外部で実行されてもよい。換言すれば、検証モジュール41は、必ずしもデコーダ20の一部である必要はなく、データストリーム14の信頼性をチェックするための装置などの別個のエンティティの一部であってもよい。例えば、この場合、デコーダ20は、デジタル署名43および所定の部分13を信頼性チェックに提供または転送し得る。例えば、デコーダ20は、デジタル署名43および所定の部分13などの信頼性チェックのための情報を収集し、収集した情報を信頼性チェックのために提供し得る。例えば、デコーダ20は、信頼性チェックのための情報の連結を形成し得る。検証モジュール41が装置20の一部ではないこれらの代替実施形態は、本発明のすべての態様のすべての実施形態と組み合わせて具現化されてもよい。
本明細書に記載されたすべての実施形態に適用され得る図1の装置20のさらなる任意選択の特徴が、以下に記載される。
例えば、データストリーム14は、複数のパケットを含み得る。部分決定器30は、例えば、複数のパケットのうちの1つ以上を含むことによって、パケットごとに所定の部分13を決定し得る。
例えば、任意選択的に、データストリーム14は、複数のペイロードパケット16を含み得る。ペイロードパケット16は、ペイロードデータ、例えば、データストリーム14によって送信されるべきデータを搬送し得る。例えば、データストリーム14がメディアデータストリームである場合、ペイロードパケット16は、データストリーム14がビデオデータストリームである場合のビデオデータなどのコード化されたメディアデータを搬送し得る。換言すれば、ペイロードパケット16は、コード化されたビデオペイロードパケット例えば、ビデオデータ、例えばエンコードされたビデオデータを搬送する、ビデオコード化レイヤ(VCL)、ネットワーク抽象化レイヤ(NAL)ユニットであり得る。例えば、ビデオデータは、ビデオのピクチャのサンプル値が再構成される情報を指し得る。
例えば、データストリーム14は、複数のパケットを含み得る。部分決定器30は、例えば、複数のパケットのうちの1つ以上を含むことによって、パケットごとに所定の部分13を決定し得る。
例えば、任意選択的に、データストリーム14は、複数のペイロードパケット16を含み得る。ペイロードパケット16は、ペイロードデータ、例えば、データストリーム14によって送信されるべきデータを搬送し得る。例えば、データストリーム14がメディアデータストリームである場合、ペイロードパケット16は、データストリーム14がビデオデータストリームである場合のビデオデータなどのコード化されたメディアデータを搬送し得る。換言すれば、ペイロードパケット16は、コード化されたビデオペイロードパケット例えば、ビデオデータ、例えばエンコードされたビデオデータを搬送する、ビデオコード化レイヤ(VCL)、ネットワーク抽象化レイヤ(NAL)ユニットであり得る。例えば、ビデオデータは、ビデオのピクチャのサンプル値が再構成される情報を指し得る。
データストリーム16は、例えば、コード化されたデータを搬送するコード化されたデータペイロードパケットとは対照的に、代替的に補足情報ペイロードパケットと称され得る補足情報パケット18を任意選択的にさらに含み得る。例えば、ビデオデータストリームの場合、特にH.264、H.265、およびH.266がビデオデータストリームをフォーマットできる場合、補足情報パケットは補足拡張情報(SEI)NALユニットであり得る。例えば、補足情報パケット18は、ペイロードパケット16間に点在している。補足情報パケット18は、補足情報メッセージ19を搬送する。例えば、補足情報メッセージ19は、デコード、表示、または他の目的に関連するプロセスを支援するが、それは、ビデオのデコードされたピクチャ内のサンプルの値を決定するためにはデコードプロセスによって必要とされない。
換言すれば、例えば、補足情報パケットは、コード化選択肢に関する情報およびデコードプロセスのための情報を搬送し得るが、データストリーム内にエンコードされた信号のエンコードされたサンプルを含まない。
換言すれば、例えば、補足情報パケットは、コード化選択肢に関する情報およびデコードプロセスのための情報を搬送し得るが、データストリーム内にエンコードされた信号のエンコードされたサンプルを含まない。
例えば、補足情報メッセージの各々は、ペイロードパケットのうちの1つに関連付けられ得る。
例えば、補足情報メッセージの各々は、ペイロードパケットのうちの関連付けられた1つに、例えば、データストリーム内にエンコードされたサンプリング信号の同じサンプル、例えば、補足情報パケットと同じピクチャユニットまたは同じアクセスユニットの一部である関連付けられたペイロードパケットに関連付けられている。
例えば、補足情報メッセージの各々は、ペイロードパケットのうちの関連付けられた1つに、例えば、データストリーム内にエンコードされたサンプリング信号の同じサンプル、例えば、補足情報パケットと同じピクチャユニットまたは同じアクセスユニットの一部である関連付けられたペイロードパケットに関連付けられている。
所定の部分13は、1つ以上の補足情報パッケージに含まれ得る1つ以上の補足情報メッセージを任意選択的に含み得る。換言すれば、任意選択的に、所定の部分13は、1つ以上の補足情報パケットを含み得る。
例えば、所定の部分13は、データストリーム14のセグメントのペイロードパケット16のすべてまたはサブセットを含む。例えば、所定の部分13は、ペイロードパケット16の部分、例えば、所定の部分に含まれるべきペイロードパケットの各々の部分を含んでもよく、あるいは、ペイロードパケット全体を含んでもよい。所定の部分13がそこから決定され得るデータストリーム14のセグメントは、例えば、データストリーム14の独立的にコード化されたシーケンス、例えば、ビデオデータストリームの場合はコード化ビデオシーケンス(CVS)であり得る。他の例では、所定の部分13がそこから決定され得るセグメントは、例えば、データストリームのパケットを所定の部分13に関連付ける1つ以上の指示によって、かつ/または所定の部分13がそこから選択されるセグメントの開始および終了を指示する補足情報メッセージなどの指示によって、データストリーム14内で指示され得る。例えば、開始および終了は、それぞれの補足情報メッセージによって指示され得る。
実施形態によれば、データストリーム14は、所定の部分13について、または所定の部分を含むデータストリーム14のセグメント、例えば図4に関連して記載されたセグメント17について、所定の部分を検証するための検証パラメータを含む検証パラメータセットを含み得る。例えば、検証パラメータセットは、所定の部分13の信頼性チェックを実行するためのハッシュ関数(例えば、図2に関連して記載されたハッシュ関数31)、所定の部分13の信頼性チェックを実行するためのデジタル署名43を解読するための証明書、所定の部分をメディア資産に関連付ける識別子、所定の部分13をどのように導出するかの指示のうちの1つ以上を示し得る。検証パラメータセットは、例えば、後述するDSC ISCIメッセージに対応し得る補足情報メッセージでシグナリングされ得る。例えば、指示51は、検証パラメータセットに含まれ得る。
図2は、デコーダ20の一部として任意選択的であり得る検証モジュール41の一実施形態を示す。あるいは、検証モジュール41に関連して記載された信頼性チェックは、デコーダ20の外部で実行されてもよい。図2の実施形態によれば、信頼性チェック、すなわちデータストリーム14の所定の部分13がデジタル署名43に適合するかどうかをチェックすることは、所定の部分13をハッシュ関数31に供してハッシュ値33を取得することを含む。この実施形態によれば、検証モジュール41は、ハッシュ値33がデジタル署名43に適合するかどうかをチェックする検証ブロック39をさらに含む。
以下では、検証モジュール41のさらなる任意選択の特徴について説明する。
一実施形態によれば、検証ブロック39は、ハッシュ値33に基づいて検証文字列48、例えば、後述するサンプル構文のIdStringを形成するように構成された検証文字列形成器49を備える。例えば、検証文字列形成器49は、ハッシュ値33と、任意選択的に、所定の部分13のメディアが属するメディア資産を識別するメディア資産識別子、ハッシュ関数31のアルゴリズムの識別子、および、例えばデータストリーム14の前の部分から取得されたさらなるハッシュ値のうちの1つ以上などのさらなる情報と、を含む連結を形成し得る。この実施形態によれば、検証ブロック39は、デジタル署名43を解読してチェック値47を取得する解読ブロック59を備え、検証ブロック39は、検証文字列48がチェック値47と一致するかどうかをチェックする。
一実施形態によれば、検証ブロック39は、ハッシュ値33に基づいて検証文字列48、例えば、後述するサンプル構文のIdStringを形成するように構成された検証文字列形成器49を備える。例えば、検証文字列形成器49は、ハッシュ値33と、任意選択的に、所定の部分13のメディアが属するメディア資産を識別するメディア資産識別子、ハッシュ関数31のアルゴリズムの識別子、および、例えばデータストリーム14の前の部分から取得されたさらなるハッシュ値のうちの1つ以上などのさらなる情報と、を含む連結を形成し得る。この実施形態によれば、検証ブロック39は、デジタル署名43を解読してチェック値47を取得する解読ブロック59を備え、検証ブロック39は、検証文字列48がチェック値47と一致するかどうかをチェックする。
例えば、解読モジュール59は、デジタル署名43を解読するために非対称暗号方式の公開鍵45を使用し得る。例えば、抽出器21は、データストリーム14内の指示、例えば、公開鍵45がそこから導出され得るリソースを指示するリソース識別子に基づいて公開鍵45を導出し、データストリーム14内の指示されたリソースから公開鍵45を導出し得る。
換言すれば、一実施形態によれば、検証ブロック39は、ハッシュ値に基づいて、かつ任意選択的にさらなる情報に基づいて検証文字列を形成することと、公開鍵を使用して検証文字列をデジタル署名43と比較することと、によって、ハッシュ値33がデジタル署名43に適合するかどうかをチェックすることを実行する(検証文字列をデジタル署名と比較することは、解読ブロック59によって実行される解読することを含み得る)。
換言すれば、一実施形態によれば、検証ブロック39は、ハッシュ値に基づいて、かつ任意選択的にさらなる情報に基づいて検証文字列を形成することと、公開鍵を使用して検証文字列をデジタル署名43と比較することと、によって、ハッシュ値33がデジタル署名43に適合するかどうかをチェックすることを実行する(検証文字列をデジタル署名と比較することは、解読ブロック59によって実行される解読することを含み得る)。
代替実施形態によれば、検証文字列48を導出するための上記さらなる情報の全部または一部は、所定の部分13と連結されて、ハッシュ関数31にかけられてハッシュ値が取得される。換言すれば、これらの代替実施形態によれば、上記さらなる情報の全部または一部、例えばハッシュ関数識別子および/または前のセグメントまたは前の部分のさらなるハッシュ値もしくはデジタル署名は、検証文字列を導出するために用いられ、この情報は、所定の部分13とともにこの情報をハッシュすることによって、したがって、この情報に基づいてハッシュ値33を導出することによって、検証文字列に反映される。
例えば、デジタル署名43の生成は、検証文字列を形成し、非対称暗号化方式の秘密鍵を使用して、検証文字列に署名することによって、エンコーダ側で実行され得る。
例えば、署名することは、さらなるハッシュすること、すなわち、さらなるハッシュ関数を使用して検証文字列をハッシュしてさらなるハッシュ値を取得すること、およびさらなるハッシュ値に署名することを含み得る。この例では、デコーダ側でデジタル署名43から検証文字列を再構成することは不可能であり得るが、代わりに、ハッシュ値33を使用して形成されたチェック値がデジタル署名に適合するかどうかを、例えば、検証文字列を形成すること、およびさらなるハッシュ関数を使用して検証文字列をハッシュすることにより、チェック値を導出することによってのみチェックすることができる。換言すれば、この場合、検証ブロック39による検証は、さらなるハッシュ関数を使用して検証文字列のハッシュをしてさらなるハッシュ値を取得することと、さらなるハッシュ値がデジタル署名に適合するかどうかを、例えば、公開鍵を使用してデジタル署名を解読すること、および結果として得られたチェック値がさらなるハッシュ値に等しいかどうかをチェックすることによってチェックすることと、を含み得る。
例えば、署名することは、さらなるハッシュすること、すなわち、さらなるハッシュ関数を使用して検証文字列をハッシュしてさらなるハッシュ値を取得すること、およびさらなるハッシュ値に署名することを含み得る。この例では、デコーダ側でデジタル署名43から検証文字列を再構成することは不可能であり得るが、代わりに、ハッシュ値33を使用して形成されたチェック値がデジタル署名に適合するかどうかを、例えば、検証文字列を形成すること、およびさらなるハッシュ関数を使用して検証文字列をハッシュすることにより、チェック値を導出することによってのみチェックすることができる。換言すれば、この場合、検証ブロック39による検証は、さらなるハッシュ関数を使用して検証文字列のハッシュをしてさらなるハッシュ値を取得することと、さらなるハッシュ値がデジタル署名に適合するかどうかを、例えば、公開鍵を使用してデジタル署名を解読すること、および結果として得られたチェック値がさらなるハッシュ値に等しいかどうかをチェックすることによってチェックすることと、を含み得る。
換言すれば、一実施形態によれば、ハッシュ値33がチェック値47に適合または一致するかどうかをチェックすることは、例えば、以下に説明するように、ハッシュ値33をさらなるハッシュ値またはハッシュ関数識別子などのさらなる情報と連結することによってハッシュ値33を使用して検証文字列を形成することと、例えば、さらなるハッシュ関数を使用して検証文字列をハッシュすることと、を含み得る。次いで、検証ブロック39は、ハッシュされた検証文字列がデジタル署名から解読されたチェック値47に等しいかどうかをチェックし得る。エンコーダ側では、この実施形態によれば、デジタル署名は、デコーダ側と同様に検証文字列を形成し、それをさらなるハッシュ関数を使用してハッシュし、ハッシュされた検証文字列に署名してデジタル署名43を取得することによって生成され得る。
代替実施形態によれば、チェック値47は、検証文字列、例えば、ハッシュ値33、またはハッシュ値33とさらなるハッシュ値もしくはハッシュ関数識別子などのさらなる情報との連結に対応し得る。換言すれば、この場合のデジタル署名の解読は、チェック値47の一部(またはチェック値47全体)としてハッシュ値33を生じさせ得る。この場合、さらなるハッシュの省略により、デジタル署名はより大きくなり得る。
例えば、上記の代替例のうちのどちらが用いられるかどうかは、選択されたハッシュ関数に依拠し得る。
例えば、上記の代替例のうちのどちらが用いられるかどうかは、選択されたハッシュ関数に依拠し得る。
図3は、データストリーム14をエンコードするための装置10を示す。装置10は、エンコーダ10と称され得る。装置10は、データストリーム14を信頼性に関してチェック可能にするように構成されている。エンコーダ10は、ペイロードデータを搬送する複数のペイロードパケット60および補足情報メッセージ90を搬送する補足情報パケット18をデータストリーム14に挿入する、例えばエンコードすることによって、データストリーム14を提供する。換言すれば、エンコーダ10は、図1に関連して記載されたデータストリーム14を提供し得る。例えば、エンコーダ10は、ペイロードパケットおよび補足情報パケットをデータストリーム14に挿入する挿入器23を備える。
エンコーダ10は、データストリーム14の所定の部分に基づいてデジタル署名43を取得する検証モジュール41’を備える。エンコーダ10は、所定の部分13を決定する部分決定器30’をさらに備える。例えば、部分決定器30’は、データストリーム14に挿入されるべきデータ14’に基づいて、例えば、部分決定器30によって決定される所定の部分13に対応する所定の部分13内にデータ14’の部分を含めることによって、所定の部分13を決定する。
エンコーダ10は、データストリーム14の所定の部分に基づいてデジタル署名43を取得する検証モジュール41’を備える。エンコーダ10は、所定の部分13を決定する部分決定器30’をさらに備える。例えば、部分決定器30’は、データストリーム14に挿入されるべきデータ14’に基づいて、例えば、部分決定器30によって決定される所定の部分13に対応する所定の部分13内にデータ14’の部分を含めることによって、所定の部分13を決定する。
装置20に関するいかなる説明も、装置20によってデータストリーム14から導出された情報が装置10によってデータストリーム14内に挿入され得るという意味で、エンコーダ10に任意選択的に適用され得る。さらに、例えば、ハッシュ関数31などの検証モジュール41によって使用される任意のハッシュ関数は、検証モジュール41’によって使用される対応するハッシュ関数と同等であり得る。ハッシュ値33を導出するために使用されるハッシュ関数31などの対応するハッシュ関数の入力についても同じく適用される。
デコーダ20の検証モジュールとエンコーダ10の検証モジュール41’との間の相互作用は、既に簡単に上述された。検証モジュール41’は、所定の部分13をハッシュ関数にかけることによって導出されたハッシュ値を含む検証文字列を対象とし得る。検証モジュール41’は、デジタル署名43を生成するために、例えば、上述の非対称暗号方式の秘密鍵を使用して検証文字列にさらに署名し得る。
例えば、デジタル署名43は、挿入器23によってデータストリーム14内に挿入され得るか、あるいは、挿入器23は、デジタル署名43がそこから導出され得るリソースの指示をデータストリーム14内に挿入し得る。
例えば、デジタル署名43は、挿入器23によってデータストリーム14内に挿入され得るか、あるいは、挿入器23は、デジタル署名43がそこから導出され得るリソースの指示をデータストリーム14内に挿入し得る。
装置20に関するいかなる説明も、装置20によってデータストリーム14から導出された情報が装置10によってデータストリーム14内に挿入され得るという意味で、装置10に任意選択的に同等に適用され得る。さらに、装置10によって使用されるハッシュ関数31などの任意のハッシュ関数は、装置20によって使用される対応するハッシュ関数と同等であり得る。ハッシュ値33を導出するために使用されるハッシュ関数31などの対応するハッシュ関数の入力についても同じく適用される。デジタル署名43の生成およびデジタル署名43を使用して装置20によって実行される検証は、それぞれ非対称暗号方式の一部であり得、これらのステップは、それぞれ秘密鍵と公開鍵とのペアによって実行され得、少なくとも秘密鍵は、デジタル署名43を生成するために署名に使用され、公開鍵は、受信機側で形成された検証文字列をデジタル署名43に対して検証するために解読に使用される。
図4は、デコーダ20のさらなる実施形態を示す。図4に関して記載された特徴は、デコーダ20の前述の実施形態のうちのいずれかと任意選択的に組み合わせられ得る。図4の実施形態によれば、信頼性チェックは、部分13’、13’’の単位で実行される。換言すれば、この実施形態によれば、データストリーム14は、その単位でデータストリーム14が検証可能であるいくつかの部分を含む。例えば、データストリーム14は、部分の各々についてのそれぞれのデジタル署名を含む。任意選択的に、データストリーム14は、部分の各々についての上述の検証パラメータセットを含み得る。あるいは、1つのセグメントの部分のすべて、または部分のサブセットの検証パラメータは、共通検証パラメータセットに含まれてもよい。上述した所定の部分13は、いくつかの部分のうちの1つであり得る。部分の各々は、1つ以上のパケットまたはパケットに含まれるデータが、そこ(部分の各々)に割り当てられることによって定義され得る。
図4は、デコーダ20のさらなる実施形態を示す。図4に関して記載された特徴は、デコーダ20の前述の実施形態のうちのいずれかと任意選択的に組み合わせられ得る。図4の実施形態によれば、信頼性チェックは、部分13’、13’’の単位で実行される。換言すれば、この実施形態によれば、データストリーム14は、その単位でデータストリーム14が検証可能であるいくつかの部分を含む。例えば、データストリーム14は、部分の各々についてのそれぞれのデジタル署名を含む。任意選択的に、データストリーム14は、部分の各々についての上述の検証パラメータセットを含み得る。あるいは、1つのセグメントの部分のすべて、または部分のサブセットの検証パラメータは、共通検証パラメータセットに含まれてもよい。上述した所定の部分13は、いくつかの部分のうちの1つであり得る。部分の各々は、1つ以上のパケットまたはパケットに含まれるデータが、そこ(部分の各々)に割り当てられることによって定義され得る。
例えば、図4では、ペイロードパケット16’が部分13’に割り当てられており、ペイロードパケット16’’が部分13’’に割り当てられている。部分単位でデータストリーム14の検証を実行することは、それぞれの部分、例えば図4の部分13’および部分13’’を決定することと、それぞれの部分を信頼性チェック41にかけることと、を含み得る。この目的のために、データストリーム14は、部分についてのそれぞれのデジタル署名、例えば、図4の部分13’のデジタル署名43’および部分13’’のデジタル署名43’’を指示し得る。例えば、図4に関して記載されたような部分は、データストリーム14のサブストリームまたは検証サブストリームと称され得る。
例えば、ビデオデータストリームの場合、階層化ビデオデータストリームの異なるレイヤが異なるサブストリームに割り当てられ得る。例えば、異なるレイヤは、ビデオデータストリーム14内にエンコードされたビデオの異なる表現を搬送し得、例えば、異なる空間分解能を有し、テクスチャおよび深度などの異なるタイプのデータを搬送し、またはシーンの異なるビューを搬送し得る。さらなる例として、異なるサブストリームはメディアデータストリームの異なる時間レイヤに関連付けられ得、時間レイヤの各々は、異なる時間分解能でエンコードされたメディア信号の表現を形成するためのサンプルを搬送し、例えば、その結果、異なる時間レイヤを組み合わせた場合、より高い時間分解能が得られる。しかしながら、これらは、異なるサブストリーム内のメディアデータストリームのデータを編成する例にすぎず、パケットとサブストリームとの間の関連付けは、データストリーム14を信頼性に関してチェック可能にするエンコーダまたはエンティティに依拠し得ることに留意されたい。
換言すれば、データストリーム14は、その単位でデータストリーム14が検証可能であるいくつかの部分の各々について、それぞれのデジタル署名を含み得るか、あるいは、それぞれのデジタル署名の指示を含み得る。
換言すれば、データストリーム14は、その単位でデータストリーム14が検証可能であるいくつかの部分の各々について、それぞれのデジタル署名を含み得るか、あるいは、それぞれのデジタル署名の指示を含み得る。
実施形態によれば、データストリームがサブストリームの意味での上述の部分の単位で検証可能であることに加えて、信頼性チェックは、データストリーム14のセグメントの時間的シーケンスのセグメント17の単位で実行され得る。セグメントは、検証期間と称され得る。換言すれば、データストリーム14の1つのセグメント内で、複数のサブストリーム、例えば上述の部分13’、13’’が定義され得、その単位でセグメントが検証可能であり、サブストリームの各々に属するパケットまたはデータは、必ずしもデータストリーム14の連続した部分を形成するのではなく、むしろ、1つのセグメント内で、パケットまたはデータ片がサブストリームのうちの1つに個別に割り当てられ得る。以下では、ただ1つのセグメント17が考慮され、すなわち、例えば、部分を参照するとき、1つのセグメント17内の上述のサブストリームが参照され得る。例えば、第1の態様および第2の態様に関して記載された実施形態では、所定の部分13は、データストリーム14の1つのセグメント17の部分であり得る。
一実施形態によれば、データストリーム14は、例えば1つのセグメント内のデータストリームのサブストリームの数の指示を含み、例えば、データストリームの1つのセグメントのみがデータストリームとして考慮される。
一実施形態によれば、データストリーム14は、例えば1つのセグメント内のデータストリームのサブストリームの数の指示を含み、例えば、データストリームの1つのセグメントのみがデータストリームとして考慮される。
一実施形態によれば、抽出器21は、例えばデータストリーム14からいくつかの部分の指示を導出することによって、データストリーム14からいくつかの部分、例えばデータストリームのサブストリームの数を導出する。この実施形態によれば、部分決定器30は、ペイロードパケット16の各々を、部分のうちの1つ、例えば、部分のうちの1つ以上のうちの1つに割り当て得、すなわち、必ずしも部分の各々に割り当てる必要はない。
以下では、本発明の第1の態様の実施形態について説明する。
図5は、本発明の第1の態様の一実施形態による、データストリーム14をデコードするための装置20を示す。図5の装置20は、任意選択的に、図1の装置20の一実施形態であってもよく、すなわち、図5の装置20は、図1~図4に関して説明した実施形態のうちのいずれかに基づき得る。図4に関して説明した特徴は、第2の態様の実施形態に任意選択的に適用され得る。
図5は、本発明の第1の態様の一実施形態による、データストリーム14をデコードするための装置20を示す。図5の装置20は、任意選択的に、図1の装置20の一実施形態であってもよく、すなわち、図5の装置20は、図1~図4に関して説明した実施形態のうちのいずれかに基づき得る。図4に関して説明した特徴は、第2の態様の実施形態に任意選択的に適用され得る。
第1の態様の実施形態によれば、データストリームは、例えば図4に関して説明したように、セグメント17、17*の時間的シーケンスを含む。例えば、セグメントは、データストリーム14内にエンコードされた信号に関して、例えば、サンプルに割り当てられた提示順序または提示時間などの信号のサンプルの時間的順序に関して、時間的シーケンスを形成する。例えば、セグメントは、ビデオセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成するビデオセグメントであり得る。例えば、セグメント17の各々は、コード化ビデオシーケンス(CVS)であり得る。図5の実施形態によれば、部分決定器30は、例えば上述したように、信頼性に関してチェックされるべきセグメント17*のうちの1つのうちの所定の部分13を決定する。既に述べたように、所定の部分13は、必ずしもセグメント17*の連続した部分である必要はなく、図5のセグメント17*のハッチングされた部分によって示されるように、個々のパケットまたはデータ片が割り当てられていてもよい。
第1の態様の第1の代替例の実施形態によれば、セグメント17*の信頼性チェックのために、抽出器21は、データストリーム14から、セグメント17*が時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうかを指示する指示61を導出する。例えば、指示61は、データストリーム14でシグナリングされる構文要素、例えばフラグ、例えば後述するDSCI_first_signed_segment_flagであり得る。
第1の態様の第2の代替例の実施形態によれば、指示61は、セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する。例えば、指示61は、データストリーム14でシグナリングされる構文要素、例えばフラグ、例えば後述するDSCI_last_signed_segment_flagであり得る。
第1の態様の第2の代替例の実施形態によれば、指示61は、セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうかを指示する。例えば、指示61は、データストリーム14でシグナリングされる構文要素、例えばフラグ、例えば後述するDSCI_last_signed_segment_flagであり得る。
第1の態様の実施形態によれば、指示61は、所定の部分13の検証に含まれる。換言すれば、指示61は、図5の検証文字列形成器39によって実行される検証文字列48の決定に含まれ得る。信頼性チェック41では、図5に示すように、ブロック39において、検証文字列48は、所定の部分13および指示61に基づいて形成される。例えば、ブロック39は、図2のブロック31および49を含み得る。図7に示すような信頼性チェック41のブロック63は、検証文字列48がデジタル署名43に適合するかどうかをチェックする。例えば、ブロック63は、図2のブロック59、およびチェック値47と検証文字列48との間の比較を含み得る。一実施形態によれば、検証文字列48は、所定の部分13をハッシュ関数にかけることによって導出されたハッシュ値を組み合わせること、例えば連結することによって形成される。別の実施形態によれば、指示61と所定の部分13との組合せ、例えば連結は、ハッシュ関数にかけられてハッシュ値が取得され、そのハッシュ値は検証文字列48を形成するために使用される。換言すれば、指示は、所定の部分13に含まれ得る。
換言すれば、例えば、検証文字列は、ハッシュ値31と指示61との両方を反映するか、またはそれらの両方に依拠し得る。例えば、その中の検証は、ハッシュ値31および指示61、例えば、指示61を表す値またはフラグを含む。
換言すれば、本発明の一実施形態は、データストリームをデコードするための装置20であり、データストリームは、セグメント17の時間的シーケンス(例えば、コード化ビデオシーケンス(CVS))を含み(例えば、ビデオセグメントは、時間的シーケンスのビデオセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成する)、装置は、セグメントのシーケンスのセグメントについて、セグメントの所定の部分13を決定すること30と、データストリームから、i)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最初のセグメントであるかどうか、またはii)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最後のセグメントであるかどうかを指示する指示61(例えば、構文要素、例えばフラグ、例えばdsci_last_signed_segment_flag)を導出すること21と、データストリームから、所定の部分13および指示61に基づいて取得された検証文字列48に照らしてチェックされるためのデジタル署名43を導出すること21(例えば、検証文字列はハッシュ値および指示を反映するか、またはそれらに依拠し、例えば、検証文字列はハッシュ値および指示、例えば、指示を表すフラグの値を含む)と、を行うように構成されている。
換言すれば、本発明の一実施形態は、データストリームをデコードするための装置20であり、データストリームは、セグメント17の時間的シーケンス(例えば、コード化ビデオシーケンス(CVS))を含み(例えば、ビデオセグメントは、時間的シーケンスのビデオセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成する)、装置は、セグメントのシーケンスのセグメントについて、セグメントの所定の部分13を決定すること30と、データストリームから、i)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最初のセグメントであるかどうか、またはii)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最後のセグメントであるかどうかを指示する指示61(例えば、構文要素、例えばフラグ、例えばdsci_last_signed_segment_flag)を導出すること21と、データストリームから、所定の部分13および指示61に基づいて取得された検証文字列48に照らしてチェックされるためのデジタル署名43を導出すること21(例えば、検証文字列はハッシュ値および指示を反映するか、またはそれらに依拠し、例えば、検証文字列はハッシュ値および指示、例えば、指示を表すフラグの値を含む)と、を行うように構成されている。
一実施形態によれば、装置は、(例えば、データストリームまたはその所定の部分13を信頼性に関してチェックするために)検証文字列48がデジタル署名43に適合するか(または一致するか)かどうかをチェックすることによって所定の部分13を検証するように構成されている。
一実施形態によれば、装置は、(例えば、さらなる装置またはエンティティによって実行される)所定の部分13の検証のために、所定の部分13、指示61、およびデジタル署名43を提供する(または転送する)ように構成されている(例えば、検証は、データストリームの所定の部分13がデジタル署名43に適合するか(または一致するか)どうかをチェックすることを含む)。
一実施形態によれば、所定の部分13はハッシュ関数にかけられてハッシュ値が取得されるべきであり、検証文字列48は、ハッシュ値に基づいて取得される。
一実施形態によれば、装置は、(例えば、さらなる装置またはエンティティによって実行される)所定の部分13の検証のために、所定の部分13、指示61、およびデジタル署名43を提供する(または転送する)ように構成されている(例えば、検証は、データストリームの所定の部分13がデジタル署名43に適合するか(または一致するか)どうかをチェックすることを含む)。
一実施形態によれば、所定の部分13はハッシュ関数にかけられてハッシュ値が取得されるべきであり、検証文字列48は、ハッシュ値に基づいて取得される。
一実施形態によれば、所定の部分13および指示(例えば、それらの連結)は、ハッシュ関数にかけられてハッシュ値が取得されることになり、検証文字列48は、ハッシュ値に基づいて取得される。
換言すれば、本発明の一実施形態は、データストリーム14をデコードするための装置20であり、装置は、データストリームを信頼性に関してチェックするように構成されており(例えば、データストリームを検証するための装置であり)、データストリームは、セグメント17の時間的シーケンス(例えば、エンコードされたペイロードデータのセグメント、例えば、コード化ビデオシーケンス(CVS))を含み(例えば、セグメントは、時間的シーケンスのセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成する)、装置は、セグメントの所定の部分13をハッシュ関数31にかけてハッシュ値33を取得すること、データストリームから、i)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最初のセグメントであるかどうか、またはii)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最後のセグメントであるかどうかを指示する指示61(例えば、構文要素、例えばフラグ、例えばdsci_last_signed_segment_flag)を導出すること21、ハッシュ値33に基づいてかつ指示61に基づいて検証文字列48を形成すること(例えば、検証文字列はハッシュ値および指示を反映するか、またはそれらに依拠し、例えば、検証文字列はハッシュ値および指示、例えば、指示を表すフラグの値を含む)、データストリームからデジタル署名43を導出し、検証文字列48がデジタル署名43に適合するかどうかをチェックすることによって、セグメントのシーケンスの(例えば、現在のまたは所定の)セグメント17*を検証するように構成されている。
換言すれば、本発明の一実施形態は、データストリーム14をデコードするための装置20であり、装置は、データストリームを信頼性に関してチェックするように構成されており(例えば、データストリームを検証するための装置であり)、データストリームは、セグメント17の時間的シーケンス(例えば、エンコードされたペイロードデータのセグメント、例えば、コード化ビデオシーケンス(CVS))を含み(例えば、セグメントは、時間的シーケンスのセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成する)、装置は、セグメントの所定の部分13をハッシュ関数31にかけてハッシュ値33を取得すること、データストリームから、i)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最初のセグメントであるかどうか、またはii)セグメントが時間的シーケンスの署名された(または検証可能な)サブシーケンスの最後のセグメントであるかどうかを指示する指示61(例えば、構文要素、例えばフラグ、例えばdsci_last_signed_segment_flag)を導出すること21、ハッシュ値33に基づいてかつ指示61に基づいて検証文字列48を形成すること(例えば、検証文字列はハッシュ値および指示を反映するか、またはそれらに依拠し、例えば、検証文字列はハッシュ値および指示、例えば、指示を表すフラグの値を含む)、データストリームからデジタル署名43を導出し、検証文字列48がデジタル署名43に適合するかどうかをチェックすることによって、セグメントのシーケンスの(例えば、現在のまたは所定の)セグメント17*を検証するように構成されている。
第1の態様の実施形態のさらなる任意選択の詳細を以下に説明する。
一実施形態によれば、指示61は、セグメント17*に関連付けられた補足情報メッセージ内、例えば、後述するDSCI SEIメッセージ内において、データストリーム14に含まれる。
例えば、指示61は、上述の検証パラメータセットの一部であり得る。あるいは、指示61は、デジタル署名43を搬送する補足情報メッセージ、例えば、後述するDSCV SEIメッセージの一部であってもよい。
換言すれば、第1の態様の第1の代替例の一実施形態によれば、指示61を含む補足情報メッセージは、データストリーム14内の所定の部分13に先行する。第1の態様の第2の代替例の一実施形態によれば、指示61を含む補足情報メッセージは、データストリーム14内の所定の部分13に後続するか、またはデータストリーム14内の所定の部分13の最終ペイロードパケットに先行する。
一実施形態によれば、指示61は、セグメント17*に関連付けられた補足情報メッセージ内、例えば、後述するDSCI SEIメッセージ内において、データストリーム14に含まれる。
例えば、指示61は、上述の検証パラメータセットの一部であり得る。あるいは、指示61は、デジタル署名43を搬送する補足情報メッセージ、例えば、後述するDSCV SEIメッセージの一部であってもよい。
換言すれば、第1の態様の第1の代替例の一実施形態によれば、指示61を含む補足情報メッセージは、データストリーム14内の所定の部分13に先行する。第1の態様の第2の代替例の一実施形態によれば、指示61を含む補足情報メッセージは、データストリーム14内の所定の部分13に後続するか、またはデータストリーム14内の所定の部分13の最終ペイロードパケットに先行する。
第1の態様の第1の代替例の一実施形態によれば、セグメント17*の所定の部分13の信頼性チェック14は、セグメント17*が署名されたサブシーケンスの最初のセグメントである場合に、時間的シーケンスにおいてセグメント17*に先行するセグメントであるデータストリーム14のいずれのセグメントとは無関係に検証文字列48が形成されるような方法で実行される。
例えば、セグメントが署名されたサブシーケンスの最初のセグメントではない場合、検証文字列48は、データストリーム14のセグメントのシーケンス内のセグメント17*に先行する、先行するセグメントに対して取得された、前のハッシュ値を使用して形成され得る。例えば、「先行するセグメント」に言及する場合、セグメント17*の直前の先行するセグメント、すなわち信頼性が現在チェックされているセグメントを指す。
換言すれば、セグメント17*が署名されたサブシーケンスの最初のセグメントであるかどうかを指示する指示は、デコーダ、またはデータストリーム14の信頼性をチェックするための装置に、現在のセグメントが署名されたサブシーケンスの最初のセグメントであるかどうかの情報を提供し、それにより、信頼性チェックを実行するエンティティが、現在のセグメント17*についてのデジタル署名を正常に検証するために、前のセグメントからのハッシュ値が信頼性チェックに含まれるべきかどうかを推論することが可能になる。例えば、個々のセグメントを検証するだけでなく、時間的セグメントのシーケンスの時間的一貫性の検証を提供するために、例えば、セグメントがキャンセルされなかったか、または追加のセグメントが追加されなかったことを検証するために、セグメントの検証は、現在チェックされているセグメントの検証文字列内に前のセグメントのハッシュ値を含め得る。
換言すれば、セグメント17*が署名されたサブシーケンスの最初のセグメントであるかどうかを指示する指示は、デコーダ、またはデータストリーム14の信頼性をチェックするための装置に、現在のセグメントが署名されたサブシーケンスの最初のセグメントであるかどうかの情報を提供し、それにより、信頼性チェックを実行するエンティティが、現在のセグメント17*についてのデジタル署名を正常に検証するために、前のセグメントからのハッシュ値が信頼性チェックに含まれるべきかどうかを推論することが可能になる。例えば、個々のセグメントを検証するだけでなく、時間的セグメントのシーケンスの時間的一貫性の検証を提供するために、例えば、セグメントがキャンセルされなかったか、または追加のセグメントが追加されなかったことを検証するために、セグメントの検証は、現在チェックされているセグメントの検証文字列内に前のセグメントのハッシュ値を含め得る。
ストリームに切り替える受信機は、現在受信しているセグメントが、メディアデータストリームの署名されたサブシーケンスの最初のセグメントであるかどうかを必ずしも認識しているわけではない。セグメントが最初のセグメントであるか否かを指示する指示により、セグメントが最初のセグメントではなく、受信機が先行するセグメントを所持していない場合は、信頼性チェックを実行することができないと推論することが可能になる。セグメントが最初のセグメントである場合、受信機は、前のセグメントとは無関係に信頼性チェックが実行されるべきであり、信頼性チェックを実行することができることを指示61から認識する。したがって、信頼性チェックが失敗した場合、受信機は、セグメントが信頼できないことを認識する。またさらに、2つのデータストリームが連結されている場合、および第1のデータストリームから第2のデータストリームへの切替えを指示する指示がデータストリーム内に存在しない場合、受信機は、第2のデータストリームの最初のセグメントが第1のデータストリームの最後のセグメントのハッシュ値を使用して検証されるべきであると仮定することとなり得る。しかしながら、これらの2つのデータストリームが互いに独立して信頼性に関してチェック可能にされる場合、そのようなチェックは失敗することとなり得、受信機は第2のデータストリームの最初のセグメントの検証問題を識別することとなり得る。セグメントが第2のデータストリームの最初のセグメントであるという情報を有することにより、本発明の一実施形態による受信機は、第1のデータストリームとは無関係に信頼性チェックを実行することとなり得、その結果、チェックは成功する。
セグメントが署名されたサブシーケンスの最後のセグメントであるという指示の存在は、データストリームが気付かれずに短縮されることを防止する。
セグメントが署名されたサブシーケンスの最後のセグメントであるという指示の存在は、データストリームが気付かれずに短縮されることを防止する。
図4に関して既に説明したように、データストリーム14またはそのセグメントは、任意選択的に、サブストリームとも称される部分の単位で検証可能であってもよい。第1の態様の実施形態によれば、セグメント17*は、階層的順序を有するいくつかの部分の単位で検証可能である。
一実施形態によれば、所定の部分13が部分のうち階層的順序内の最初の部分ではない場合、信頼性チェック41は、階層的順序において所定の部分13に先行するセグメント17*の先行する部分に対して取得された、前のハッシュ値にさらに基づいて検証文字列48を生成する。例えば、先行する部分は、所定の部分の信頼性チェックが依拠する部分であり得、換言すれば、所定の部分13についての信頼性チェックは、先行する部分を参照する。
一実施形態によれば、所定の部分13が部分のうち階層的順序内の最初の部分ではない場合、信頼性チェック41は、階層的順序において所定の部分13に先行するセグメント17*の先行する部分に対して取得された、前のハッシュ値にさらに基づいて検証文字列48を生成する。例えば、先行する部分は、所定の部分の信頼性チェックが依拠する部分であり得、換言すれば、所定の部分13についての信頼性チェックは、先行する部分を参照する。
一実施形態によれば、所定の部分13が、部分間の階層的順序内の最初の部分、例えば、上記のように最下位にランク付けされた部分、いくつかの部分のうちの所定の部分13の後続する部分の検証、後続する部分が階層的順序において所定の部分13に、例えば直接的または間接的に続く場合、信頼性チェック41は、所定の部分13をハッシュ関数にかけることによって取得されたハッシュ値に基づいて後続する部分を検証するための検証文字列48を形成する。
実施形態によれば、セグメント17*が署名されたサブシーケンス内の最初のセグメントであるかどうかを指示する指示61は、選択的にシグナリングされ、例えば、検証されるべき所定の部分13がいくつかの部分の階層的順序内の最初の部分である場合にのみシグナリングされる。セグメント17*が署名されたサブシーケンスの最後のセグメントであるかどうかを指示61が示す場合も同じく適用され得る。この条件付きシグナリングは、指示61が、セグメント17*内の個々の部分に固有の構文構造、例えば、例えば後述するDSCV SEIメッセージなどのセグメント17*のいくつかの部分の各々に対してシグナリングされる構文構造でシグナリングされる場合に特に有益である。最初の部分、例えば最下位にランク付けされたサブストリームに対してのみ指示61を条件付きシグナリングすることは、セグメントのすべての部分に対して同じである情報を複数回シグナリングすることを防止する。
換言すれば、階層的順序内の最初の部分ではない、いくつかの部分のうちの部分を検証する際に、装置20は、データストリーム14から指示61を導出することを控え得る。
換言すれば、階層的順序内の最初の部分ではない、いくつかの部分のうちの部分を検証する際に、装置20は、データストリーム14から指示61を導出することを控え得る。
図6は、第1の態様の一実施形態による、データストリームをエンコードするための装置10を示す。図6の装置10は、図3の装置10に任意選択的に対応してもよく、すなわち、図6の装置10は、図1~図3に関して説明した実施形態のうちのいずれかに基づき得る。図6の実施形態によれば、エンコーダ10は、データストリーム14を信頼性に関してチェック可能にする(検証モジュール41’を参照)。
エンコーダ10の挿入器23は、セグメント17、17*の時間的シーケンスをデータストリーム14内にエンコードする。装置10は、セグメント17*の所定の部分13をハッシュ関数31にかけてハッシュ値33を取得することによって、セグメントのシーケンスの現在のセグメント17*を信頼性に関してチェック可能にする。装置10の挿入器23は、指示61をデータストリーム14内に挿入し、指示61は、第1の代替例において、現在のセグメント17*が時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるか、または第2の代替例において、現在のセグメント17*が時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかを指示する。この実施形態によれば、検証文字列48は、例えば、図5の検証モジュール41に関して説明したように、所定の部分13および指示61に基づいて形成される。検証文字列は、例えば非対称暗号方式の秘密鍵を使用して検証文字列43に署名することによってデジタル署名43を取得するために使用される。挿入器23は、デジタル署名43またはその指示をデータストリーム14内に挿入する。
エンコーダ10の挿入器23は、セグメント17、17*の時間的シーケンスをデータストリーム14内にエンコードする。装置10は、セグメント17*の所定の部分13をハッシュ関数31にかけてハッシュ値33を取得することによって、セグメントのシーケンスの現在のセグメント17*を信頼性に関してチェック可能にする。装置10の挿入器23は、指示61をデータストリーム14内に挿入し、指示61は、第1の代替例において、現在のセグメント17*が時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるか、または第2の代替例において、現在のセグメント17*が時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかを指示する。この実施形態によれば、検証文字列48は、例えば、図5の検証モジュール41に関して説明したように、所定の部分13および指示61に基づいて形成される。検証文字列は、例えば非対称暗号方式の秘密鍵を使用して検証文字列43に署名することによってデジタル署名43を取得するために使用される。挿入器23は、デジタル署名43またはその指示をデータストリーム14内に挿入する。
検証文字列を指示61に依拠させることにより、指示61が破損すること、例えば、信頼性チェックを弱体化させる可能性のある不正な方法で修正されること、特に、上記で説明された利点である、データストリーム14内に指示61を含めるという利点が損なわれることが防止される。
以下では、本発明の第2の態様の実施形態について説明する。
図7は、本発明の第2の態様の一実施形態による、データストリーム14をデコードするための装置20を示す。図7による装置20は、任意選択的に、図1の装置20の一実施形態であってもよく、すなわち、図1~図3に関して説明した詳細のうちのいずれかが、図7の装置20において任意選択的に実装されてもよい。さらに、図4および図5に関して説明した特徴は、図7の装置において任意選択的に実装されてもよい。
図7は、本発明の第2の態様の一実施形態による、データストリーム14をデコードするための装置20を示す。図7による装置20は、任意選択的に、図1の装置20の一実施形態であってもよく、すなわち、図1~図3に関して説明した詳細のうちのいずれかが、図7の装置20において任意選択的に実装されてもよい。さらに、図4および図5に関して説明した特徴は、図7の装置において任意選択的に実装されてもよい。
図7の実施形態によれば、データストリーム14は、例えば、図4または図5に関して説明したように、セグメント17、17*の時間的シーケンスを含む。図7によれば、装置20は、現在信頼性に関してチェックされるべきであるセグメントのシーケンスのセグメント17*のデータストリーム14から、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出する。検証チェーンがセグメントで中断されたという結果に装置20が達した場合、およびデータストリーム14が信頼性に関してセグメント17*をチェックするためのデジタル署名43を含む場合、抽出器21は、データストリーム14からデジタル署名43を抽出して、信頼性チェック41のためのデジタル署名43を提供する。信頼性チェック41は上記のように実行されてもよいが、第2の態様の実施形態によれば、検証文字列48の形成は、検証チェーンが現在のセグメントで中断された場合、時間的シーケンスにおいて現在チェックされているセグメントの直前にある先行するビデオセグメントとは無関係に実行される。
例えば、検証チェーンは、セグメントの時間的シーケンスの署名されたサブシーケンスである。例えば、データストリームが現在のセグメントでスプライシングされている場合、すなわち、例えば、現在のセグメントがデータストリーム14の先行するセグメント内で搬送される信号とは同じ信号に属さない場合に、中断が発生する可能性がある。例えば、メディア信号の場合、データストリームをスプライシングしてメディアデータストリームのセグメント間に広告が挿入される場合があり、その検証チェーンがスプライシング点で中断されるデータストリームが得られる。一般に、スプライシングとは、信頼性に関して一緒にチェック可能にされないデータストリームセグメントの構成物を指し得る。
換言すれば、本発明の一実施形態は、データストリーム14をデコードするための装置20であり、データストリームは、セグメント17の時間的シーケンス(例えば、コード化ビデオシーケンス(CVS))を含み(例えば、セグメントは、時間的シーケンスのセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成する)、装置は、データストリームから、セグメントのシーケンスのセグメント17*について、セグメントの時間的シーケンス内の検証チェーン(または時間的シーケンスの署名されたサブシーケンス)がセグメントにおいて中断されたかどうかを導出すること21と、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名43を含む場合(例えば、セグメントまたはその部分を信頼性に関してチェックするためのデジタル署名43)(例えば、装置は、データストリームがセグメントについてのデジタル署名を含むかどうかをチェックするように構成されており、例えば、データストリームがセグメントについてのデジタル署名を含まない場合、装置は信頼性に関してセグメントをチェックしない)、データストリームから、時間的シーケンスにおいてセグメント17*の直前にある先行するセグメントとは独立した検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、を行うように構成されている。
一実施形態によれば、装置は、(例えば、データストリームまたはその所定の部分13を信頼性に関してチェックするために)検証文字列48がデジタル署名43に適合するか(または一致するか)どうかをチェックすることによってセグメントを検証するように構成されている。
一実施形態によれば、装置は、(例えば、データストリームまたはその所定の部分13を信頼性に関してチェックするために)検証文字列48がデジタル署名43に適合するか(または一致するか)どうかをチェックすることによってセグメントを検証するように構成されている。
一実施形態によれば、装置は、(例えば、さらなる装置またはエンティティによって実行される)セグメントの検証のために、セグメントの所定の部分13およびデジタル署名43を提供する(または転送する)ように構成されている(例えば、検証は、データストリームの所定の部分13がデジタル署名43に適合するか(または一致するか)どうかをチェックすることを含む)。
換言すれば、本発明の一実施形態は、データストリーム14をデコードするための装置20であり、装置は、データストリームを信頼性に関してチェックするように構成されており(例えば、データストリームを検証するための装置)、データストリームは、セグメントの時間的シーケンス(例えば、コード化ビデオシーケンス(CVS))を含み(例えば、セグメントは、時間的シーケンスのセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成する)、装置は、データストリームから、セグメントの時間的シーケンス内の検証チェーン(または時間的シーケンスの署名されたサブシーケンス)がセグメントにおいて中断されたかどうかを導出すること21と、データストリームが、検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントについてのデジタル署名43を含む場合(例えば、セグメントまたはその部分を信頼性に関してチェックするためのデジタル署名43)(例えば、装置は、データストリームがセグメントについてのデジタル署名43を含むかどうかをチェックするように構成されており、例えば、データストリームがセグメントについてのデジタル署名を含まない場合、装置は信頼性に関してセグメントをチェックしない)、データストリームからデジタル署名43を導出すること21と、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること39と、検証文字列48がデジタル署名43に適合するかどうかをチェックすること63と、を行うように構成されている。
換言すれば、本発明の一実施形態は、データストリーム14をデコードするための装置20であり、装置は、データストリームを信頼性に関してチェックするように構成されており(例えば、データストリームを検証するための装置)、データストリームは、セグメントの時間的シーケンス(例えば、コード化ビデオシーケンス(CVS))を含み(例えば、セグメントは、時間的シーケンスのセグメントに割り当てられた提示順序または提示時間に関して時間的シーケンスを形成する)、装置は、データストリームから、セグメントの時間的シーケンス内の検証チェーン(または時間的シーケンスの署名されたサブシーケンス)がセグメントにおいて中断されたかどうかを導出すること21と、データストリームが、検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントについてのデジタル署名43を含む場合(例えば、セグメントまたはその部分を信頼性に関してチェックするためのデジタル署名43)(例えば、装置は、データストリームがセグメントについてのデジタル署名43を含むかどうかをチェックするように構成されており、例えば、データストリームがセグメントについてのデジタル署名を含まない場合、装置は信頼性に関してセグメントをチェックしない)、データストリームからデジタル署名43を導出すること21と、時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること39と、検証文字列48がデジタル署名43に適合するかどうかをチェックすること63と、を行うように構成されている。
実施形態のさらなる任意選択の詳細を以下に説明する。
一実施形態によれば、装置20は、データストリーム14が現在のセグメントについてのデジタル署名を含むかどうかをチェックし得る。例えば、そうではない場合、現在のセグメントは信頼性に関してチェックされないこととなる。換言すれば、検証チェーン内に挿入されており、それによって検証チェーンの中断を引き起こす現在のセグメントは、検証可能ではない、すなわちデジタル署名を含まない場合があり得る。これらの場合、信頼性チェックは省略されてもよい。
一実施形態によれば、データストリーム14は、現在のセグメントについて、検証チェーンが現在のセグメントで中断されたかどうかを指示する指示を含む。例えば、指示は、フラグ、例えば後述するDSCI_splicing_flagなどの構文要素であり得る。例えば、指示は、上述の検証パラメータセットに含まれ得る。
一実施形態によれば、装置20は、データストリーム14が現在のセグメントについてのデジタル署名を含むかどうかをチェックし得る。例えば、そうではない場合、現在のセグメントは信頼性に関してチェックされないこととなる。換言すれば、検証チェーン内に挿入されており、それによって検証チェーンの中断を引き起こす現在のセグメントは、検証可能ではない、すなわちデジタル署名を含まない場合があり得る。これらの場合、信頼性チェックは省略されてもよい。
一実施形態によれば、データストリーム14は、現在のセグメントについて、検証チェーンが現在のセグメントで中断されたかどうかを指示する指示を含む。例えば、指示は、フラグ、例えば後述するDSCI_splicing_flagなどの構文要素であり得る。例えば、指示は、上述の検証パラメータセットに含まれ得る。
図7では、現在のセグメントは、参照符号17*を使用して指示されている。図7のデータストリーム14の時間的シーケンスは、例示を目的として、セグメント17およびセグメント17*を含む。セグメント17は、検証チェーン、例えば時間的シーケンスの署名されたサブシーケンスに属する。セグメント17*は、2つのセグメント17間に挿入されており、それによって、現在のセグメント17*で検証チェーンの中断が引き起こされる。
一実施形態によれば、装置20は、セグメント17*が信頼性に関してチェック可能であるかどうかをチェックし得、セグメント17*が信頼性に関してチェック可能ではない場合、装置20は、検証チェーンがセグメント17*で中断されたと仮定し得る。
一実施形態によれば、装置20は、セグメント17*が信頼性に関してチェック可能であるかどうかをチェックし得、セグメント17*が信頼性に関してチェック可能ではない場合、装置20は、検証チェーンがセグメント17*で中断されたと仮定し得る。
信頼性チェック41では、図7に示すように、ブロック39において、検証文字列48が所定の部分13に基づいて形成される。例えば、ブロック39は、図2のブロック31および49を含み得る。図7に示すような信頼性チェック41のブロック63は、検証文字列48がデジタル署名43に適合するかどうかをチェックする。例えば、ブロック63は、図2のブロック59、およびチェック値47と検証文字列48との間の比較を含み得る。
一実施形態によれば、検証文字列48の形成は、装置20がセグメント17*で検証チェーンの中断を検出したか否かに依拠する。検証チェーンが中断された場合(すなわち、装置20が、中断を検出した場合)、およびデータストリーム14がセグメント17*についてのデジタル署名を含む場合、検証文字列48は、先行するセグメントの部分をハッシュ関数31にかけることによって取得された先行するハッシュ値を使用することによって形成される。装置20が中断を検出した場合、およびデータストリーム14がセグメント17*についてのデジタル署名を含む場合、検証文字列48は、時間的シーケンスにおいてセグメント17*に先行するセグメント17のうちのいずれかから独立して形成される。
一実施形態によれば、検証文字列48の形成は、セグメント17*がさらなる検証チェーンの最初のセグメントであるか否かにさらに依拠し得る。セグメント17*がさらなる検証チェーンの最初のセグメントである場合、検証文字列48は、時間的シーケンスにおいてセグメント17*に先行するセグメントのうちのいずれかとは無関係に形成される。例では、セグメントがさらなる検証チェーンの最初のセグメントではない場合、検証文字列48は、前のハッシュ値を使用して形成されてもよく、さらなる前のハッシュ値は、時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される。例えば、さらなる先行するセグメントは、さらなる検証チェーンに属するセグメントである。換言すれば、データストリーム14の時間的シーケンスのシーケンスは、インターリーブされ得る複数の検証チェーンを含み得る。装置20は、セグメント17*とさらなる検証チェーンのその先行するセグメントとの時間的一貫性が信頼できないことがチェックされ得るように、スプライシング点、すなわち、装置20が検証チェーンの中断を検出した点、すなわちセグメント17*について、セグメント17*がさらなる検証チェーンの最初のセグメントであるかどうかをチェックし得る。
より一般的な用語では、装置20は、セグメント17*がさらなる検証チェーンの最初のセグメントであるかどうかをチェックし得る。例えば、このチェックは、図5に関して説明した指示61を使用して実行され得る。したがって、第2の態様は、本発明の第1の態様と組み合わされてもよい。
あるいは、装置20は、セグメント17*についてデータストリーム14でシグナリングされた検証情報に基づいて、セグメント17*がさらなる検証チェーンの最初のセグメントであるか否かを決定し得る。換言すれば、装置20は、データストリーム14から、セグメント17*の検証情報を導出し、その検証情報を、別のさらなる先行するセグメントまたは時間的シーケンスのさらなる先行するセグメントについての先行する検証と比較し得る。例えば、検証情報は、上述の検証パラメータセットの情報、例えばDSCI SEIメッセージ、またはその中の情報信号の部分であり得る。検証情報が先行する検証情報と一致する場合、装置は、セグメント17*がさらなる検証チェーンの最初のセグメントではないと推論し得、そうではない場合、すなわち、検証情報が一致しない、例えば、先行する検証情報と同一ではない場合、装置20は、セグメント17*がさらなる検証チェーンの最初のセグメントではないと推論し得る。
あるいは、装置20は、セグメント17*についてデータストリーム14でシグナリングされた検証情報に基づいて、セグメント17*がさらなる検証チェーンの最初のセグメントであるか否かを決定し得る。換言すれば、装置20は、データストリーム14から、セグメント17*の検証情報を導出し、その検証情報を、別のさらなる先行するセグメントまたは時間的シーケンスのさらなる先行するセグメントについての先行する検証と比較し得る。例えば、検証情報は、上述の検証パラメータセットの情報、例えばDSCI SEIメッセージ、またはその中の情報信号の部分であり得る。検証情報が先行する検証情報と一致する場合、装置は、セグメント17*がさらなる検証チェーンの最初のセグメントではないと推論し得、そうではない場合、すなわち、検証情報が一致しない、例えば、先行する検証情報と同一ではない場合、装置20は、セグメント17*がさらなる検証チェーンの最初のセグメントではないと推論し得る。
例えば、検証情報と先行する検証情報との間の一致は、それらが同一であることを意味し得るか、または、検証情報の評価によって、検証情報および先行する検証情報が同じコンテンツもしくは検証チェーンの一部であるという、例えば、それらが同じ検証チェーンの後続のセグメントであるという結果がもたらされることを意味し得る。例えば、検証情報のコンテンツ識別子は、セグメントごとに変更されてもよく、セグメントが同じコンテンツの後続のセグメントであるかどうかをチェックすることを可能にし得る。例えば、セグメント17*がさらなる検証チェーンの最初のセグメントであるかどうかを決定するとき、装置20は、セグメント17*の検証情報を、時間的シーケンスの複数の先行するセグメント、例えばすべてのセグメント、または直前のセグメントを除くすべてのセグメントについての検証情報と比較し得る。
例えば、検証情報は、デジタル署名43を解読するための公開鍵を含む証明書の指示、ハッシュ関数の指示、およびセグメントをメディア資産に関連付けるセグメントのコンテンツの識別子のうちの1つ以上を含み得る。
例えば、検証情報は、デジタル署名43を解読するための公開鍵を含む証明書の指示、ハッシュ関数の指示、およびセグメントをメディア資産に関連付けるセグメントのコンテンツの識別子のうちの1つ以上を含み得る。
一実施形態によれば、検証チェーンがセグメント17*で中断されたことをデータストリーム14が指示する場合、装置20は、セグメント17*の後続のセグメントの検証のために先行するセグメントのハッシュ値を記憶し得る。換言すれば、装置20は、先行するセグメントの部分をハッシュ関数にかけることによって取得されたハッシュ値を記憶して、このハッシュ値を、セグメント17*で中断された検証チェーンに属する後続のセグメントの後の検証に使用し得る。換言すれば、装置20は、検証チェーンの後続のセグメントで検証チェーンを継続し得る。
図8は、本発明の第2の態様の一実施形態による、データストリームをエンコードするための装置10を示す。図8の装置10は、図3の装置10の一実施形態であり得る。図8の装置10は、図7の装置20の文脈で説明したようにデータストリーム14を提供し得る。図8による装置10は、データストリーム14を信頼性に関してチェック可能にするように構成されている。装置10は、例えばセグメント17、17*を含むセグメント17の時間的シーケンスをデータストリーム14内に挿入する。セグメントの時間的シーケンス内の検証チェーンがセグメントの時間的シーケンスのセグメント17*で中断された場合、およびセグメント17*が信頼性に関してチェック可能にされるべきである場合、装置20は、時間的シーケンスにおいてセグメント17*の直前にある先行するセグメントとは独立した検証文字列48を形成することによって、セグメント17*を信頼性に関してチェック可能にする。装置10は、検証文字列48に基づいてデジタル署名43を取得し、デジタル署名43をデータストリーム14内に挿入する。
図1~図8の説明は装置に関するものであるが、これらの図のブロック図は、ブロックの各々がそれぞれの方法のステップを表す、それぞれの方法のフロー図と代替的にみなされ得る。したがって、図1~図8は、それぞれの方法の例示をさらに提供する。
以下では、本発明の態様が再び説明され、換言すれば、本発明の特定の実施態様およびさらなる実施形態が説明される。図1~図8に関して説明した実施形態は、以下で説明する実施形態の一般化とみなされ得るが、以下の説明は、前述の実施形態とは独立して実施され得る本発明の追加の実施形態をさらに含む場合がある。以下の実施形態に関して説明される特徴および詳細のいずれも、任意選択的に前述の実施形態に統合されてもよい。
図1~図8の説明は装置に関するものであるが、これらの図のブロック図は、ブロックの各々がそれぞれの方法のステップを表す、それぞれの方法のフロー図と代替的にみなされ得る。したがって、図1~図8は、それぞれの方法の例示をさらに提供する。
以下では、本発明の態様が再び説明され、換言すれば、本発明の特定の実施態様およびさらなる実施形態が説明される。図1~図8に関して説明した実施形態は、以下で説明する実施形態の一般化とみなされ得るが、以下の説明は、前述の実施形態とは独立して実施され得る本発明の追加の実施形態をさらに含む場合がある。以下の実施形態に関して説明される特徴および詳細のいずれも、任意選択的に前述の実施形態に統合されてもよい。
以下の説明はビデオデータストリームに言及しているが、同じ概念が、あらゆるタイプのメディアデータストリーム、またはサンプリングされたデータを含むあらゆるタイプのデータストリームに等価的に適用され得ることは明らかである。サンプリングされたデータのさらなる例は、波形信号であり得る。オーディオ信号の他に、波形信号のさらなる例は、生物医学的波形信号である。
ビデオを認証するには、どのようにハッシュが実行されたか(用いられたハッシュ方法、データがどのように編成されているか、実際に何がどのようにハッシュされたかを含む)、ビデオの1つ以上の署名を検証し提供するために使用され得る公開鍵を搬送する証明書に関する情報をクライアントに提供する必要がある。
ビデオを認証するには、どのようにハッシュが実行されたか(用いられたハッシュ方法、データがどのように編成されているか、実際に何がどのようにハッシュされたかを含む)、ビデオの1つ以上の署名を検証し提供するために使用され得る公開鍵を搬送する証明書に関する情報をクライアントに提供する必要がある。
以下では、コンテンツ検証のための既存の解決策について説明する。本発明の後続の実施形態は、この既存の解決策に対する修正の観点から説明され得、したがって、この既存の解決策の詳細は、本発明の実施形態の特徴を形成し得る。
この目的のために、既存の解決策は、ビデオビットストリームの各コード化ビデオシーケンス(CVS)内に3つのSEIメッセージを含めることである。
1.デジタル署名されたコンテンツ初期化SEIメッセージ:同じコンテンツに属する個別に署名された異なるビットストリーム(例えば、異なるオーディオストリームおよびビデオストリーム)が、同じコンテンツに属していると識別され得るように(したがって、異なるコンテンツのオーディオを特定のビデオに使用することはできず、ある人が別の時間に発言したことが新規のビデオに使用されることが回避される)、使用されたハッシュされた方法に関する情報、証明書を取得するためのURL、または、署名を演算するときに使用されるコンテンツの公開鍵およびUUIDなどの情報を含むC2PAマニフェストを搬送し、かつ署名の生成に使用されるサブストリームの数を搬送する。後者は、コンテンツを、各々が署名を有する異なるサブストリームに分割することを指し、したがって、(例えば、ネットワーク輻輳がある場合に高分解能拡張レイヤを階層化エンコードするために)ビデオの重要度の低い部分がドロップされた場合、受信された部分は依然として認証され得る。
2.デジタル署名されたコンテンツ選択SEIメッセージ:ピクチャのスライス(すなわち、VCL NALユニット)が属するサブストリームIDを識別する。
3.デジタル署名されたコンテンツ検証SEIメッセージ:各サブストリームに対応する署名を提供する。
この目的のために、既存の解決策は、ビデオビットストリームの各コード化ビデオシーケンス(CVS)内に3つのSEIメッセージを含めることである。
1.デジタル署名されたコンテンツ初期化SEIメッセージ:同じコンテンツに属する個別に署名された異なるビットストリーム(例えば、異なるオーディオストリームおよびビデオストリーム)が、同じコンテンツに属していると識別され得るように(したがって、異なるコンテンツのオーディオを特定のビデオに使用することはできず、ある人が別の時間に発言したことが新規のビデオに使用されることが回避される)、使用されたハッシュされた方法に関する情報、証明書を取得するためのURL、または、署名を演算するときに使用されるコンテンツの公開鍵およびUUIDなどの情報を含むC2PAマニフェストを搬送し、かつ署名の生成に使用されるサブストリームの数を搬送する。後者は、コンテンツを、各々が署名を有する異なるサブストリームに分割することを指し、したがって、(例えば、ネットワーク輻輳がある場合に高分解能拡張レイヤを階層化エンコードするために)ビデオの重要度の低い部分がドロップされた場合、受信された部分は依然として認証され得る。
2.デジタル署名されたコンテンツ選択SEIメッセージ:ピクチャのスライス(すなわち、VCL NALユニット)が属するサブストリームIDを識別する。
3.デジタル署名されたコンテンツ検証SEIメッセージ:各サブストリームに対応する署名を提供する。
これら3つのSEIメッセージおよび検証プロセスの既存の解決策は、以下で再現される。この解決策の詳細は、特に明記しない限り、例えばこの解決策の修正の観点において、本発明の実施形態で任意選択的に実施され得る。
デジタル署名されたコンテンツ初期化SEIメッセージ:
dsci_hash_method_typeは、コード化ビデオシーケンスのSPS、PPS、APS、PH、およびVCL NALユニットのサブセットについてのメッセージダイジェストを計算するために使用されるセキュアハッシュアルゴリズムを示す。これらのメッセージダイジェストおよびデジタル署名されたコンテンツ検証SEIメッセージ内に存在するデジタル署名に基づいて、デコーダは、コード化されたビデオが構文要素dsci_key_source_uri、dsci_use_key_register_idx_flag、およびdsci_use_key_register_idx_flagのフラグが1に等しい場合、dsci_key_register_idxによって指示されたコンテンツオリジネータによって生成されたものであることを検証することができる。構文要素dsci_hash_method_typeのサポート値、メッセージダイジェストを計算するために使用されるブロックサイズ、および計算されたメッセージダイジェストのサイズが指定されている。表1に列挙されていないdsci_hash_method_typeの値は、ITU-T|ISO/IECによる将来の使用のために予約されており、この仕様のこのバージョンに準拠するペイロードデータには存在しないものとする。デコーダは、dsci_hash_method_typeの予約された値を含む信頼できる初期化SEIメッセージを無視するものとする。表1に列挙されたセキュアハッシュアルゴリズムは、「セキュアハッシュ規格」FIPS PUB 180-4に規定されている。
デジタル署名されたコンテンツ初期化SEIメッセージ:
dsci_hash_method_typeは、コード化ビデオシーケンスのSPS、PPS、APS、PH、およびVCL NALユニットのサブセットについてのメッセージダイジェストを計算するために使用されるセキュアハッシュアルゴリズムを示す。これらのメッセージダイジェストおよびデジタル署名されたコンテンツ検証SEIメッセージ内に存在するデジタル署名に基づいて、デコーダは、コード化されたビデオが構文要素dsci_key_source_uri、dsci_use_key_register_idx_flag、およびdsci_use_key_register_idx_flagのフラグが1に等しい場合、dsci_key_register_idxによって指示されたコンテンツオリジネータによって生成されたものであることを検証することができる。構文要素dsci_hash_method_typeのサポート値、メッセージダイジェストを計算するために使用されるブロックサイズ、および計算されたメッセージダイジェストのサイズが指定されている。表1に列挙されていないdsci_hash_method_typeの値は、ITU-T|ISO/IECによる将来の使用のために予約されており、この仕様のこのバージョンに準拠するペイロードデータには存在しないものとする。デコーダは、dsci_hash_method_typeの予約された値を含む信頼できる初期化SEIメッセージを無視するものとする。表1に列挙されたセキュアハッシュアルゴリズムは、「セキュアハッシュ規格」FIPS PUB 180-4に規定されている。
表1-dsci_hash_method_typeのサポート値
dsci_key_source_uriは、IETFインターネット規格66で指定されている構文およびセマンティクスを有するURIを含む。dsci_key_retrieval_mode_idcが0に等しい場合、dsci_key_source_uriは、C2PA技術仕様に規定されているC2PAマニフェストストアを指定する。dsci_key_retrieval_mode_idcが1に等しい場合、以下が適用される。
-dsci_use_key_register_idx_flagが0に等しい場合、URIは、以下のデジタル署名されたコンテンツ検証SEIメッセージ内に存在する署名を検証するために使用され得るコンテンツプロバイダの証明書を識別し、
-そうではない場合(dsci_use_key_register_idx_flagが1に等しい場合)、URIは、証明書のレジスタ、およびdsci_key_register_idxによって指示されるように、以下のデジタル署名されたコンテンツ検証SEIメッセージ内に存在する署名を検証するために使用され得るコンテンツプロバイダの証明書を識別する。
dsci_key_source_uriは、IETFインターネット規格66で指定されている構文およびセマンティクスを有するURIを含む。dsci_key_retrieval_mode_idcが0に等しい場合、dsci_key_source_uriは、C2PA技術仕様に規定されているC2PAマニフェストストアを指定する。dsci_key_retrieval_mode_idcが1に等しい場合、以下が適用される。
-dsci_use_key_register_idx_flagが0に等しい場合、URIは、以下のデジタル署名されたコンテンツ検証SEIメッセージ内に存在する署名を検証するために使用され得るコンテンツプロバイダの証明書を識別し、
-そうではない場合(dsci_use_key_register_idx_flagが1に等しい場合)、URIは、証明書のレジスタ、およびdsci_key_register_idxによって指示されるように、以下のデジタル署名されたコンテンツ検証SEIメッセージ内に存在する署名を検証するために使用され得るコンテンツプロバイダの証明書を識別する。
dsci_num_verification_substreams_minus1に1を加えたものは、メッセージダイジェストが計算され、以下のデジタル署名されたコンテンツ検証SEIメッセージ内に署名が存在し得るサブストリームの数を指示する。
変数NumVerificationSubstreamは、以下のように導出される。
NumVerificationSubstream=dsci_num_verification_substreams_minus1+1。
0に等しいdsci_key_retrieval_mode_idcは、dsci_key_source_uriに含まれるURIが、C2PA技術仕様に規定されているC2PAマニフェストストアを指定することを指示する。1に等しいdsci_key_retrieval_mode_idcは、dsci_key_source_uriに含まれるURI、および存在する場合は、dsci_key_register_idxが証明書を指定することを指示する。この仕様のこのバージョンでは、dsci_key_retrieval_mode_idcは、0~1の範囲内にあるものとする。デコーダはまた、dsci_key_retrieval_mode_idcの他の値も許容するものとするが、デジタル署名されたコンテンツ初期化SEIメッセージ、関連するデジタル署名されたコンテンツ選択SEIメッセージ、および関連するデジタル署名されたコンテンツ検証SEIメッセージのコンテンツを無視するものとする。
変数NumVerificationSubstreamは、以下のように導出される。
NumVerificationSubstream=dsci_num_verification_substreams_minus1+1。
0に等しいdsci_key_retrieval_mode_idcは、dsci_key_source_uriに含まれるURIが、C2PA技術仕様に規定されているC2PAマニフェストストアを指定することを指示する。1に等しいdsci_key_retrieval_mode_idcは、dsci_key_source_uriに含まれるURI、および存在する場合は、dsci_key_register_idxが証明書を指定することを指示する。この仕様のこのバージョンでは、dsci_key_retrieval_mode_idcは、0~1の範囲内にあるものとする。デコーダはまた、dsci_key_retrieval_mode_idcの他の値も許容するものとするが、デジタル署名されたコンテンツ初期化SEIメッセージ、関連するデジタル署名されたコンテンツ選択SEIメッセージ、および関連するデジタル署名されたコンテンツ検証SEIメッセージのコンテンツを無視するものとする。
1に等しいdsci_use_key_register_idx_flagは、dsci_key_source_uriに含まれるURIが証明書のレジスタを指定し、かつ構文要素dsci_key_register_idxがSEIメッセージ内に存在することを指示する。0に等しいdsci_use_key_register_idx_flagは、dsci_key_source_uriに含まれるURIが証明書を指定し、かつ構文要素dsci_key_register_idxがSEIメッセージ内に存在しないことを指示する。
dsci_key_retrieval_mode_idcが0に等しいとき、C2PA技術仕様に規定されているように、アクティブマニフェストがコンテンツバインディングを提供するメディア資産は、デジタル署名されたコンテンツ初期化SEIメッセージである。以下の制約が、dsci_key_source_uriによって識別されるC2PAマニフェストストアに適用される。
dsci_key_retrieval_mode_idcが0に等しいとき、C2PA技術仕様に規定されているように、アクティブマニフェストがコンテンツバインディングを提供するメディア資産は、デジタル署名されたコンテンツ初期化SEIメッセージである。以下の制約が、dsci_key_source_uriによって識別されるC2PAマニフェストストアに適用される。
-アクティブマニフェストは、C2PA技術仕様に規定されているように、コンテンツアサーションに対する強い拘束力を有する、正確に1つのc2pa.hash.dataを含むものとする。
-c2pa.hash.data内に指示される除外範囲は、デジタル署名されたコンテンツ初期化SEIメッセージ内のdsci_key_source_uriバイトと一致するものとする。
dsci_key_register_idxは、存在する場合、以下のデジタル署名されたコンテンツ検証SEIメッセージ内に存在する署名を検証するために使用され得る、dsci_key_source_uriによって指示された証明書レジスタ内の、コンテンツプロバイダの証明書を指定するインデックスを含む。
-c2pa.hash.data内に指示される除外範囲は、デジタル署名されたコンテンツ初期化SEIメッセージ内のdsci_key_source_uriバイトと一致するものとする。
dsci_key_register_idxは、存在する場合、以下のデジタル署名されたコンテンツ検証SEIメッセージ内に存在する署名を検証するために使用され得る、dsci_key_source_uriによって指示された証明書レジスタ内の、コンテンツプロバイダの証明書を指定するインデックスを含む。
構文要素dsci_key_retrieval_mode_idc、dsci_use_key_register_idx_flag、dsci_key_source_uri、およびdsci_use_key_register_idx_flagが1に等しい場合にdsci_key_register_idxによって指示された証明書は、関連するパラメータ(該当する場合)およびコンテンツプロバイダの公開鍵を用いてデジタル署名方法を指定するものとする。dsci_key_retrieval_mode_idcが1に等しいとき、この情報が提供されるフォーマットは本明細書の範囲外である。「デジタル署名規格」のFIPS 186-5に準拠するデジタル署名アルゴリズムを使用することが提案されている。
1に等しいdsci_content_uuid_present_flagは、構文要素dsci_content_uuidが存在することを指定する。0に等しいdsci_content_uuid_present_flagは、構文要素dsci_content_uuidが存在しないことを指定する。dsci_key_retrieval_mode_idcが0に等しいとき、dsci_content_uuid_present_flagは1に等しいものとする。
1に等しいdsci_content_uuid_present_flagは、構文要素dsci_content_uuidが存在することを指定する。0に等しいdsci_content_uuid_present_flagは、構文要素dsci_content_uuidが存在しないことを指定する。dsci_key_retrieval_mode_idcが0に等しいとき、dsci_content_uuid_present_flagは1に等しいものとする。
dsci_content_uuidは、存在する場合、ビデオコンテンツの識別子を指示し、ISO/IEC 11578:1996、Annex Aの手順に従ってUUIDとして指定された値を有するものとする。
デジタル署名されたコンテンツ初期化SEIメッセージがAU内に存在する場合、NumVerificationSubstreamメッセージダイジェストの計算は、指定されたdsci_hash_method_typeのFIPS PUB 180-4の仕様に従って初期化される。デジタル署名されたコンテンツ初期化SEIメッセージに続く各SPS、PPS、APS、PH、およびVCL NALユニットは、NumVerificationSubstreamメッセージダイジェストのうちの1つに関連付けられ、検証サブストリームidは、デジタル署名されたコンテンツ選択SEIメッセージによって指示されるか、またはPUについてデジタル署名されたコンテンツ選択SEIメッセージが存在しない場合、0に等しいと推論されるかのいずれかである。k番目のメッセージダイジェストを計算するために使用されるメッセージは、kが0以上dsci_num_verification_substreams_minus1以下の範囲内であり、k番目の検証サブストリームに関連付けられたすべてのSPS、PPS、APS、およびVCL NALユニットを連結することによって取得される。メッセージダイジェストの計算はブロックに基づいて行われ、ブロックサイズはdsci_hash_method_typeの値に応じて表1で指定されている。各SPS、PPS、APS、PH、およびVCL NALユニットについて、関連付けられたメッセージダイジェストは、指定されたdsci_hash_method_typeのFIPS PUB 180-4で指定されたアルゴリズムに従って更新される。メッセージダイジェストは、検証サブストリームのすべてのSPS、PPS、APS、PH、およびVCL NALユニットの連結のために計算されるため、処理ブロックのうちのいくつかは、典型的には、2つ以上の連続するNALユニットに及ぶことに留意されたい。
デジタル署名されたコンテンツ選択SEIメッセージ:
dscs_verification_substream_idは、現在のコード化されたピクチャのSPS、PPS、APS、PH、およびVCL NALユニットが割り当てられる検証サブストリームを示す。デジタル署名されたコンテンツ初期化SEIメッセージが現在のコード化されたビデオシーケンス内に存在したが、デジタル署名されたコンテンツ選択SEIメッセージがコード化されたピクチャに存在しない場合、dscs_verification_substream_idの値は0に等しいと推論される。dscs_verification_substream_idの値は、0以上、dsci_num_verification_substream_minus1以下とする。
dscs_verification_substream_idは、現在のコード化されたピクチャのSPS、PPS、APS、PH、およびVCL NALユニットが割り当てられる検証サブストリームを示す。デジタル署名されたコンテンツ初期化SEIメッセージが現在のコード化されたビデオシーケンス内に存在したが、デジタル署名されたコンテンツ選択SEIメッセージがコード化されたピクチャに存在しない場合、dscs_verification_substream_idの値は0に等しいと推論される。dscs_verification_substream_idの値は、0以上、dsci_num_verification_substream_minus1以下とする。
以下で指定されるように、dscs_verification_substream_idに等しいidを有する検証サブストリームのメッセージダイジェストは、先行するデジタル署名されたコンテンツ初期化SEIメッセージで指定されたdsci_hash_method_typeに従って、現在のコード化されたピクチャのSPS、PPS、APS、PH、およびVCL NALユニットで更新される。
デジタル署名されたコンテンツ検証SEIメッセージ:
dscv_verification_substream_idは、SEIメッセージが適用される検証サブストリームを指示する。
dscv_verification_substream_idは、SEIメッセージが適用される検証サブストリームを指示する。
dscv_signature_length_in_octets_minus1に1を加えたものは、構文要素dscv_signatureのオクテット単位の長さを指定する(1オクテットは8ビットからなる)。
dscv_signatureは、dscv_verification_substream_idによって指示される検証サブストリームに対するデジタル署名を含む。
dscv_signatureは、dscv_verification_substream_idによって指示される検証サブストリームに対するデジタル署名を含む。
ビットストリーム署名の検証は、以下の順序付けられたステップからなる。
1.CurrDigestと称されるメッセージダイジェストの計算は、以下のように最終決定される。
-dscv_verification_substream_idに等しいidを有する検証サブストリームのためのSPS、PPS、APS、PH、およびVCL NALユニットの連結が、FIPS PUB 180-4の仕様に従ってパディングされる。検証サブストリームの最後のNALユニットをパディングするだけで十分であることに留意されたい。
-メッセージダイジェストCurrDigestの計算が、FIPS PUB 180-4の仕様に従って最終決定される。メッセージダイジェストの長さ(ビット単位)を表1に示す。
1.CurrDigestと称されるメッセージダイジェストの計算は、以下のように最終決定される。
-dscv_verification_substream_idに等しいidを有する検証サブストリームのためのSPS、PPS、APS、PH、およびVCL NALユニットの連結が、FIPS PUB 180-4の仕様に従ってパディングされる。検証サブストリームの最後のNALユニットをパディングするだけで十分であることに留意されたい。
-メッセージダイジェストCurrDigestの計算が、FIPS PUB 180-4の仕様に従って最終決定される。メッセージダイジェストの長さ(ビット単位)を表1に示す。
2.参照メッセージダイジェストRefDigestが、以下のように決定される。
-dscv_verification_substream_idが0よりも大きい場合、参照メッセージダイジェストRefDigestは、dscv_verification_substream_id-1に等しいidを有する検証サブストリームの最後に計算されたメッセージダイジェストである。dscv_verification_substream_id-1に等しい検証サブストリームidに関連付けられた任意のデジタル署名されたコンテンツ検証SEIがdscv_verification_substream_idに等しい検証サブストリームidを有するデジタル署名されたコンテンツ検証SEIメッセージの前に存在することが、ビットストリーム適合性の要件である。
-そうではなく、現在のデジタル署名されたコンテンツ検証SEIメッセージが、コード化されたビデオシーケンスにおいて0に等しい検証IDを有する最初のデジタル署名されたコンテンツ検証SEIであり、かつ先行するコード化されたビデオシーケンスが、いかなるデジタル署名されたコンテンツ初期化SEIメッセージも含まなかった場合(これは、現在のコード化されたビデオシーケンスがビットストリームにおける最初のコード化されたビデオシーケンスである場合を含む)、RefDigestは、1に等しいDigestSizeビットからなるビット列に等しく設定され、DigestSizeは、表1で指定されたメッセージダイジェストのサイズである。
-そうではない場合、参照メッセージダイジェストRefDigestは、0に等しいidを有する検証サブストリームの最後に計算されたメッセージダイジェストである。
-dscv_verification_substream_idが0よりも大きい場合、参照メッセージダイジェストRefDigestは、dscv_verification_substream_id-1に等しいidを有する検証サブストリームの最後に計算されたメッセージダイジェストである。dscv_verification_substream_id-1に等しい検証サブストリームidに関連付けられた任意のデジタル署名されたコンテンツ検証SEIがdscv_verification_substream_idに等しい検証サブストリームidを有するデジタル署名されたコンテンツ検証SEIメッセージの前に存在することが、ビットストリーム適合性の要件である。
-そうではなく、現在のデジタル署名されたコンテンツ検証SEIメッセージが、コード化されたビデオシーケンスにおいて0に等しい検証IDを有する最初のデジタル署名されたコンテンツ検証SEIであり、かつ先行するコード化されたビデオシーケンスが、いかなるデジタル署名されたコンテンツ初期化SEIメッセージも含まなかった場合(これは、現在のコード化されたビデオシーケンスがビットストリームにおける最初のコード化されたビデオシーケンスである場合を含む)、RefDigestは、1に等しいDigestSizeビットからなるビット列に等しく設定され、DigestSizeは、表1で指定されたメッセージダイジェストのサイズである。
-そうではない場合、参照メッセージダイジェストRefDigestは、0に等しいidを有する検証サブストリームの最後に計算されたメッセージダイジェストである。
3.識別文字列IdStringが、参照メッセージダイジェストRefDigest、現在のメッセージダイジェスト、およびdsci_hash_method_type、ならびに存在する場合にはdsci_content_uuid2のバイナリ表現を連結することによって構築される。
RefDigestのビット数は、RefDigestの値を計算するときに有効であったdsci_hash_method_typeの値によって決定され、CurrDigestのビット数は、dsci_hash_method_typeの現在の値によって決定され、dsci_hash_method_typeの値は、8ビットで表され、存在する場合、dsci_content_uuidの値は、128ビットで表される。
RefDigestのビット数は、RefDigestの値を計算するときに有効であったdsci_hash_method_typeの値によって決定され、CurrDigestのビット数は、dsci_hash_method_typeの現在の値によって決定され、dsci_hash_method_typeの値は、8ビットで表され、存在する場合、dsci_content_uuidの値は、128ビットで表される。
4.識別文字列IdStringは、署名を検証するために使用されるメッセージを表す。署名検証アルゴリズムおよび署名を検証するために使用される公開鍵は、構文要素dsci_use_key_register_idx_flag、dsci_key_source_uri、および、dsci_use_key_register_idx_flagが1に等しい場合、dsci_key_register_idxによって指示される。
注1-署名検証に使用されるビット列はRefDigestを含むため、現在のメッセージダイジェストを計算するために使用されるSPS、PPS、APS、PH、およびVCL NALユニットが正しいことが検証され得るだけでなく、追加のSPS、PPS、APS、PH、およびVCL NALユニットがビットストリームに追加されておらず、SPS、PPS、APS、PH、およびVCL NALユニットがビットストリームから削除されなかったことも追加的に検証され得る。
注2-デコーダがビットストリームにチューニングする場合、RefDigestの値を正しく計算することができないため、第1のデジタル署名されたコンテンツ検証SEIメッセージについて構成されたIdStringを検証することができない。しかし、第2のデジタル署名されたコンテンツ検証SEIメッセージから開始して、署名を検証することができる。
検証後、dscv_verification_substream_idに等しいidを有する検証サブストリームのメッセージダイジェストは、指定されたdsci_hash_method_typeのFIPS PUB 180-4の仕様に従って再初期化される。
注2-デコーダがビットストリームにチューニングする場合、RefDigestの値を正しく計算することができないため、第1のデジタル署名されたコンテンツ検証SEIメッセージについて構成されたIdStringを検証することができない。しかし、第2のデジタル署名されたコンテンツ検証SEIメッセージから開始して、署名を検証することができる。
検証後、dscv_verification_substream_idに等しいidを有する検証サブストリームのメッセージダイジェストは、指定されたdsci_hash_method_typeのFIPS PUB 180-4の仕様に従って再初期化される。
以下では、本発明の第1の態様のさらなる実施形態について説明する。
現在定義されているSEIメッセージは、セグメント内のサブストリームの署名をシグナリングすることを可能にし、かつ連続するセグメントのハッシュにわたって署名することによって時間的一貫性を検証することを可能にする。
しかしながら、これまでのところ、署名されたビットストリーム(セクション)の開始点または終了点に対するシグナリングは存在しない。特に、終了シグナリングの欠落により、デコーダによって気付かれることなく、最後に(終端で)ビットストリームを短縮(またはカット)することが可能になり得る。開始点の明示的なシグナリングにより、例えば前のセグメントのハッシュを署名に結合するために、デコーダに特別な処理を指示することが可能になる。また、開始点の明示的なシグナリングにより、同じ署名鍵(例えば、ニュースキャストの2つのセグメント)を使用して独立してエンコードおよび署名されたビットストリームを連結することが可能になる。EOB NALユニットが使用されない限り、デコーダは、第2のビットストリームがリンクを切断することを許可されていることを認識することができず、検証問題を誤って指示する可能性がある。
現在定義されているSEIメッセージは、セグメント内のサブストリームの署名をシグナリングすることを可能にし、かつ連続するセグメントのハッシュにわたって署名することによって時間的一貫性を検証することを可能にする。
しかしながら、これまでのところ、署名されたビットストリーム(セクション)の開始点または終了点に対するシグナリングは存在しない。特に、終了シグナリングの欠落により、デコーダによって気付かれることなく、最後に(終端で)ビットストリームを短縮(またはカット)することが可能になり得る。開始点の明示的なシグナリングにより、例えば前のセグメントのハッシュを署名に結合するために、デコーダに特別な処理を指示することが可能になる。また、開始点の明示的なシグナリングにより、同じ署名鍵(例えば、ニュースキャストの2つのセグメント)を使用して独立してエンコードおよび署名されたビットストリームを連結することが可能になる。EOB NALユニットが使用されない限り、デコーダは、第2のビットストリームがリンクを切断することを許可されていることを認識することができず、検証問題を誤って指示する可能性がある。
解決策1:
署名されたビットストリームセクションの終了を示すフラグをシグナリングする。
シグナリングの変形例a)
フラグが、デジタル署名されたコンテンツ初期化SEIメッセージに以下のように追加される。
これは好ましいシグナリングであり、理由は以下の通りである。
-すべてのサブストリームに対して1つの初期化SEIのみがシグナリングされる
-情報は、既に署名されたセグメントの最初でデコーダに利用可能である
-ハッシュ方法のタイプが既に署名に含まれているため、初期化SEIと署名の間に追加のデータ依存関係は導入されない
署名されたビットストリームセクションの終了を示すフラグをシグナリングする。
シグナリングの変形例a)
フラグが、デジタル署名されたコンテンツ初期化SEIメッセージに以下のように追加される。
これは好ましいシグナリングであり、理由は以下の通りである。
-すべてのサブストリームに対して1つの初期化SEIのみがシグナリングされる
-情報は、既に署名されたセグメントの最初でデコーダに利用可能である
-ハッシュ方法のタイプが既に署名に含まれているため、初期化SEIと署名の間に追加のデータ依存関係は導入されない
シグナリングの変形例b)
あるいは、フラグが、デジタル署名されたコンテンツ検証SEIメッセージに以下のように追加される。
両方のシグナリングの変形例について:
悪意のあるユーザが最後に署名されたビットストリームセグメントの指示を変更できないことを確実にするために、フラグの値が署名に追加され、例えば、署名の入力データは、図9Aに示す要素から構成されることとなり得る。
あるいは、フラグが、デジタル署名されたコンテンツ検証SEIメッセージに以下のように追加される。
両方のシグナリングの変形例について:
悪意のあるユーザが最後に署名されたビットストリームセグメントの指示を変更できないことを確実にするために、フラグの値が署名に追加され、例えば、署名の入力データは、図9Aに示す要素から構成されることとなり得る。
解決策2:
署名されたビットストリームセクションの開始を指示するフラグをシグナリングする。
シグナリングの変形例a)
フラグが、デジタル署名されたコンテンツ初期化SEIメッセージに以下のように追加される。
これは好ましいシグナリングであり、理由は以下の通りである。
-すべてのサブストリームに対して1つの初期化SEIのみがシグナリングされる
-情報は、既に署名されたセグメントの最初でデコーダに利用可能である
-ハッシュ方法のタイプが既に署名に含まれているため、初期化SEIと署名の間に追加のデータ依存関係は導入されない
シグナリングの変形例b)
あるいは、フラグが、デジタル署名されたコンテンツ検証SEIメッセージに以下のように追加される。
両方のシグナリングの変形例について:
悪意のあるユーザが最後に署名されたビットストリームセグメントの指示を変更できないことを確実にするために、フラグの値が署名に追加され、例えば、署名の入力データは、図9Aに示す要素から構成されることとなり得る。
署名されたビットストリームセクションの開始を指示するフラグをシグナリングする。
シグナリングの変形例a)
フラグが、デジタル署名されたコンテンツ初期化SEIメッセージに以下のように追加される。
これは好ましいシグナリングであり、理由は以下の通りである。
-すべてのサブストリームに対して1つの初期化SEIのみがシグナリングされる
-情報は、既に署名されたセグメントの最初でデコーダに利用可能である
-ハッシュ方法のタイプが既に署名に含まれているため、初期化SEIと署名の間に追加のデータ依存関係は導入されない
シグナリングの変形例b)
あるいは、フラグが、デジタル署名されたコンテンツ検証SEIメッセージに以下のように追加される。
両方のシグナリングの変形例について:
悪意のあるユーザが最後に署名されたビットストリームセグメントの指示を変更できないことを確実にするために、フラグの値が署名に追加され、例えば、署名の入力データは、図9Aに示す要素から構成されることとなり得る。
署名されたビットストリームセグメントが最初である場合、前のセグメントへの一時的な参照は使用されない。この場合、refDigestは以下である必要がある。
a)図9Bに示すように、署名に全く含まれないか、
または
b)ハッシュのすべてのバイトに対して0x00に設定される(使用されるハッシュタイプに依拠する長さ)
デジタル署名されたコンテンツ検証SEIにおける条件付きシグナリング
時間依存署名は基本サブストリーム0でのみ使用されるため、署名されたビットストリームセクションの開始および終了を指示するフラグはこのサブストリーム内でのみ関連する。
a)図9Bに示すように、署名に全く含まれないか、
または
b)ハッシュのすべてのバイトに対して0x00に設定される(使用されるハッシュタイプに依拠する長さ)
デジタル署名されたコンテンツ検証SEIにおける条件付きシグナリング
時間依存署名は基本サブストリーム0でのみ使用されるため、署名されたビットストリームセクションの開始および終了を指示するフラグはこのサブストリーム内でのみ関連する。
一方または両方のフラグがデジタル署名されたコンテンツ検証SEIにおいてシグナリングされる場合、それらはSEIメッセージがサブストリーム0に適用される場合にのみ存在すべきである。
これにより、冗長性および起こり得る競合を回避することによってシグナリングビットを節約する。
これにより、冗長性および起こり得る競合を回避することによってシグナリングビットを節約する。
以下では、本発明の第2の態様のさらなる実施形態について説明する。
さらなる拡張を以下に記載する。上記に提示された解決策により、コンテンツを検証できる方法で、認証されたセクション全体をスプライシングすることが可能になる。典型的なシナリオでは、スプライシングは、ビデオビットストリーム(すなわち、セクション)の途中にいくつかのコンテンツが導入される広告挿入などの予期しないイベントの結果として発生する。そのようなスプライシングされたコンテンツは、認証される場合または認証されない場合がある。そのようなスプライシングの場合の図が図10に示されている。
さらなる拡張を以下に記載する。上記に提示された解決策により、コンテンツを検証できる方法で、認証されたセクション全体をスプライシングすることが可能になる。典型的なシナリオでは、スプライシングは、ビデオビットストリーム(すなわち、セクション)の途中にいくつかのコンテンツが導入される広告挿入などの予期しないイベントの結果として発生する。そのようなスプライシングされたコンテンツは、認証される場合または認証されない場合がある。そのようなスプライシングの場合の図が図10に示されている。
A(開始)が正確に検証でき得るために、図示の使用事例には問題が生じる。Bは、検証された場合、Aの最後のセグメントが考慮されると正しく検証されないこととなり得る。Bが検証されなくても、原理的には全く問題ないこととなり得る。しかし、A(継続)に戻るとき、A(継続)はA(開始)に対して検証されない、すなわち何かを削除できてしまうか、またはA(継続)がBの最後のセグメントで検証されてエラーとなるかのいずれかとなる。
さらなる実施形態では、認証されたビットストリームを検証するデコーダがそのようなスプライシング点を識別することができるように、スプライシングが(例えば、dsci_splicing_flagと呼ばれるフラグによって)シグナリングされるという解決策が提供される。また、これは認証されていないビットストリームの一部に使用することもできるが、いくつかのコンテンツが一緒にスプライシングされていることを指示するものとして使用され得、受信機は、スプライシング点の前のコンテンツが終了していない場合は、スプライシングされたコンテンツが終了した時点(例えば、Bが終了した後)で継続される可能性が高いと解釈する。以下のコンテンツが認証されるスプライシング点(例えば、A(継続))では、コンテンツが新規のものであり、単に前のコンテンツの継続ではない場合(例えば、それは、新規のコンテンツプロバイダから証明されているか、または新規のUUIDを有するか、または何らかの方法で、それが新規のセグメントで始まるという指示が追加された-例えば、dsci_first_signed_segment_flag)、ランダムアクセスが実行されており、そのセグメントが最初のセグメントであったかのように処理されることとなり得る。それ以外の場合、コンテンツが新規ではなく、前にデコードされたコンテンツの続き(A継続)であった場合は、しばらく前に受信した同じコンテンツの最後のセグメントとの時間的一貫性がチェックされる必要がある。そのためには、コンテンツBがスプライシングされる前の最後のセグメントのハッシュ値が使用される必要がある。前の例では、A(継続)の最初のセグメントは、A(開始)の最後のセグメントでチェックされることとなり得る。
したがって、ビットストリーム内のスプライシング指示は、スプライシング点の直後のセグメントとスプライシング点に先行するセグメントとが一緒に検証されるべきではないという情報を、1つよりも多いビデオシーケンスを検証するデコーダに提供する。いくつかの状況下では、スプライシング点に続くセグメントが検証されるべきである(すなわち、認証情報を含む)場合、それはしばらく前に送信された前のセグメントで検証されるべきであるということであり得る。したがって、デコーダは、スプライシング点において、以下を識別する必要がある。
a)新規のコンテンツの後続のセグメントが認証されているかどうか
a.認証されていない場合、認証済みの前のセグメントが、将来、さらなるセグメントの検証に必要になる可能性があるかどうか
b.認証されている場合、それがコンテンツの最初のセグメントであるかどうか。
b)新規のコンテンツの後続のセグメントを認証する必要があるとき、それが同じコンテンツの前のセグメントが見つかるべき新しいコンテンツの最初のセグメントではないかどうか。
a.認証されていない場合、認証済みの前のセグメントが、将来、さらなるセグメントの検証に必要になる可能性があるかどうか
b.認証されている場合、それがコンテンツの最初のセグメントであるかどうか。
b)新規のコンテンツの後続のセグメントを認証する必要があるとき、それが同じコンテンツの前のセグメントが見つかるべき新しいコンテンツの最初のセグメントではないかどうか。
前述の情報を導出する選択肢は、以下のように単一のフラグdsci_splicing_flagを使用して行われ得る。認証されたコンテンツが受信され、ある時点でスプライシングフラグが見つかったとき、デコーダは、コンテンツが将来のある時点で続く(後続する)可能性があると解釈し、最下位のサブストリーム(時間的一貫性のために使用されるサブストリーム)の最後のセグメントのダイジェストメッセージを記憶する。Bが認証された場合、または認証されなかった場合であっても、そのようなスプライシングフラグが指示された場合、これは例におけるBで起こり得ることに留意されたい。Bが認証されなかった場合のさらなる選択肢として、Bが認証されなかったという事実は、スプライシングが起こったと直接解釈され得る。
しばらくして、さらなるスプライシングフラグに遭遇したとき、デコーダは、コンテンツが新しいコンテンツの最初のセグメントであるか、または以前に送信されたコンテンツの最初のセグメントではないかを決定する。例えば、デコーダは、デジタル署名されたコンテンツSEIメッセージを比較し、それを前に受信されたデジタル署名されたコンテンツSEIメッセージと比較する。デジタル署名されたコンテンツ初期化SEIメッセージが、前に受信したデジタル署名されたコンテンツ初期化SEIメッセージと全く同じである場合(すなわち、それが同じ証明書を指し、同じUUID値、同じhash_method_typeを有する場合)、デコーダは、後続のセグメントが新しいコンテンツの最初のセグメントではないと決定することができ、したがって、そのようなSEIメッセージが適用された、前に記憶されたダイジェストメッセージ(最後のもの)でそのセグメントを検証し、その最後のセグメントでそれを検証する。このデジタル署名されたコンテンツ初期化SEIメッセージの比較は、様々な方法で行うことができる。
1)記載の通りの完全一致
2)UUIDが存在する場合のみ完全一致
3)一貫性チェック:いくつかの値の変更を許容する
a.例えば、hash_method_type
b.UUIDは変化する可能性があるが、その生成は特定の規則に従う
i.前のUUID+1である
ii.時間情報に基づいて演算され、使用された前の時間および現在の時間にはギャップがない
さらなる選択肢は、ダイジェストメッセージを記憶する必要があるかどうか、およびセグメントを前のセグメント(直前のセグメントではない)とともに検証する必要があるかどうかの決定を容易にするために、何らかのさらなるシグナリングを提供することであり得る。例えば、コンテンツの最後のセグメントの指示がビットストリーム内に提供されている場合、スプライシング点で最後のセグメントフラグが指示されていない場合は、ダイジェストメッセージを記憶する必要がある。同様に、スプライシング点で最初のセグメントフラグが後続のセグメント内で指示されていない場合、前に記憶されたダイジェストメッセージが検索され、一緒に検証される。最後のフラグが指示されている場合、ダイジェストメッセージは記憶されず、最初のメッセージが指示されている場合、セグメントはいかなる前のセグメントとも一緒に検証されない。
2)UUIDが存在する場合のみ完全一致
3)一貫性チェック:いくつかの値の変更を許容する
a.例えば、hash_method_type
b.UUIDは変化する可能性があるが、その生成は特定の規則に従う
i.前のUUID+1である
ii.時間情報に基づいて演算され、使用された前の時間および現在の時間にはギャップがない
さらなる選択肢は、ダイジェストメッセージを記憶する必要があるかどうか、およびセグメントを前のセグメント(直前のセグメントではない)とともに検証する必要があるかどうかの決定を容易にするために、何らかのさらなるシグナリングを提供することであり得る。例えば、コンテンツの最後のセグメントの指示がビットストリーム内に提供されている場合、スプライシング点で最後のセグメントフラグが指示されていない場合は、ダイジェストメッセージを記憶する必要がある。同様に、スプライシング点で最初のセグメントフラグが後続のセグメント内で指示されていない場合、前に記憶されたダイジェストメッセージが検索され、一緒に検証される。最後のフラグが指示されている場合、ダイジェストメッセージは記憶されず、最初のメッセージが指示されている場合、セグメントはいかなる前のセグメントとも一緒に検証されない。
このような構文のインスタンス化は、デジタル署名されたコンテンツ初期化SEIメッセージ内で次のように示される。
しかしながら、スプライシング情報は、別個のSEIメッセージで提供されてもよい。
しかしながら、スプライシング情報は、別個のSEIメッセージで提供されてもよい。
[ビデオコード化方式]
以下では、本発明の実施形態が任意選択的に実装され得るビデオコード化方式について説明する。換言すれば、前述の実施形態のうちのいずれかによる装置20は、以下で説明するデコーダ20の実施形態のうちのいずれかに従って実装されるビデオデコーダであり得る。同様に、装置10は、以下で説明するエンコーダ10の実施形態のうちのいずれかによるビデオエンコーダであり得る。
以下の図の説明は、本発明の実施形態が組み込まれ得るコード化フレームワークの一例を形成するために、ビデオのピクチャをコード化するためのブロックベースの予測コーデックのエンコーダおよびデコーダの説明の提示から始まる。図11、図12、および図13を参照して、それぞれのエンコーダおよびデコーダについて説明する。以下では、本発明の概念の実施形態の説明を、そのような概念を図11および図12のそれぞれのエンコーダおよびデコーダにどのように組み込むことができるかに関する説明とともに提示するが、後続の図および以下で説明する実施形態はまた、図11、図12、および図13のエンコーダおよびデコーダの基礎となるコード化フレームワークに従って動作しないエンコーダおよびデコーダを形成するために用いられてもよい。
以下では、本発明の実施形態が任意選択的に実装され得るビデオコード化方式について説明する。換言すれば、前述の実施形態のうちのいずれかによる装置20は、以下で説明するデコーダ20の実施形態のうちのいずれかに従って実装されるビデオデコーダであり得る。同様に、装置10は、以下で説明するエンコーダ10の実施形態のうちのいずれかによるビデオエンコーダであり得る。
以下の図の説明は、本発明の実施形態が組み込まれ得るコード化フレームワークの一例を形成するために、ビデオのピクチャをコード化するためのブロックベースの予測コーデックのエンコーダおよびデコーダの説明の提示から始まる。図11、図12、および図13を参照して、それぞれのエンコーダおよびデコーダについて説明する。以下では、本発明の概念の実施形態の説明を、そのような概念を図11および図12のそれぞれのエンコーダおよびデコーダにどのように組み込むことができるかに関する説明とともに提示するが、後続の図および以下で説明する実施形態はまた、図11、図12、および図13のエンコーダおよびデコーダの基礎となるコード化フレームワークに従って動作しないエンコーダおよびデコーダを形成するために用いられてもよい。
図11は、変換ベースの残差コード化を例示的に用いて、ピクチャ12をデータストリーム14内に予測的にコード化するための装置を示す。装置またはエンコーダは、参照符号10を使用して示されている。図12は、対応するデコーダ20、すなわち、やはり変換ベースの残差デコードを用いてデータストリーム14からピクチャ12’を予測的にデコードするように構成された装置20を示しており、アポストロフィは、デコーダ20によって再構成されたピクチャ12’が、予測残差信号の量子化によって導入されるコード化損失の観点から、装置10によって当初エンコードされたピクチャ12から逸脱していることを示すために使用されている。図11および図12は、変換ベースの予測残差コード化を例示的に用いるが、本出願の実施形態はこの種類の予測残差コード化に限定されない。これは、以下に概説されるように、図11および図12に関して説明される他の詳細についても当てはまる。
エンコーダ10は、予測残差信号を空間-スペクトル変換にかけ、このようにして取得された予測残差信号をデータストリーム14内にエンコードするように構成されている。同様に、デコーダ20は、データストリーム14からの予測残差信号をデコードし、このようにして取得された予測残差信号をスペクトル-空間変換にかけるように構成されている。
エンコーダ10は、予測残差信号形成器22を内部に備え得、予測残差信号形成器22は、予測信号26の元の信号からの、すなわちピクチャ12からの偏差を測定するように予測残差24を生成する。予測残差信号形成器22は、例えば、元の信号から、すなわちピクチャ12から予測信号を減算する減算器であり得る。次いで、エンコーダ10は、予測残差信号24を空間-スペクトル変換にかけてスペクトル領域予測残差信号24’を取得する変換器28をさらに備え、このスペクトル領域予測残差信号24’は次に、同じくエンコーダ10が備える量子化器32によって量子化にかけられる。このように量子化された予測残差信号24’’は、ビットストリーム14内にコード化される。この目的のために、エンコーダ10は、任意選択的に、データストリーム14に変換および量子化される予測残差信号をエントロピーコード化するエントロピーコーダ34を備え得る。予測信号26は、データストリーム14にエンコードされかつそこからデコード可能な予測残差信号24’’に基づいて、エンコーダ10の予測ステージ36によって生成される。この目的のために、予測ステージ36は、図11に示すように、量子化損失を除く信号24’に対応するスペクトル領域予測残差信号24’’’を得るように予測残差信号24’’を逆量子化する逆量子化器38と、それに続いて、量子化損失を除く元の予測残差信号24に対応する予測残差信号24’’’’を得るために、後者の予測残差信号24’’’を逆変換、すなわちスペクトル-空間変換にかける逆変換器40と、を内部に備え得る。次いで、予測ステージ36の結合器42は、再構成された信号46、すなわち元の信号12の再構成が得られるように、加算などによって予測信号26および予測残差信号24’’’’を再結合する。再構成された信号46は、信号12’に対応し得る。次いで、予測ステージ36の予測モジュール44は、例えば、空間予測、すなわちピクチャ内予測、および/または時間予測、すなわちピクチャ間予測を用いることによって、信号46に基づいて予測信号26を生成する。
エンコーダ10は、予測残差信号形成器22を内部に備え得、予測残差信号形成器22は、予測信号26の元の信号からの、すなわちピクチャ12からの偏差を測定するように予測残差24を生成する。予測残差信号形成器22は、例えば、元の信号から、すなわちピクチャ12から予測信号を減算する減算器であり得る。次いで、エンコーダ10は、予測残差信号24を空間-スペクトル変換にかけてスペクトル領域予測残差信号24’を取得する変換器28をさらに備え、このスペクトル領域予測残差信号24’は次に、同じくエンコーダ10が備える量子化器32によって量子化にかけられる。このように量子化された予測残差信号24’’は、ビットストリーム14内にコード化される。この目的のために、エンコーダ10は、任意選択的に、データストリーム14に変換および量子化される予測残差信号をエントロピーコード化するエントロピーコーダ34を備え得る。予測信号26は、データストリーム14にエンコードされかつそこからデコード可能な予測残差信号24’’に基づいて、エンコーダ10の予測ステージ36によって生成される。この目的のために、予測ステージ36は、図11に示すように、量子化損失を除く信号24’に対応するスペクトル領域予測残差信号24’’’を得るように予測残差信号24’’を逆量子化する逆量子化器38と、それに続いて、量子化損失を除く元の予測残差信号24に対応する予測残差信号24’’’’を得るために、後者の予測残差信号24’’’を逆変換、すなわちスペクトル-空間変換にかける逆変換器40と、を内部に備え得る。次いで、予測ステージ36の結合器42は、再構成された信号46、すなわち元の信号12の再構成が得られるように、加算などによって予測信号26および予測残差信号24’’’’を再結合する。再構成された信号46は、信号12’に対応し得る。次いで、予測ステージ36の予測モジュール44は、例えば、空間予測、すなわちピクチャ内予測、および/または時間予測、すなわちピクチャ間予測を用いることによって、信号46に基づいて予測信号26を生成する。
同様に、デコーダ20は、図12に示すように、予測ステージ36に対応する構成要素から内部的に構成され得、予測ステージ36に対応する方法で相互接続され得る。特に、デコーダ20のエントロピーデコーダ50は、データストリームから量子化されたスペクトル領域予測残差信号24’’をエントロピーデコードし、その後、予測ステージ36のモジュールに関して上述した方法で相互接続されており連携する逆量子化器52、逆変換器54、結合器56、および予測モジュール58は、予測残差信号24’’に基づいて再構成された信号を回復し、その結果、図12に示すように、結合器56の出力は再構成された信号、すなわちピクチャ12’をもたらす。
上記では具体的に説明されていないが、エンコーダ10は、例えば、いくつかのレートおよび歪み関連基準、すなわちコード化コストを最適化する方法などのいくつかの最適化方式に従って、例えば、予測モードおよび動きパラメータなどを含むいくつかのコード化パラメータを設定し得ることは容易に明らかである。例えば、エンコーダ10およびデコーダ20、ならびにそれぞれ対応するモジュール44、58は、イントラコード化モードおよびインターコード化モードなどの異なる予測モードをサポートし得る。エンコーダおよびデコーダがこれらの予測モードタイプ間を切り替える粒度は、それぞれピクチャ12および12’のコード化セグメントまたはコード化ブロックへの細分化に対応し得る。これらのコード化セグメントの単位で、例えば、ピクチャは、イントラコード化されているブロックとインターコード化されているブロックとに細分化され得る。イントラコード化されたブロックは、以下により詳細に概説されるように、それぞれのブロックの空間的な、既にコード化/デコードされた近傍に基づいて予測される。いくつかのイントラコード化モードが存在し得、それぞれの方向性イントラコード化モードに固有のある特定の方向に沿った近傍のサンプル値をそれぞれのイントラコード化されたセグメント内に外挿することによって、それぞれのセグメントが満たされる、方向性または角度イントラコード化モードを含むそれぞれのイントラコード化されたセグメントに対して選択されてもよい。イントラコード化モードは、例えば、それぞれのイントラコード化されたブロックの予測がそれぞれのイントラコード化されたセグメント内のすべてのサンプルにDC値を割り当てるDCコード化モード、および/またはそれぞれのブロックの予測が、近傍のサンプルに基づいて二次元線形関数によって定義された平面の駆動傾斜およびオフセットを有するそれぞれのイントラコード化されたブロックのサンプル位置にわたる二次元線形関数によって記述されたサンプル値の空間分布であると近似または決定される平面イントラコード化モードなどの、1つ以上のさらなるモードも含み得る。これと比較して、インターコード化されたブロックは、例えば時間的に予測され得る。インターコード化されたブロックの場合、動きベクトルがデータストリーム内でシグナリングされ得、動きベクトルは、ピクチャ12が属するビデオの前にコード化されたピクチャの部分の空間的な変位を指示し、その部分で前にコード化/デコードされたピクチャは、それぞれのインターコード化されたブロックの予測信号を取得するためにサンプリングされる。これは、量子化されたスペクトル領域予測残差信号24’’を表すエントロピーコード化された変換係数レベルなど、データストリーム14に含まれる残差信号コード化に加えて、データストリーム14は、データストリーム14内にエンコードされた、様々なブロックにコード化モードを割り当てるためのコード化モードパラメータ、インターコード化されたセグメントの動きパラメータなど、ブロックのうちのいくつかの予測パラメータ、ならびにピクチャ12および12’をそれぞれセグメントに細分化することを制御およびシグナリングするためのパラメータなどの選択的なさらなるパラメータを有し得る。デコーダ20は、これらのパラメータを使用して、エンコーダが行ったのと同じ方法でピクチャを細分化し、それによって、セグメントに同じ予測モードを割り当て、同じ予測を実行して同じ予測信号をもたらす。
図13は、一方では再構成された信号、すなわち再構成されたピクチャ12’と、他方ではデータストリーム14でシグナリングされる予測残差信号24’’’’と予測信号26との組合せとの間の関係を示す。既に上述したように、組合せは加算であり得る。図13において、予測信号26は、ピクチャエリアを、ハッチングを用いて例示的に示されたイントラコード化されたブロックと、ハッチングを用いずに例示的に示されたインターコード化されたブロックとに細分化したものとして示されている。細分化は、正方形ブロックまたは非正方形ブロックの行および列へのピクチャエリアの規則的な細分化、または四分木細分化などの、ツリールートブロックから様々なサイズの複数のリーフブロックへのピクチャ12のマルチツリー細分化などの任意の細分化であり得、それらの混合が図13に示されており、ピクチャエリアは、ツリールートブロックの行および列に最初に細分化され、次いで、再帰的マルチツリー細分化に従って1つ以上のリーフブロックにさらに細分化される。
ここでも、データストリーム14は、イントラコード化されたブロック80のためにデータストリーム14内にコード化されたイントラコード化モードを有し得、これにより、いくつかのサポートされているイントラコード化モードのうちの1つが、それぞれのイントラコード化されたブロック80へ割り当てる。インターコード化されたブロック82の場合、データストリーム14は、データストリーム14内にコード化された1つ以上の動きパラメータを有し得る。一般的に言えば、インターコード化されたブロック82は、時間的にコード化されることに限定されない。あるいは、インターコード化されたブロック82は、ピクチャ12が属するビデオの前にコード化されたピクチャ、またはエンコーダおよびデコーダがそれぞれスケーラブルなエンコーダおよびデコーダである場合には別のビューまたは階層的に下位のレイヤのピクチャなど、現在のピクチャ12自体を超える前にコード化された部分から予測された任意のブロックであってもよい。
図13の予測残差信号24’’’’もまた、ピクチャエリアのブロック84への細分化として示されている。これらのブロックは、コード化ブロック80および82と区別するために、変換ブロックと呼ばれる場合がある。実際には、図13は、エンコーダ10およびデコーダ20が、それぞれピクチャ12およびピクチャ12’のブロックへの2つの異なる細分化、すなわち、一方はコード化ブロック80および82への細分化、別の一方は変換ブロック84への細分化を用い得ることを示している。両方の細分化は同じであってもよく、すなわち、各コード化ブロック80および82は、同時に変換ブロック84を形成してもよいが、図13は、例えば、変換ブロック84への細分化がコード化ブロック80、82への細分化の拡張を形成し、それにより、ブロック80および82の2つのブロック間の任意の境界が2つのブロック84間の境界を覆うか、言い換えれば、各ブロック80、82は、変換ブロック84のうちの一方と一致するか、または変換ブロック84のクラスタと一致するかのいずれかである場合を示す。しかしながら、変換ブロック84が代替的にブロック80、82間のブロック境界を横切ることができるように、細分化はまた、互いに独立して決定または選択されてもよい。したがって、変換ブロック84への細分化に関する限り、ブロック80、82への細分化に関して提示されたものと同様の記述が当てはまり、すなわち、ブロック84は、(行および列への配置の有無にかかわらず)ブロックへのピクチャエリアの規則的な細分化の結果、ピクチャエリアの再帰的マルチツリー細分化の結果、もしくはそれらの組合せ、または任意の他の種類のブロック化であり得る。ちなみに、ブロック80、82、および84は、正方形、長方形、または任意の他の形状に限定されないことに留意されたい。
図13はさらに、予測信号26と予測残差信号24’’’’との組合せが再構成された信号12’を直接もたらすことを示している。しかしながら、代替実施形態によれば、1つよりも多い予測信号26が予測残差信号24’’’’と組み合わされてピクチャ12’がもたらされてもよいことに留意されたい。
図13では、変換ブロック84は、以下の有意性を持つものとする。変換器28および逆変換器54は、これらの変換ブロック84の単位でこれらの変換を実行する。例えば、多くのコーデックは、すべての変換ブロック84に対して何らかの種類のDSTまたはDCTを使用する。いくつかのコーデックは、変換をスキップすることを可能にし、その結果、変換ブロック84のうちのいくつかに対して、予測残差信号が空間領域において直接コード化される。しかしながら、後述する実施形態によれば、エンコーダ10およびデコーダ20は、それらがいくつかの変換をサポートするように構成されている。例えば、エンコーダ10およびデコーダ20によってサポートされる変換は、以下を含み得る。
・DCT-II(またはDCT-III)、DCTは離散コサイン変換を表す
・DST-IV、DSTは離散サイン変換を表す
・DCT-IV
・DST-VII
・恒等変換(IT)
当然ながら、変換器28はこれらの変換の順変換バージョンのすべてをサポートすることとなり得るが、デコーダ20または逆変換器54はその対応する逆行または逆方向バージョンをサポートすることとなり得る。
・逆DCT-II(または逆DCT-III)
・逆DST-IV
・逆DCT-IV
・逆DST-VII
・恒等変換(IT)
後続の説明は、どの変換がエンコーダ10およびデコーダ20によってサポートされ得るかについてのさらなる詳細を提供する。いずれの場合でも、サポートされる変換のセットは、1つのスペクトル-空間変換または空間-スペクトル変換などの1つの変換のみを含み得ることに留意されたい。
・DCT-II(またはDCT-III)、DCTは離散コサイン変換を表す
・DST-IV、DSTは離散サイン変換を表す
・DCT-IV
・DST-VII
・恒等変換(IT)
当然ながら、変換器28はこれらの変換の順変換バージョンのすべてをサポートすることとなり得るが、デコーダ20または逆変換器54はその対応する逆行または逆方向バージョンをサポートすることとなり得る。
・逆DCT-II(または逆DCT-III)
・逆DST-IV
・逆DCT-IV
・逆DST-VII
・恒等変換(IT)
後続の説明は、どの変換がエンコーダ10およびデコーダ20によってサポートされ得るかについてのさらなる詳細を提供する。いずれの場合でも、サポートされる変換のセットは、1つのスペクトル-空間変換または空間-スペクトル変換などの1つの変換のみを含み得ることに留意されたい。
既に上で概説したように、図11、図12、および図13は、本出願によるエンコーダおよびデコーダの具体例を形成するために、以下でさらに説明する本発明の概念が実施され得る一例として提示されている。その限りにおいて、図11および図12のエンコーダおよびデコーダはそれぞれ、本明細書で後述するエンコーダおよびデコーダの可能な実施態様を表し得る。しかしながら、図11および図12は単なる例である。しかしながら、本出願の実施形態によるエンコーダは、以下でより詳細に概説する概念を用いてピクチャ12のブロックベースのエンコードを実行し得、それは図11のエンコーダとは異なる場合があり、例えば、ビデオエンコーダではなく静止ピクチャエンコーダである点、インター予測をサポートしない点、またはブロック80への細分化が図13に例示された方法とは異なる方法で実行される点などである。同様に、本出願の実施形態によるデコーダは、以下にさらに概説するコード化概念を用いて、データストリーム14からピクチャ12’のブロックベースのデコードを実行し得るが、例えば、図12のデコーダ20とは、ビデオデコーダではなく静止ピクチャデコーダである点、イントラ予測をサポートしない点、もしくは図13に関して説明した方法とは異なる方法でピクチャ12’をブロックに細分化する点、および/または、例えば、変換領域内ではなく空間領域内でデータストリーム14から予測残差を導出する点が異なる場合がある。
実施形態は、H.264/AVCデコーダ、H.264/AVCビデオデータストリーム、H.264/AVCビデオデータストリームを提供するためのビデオエンコーダ、またはH.265/HEVCデコーダ、H.265/HEVCビデオデータストリーム、H.265/HVCビデオデータストリームを提供するためのビデオエンコーダ、またはH.266/VVCデコーダ、H.266/VVCビデオデータストリーム、H.266/VVCビデオデータストリームを提供するためのビデオエンコーダを提供する。
以下では、任意選択的に図11~図13に関して上述したフレームワーク内に実装され得るか、またはそれに組み合わされ得る本発明の実施形態について説明する。
本開示の本発明のすべての実施形態は、以下に記載される4つのビデオコード化変形例のうちのいずれかと組み合わされて任意選択的に実施されてもよい。すなわち、データストリーム14は、これらの変形例のうちのいずれかによるデータストリームであってもよく、装置20は、3つの変形例のうちのいずれかに従ってデータストリーム14からのビデオをデコードするように構成されてもよく、装置14は、4つの変形例のうちのいずれかに従ってデータストリームを提供するように構成されてもよい。第1および第2の変形例は、互いに最適に組み合わされてもよい。
本開示の本発明のすべての実施形態は、以下に記載される4つのビデオコード化変形例のうちのいずれかと組み合わされて任意選択的に実施されてもよい。すなわち、データストリーム14は、これらの変形例のうちのいずれかによるデータストリームであってもよく、装置20は、3つの変形例のうちのいずれかに従ってデータストリーム14からのビデオをデコードするように構成されてもよく、装置14は、4つの変形例のうちのいずれかに従ってデータストリームを提供するように構成されてもよい。第1および第2の変形例は、互いに最適に組み合わされてもよい。
本発明の2つの変形例のうちの第1の変形例によれば、ビデオは、残差ブロックの予測残差データをビデオデータストリームに/からデコードすることによって、ブロックベースの予測および変換ベースの残差デコードによってビデオデータストリームからデコードされる。
第1の変形例によれば、コンテキスト適応型可変長デコードを用いて残差ブロックの予測残差データをデコードすることが実行され、デコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
-スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
-連続して遭遇する非ゼロ変換係数のスキャン順序の間のスキャン順序における連続するゼロ値変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を指示する1つ以上の第5の構文要素と、
を使用して行われるか、または
コンテキスト適応型可変長デコードの使用の代替として、残差ブロックの予測残差データをデコードすることが、コンテキスト適応型バイナリ算術デコードを用いて実行され、コンテキスト適応型バイナリ算術デコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをデコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをデコードすることによってデコードすること、ならびに
-非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次デコードすること
によって行われる。
第1の変形例によれば、コンテキスト適応型可変長デコードを用いて残差ブロックの予測残差データをデコードすることが実行され、デコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
-スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
-連続して遭遇する非ゼロ変換係数のスキャン順序の間のスキャン順序における連続するゼロ値変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を指示する1つ以上の第5の構文要素と、
を使用して行われるか、または
コンテキスト適応型可変長デコードの使用の代替として、残差ブロックの予測残差データをデコードすることが、コンテキスト適応型バイナリ算術デコードを用いて実行され、コンテキスト適応型バイナリ算術デコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをデコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをデコードすることによってデコードすること、ならびに
-非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次デコードすること
によって行われる。
本発明の2つの変形例のうちの第1の変形例によれば、ビデオは、残差ブロックの予測残差データをビデオデータストリーム内にエンコードすることによって、ブロックベースの予測および変換ベースの残差エンコードによってビデオデータストリーム内にエンコードされる。
第1の変形例によれば、コンテキスト適応型可変長エンコードを用いて残差ブロックの予測残差データをエンコードすることが実行され、エンコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
-スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
-連続して遭遇する非ゼロ変換係数のスキャン順序の間のスキャン順序における連続するゼロ値変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を指示する1つ以上の第5の構文要素と、
を使用して行われるか、または
コンテキスト適応型可変長エンコードの使用の代替として、残差ブロックの予測残差データをエンコードすることが、コンテキスト適応型バイナリ算術エンコードを用いて実行され、コンテキスト適応型バイナリ算術エンコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをエンコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをエンコードすることによってエンコードすること、ならびに
-非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次エンコードすること、
によって行われる。
第1の変形例によれば、コンテキスト適応型可変長エンコードを用いて残差ブロックの予測残差データをエンコードすることが実行され、エンコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
-スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
-スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
-連続して遭遇する非ゼロ変換係数のスキャン順序の間のスキャン順序における連続するゼロ値変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を指示する1つ以上の第5の構文要素と、
を使用して行われるか、または
コンテキスト適応型可変長エンコードの使用の代替として、残差ブロックの予測残差データをエンコードすることが、コンテキスト適応型バイナリ算術エンコードを用いて実行され、コンテキスト適応型バイナリ算術エンコードが、
-残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをエンコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをエンコードすることによってエンコードすること、ならびに
-非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次エンコードすること、
によって行われる。
第2の変形例によれば、ビデオデコーダ(またはビデオデータストリームからビデオをデコードするための装置)は、コード化されたピクチャバッファ(CPB)およびデコードされたピクチャバッファ(DPB)を備える。ビデオデコーダは、
アクセスユニット(AU)のシーケンスとしてコード化順序に沿ってデータストリームにエンコードされたビデオのピクチャを有するデータストリームを受信すること(例えば、「アクセスユニット」という用語は、ビデオデータストリームの、ビデオの1つの時間フレームに関するコード化されたビデオデータまたは情報を含む部分を指す)、
CPBから削除された現在のAUを、DPBに記憶された参照される参照ピクチャからのピクチャ間予測を用いてデコードして、デコードされたピクチャを得ること、ならびに
デコードされたピクチャをDPB内に挿入すること、
DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、
現在のAUからDPBモード情報を読み出すこと、
DPBモード情報が第1のモードを指示する場合、先入れ先出し(FIFO)戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、
DPBモード情報が第2のモードを指示する場合、現在のAU内の少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、かつDPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更し、DPBからの参照ピクチャの除去を管理するためにDPB内の参照ピクチャの分類を用いるように、少なくとも1つのコマンドを実行すること
を行うように構成されている。
アクセスユニット(AU)のシーケンスとしてコード化順序に沿ってデータストリームにエンコードされたビデオのピクチャを有するデータストリームを受信すること(例えば、「アクセスユニット」という用語は、ビデオデータストリームの、ビデオの1つの時間フレームに関するコード化されたビデオデータまたは情報を含む部分を指す)、
CPBから削除された現在のAUを、DPBに記憶された参照される参照ピクチャからのピクチャ間予測を用いてデコードして、デコードされたピクチャを得ること、ならびに
デコードされたピクチャをDPB内に挿入すること、
DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、
現在のAUからDPBモード情報を読み出すこと、
DPBモード情報が第1のモードを指示する場合、先入れ先出し(FIFO)戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、
DPBモード情報が第2のモードを指示する場合、現在のAU内の少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、かつDPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更し、DPBからの参照ピクチャの除去を管理するためにDPB内の参照ピクチャの分類を用いるように、少なくとも1つのコマンドを実行すること
を行うように構成されている。
第2の変形例によれば、ビデオデータストリームは、コード化されたピクチャバッファ(CPB)を備えるデコーダに供給されることによってデコードされるべきである。第2の変形例によれば、ビデオエンコーダ(またはビデオをビデオデータストリーム内にエンコードするための装置)は、コード化順序でエンコードされたビデオのピクチャをアクセスユニット(AU)のシーケンスとしてデータストリーム内にエンコードするように構成されており、
装置は、AUをエンコードする際に、
現在のピクチャを、デコードされたピクチャバッファ(DPB)に記憶された参照される参照ピクチャからのピクチャ間予測を用いて現在のAU内にエンコードすること、
DPB内の現在のピクチャのデコードされたバージョンをDPB内に挿入すること、
DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、
DPBモード情報を現在のAU内に書き込むこと、
DPBモード情報が第1のモードを指示する場合、FIFO戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、
DPBモード情報が第2のモードを指示する場合、少なくとも1つのコマンドを含むメモリ管理制御情報を現在のAU内に書き込むことであって、コマンドが、DPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更するために指示するものであり、DPB内の参照ピクチャの分類が、DPBからの参照ピクチャの除去を管理するために使用される、書き込むこと
を行うように構成されている。
装置は、AUをエンコードする際に、
現在のピクチャを、デコードされたピクチャバッファ(DPB)に記憶された参照される参照ピクチャからのピクチャ間予測を用いて現在のAU内にエンコードすること、
DPB内の現在のピクチャのデコードされたバージョンをDPB内に挿入すること、
DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、
DPBモード情報を現在のAU内に書き込むこと、
DPBモード情報が第1のモードを指示する場合、FIFO戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、
DPBモード情報が第2のモードを指示する場合、少なくとも1つのコマンドを含むメモリ管理制御情報を現在のAU内に書き込むことであって、コマンドが、DPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更するために指示するものであり、DPB内の参照ピクチャの分類が、DPBからの参照ピクチャの除去を管理するために使用される、書き込むこと
を行うように構成されている。
第3の変形例によれば、ビデオは、残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術デコードと、現在の変換係数の値が前の量子化インデックスの量子化インデックスのパリティに依存する、量子化インデックスの順次逆量子化とを用いて、ビデオデータストリームから残差ブロックの予測残差データをデコードすることによる、ブロックベースの予測デコードおよび変換ベースの残差デコードによってビデオデータストリームからデコードされる。
第3の変形例によれば、ビデオは、ブロックベースの予測エンコードおよび変換ベースの残差エンコードによってビデオデータストリーム内にエンコードされ、ブロックベースの予測エンコードおよび変換ベースの残差エンコードは、残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術コード化、および現在の変換係数を量子化するための量子化器が前の量子化インデックスの量子化インデックスのパリティに依存する、量子化インデックスを取得するための変換係数の順次量子化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすることによって行われる。
第3の変形例によれば、ビデオは、ブロックベースの予測エンコードおよび変換ベースの残差エンコードによってビデオデータストリーム内にエンコードされ、ブロックベースの予測エンコードおよび変換ベースの残差エンコードは、残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術コード化、および現在の変換係数を量子化するための量子化器が前の量子化インデックスの量子化インデックスのパリティに依存する、量子化インデックスを取得するための変換係数の順次量子化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすることによって行われる。
3つの変形例はすべて、ビデオエンコーダ、ビデオデコーダ、ビデオをデコードするための方法、ビデオをエンコードするための方法、およびそれぞれのエンコード方法によって取得されるビデオデータストリームに関する。
以下では、第1および第2の変形例のさらなる任意選択の詳細および特徴を説明する。
第1の変形例および第2の変形例の実施形態は、H.264/AVCに準拠し得る。第3の変形例の実施形態は、H.266/VVCに準拠し得る。
第1および第2の変形例の一態様は、デコードされたピクチャの取扱いおよびデコードされたピクチャバッファであるDPBにおけるそれらのバッファリングに関する。
第1の変形例および第2の変形例の実施形態は、H.264/AVCに準拠し得る。第3の変形例の実施形態は、H.266/VVCに準拠し得る。
第1および第2の変形例の一態様は、デコードされたピクチャの取扱いおよびデコードされたピクチャバッファであるDPBにおけるそれらのバッファリングに関する。
一実施形態によれば、2つのタイプの参照ピクチャ、すなわち短期および長期が区別され得る。エンコーダは、デコード中の各時点でデコーダのDPB充填状態をエミュレートする際に同じことを行う。参照ピクチャは、予測参照にもはや必要とされなくなったとき、「参照に使用されない」としてマーキングされ得る。これら3つの状態(短期、長期、参照に使用されない)間の変換は、デコードされた参照ピクチャマーキング処理によって制御される。代替のデコードされた参照ピクチャマーキングメカニズムには、暗黙的スライディングウィンドウプロセスおよび明示的メモリ管理制御操作(MMCO)プロセスという2つが存在する。各現在デコードされているピクチャまたは各現在デコードされているAUについて、どのプロセスがDPB管理に用いられるべきかに関してデータストリーム内でシグナリングされる。スライディングウィンドウプロセスは、参照フレームの数が所与の最大数に等しいとき(SPSではmax-num-ref-frames)、短期参照ピクチャを「参照に使用されない」としてマーキングする。短期参照ピクチャは、先入れ先出し方式で保存されるため、直近にデコードされた短期ピクチャがDPBに保持される。明示的なMMCOプロセスは、複数のMMCOコマンドによって制御される。現在のAUまたは現在デコードされているピクチャに対してこのモードが選択された場合、ビットストリームは、これに対して、またはこの場合にはAUこれらのコマンドのうちの1つ以上を含む。MMCOコマンドは、1)1つ以上の短期または長期参照ピクチャを「参照に使用されない」としてマーキングする、2)すべてのピクチャを「参照に使用されない」としてマーキングする、または3)現在の参照ピクチャもしくは既存の短期参照ピクチャを長期としてマーキングし、長期ピクチャインデックスをその長期ピクチャに割り当てる、のうちのいずれかであり得る。参照ピクチャマーキング動作、ならびに提示のための任意の出力、およびDPBからのピクチャの除去は、ピクチャがデコードされた後に実行されてもよい。
参照ピクチャマーキングメカニズムのいくつかの可能であるが任意選択の詳細は、以下で説明される。1)第1の態様は、フレーム番号のギャップおよび非存在ピクチャに関する。上記では説明されていないが、DPB内の各参照ピクチャはフレーム番号に関連付けられる場合がある。通常、この番号は参照ピクチャごとに1ずつ増加するが、例えばエンコーダまたはMANE(メディア認識ネットワーク要素)がデコード順に先行する参照ピクチャに対して参照ピクチャについてフレーム番号が2以上ずつ増加するビットストリームを配信できることを可能にするために、フレーム番号のギャップは、対応する高レベルの(シーケンスレベルなどの)、parameter-gaps-in-frame-num-allowed-flagと呼ばれる場合があるフラグを1に設定することによって許容され得る。これは、時間的スケーラビリティをサポートするために有利であり得る。フレーム番号内にギャップを有するAUのシーケンスが受信され得、ギャップを埋めるための存在しないピクチャが作成され得る。存在しないピクチャは、ギャップ内にフレーム番号値を割り当てられ、デコードされた参照ピクチャマーキング中に参照ピクチャとみなされるが、出力には使用されないこととなる(したがって、表示されないこととなる)。存在しないピクチャにより、DPB内に存在するピクチャのフレーム番号に対するDPBの状態が、ピクチャを受信したデコーダと、ピクチャを受信しなかったデコーダとで同じであることが保証される。
第1および第2の変形例の別の可能な態様は、スライディングウィンドウを用いるときの参照ピクチャの損失に関する。参照ピクチャが失われた場合、損失が検出されたと仮定して、フィードバックチャネルが利用可能であれば、ピクチャを隠蔽し、場合によっては損失をエンコーダに報告することが可能であり得る。フレーム番号のギャップが許容されない場合、フレーム番号値の不連続性は、参照ピクチャの意図しない損失を示す。フレーム番号のギャップが許容される場合、時間レイヤもしくはサブシーケンスの意図的な削除、または偶発的なピクチャ損失のいずれかによってフレーム番号値の不連続性が発生する可能性があり、デコーダは、存在しないピクチャがインター予測プロセスで参照された場合にのみピクチャ損失を推論すべきである。隠蔽されたピクチャのピクチャ順序数は不明な場合があり、その場合、Bピクチャをデコードするときにいかなるエラーも検出することなくデコーダが誤った参照ピクチャを使用する可能性がある。
第1および第2の変形例のまたさらに可能な態様は、MMCOによる参照ピクチャの損失に関する。短期参照ピクチャを「参照に使用されない」としてマーキングするMMCOコマンドを含む参照ピクチャが失われた場合、DPB内の参照ピクチャの状態が正しくなくなり、その結果、失われたピクチャに続くいくつかのピクチャの参照ピクチャリストが正しくなくなる可能性がある。長期参照ピクチャに関連するMMCOコマンドを含むピクチャが失われた場合、DPB内の長期参照ピクチャの数が、そのピクチャが受信された場合の数とは異なり、すべての後続のピクチャの「誤った」スライディングウィンドウプロセスがもたらされるというリスクがある。すなわち、エンコーダおよびデコーダは、異なる数の短期参照ピクチャを含み、その結果、スライディングウィンドウプロセスの動作が同期しない可能性がある。状況をさらに悪化させるのは、デコーダがスライディングウィンドウプロセスが同期していないことを必ずしも認識しないことである。
以下に、MMCOコマンドを示す。異なる実施形態では、コマンドのうちの1つ以上またはすべてが適用され得る。
第1および第2の変形例によるデコーダおよびエンコーダの実装のためのさらなる選択肢が次に説明され、任意選択的に、前述のDPB管理に関する選択肢と組み合わされてもよく、ビットストリーム内への変換係数の形態の残差データなどのいくつかの構文要素のエントロピーデコードに関する。非可逆量子化された変換係数の可逆エントロピーコード化は、効率的なビデオコーデックの重要な部分である。1つのそのような方法は、コンテキスト適応型可変長コード化(CAVLC)と称され、エンコーダは、コンテキスト適応方式で同じスライス内の前に送信された構文要素の値に応じて、様々な構文要素に対して異なる可変長コード(VLC)テーブル間を切り替える。エンコーダおよびデコーダは、CAVLCを使用し得る。各構文要素は、コンテキスト適応的に選択されたコードテーブルからその構文要素に対して選択された対応するコードワードをビットストリーム内に書き込むことによってビットストリーム内にコード化されるため、ビットストリーム内の各CAVLCコード化ビットは、単一の構文要素に関連付けられ得る。したがって、ビットストリーム内に存在するスキャン順の変換係数レベルに関する関連情報は、CAVLCが使用されるときに構文要素として直接アクセス可能な形式で利用可能である。エンコーダおよびデコーダは、CAVLCを使用してビットストリーム内の変換係数をシグナリングし得る。以下の構文要素、例えば以下のセマンティクスを有する構文要素が使用され得る。
第1および第2の変形例によるデコーダおよびエンコーダの実装のためのさらなる選択肢が次に説明され、任意選択的に、前述のDPB管理に関する選択肢と組み合わされてもよく、ビットストリーム内への変換係数の形態の残差データなどのいくつかの構文要素のエントロピーデコードに関する。非可逆量子化された変換係数の可逆エントロピーコード化は、効率的なビデオコーデックの重要な部分である。1つのそのような方法は、コンテキスト適応型可変長コード化(CAVLC)と称され、エンコーダは、コンテキスト適応方式で同じスライス内の前に送信された構文要素の値に応じて、様々な構文要素に対して異なる可変長コード(VLC)テーブル間を切り替える。エンコーダおよびデコーダは、CAVLCを使用し得る。各構文要素は、コンテキスト適応的に選択されたコードテーブルからその構文要素に対して選択された対応するコードワードをビットストリーム内に書き込むことによってビットストリーム内にコード化されるため、ビットストリーム内の各CAVLCコード化ビットは、単一の構文要素に関連付けられ得る。したがって、ビットストリーム内に存在するスキャン順の変換係数レベルに関する関連情報は、CAVLCが使用されるときに構文要素として直接アクセス可能な形式で利用可能である。エンコーダおよびデコーダは、CAVLCを使用してビットストリーム内の変換係数をシグナリングし得る。以下の構文要素、例えば以下のセマンティクスを有する構文要素が使用され得る。
-変換ブロック内の非ゼロ変換係数レベルの総数を指示する1つの構文要素(CoeffTokenによって指示される)
-値が1である後続の変換係数レベルの数を指示する1つ以上の構文要素(CoeffTokenによって示される)、例えば、すべて1である最後の非ゼロ構文要素までスキャン順序で構文要素をスキャンした最後に発生する構文要素の連続、およびそれらの符号(trailing_ones_sign_flagによって示される)
-変換係数レベル値を指示する後続の1つの変換係数を除く非ゼロ変換係数ごとの1つ以上の構文要素
-ゼロ値変換係数レベルの総数を指示する1つの構文要素
-現在のスキャン位置から、非ゼロ値変換係数レベルに遭遇するまでの、スキャン順序におけるゼロ値の連続する変換係数レベルの数を指示する構文要素。
-値が1である後続の変換係数レベルの数を指示する1つ以上の構文要素(CoeffTokenによって示される)、例えば、すべて1である最後の非ゼロ構文要素までスキャン順序で構文要素をスキャンした最後に発生する構文要素の連続、およびそれらの符号(trailing_ones_sign_flagによって示される)
-変換係数レベル値を指示する後続の1つの変換係数を除く非ゼロ変換係数ごとの1つ以上の構文要素
-ゼロ値変換係数レベルの総数を指示する1つの構文要素
-現在のスキャン位置から、非ゼロ値変換係数レベルに遭遇するまでの、スキャン順序におけるゼロ値の連続する変換係数レベルの数を指示する構文要素。
代替的または追加的に、エンコーダは、CABAC、したがってコンテキスト適応型バイナリ算術コード化およびCAVLCの間の使用を選択し、ビットストリーム内の選択を信号化し得、かつデコーダがこの信号を読み出し、残差データをデコードする指示された方法を用いることもあり得る。
第1および第2の変形例によるデコーダおよびエンコーダの実装のためのさらなる選択肢が次に説明され、任意選択的に、DPB管理に関するものおよび前述のCAVLCに関するもののうちのいずれかと組み合わされてもよく、4分の1ピクセル補間フィルタに関する。通常のフルピクセルサンプルグリッドよりも細かい粒度でのインター予測を可能にするために、サンプル補間プロセスを用いて、2分の1ピクセル位置から4分の1ピクセル位置までの範囲であり得るサブピクセルサンプル位置でサンプル値を導出する。4分の1ピクセル補間を実行する1つの方法は、エンコーダおよびデコーダによって使用され得、以下の通りである。最初に、6タップのFIRフィルタを使用して、2分の1ピクセル位置でサンプル値を生成し、続いて補間によって生成された2分の1ピクセル位置サンプル値を平均化して、輝度成分について4分の1ピクセル位置でサンプル値を生成する。
第1および第2の変形例によるさらなる実施形態を以下に説明する。
一実施形態によれば、装置は、デコードされたピクチャバッファ(DPB)をさらに備え得、DPBに記憶された参照される参照ピクチャからのピクチャ間予測を用いて現在のAUをデコードしてデコードされたピクチャを取得し、デコードされたピクチャをDPB内に挿入すること、DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、現在のAUからDPBモード情報を読み出すこと、DPBモード情報が第1のモードを指示する場合、FIFO戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、DPBモード情報が第2のモードを指示する場合、現在のAU内の少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、かつDPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更し、DPBからの参照ピクチャの除去を管理するためにDPB内の参照ピクチャの分類を用いるように、少なくとも1つのコマンドを実行することを行うように構成され得る。
一実施形態によれば、装置は、デコードされたピクチャバッファ(DPB)をさらに備え得、DPBに記憶された参照される参照ピクチャからのピクチャ間予測を用いて現在のAUをデコードしてデコードされたピクチャを取得し、デコードされたピクチャをDPB内に挿入すること、DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、現在のAUからDPBモード情報を読み出すこと、DPBモード情報が第1のモードを指示する場合、FIFO戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、DPBモード情報が第2のモードを指示する場合、現在のAU内の少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、かつDPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更し、DPBからの参照ピクチャの除去を管理するためにDPB内の参照ピクチャの分類を用いるように、少なくとも1つのコマンドを実行することを行うように構成され得る。
一実施形態では、装置は、デコードされたピクチャがピクチャ間予測に使用されないかどうかの指示を現在のAUから読み出すこと、デコードされたピクチャがピクチャ間予測に使用されるべきではないことまたは直接出力されるべきではないことが指示されていない場合、デコードされたピクチャのDPB内への挿入を実行し、デコードされたピクチャがピクチャ間予測に使用されるべきではないことおよび直接出力されるべきであることが指示されている場合、DPBにおいてデコードされたピクチャをバッファリングすることなくデコードされたピクチャを直接出力することを行うように構成され得る。
一実施形態によれば、装置は、長期ピクチャに分類されたDPB内の各参照ピクチャにフレームインデックスを割り当てること、および長期ピクチャに分類されたDPB内の所定の参照ピクチャを、所定の参照ピクチャに割り当てられたフレームインデックスが現在のAU内で参照される場合、DPB内の参照される参照ピクチャとして使用することを行うようにさらに構成され得る。
一実施形態において、装置は、現在のAU内の少なくとも1つのコマンドが第1のコマンドである場合、短期参照ピクチャに分類されたDPB内の参照ピクチャを参照に使用されないピクチャとして再分類すること、現在のAU内の少なくとも1つのコマンドが第2のコマンドである場合、長期参照ピクチャに分類されたDPB内の参照ピクチャを参照に使用されないピクチャとして再分類すること、現在のAU内の少なくとも1つのコマンドが第3のコマンドである場合、短期ピクチャに分類されたDPB内の参照ピクチャを長期参照ピクチャとして再分類し、再分類された参照ピクチャにフレームインデックスを割り当てること、現在のAU内の少なくとも1つのコマンドが第4のコマンドである場合、第4のコマンドに従って上限フレームインデックス制限を設定し、長期ピクチャに分類された、上限フレームインデックス制限を超えるフレームインデックスが割り当てられているDPB内のすべての参照ピクチャを参照に使用されないピクチャとして再分類すること、現在のAU内の少なくとも1つのコマンドが第6のコマンドである場合、現在のピクチャを長期ピクチャとして、参照に使用されないピクチャとして分類し、かつ再分類された参照ピクチャにフレームインデックスを割り当てることのうちの1つ以上を行うように構成され得る。
一実施形態では、装置は、参照に使用されないピクチャとして分類された、もはや出力されるべきではないあらゆる参照ピクチャをDPBから削除するように構成され得る。
一実施形態では、装置は、データストリームからエントロピーコード化モードインジケータを読み出すこと、およびエントロピーコード化モードインジケータがコンテキスト適応型可変長コード化モードを指示する場合はコンテキスト適応型可変長コード化モードを使用し、エントロピーコード化モードインジケータがコンテキスト適応型バイナリ算術コード化モードを指示する場合はコンテキスト適応型バイナリ算術コード化モードを使用して、現在のAUからの予測残差データをデコードすることを行うように構成され得る。
一実施形態に応じて、装置は、2分の1ピクセル値を導出し、かつ近傍の2分の1ピクセル値を平均化するように、現在のAUにおける動きベクトルに基づいて、かつ6タップのFIRフィルタを使用して、参照される参照ピクチャにおける4分の1ピクセル値を導出するように構成され得る。
一実施形態では、装置は、データストリームからエントロピーコード化モードインジケータを読み出すこと、およびエントロピーコード化モードインジケータがコンテキスト適応型可変長コード化モードを指示する場合はコンテキスト適応型可変長コード化モードを使用し、エントロピーコード化モードインジケータがコンテキスト適応型バイナリ算術コード化モードを指示する場合はコンテキスト適応型バイナリ算術コード化モードを使用して、現在のAUからの予測残差データをデコードすることを行うように構成され得る。
一実施形態に応じて、装置は、2分の1ピクセル値を導出し、かつ近傍の2分の1ピクセル値を平均化するように、現在のAUにおける動きベクトルに基づいて、かつ6タップのFIRフィルタを使用して、参照される参照ピクチャにおける4分の1ピクセル値を導出するように構成され得る。
一実施形態では、装置は、
DPBに記憶された参照される参照ピクチャからのピクチャ間予測を用いて現在のAUをデコードしてデコードされたピクチャを得、デコードされたピクチャをDPB内に挿入すること、
DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、
現在のAUからDPBモード情報を読み出すこと、
DPBモード情報が第1のモードを指示する場合、先入れ先出し(FIFO)戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、
DPBモード情報が第2のモードを指示する場合、現在のAU内の少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、かつDPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更し、DPBからの参照ピクチャの除去を管理するためにDPB内の参照ピクチャの分類を用いるように、少なくとも1つのコマンドを実行すること
を行うように構成され得る。
DPBに記憶された参照される参照ピクチャからのピクチャ間予測を用いて現在のAUをデコードしてデコードされたピクチャを得、デコードされたピクチャをDPB内に挿入すること、
DPBに記憶された各参照ピクチャに、短期参照ピクチャ、長期参照ピクチャ、および参照に使用されないピクチャのうちの1つとしての分類を割り当てること、
現在のAUからDPBモード情報を読み出すこと、
DPBモード情報が第1のモードを指示する場合、先入れ先出し(FIFO)戦略に従って、短期ピクチャとして分類された1つ以上の参照ピクチャをDPBから削除すること、
DPBモード情報が第2のモードを指示する場合、現在のAU内の少なくとも1つのコマンドを含むメモリ管理制御情報を読み出し、かつDPBに記憶された参照ピクチャのうちの少なくとも1つに割り当てられた分類を変更し、DPBからの参照ピクチャの除去を管理するためにDPB内の参照ピクチャの分類を用いるように、少なくとも1つのコマンドを実行すること
を行うように構成され得る。
一実施形態によれば、装置は、
デコードされたピクチャがピクチャ間予測に使用されないかどうかの指示を現在のAUから読み出すこと、
デコードされたピクチャがピクチャ間予測に使用されるべきではないことまたは直接出力されるべきではないことが指示されていない場合、デコードされたピクチャのDPB内への挿入を実行し、デコードされたピクチャがピクチャ間予測に使用されるべきではないことおよび直接出力されるべきであることが指示されている場合、DPBにおいてデコードされたピクチャをバッファリングすることなくデコードされたピクチャを直接出力すること
を行うように構成され得る。
デコードされたピクチャがピクチャ間予測に使用されないかどうかの指示を現在のAUから読み出すこと、
デコードされたピクチャがピクチャ間予測に使用されるべきではないことまたは直接出力されるべきではないことが指示されていない場合、デコードされたピクチャのDPB内への挿入を実行し、デコードされたピクチャがピクチャ間予測に使用されるべきではないことおよび直接出力されるべきであることが指示されている場合、DPBにおいてデコードされたピクチャをバッファリングすることなくデコードされたピクチャを直接出力すること
を行うように構成され得る。
一実施形態では、装置は、
長期ピクチャに分類されたDPB内の各参照ピクチャにフレームインデックスを割り当てること、および
長期ピクチャに分類されたDPB内の所定の参照ピクチャを、所定の参照ピクチャに割り当てられたフレームインデックスが現在のAU内で参照される場合、DPB内の参照される参照ピクチャとして使用すること
を行うようにさらに構成され得る。
一実施形態によれば、装置は、
現在のAU内の少なくとも1つのコマンドが第1のコマンドである場合、
短期参照ピクチャに分類されたDPB内の参照ピクチャを参照に使用されないピクチャとして再分類すること、
現在のAU内の少なくとも1つのコマンドが第2のコマンドである場合、
長期参照ピクチャに分類されたDPB内の参照ピクチャを参照に使用されないピクチャとして再分類すること、
現在のAU内の少なくとも1つのコマンドが第3のコマンドである場合、
短期ピクチャに分類されたDPB内の参照ピクチャを長期参照ピクチャとして再分類し、再分類された参照ピクチャにフレームインデックスを割り当てること、
現在のAU内の少なくとも1つのコマンドが第4のコマンドである場合、
第4のコマンドに従って上限フレームインデックス制限を設定し、長期ピクチャに分類された、上限フレームインデックス制限を超えるフレームインデックスが割り当てられているDPB内のすべての参照ピクチャを参照に使用されないピクチャとして再分類すること、
現在のAU内の少なくとも1つのコマンドが第6のコマンドである場合、
長期ピクチャとしての現在のピクチャを参照に使用されないピクチャとして分類し、かつ再分類された参照ピクチャにフレームインデックスを割り当てること
のうちの1つ以上を行うように構成され得る。
一実施形態では、装置は、
参照に使用されないピクチャとして分類された、もはや出力されるべきではないあらゆる参照ピクチャをDPBから削除するように構成され得る。
長期ピクチャに分類されたDPB内の各参照ピクチャにフレームインデックスを割り当てること、および
長期ピクチャに分類されたDPB内の所定の参照ピクチャを、所定の参照ピクチャに割り当てられたフレームインデックスが現在のAU内で参照される場合、DPB内の参照される参照ピクチャとして使用すること
を行うようにさらに構成され得る。
一実施形態によれば、装置は、
現在のAU内の少なくとも1つのコマンドが第1のコマンドである場合、
短期参照ピクチャに分類されたDPB内の参照ピクチャを参照に使用されないピクチャとして再分類すること、
現在のAU内の少なくとも1つのコマンドが第2のコマンドである場合、
長期参照ピクチャに分類されたDPB内の参照ピクチャを参照に使用されないピクチャとして再分類すること、
現在のAU内の少なくとも1つのコマンドが第3のコマンドである場合、
短期ピクチャに分類されたDPB内の参照ピクチャを長期参照ピクチャとして再分類し、再分類された参照ピクチャにフレームインデックスを割り当てること、
現在のAU内の少なくとも1つのコマンドが第4のコマンドである場合、
第4のコマンドに従って上限フレームインデックス制限を設定し、長期ピクチャに分類された、上限フレームインデックス制限を超えるフレームインデックスが割り当てられているDPB内のすべての参照ピクチャを参照に使用されないピクチャとして再分類すること、
現在のAU内の少なくとも1つのコマンドが第6のコマンドである場合、
長期ピクチャとしての現在のピクチャを参照に使用されないピクチャとして分類し、かつ再分類された参照ピクチャにフレームインデックスを割り当てること
のうちの1つ以上を行うように構成され得る。
一実施形態では、装置は、
参照に使用されないピクチャとして分類された、もはや出力されるべきではないあらゆる参照ピクチャをDPBから削除するように構成され得る。
以下では、第3の変形例のさらなる任意選択の詳細および特徴を説明する。
複数の参照ライン(MRL):イントラ予測のために、近傍のサンプルの隣り合うラインだけでなく、現在のブロックから2ラインまたは3ライン離れた位置に対応する、2つの隣り合わない参照ラインのうちの1つもまた、輝度サンプルのピクチャ内予測の参照ラインとして使用することができる。
適応型MV分解能(AMVR):CUレベルでのMV分解能の選択が実行される。インター予測されたCUの場合、選択されたMV分解能が指示され、輝度サンプルの単位で4分の1、2分の1、整数、または4とすることができる。2分の1輝度サンプル分解能が選択された場合、このブロック内の2分の1サンプル位置には代替の輝度補間フィルタが使用され、すなわち、分解能がMVに対して4分の1ピクセルまたは2分の1ピクセルである場合には異なる補間フィルタが使用される。
複数の参照ライン(MRL):イントラ予測のために、近傍のサンプルの隣り合うラインだけでなく、現在のブロックから2ラインまたは3ライン離れた位置に対応する、2つの隣り合わない参照ラインのうちの1つもまた、輝度サンプルのピクチャ内予測の参照ラインとして使用することができる。
適応型MV分解能(AMVR):CUレベルでのMV分解能の選択が実行される。インター予測されたCUの場合、選択されたMV分解能が指示され、輝度サンプルの単位で4分の1、2分の1、整数、または4とすることができる。2分の1輝度サンプル分解能が選択された場合、このブロック内の2分の1サンプル位置には代替の輝度補間フィルタが使用され、すなわち、分解能がMVに対して4分の1ピクセルまたは2分の1ピクセルである場合には異なる補間フィルタが使用される。
履歴ベースのMV予測(HMVP):空間的および時間的に近傍のMV予測に加えて、マージモードおよびAMVP候補リストにおけるMV予測のために新しい候補タイプが追加される。HMVP候補は、先入れ先出し(FIFO)規則を用いて維持および更新される5エントリテーブルを用いて確立される。動きベクトル候補リストは、空間的および時間的近傍およびHMVP候補を用いて生成される。
アフィン運動:CUレベルのシグナリングを有するアフィン運動モデルが輝度に使用される。CUレベルのアフィン運動は、4パラメータモデルまたは6パラメータモデルのいずれかであり得る。4パラメータモデルは、CUの左上隅および右上隅に位置する2つの制御点に対応する2つのMVを使用し、6パラメータモデルは、左上隅、左下隅、および右上隅に位置する3つの制御点に対応する3つのMVを使用する。CUがアフィン運動モードでコード化されるとき、CUの輝度ブロックは4×4サブブロックに分割され、各サブブロックの中央サンプル位置におけるMVは、アフィン運動モデルに従って計算され、制御点に基づいてサブブロックMVとして設定される。サブブロックMVは、計算中に1/16輝度サンプル精度に丸められ、6タップの補間フィルタのセットが適用されて各サブブロックの予測が生成される。非アフィンの場合については、マージモードおよびAMVPモードがアフィン運動パラメータの予測およびコード化に使用される。
アフィン運動:CUレベルのシグナリングを有するアフィン運動モデルが輝度に使用される。CUレベルのアフィン運動は、4パラメータモデルまたは6パラメータモデルのいずれかであり得る。4パラメータモデルは、CUの左上隅および右上隅に位置する2つの制御点に対応する2つのMVを使用し、6パラメータモデルは、左上隅、左下隅、および右上隅に位置する3つの制御点に対応する3つのMVを使用する。CUがアフィン運動モードでコード化されるとき、CUの輝度ブロックは4×4サブブロックに分割され、各サブブロックの中央サンプル位置におけるMVは、アフィン運動モデルに従って計算され、制御点に基づいてサブブロックMVとして設定される。サブブロックMVは、計算中に1/16輝度サンプル精度に丸められ、6タップの補間フィルタのセットが適用されて各サブブロックの予測が生成される。非アフィンの場合については、マージモードおよびAMVPモードがアフィン運動パラメータの予測およびコード化に使用される。
係数コード化:係数レベルをエンコードするとき、最初に、係数レベルが0でないかどうかを指定するフラグ(SigFlag)が指示される。フラグが1に等しい(係数レベルが0ではない)場合、絶対レベルが1よりも大きいかどうかを指示するさらなるフラグが指示され(Gt1-Flag)、その場合(絶対レベルが1よりも大きい場合)、変換係数レベルのパリティを指定するパリティレベルフラグ(Parity-Flag)と、変換係数レベルの絶対値が3よりも大きいかどうかを指定するさらなるフラグ(Gt3-Flag)との、2つのさらなるフラグが存在する。
第4の変形例によるビデオデコードは、ブロックベースの予測デコードおよび変換ベースの残差デコードによってビデオデータストリームからビデオをデコードすることによって実行され、ブロックベースの予測デコードおよび変換ベースの残差デコードは、コンテキスト適応型バイナリ算術デコードを用いて、ビデオデータストリームからイントラ予測されたブロックの予測残差データをデコードすることによって行われ、コンテキスト適応型バイナリ算術デコードは、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をデコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次デコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる。
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をデコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次デコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる。
本発明が関連する第4の変形例によるビデオエンコードは、ブロックベースの予測エンコードおよび変換ベースの残差エンコードによってビデオをビデオデータストリーム内にエンコードすることによって実行され、ブロックベースの予測エンコードおよび変換ベースの残差エンコードは、コンテキスト適応型バイナリ算術コード化を用いて、イントラ予測されたブロックの予測残差データをビデオデータストリーム内にエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化は、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をエンコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次エンコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる。
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をエンコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次エンコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる。
本発明は、上記のビデオデコード変形例によるビデオエンコーダ、ビデオデコーダ、およびビデオをデコードするための方法、ならびに上記のビデオの第4の変形例によるビデオをエンコードするための方法、およびそれぞれのエンコード方法によって取得されたビデオデータストリームを含む。
以下では、本発明の実施形態の特定のビデオエンコードおよびビデオデコードの変形例のさらなる任意選択の詳細および特徴について説明する。
第4の変形例の実施形態は、H.265/HEVCに準拠し得る。
[PCM]
予測、変換、量子化、およびエントロピーコード化はバイパスされ、サンプルは事前定義された数のビットによって直接表される。PCMが有効な場合、輝度サンプルおよびクロマサンプルを表すために使用されるビット数(minus1)がそれぞれ指示される。さらに、PCMが最適に使用され得る2N×2Nブロックの最小ブロックサイズおよび最大ブロックサイズ(最小値に対する差)が指示される。2N×2Nブロックが構文解析されているとき、そのブロックのサイズが、記述された最小値と最大値の間にある場合、フラグはPCMモードが使用されているかどうかを指示する。PCMモードが使用されるとき、PCMサンプルはバイトアラインされ、ブロックの輝度サンプルは、指示されたPCM輝度ビット長を有するラスタスキャンで直接表され/解析され、その後、PCMブロックのクロマサンプルは、指示されたPCMクロマビット長によりラスタスキャンで表現/解析され、クロマサンプルの最初の半分がCbサンプルで残りがCrサンプルになる。さらに、CABACデコードエンジンは、PCM構文のデコード後にPCMフラグが構文解析され初期化されるたびに終了する。
第4の変形例の実施形態は、H.265/HEVCに準拠し得る。
[PCM]
予測、変換、量子化、およびエントロピーコード化はバイパスされ、サンプルは事前定義された数のビットによって直接表される。PCMが有効な場合、輝度サンプルおよびクロマサンプルを表すために使用されるビット数(minus1)がそれぞれ指示される。さらに、PCMが最適に使用され得る2N×2Nブロックの最小ブロックサイズおよび最大ブロックサイズ(最小値に対する差)が指示される。2N×2Nブロックが構文解析されているとき、そのブロックのサイズが、記述された最小値と最大値の間にある場合、フラグはPCMモードが使用されているかどうかを指示する。PCMモードが使用されるとき、PCMサンプルはバイトアラインされ、ブロックの輝度サンプルは、指示されたPCM輝度ビット長を有するラスタスキャンで直接表され/解析され、その後、PCMブロックのクロマサンプルは、指示されたPCMクロマビット長によりラスタスキャンで表現/解析され、クロマサンプルの最初の半分がCbサンプルで残りがCrサンプルになる。さらに、CABACデコードエンジンは、PCM構文のデコード後にPCMフラグが構文解析され初期化されるたびに終了する。
[イントラモード従属係数スキャン順序]
イントラコード化されたブロック内の係数のスキャン順序は、変換ブロックサイズおよびイントラモードに基づいて動的に変更される。スキャンは、変換ブロックの4×4サブブロック/領域ごとに実行される(例えば、4×4変換ブロックサイズには1つの係数領域のみを使用し、8×8変換ブロックには4つの係数領域、16×16変換ブロックサイズには16個の領域を使用する)。イントラモードのスキャン方法の選択は、変換ブロックサイズに依拠する。16×16および32×32の変換ブロックサイズの場合、スキャンは、斜めに実行される(0,0から開始->1,0->0,1->2,0->1,1->0,2->3,0など-例えば、各ステップでステップ1ずつy値を減らしてx値を増やし、yが0に等しいときにyの値がx+1から再開し、値0,0から開始すると同時にxを0に設定する)。4×4(輝度またはクロマ)および8×8(輝度)の変換ブロックサイズの場合、係数スキャン順序は、近傍のブロックの予測のイントラ方向に関連付けられたイントラモードに依拠する。垂直スキャンは、予測方向が水平に近い場合に用いられ、水平スキャンは、予測方向が垂直に近い場合に用いられる。他の予測方向については、斜め右上向きスキャンが用いられる。
イントラコード化されたブロック内の係数のスキャン順序は、変換ブロックサイズおよびイントラモードに基づいて動的に変更される。スキャンは、変換ブロックの4×4サブブロック/領域ごとに実行される(例えば、4×4変換ブロックサイズには1つの係数領域のみを使用し、8×8変換ブロックには4つの係数領域、16×16変換ブロックサイズには16個の領域を使用する)。イントラモードのスキャン方法の選択は、変換ブロックサイズに依拠する。16×16および32×32の変換ブロックサイズの場合、スキャンは、斜めに実行される(0,0から開始->1,0->0,1->2,0->1,1->0,2->3,0など-例えば、各ステップでステップ1ずつy値を減らしてx値を増やし、yが0に等しいときにyの値がx+1から再開し、値0,0から開始すると同時にxを0に設定する)。4×4(輝度またはクロマ)および8×8(輝度)の変換ブロックサイズの場合、係数スキャン順序は、近傍のブロックの予測のイントラ方向に関連付けられたイントラモードに依拠する。垂直スキャンは、予測方向が水平に近い場合に用いられ、水平スキャンは、予測方向が垂直に近い場合に用いられる。他の予測方向については、斜め右上向きスキャンが用いられる。
[変換量子化バイパスモード]
コード化ユニットまたはコード化ブロックごとに、変換および量子化の両方がバイパスされるかどうかが指示され得、それはピクチャ間またはピクチャ内予測からの残差信号がそのブロックに対して直接エントロピーコード化されることを指示する。そのモードでは、インループフィルタはスキップされる。
コード化ユニットまたはコード化ブロックごとに、変換および量子化の両方がバイパスされるかどうかが指示され得、それはピクチャ間またはピクチャ内予測からの残差信号がそのブロックに対して直接エントロピーコード化されることを指示する。そのモードでは、インループフィルタはスキップされる。
[さらなる実施形態]
以下では、本発明の実施形態をより一般的な用語で再度説明する。以下の実施形態は、任意選択的に、上述の特徴のうちのいずれかと組み合わされてもよい。
以下のさらなる実施形態では、以下の選択肢がすべての実施形態に適用され得る。データストリームは、ビデオデータストリームまたはオーディオデータストリームであり得る。データストリームをデコードするための装置は、ビデオデータストリームからビデオをデコードするための装置、またはオーディオデータストリームからオーディオ信号をデコードするための装置であり得る。データストリームをエンコードするための装置は、ビデオをビデオデータストリーム内にエンコードするための、またはオーディオ信号をオーディオデータストリーム内にエンコードするための装置であり得る。ペイロードパケットは、ビデオデータ、例えばエンコードされたビデオデータを搬送するコード化されたビデオペイロードパケットであり得る。用語「補足情報パケット」は、用語「補足情報ペイロードパケット」と等価的に使用され得る。「データストリームを信頼性に関してチェックする」および「データストリームを検証する」という表現は、互換的に使用され得る。
以下では、本発明の実施形態をより一般的な用語で再度説明する。以下の実施形態は、任意選択的に、上述の特徴のうちのいずれかと組み合わされてもよい。
以下のさらなる実施形態では、以下の選択肢がすべての実施形態に適用され得る。データストリームは、ビデオデータストリームまたはオーディオデータストリームであり得る。データストリームをデコードするための装置は、ビデオデータストリームからビデオをデコードするための装置、またはオーディオデータストリームからオーディオ信号をデコードするための装置であり得る。データストリームをエンコードするための装置は、ビデオをビデオデータストリーム内にエンコードするための、またはオーディオ信号をオーディオデータストリーム内にエンコードするための装置であり得る。ペイロードパケットは、ビデオデータ、例えばエンコードされたビデオデータを搬送するコード化されたビデオペイロードパケットであり得る。用語「補足情報パケット」は、用語「補足情報ペイロードパケット」と等価的に使用され得る。「データストリームを信頼性に関してチェックする」および「データストリームを検証する」という表現は、互換的に使用され得る。
異なる態様を組み合わせることが可能であり、すなわち、態様のうちのいずれかに関して定義されたあらゆる特徴は、さらなる態様のうちのいずれかと組み合わされてもよい。
1.データストリームをデコードするための装置20であって、データストリームが、セグメント17の時間的シーケンスを含み、装置が、セグメントのシーケンスのセグメントについて、
セグメントの所定の部分13を決定すること30と、
データストリームから、指示61を導出すること21であって、指示が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する、導出すること21と、
データストリームから、所定の部分13に基づいてかつ指示61に基づいて取得された検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を行うように構成されている、装置20。
1.データストリームをデコードするための装置20であって、データストリームが、セグメント17の時間的シーケンスを含み、装置が、セグメントのシーケンスのセグメントについて、
セグメントの所定の部分13を決定すること30と、
データストリームから、指示61を導出すること21であって、指示が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する、導出すること21と、
データストリームから、所定の部分13に基づいてかつ指示61に基づいて取得された検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を行うように構成されている、装置20。
2.装置が、検証文字列48がデジタル署名43に適合するかどうかをチェックすることによって所定の部分13を検証するように構成されている、実施形態1に記載の装置。
3.装置が、所定の部分13、指示61、および所定の部分13の検証のためのデジタル署名43を提供するように構成されている、実施形態1または2に記載の装置。
4.所定の部分13が、ハッシュ関数にかけられてハッシュ値が取得されるべきであり、検証文字列48が、ハッシュ値に基づいて取得される、実施形態1から3のうちのいずれかに記載の装置。
5.所定の部分13および指示が、ハッシュ関数にかけられてハッシュ値が取得されるべきであり、検証文字列48が、ハッシュ値に基づいて取得される、実施形態1から4のうちのいずれかに記載の装置。
3.装置が、所定の部分13、指示61、および所定の部分13の検証のためのデジタル署名43を提供するように構成されている、実施形態1または2に記載の装置。
4.所定の部分13が、ハッシュ関数にかけられてハッシュ値が取得されるべきであり、検証文字列48が、ハッシュ値に基づいて取得される、実施形態1から3のうちのいずれかに記載の装置。
5.所定の部分13および指示が、ハッシュ関数にかけられてハッシュ値が取得されるべきであり、検証文字列48が、ハッシュ値に基づいて取得される、実施形態1から4のうちのいずれかに記載の装置。
6.データストリーム14をデコードするための装置20であって、装置が、データストリームを信頼性に関してチェックするように構成されており、データストリームが、セグメント17の時間的シーケンスを含み、装置が、セグメントのシーケンスのセグメント17*を、
セグメントの所定の部分13をハッシュ関数31にかけてハッシュ値33を取得すること、
データストリームから指示61を導出すること21であって、指示61が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか、
を指示する、導出すること21、
ハッシュ値33に基づいてかつ指示61に基づいて検証文字列48を形成すること、
データストリームからデジタル署名43を導出し、検証文字列48がデジタル署名43に適合するかどうかをチェックすること
によって検証するように構成されている、装置20。
セグメントの所定の部分13をハッシュ関数31にかけてハッシュ値33を取得すること、
データストリームから指示61を導出すること21であって、指示61が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか、
を指示する、導出すること21、
ハッシュ値33に基づいてかつ指示61に基づいて検証文字列48を形成すること、
データストリームからデジタル署名43を導出し、検証文字列48がデジタル署名43に適合するかどうかをチェックすること
によって検証するように構成されている、装置20。
7.検証文字列48がデジタル署名43に適合するかどうかをチェックすることが、デジタル署名43を解読してチェック値を取得することと、
検証文字列48がチェック値と一致するかどうかをチェックすることと、
を含む、実施形態1から6のいずれかに記載の装置。
8.セグメントに関連付けられた補足情報メッセージから指示を導出するように構成されている、実施形態1から7のうちのいずれかに記載の装置。
9.補足情報メッセージが、ハッシュ関数および/またはデジタル署名43を解読するための証明書を示す、実施形態8に記載の装置。
10.デジタル署名43を示す補足情報メッセージから指示を導出するように構成されている、実施形態1から7のいずれかに記載の装置。
検証文字列48がチェック値と一致するかどうかをチェックすることと、
を含む、実施形態1から6のいずれかに記載の装置。
8.セグメントに関連付けられた補足情報メッセージから指示を導出するように構成されている、実施形態1から7のうちのいずれかに記載の装置。
9.補足情報メッセージが、ハッシュ関数および/またはデジタル署名43を解読するための証明書を示す、実施形態8に記載の装置。
10.デジタル署名43を示す補足情報メッセージから指示を導出するように構成されている、実施形態1から7のいずれかに記載の装置。
11.データストリームから、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうかを指示する指示を導出するように構成されており、装置が、
セグメントが署名されたサブシーケンスの最初のセグメントである場合に、時間的シーケンスにおいてセグメントに先行する部分であるデータストリームの任意の部分とは独立した検証文字列48を形成するように構成されている、
実施形態1から10のうちのいずれかに記載の装置。
12.セグメントが署名されたサブシーケンスの最初のセグメントではない場合に、セグメントの先行するセグメントに対して取得された前のハッシュ値にさらに基づいて検証文字列48を形成するように構成されている、
実施形態11に記載の装置。
13.いくつかの部分を導出することであって、いくつかの部分の単位でセグメント17が検証可能である、導出することを行うように構成されており、いくつかの部分が、所定の部分13を含み、いくつかの部分の部分が、階層的順序を有する、実施形態1から12のうちのいずれかに記載の装置。
セグメントが署名されたサブシーケンスの最初のセグメントである場合に、時間的シーケンスにおいてセグメントに先行する部分であるデータストリームの任意の部分とは独立した検証文字列48を形成するように構成されている、
実施形態1から10のうちのいずれかに記載の装置。
12.セグメントが署名されたサブシーケンスの最初のセグメントではない場合に、セグメントの先行するセグメントに対して取得された前のハッシュ値にさらに基づいて検証文字列48を形成するように構成されている、
実施形態11に記載の装置。
13.いくつかの部分を導出することであって、いくつかの部分の単位でセグメント17が検証可能である、導出することを行うように構成されており、いくつかの部分が、所定の部分13を含み、いくつかの部分の部分が、階層的順序を有する、実施形態1から12のうちのいずれかに記載の装置。
14.装置が、
所定の部分13が部分のうち階層的順序内の最初の部分ではない場合に、階層的順序において所定の部分13に先行する、先行する部分に対して取得された、前のハッシュ値にさらに基づいて検証文字列48を形成するように構成されている、
実施形態13に記載の装置。
15.所定の部分13が、部分間の階層的順序内の最初の部分であり、装置が、階層的順序において所定の部分13に続く、いくつかの部分の後続の部分を検証する際に、所定の部分13をハッシュ関数にかけることによって取得されたハッシュ値に基づいて、後続の部分を検証するための後続の検証文字列48を形成するように構成されている、実施形態13または14に記載の装置。
16.所定の部分13がいくつかの部分の階層的順序内の最初の部分である場合に、データストリームから指示を選択的に導出するように構成されている、実施形態13から15のうちのいずれかに記載の装置。
所定の部分13が部分のうち階層的順序内の最初の部分ではない場合に、階層的順序において所定の部分13に先行する、先行する部分に対して取得された、前のハッシュ値にさらに基づいて検証文字列48を形成するように構成されている、
実施形態13に記載の装置。
15.所定の部分13が、部分間の階層的順序内の最初の部分であり、装置が、階層的順序において所定の部分13に続く、いくつかの部分の後続の部分を検証する際に、所定の部分13をハッシュ関数にかけることによって取得されたハッシュ値に基づいて、後続の部分を検証するための後続の検証文字列48を形成するように構成されている、実施形態13または14に記載の装置。
16.所定の部分13がいくつかの部分の階層的順序内の最初の部分である場合に、データストリームから指示を選択的に導出するように構成されている、実施形態13から15のうちのいずれかに記載の装置。
17.データストリームをエンコードするための装置10であって、装置が、データストリームを信頼性に関してチェック可能にすることと、データストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を行うように構成されており、装置が、セグメントのシーケンスのセグメントを、
セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得すること、
データストリーム内に、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示61を挿入すること23、
ハッシュ値に基づいて、かつ指示に基づいて検証文字列48を形成すること、
検証文字列48に基づいてデジタル署名43を取得すること
によって信頼性に関してチェック可能にするように構成されている、装置10。
セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得すること、
データストリーム内に、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示61を挿入すること23、
ハッシュ値に基づいて、かつ指示に基づいて検証文字列48を形成すること、
検証文字列48に基づいてデジタル署名43を取得すること
によって信頼性に関してチェック可能にするように構成されている、装置10。
18.デジタル署名43を取得する際に、検証文字列48に署名するように構成されている、実施形態17に記載の装置。
19.セグメントに関連付けられた補足情報メッセージ内に指示を挿入するように構成されている、実施形態17または実施形態18に記載の装置。
20.補足情報メッセージが、ハッシュ関数および/またはデジタル署名43を解読するための証明書を示す、実施形態19に記載の装置。
21.指示およびデジタル署名43を補足情報メッセージ内に挿入するように構成されている、実施形態17または18に記載の装置。
22.データストリーム内に、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうかを指示する指示を挿入するように構成されており、装置が、
セグメントが署名されたサブシーケンスの最初のセグメントである場合に、時間的シーケンスにおいてセグメントに先行する部分であるデータストリームの任意の部分とは独立した検証文字列48を形成するように構成されている、
実施形態17から21のうちのいずれかに記載の装置。
19.セグメントに関連付けられた補足情報メッセージ内に指示を挿入するように構成されている、実施形態17または実施形態18に記載の装置。
20.補足情報メッセージが、ハッシュ関数および/またはデジタル署名43を解読するための証明書を示す、実施形態19に記載の装置。
21.指示およびデジタル署名43を補足情報メッセージ内に挿入するように構成されている、実施形態17または18に記載の装置。
22.データストリーム内に、セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうかを指示する指示を挿入するように構成されており、装置が、
セグメントが署名されたサブシーケンスの最初のセグメントである場合に、時間的シーケンスにおいてセグメントに先行する部分であるデータストリームの任意の部分とは独立した検証文字列48を形成するように構成されている、
実施形態17から21のうちのいずれかに記載の装置。
23.セグメントが署名されたサブシーケンスの最初のセグメントではない場合に、セグメントの先行するセグメントに対して取得された前のハッシュ値にさらに基づいて検証文字列48を形成するように構成されている、
実施形態22に記載の装置。
24.いくつかの部分を導出することと、セグメントを部分の単位で信頼性に関してチェック可能にすることと、を行うように構成されており、いくつか部分が、所定の部分13を含み、いくつかの部分の部分が、階層的順序を有する、実施形態17から23のうちのいずれかに記載の装置。
25.装置が、
所定の部分13が部分のうち階層的順序内の最初の部分ではない場合に、階層的順序において所定の部分13に先行する、先行する部分に対して取得された、前のハッシュ値にさらに基づいて検証文字列48を形成するように構成されている、
実施形態24に記載の装置。
26.所定の部分13が、部分のうち階層的順序内の最初の部分であり、装置が、階層的順序において所定の部分13に続く、いくつかの部分の後続の部分を検証する際に、所定の部分13をハッシュ関数にかけることによって取得されたハッシュ値に基づいて、後続の部分を検証するための後続の検証文字列48を形成するように構成されている、実施形態24または25に記載の装置。
実施形態22に記載の装置。
24.いくつかの部分を導出することと、セグメントを部分の単位で信頼性に関してチェック可能にすることと、を行うように構成されており、いくつか部分が、所定の部分13を含み、いくつかの部分の部分が、階層的順序を有する、実施形態17から23のうちのいずれかに記載の装置。
25.装置が、
所定の部分13が部分のうち階層的順序内の最初の部分ではない場合に、階層的順序において所定の部分13に先行する、先行する部分に対して取得された、前のハッシュ値にさらに基づいて検証文字列48を形成するように構成されている、
実施形態24に記載の装置。
26.所定の部分13が、部分のうち階層的順序内の最初の部分であり、装置が、階層的順序において所定の部分13に続く、いくつかの部分の後続の部分を検証する際に、所定の部分13をハッシュ関数にかけることによって取得されたハッシュ値に基づいて、後続の部分を検証するための後続の検証文字列48を形成するように構成されている、実施形態24または25に記載の装置。
27.所定の部分13がいくつかの部分の階層的順序内の最初の部分である場合に、データストリーム内に指示を選択的に挿入するように構成されている、実施形態24から26のうちのいずれかに記載の装置。
28.データストリームをデコードするための方法であって、データストリームがセグメント17の時間的シーケンスを含み、方法が、セグメントのシーケンスのセグメントについて、
セグメントの所定の部分13を決定すること30と、
データストリームから、指示61を導出すること21であって、指示が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する、導出すること21と、
データストリームから、所定の部分13に基づいてかつ指示61に基づいて取得された検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を含む、方法。
28.データストリームをデコードするための方法であって、データストリームがセグメント17の時間的シーケンスを含み、方法が、セグメントのシーケンスのセグメントについて、
セグメントの所定の部分13を決定すること30と、
データストリームから、指示61を導出すること21であって、指示が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する、導出すること21と、
データストリームから、所定の部分13に基づいてかつ指示61に基づいて取得された検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を含む、方法。
29.データストリーム14をデコードするための方法であって、方法が、データストリームを信頼性に関してチェックすることを含み、データストリームが、セグメント17の時間的シーケンスを含み、方法が、セグメントのシーケンスのセグメント17*を、
セグメントの所定の部分13をハッシュ関数31にかけてハッシュ値33を取得すること、
データストリームから指示61を導出すること21であって、指示61が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか、
を指示する、導出すること21、
ハッシュ値33に基づいてかつ指示61に基づいて検証文字列48を形成すること、
データストリームからデジタル署名43を導出し、検証文字列48がデジタル署名43に適合するかどうかをチェックすること
によって検証することを含む、方法。
セグメントの所定の部分13をハッシュ関数31にかけてハッシュ値33を取得すること、
データストリームから指示61を導出すること21であって、指示61が、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか、
を指示する、導出すること21、
ハッシュ値33に基づいてかつ指示61に基づいて検証文字列48を形成すること、
データストリームからデジタル署名43を導出し、検証文字列48がデジタル署名43に適合するかどうかをチェックすること
によって検証することを含む、方法。
30.データストリームをエンコードするための方法であって、方法が、データストリームを信頼性に関してチェック可能にすることと、データストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を含み、方法が、セグメントのシーケンスのセグメントを、
セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得すること、
データストリーム内に、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示を挿入すること、
ハッシュ値に基づいて、かつ指示に基づいて検証文字列48を形成すること、
検証文字列48に基づいてデジタル署名43を取得すること
によって信頼性に関してチェック可能にすることを含む、方法。
セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得すること、
データストリーム内に、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示を挿入すること、
ハッシュ値に基づいて、かつ指示に基づいて検証文字列48を形成すること、
検証文字列48に基づいてデジタル署名43を取得すること
によって信頼性に関してチェック可能にすることを含む、方法。
31.データストリームであって、データストリームが、信頼性に関してチェック可能であり、データストリームが、
セグメントの時間的シーケンス、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示
を含む、データストリーム。
セグメントの時間的シーケンス、
セグメントが時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
セグメントが時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示
を含む、データストリーム。
32.データストリームが、実施形態30の方法を用いて提供される、実施形態31に記載のデータストリーム。
33.データストリーム14をデコードするための装置20であって、データストリームがセグメント17の時間的シーケンスを含み、装置が、
データストリームから、セグメントのシーケンスのセグメント17*について、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21と、
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名43を含む場合、データストリームから、時間的シーケンスにおいてセグメント17*の直前にある先行するセグメントとは独立した検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を行うように構成されている、装置20。
34.装置が、検証文字列48がデジタル署名43に適合するかどうかをチェックすることによってセグメントを検証するように構成されている、実施形態33に記載の装置。
35.装置が、セグメントの所定の部分13と、セグメントの検証のためのデジタル署名43と、を提供するように構成されている、実施形態33または実施形態34に記載の装置。
33.データストリーム14をデコードするための装置20であって、データストリームがセグメント17の時間的シーケンスを含み、装置が、
データストリームから、セグメントのシーケンスのセグメント17*について、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21と、
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名43を含む場合、データストリームから、時間的シーケンスにおいてセグメント17*の直前にある先行するセグメントとは独立した検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を行うように構成されている、装置20。
34.装置が、検証文字列48がデジタル署名43に適合するかどうかをチェックすることによってセグメントを検証するように構成されている、実施形態33に記載の装置。
35.装置が、セグメントの所定の部分13と、セグメントの検証のためのデジタル署名43と、を提供するように構成されている、実施形態33または実施形態34に記載の装置。
36.データストリーム14をデコードするための装置20であって、装置が、データストリームを信頼性に関してチェックするように構成されており、データストリームが、セグメントの時間的シーケンスを含み、装置が、
データストリームから、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21と、
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合、
データストリームからデジタル署名43を導出すること21と、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること39と、
検証文字列48がデジタル署名43に適合するかどうかをチェックすること63と、
を行うように構成されている、装置20。
データストリームから、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21と、
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合、
データストリームからデジタル署名43を導出すること21と、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること39と、
検証文字列48がデジタル署名43に適合するかどうかをチェックすること63と、
を行うように構成されている、装置20。
37.データストリームから、セグメントについて、検証チェーンがセグメントで中断されたかどうかを指示する指示を導出するように構成されている、実施形態33または36に記載の装置。
38.セグメントが信頼性に関してチェック可能であるかどうかをチェックすることと、セグメントが信頼性に関してチェック可能ではない場合に、検証チェーンがセグメントで中断されていると仮定することと、を行うように構成されている、実施形態33から37のうちのいずれかに記載の装置。
39.検証文字列48がデジタル署名43に適合するかどうかをチェックすることが、
デジタル署名43を解読してチェック値を取得することと、
検証文字列48がチェック値と一致するかどうかをチェックすることと、
を含む、実施形態34から36のうちのいずれかに記載の装置。
40.検証文字列48を形成することが、セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得することと、ハッシュ値に基づいて検証文字列48を形成することと、を含む、実施形態33から39のうちのいずれかに記載の装置。
38.セグメントが信頼性に関してチェック可能であるかどうかをチェックすることと、セグメントが信頼性に関してチェック可能ではない場合に、検証チェーンがセグメントで中断されていると仮定することと、を行うように構成されている、実施形態33から37のうちのいずれかに記載の装置。
39.検証文字列48がデジタル署名43に適合するかどうかをチェックすることが、
デジタル署名43を解読してチェック値を取得することと、
検証文字列48がチェック値と一致するかどうかをチェックすることと、
を含む、実施形態34から36のうちのいずれかに記載の装置。
40.検証文字列48を形成することが、セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得することと、ハッシュ値に基づいて検証文字列48を形成することと、を含む、実施形態33から39のうちのいずれかに記載の装置。
41.検証文字列48を形成することが、データストリームが検証チェーンの中断を指示しない場合、およびデータストリームがセグメントのデジタル署名43を含む場合、前のハッシュ値を使用して検証文字列48を形成することを含み、前のハッシュ値が、先行するセグメントの部分をハッシュ関数にかけることによって取得される、
実施形態33から40のうちのいずれかに記載の装置。
42.検証文字列48を形成することが、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合に、時間的シーケンスにおいてセグメントに先行するセグメントのうちのいずれとも独立した検証文字列48を形成することを含む、実施形態33から41のうちのいずれかに記載の装置。
実施形態33から40のうちのいずれかに記載の装置。
42.検証文字列48を形成することが、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合に、時間的シーケンスにおいてセグメントに先行するセグメントのうちのいずれとも独立した検証文字列48を形成することを含む、実施形態33から41のうちのいずれかに記載の装置。
43.セグメントを信頼性に関してチェックすることが、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合に、
セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックすることと、
セグメントがさらなる検証チェーンの最初のセグメントである場合に、時間的シーケンスにおいてセグメントに先行するセグメントのうちのいずれとも独立した検証文字列48を形成することと、
を含む、実施形態33から42のうちのいずれかに記載の装置。
44.セグメントを信頼性に関してチェックすることが、セグメントがさらなる検証チェーンの最初のセグメントではない場合に、
さらなる前のハッシュ値を使用して検証文字列48を形成することを含み、さらなる前のハッシュ値が、時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
実施形態43に記載の装置。
セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックすることと、
セグメントがさらなる検証チェーンの最初のセグメントである場合に、時間的シーケンスにおいてセグメントに先行するセグメントのうちのいずれとも独立した検証文字列48を形成することと、
を含む、実施形態33から42のうちのいずれかに記載の装置。
44.セグメントを信頼性に関してチェックすることが、セグメントがさらなる検証チェーンの最初のセグメントではない場合に、
さらなる前のハッシュ値を使用して検証文字列48を形成することを含み、さらなる前のハッシュ値が、時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
実施形態43に記載の装置。
45.セグメントを信頼性に関してチェックすることが、データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合に、
セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックすることと、
セグメントがさらなる検証チェーンの最初のセグメントではない場合に、さらなる前のハッシュ値を使用して検証文字列48を形成することであって、さらなる前のハッシュ値が、時間的シーケンスのさらに先行するセグメントの部分をハッシュ関数にかけることによって取得される、形成することと、
を含む、実施形態33から44のうちのいずれかに記載の装置。
セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックすることと、
セグメントがさらなる検証チェーンの最初のセグメントではない場合に、さらなる前のハッシュ値を使用して検証文字列48を形成することであって、さらなる前のハッシュ値が、時間的シーケンスのさらに先行するセグメントの部分をハッシュ関数にかけることによって取得される、形成することと、
を含む、実施形態33から44のうちのいずれかに記載の装置。
46.セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックする際に、
データストリームから、セグメントが検証チェーンの最初のセグメントであるかどうかを指示する指示を導出するように構成されている、
請求項44または45に記載の装置。
47.セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックする際に、
データストリームからセグメントの検証情報を導出すること、および検証情報を、時間的シーケンスのさらなる先行するセグメントについての先行する検証情報と比較すること、
検証情報が先行する検証情報と一致する場合に、セグメントがさらなる検証チェーンの最初のセグメントではないと推論すること、
検証情報が先行する検証情報と一致しない場合に、セグメントがさらなる検証チェーンの最初のセグメントであると推論すること
を行うように構成されている、実施形態44または45に記載の装置。
データストリームから、セグメントが検証チェーンの最初のセグメントであるかどうかを指示する指示を導出するように構成されている、
請求項44または45に記載の装置。
47.セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックする際に、
データストリームからセグメントの検証情報を導出すること、および検証情報を、時間的シーケンスのさらなる先行するセグメントについての先行する検証情報と比較すること、
検証情報が先行する検証情報と一致する場合に、セグメントがさらなる検証チェーンの最初のセグメントではないと推論すること、
検証情報が先行する検証情報と一致しない場合に、セグメントがさらなる検証チェーンの最初のセグメントであると推論すること
を行うように構成されている、実施形態44または45に記載の装置。
48.検証情報が、
-デジタル署名43を解読するための証明書の指示、
-ハッシュ関数の指示、
-セグメントのコンテンツの識別子
のうちの1つ以上を含む、実施形態46に記載の装置。
49.セグメントを信頼性に関してチェックすることが、指示が、検証チェーンが中断されたことを指示する場合、および
データストリームがセグメントについてのデジタル署名43を含まない場合、または
セグメントがさらなる検証チェーンの最初のセグメントである場合、
前のハッシュ値を記憶することであって、前のハッシュ値が、先行するセグメントの部分を時間的シーケンスの後続のセグメントを検証するためのハッシュ関数にかけることによって取得される、記憶することを含む、
実施形態33から48のうちのいずれかに記載の装置。
-デジタル署名43を解読するための証明書の指示、
-ハッシュ関数の指示、
-セグメントのコンテンツの識別子
のうちの1つ以上を含む、実施形態46に記載の装置。
49.セグメントを信頼性に関してチェックすることが、指示が、検証チェーンが中断されたことを指示する場合、および
データストリームがセグメントについてのデジタル署名43を含まない場合、または
セグメントがさらなる検証チェーンの最初のセグメントである場合、
前のハッシュ値を記憶することであって、前のハッシュ値が、先行するセグメントの部分を時間的シーケンスの後続のセグメントを検証するためのハッシュ関数にかけることによって取得される、記憶することを含む、
実施形態33から48のうちのいずれかに記載の装置。
50.データストリーム14をエンコードするための装置10であって、装置が、データストリームを信頼性に関してチェック可能にすることと、データストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を行うように構成されており、装置が、
セグメントの時間的シーケンス内の検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること、および
検証文字列48に基づいてデジタル署名43を取得すること、および
デジタル署名43をデータストリーム内に挿入すること
を行うように構成されている、装置10。
51.データストリーム内に、セグメントの時間的シーケンス内の検証チェーンがセグメントで中断されたかどうかを指示する指示を挿入するように構成されている、実施形態50に記載の装置。
セグメントの時間的シーケンス内の検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること、および
検証文字列48に基づいてデジタル署名43を取得すること、および
デジタル署名43をデータストリーム内に挿入すること
を行うように構成されている、装置10。
51.データストリーム内に、セグメントの時間的シーケンス内の検証チェーンがセグメントで中断されたかどうかを指示する指示を挿入するように構成されている、実施形態50に記載の装置。
52.セグメントが信頼性に関してチェック可能にされるべきではない場合に、検証チェーンがセグメントで中断されたかのようにセグメントを処理するように構成されている、実施形態50に記載の装置。
53.デジタル署名43を取得する際に、検証文字列48に署名するように構成されている、実施形態50から52のうちのいずれかに記載の装置。
54.セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得し、かつハッシュ値に基づいて検証文字列48を形成することにより、検証文字列48を形成するように構成されている、実施形態50から53のうちのいずれかに記載の装置。
55.検証チェーンがセグメントで中断されていない場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、前のハッシュ値を使用して検証文字列48を形成するように構成され、前のハッシュ値が、先行するセグメントの部分をハッシュ関数にかけることによって取得される、実施形態50から54のうちのいずれかに記載の装置。
53.デジタル署名43を取得する際に、検証文字列48に署名するように構成されている、実施形態50から52のうちのいずれかに記載の装置。
54.セグメントの所定の部分13をハッシュ関数にかけてハッシュ値を取得し、かつハッシュ値に基づいて検証文字列48を形成することにより、検証文字列48を形成するように構成されている、実施形態50から53のうちのいずれかに記載の装置。
55.検証チェーンがセグメントで中断されていない場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、前のハッシュ値を使用して検証文字列48を形成するように構成され、前のハッシュ値が、先行するセグメントの部分をハッシュ関数にかけることによって取得される、実施形態50から54のうちのいずれかに記載の装置。
56.検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、時間的シーケンスにおいてセグメントに先行するセグメントのうちのいずれとも独立した検証文字列48を形成するように構成されている、
実施形態50から55のうちのいずれかに記載の装置。
57.検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
セグメントがさらなる検証チェーンの最初のセグメントである場合、時間的シーケンスにおいてセグメントに先行するセグメントのうちのいずれとも無関係に検証文字列48を形成するように構成されている、
実施形態50から56のうちのいずれかに記載の装置。
58.セグメントがさらなる検証チェーンの最初のセグメントではない場合に、
さらなる前のハッシュ値を使用して検証文字列48を形成するように構成されており、さらなる前のハッシュ値が、時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
実施形態57に記載の装置。
59.検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
セグメントがさらなる検証チェーンの最初のセグメントではない場合、さらなる前のハッシュ値を使用して検証文字列48を形成するように構成されており、さらなる前のハッシュ値が、時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
実施形態50から58のうちのいずれかに記載の装置。
実施形態50から55のうちのいずれかに記載の装置。
57.検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
セグメントがさらなる検証チェーンの最初のセグメントである場合、時間的シーケンスにおいてセグメントに先行するセグメントのうちのいずれとも無関係に検証文字列48を形成するように構成されている、
実施形態50から56のうちのいずれかに記載の装置。
58.セグメントがさらなる検証チェーンの最初のセグメントではない場合に、
さらなる前のハッシュ値を使用して検証文字列48を形成するように構成されており、さらなる前のハッシュ値が、時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
実施形態57に記載の装置。
59.検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
セグメントがさらなる検証チェーンの最初のセグメントではない場合、さらなる前のハッシュ値を使用して検証文字列48を形成するように構成されており、さらなる前のハッシュ値が、時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
実施形態50から58のうちのいずれかに記載の装置。
60.データストリーム内に、セグメントが検証チェーンの最初のセグメントであるかどうかを指示する指示を挿入するように構成されている、実施形態58または59に記載の装置。
61.検証チェーンがセグメントで中断された場合、および
セグメントが信頼性に関してチェック可能にされるべきではない場合、または
セグメントがさらなる検証チェーンの最初のセグメントである場合に、
前のハッシュ値を記憶するように構成されており、前のハッシュ値が、先行するセグメントの部分を、時間的シーケンスの後続のセグメントを検証するためのハッシュ関数にかけることによって取得される、
実施形態50から60のうちのいずれかに記載の装置。
62.データストリーム14をデコードするための方法であって、データストリームが、セグメント17の時間的シーケンスを含み、方法が、
データストリームから、セグメントのシーケンスのセグメント17*について、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21と、
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名43を含む場合に、データストリームから、時間的シーケンスにおいてセグメント17*の直前にある先行するセグメントとは独立した検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を含む、方法。
61.検証チェーンがセグメントで中断された場合、および
セグメントが信頼性に関してチェック可能にされるべきではない場合、または
セグメントがさらなる検証チェーンの最初のセグメントである場合に、
前のハッシュ値を記憶するように構成されており、前のハッシュ値が、先行するセグメントの部分を、時間的シーケンスの後続のセグメントを検証するためのハッシュ関数にかけることによって取得される、
実施形態50から60のうちのいずれかに記載の装置。
62.データストリーム14をデコードするための方法であって、データストリームが、セグメント17の時間的シーケンスを含み、方法が、
データストリームから、セグメントのシーケンスのセグメント17*について、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21と、
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名43を含む場合に、データストリームから、時間的シーケンスにおいてセグメント17*の直前にある先行するセグメントとは独立した検証文字列48に対してチェックされるためのデジタル署名43を導出すること21と、
を含む、方法。
63.データストリーム14をデコードするための方法であって、方法が、データストリームを信頼性に関してチェックすることを含み、データストリームが、セグメントの時間的シーケンスを含み、方法が、
データストリームから、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21、および
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合に、
データストリームからデジタル署名43を導出すること21、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること39、および
検証文字列48がデジタル署名43に適合するかどうかをチェックすること63
を含む、方法。
データストリームから、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること21、および
データストリームが検証チェーンが中断されたことを指示する場合、およびデータストリームがセグメントのデジタル署名43を含む場合に、
データストリームからデジタル署名43を導出すること21、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること39、および
検証文字列48がデジタル署名43に適合するかどうかをチェックすること63
を含む、方法。
64.データストリーム14をエンコードするための方法であって、方法が、データストリームを信頼性に関してチェック可能にすることと、データストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を含み、方法が、
セグメントの時間的シーケンス内の検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること、および
検証文字列48に基づいてデジタル署名43を取得すること、および
デジタル署名43をデータストリーム内に挿入すること
を含む、方法。
65.実施形態64の方法を用いて生成されたデータストリーム14。
セグメントの時間的シーケンス内の検証チェーンがセグメントで中断された場合、およびセグメントが信頼性に関してチェック可能にされるべきである場合に、
時間的シーケンスにおいてセグメントの直前にある先行するセグメントとは独立した検証文字列48を形成すること、および
検証文字列48に基づいてデジタル署名43を取得すること、および
デジタル署名43をデータストリーム内に挿入すること
を含む、方法。
65.実施形態64の方法を用いて生成されたデータストリーム14。
66.データストリームが、データストリームにエンコードされたビデオを有し、装置が、ブロックベースの予測および変換ベースの残差デコードによってデータストリームからビデオをデコードするように構成されており、デコードが、
コンテキスト適応型可変長デコードを用いてデータストリームから残差ブロックの予測残差データをデコードすることによって行われ、デコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
連続して遭遇する非ゼロ変換係数のスキャン順序の間のスキャン順序における連続するゼロ値変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を指示する1つ以上の第5の構文要素と、
を使用して行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
コンテキスト適応型可変長デコードを用いてデータストリームから残差ブロックの予測残差データをデコードすることによって行われ、デコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
連続して遭遇する非ゼロ変換係数のスキャン順序の間のスキャン順序における連続するゼロ値変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を指示する1つ以上の第5の構文要素と、
を使用して行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
67.データストリームが、データストリーム内にエンコードされたビデオを有し、装置が、ブロックベースの予測デコードおよび変換ベースの残差デコードによってデータストリームからビデオをデコードするように構成されており、ブロックベースの予測デコードおよび変換ベースの残差デコードが、
コンテキスト適応型バイナリ算術デコードを用いて、残差ブロックの予測残差データをデータストリームからデコードすることによって行われ、コンテキスト適応型バイナリ算術デコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをデコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをデコードすることによってデコードすること、ならびに
非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次デコードすること、
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
コンテキスト適応型バイナリ算術デコードを用いて、残差ブロックの予測残差データをデータストリームからデコードすることによって行われ、コンテキスト適応型バイナリ算術デコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをデコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをデコードすることによってデコードすること、ならびに
非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次デコードすること、
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
68.データストリームが、データストリーム内にエンコードされたビデオを有し、装置が、ブロックベースの予測デコードおよび変換ベースの残差デコードによってデータストリームからビデオをデコードするように構成されており、ブロックベースの予測デコードおよび変換ベースの残差デコードが、
コンテキスト適応型バイナリ算術デコードを用いて、データストリームからイントラ予測されたブロックの予測残差データをデコードすることによって行われ、コンテキスト適応型バイナリ算術デコードが、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をデコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次デコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
コンテキスト適応型バイナリ算術デコードを用いて、データストリームからイントラ予測されたブロックの予測残差データをデコードすることによって行われ、コンテキスト適応型バイナリ算術デコードが、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をデコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次デコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
69.データストリームが、データストリームにエンコードされたビデオを有し、装置が、ブロックベースの予測デコードおよび変換ベースの残差デコードによってデータストリームからビデオをデコードするように構成されており、デコードが、
残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術デコード、および現在の変換係数の値が前の量子化インデックスの量子化インデックスのパリティに依存する量子化インデックスの順次逆量子化とを使用して、データストリームから残差ブロックの予測残差データをデコードする
ことによって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術デコード、および現在の変換係数の値が前の量子化インデックスの量子化インデックスのパリティに依存する量子化インデックスの順次逆量子化とを使用して、データストリームから残差ブロックの予測残差データをデコードする
ことによって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれかに記載の装置。
70.装置が、ブロックベースの予測エンコードおよび変換ベースの残差エンコードによってビデオをデータストリームにエンコードするように構成されたエンコーダであり、エンコードが、
残差ブロックの予測残差データをコンテキスト適応型可変長コード化を用いてデータストリームにエンコードすることによって行われ、エンコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
スキャン順序に沿って係数をトラバースするときに、1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
スキャン順序で連続して遭遇する非ゼロ変換係数間のスキャン順序における連続するゼロ値の変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を示す1つ以上の第5の構文要素と、
を使用して行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
残差ブロックの予測残差データをコンテキスト適応型可変長コード化を用いてデータストリームにエンコードすることによって行われ、エンコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
スキャン順序に沿って係数をトラバースするときに、1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
スキャン順序で連続して遭遇する非ゼロ変換係数間のスキャン順序における連続するゼロ値の変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を示す1つ以上の第5の構文要素と、
を使用して行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
71.装置が、ブロックベースの予測コード化および変換ベースの残差コード化によってビデオをデータストリーム内にエンコードするように構成されたエンコーダであり、ブロックベースの予測コード化および変換ベースの残差コード化が、
コンテキスト適応型バイナリ算術コード化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをエンコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをエンコードすることによってエンコードすること、ならびに
非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次エンコードすること、
によって行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
コンテキスト適応型バイナリ算術コード化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをエンコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをエンコードすることによってエンコードすること、ならびに
非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次エンコードすること、
によって行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
72.装置が、ブロックベースの予測コード化および変換ベースの残差コード化によってビデオをデータストリーム内にエンコードするように構成されており、ブロックベースの予測コード化および変換ベースの残差コード化が、
コンテキスト適応型バイナリ算術コード化を用いて、イントラ予測されたブロックの予測残差データをデータストリームにエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をエンコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次エンコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のいずれかに記載の装置。
コンテキスト適応型バイナリ算術コード化を用いて、イントラ予測されたブロックの予測残差データをデータストリームにエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をエンコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次エンコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のいずれかに記載の装置。
73.装置が、ブロックベースの予測エンコードおよび変換ベースの残差エンコードによってビデオをデータストリーム内にエンコードするように構成されており、ブロックベースの予測エンコードおよび変換ベースの残差エンコードが、
残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術コード化、および現在の変換係数を量子化するための量子化器が前の量子化インデックスの量子化インデックスのパリティに依存する、量子化インデックスを取得するための変換係数の順次量子化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすること
によって行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術コード化、および現在の変換係数を量子化するための量子化器が前の量子化インデックスの量子化インデックスのパリティに依存する、量子化インデックスを取得するための変換係数の順次量子化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすること
によって行われる、
実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
74.データストリームが、ブロックベースの予測コード化および変換ベースの残差コード化によってデータストリーム内にエンコードされたビデオを有し、エンコードが、
残差ブロックの予測残差データをコンテキスト適応型可変長コード化を用いてデータストリーム内にエンコードすることによって行われ、エンコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
スキャン順序に沿って係数をトラバースするときに、1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
スキャン順序で連続して遭遇する非ゼロ変換係数間のスキャン順序における連続するゼロ値の変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を示す1つ以上の第5の構文要素と、
を使用して行われる、
実施形態1~16のうちのいずれか、実施形態33~49のうちのいずれか、実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
残差ブロックの予測残差データをコンテキスト適応型可変長コード化を用いてデータストリーム内にエンコードすることによって行われ、エンコードが、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の総数、およびスキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の数を示すtrailing-oneの数値を指示する第1の構文要素と、
スキャン順序に沿って係数をトラバースするときに1の絶対値を有する非ゼロ変換係数の符号を示す1つ以上の第2の構文要素と、
スキャン順序に沿って係数をトラバースするときに、1の絶対値を有する非ゼロ変換係数の数を除いた、非ゼロ変換係数の値を示す1つ以上の第3の構文要素と、
スキャン順序で最初に遭遇した非ゼロ変換係数からの変換ブロック内のゼロ値変換係数レベルの総数を示す第4の構文要素と、
スキャン順序で連続して遭遇する非ゼロ変換係数間のスキャン順序における連続するゼロ値の変換係数の数を指示することによって、スキャン順序に沿った非ゼロ変換係数の位置を示す1つ以上の第5の構文要素と、
を使用して行われる、
実施形態1~16のうちのいずれか、実施形態33~49のうちのいずれか、実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
75.データストリームが、ブロックベースの予測コード化および変換ベースの残差コード化によってデータストリーム内にエンコードされたビデオを有し、ブロックベースの予測コード化および変換ベースの残差コード化が、
コンテキスト適応型バイナリ算術コード化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをエンコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをエンコードすることによってエンコードすること、ならびに
非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次エンコードすること、
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれか、または実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
コンテキスト適応型バイナリ算術コード化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
残差ブロックを表す変換ブロック内の非ゼロ変換係数の位置を指示する重要度マップを、変換ブロックの変換係数をトラバースする順方向スキャンにおいて、非ゼロ変換係数が現在の位置に配置されているかどうかを指示する重要度フラグをエンコードし、非ゼロ変換係数が現在の位置に配置されている場合、および現在の位置が順方向スキャンの最後ではない場合は、現在の位置に位置決めされた非ゼロ変換係数が順方向スキャン順序における最後の非ゼロ変換係数であるかどうかを指示する最終重要度フラグをエンコードすることによってエンコードすること、ならびに
非ゼロ変換係数の値を、順スキャン順序を逆にする逆スキャン順序で順次エンコードすること、
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれか、または実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
76.データストリームが、ブロックベースの予測コード化および変換ベースの残差コード化によってデータストリーム内にエンコードされたビデオを有し、ブロックベースの予測コード化および変換ベースの残差コード化が、
コンテキスト適応型バイナリ算術コード化を用いて、イントラ予測されたブロックの予測残差データをデータストリーム内にエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をエンコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次エンコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる、
実施形態1~16のうちのいずれか、、または実施形態33~49のうちのいずれか、または実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
コンテキスト適応型バイナリ算術コード化を用いて、イントラ予測されたブロックの予測残差データをデータストリーム内にエンコードすることによって行われ、コンテキスト適応型バイナリ算術コード化が、
所定のスキャン順序に沿って変換ブロックの変換係数をトラバースするときに、最後の非ゼロ変換係数に遭遇する予測残差データを表す変換ブロック内の位置の座標をエンコードすること、ならびに
最後の非ゼロ変換係数と最初にスキャンされた変換係数との間の、所定のスキャン順序に沿って含まれランク付けされた変換係数の値を順次エンコードすること、ならびに
所定のスキャン順序を、斜めスキャン順序、水平スキャン順序、および垂直スキャン順序の中から、イントラ予測されたブロックのイントラ予測モードに応じて、複数のイントラ予測モードの各々を斜めスキャン順序、水平スキャン順序、および垂直スキャン順序のうちの対応する1つにマッピングするマッピングを用いることによって選択すること
によって行われる、
実施形態1~16のうちのいずれか、、または実施形態33~49のうちのいずれか、または実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
77.データストリームが、ブロックベースの予測エンコードおよび変換ベースの残差エンコードによってデータストリーム内にエンコードされたビデオを有し、ブロックベースの予測エンコードおよび変換ベースの残差エンコードが、
残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術コード化、および現在の変換係数を量子化するための量子化器が前の量子化インデックスの量子化インデックスのパリティに依存する、量子化インデックスを取得するための変換係数の順次量子化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすること
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれか、または実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
78.実施形態30、または実施形態64の方法を用いて生成されたデータストリーム。
79.コンピュータまたは信号プロセッサ上で実行されたときに、実施形態28、または実施形態29、または実施形態62から64のうちのいずれかの方法を実施するためのコンピュータプログラム。
残差ブロックを表す変換ブロックの変換係数の量子化インデックスのコンテキスト適応型バイナリ算術コード化、および現在の変換係数を量子化するための量子化器が前の量子化インデックスの量子化インデックスのパリティに依存する、量子化インデックスを取得するための変換係数の順次量子化を用いて、残差ブロックの予測残差データをデータストリーム内にエンコードすること
によって行われる、
実施形態1~16のうちのいずれか、または実施形態33~49のうちのいずれか、または実施形態17~27のうちのいずれか、または実施形態50~61のうちのいずれかに記載の装置。
78.実施形態30、または実施形態64の方法を用いて生成されたデータストリーム。
79.コンピュータまたは信号プロセッサ上で実行されたときに、実施形態28、または実施形態29、または実施形態62から64のうちのいずれかの方法を実施するためのコンピュータプログラム。
実施態様の代替例
いくつかの態様が装置の文脈における特徴として説明されているが、そのような説明が方法の対応する特徴の説明とみなされてもよいことは明らかである。いくつかの態様は、方法の文脈における特徴として説明されているが、そのような説明は、装置の機能に関する対応する特徴の説明ともみなされ得ることは明らかである。特に、装置の機能を示すブロック図はまた、方法のステップとしてブロック図のブロックによって記述された機能を含むそれぞれの方法の説明として理解され得る。
いくつかの態様が装置の文脈における特徴として説明されているが、そのような説明が方法の対応する特徴の説明とみなされてもよいことは明らかである。いくつかの態様は、方法の文脈における特徴として説明されているが、そのような説明は、装置の機能に関する対応する特徴の説明ともみなされ得ることは明らかである。特に、装置の機能を示すブロック図はまた、方法のステップとしてブロック図のブロックによって記述された機能を含むそれぞれの方法の説明として理解され得る。
本発明の実施形態によって提供されるデータ信号またはデータストリーム(例えば、メディアデータストリーム、ビデオデータストリーム、オーディオデータストリーム)は、デジタル記憶媒体、例えば非一時的または一時的デジタル記憶媒体に記憶することができ、または無線伝送媒体または有線伝送媒体などの伝送媒体上で伝送することができる。換言すれば、さらなる実施形態は、コンピュータ製品、例えばデータストリーム製品またはビットストリーム製品、例えば非一時的デジタル記憶媒体を提供し、コンピュータ製品は、例えば記憶されている、本明細書に記載の実施形態のいずれかによるデータ信号またはデータストリームを含む。
さらなる実施形態は、データを記憶するための方法を提供し、方法は、データストリームをデジタル記憶媒体、例えば非一時的デジタル記憶媒体に記憶するステップを含み、データストリームはデータを搬送する。例えば、データストリームは、本明細書に記載の実施形態のいずれかによるものである。例えば、は、本明細書に記載の符号化方法のいずれかに従ってデータをエンコードする。
さらなる実施形態は、本明細書に記載の実施形態のいずれかのデータストリームを送信するための方法を提供する。
信号を受信または処理するための装置(例えば、受信機、デコーダ)に関して説明された特徴は、信号を提供するための装置(例えば、エンコーダ)およびその逆のそれぞれの特徴の説明として、それぞれの信号、例えばデータストリームの特徴として機能すると理解されるべきである。特に、当業者は、受信機によって受信されるか、または受信機によって信号から導出される任意の情報、例えばデータ型、構造、項目が、対応するプロバイダによって信号に挿入され、その逆も同様であることを理解するであろう。
方法ステップのうちのいくつかまたはすべては、例えばマイクロプロセッサ、プログラマブルコンピュータ、または電子回路などのハードウェア装置によって(または使用して)実行されてもよい。いくつかの実施形態では、1つ以上の方法ステップは、そのような装置によって実行されてもよい。
特定の実装要件に応じて、本発明の実施形態は、ハードウェアもしくはソフトウェアで、または少なくとも部分的にハードウェアで、または少なくとも部分的にソフトウェアで実装することができる。実装は、電子的に読み出し可能な制御信号が格納されたデジタル記憶媒体、例えばフロッピーディスク、DVD、Blu-Ray、CD、ROM、PROM、EPROM、EEPROMまたはフラッシュメモリを使用して実行することができ、これらはそれぞれの方法が実行されるようにプログラム可能なコンピュータシステムと協働する(または協働することができる)。したがって、デジタル記憶媒体はコンピュータ可読であってもよい。
本発明によるいくつかの実施形態は、本明細書に記載の方法のうちの1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる電子的に読み出し可能な制御信号を有するデータキャリアを含む。
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに方法のうちの1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリアに記憶され得る。
他の実施形態は、機械可読キャリアに格納された、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを含む。
換言すれば、したがって、本発明の方法の一実施形態は、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書に記載の方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
一般に、本発明の実施形態は、プログラムコードを有するコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータ上で実行されるときに方法のうちの1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリアに記憶され得る。
他の実施形態は、機械可読キャリアに格納された、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを含む。
換言すれば、したがって、本発明の方法の一実施形態は、コンピュータプログラムがコンピュータ上で実行されるときに、本明細書に記載の方法のうちの1つを実行するためのプログラムコードを有するコンピュータプログラムである。
したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを記録して含むデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録媒体は、通常、有形および/または非一時的である。
したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成され得る。
さらなる実施形態は、本明細書に記載の方法のうちの1つを実行するように構成または適合された処理手段、例えばコンピュータまたはプログラマブル論理デバイスを含む。
さらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。
したがって、本発明の方法のさらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを表すデータストリームまたは信号のシーケンスである。データストリームまたは信号のシーケンスは、例えば、データ通信接続を介して、例えばインターネットを介して転送されるように構成され得る。
さらなる実施形態は、本明細書に記載の方法のうちの1つを実行するように構成または適合された処理手段、例えばコンピュータまたはプログラマブル論理デバイスを含む。
さらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムがインストールされたコンピュータを含む。
本発明によるさらなる実施形態は、本明細書に記載の方法のうちの1つを実行するためのコンピュータプログラムを受信機に転送する(例えば、電子的または光学的に)ように構成された装置またはシステムを備える。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであってもよい。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを備え得る。
いくつかの実施形態では、プログラマブル論理デバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載の方法の機能のうちのいくつかまたはすべてが実行され得る。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書に記載の方法のうちの1つを実行するためにマイクロプロセッサと協働し得る。一般に、方法は、任意のハードウェア装置によって実行されることが好ましい。
本明細書に記載の装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータとの組合せを使用して実装され得る。
本明細書に記載の方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータとの組合せを使用して実行され得る。
本明細書に記載の装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータとの組合せを使用して実装され得る。
本明細書に記載の方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータとの組合せを使用して実行され得る。
上記の詳細な説明では、本開示を簡素化する目的で、様々な特徴が例において一緒にグループ化されていることが分かる。この開示の方法は、特許請求される例が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映すると解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、主題は、単一の開示された例のすべての特徴よりも少ない特徴にあり得る。したがって、以下の特許請求の範囲は詳細な説明に組み込まれ、各請求項は別個の例として独立していてもよい。各請求項は別個の例として独立していてもよいが、従属請求項は請求項において1つ以上の他の請求項との特定の組合せを指すことができるが、他の例はまた、従属請求項と他の従属請求項の主題との組合せ、または各特徴と他の従属または独立請求項との組合せを含むことができることに留意されたい。そのような組合せは、特定の組合せが意図されていないと述べられていない限り、本明細書において提案される。さらに、この請求項が独立請求項に直接従属させられていなくても、他の任意の独立請求項に請求項の特徴を含めることも意図されている。
上述の実施形態は、本開示の原理の単なる例示である。本明細書に記載の構成および詳細の修正および変形は、当業者には明らかであることが理解される。したがって、本明細書の実施形態の説明および説明として提示される特定の詳細によってではなく、係属中の特許請求の範囲によってのみ限定されることが意図されている。
Claims (52)
- オーディオデータストリームをデコードするための装置(20)であって、前記オーディオデータストリームが、セグメント(17)の時間的シーケンスを含み、前記装置が、セグメントのシーケンスの前記セグメントについて、
前記セグメントの所定の部分(13)を決定すること(30)と、
オーディオデータストリームから、指示(61)を導出すること(21)であって、指示が、
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する、導出すること(21)と、
前記オーディオデータストリームから、前記所定の部分(13)に基づいてかつ前記指示(61)に基づいて取得された検証文字列(48)に対してチェックされるためのデジタル署名(43)を導出すること(21)と、
を行うように構成されている、装置(20)。 - 前記装置が、前記検証文字列(48)が前記デジタル署名(43)に適合するかどうかをチェックすることによって前記所定の部分(13)を検証するように構成されている、請求項1に記載の装置。
- 前記装置が、前記所定の部分(13)、前記指示(61)、および前記所定の部分(13)の検証のためのデジタル署名(43)を提供するように構成されている、請求項1または請求項2に記載の装置。
- 前記所定の部分(13)が、ハッシュ関数にかけられてハッシュ値が取得されるべきであり、前記検証文字列(48)が、前記ハッシュ値に基づいて取得される、請求項1から3のうちのいずれかに記載の装置。
- 前記所定の部分(13)および前記指示が、ハッシュ関数にかけられてハッシュ値が取得されるべきであり、前記検証文字列(48)が、前記ハッシュ値に基づいて取得される、請求項1から4のうちのいずれかに記載の装置。
- 前記検証文字列(48)が前記デジタル署名(43)に適合するかどうかをチェックすることが、前記デジタル署名(43)を解読してチェック値を取得することと、
前記検証文字列(48)が前記チェック値と一致するかどうかをチェックすることと、
を含む、請求項1または5に記載の装置。 - 前記セグメントに関連付けられた補足情報メッセージから前記指示を導出するように構成されている、請求項1から6のうちのいずれかに記載の装置。
- 前記補足情報メッセージが、前記ハッシュ関数および/またはデジタル署名(43)を解読するための証明書を示す、請求項7に記載の装置。
- 前記デジタル署名(43)を示す補足情報メッセージから前記指示を導出するように構成されている、請求項1から6のうちのいずれかにに記載の装置。
- 前記オーディオデータストリームから、前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの前記最初のセグメントであるかどうかを指示する前記指示を導出するように構成されており、前記装置が、
前記セグメントが前記署名されたサブシーケンスの前記最初のセグメントである場合に、前記時間的シーケンスにおいて前記セグメントに先行する部分である前記オーディオデータストリームの任意の部分とは無関係の前記検証文字列(48)を形成するように構成されている、
請求項1から9のうちのいずれかに記載の装置。 - 前記セグメントが前記署名されたサブシーケンスの前記最初のセグメントではない場合に、前記セグメントの先行するセグメントに対して取得された前のハッシュ値にさらに基づいて前記検証文字列(48)を形成するように構成されている、
請求項10に記載の装置。 - オーディオデータストリームをエンコードするための装置(10)であって、前記装置が、前記オーディオデータストリームを信頼性に関してチェック可能にすることと、前記オーディオデータストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を行うように構成されており、前記装置が、前記セグメントの前記時間的シーケンスのセグメントを、
前記セグメントの所定の部分(13)をハッシュ関数にかけてハッシュ値を取得すること、
前記オーディオデータストリーム内に、
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示(61)を挿入すること(23)、
前記ハッシュ値に基づいて、かつ指示に基づいて検証文字列(48)を形成すること、
検証文字列(48)に基づいてデジタル署名(43)を取得すること
によって信頼性に関してチェック可能にするように構成されている、装置(10)。 - 前記デジタル署名(43)を取得する際に、前記検証文字列(48)に署名するように構成されている、請求項12に記載の装置。
- 前記セグメントに関連付けられた補足情報メッセージ内に前記指示を挿入するように構成されている、請求項12または請求項13に記載の装置。
- 前記補足情報メッセージが、前記ハッシュ関数および/または前記デジタル署名(43)を解読するための証明書を示す、請求項14に記載の装置。
- 前記指示および前記デジタル署名(43)を補足情報メッセージ内に挿入するように構成されている、請求項12または13に記載の装置。
- 前記オーディオデータストリーム内に、前記セグメントが前記時間的シーケンスの前記署名されたサブシーケンスの前記最初のセグメントであるかどうかを指示する前記指示を挿入するように構成されており、前記装置が、
前記セグメントが前記署名されたサブシーケンスの前記最初のセグメントである場合に、前記時間的シーケンスにおいて前記セグメントに先行する部分である前記オーディオデータストリームの任意の部分とは無関係の前記検証文字列(48)を形成するように構成されている、
請求項12から16のうちのいずれかに記載の装置。 - 前記セグメントが前記署名されたサブシーケンスの前記最初のセグメントではない場合に、前記セグメントの前記先行するセグメントに対して取得された前のハッシュ値にさらに基づいて前記検証文字列(48)を導出するように構成されている、
請求項17に記載の装置。 - オーディオデータストリームをデコードするための方法であって、前記オーディオデータストリームがセグメント(17)の時間的シーケンスを含み、前記方法が、セグメントの前記時間的シーケンスのセグメントについて、
前記セグメントの所定の部分(13)を決定すること(30)と、
前記オーディオデータストリームから、指示(61)を導出すること(21)であって、前記指示が、
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する、導出すること(21)と、
前記オーディオデータストリームから、前記所定の部分(13)に基づいてかつ前記指示(61)に基づいて取得された検証文字列(48)に対してチェックされるためのデジタル署名(43)を導出すること(21)と、
を含む、方法。 - オーディオデータストリームをエンコードするための方法であって、前記方法が、前記オーディオデータストリームを信頼性に関してチェック可能にすることと、前記オーディオデータストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を含み、前記方法が、セグメントのシーケンスのセグメントを、
前記セグメントの所定の部分(13)をハッシュ関数にかけてハッシュ値を取得すること、
前記オーディオデータストリーム内に、
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示を挿入すること、
前記ハッシュ値に基づいて、かつ前記指示に基づいて検証文字列(48)を形成すること、
前記検証文字列(48)に基づいてデジタル署名(43)を取得すること
によって信頼性に関してチェック可能にすることを含む、方法。 - オーディオデータストリームであって、前記オーディオデータストリームが、信頼性に関してチェック可能であり、前記オーディオデータストリームが、
セグメントの時間的シーケンス、
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最初のセグメントであるかどうか、または
前記セグメントが前記時間的シーケンスの署名されたサブシーケンスの最後のセグメントであるかどうか
を指示する指示
を含む、オーディオデータストリーム。 - オーディオデータストリーム(14)をデコードするための装置(20)であって、オーディオデータストリームがセグメント(17)の時間的シーケンスを含み、装置が、
オーディオデータストリームから、セグメントのシーケンスのセグメント(17*)について、セグメントの時間的シーケンス内の検証チェーンがセグメントにおいて中断されたかどうかを導出すること(21)と、
オーディオデータストリームが検証チェーンが中断されたことを指示する場合、およびオーディオデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名(43)を含む場合、オーディオデータストリームから、時間的シーケンスにおいてセグメント(17*)の直前にある先行するセグメントとは無関係の検証文字列(48)に対してチェックされるためのデジタル署名(43)を導出すること(21)と、
を行うように構成されている、装置(20)。 - 前記装置が、前記検証文字列(48)が前記デジタル署名(43)に適合するかどうかをチェックすることによって前記セグメントを検証するように構成されている、請求項22に記載の装置。
- 前記装置が、前記セグメントの所定の部分(13)と、前記セグメントの検証のための前記デジタル署名(43)と、を提供するように構成されている、請求項22または請求項23に記載の装置。
- 前記オーディオデータストリームから、前記セグメントについて、前記検証チェーンが前記セグメントで中断されたかどうかを指示する指示を導出するように構成されている、請求項22または24に記載の装置。
- 前記セグメントが信頼性に関してチェック可能であるかどうかをチェックすることと、前記セグメントが信頼性に関してチェック可能ではない場合に、前記検証チェーンが前記セグメントで中断されていると仮定することと、を行うように構成されている、請求項22から25のうちのいずれかに記載の装置。
- 前記検証文字列(48)が前記デジタル署名(43)に適合するかどうかをチェックすることが、
前記デジタル署名(43)を解読してチェック値を取得することと、
前記検証文字列(48)が前記チェック値と一致するかどうかをチェックすることと、
を含む、請求項23または24に記載の装置。 - 前記検証文字列(48)を形成することが、前記セグメントの所定の部分(13)をハッシュ関数にかけてハッシュ値を取得することと、前記ハッシュ値に基づいて前記検証文字列(48)を形成することと、を含む、請求項22から27のうちのいずれかに記載の装置。
- 前記検証文字列(48)を形成することが、前記オーディオデータストリームが前記検証チェーンの中断を指示しない場合、および前記オーディオデータストリームが前記セグメントのデジタル署名(43)を含む場合、前のハッシュ値を使用して前記検証文字列(48)を導出することを含み、前記前のハッシュ値が、前記先行するセグメントの部分をハッシュ関数にかけることによって取得される、
請求項22から28のうちのいずれかに記載の装置。 - 前記検証文字列(48)を形成することが、前記オーディオデータストリームが、前記検証チェーンが中断されたことを指示する場合、および前記オーディオデータストリームが前記セグメントのデジタル署名(43)を含む場合に、前記時間的シーケンスにおいて前記セグメントに先行するセグメントのうちのいずれとも無関係の前記検証文字列(48)を形成することを含む、請求項22から29のうちのいずれかに記載の装置。
- 前記セグメントを信頼性に関してチェックすることが、前記オーディオデータストリームが、前記検証チェーンが中断されたことを指示する場合、および前記オーディオデータストリームがセグメントのデジタル署名(43)を含む場合に、
前記セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックすることと、
前記セグメントがさらなる検証チェーンの最初のセグメントである場合に、前記時間的シーケンスにおいて前記セグメントに先行するセグメントのうちのいずれとも無関係の前記検証文字列(48)を形成することと、
を含む、請求項22から30のうちのいずれかに記載の装置。 - 前記セグメントを信頼性に関してチェックすることが、前記セグメントがさらなる検証チェーンの前記最初のセグメントではない場合に、
さらなる前のハッシュ値を使用して前記検証文字列(48)を形成することを含み、前記さらなる前のハッシュ値が、前記時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
請求項31に記載の装置。 - 前記セグメントを信頼性に関してチェックすることが、前記オーディオデータストリームが前記検証チェーンが中断されたことを指示する場合、および前記オーディオデータストリームが前奇異セグメントのデジタル署名(43)を含む場合に、
前記セグメントがさらなる検証チェーンの最初のセグメントであるかどうかをチェックすることと、
前記セグメントがさらなる検証チェーンの最初のセグメントではない場合に、さらなる前のハッシュ値を使用して前記検証文字列(48)を形成することであって、前記さらなる前のハッシュ値が、前記時間的シーケンスのさらに先行するセグメントの部分をハッシュ関数にかけることによって取得される、形成することと、
を含む、請求項22から32のうちのいずれかに記載の装置。 - 前記セグメントがさらなる検証チェーンの前記最初のセグメントであるかどうかをチェックする際に、
前記オーディオデータストリームから、前記セグメントが検証チェーンの前記最初のセグメントであるかどうかを指示する指示を導出するように構成されている、
請求項32または33に記載の装置。 - 前記セグメントがさらなる検証チェーンの前記最初のセグメントであるかどうかをチェックする際に、
前記オーディオデータストリームから前記セグメントの検証情報を導出すること、および前記検証情報を、前記時間的シーケンスのさらなる先行するセグメントについての先行する検証情報と比較すること、
前記検証情報が前記先行する検証情報と一致する場合に、前記セグメントがさらなる検証チェーンの前記最初のセグメントではないと推論すること、
前記検証情報が前記先行する検証情報と一致しない場合に、前記セグメントがさらなる検証チェーンの前記最初のセグメントであると推論すること
を行うように構成されている、請求項32または33に記載の装置。 - 前記検証情報が、
前記デジタル署名(43)を解読するための証明書の指示、
ハッシュ関数の指示、
前記セグメントのコンテンツの識別子
のうちの1つ以上を含む、請求項34に記載の装置。 - 前記セグメントを信頼性に関してチェックすることが、前記指示が、検証チェーンが中断されたことを指示する場合、および
前記オーディオデータストリームが前記セグメントについてのデジタル署名(43)を含まない場合、または
前記セグメントがさらなる検証チェーンの前記最初のセグメントである場合、
前のハッシュ値を記憶することであって、前記前のハッシュ値が、前記先行するセグメントの部分を前記時間的シーケンスの後続のセグメントを検証するためのハッシュ関数にさらすことによって取得される、記憶することを含む、
請求項22から36のうちのいずれかに記載の装置。 - オーディオデータストリーム(14)をエンコードするための装置(10)であって、前記装置が、前記オーディオデータストリームを信頼性に関してチェック可能にすることと、前記オーディオデータストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を行うように構成されており、前記装置が、
前記セグメントの前記時間的シーケンス内の検証チェーンが前記セグメントで中断された場合、および前記セグメントが信頼性に関してチェック可能にされるべきである場合に、
前記時間的シーケンスにおいて前記セグメントの直前にある先行するセグメントとは無関係の検証文字列(48)を形成すること、および
前記検証文字列(48)に基づいてデジタル署名(43)を取得すること、および
前記デジタル署名(43)を前記オーディオデータストリーム内に挿入すること
を行うように構成されている、装置(10)。 - 前記オーディオデータストリーム内に、前記セグメントの前記時間的シーケンス内の検証チェーンが前記セグメントで中断されたかどうかを指示する指示を挿入するように構成されている、請求項38に記載の装置。
- 前記セグメントが信頼性に関してチェック可能にされるべきではない場合に、前記検証チェーンがセグメントで中断されたかのように前記セグメントを処理するように構成されている、請求項38に記載の装置。
- 前記デジタル署名(43)を取得する際に、前記検証文字列(48)に署名するように構成されている、請求項38から40のうちのいずれかに記載の装置。
- 前記セグメントの所定の部分(13)をハッシュ関数にかけてハッシュ値を取得し、かつ前記ハッシュ値に基づいて前記検証文字列(48)を形成することにより、前記検証文字列(48)を形成するように構成されている、請求項38から41のうちのいずれかに記載の装置。
- 前記検証チェーンがセグメントで中断されていない場合、および前記セグメントが信頼性に関してチェック可能にされるべきである場合に、前のハッシュ値を使用して検証文字列(48)を形成することであって、前記前のハッシュ値が、前記先行するセグメントの部分をハッシュ関数にかけることによって取得される、請求項38から42のうちのいずれかに記載の装置。
- 前記検証チェーンが前記セグメントで中断された場合、および前記セグメントが信頼性に関してチェック可能にされるべきである場合に、前記時間的シーケンスにおいて前記セグメントに先行するセグメントのうちのいずれとも無関係の前記検証文字列(48)を形成するように構成されている、
請求項38から43のうちのいずれかに記載の装置。 - 前記検証チェーンが前記セグメントで中断された場合、および前記セグメントが信頼性に関してチェック可能にされるべきである場合に、
前記セグメントがさらなる検証チェーンの最初のセグメントである場合、前記時間的シーケンスにおいて前記セグメントに先行するセグメントのうちのいずれとも無関係に前記検証文字列(48)を形成するように構成されている、
請求項38から44のうちのいずれかに記載の装置。 - 前記セグメントがさらなる検証チェーンの前記最初のセグメントではない場合に、
さらなる前のハッシュ値を使用して前記検証文字列(48)を導出するように構成されており、前記さらなる前のハッシュ値が、前記時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
請求項45に記載の装置。 - 前記検証チェーンが前記セグメントで中断された場合、および前記セグメントが信頼性に関してチェック可能にされるべきである場合に、
前記セグメントがさらなる検証チェーンの前記最初のセグメントではない場合、さらなる前のハッシュ値を使用して検証文字列(48)を導出するように構成されており、前記さらなる前のハッシュ値が、前記時間的シーケンスのさらなる先行するセグメントの部分をハッシュ関数にかけることによって取得される、
請求項38から46のうちのいずれかに記載の装置。 - 前記オーディオデータストリーム内に、前記セグメントが検証チェーンの前記最初のセグメントであるかどうかを指示する指示を挿入するように構成されている、請求項46または47に記載の装置。
- 前記検証チェーンが前記セグメントで中断された場合、および
前記セグメントが信頼性に関してチェック可能にされるべきではない場合、または前記セグメントがさらなる検証チェーンの前記最初のセグメントである場合に、
前のハッシュ値を記憶するように構成されており、前記前のハッシュ値が、前記先行するセグメントの部分を、前記時間的シーケンスの後続のセグメントを検証するためのハッシュ関数にかけることによって取得される、
請求項38から48のうちのいずれかに記載の装置。 - オーディオデータストリーム(14)をデコードするための方法であって、前記オーディオデータストリームが、セグメント(17)の時間的シーケンスを含み、前記方法が、
前記オーディオデータストリームから、セグメントの前記時間的シーケンスのセグメント(17*)について、前記セグメントの前記時間的シーケンス内の検証チェーンが前記セグメントにおいて中断されたかどうかを導出すること(21)と、
前記オーディオデータストリームが、前記検証チェーンが中断されたことを指示する場合、および前記オーディオデータストリームが信頼性に関してセグメントをチェックするためのデジタル署名(43)を含む場合に、前記オーディオデータストリームから、前記時間的シーケンスにおいて前記セグメント(17*)の直前にある先行するセグメントとは無関係の検証文字列(48)に対してチェックされるための前記デジタル署名(43)を導出すること(21)と、
を含む、方法。 - オーディオデータストリーム(14)をエンコードするための方法であって、前記方法が、前記オーディオデータストリームを信頼性に関してチェック可能にすることと、前記オーディオデータストリーム内に、セグメントの時間的シーケンスをエンコードすることと、を含み、前記方法が、
セグメントの前記時間的シーケンス内の検証チェーンが前記セグメントで中断された場合、および前記セグメントが信頼性に関してチェック可能にされるべきである場合に、
前記時間的シーケンスにおいて前記セグメントの直前にある先行するセグメントとは無関係の検証文字列(48)を形成すること、および
前記検証文字列(48)に基づいてデジタル署名(43)を取得すること、および
前記デジタル署名(43)を前記オーディオデータストリーム内に挿入すること
を含む、方法。 - 請求項51の方法を用いて生成されたオーディオデータストリーム(14)。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24208515.7 | 2024-10-23 | ||
| EP24208515 | 2024-10-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2026086355A true JP2026086355A (ja) | 2026-05-26 |
| JP2026086355A5 JP2026086355A5 (ja) | 2026-06-02 |
Family
ID=93284549
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025177973A Pending JP2026086355A (ja) | 2024-10-23 | 2025-10-22 | データストリームの認証における検証チェーンの取扱い |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US12689523B2 (ja) |
| EP (1) | EP4734532A1 (ja) |
| JP (1) | JP2026086355A (ja) |
| KR (1) | KR20260059503A (ja) |
| CN (1) | CN121923823A (ja) |
| AU (1) | AU2025256103A1 (ja) |
| CA (1) | CA3289990A1 (ja) |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6959384B1 (en) * | 1999-12-14 | 2005-10-25 | Intertrust Technologies Corporation | Systems and methods for authenticating and protecting the integrity of data streams and other data |
| US7313687B2 (en) | 2003-01-10 | 2007-12-25 | Microsoft Corporation | Establishing a secure context at an electronic communications end-point |
| JP4809766B2 (ja) * | 2003-08-15 | 2011-11-09 | 株式会社エヌ・ティ・ティ・ドコモ | 損失を適応制御したデータストリームの認証方法及び装置 |
| KR101209252B1 (ko) | 2007-02-02 | 2012-12-06 | 삼성전자주식회사 | 전자기기의 부팅 방법 및 부팅 인증 방법 |
| AU2008290860B2 (en) | 2007-08-17 | 2013-02-21 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Device and method for a backup of rights objects |
| TWI501580B (zh) | 2009-08-07 | 2015-09-21 | Dolby Int Ab | 資料串流的鑑別 |
| EP3709646A1 (en) | 2010-04-13 | 2020-09-16 | GE Video Compression, LLC | Coding of significance maps and transform coefficient blocks |
| KR102659283B1 (ko) | 2012-06-29 | 2024-04-22 | 지이 비디오 컴프레션, 엘엘씨 | 비디오 데이터 스트림 개념 |
| US9148707B2 (en) | 2012-07-13 | 2015-09-29 | Lodgenet Interactive Corporation | System and method to provide out-of-band broadcast trigger synchronization and communication to insertion devices |
| US10574718B2 (en) | 2016-08-25 | 2020-02-25 | Comcast Cable Communications, Llc | Packaging content for delivery |
| CN107871063A (zh) | 2017-11-16 | 2018-04-03 | 王磊 | 防篡改的录音录像数字签名方法、装置及存储介质 |
| US11868509B2 (en) | 2017-11-17 | 2024-01-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for detecting digital content tampering |
| US11451840B2 (en) | 2018-06-18 | 2022-09-20 | Qualcomm Incorporated | Trellis coded quantization coefficient coding |
| EP3737109B1 (en) | 2019-05-08 | 2024-03-20 | Getac Holdings Corporation | Verification code generation method, data verification method and electronic device |
| US12069308B2 (en) | 2019-05-16 | 2024-08-20 | Nokia Technologies Oy | Apparatus, a method and a computer program for handling random access pictures in video coding |
| CN121792733A (zh) | 2019-12-20 | 2026-04-03 | 弗劳恩霍夫应用研究促进协会 | 支持变换系数级别的适应性相依量化的解/编码器及方法 |
| WO2021183645A1 (en) * | 2020-03-11 | 2021-09-16 | Bytedance Inc. | Indication of digital media integrity |
| WO2021187375A1 (en) | 2020-03-18 | 2021-09-23 | Sharp Kabushiki Kaisha | Systems and methods for applying deblocking filters in video coding |
| US12377928B2 (en) | 2020-05-28 | 2025-08-05 | Honda Motor Co., Ltd. | Saddle-ride type vehicle with microphone located on operation-portion support portion |
| EP4208801B1 (en) * | 2020-09-01 | 2025-11-05 | Nagravision Sàrl | Media authentication |
| US20220321918A1 (en) | 2021-04-02 | 2022-10-06 | Qualcomm Incorporated | Picture orientation and quality metrics supplemental enhancement information message for video coding |
| TWI806577B (zh) * | 2022-04-28 | 2023-06-21 | 瑞昱半導體股份有限公司 | 數位簽章方法及數位簽章的驗證方法 |
| EP4407981B1 (en) | 2023-01-30 | 2025-04-16 | Axis AB | A transmitter, a receiver and methods therein for validation of a video sequence |
| US12244875B2 (en) * | 2023-03-15 | 2025-03-04 | Microsoft Technology Licensing, Llc | Asserting and establishing provenance of media content during live streaming |
| EP4436103A1 (en) * | 2023-03-23 | 2024-09-25 | Axis AB | Method and device for providing a signed audio bitstream with variable granularity |
| US12567983B2 (en) * | 2023-12-19 | 2026-03-03 | Nxp B.V. | Verification of authenticity of a data source |
-
2025
- 2025-10-22 CA CA3289990A patent/CA3289990A1/en active Pending
- 2025-10-22 JP JP2025177973A patent/JP2026086355A/ja active Pending
- 2025-10-22 AU AU2025256103A patent/AU2025256103A1/en active Pending
- 2025-10-22 EP EP25210445.0A patent/EP4734532A1/en active Pending
- 2025-10-23 CN CN202511524253.3A patent/CN121923823A/zh active Pending
- 2025-10-23 KR KR1020250154283A patent/KR20260059503A/ko active Pending
- 2025-10-23 US US19/367,617 patent/US12689523B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US12689523B2 (en) | 2026-07-21 |
| US20260113202A1 (en) | 2026-04-23 |
| EP4734532A1 (en) | 2026-04-29 |
| CN121923823A (zh) | 2026-04-24 |
| CA3289990A1 (en) | 2026-05-13 |
| KR20260059503A (ko) | 2026-04-30 |
| AU2025256103A1 (en) | 2026-05-07 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20260422 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20260422 |