JP7460760B2 - サブピクチャベースビデオコーディングにおいてサブピクチャidをシグナリングする - Google Patents

サブピクチャベースビデオコーディングにおいてサブピクチャidをシグナリングする Download PDF

Info

Publication number
JP7460760B2
JP7460760B2 JP2022517248A JP2022517248A JP7460760B2 JP 7460760 B2 JP7460760 B2 JP 7460760B2 JP 2022517248 A JP2022517248 A JP 2022517248A JP 2022517248 A JP2022517248 A JP 2022517248A JP 7460760 B2 JP7460760 B2 JP 7460760B2
Authority
JP
Japan
Prior art keywords
picture
flag
pps
sps
value
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.)
Active
Application number
JP2022517248A
Other languages
English (en)
Other versions
JP2022548663A (ja
Inventor
イェ-クイ・ワン
Original Assignee
ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ホアウェイ・テクノロジーズ・カンパニー・リミテッド filed Critical ホアウェイ・テクノロジーズ・カンパニー・リミテッド
Publication of JP2022548663A publication Critical patent/JP2022548663A/ja
Application granted granted Critical
Publication of JP7460760B2 publication Critical patent/JP7460760B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data

Description

関連出願への相互参照
この特許出願は、Ye-Kui Wangによって2019年9月17日に出願された、発明の名称を「Signaling Subpicture IDs in Subpicture Based Video Coding」とする米国仮特許出願第62/901,552号の利益を主張し、これは参照によりここに組み込まれる。
本開示は、一般に、ビデオコーディングに関し、詳細には、サブピクチャベースビデオコーディングにおけるサブピクチャ識別子(ID)のシグナリングに関する。
比較的短いビデオでさえ描写するために必要とされるビデオデータの量はかなりであることがあり、これは、限られた帯域幅容量を有する通信ネットワークにわたって、データがストリーミングされ、またはそうでなければ伝達されるべきであるとき、困難をもたらし得る。従って、ビデオデータは一般に、現代の電気通信ネットワークにわたって伝達される前に圧縮される。メモリリソースは限られ得るので、ビデオが記憶デバイスに記憶されるとき、ビデオのサイズも問題であり得る。ビデオ圧縮デバイスはしばしば、ソースにおけるソフトウェアおよび/またはハードウェアを使用して、送信または記憶の前にビデオデータをコーディングし、それにより、デジタルビデオ画像を表現するために必要とされるデータの量を減らす。圧縮されたデータは次いで、ビデオデータをデコードするビデオ圧縮解除デバイスによってデスティネーションにおいて受信される。限られたネットワークリソース、およびより高いビデオ品質のいっそう増加する要求により、画像品質においてほとんどまたはまったく犠牲なく圧縮比を改善する、改善された圧縮および圧縮解除技法が望ましい。
第1の態様は、シーケンスパラメータセット(sequence parameter set(SPS))、ピクチャパラメータセット(picture parameter set(PPS))、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビットストリームを、デコーダによって受信するステップであって、SPSがSPSフラグを含む、ステップと、SPSフラグが第1の値を有するか、または第2の値を有するかをデコーダによって決定するステップであって、第1の値を有するSPSフラグが、サブピクチャIDマッピングがSPS内でシグナリングされることを指定し、第2の値を有するSPSフラグが、サブピクチャIDマッピングがPPS内でシグナリングされることを指定する、ステップと、SPSフラグが第1の値を有するときにはSPSから、SPSフラグが第2の値を有するときにはPPSから、サブピクチャIDマッピングをデコーダによって取得するステップと、サブピクチャIDマッピングを使用して複数のサブピクチャをデコーダによってデコードするステップとを備える、デコーダによって実行される方法に関する。
方法は、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(coded video sequence(CVS))内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法を提供する。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、PPSがPPSフラグを含み、方法が、PPSフラグが第1の値を有するか、または第2の値を有するかをデコーダによって決定するステップであって、第1の値を有するPPSフラグが、サブピクチャIDマッピングがPPS内でシグナリングされることを指定し、第2の値を有するPPSフラグが、サブピクチャIDマッピングがPPS内でシグナリングされないことを指定する、ステップと、PPSフラグが第1の値を有するときにはPPSからサブピクチャIDマッピングをデコーダによって取得するステップとをさらに備えることを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、PPSフラグが第2の値を有するときにはSPSフラグが第1の値を有し、PPSフラグが第1の値を有するときにはSPSフラグが第2の値を有することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、第1の値が1であり、第2の値が0であることを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、SPSが第2のSPSフラグを含み、第2のSPSフラグが、サブピクチャIDマッピングがSPSまたはPPS内で明示的にシグナリングされるかどうかを指定することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、CVS変更フラグが、サブピクチャIDマッピングがビットストリームのコーディングされたビデオシーケンス(CVS)内で変化することを許容されるかどうかを示すことを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームが、マージされたビットストリームを備え、サブピクチャIDマッピングがビットストリームのCVS内で変化したことを提供する。
第2の態様は、エンコーダによって実行される方法であって、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビットストリームを、デコーダによってエンコードするステップであって、SPSがSPSフラグを含む、ステップと、サブピクチャIDマッピングがSPS内でシグナリングされるときには第1の値に、サブピクチャIDマッピングがPPS内でシグナリングされるときには第2の値に、SPSフラグをデコーダによって設定するステップと、デコーダに向けた通信のためにビットストリームをデコーダによって記憶するステップとを備える方法に関する。
方法は、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(CVS)内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法を提供する。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、デコーダが、サブピクチャIDマッピングがPPS内でシグナリングされるときには第1の値に、サブピクチャIDマッピングがPPS内でシグナリングされないときには第2の値に、PPS内のPPSフラグを設定することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、PPSフラグが第2の値を有するときにはSPSフラグが第1の値を有し、PPSフラグが第1の値を有するときにはSPSフラグが第2の値を有することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、第1の値が1であり、第2の値が0であることを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、SPSが第2のSPSフラグを含み、第2のSPSフラグが、サブピクチャマッピングがSPSまたはPPS内で明示的にシグナリングされるかどうかを指定することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、CVS変更フラグが、サブピクチャIDマッピングがビットストリームのコーディングされたビデオシーケンス(CVS)内で変化し得るかどうかを示すことを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームが、マージされたビットストリームを備え、サブピクチャIDマッピングがビットストリームのCVS内で変化したことを提供する。
第3の態様は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビデオビットストリームを受信するように構成された受信機であって、SPSがSPSフラグを含む、受信機と、受信機に結合されたメモリであって、命令を記憶するメモリと、メモリに結合されたプロセッサとを備え、プロセッサは、命令を実行して、デコードデバイスに、SPSフラグが第1の値を有するか、または第2の値を有するかを決定することであって、第1の値を有するSPSフラグが、サブピクチャIDマッピングがSPS内でシグナリングされることを指定し、第2の値を有するSPSフラグが、サブピクチャIDマッピングがPPS内でシグナリングされることを指定する、前記決定することと、SPSフラグが第1の値を有するときにはSPSから、SPSフラグが第2の値を有するときにはPPSから、サブピクチャIDマッピングを取得することと、サブピクチャIDマッピングを使用して複数のサブピクチャをデコードすることとを行わせるように構成された、デコードデバイスに関する。
デコードデバイスは、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(CVS)内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法を提供する。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、PPSフラグが第2の値を有するときにはSPSフラグが第1の値を有し、PPSフラグが第1の値を有するときにはSPSフラグが第2の値を有し、第1の値が1であり、第2の値が0であることを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、SPSが第2のSPSフラグを含み、第2のSPSフラグが、サブピクチャマッピングがSPSまたはPPS内で明示的にシグナリングされるかどうかを指定することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、CVS変更フラグが、サブピクチャIDマッピングがビットストリームのコーディングされたビデオシーケンス(CVS)内で変化し得るかどうかを示すことを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームが、マージされたビットストリームを備え、サブピクチャIDマッピングがビットストリームのCVS内で変化したことを提供する。
第4の態様は、命令を含むメモリ、メモリに結合されたプロセッサであって、命令を実行して、エンコードデバイスに、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビットストリームをエンコードすることであって、SPSがSPSフラグを含む、前記エンコードすることと、サブピクチャIDマッピングがSPS内でシグナリングされるときには第1の値に、サブピクチャIDマッピングがPPS内でシグナリングされるときには第2の値に、SPSフラグを設定することと、サブピクチャIDマッピングがPPS内でシグナリングされるときには第1の値に、サブピクチャIDマッピングがPPS内でシグナリングされないときには第2の値に、PPS内のPPSフラグを設定することとを行わせるように構成されたプロセッサと、プロセッサに結合された送信機であって、ビデオデコーダに向けてビットストリームを送信するように構成された送信機とを備える、エンコードデバイスに関する。
エンコードデバイスは、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(CVS)内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法を提供する。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、PPSフラグが第2の値を有するときにはSPSフラグが第1の値を有し、PPSフラグが第1の値を有するときにはSPSフラグが第2の値を有することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、第1の値が1であり、第2の値が0であることを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、CVS変更フラグが、サブピクチャIDマッピングがビットストリームのコーディングされたビデオシーケンス(CVS)内で変化し得るかどうかを示すことを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、PPS IDが、使用中のPPSについての第2のPPS IDの値を指定し、第2のPPS IDが、シンタックス要素による参照のためのPPSを識別することを提供する。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、ビットストリームが、マージされたビットストリームを備え、サブピクチャIDマッピングがビットストリームのCVS内で変化したことを提供する。
第5の態様はコーディング装置に関する。コーディング装置は、エンコードすべきピクチャを受信するように、またはデコードすべきビットストリームを受信するように構成された受信機と、受信機に結合された送信機であって、ビットストリームをデコーダへ送信するように、またはデコードされた画像をディスプレイへ送信するように構成された送信機と、受信機または送信機のうちの少なくとも1つに結合されたメモリであって、命令を記憶するように構成されたメモリと、メモリに結合されたプロセッサであって、メモリに記憶された命令を実行して、ここで開示される方法のうちのいずれかを実行するように構成されたプロセッサとを含む。
コーディング装置は、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(CVS)内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法を提供する。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
任意選択で、前述の態様のいずれかにおいて、態様の別の実装は、デコードされたピクチャを表示するように構成されたディスプレイを提供する。
第6の態様はシステムに関する。システムは、エンコーダと、エンコーダと通信しているデコーダとを含み、エンコーダまたはデコーダは、ここで開示されるデコードデバイス、エンコードデバイス、またはコーディング装置を含む。
システムは、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(CVS)内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法を提供する。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
第7の態様はコーディングするための手段に関する。コーディングするための手段は、エンコードすべきピクチャを受信するように、またはデコードすべきビットストリームを受信するように構成された受信手段と、受信手段に結合された送信手段であって、ビットストリームをデコード手段へ送信するように、またはデコードされた画像を表示手段へ送信するように構成された送信手段と、受信手段または送信手段のうちの少なくとも1つに結合された記憶手段であって、命令を記憶するように構成された記憶手段と、記憶手段に結合された処理手段であって、記憶手段に記憶された命令を実行して、ここで開示される方法のうちのいずれかを実行するように構成された処理手段とを含む。
コーディングするための手段は、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(CVS)内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法を提供する。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
明確さの目的のために、前述の実施形態のいずれか1つが、本開示の範囲内で新しい実施形態を作り出すために、他の前述の実施形態のいずれか1つまたは複数と組み合わせられ得る。
これらおよび他の特徴は、添付の図面および請求項と併せて用いられる以下の詳細な説明からより明確に理解されるであろう。
この開示のより完全な理解のために、添付の図面および詳細な説明に関連して用いられる以下の簡単な説明への参照がここで行われ、同様の参照符号は同様の部分を表現する。
ビデオ信号をコーディングする一例の方法のフローチャートである。 ビデオコーディングのための一例のコーディングおよびデコード(コーデック)システムの概略図である。 一例のビデオエンコーダを例示する概略図である。 一例のビデオデコーダを例示する概略図である。 一例のビットストリームおよびそのビットストリームから抽出されるサブビットストリームを例示する概略図である。 異なるビットストリームからの複数の解像度のサブピクチャを仮想現実(VR)アプリケーションにおける使用のための単一のピクチャに組み合わせるための、エクストラクタトラックを作り出すための一例のメカニズムを例示する。 異なるビットストリームからの複数の解像度のサブピクチャを仮想現実(VR)アプリケーションにおける使用のための単一のピクチャに組み合わせるための、エクストラクタトラックを作り出すための一例のメカニズムを例示する。 異なるビットストリームからの複数の解像度のサブピクチャを仮想現実(VR)アプリケーションにおける使用のための単一のピクチャに組み合わせるための、エクストラクタトラックを作り出すための一例のメカニズムを例示する。 異なるビットストリームからの複数の解像度のサブピクチャを仮想現実(VR)アプリケーションにおける使用のための単一のピクチャに組み合わせるための、エクストラクタトラックを作り出すための一例のメカニズムを例示する。 異なるビットストリームからの複数の解像度のサブピクチャを仮想現実(VR)アプリケーションにおける使用のための単一のピクチャに組み合わせるための、エクストラクタトラックを作り出すための一例のメカニズムを例示する。 VRアプリケーションにおいて、見ている方位の変化に基づいてエクストラクタトラックを更新するための、一例のメカニズムを例示する。 VRアプリケーションにおいて、見ている方位の変化に基づいてエクストラクタトラックを更新するための、一例のメカニズムを例示する。 VRアプリケーションにおいて、見ている方位の変化に基づいてエクストラクタトラックを更新するための、一例のメカニズムを例示する。 VRアプリケーションにおいて、見ている方位の変化に基づいてエクストラクタトラックを更新するための、一例のメカニズムを例示する。 VRアプリケーションにおいて、見ている方位の変化に基づいてエクストラクタトラックを更新するための、一例のメカニズムを例示する。 コーディングされたビデオビットストリームをデコードする方法の一実施形態を示す図である。 コーディングされたビデオビットストリームをエンコードする方法の一実施形態を示す図である。 ビデオコーディングデバイスの概略図である。 コーディングするための手段の一実施形態の概略図である。
1つまたは複数の実施形態の例示的な実装が以下で提供されるが、開示されるシステムおよび/または方法は、現在知られているか、または存在しているかにかかわらず、任意の数の技法を使用して実装され得ることが始めに理解されるべきである。開示は、ここで例示され説明される例示の設計および実装を含む、以下で例示される例示的な実装、図、および技法に、いかなる場合も限定されるべきでなく、しかし、それらの等価物の完全な範囲とともに添付の請求項の範囲内で修正され得る。
以下の用語は、ここで反対のコンテキストで使用されるのでなければ以下のように定義される。具体的には、以下の定義は本開示に追加の明確さを提供することが意図される。しかし、用語は異なるコンテキストでは異なって説明され得る。したがって、以下の定義は、補足として考えられるべきであり、ここでそのような用語について提供される説明の任意の他の定義を限定するように考えられるべきでない。
ビットストリームは、エンコーダとデコーダの間での送信のために圧縮されるビデオデータを含むビットのシーケンスである。エンコーダは、エンコードプロセスを利用して、ビデオデータをビットストリームに圧縮するように構成されたデバイスである。デコーダは、デコードプロセスを利用して、表示のためにビットストリームからビデオデータを再構築するように構成されたデバイスである。ピクチャは、フレームまたはそのフィールドを作り出すルマサンプルのアレイおよび/またはクロマサンプルのアレイである。エンコードまたはデコードされているピクチャは、説明の明確さのために現在のピクチャと呼ばれることが可能である。参照ピクチャは、インター予測および/またはインターレイヤ予測に従って参照によって他のピクチャをコーディングするときに使用されることが可能である参照サンプルを含むピクチャである。参照ピクチャリストは、インター予測および/またはインターレイヤ予測のために使用される参照ピクチャのリストである。いくつかのビデオコーディングシステムは、参照ピクチャリスト1および参照ピクチャリスト0として表記されることが可能である2つの参照ピクチャリストを利用する。参照ピクチャリスト構造は、複数の参照ピクチャリストを含むアドレス指定可能なシンタックス構造である。インター予測は、現在のピクチャとは異なる参照ピクチャ内の示されたサンプルへの参照によって、現在のピクチャのサンプルをコーディングするメカニズムであり、参照ピクチャおよび現在のピクチャは同じレイヤ内にある。参照ピクチャリスト構造エントリは、参照ピクチャリストに関連付けられた参照ピクチャを示す参照ピクチャリスト構造内のアドレス指定可能な位置である。スライスヘッダは、スライス内で表現されるタイル内のすべてのビデオデータに関係するデータ要素を含むコーディングされたスライスの一部である。シーケンスパラメータセット(SPS)は、ピクチャのシーケンスに関連するデータを含むパラメータセットである。ピクチャパラメータセット(PPS)は、各ピクチャヘッダ内に見出されるシンタックス要素によって決定されるように、0個以上のコーディングされたピクチャ全体に適用されるシンタックス要素を含むシンタックス構造である。
フラグは、2つの可能な値、すなわち、0および1のうちの1つを取ることができる変数または単一ビットのシンタックス要素である。サブピクチャは、ピクチャ内の1つまたは複数のスライスの長方形領域である。サブピクチャ識別子(ID)は、サブピクチャを一意に識別する数字、文字、または他の指標である。サブピクチャID(タイル識別子としても知られる)は、サブピクチャインデックスを使用して特定のサブピクチャを識別するために使用され、これは、ここでサブピクチャIDマッピングと呼ばれ得る。言い換えれば、サブピクチャIDマッピングは、サブピクチャインデックスのリストとサブピクチャIDとの間の1対1マッピングを提供するテーブルである。すなわち、サブピクチャIDマッピングは、サブピクチャごとに別個のサブピクチャIDを提供する。
アクセスユニット(access unit(AU))は、(たとえば、ユーザへの表示のための)デコードされたピクチャバッファ(decoded picture buffer(DPB))からの出力に対して、同じ表示時間(たとえば、同じピクチャ順序カウント)に関連付けられた1つまたは複数のコーディングされたピクチャのセットである。アクセスユニットデリミタ(access unit delimiter(AUD))は、AUの開始またはAU間の境界を示すために使用されるインジケータまたはデータ構造である。デコードされたビデオシーケンスは、ユーザへの表示のための準備中にデコーダによって再構築されたピクチャのシーケンスである。
CVSは、コーディングされたビデオシーケンス開始(coded video sequence start(CVSS))AUと、それに続く、CVSS AUである任意の後続のAUまでの、しかしそれを含まない、すべての後続のAUを含む、CVSS AUでない0個以上のAUとを、デコード順序で含むアクセスユニット(AU)のシーケンスである。CVSS AUは、ビデオパラメータセット(video parameter set(VPS))によって指定されるレイヤごとに予測ユニット(prediction unit(PU))があり、かつ各PU内のコーディングされたピクチャがCLVSSピクチャであるAUである。一実施形態では、各ピクチャはAU内にある。PUは、指定された分類規則に従って互いに関連付けられるネットワーク抽象化レイヤ(Network Abstraction Layer(NAL))ユニットのセットであり、デコード順序で連続しており、厳密に1つのコーディングされたピクチャを含む。
以下の頭字語、すなわち、適応ループフィルタ(Adaptive Loop Filter(ALF))、コーディング・ツリー・ブロック(Coding Tree Block(CTB))、コーディング・ツリー・ユニット(Coding Tree Unit(CTU))、コーディング・ユニット(Coding Unit(CU))、コーディングされたビデオシーケンス(CVS)、デコードされたピクチャバッファ(DPB)、瞬時デコードリフレッシュ(Instantaneous Decoding Refresh(IDR))、イントラランダムアクセスポイント(Intra-Random Access Point(IRAP))、ジョイント・ビデオ・エキスパート・チーム(Joint Video Experts Team(JVET))、最下位ビット(LSB)、最上位ビット(MSB)、動き制約付きタイルセット(Motion-Constrained Tile Set(MCTS))、最大転送ユニット(MTU)、ネットワーク抽象化レイヤ(NAL)、ピクチャ順序カウント(Picture Order Count(POC))、ピクチャパラメータセット(PPS)、未処理バイトシーケンスペイロード(Raw Byte Sequence Payload(RBSP))、サンプル適応オフセット(Sample Adaptive Offset(SAO))、シーケンスパラメータセット(SPS)、時間的な動きベクトル予測(Temporal Motion Vector Prediction(TMVP))、多用途ビデオコーディング(Versatile Video Coding(VVC))、およびワーキングドラフト(Working Draft(WD))が、ここで使用される。
データの最小損失とともにビデオファイルのサイズを低減するために、多くのビデオ圧縮技法が利用されることが可能である。たとえば、ビデオ圧縮技法は、空間(たとえば、イントラピクチャ)予測および/または時間(たとえば、インターピクチャ)予測を実行して、ビデオシーケンスにおけるデータ冗長性を低減するまたは除去することを含むことができる。ブロックベースビデオコーディングのために、ビデオスライス(たとえば、ビデオピクチャまたはビデオピクチャの一部)がビデオブロックへと区分されてよく、これは、ツリーブロック、コーディング・ツリー・ブロック(CTB)、コーディング・ツリー・ユニット(CTU)、コーディング・ユニット(CU)、および/またはコーディング・ノードとも呼ばれ得る。ピクチャのイントラコーディングされた(I)スライス内のビデオブロックは、同じピクチャ内の近隣ブロック内の参照サンプルに関して空間予測を使用してコーディングされる。ピクチャのインターコーディングされた単方向予測(P)または双方向予測(B)スライス内のビデオブロックは、同じピクチャ内の近隣ブロック内の参照サンプルに関して空間予測、または他の参照ピクチャ内の参照サンプルに関して時間予測を利用することによってコーディングされ得る。ピクチャはフレームおよび/または画像と呼ばれることがあり、参照ピクチャは参照フレームおよび/または参照画像と呼ばれることがある。空間または時間予測は、画像ブロックを表現する予測ブロックをもたらす。残差データは、元の画像ブロックと予測ブロックとの間のピクセル差分を表現する。従って、インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指し示す動きベクトル、およびコーディングされたブロックと予測ブロックとの間の差を示す残差データに従ってエンコードされる。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従ってエンコードされる。さらなる圧縮のために、残差データはピクセル領域から変換領域に変換され得る。これらは、量子化され得る残差変換係数をもたらす。量子化された変換係数は最初に、2次元アレイに配置され得る。量子化された変換係数が、変換係数の1次元ベクトルを作成するために走査され得る。エントロピーコーディングは、よりいっそうの圧縮を達成するために適用され得る。そのようなビデオ圧縮技法は、以下でより詳細に論じられる。
エンコードされたビデオが正確にデコードされることが可能であることを保証するために、対応するビデオコーディング規格に従って、ビデオがエンコードおよびデコードされる。ビデオコーディング規格は、国際電気通信連合(ITU)標準化部門(ITU-T)H.261、国際標準化機構/国際電気標準会議(ISO/IEC)モーション・ピクチャ・エキスパート・グループ(MPEG)-1 Part 2、ITU-T H.262またはISO/IEC MPEG-2 Part 2、ITU-T H.263、ISO/IEC MPEG-4 Part 2、ITU-T H.264またはISO/IEC MPEG-4 Part 10としても知られるアドバンスト・ビデオ・コーディング(AVC)、およびITU-T H.265またはMPEG-H Part 2としても知られる高効率ビデオコーディング(HEVC)を含む。AVCは、スケーラブル・ビデオ・コーディング(SVC)、マルチビュー・ビデオ・コーディング(MVC)およびマルチビュー・ビデオ・コーディング・プラス・デプス(MVC+D)、ならびに3次元(3D)AVC(3D-AVC)のような拡張を含む。HEVCは、スケーラブルHEVC(SHVC)、マルチビューHEVC(MV-HEVC)、および3D HEVC(3D-HEVC)のような拡張を含む。
ITU-TおよびISO/IECのジョイント・ビデオ・エキスパート・チーム(JVET)によって開発されている、多用途ビデオコーディング(VVC)と名付けられた新たなビデオコーディング規格もある。VVC規格はいくつかのワーキングドラフトを有するが、特に、VVCの1つのワーキングドラフト(WD)、すなわち、B.Bross、J.Chen、およびS.Liu、「Versatile Video Coding (Draft 5)」、JVET-N1001-v3、第13回JVET会合、2019年3月27日(VVCドラフト5)が、ここで参照される。
HEVCは、4つの異なるピクチャ区分方式、すなわち、通常スライス、従属スライス、タイル、およびウェーブフロント並列処理(Wavefront Parallel Processing(WPP))を含み、それらは最大転送ユニット(MTU)サイズ整合、並列処理、および低減されたエンドツーエンド遅延のために適用され得る。
通常スライスはH.264/AVCにおけるのと類似である。各通常スライスは、それ自体のNALユニット内でカプセル化され、ピクチャ内予測(イントラサンプル予測、動き情報予測、コーディングモード予測)、およびスライス境界にわたるエントロピーコーディング依存性は、無効にされる。したがって、通常スライスは、(ループフィルタリング演算に起因する相互依存性が依然としてあり得るが)同じピクチャ内の他の通常スライスから独立して再構築されることが可能である。
通常スライスは、H.264/AVCにおいて、実質的に同一の形式で利用可能でもある並列化のために使用されることが可能である唯一のツールである。通常スライスベースの並列化は、(典型的には、ピクチャ内予測に起因するプロセッサ間またはコア間のデータ共有よりもはるかに重い、予測的にコーディングされたピクチャをデコードするときの、動き補償のためのプロセッサ間またはコア間のデータ共有を除いて)プロセッサ間またはコア間の通信をあまり要求しない。しかし、同じ理由で、通常スライスの使用は、スライスヘッダのビットコストに起因して、かつスライス境界にわたる予測の欠如に起因して、かなりのコーディングオーバーヘッドを招くことがある。さらに、通常スライスのピクチャ内独立性、および各通常スライスがそれ自体のNALユニット内でカプセル化されることに起因して、通常スライスは、また、(以下で述べる他のツールとは対照的に)ビットストリーム区分がMTUサイズ要件に整合するための主要なメカニズムとして働く。多くの場合、並列化の目標およびMTUサイズ整合の目標は、矛盾した要求をピクチャ内のスライスレイアウトに負わせる。この状況の現実化は、以下で述べる並列化ツールの開発に導いた。
従属スライスは短いスライスヘッダを有し、いかなるピクチャ内予測も破壊することなくツリーブロック境界におけるビットストリームの区分を可能にする。基本的に、従属スライスは、通常スライス全体のエンコードが終了する前に通常スライスの一部が外へ送られることを可能にすることによって、低減されたエンドツーエンド遅延を提供するために、複数のNALユニットへの通常スライスの断片化を提供する。
WPPでは、ピクチャは、コーディング・ツリー・ブロック(CTB)の単一の行に区分される。エントロピーデコードおよび予測は、他の区分内のCTBからのデータを使用することを許容される。CTB行の並列デコードを通じて並列処理が可能であり、対象のCTBがデコードされる前に、対象のCTBの上および右のCTBに関連するデータが利用可能であることを保証するために、CTB行のデコードの開始は2個のCTBだけ遅延される。(図式的に表現されるときウェーブフロントのように見える)このずらされた開始を使用して、ピクチャがCTB行を含むのと同数までのプロセッサ/コアを用いて並列化が可能である。ピクチャ内の隣接ツリーブロック行の間のピクチャ内予測が許容されるので、ピクチャ内予測を可能にするための要求されるプロセッサ間/コア間の通信は、かなりであり得る。WPP区分は、それが適用されないときと比較して追加のNALユニットの生成をもたらさず、したがって、WPPはMTUサイズ整合のためのツールではない。しかし、MTUサイズ整合が必要とされるならば、あるコーディングオーバーヘッドを伴って、通常スライスがWPPとともに使用されることが可能である。
タイルは、ピクチャをタイル列および行に区分する水平および垂直境界を定義する。CTBの走査順序は、ピクチャのタイルラスタ走査の順序で次のタイルの左上のCTBをデコードする前に、(タイルのCTBラスタ走査の順序で)タイル内で局所的となるように変更される。通常スライスと類似して、タイルは、エントロピーデコード依存性とともにピクチャ内予測依存性を破壊する。しかし、タイルは個々のNALユニットに含まれる必要はなく(この点についてはWPPと同じ)、したがって、タイルはMTUサイズ整合のために使用されることが可能でない。各タイルは、1つのプロセッサ/コアによって処理されることが可能であり、隣接タイルをデコードする処理ユニット間でのピクチャ内予測のために要求されるプロセッサ間/コア間の通信は、スライスが1つより多くのタイルに広がっている場合には共有されるスライスヘッダを伝達すること、および再構築されるサンプルおよびメタデータのループフィルタリング関連の共有に限定される。スライスに1つより多くのタイルまたはWPPセグメントが含まれるとき、スライス内の最初のエントリポイントバイトオフセット以外の、タイルまたはWPPセグメントごとのエントリポイントバイトオフセットが、スライスヘッダ内でシグナリングされる。
簡潔さのために、4つの異なるピクチャ区分方式の適用に対する制約が、HEVCにおいて指定された。所与のコーディングされたビデオシーケンスは、HEVCにおいて指定されるプロファイルの大部分についてタイルとウェーブフロントの両方を含むことができない。スライスおよびタイルごとに、次の条件、すなわち、1)スライス内のすべてのコーディングされたツリーブロックが同じタイルに属する、2)タイル内のすべてのコーディングされたツリーブロックが同じスライスに属する、のうちの一方または両方が満たされなければならない。最後に、ウェーブフロントセグメントは厳密に1つのCTB行を含み、WPPが使用中であるとき、スライスがCTB行内で開始するならば、同じCTB行内で終了しなければならない。
http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2.zipにおいて公に利用可能であるJCT-VC出力文書JCTVC-AC1005、J.Boyce、A.Ramasubramonian、R.Skupin、G.J.Sullivan、A.Tourapis、Y.-K.Wang(エディタ)、「HEVC Additional Supplemental Enhancement Information (Draft 4)」、2017年10月24日の中で、HEVCへの最近の改正が指定される。この改正が含まれて、HEVCは3つのMCTS関連の補足エンハンスメント情報(supplemental enhancement information(SEI))メッセージ、すなわち、時間的MCTS SEIメッセージ、MCTS抽出情報セットSEIメッセージ、およびMCTS抽出情報ネスティングSEIメッセージを指定する。
時間的MCTS SEIメッセージは、ビットストリーム内でのMCTSの存在を示し、MCTSをシグナリングする。MCTSごとに、動きベクトルは、MCTSの内部の完全サンプル位置と、補間のためにMCTSの内部の完全サンプル位置のみを要求する分数サンプル位置とを指し示すように制限され、MCTSの外部のブロックから導出される時間的な動きベクトル予測のための動きベクトル候補の使用が許されない。このようにして、各MCTSは、MCTSに含まれないタイルの存在なしで独立してデコードされ得る。
MCTS抽出情報セットSEIメッセージは、MCTSセットのための適合するビットストリームを生成するために、(SEIメッセージのセマンティックの一部として指定される)MCTSサブビットストリーム抽出において使用されることが可能である補足情報を提供する。その情報は、各々がいくつかのMCTSセットを定義するとともに置換ビデオパラメータセット(VPS)のRBSPバイト、SPS、およびMCTSサブビットストリーム抽出プロセスの間に使用されるべきPPSを含む、いくつかの抽出情報セットからなる。MCTSサブビットストリーム抽出プロセスに従ってサブビットストリームを抽出するとき、スライスアドレス関連シンタックス要素(first_slice_segment_in_pic_flagおよびslice_segment_addressを含む)のうちの1つまたはすべてが、典型的には異なる値を有する必要があることになるので、パラメータセット(VPS、SPS、およびPPS)は書き換えられるかまたは置き換えられる必要があり、スライスヘッダはわずかに更新される必要がある。
最新のVVCドラフト仕様では、ピクチャは、各々が長方形領域をカバーするとともに整数個の完全なスライスを含む、複数のサブピクチャに区分されてよい。サブピクチャ区分はコーディングされたビデオシーケンス(CVS)内のすべてのピクチャにわたって持続し、SPS内で区分情報(すなわち、サブピクチャ位置およびサイズ)がシグナリングされる。サブピクチャは、動き補償のためにいかなる他のサブピクチャからのサンプル値も使用せずにコーディングされるとして示されてよい。
http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0261-v1.zipにおいて公に利用可能である、JVET寄稿JVET-O0141では、サブピクチャ設計は、いくつかの差分を有して最新のVVCドラフト仕様におけるのと類似であり、差分のうちの1つは、コーディングされたスライスNALユニットを変更する必要なくサブピクチャベースのサブビットストリーム抽出を可能にするための、各スライスヘッダ内でのサブピクチャIDのシグナリングとともに、SPS内のサブピクチャごとのサブピクチャIDの明示的なシグナリングである。この手法では、サブピクチャごとのサブピクチャIDは、CVS内のすべてのピクチャにわたって不変であり続ける。
前の議論の間に、コーディングされたスライスNALユニットを変更する必要なしにサブピクチャベースのサブビットストリームマージングを可能にするためにも、サブピクチャIDのシグナリングのための異なる手法が使用されるべきであることが述べられた。
たとえば、以下でより完全に説明されるように、ビューポート依存の360度ビデオストリーミングでは、クライアントは、どのサブピクチャが受信され、デコードされるべきビットストリームにマージされるかを選択する。見ている方位が変化するとき、見ている方位が変化する前に受信されたサブピクチャID値と比較して、いくつかのサブピクチャID値は同じにとどまり得るが、他のサブピクチャID値は変更される。したがって、見ている方位が変化するとき、マージされたビットストリーム内でデコーダが受信するサブピクチャIDが変化する。
考えられた1つの手法は以下の通りである。
サブピクチャ位置およびサイズが、たとえば、最新のVVCドラフト仕様におけるシンタックスを使用して、SPS内で示される。サブピクチャインデックスが割り当てられる(0からN-1、Nはサブピクチャの数である)。サブピクチャインデックスへのサブピクチャIDのマッピングは、そのマッピングがCVSの中央において変更される必要があり得るので、PPS内に存在する。これは、サブピクチャインデックスiにマッピングするsubpicture_id[i]を提供する、ループi=0からN-1であることが可能である。このサブピクチャIDマッピングは、デコードされるべきサブピクチャの新たなセットをクライアントが選択するとき、クライアントによって書き換えられる必要がある。スライスヘッダは、エンコーダが選択したサブピクチャID(たとえば、subpicture_id)を含む(そして、これはサブビットストリームマージングにおいて書き換えられる必要がない)。
残念ながら、既存のサブピクチャIDシグナリング手法に伴う問題がある。サブピクチャベースビデオコーディングを使用する多くの適用シナリオは、サブビットストリーム抽出を伴うが、サブビットストリームマージングを伴わない。たとえば、各々の抽出されるサブビットストリームは、それ自体のデコーダインスタンスによってデコードされてよい。それゆえ、抽出されたサブビットストリームを1つのデコーダインスタンスのみによってデコードされるべき1つのビットストリームにマージする必要がない。これらのシナリオでは、サブピクチャごとのサブピクチャIDはCVS内で変化しない。したがって、サブピクチャIDはSPS内でシグナリングされることが可能である。PPSの代わりにSPS内でのそのようなサブピクチャIDのシグナリングは、ビット節約の観点とセッションネゴシエーションの観点の両方から有益である。
サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオでは、サブピクチャIDは、元のビットストリーム内のCVS内で変化しない。したがって、SPS内でのサブピクチャIDのシグナリングは、SPS内とスライスヘッダ内の両方でのサブピクチャIDの使用を可能にし、これはプロセスのサブビットストリーム抽出部分のために有用である。しかし、この手法は、サブピクチャIDが元のビットストリーム内のCVS内で変化しないときのみ実現可能である。
サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャ識別子(ID)がコーディングされたビデオシーケンス(CVS)内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証する技法が、ここで開示される。CVS内のサブピクチャIDが変化し得るかどうか、そうであるならば、サブピクチャIDがどこに配置されるかを示すように、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(SPS)内のフラグを設定することによって、効率的なシグナリングが達成される。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
図1は、ビデオ信号をコーディングする一例の動作方法100のフローチャートである。具体的には、ビデオ信号はエンコーダにおいてエンコードされる。エンコードプロセスは、ビデオファイルサイズを低減するために様々な機構を利用することによってビデオ信号を圧縮する。より小さいファイルサイズは、圧縮されたビデオファイルがユーザに向かって送信されることを可能にし、一方、関連付けられた帯域幅オーバーヘッドを低減する。デコーダは次いで、圧縮されたビデオファイルをデコードして、エンドユーザへの表示のために元のビデオ信号を再構築する。デコードプロセスは一般に、デコーダがビデオ信号を首尾一貫して再構築することを可能にするために、エンコードプロセスを鏡写しにしたものである。
ステップ101において、ビデオ信号がエンコーダに入力される。たとえば、ビデオ信号は、メモリに記憶された圧縮されていないビデオファイルであり得る。別の例として、ビデオファイルは、ビデオカメラのようなビデオキャプチャデバイスによって捕捉され、ビデオのライブストリーミングをサポートするためにエンコードされ得る。ビデオファイルは、オーディオ成分とビデオ成分の両方を含み得る。ビデオ成分は、順番に見られるとき動きの視覚的な印象を与える一連の画像フレームを含む。フレームは、ここでルマ成分(またはルマサンプル)と呼ばれる光、およびクロマ成分(またはカラーサンプル)と呼ばれる色に関して表現されるピクセルを含む。いくつかの例では、フレームは、3次元で見ることをサポートするために深度値も含み得る。
ステップ103において、ビデオはブロックへと区分される。区分は、各フレーム内のピクセルを、圧縮のために正方形および/または長方形のブロックへと細分することを含む。たとえば、高効率ビデオコーディング(HEVC)(H.265およびMPEG-H Part 2としても知られる)では、フレームは、まずコーディング・ツリー・ユニット(CTU)へと分割されることが可能であり、これはあらかじめ定義されたサイズ(たとえば、64ピクセル×64ピクセル)のブロックである。CTUはルマおよびクロマサンプルの両方を含む。コーディング・ツリーは、CTUをブロックへと分割し、次いで、さらなるエンコードをサポートする構成が達成されるまでブロックを再帰的に細分するために利用され得る。たとえば、フレームのルマ成分は、個々のブロックが比較的均質な照明値を含むまで細分され得る。さらに、フレームのクロマ成分は、個々のブロックが比較的均質な色値を含むまで細分され得る。従って、区分機構はビデオフレームの内容に依存して変化する。
ステップ105において、ステップ103において区分された画像ブロックを圧縮するために様々な圧縮機構が利用される。たとえば、インター予測および/またはイントラ予測が利用され得る。インター予測は、共通のシーンにおける物体は連続するフレーム内に出現する傾向があるという事実を利用するように設計される。従って、参照フレーム内の物体を描写するブロックは、隣接フレーム内で繰り返し記述される必要はない。具体的には、テーブルのような物体は、複数のフレーム上で一定の位置にとどまり得る。従って、テーブルは一度記述され、隣接フレームは参照フレームへ戻って参照することができる。複数のフレーム上で物体を照合するために、パターンマッチング機構が利用され得る。さらに、動いている物体は、たとえば物体の動きまたはカメラの動きに起因して、複数のフレームにわたって表現され得る。特定の例として、ビデオは、複数のフレーム上で画面にわたって動く自動車を表し得る。そのような動きを記述するために動きベクトルが利用されることが可能である。動きベクトルは、フレーム内の物体の座標から参照フレーム内の物体の座標へのオフセットを提供する2次元ベクトルである。それゆえ、インター予測は、参照フレーム内の対応するブロックからのオフセットを示す動きベクトルのセットとして、現在のフレーム内の画像ブロックをエンコードすることができる。
イントラ予測は共通のフレーム内のブロックをエンコードする。イントラ予測は、ルマおよびクロマ成分がフレーム内で密集する傾向があるという事実を利用する。たとえば、木の一部における緑の斑点は、類似する緑の斑点に隣接して配置される傾向がある。イントラ予測は、複数の方向性予測モード(たとえば、HEVCでは33個)、平面モード、および直流(DC)モードを利用する。方向性モードは、現在のブロックが対応する方向における近隣ブロックのサンプルと類似する/同じであることを示す。平面モードは、行/列(たとえば、平面)に沿った一連のブロックが行の端にある近隣ブロックに基づいて補間されることが可能であることを示す。平面モードは、事実上、値を変化させる際に比較的一定の勾配を利用することによって、行/列にわたる光/色の滑らかな遷移を示す。DCモードは、境界平滑化のために利用され、方向性予測モードの角度方向と関連付けられるすべての近隣ブロックのサンプルと関連付けられる平均値とブロックが類似する/同じであることを示す。従って、イントラ予測ブロックは、実際の値の代わりに様々な関係する予測モードの値として画像ブロックを表現することができる。さらに、インター予測ブロックは、実際の値の代わりに動きベクトルの値として画像ブロックを表現することができる。いずれの場合でも、予測ブロックは、いくつかの場合において、画像ブロックを厳密に表現しないことがある。あらゆる差分が残差ブロックに格納される。ファイルをさらに圧縮するために、残差ブロックに変換が適用され得る。
ステップ107において、様々なフィルタリング技法が適用され得る。HEVCでは、フィルタはループ内フィルタリング方式に従って適用される。上で論じられたブロックベース予測は、デコーダにおけるブロック状の画像の生成をもたらし得る。さらに、ブロックベース予測方式は、ブロックをエンコードし、次いで、参照ブロックとしての後の使用のためにエンコードされたブロックを再構築し得る。ループ内フィルタリング方式は、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびサンプル適応オフセット(SAO)フィルタをブロック/フレームに反復的に適用する。これらのフィルタは、エンコードされたファイルが正確に再構築されることが可能であるように、そのようなブロッキングアーティファクトを軽減する。さらに、これらのフィルタは再構築された参照ブロックにおけるアーティファクトを軽減し、それによって、アーティファクトは、再構築された参照ブロックに基づいてエンコードされる後続のブロックにおいて追加のアーティファクトを作り出す見込みがより少ない。
いったんビデオ信号が区分され、圧縮され、フィルタリングされると、ステップ109において、結果として生じるデータがビットストリーム内にエンコードされる。ビットストリームは、デコーダにおける適切なビデオ信号の再構築をサポートするために望まれるあらゆるシグナリングデータとともに上で論じられたデータを含む。たとえば、そのようなデータは、区分データ、予測データ、残差ブロック、およびコーディング命令をデコーダに提供する様々なフラグを含み得る。ビットストリームは、要求に応じたデコーダに向けた送信のためにメモリに記憶され得る。ビットストリームは、また、複数のデコーダに向けたブロードキャストおよび/またはマルチキャストであり得る。ビットストリームの生成は反復的なプロセスである。従って、ステップ101、103、105、107、および109は、多数のフレームおよびブロック上で連続的および/または同時に発生し得る。図1に表された順序は、明確さおよび議論の容易さのために提示され、ビデオコーディングプロセスを特定の順序に限定することは意図されない。
ステップ111において、デコーダが、ビットストリームを受信し、デコードプロセスを開始する。具体的には、デコーダは、エントロピーデコード方式を利用して、ビットストリームを対応するシンタックスおよびビデオデータへと変換する。ステップ111において、デコーダが、ビットストリームからのシンタックスデータを利用して、フレームについての区分を決定する。区分は、ステップ103におけるブロック区分の結果と一致すべきである。ステップ111において利用されるようなエントロピーエンコード/デコードがここで説明される。エンコーダは、入力画像における値の空間的な配置に基づいて、いくつかの可能な選択からブロック区分方式を選択することのような、圧縮プロセスの間に多くの選択を行う。厳密な選択のシグナリングは、多数のビンを利用し得る。ここで使用されるように、ビンは、変数として扱われる二進値(たとえば、状況に依存して変化し得るビット値)である。エントロピーコーディングは、特定の場合について明らかに実行可能ではないあらゆる選択肢をエンコーダが捨てることを可能にし、許容可能な選択肢のセットを残す。次いで、各々の許容可能な選択肢が符号語を割り当てられる。符号語の長さは、許容可能な選択肢の数に基づく(たとえば、2つの選択肢については1つのビン、3つから4つの選択肢については2つのビンなど)。エンコーダは次いで、選択された選択肢について符号語をエンコードする。符号語は、すべての可能な選択肢の潜在的に大きいセットからの選択を一意に示すのとは対照的に、許容可能な選択肢の小さいサブセットからの選択を一意に示すために望まれるぐらいの大きさであるので、この方式は符号語のサイズを低減する。デコーダは次いで、許容可能な選択肢のセットをエンコーダと類似するやり方で決定することによって、選択をデコードする。許容可能な選択肢のセットを決定することによって、デコーダは、符号語を読み取り、エンコーダによって行われる選択を決定することができる。
ステップ113において、デコーダがブロックデコードを実行する。具体的には、デコーダは、逆変換を利用して残差ブロックを生成する。次いで、デコーダは、残差ブロックおよび対応する予測ブロックを利用して、区分に従って画像ブロックを再構築する。予測ブロックは、ステップ105においてエンコーダにおいて生成されたようなイントラ予測ブロックとインター予測ブロックの両方を含み得る。再構築された画像ブロックは次いで、ステップ111において決定された区分データに従って、再構築されたビデオ信号のフレームへと配置される。ステップ113についてのシンタックスは、また、上で論じられたようなエントロピーコーディングを介してビットストリーム内でシグナリングされ得る。
ステップ115において、エンコーダにおいて、ステップ107と類似するやり方で、再構築されたビデオ信号のフレームにおいてフィルタリングが実行される。たとえば、ノイズ抑制フィルタ、デブロッキングフィルタ、適応ループフィルタ、およびSAOフィルタが、ブロッキングアーティファクトを取り除くためにフレームに適用され得る。いったんフレームがフィルタリングされると、ビデオ信号は、エンドユーザによって見るために、ステップ117においてディスプレイに出力されることが可能である。
図2は、ビデオコーディングのための一例のコーディングおよびデコード(コーデック)システム200の概略図である。具体的には、コーデックシステム200は、動作方法100の実装をサポートするために機能を提供する。コーデックシステム200は、エンコーダとデコーダの両方において利用されるコンポーネントを描写するために一般化されている。コーデックシステム200は、動作方法100においてステップ101および103に関して論じられたようなビデオ信号を受信および区分し、これは区分されたビデオ信号201をもたらす。コーデックシステム200は次いで、方法100においてステップ105、107、および109に関して論じられたようなエンコーダとして動作するとき、区分されたビデオ信号201をコーディングされたビットストリームへと圧縮する。デコーダとして動作するとき、コーデックシステム200は、動作方法100においてステップ111、113、115、および117に関して論じられたようなビットストリームから出力ビデオ信号を生成する。コーデックシステム200は、汎用コーダ制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャ推定コンポーネント215、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、動き推定コンポーネント221、スケーリングおよび逆変換コンポーネント229、フィルタ制御分析コンポーネント227、ループ内フィルタコンポーネント225、デコードされたピクチャバッファコンポーネント223、ならびにヘッダフォーマッティングおよびコンテキスト適応バイナリ算術コーディング(CABAC)コンポーネント231を含む。そのようなコンポーネントは表されたように結合される。図2では、黒い線はエンコード/デコードされるべきデータの動きを示し、一方、破線は他のコンポーネントの動作を制御する制御データの動きを示す。コーデックシステム200のコンポーネントは、すべて、エンコーダ内に存在し得る。デコーダは、コーデックシステム200のコンポーネントのサブセットを含み得る。たとえば、デコーダは、イントラピクチャ予測コンポーネント217、動き補償コンポーネント219、スケーリングおよび逆変換コンポーネント229、ループ内フィルタコンポーネント225、ならびにデコードされたピクチャバッファコンポーネント223を含み得る。これらのコンポーネントがここで説明される。
区分されたビデオ信号201は、コーディング・ツリーによってピクセルのブロックへと区分された、キャプチャされたビデオシーケンスである。コーディング・ツリーは、様々な分割モードを利用して、ピクセルのブロックをピクセルのより小さいブロックへと細分する。これらのブロックは次いで、より小さいブロックへとさらに細分されることが可能である。ブロックは、コーディング・ツリーにおいてノードと呼ばれ得る。より大きい親ノードは、より小さい子ノードへと分割される。ノードが細分される回数は、ノード/コーディング・ツリーの深度と呼ばれる。いくつかの場合において、分割されたブロックはコーディング・ユニット(CU)に含まれることが可能である。たとえば、CUは、ルマブロック、赤差分クロマ(Cr)ブロック、および青差分クロマ(Cb)ブロックを、CUについての対応するシンタックス命令とともに含む、CTUの下位部分であることが可能である。分割モードは、利用される分割モードに依存して変化する形状のそれぞれ2つ、3つ、または4つの子ノードへとノードを区分するために利用される、二分木(BT)、三分木(TT)、および四分木(QT)を含み得る。区分されたビデオ信号201は、圧縮のために、汎用コーダ制御コンポーネント211、変換スケーリングおよび量子化コンポーネント213、イントラピクチャ推定コンポーネント215、フィルタ制御分析コンポーネント227、ならびに動き推定コンポーネント221に転送される。
汎用コーダ制御コンポーネント211は、適用の制約に従って、ビデオシーケンスの画像のビットストリームへのコーディングに関連する決定を行うように構成される。たとえば、汎用コーダ制御コンポーネント211は、再構築品質に対するビットレート/ビットストリームサイズの最適化を管理する。そのような決定は、記憶空間/帯域幅の利用可能性および画像解像度の要求に基づいて行われ得る。汎用コーダ制御コンポーネント211は、また、バッファのアンダーランおよびオーバーランの問題を軽減するために、送信速度を考慮してバッファ利用を管理する。これらの問題を管理するために、汎用コーダ制御コンポーネント211は、他のコンポーネントによる区分、予測、およびフィルタリングを管理する。たとえば、汎用コーダ制御コンポーネント211は、圧縮の複雑さを動的に増加させて、解像度を増加させ、帯域幅使用を増加させ、または、圧縮の複雑さを減らして、解像度および帯域幅使用を減らし得る。従って、汎用コーダ制御コンポーネント211は、コーデックシステム200の他のコンポーネントを制御して、ビデオ信号再構築の品質をビットレートの関心とバランスをとる。汎用コーダ制御コンポーネント211は、制御データを作り出し、これは他のコンポーネントの動作を制御する。制御データは、また、ヘッダフォーマッティングおよびCABACコンポーネント231に転送されて、デコーダにおけるデコードのためのパラメータをシグナリングするためにビットストリーム内にエンコードされる。
区分されたビデオ信号201は、また、インター予測のために動き推定コンポーネント221および動き補償コンポーネント219に送信される。区分されたビデオ信号201のフレームまたはスライスは、複数のビデオブロックへと分割され得る。動き推定コンポーネント221および動き補償コンポーネント219は、1つまたは複数の参照フレーム内の1つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行して、時間予測を提供する。コーデックシステム200は、複数のコーディングパスを実行して、たとえば、ビデオデータの各ブロックについて適切なコーディングモードを選択し得る。
動き推定コンポーネント221および動き補償コンポーネント219は、高度に統合され得るが、概念上の目的のために別々に例示される。動き推定コンポーネント221によって実行される動き推定は、ビデオブロックについての動きを推定する、動きベクトルを生成するプロセスである。動きベクトルは、たとえば、予測ブロックに対するコーディングされたオブジェクトのずれを示し得る。予測ブロックは、ピクセル差分に関して、コーディングされるべきブロックに密接に一致することが見出されるブロックである。予測ブロックは参照ブロックとも呼ばれ得る。そのようなピクセル差分は、絶対値差分和(SAD)、平方差分和(SSD)、または他の差分尺度によって決定され得る。HEVCは、CTU、コーディング・ツリー・ブロック(CTB)、およびCUを含む、いくつかのコーディングされたオブジェクトを利用する。たとえば、CTUはCTBへと分割されることが可能であり、これは、次いで、CU内の包含のためにCBへと分割されることが可能である。CUは、予測データを含む予測ユニット(PU)および/またはCUのための変換された残差データを含む変換ユニット(TU)としてエンコードされることが可能である。動き推定コンポーネント221は、レート歪み最適化プロセスの部分としてレート歪み分析を使用することによって、動きベクトル、PU、およびTUを生成する。たとえば、動き推定コンポーネント221は、現在のブロック/フレームのための複数の参照ブロック、複数の動きベクトルなどを決定してよく、最良のレート歪み特性を有する参照ブロック、動きベクトルなどを選択してよい。最良のレート歪み特性は、コーディング効率(たとえば、最終的なエンコードのサイズ)とビデオ再構築の品質(たとえば、圧縮によるデータ損失の量)の両方のバランスをとる。
いくつかの例では、コーデックシステム200は、デコードされたピクチャバッファコンポーネント223に記憶されている参照ピクチャの整数より下のピクセル位置についての値を計算し得る。たとえば、ビデオコーデックシステム200は、4分の1ピクセル位置、8分の1ピクセル位置、または参照ピクチャの他の分数ピクセル位置の値を補間し得る。従って、動き推定コンポーネント221は、完全ピクセル位置と分数ピクセル位置に対する動き探索を実行して、分数ピクセル精度を有する動きベクトルを出力し得る。動き推定コンポーネント221は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコーディングされたスライス内のビデオブロックのPUについて動きベクトルを計算する。動き推定コンポーネント221は、計算された動きベクトルを動きデータとしてエンコードのためにヘッダフォーマッティングおよびCABACコンポーネント231に出力し、動きを動き補償コンポーネント219に出力する。
動き補償コンポーネント219によって実行される動き補償は、動き推定コンポーネント221によって決定される動きベクトルに基づいて予測ブロックをフェッチまたは生成することを伴い得る。再び、動き推定コンポーネント221および動き補償コンポーネント219は、いくつかの例では機能的に統合され得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償コンポーネント219は、動きベクトルが指し示す予測ブロックを位置決めし得る。残差ビデオブロックは次いで、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって形成される。一般に、動き推定コンポーネント221は、ルマ成分に対する動き推定を実行し、動き補償コンポーネント219は、クロマ成分とルマ成分の両方についてルマ成分に基づいて計算される動きベクトルを使用する。予測ブロックおよび残差ブロックは、変換スケーリングおよび量子化コンポーネント213に転送される。
区分されたビデオ信号201は、また、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217に送信される。動き推定コンポーネント221および動き補償コンポーネント219のように、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は高度に統合され得るが、概念上の目的のために別々に例示されている。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、上で説明されたように、フレーム間で動き推定コンポーネント221および動き補償コンポーネント219によって実行されるインター予測の代替として、現在のフレームの中のブロックに対して現在のブロックをイントラ予測する。特に、イントラピクチャ推定コンポーネント215は、現在のブロックをエンコードするために使用するイントラ予測モードを決定する。いくつかの例では、イントラピクチャ推定コンポーネント215は、複数のテストされたイントラ予測モードから現在のブロックをエンコードするために適切なイントラ予測モードを選択する。選択されたイントラ予測モードは次いで、エンコードのためにヘッダフォーマッティングおよびCABACコンポーネント231に転送される。
たとえば、イントラピクチャ推定コンポーネント215は、様々なテストされたイントラ予測モードについてレート歪み分析を使用してレート歪み値を計算し、テストされたモードの中で最良のレート歪み特性を有するイントラ予測モードを選択する。レート歪み分析は、一般に、エンコードされたブロックを作成するために使用されるビットレート(たとえば、ビットの数)とともに、エンコードされたブロックと、エンコードされたブロックを作成するためにエンコードされた元のエンコードされていないブロックとの間の歪み(またはエラー)の量を決定する。イントラピクチャ推定コンポーネント215は、どのイントラ予測モードがブロックについて最良のレート歪み値を示すかを決定するために、様々なエンコードされたブロックについての歪みおよびレートから比を計算する。加えて、イントラピクチャ推定コンポーネント215は、レート歪み最適化(RDO)に基づいて、深度モデリングモード(DMM)を使用して深度マップの深度ブロックをコーディングするように構成され得る。
イントラピクチャ予測コンポーネント217は、エンコーダにおいて実装されるとき、イントラピクチャ推定コンポーネント215によって決定される選択されたイントラ予測モードに基づいて予測ブロックから残差ブロックを生成し、または、デコーダにおいて実装されるとき、ビットストリームから残差ブロックを読み取り得る。残差ブロックは、行列として表現される、予測ブロックと元のブロックとの間の値における差分を含む。残差ブロックは次いで、変換スケーリングおよび量子化コンポーネント213に転送される。イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217は、ルマおよびクロマ成分の両方に対して動作し得る。
変換スケーリングおよび量子化コンポーネント213は、残差ブロックをさらに圧縮するように構成される。変換スケーリングおよび量子化コンポーネント213は、離散コサイン変換(DCT)、離散サイン変換(DST)、または概念的に類似の変換のような変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを作成する。ウェーブレット変換、整数変換、サブバンド変換、または他のタイプの変換も使用されることが可能である。変換は、残差情報をピクセル値領域から周波数領域のような変換領域に変換し得る。変換スケーリングおよび量子化コンポーネント213は、また、たとえば周波数に基づいて、変換された残差情報をスケーリングするように構成される。そのようなスケーリングは、異なる周波数情報が異なる粒度で量子化されるように、スケール係数を残差情報に適用することを伴い、これは、再構築されたビデオの最終的な視覚的品質に影響し得る。変換スケーリングおよび量子化コンポーネント213は、また、ビットレートをさらに低減するために変換係数を量子化するように構成される。量子化プロセスは、係数のいくつかまたはすべてと関連付けられるビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、変換スケーリングおよび量子化コンポーネント213は次いで、量子化された変換係数を含む行列の走査を実行し得る。量子化された変換係数は、ヘッダフォーマッティングおよびCABACコンポーネント231に転送されて、ビットストリーム内にエンコードされる。
スケーリングおよび逆変換コンポーネント229は、動き推定をサポートするために、変換スケーリングおよび量子化コンポーネント213の逆の動作を適用する。スケーリングおよび逆変換コンポーネント229は、逆スケーリング、変換、および/または量子化を適用して、たとえば、別の現在のブロックについて予測ブロックになり得る参照ブロックとしての後の使用のために、ピクセル領域において残差ブロックを再構築する。動き推定コンポーネント221および/または動き補償コンポーネント219は、後のブロック/フレームの動き推定における使用のために残差ブロックを対応する予測ブロックに加算し戻すことによって参照ブロックを計算し得る。スケーリング、量子化、および変換の間に作り出されるアーティファクトを軽減するために、再構築された参照ブロックにフィルタが適用される。そのようなアーティファクトは、そうでなければ、後続のブロックが予測されるときに不正確な予測を引き起こす(および追加のアーティファクトを作り出す)ことがある。
フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225は、フィルタを残差ブロックおよび/または再構築された画像ブロックに適用する。たとえば、スケーリングおよび逆変換コンポーネント229からの変換された残差ブロックは、元の画像ブロックを再構築するために、イントラピクチャ予測コンポーネント217および/または動き補償コンポーネント219からの対応する予測ブロックと組み合わせられ得る。フィルタは、次いで、再構築された画像ブロックに適用され得る。いくつかの例では、フィルタは、代わりに、残差ブロックに適用され得る。図2の他のコンポーネントのように、フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225は高度に統合され、一緒に実装され得るが、概念上の目的のために別々に描写されている。再構築された参照ブロックに適用されるフィルタは、特定の空間領域に適用され、そのようなフィルタがどのように適用されるかを調整するための複数のパラメータを含む。フィルタ制御分析コンポーネント227は、そのようなフィルタがどこで適用されるべきかを決定するために再構築された参照ブロックを分析し、対応するパラメータを設定する。そのようなデータは、エンコードのためにフィルタ制御データとしてヘッダフォーマッティングおよびCABACコンポーネント231に転送される。ループ内フィルタコンポーネント225は、フィルタ制御データに基づいてそのようなフィルタを適用する。フィルタは、デブロッキングフィルタ、ノイズ抑制フィルタ、SAOフィルタ、および適応ループフィルタを含み得る。そのようなフィルタは、例に依存して、空間/ピクセル領域で(たとえば、再構築されたピクセルブロックにおいて)、または周波数領域で適用され得る。
エンコーダとして動作するとき、フィルタリングされた再構築された画像ブロック、残差ブロック、および/または予測ブロックは、上で論じられたような動き推定における後の使用のために、デコードされたピクチャバッファコンポーネント223に記憶される。デコーダとして動作するとき、デコードされたピクチャバッファコンポーネント223は、出力ビデオ信号の部分として、再構築されフィルタリングされたブロックを記憶し、ディスプレイに向けて転送する。デコードされたピクチャバッファコンポーネント223は、予測ブロック、残差ブロック、および/または再構築された画像ブロックを記憶することが可能な任意のメモリデバイスであり得る。
ヘッダフォーマッティングおよびCABACコンポーネント231は、コーデックシステム200の様々なコンポーネントからデータを受信し、デコーダに向けた送信のためにそのようなデータをコーディングされたビットストリームへとエンコードする。具体的には、ヘッダフォーマッティングおよびCABACコンポーネント231は、一般的な制御データおよびフィルタ制御データのような制御データをエンコードするために、様々なヘッダを生成する。さらに、量子化された変換係数データの形式の残差データとともにイントラ予測および動きデータを含む予測データが、すべて、ビットストリーム内にエンコードされる。最終的なビットストリームは、元の区分されたビデオ信号201を再構築するためにデコーダによって望まれるすべての情報を含む。そのような情報は、イントラ予測モードインデックステーブル(符号語マッピングテーブルとも呼ばれる)、様々なブロックについてのエンコードコンテキストの定義、最も可能性の高いイントラ予測モードの指示、区分情報の指示なども含み得る。そのようなデータは、エントロピーコーディングを利用することによってエンコードされ得る。たとえば、情報は、コンテキスト適応可変長コーディング(CAVLC)、CABAC、シンタックスベースコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技法を利用することによってエンコードされ得る。エントロピーコーディングに続いて、コーディングされたビットストリームは、別のデバイス(たとえば、ビデオデコーダ)に送信され、または、後の送信もしくは取り出しのためにアーカイブされてよい。
図3は、一例のビデオエンコーダ300を例示するブロック図である。ビデオエンコーダ300は、コーデックシステム200のエンコード機能を実装するために、ならびに/または動作方法100のステップ101、103、105、107、および/もしくは109を実装するために利用され得る。エンコーダ300は、入力ビデオ信号を区分し、区分されたビデオ信号201と実質的に類似する区分されたビデオ信号301をもたらす。区分されたビデオ信号301は次いで圧縮され、エンコーダ300のコンポーネントによってビットストリームへとエンコードされる。
具体的には、区分されたビデオ信号301は、イントラ予測のためにイントラピクチャ予測コンポーネント317に転送される。イントラピクチャ予測コンポーネント317は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と実質的に類似し得る。区分されたビデオ信号301は、また、デコードされたピクチャバッファコンポーネント323内の参照ブロックに基づくインター予測のために動き補償コンポーネント321に転送される。動き補償コンポーネント321は、動き推定コンポーネント221および動き補償コンポーネント219と実質的に類似し得る。イントラピクチャ予測コンポーネント317および動き補償コンポーネント321からの予測ブロックおよび残差ブロックは、残差ブロックの変換および量子化のために変換および量子化コンポーネント313に転送される。変換および量子化コンポーネント313は、変換スケーリングおよび量子化コンポーネント213と実質的に類似し得る。変換され量子化された残差ブロックおよび対応する予測ブロックは(関連付けられた制御データとともに)、ビットストリームへのコーディングのためにエントロピーコーディングコンポーネント331に転送される。エントロピーコーディングコンポーネント331は、ヘッダフォーマッティングおよびCABACコンポーネント231と実質的に類似し得る。
変換され量子化された残差ブロックおよび/または対応する予測ブロックは、また、動き補償コンポーネント321による使用のために参照ブロックへの再構築のために、変換および量子化コンポーネント313から逆変換および量子化コンポーネント329に転送される。逆変換および量子化コンポーネント329は、スケーリングおよび逆変換コンポーネント229と実質的に類似し得る。ループ内フィルタコンポーネント325内のループ内フィルタは、また、例に依存して、残差ブロックおよび/または再構築された参照ブロックに適用される。ループ内フィルタコンポーネント325は、フィルタ制御分析コンポーネント227およびループ内フィルタコンポーネント225と実質的に類似し得る。ループ内フィルタコンポーネント325は、ループ内フィルタコンポーネント225に関して論じられたような複数のフィルタを含み得る。フィルタリングされたブロックは次いで、動き補償コンポーネント321による参照ブロックとしての使用のために、デコードされたピクチャバッファコンポーネント323に記憶される。デコードされたピクチャバッファコンポーネント323は、デコードされたピクチャバッファコンポーネント223と実質的に類似し得る。
図4は、一例のビデオデコーダ400を例示するブロック図である。ビデオデコーダ400は、コーデックシステム200のデコード機能を実装するために、ならびに/または動作方法100のステップ111、113、115、および/もしくは117を実装するために利用され得る。デコーダ400は、たとえばエンコーダ300から、ビットストリームを受信し、エンドユーザへの表示のために、再構築された出力ビデオ信号をビットストリームに基づいて生成する。
ビットストリームは、エントロピーデコードコンポーネント433によって受信される。エントロピーデコードコンポーネント433は、CAVLC、CABAC、SBAC、PIPEコーディング、または他のエントロピーコーディング技法のようなエントロピーデコード方式を実装するように構成される。たとえば、エントロピーデコードコンポーネント433は、ヘッダ情報を利用して、ビットストリーム内に符号語としてエンコードされる追加のデータを解釈するためにコンテキストを提供し得る。デコードされた情報は、一般的な制御データ、フィルタ制御データ、区分情報、動き情報、予測データ、および残差ブロックからの量子化された変換係数のようなビデオ信号をデコードするための任意の望まれる情報を含む。量子化された変換係数は、残差ブロックへの再構築のために逆変換および量子化コンポーネント429に転送される。逆変換および量子化コンポーネント429は、逆変換および量子化コンポーネント329と類似し得る。
再構築された残差ブロックおよび/または予測ブロックは、イントラ予測動作に基づく画像ブロックへの再構築のためにイントラピクチャ予測コンポーネント417に転送される。イントラピクチャ予測コンポーネント417は、イントラピクチャ推定コンポーネント215およびイントラピクチャ予測コンポーネント217と類似し得る。具体的には、イントラピクチャ予測コンポーネント417は、フレーム内で参照ブロックを位置決めするために予測モードを利用し、残差ブロックを結果に適用してイントラ予測された画像ブロックを再構築する。再構築されたイントラ予測された画像ブロックおよび/または残差ブロックならびに対応するインター予測データは、ループ内フィルタコンポーネント425を介してデコードされたピクチャバッファコンポーネント423に転送され、これらは、デコードされたピクチャバッファコンポーネント223およびループ内フィルタコンポーネント225とそれぞれ実質的に類似し得る。ループ内フィルタコンポーネント425は、再構築された画像ブロック、残差ブロック、および/または予測ブロックをフィルタリングし、そのような情報はデコードされたピクチャバッファコンポーネント423に記憶される。デコードされたピクチャバッファコンポーネント423からの再構築された画像ブロックは、インター予測のために動き補償コンポーネント421に転送される。動き補償コンポーネント421は、動き推定コンポーネント221および/または動き補償コンポーネント219と実質的に類似し得る。具体的には、動き補償コンポーネント421は、参照ブロックからの動きベクトルを利用して予測ブロックを生成し、残差ブロックを結果に適用して画像ブロックを再構築する。結果として生じる再構築されたブロックは、また、ループ内フィルタコンポーネント425を介してデコードされたピクチャバッファコンポーネント423に転送され得る。デコードされたピクチャバッファコンポーネント423は、追加の再構築された画像ブロックを記憶し続け、これらは区分情報を介してフレームへと再構築されることが可能である。そのようなフレームは、シーケンスにも配置され得る。シーケンスは、再構築された出力ビデオ信号としてディスプレイに向けて出力される。
図5は、エンコードされたビデオシーケンスを含む一例のビットストリーム500を例示する概略図である。たとえば、ビットストリーム500は、コーデックシステム200および/またはデコーダ400によるデコードのために、コーデックシステム200および/またはエンコーダ300によって生成されることが可能である。別の例として、ビットストリーム500は、ステップ111におけるデコーダによる使用のために、方法100のステップ109においてエンコーダによって生成され得る。
ビットストリーム500は、シーケンスパラメータセット(SPS)510、複数のピクチャパラメータセット(PPS)512、タイルグループヘッダ514、および画像データ520を含む。SPS510は、ビットストリーム500に含まれるビデオシーケンス内のすべてのピクチャに共通のシーケンスデータを含む。そのようなデータは、ピクチャサイジング、ビット深度、コーディングツールパラメータ、ビットレート制約などを含むことができる。一実施形態では、SPS510はSPSフラグ565を含む。一実施形態では、SPSフラグ565は、第1の値(たとえば、1)または第2の値(たとえば、0)を有する。第1の値を有するSPSフラグ565は、サブピクチャIDマッピング575がSPS510内でシグナリングされることを指定し、第2の値を有するSPSフラグ565は、サブピクチャIDマッピング575がPPS512内でシグナリングされることを指定する。
PPS512は、1つまたは複数の対応するピクチャに特有であるパラメータを含む。したがって、ビデオシーケンス内の各ピクチャは、1つのPPS512を参照し得る。PPS512は、対応するピクチャ内のタイルのために利用可能なコーディングツール、量子化パラメータ、オフセット、ピクチャ特有のコーディングツールパラメータ(たとえば、フィルタ制御)などを示すことができる。一実施形態では、PPS512はPPSフラグ567を含む。一実施形態では、PPSフラグ567は、第1の値(たとえば、1)または第2の値(たとえば、0)を有する。第1の値を有するPPSフラグ567は、サブピクチャIDマッピング575がPPS512内でシグナリングされることを指定し、第2の値を有するPPSフラグ567は、サブピクチャIDマッピング575がPPS512内でシグナリングされないことを指定する。
タイルグループヘッダ514は、ピクチャ内の各タイルグループに特有であるパラメータを含む。したがって、ビデオシーケンス内のタイルグループごとに1つのタイルグループヘッダ514があり得る。タイルグループヘッダ514は、タイルグループ情報、ピクチャ順序カウント(POC)、参照ピクチャリスト、予測重み、タイルエントリポイント、デブロッキングパラメータなどを含んでよい。いくつかのシステムがスライスヘッダとしてタイルグループヘッダ514を参照し、タイルグループの代わりにスライスをサポートするためにそのような情報を使用することが注記されるべきである。
画像データ520は、インター予測および/またはイントラ予測に従ってエンコードされたビデオデータ、ならびに対応する変換および量子化された残差データを含む。そのような画像データ520は、エンコードの前に画像を区分するために使用される区分に従ってソートされる。たとえば、画像データ520内の画像は、1つまたは複数のピクチャ521を含む。ピクチャのシーケンスまたは系列527は、CVS527と呼ばれ得る。ここで使用されるように、CVS527は、コーディングされたビデオシーケンス開始(CVSS)AUと、それに続く、CVSS AUである任意の後続のAUまでの、しかしそれを含まない、すべての後続のAUを含む、CVSS AUでない0個以上のAUとを、デコード順序で含むアクセスユニット(AU)のシーケンスである。CVSS AUは、ビデオパラメータセット(VPS)によって指定されるレイヤごとに予測ユニット(PU)があり、かつ各PU内のコーディングされたピクチャがCLVSSピクチャであるAUである。一実施形態では、各ピクチャ521はAU内にある。PUは、指定された分類規則に従って互いに関連付けられるNALユニットのセットであり、デコード順序で連続しており、厳密に1つのコーディングされたピクチャを含む。
CVSは、ビデオビットストリーム内のあらゆるコーディングされたレイヤビデオシーケンス(coded layer video sequence(CLVS))のためのコーディングされたビデオシーケンスである。特に、CVSおよびCLVSは、ビデオビットストリームが単一のレイヤを含むときは同じである。ビデオビットストリームが複数のレイヤを含むときのみ、CVSおよびCLVSは異なる。
ピクチャ521の各々は、タイル523に分割され得る。タイル523は、水平および垂直の境界によって作り出された、ピクチャの区分された部分である。タイル523は、長方形および/または正方形であってよい。具体的には、タイル523は、直角に接続されている4つの辺を含む。4つの辺は、平行な辺の2つのペアを含む。さらに、平行な辺のペアの中の辺は、等しい長さである。それゆえ、タイル523は任意の長方形形状であってよく、正方形は、すべての4つの辺が等しい長さである、長方形の特別な場合である。画像/ピクチャは、1つまたは複数のタイル523を含むことができる。
ピクチャ(たとえば、ピクチャ521)は、タイル523の行および列に区分され得る。タイル行は、ピクチャの左の境界から右の境界まで(またはその逆に)連続的なラインを作り出すように水平に隣接するやり方で配置されたタイル523のセットである。タイル列は、ピクチャの上の境界から下の境界まで(またはその逆に)連続的なラインを作り出すように垂直に隣接するやり方で配置されたタイル523のセットである。
タイル523は、例に依存して、他のタイル523に基づく予測を可能にすることもしないこともある。各タイル523は、ピクチャ内に一意のタイルインデックスを有してよい。タイルインデックスは、あるタイル523を別のタイル523から区別するために使用されることが可能である手続き的に選択された数値識別子である。たとえば、タイルインデックスは、ラスタ走査順序で数値的に増加してよい。ラスタ走査順序は、左から右かつ上から下である。
いくつかの例では、タイル523は、また、タイル識別子(ID)を割り当てられてよいことが注記されるべきである。タイルIDは、あるタイル523を別のタイル523から区別するために使用されることが可能である割り当てられた識別子である。いくつかの例では、算出はタイルインデックスの代わりにタイルIDを利用してよい。さらに、いくつかの例では、タイルIDは、タイルインデックスと同じ値を有するように割り当てられることが可能である。タイルインデックスおよび/またはIDは、タイル523を含むタイルグループを示すためにシグナリングされ得る。たとえば、タイルインデックスおよび/またはIDは、タイル523に関連付けられたピクチャデータを表示のための適切な位置にマッピングするために利用されてよい。タイルグループは、たとえば、関心領域の表示をサポートするために、かつ/または並列処理をサポートするために、別々に抽出およびコーディングされることが可能であるタイル523の関連するセットである。タイルグループ内のタイル523は、タイルグループの外部のタイル523を参照せずにコーディングされることが可能である。各タイル523は対応するタイルグループに割り当てられてよく、したがって、ピクチャは複数のタイルグループを含むことができる。
タイル523は、コーディング・ツリー・ユニット(CTU)にさらに分割される。CTUは、コーディング・ツリーに基づいてコーディングブロックにさらに分割される。コーディングブロックは、次いで、予測メカニズムに従ってエンコード/デコードされることが可能である。
図6Aから6Eは、異なるビットストリームからの複数の解像度のサブピクチャを仮想現実(VR)アプリケーションにおける使用のための単一のピクチャに組み合わせるための、エクストラクタトラック610(マージされたビットストリームとしても知られる)を作り出すための一例のメカニズム600を例示する。メカニズム600は、方法100の一例の使用事例をサポートするために利用され得る。たとえば、メカニズム600は、コーデックシステム200および/またはエンコーダ300からコーデックシステム200および/またはデコーダ400に向けた送信のためのビットストリーム500を生成するために利用されることが可能である。特定の例として、メカニズム600は、VR、全方向性メディアフォーマット(Omnidirectional Media Format(OMAF))、360度ビデオなどと合わせた使用のために利用されることが可能である。
VRでは、ビデオの一部分のみがユーザに表示される。たとえば、VRビデオは、ユーザを取り囲む球体を含むように撮影され得る。ユーザは、VRビデオを見るためにヘッドマウントディスプレイ(HMD)を利用し得る。ユーザは、関心領域に向かってHMDを向けてよい。関心領域がユーザに表示され、他のビデオデータは捨てられる。このようにして、ユーザは、任意の瞬間において、VRビデオの、ユーザが選択した部分のみを見る。この手法は、ユーザの知覚を模倣し、したがって、実環境を模倣するやり方でユーザに仮想環境を体験させる。この手法に伴う問題のうちの1つは、VRビデオ全体がユーザへ送信され得るが、ビデオの現在のビューポートのみが実際に使用され、残りが捨てられることである。ストリーミングアプリケーションについてシグナリング効率を増加させるために、ユーザの現在のビューポートは、より高い第1の解像度で送信されることが可能であり、他のビューポートは、より低い第2の解像度で送信されることが可能である。このようにして、捨てられる見込みがあるビューポートは、ユーザによって見られる見込みがあるビューポートよりも小さい帯域幅を占める。ユーザが新たなビューポートを選択する場合には、異なる現在のビューポートがより高い第1の解像度で送信されることをデコーダが要求し得るまで、より低い解像度のコンテンツが表示され得る。この機能をサポートするために、図6Eに表されたようなエクストラクタトラック610を作り出すためにメカニズム600が利用されることが可能である。エクストラクタトラック610は、上で説明されたような使用のために複数の解像度でピクチャ(たとえば、ピクチャ521)をカプセル化する画像データのトラックである。
メカニズム600は、それぞれ、図6Aおよび図6Bに表されたように、同じビデオコンテンツを第1の解像度611および第2の解像度612でエンコードする。特定の例として、第1の解像度611は5120×2560ルマサンプルであってよく、第2の解像度612は2560×1280ルマサンプルであってよい。ビデオのピクチャは、それぞれ、第1の解像度611におけるタイル601、および第2の解像度612におけるタイル603に区分され得る。ここで使用されるように、タイルは、サブピクチャと呼ばれ得る。表された例では、タイル601および603は各々、4×2グリッドに区分される。さらに、各タイル601および603の位置についてMCTSがコーディングされることが可能である。第1の解像度611および第2の解像度612におけるピクチャは各々、対応する解像度で時間にわたってビデオを記述するMCTSシーケンスをもたらす。各々のコーディングされたMCTSシーケンスは、サブピクチャトラックまたはタイルトラックとして記憶される。メカニズム600は、次いで、ビューポート適応MCTS選択をサポートするために、ピクチャを使用してセグメントを作り出すことができる。たとえば、高解像度および低解像度MCTSの異なる選択を引き起こす、見ている方位の各範囲が考慮される。例示された例では、第1の解像度611におけるMCTSを含む4つのタイル601、および第2の解像度612におけるMCTSを含む4つのタイル603が取得される。
メカニズム600は、次いで、可能なビューポート適応MCTS選択ごとにエクストラクタトラック610を作り出すことができる。図6Cおよび6Dは、一例のビューポート適応MCTS選択を例示する。具体的には、選択されるタイル605および607のセットは、それぞれ、第1の解像度611および第2の解像度612において選択される。選択されるタイル605および607は、灰色の陰影で例示される。表された例では、選択されるタイル605は、ユーザに表示されるべき第1の解像度611におけるタイル601であり、選択されるタイル607は、捨てられる見込みがあるが、ユーザが新たなビューポートを選択する場合には表示をサポートするために保持される第2の解像度612におけるタイル603である。選択されるタイル605および607は、次いで、第1の解像度611と第2の解像度612の両方における画像データを含む単一のピクチャに組み合わせられる。そのようなピクチャは、エクストラクタトラック610を作り出すように組み合わせられる。図6Eは、例示の目的のために、対応するエクストラクタトラック610からの単一のピクチャを例示する。表されたように、エクストラクタトラック610内のピクチャは、第1の解像度611および第2の解像度612からの、選択されるタイル605および607を含む。上で注記されたように、図6Cから6Eは、単一のビューポート適応MCTS選択を例示する。任意のビューポートのユーザ選択を可能にするために、選択されるタイル605と607の可能な組み合わせごとに、エクストラクタトラック610が作り出されるべきである。
表された例では、第2の解像度612のビットストリームからのコンテンツをカプセル化するタイル603の各選択は、2つのスライスを含む。パッキングされたピクチャと正距円筒図法投影(equirectangular projection(ERP))フォーマットの投影されたピクチャとの間のマッピングを作り出すために、エクストラクタトラック610にRegionWisePackingBoxが含まれてよい。提示された例では、エクストラクタトラック610から分解されたビットストリームは、解像度3200×2560を有する。したがって、4000サンプル(4K)対応デコーダは、5000サンプル5K(5120×2560)解像度を有するコーディングされたビットストリームからビューポートが抽出されるコンテンツをデコードし得る。
図6Cに表されたように、第1の解像度611での選択されたタイル605(灰色で表される)は、以下のタイル識別子、すなわち、10、11、14、および15を有する。ここで使用されるように、タイル識別子は、サブピクチャ識別子とも呼ばれ得る。第2の解像度612での選択されたタイル607は、以下の識別子、すなわち、1、5、4、および8を有する。したがって、エクストラクタトラック610は、以下のタイル識別子、すなわち、10、11、14、15、1、5、4、および8を含む。タイル識別子は、サブピクチャインデックスを使用して特定のサブピクチャを識別するために使用され、サブピクチャインデックスは、ここでサブピクチャIDマッピングと呼ばれ得る。
図7Aから7Eは、図6Aから6Eについて選ばれたビューポートに対してユーザがビューポートを変更したとき、異なるビットストリームからの複数の解像度のサブピクチャをVRアプリケーションにおける使用のための単一のピクチャに組み合わせるための、エクストラクタトラック710を作り出すための一例のメカニズム700を例示する。すなわち、図7Aから7Eは、見ている方位の変化がCVS内にあるとき、新たなエクストラクタトラック710がどのように作り出されるかを例示し、これはエクストラクタトラック610およびエクストラクタトラック710を含む。
図7Aから7Bに表されたように、ビデオのピクチャは、それぞれ、第1の解像度711でのタイル701および第2の解像度712でのタイル703に区分された。しかし、メカニズム600に対してメカニズム700では見ている方位の変化があった。したがって、図7Cから7Dに表されたように、第1の解像度711での選択されたタイル705(灰色で表される)は、現在、以下のタイル識別子、すなわち、9、10、13、および14を有し、第2の解像度712での選択されたタイル707は、現在、以下の識別子、すなわち、3、4、7、および8を有する。したがって、エクストラクタトラック710は、見ている方位の変化に起因して、以下のタイル識別子、すなわち、3、4、7、8、9、10、13、および14を含む。
送信されているCVSがサブピクチャの一定のセットを含むとき、関連するサブピクチャIDがSPS内に残される(他のすべては除去される)。(たとえば、エクストラクタトラック610または710のうちの1つを形成するために)マージングが発生するとき、サブピクチャIDはPPSに移動させられる。いずれの場合も、サブピクチャIDが現在どこに配置されるかを示すために、ビットストリーム内でフラグが設定される。
通常、見ている方位の変化が発生するとき、新たなIRAPピクチャが送られなければならない。IRAPピクチャは、それについてすべてのVCL NALユニットが同じ値のNALユニットタイプを有するコーディングされたピクチャである。IRAPピクチャは、以下の2つの重要な機能/利益を提供する。第一に、IRAPピクチャの存在は、そのピクチャからデコードプロセスが開始することができることを示す。この機能は、その位置においてIRAPピクチャが存在する限り、必ずしもビットストリームの始まりとは限らず、ビットストリーム内のその位置においてデコードプロセスが開始するランダムアクセス機能を可能にする。第二に、IRAPピクチャの存在は、ランダムアクセススキップドリーディング(random access skipped leading(RASL))ピクチャを除いて、IRAPピクチャにおいて開始するコーディングされたピクチャが、前のピクチャへのいかなる参照もせずにコーディングされるように、デコードプロセスをリフレッシュする。したがって、ビットストリーム内にIRAPピクチャを存在させることは、IRAPピクチャの前のコーディングされたピクチャのデコードの間に起こり得る任意のエラーが、IRAPピクチャおよびデコード順序でIRAPピクチャに続くそれらのピクチャに伝搬することを止めることになる。
IRAPピクチャは重要な機能を提供するが、それらは圧縮効率への不利益が付随する。IRAPピクチャの存在は、ビットレートにおける急増を引き起こす。圧縮効率へのこの不利益は、2つの理由に起因する。第一に、IRAPピクチャがイントラ予測されるピクチャであるので、ピクチャ自体が、インター予測されるピクチャである他のピクチャ(たとえば、先行するピクチャ、後続するピクチャ)と比較するとき、表現するために比較的多くのビットを要求することになる。第二に、IRAPピクチャの存在が時間予測を切断するので(これは、デコーダがデコードプロセスをリフレッシュすることになるからであり、これのためのデコードプロセスのアクションのうちの1つが、デコードされたピクチャバッファ(DPB)内の前の参照ピクチャを除去することである)、IRAPピクチャは、それらのインター予測コーディングのためにより少ない参照ピクチャを有するので、デコード順序でIRAPピクチャに続くピクチャのコーディングをあまり効率的でなくさせる(すなわち、表現するためにより多くのビットを必要とする)。
一実施形態では、IRAPピクチャは、ランダムアクセスデコード可能(random access decodable(RADL))ピクチャとともに、クリーンランダムアクセス(clean random access(CRA))ピクチャまたは瞬時デコーダリフレッシュ(IDR)ピクチャと呼ばれる。HEVCでは、IDRピクチャ、CRAピクチャ、およびブロークンリンクアクセス(Broken Link Access(BLA))ピクチャは、すべてIRAPピクチャと考えられる。VVCについて、2018年10月における第12回JVET会合の間に、IRAPピクチャとしてIDRおよびCRAピクチャの両方を有することが合意された。一実施形態では、ブロークンリンクアクセス(BLA)および漸進的デコーダリフレッシュ(Gradual Decoder Refresh(GDR))ピクチャも、IRAPピクチャであると考えられ得る。コーディングされたビデオシーケンスのためのデコードプロセスは、常にIRAPピクチャにおいて開始する。
上で説明されたように新たなIRAPピクチャを送ることとは対照的に、より良好な手法は、エクストラクタトラック610とエクストラクタトラック710の間で共有される任意のタイル(サブピクチャとしても知られる)を送り続けることである。すなわち、以下のタイルID、すなわち、4、8、10、および14を有するタイルが、エクストラクタトラック610およびエクストラクタトラック710の両方の中にあるので、それらのタイルを送り続ける。そうする際に、エクストラクタトラック710内の、エクストラクタトラック610内にもなかった、それらのタイルについてのみ、新たなIRAPピクチャが送られる必要がある。すなわち、見ている方位が変化したとき、以下のタイルID、すなわち、1、5、9、および13を有するタイルについてのみ、新たなIRAPピクチャが送られる必要がある。しかし、CVS内でのサブピクチャIDの変化は、シグナリングにおける問題を引き起こし得る。
少なくともシグナリング問題を解決するために、タイル(サブピクチャとしても知られる)ごとのタイルID(サブピクチャIDとしても知られる)がCVS内で変化し得るかどうかを示すために、ビットストリーム内で指示(たとえば、フラグ)がシグナリングされる。そのようなフラグは、SPS内またはPPS内でシグナリングされてよい。タイルIDがCVS内で変化し得るかどうかをシグナリングすることに加えて、フラグが他の機能も提供してよい。
ある手法では、SPSシンタックス内(サブピクチャごとのサブピクチャIDがCVS内で変化しないことが示されるとき)、またはPPSシンタックス内(サブピクチャごとのサブピクチャIDがCVS内で変化し得ることが示されるとき)のいずれかで、サブピクチャIDがシグナリングされる。一実施形態では、サブピクチャIDは、SPSシンタックス内およびPPSシンタックス内の両方で、まったくシグナリングされない。
別の手法では、サブピクチャIDは、常にSPSシンタックス内でシグナリングされ、サブピクチャごとのサブピクチャIDがCVS内で変化し得ることをフラグが示すとき、SPS内でシグナリングされるサブピクチャID値は、PPSシンタックス内でシグナリングされるサブピクチャIDによって上書きされてよい。
また別の手法では、サブピクチャIDは、SPSシンタックス内ではなくPPSシンタックス内でのみシグナリングされ、サブピクチャごとのサブピクチャIDがCVS内で変化し得るかどうかの指示も、PPSシンタックス内でのみシグナリングされる。
この手法では、最新のVVCドラフト仕様におけるようなフラグsubpic_treated_as_pic_flag[i]およびloop_filter_across_subpic_enabled_flag[i]とともに、各サブピクチャの位置およびサイズ、ビットでのサブピクチャIDの長さのような、他のサブピクチャ情報も、SPS内の代わりにPPS内でシグナリングされてよいが、すべてはCVS内のコーディングされたピクチャによって参照されるすべてのPPSについて同じである。
サブピクチャ位置およびサイズが、最新のVVCドラフト仕様におけるのと同様にシグナリングされる代わりに、PPS内でシグナリングされるとき、それらは各サブピクチャに含まれるスライスに基づいてシグナリングされることが可能である。たとえば、サブピクチャごとに、サブピクチャの左上隅に位置するスライスのスライスインデックスまたはID、およびサブピクチャの右下隅に位置するスライスのスライスインデックスまたはIDが、サブピクチャ位置およびサイズの導出のためにシグナリングされることが可能であり、シグナリングはデルタベースであることが可能であり、いくつかの特定の場合には、スライスインデックスまたはIDまたはそのデルタのシグナリングは回避されてよく、その値は、たとえば、最新のVVCドラフト仕様において長方形スライスについて左上および右下のブリックインデックスがシグナリングされるやり方と同様に推測される。
この実施形態では、サブピクチャIDは以下のようにシグナリングされる。
SPSシンタックス内で、CVS内の各ピクチャ内のサブピクチャの数が1よりも大きいことが示されるとき、以下が適用される。
フラグ(たとえば、指定されたsubpicture_ids_signalled_in_sps_flagまたはsps_subpic_id_mapping_present_flag)がSPS内でシグナリングされる。一実施形態では、フラグは以下のセマンティックを有する。すなわち、1に等しいsubpicture_ids_signalled_in_sps_flagは、サブピクチャIDがSPS内でサブピクチャごとに1つシグナリングされること、および特定のサブピクチャごとのサブピクチャID値がCVS内で変化しないことを指定する。0に等しいsubpicture_ids_signalled_in_sps_flagは、サブピクチャIDがSPS内でシグナリングされないが、代わりにPPS内でシグナリングされ、特定のサブピクチャごとのサブピクチャID値がCVS内で変化し得ることを指定する。subpicture_ids_signalled_in_sps_flagが1に等しいとき、サブピクチャIDはSPS内でサブピクチャごとにシグナリングされる。
PPSシンタックス内で、フラグ(たとえば、指定されたsubpicture_ids_signalled_in_pps_flagまたはpps_subpic_id_mapping_present_flag)がPPS内でシグナリングされる。フラグは以下のセマンティックを有する。すなわち、1に等しいsubpicture_ids_signalled_in_pps_flagは、サブピクチャIDがPPS内でサブピクチャごとに1つシグナリングされ、特定のサブピクチャごとのサブピクチャID値がCVS内で変化し得ることを指定する。0に等しいsubpicture_ids_signalled_in_pps_flagは、サブピクチャIDがPPS内でシグナリングされないが、代わりにSPS内でシグナリングされ、特定のサブピクチャごとのサブピクチャID値がCVS内で変化しないことを指定する。
一実施形態では、subpicture_ids_signalled_in_pps_flagの値は、1-subpicture_ids_signalled_in_sps_flagに等しいものとする。subpicture_ids_signalled_in_pps_flagが1に等しいとき、サブピクチャIDはPPS内でサブピクチャごとにシグナリングされる。
スライスヘッダシンタックス内で、参照されるSPSによって指定されるサブピクチャの数にかかわらず、サブピクチャIDがシグナリングされる。
代替として、各ピクチャ内のサブピクチャの数が1よりも大きいとき、SPSシンタックスは、常にサブピクチャIDをサブピクチャごとに1つ含み、SPSシンタックスは、また、サブピクチャIDが、PPSシンタックス内でシグナリングされるサブピクチャIDによって上書きされ得るかどうか、および特定のサブピクチャごとのサブピクチャID値がCVS内で変化し得るかどうかを指定するフラグを含む。サブピクチャIDの上書きは、サブピクチャIDのすべてについて常に、またはすべてのサブピクチャIDのうちの選択されたサブセットについてのみ、のいずれかで実行されることが可能である。
図8は、ビデオデコーダ(たとえば、ビデオデコーダ400)によって実行されるデコードする方法800の一実施形態である。方法800は、デコードされたビットストリームがビデオエンコーダ(たとえば、ビデオエンコーダ300)から直接または間接に受信された後に実行されてよい。方法800は、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャIDがCVS内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証することによって、デコードプロセスを改善する。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
ブロック802において、ビデオデコーダは、SPS(たとえば、SPS510)、PPS(たとえば、PPS512)、およびサブピクチャ識別子(ID)マッピング575に関連付けられた複数のサブピクチャ(たとえば、タイル605および607)を含むビデオビットストリーム(たとえば、ビットストリーム500)を受信する。上で注記されたように、サブピクチャIDマッピング575は、サブピクチャインデックスを介した特定のサブピクチャへのサブピクチャIDのマッピングである(たとえば、サブピクチャID 8が、複数のサブピクチャから特定のサブピクチャを識別するサブピクチャインデックス8に対応する)。一実施形態では、SPS510はSPSフラグ565を含む。一実施形態では、PPS512はPPSフラグ567を含む。
ブロック804において、ビデオデコーダは、SPSフラグ565が第1の値を有するか、または第2の値を有するかを決定する。第1の値を有するSPSフラグ565は、サブピクチャIDマッピング575がSPS510に含まれることを指定し、第2の値を有するSPSフラグ565は、サブピクチャIDマッピング575がPPS512内でシグナリングされることを指定する。
SPSフラグ565が第2の値を有するとき、ブロック806において、ビデオデコーダは、PPSフラグ567が第1の値を有するか、または第2の値を有するかを決定する。第1の値を有するPPSフラグ567は、サブピクチャIDマッピング575がPPS512に含まれることを指定し、第2の値を有するPPSフラグ567は、サブピクチャIDマッピング575がPPS512内でシグナリングされないことを指定する。
一実施形態では、PPSフラグ567が第2の値を有するとき、SPSフラグ656は第1の値を有する。一実施形態では、PPSフラグ567が第1の値を有するとき、SPSフラグ565は第2の値を有する。一実施形態では、第1の値は1であり、第2の値は0である。
一実施形態では、SPS510は第2のSPSフラグ569を含む。第2のSPSフラグ569は、サブピクチャマッピング575がSPS510またはPPS512内で明示的にシグナリングされるかどうかを指定する。一実施形態では、ビットストリーム500は、CVS変更フラグ571をさらに備える。CVS変更フラグ571は、サブピクチャIDマッピング575がビットストリーム500のCVS590内で変化し得るかどうかを示す。一実施形態では、CVS変更フラグ571は、SPS510、PPS512、またはビットストリーム500内の別のパラメータセットまたはヘッダに含まれる。
ブロック808において、ビデオデコーダは、SPSフラグ565が第1の値を有するときにはSPS510から、SPSが第2の値を有するときかつ/またはPPSフラグ567が第1の値を有するときにはPPS512から、サブピクチャIDマッピング575を取得する。一実施形態では、ビットストリームは、マージされたビットストリームを備える。一実施形態では、サブピクチャIDマッピング575は、ビットストリーム500のCVS590内で変化した。
ブロック810において、ビデオデコーダは、サブピクチャIDマッピング575を使用して複数のサブピクチャをデコードする。いったんデコードされると、複数のサブピクチャは、電子デバイス(たとえば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレイまたはスクリーンにおけるユーザへの表示のために、画像またはビデオシーケンスを生成するかまたは作成するために使用され得る。
図9は、ビデオエンコーダ(たとえば、ビデオエンコーダ300)によって実行される、ビデオビットストリームをエンコードする方法900の一実施形態である。方法900は、(たとえば、ビデオからの)ピクチャがビデオビットストリームにエンコードされ、次いで、ビデオデコーダ(たとえば、ビデオデコーダ400)に向けて送信されるべきであるとき、実行されてよい。方法900は、サブビットストリーム抽出とサブビットストリームマージングの両方を伴う適用シナリオにおいて、サブピクチャIDがCVS内で変化するときでさえサブピクチャIDの効率的なシグナリングを保証することによって、エンコードプロセスを改善する。これは、冗長性を低減し、コーディング効率を増加させる。したがって、ビデオコーディングにおけるコーダ/デコーダ(「コーデック」としても知られる)は、現在のコーデックに対して改善される。実用的な事項として、改善されたビデオコーディングプロセスは、ビデオが送られ、受信され、かつ/または見られるとき、より良好なユーザ体験をユーザに与える。
ブロック902において、ビデオエンコーダは、SPS(たとえば、SPS510)、PPS(たとえば、PPS512)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャ(たとえば、タイル605および607)を含むビットストリームをエンコードする。上で注記されたように、サブピクチャIDマッピング575は、サブピクチャインデックスを介した特定のサブピクチャへのサブピクチャIDのマッピングである(たとえば、サブピクチャID 8が、複数のサブピクチャから特定のサブピクチャを識別するサブピクチャインデックス8に対応する)。一実施形態では、SPS510はSPSフラグ565を含み、PPS512はPPSフラグ567を含む。
ブロック904において、ビデオエンコーダは、サブピクチャIDマッピング575がSPS510に含まれるときには第1の値に、サブピクチャIDマッピング575がPPS512内でシグナリングされるときには第2の値に、SPSフラグ565を設定する。
ブロック906において、ビデオエンコーダは、サブピクチャIDマッピング575がPPS512に含まれるときには第1の値に、サブピクチャIDマッピング575がPPS512内でシグナリングされないときには第2の値に、PPSフラグ567を設定する。
一実施形態では、PPSフラグ567が第2の値を有するとき、SPSフラグ565は第1の値を有する。一実施形態では、PPSフラグ567が第1の値を有するとき、SPSフラグ565は第2の値を有する。一実施形態では、第1の値は1であり、第2の値は0である。
一実施形態では、SPS510は第2のSPSフラグ569を含む。第2のSPSフラグ569は、サブピクチャIDマッピング575がSPS510またはPPS512内で明示的にシグナリングされるかどうかを指定する。一実施形態では、ビットストリーム500は、CVS変更フラグ571をさらに備える。CVS変更フラグ571は、サブピクチャIDマッピング575がビットストリーム500のCVS590内で変化し得るかどうかを示す。一実施形態では、CVS変更フラグ571は、SPS510、PPS512、またはビットストリーム500内の別のパラメータセットまたはヘッダに含まれる。
ブロック908において、ビデオエンコーダは、デコーダに向けた通信のためにビットストリームを記憶する。ビットストリームは、ビデオビットストリームがビデオデコーダに向けて送信されるまでメモリに記憶されてよい。いったんビデオデコーダによって受信されると、エンコードされたビデオビットストリームは、電子デバイス(たとえば、スマートフォン、タブレット、ラップトップ、パーソナルコンピュータなど)のディスプレイまたはスクリーンにおけるユーザへの表示のために、画像またはビデオシーケンスを生成するかまたは作成するために、(たとえば、上で説明されたように)デコードされ得る。
一実施形態では、サブピクチャIDは以下のようにシグナリングされる。
SPSシンタックスは、サブピクチャIDのシグナリングを含まない。
PPSシンタックス内で、サブピクチャの数を示す値がシグナリングされ、それは、CVS内のコーディングされたピクチャによって参照されるすべてのPPSについて同じであることが要求され、サブピクチャの示された数が1よりも大きいとき、以下が適用される。
フラグ、たとえば、名付けられたsubpicture_id_unchanging_in_cvs_flagが、以下のセマンティックを有して、PPS内でシグナリングされる。すなわち、1に等しいsubpicture_id_unchanging_in_cvs_flagは、PPS内でシグナリングされる特定のサブピクチャごとのサブピクチャIDがCVS内で変化しないことを指定する。0に等しいsubpicture_id_unchanging_in_cvs_flagは、PPS内でシグナリングされる特定のサブピクチャごとのサブピクチャIDがCVS内で変化し得ることを指定する。
サブピクチャの数を示す値は、PPS内でシグナリングされる。サブピクチャの示される数は、CVS内のコーディングされたピクチャによって参照されるすべてのPPSについて同じであるものとする。
サブピクチャIDは、PPS内でサブピクチャごとにシグナリングされる。subpicture_id_unchanging_in_cvs_flagが1に等しいとき、特定のサブピクチャごとのサブピクチャIDは、CVS内のコーディングされたピクチャによって参照されるすべてのPPSについて同じであるものとする。
スライスヘッダシンタックスの中で、参照されるSPSによって指定されるサブピクチャの数にかかわらず、サブピクチャIDがシグナリングされる。
ここに記載された例示の方法のステップが、説明された順序で実行されることを必ずしも要求されないことも理解されるべきであり、そのような方法のステップの順序は、単に例示であると理解されるべきである。同様に、そのような方法に追加のステップが含まれてよく、本開示の様々な実施形態と一致する方法において、あるステップが省略され、または組み合わせられてよい。
図10は、開示の一実施形態によるビデオコーディングデバイス1000(たとえば、ビデオエンコーダ300またはビデオデコーダ400)の概略図である。ビデオコーディングデバイス1000は、ここで説明されたような開示される実施形態を実現するために適している。ビデオコーディングデバイス1000は、データを受信するための入口ポート1010および受信機ユニット(Rx)1020、データを処理するためのプロセッサ、論理ユニット、または中央処理ユニット(CPU)1030、データを送信するための送信機ユニット(Tx)1040および出口ポート1050、およびデータを記憶するためのメモリ1060を備える。ビデオコーディングデバイス1000は、また、光または電気信号の出口または入口のために、入口ポート1010、受信機ユニット1020、送信機ユニット1040、および出口ポート1050に結合された光電気(optical-to-electrical(OE))構成要素および電気光(electrical-to-optical(EO))構成要素を備えてよい。
プロセッサ1030は、ハードウェアおよびソフトウェアによって実現される。プロセッサ1030は、1つまたは複数のCPUチップ、コア(たとえば、マルチコアプロセッサとして)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、およびデジタル信号プロセッサ(DSP)として実現されてよい。プロセッサ1030は、入口ポート1010、受信機ユニット1020、送信機ユニット1040、出口ポート1050、およびメモリ1060と通信している。プロセッサ1030は、コーディングモジュール1070を備える。コーディングモジュール1070は、上で説明された開示される実施形態を実現する。たとえば、コーディングモジュール1070は、様々なコーデック機能を実現、処理、準備、または提供する。したがって、コーディングモジュール1070の包含は、ビデオコーディングデバイス1000の機能にかなりの改善を提供し、異なる状態へのビデオコーディングデバイス1000の変換をもたらす。代替として、コーディングモジュール1070は、メモリ1060に記憶され、プロセッサ1030によって実行される命令として実現される。
ビデオコーディングデバイス1000は、また、ユーザへのおよびユーザからのデータを伝達するための入力および/または出力(I/O)デバイス1080を含んでよい。I/Oデバイス1080は、ビデオデータを表示するためのディスプレイ、オーディオデータを出力するためのスピーカーなどのような出力デバイスを含んでよい。I/Oデバイス1080は、また、キーボード、マウス、トラックボールなどのような入力デバイス、および/またはそのような出力デバイスと相互作用するための対応するインターフェースを含んでよい。
メモリ1060は、1つまたは複数のディスク、テープドライブ、およびソリッドステートドライブを備え、実行のためにプログラムが選択されるときにそのようなプログラムを記憶するために、プログラム実行の間に読み取られる命令およびデータを記憶するために、オーバーフローデータ記憶デバイスとして使用され得る。メモリ1060は、揮発性および/または不揮発性であってよく、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、3値連想メモリ(TCAM)、および/またはスタティックランダムアクセスメモリ(SRAM)であってよい。
図11は、コーディングするための手段1100の一実施形態の概略図である。一実施形態では、コーディングするための手段1100は、ビデオコーディングデバイス1102(たとえば、ビデオエンコーダ300またはビデオデコーダ400)内に実装される。ビデオコーディングデバイス1102は受信手段1101を含む。受信手段1101は、エンコードすべきピクチャを受信するように、またはデコードすべきビットストリームを受信するように構成される。ビデオコーディングデバイス1102は、受信手段1101に結合された送信手段1107を含む。送信手段1107は、ビットストリームをデコーダへ送信するように、またはデコードされた画像を表示手段(たとえば、I/Oデバイス1080のうちの1つ)へ送信するように構成される。
ビデオコーディングデバイス1102は記憶手段1103を含む。記憶手段1103は、受信手段1101または送信手段1107のうちの少なくとも1つに結合される。記憶手段1103は、命令を記憶するように構成される。ビデオコーディングデバイス1102は、また、処理手段1105を含む。処理手段1105は、記憶手段1103に結合される。処理手段1105は、ここで開示された方法を実行するために、記憶手段1103に記憶された命令を実行するように構成される。
いくつかの実施形態が本開示において提供されたが、開示されたシステムおよび方法は、本開示の精神または範囲から逸脱することなく、多くの他の特定の形式で具現化され得ることが理解され得る。本例は、例示的であり、制限的でないとして考慮されるべきであり、意図はここで与えられる詳細に限定されることでない。たとえば、別のシステムでは様々な要素またはコンポーネントが組み合わされ、または統合されてよく、またはある特徴が省略され、または実装されなくてよい。
加えて、様々な実施形態において個別または別々として説明され例示される技法、システム、サブシステム、および方法は、本開示の範囲から逸脱することなく、他のシステム、コンポーネント、技法、または方法と組み合わされ、または統合されてよい。改変、置換、および変更の他の例は、この技術分野の当業者によって確認可能であり、ここで開示される精神および範囲から逸脱することなく行われ得る。
100 動作方法
200 コーディングおよびデコード(コーデック)システム
201 区分されたビデオ信号
211 汎用コーダ制御コンポーネント
213 変換スケーリングおよび量子化構成要素
215 イントラピクチャ推定構成要素
217 イントラピクチャ予測構成要素
219 動き補償構成要素
221 動き推定構成要素
223 デコードされたピクチャバッファ構成要素
225 ループ内フィルタ構成要素
227 フィルタ制御分析構成要素
229 スケーリングおよび逆変換構成要素
231 ヘッダフォーマッティングおよびコンテキスト適応型バイナリ算術コーディング(CABAC)構成要素
300 ビデオエンコーダ
301 区分されたビデオ信号
313 変換および量子化構成要素
317 イントラピクチャ予測構成要素
321 動き補償構成要素
323 デコードされたピクチャバッファ構成要素
325 ループ内フィルタ構成要素
329 逆変換および量子化構成要素
331 エントロピーコーディング構成要素
400 ビデオデコーダ
417 イントラピクチャ予測構成要素
421 動き補償構成要素
423 デコードされたピクチャバッファ構成要素
425 ループ内フィルタ構成要素
429 逆変換および量子化構成要素
433 エントロピーデコード構成要素
500 ビットストリーム
510 シーケンスパラメータセット(SPS)
512 ピクチャパラメータセット(PPS)
514 タイルグループヘッダ
520 画像データ
521 ピクチャ
523、601、603、605、607 タイル
527 ピクチャのシーケンスまたは系列
565 SPSフラグ
567 PPSフラグ
569 第2のSPSフラグ
571 CVS変更フラグ
575 サブピクチャ識別子(ID)マッピング
590 コーディングされたビデオシーケンス(CVS)
600 メカニズム
605、607 タイル
610 エクストラクタトラック
611 第1の解像度
612 第2の解像度
700 メカニズム
701、703、705、707 タイル
710 エクストラクタトラック
711 第1の解像度
712 第2の解像度
800 方法
900 方法
1000 ビデオコーディングデバイス
1010 入口ポート
1020 受信機ユニット(Rx)
1030 プロセッサ、論理ユニット、または中央処理ユニット(CPU)
1040 送信機ユニット(Tx)
1050 出口ポート
1060 メモリ
1070 コーディングモジュール
1080 入力および/または出力(I/O)デバイス
1100 コーディングするための手段
1101 受信手段
1102 ビデオコーディングデバイス
1103 記憶手段
1105 処理手段
1107 送信手段

Claims (30)

  1. デコーダによって実行される方法であって、
    シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビットストリームを、前記デコーダによって受信するステップであって、前記SPSがSPSフラグを含む、ステップと、
    前記SPSフラグが第1の値を有するか、または第2の値を有するかを前記デコーダによって決定するステップであって、前記第1の値を有する前記SPSフラグが、前記サブピクチャIDマッピングが前記SPS内でシグナリングされることを指定し、前記第2の値を有する前記SPSフラグが、前記サブピクチャIDマッピングが前記PPS内でシグナリングされることを指定する、ステップと、
    前記SPSフラグが前記第1の値を有するときには前記SPSから、前記SPSフラグが前記第2の値を有するときには前記PPSから、前記サブピクチャIDマッピングを前記デコーダによって取得するステップと、
    前記サブピクチャIDマッピングを使用して前記複数のサブピクチャを前記デコーダによってデコードするステップと
    を備える方法。
  2. 前記PPSがPPSフラグを含み、前記方法が、
    前記PPSフラグが前記第1の値を有するか、または前記第2の値を有するかを前記デコーダによって決定するステップであって、前記第1の値を有する前記PPSフラグが、前記サブピクチャIDマッピングが前記PPS内でシグナリングされることを指定し、前記第2の値を有する前記PPSフラグが、前記サブピクチャIDマッピングが前記PPS内でシグナリングされないことを指定する、ステップと、
    前記PPSフラグが前記第1の値を有するときには前記PPSから前記サブピクチャIDマッピングを前記デコーダによって取得するステップと
    をさらに備える、請求項1に記載の方法。
  3. 前記PPSフラグが前記第2の値を有するときには前記SPSフラグが前記第1の値を有し、前記PPSフラグが前記第1の値を有するときには前記SPSフラグが前記第2の値を有する、請求項2に記載の方法。
  4. 前記第1の値が1であり、前記第2の値が0である、請求項1から3のいずれか一項に記載の方法。
  5. 前記SPSが第2のSPSフラグを含み、前記第2のSPSフラグが、前記サブピクチャIDマッピングが前記SPSまたは前記PPS内で明示的にシグナリングされるかどうかを指定する、請求項1から4のいずれか一項に記載の方法。
  6. 前記ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、前記CVS変更フラグが、前記サブピクチャIDマッピングが前記ビットストリームのコーディングされたビデオシーケンス(CVS)内で変化することを許容されるかどうかを示す、請求項1から5のいずれか一項に記載の方法。
  7. 前記ビットストリームが、マージされたビットストリームを備え、前記サブピクチャIDマッピングが前記ビットストリームの前記CVS内で変化した、請求項6に記載の方法。
  8. エンコーダによって実行される方法であって、
    シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビットストリームを、前記エンコーダによってエンコードするステップであって、前記SPSがSPSフラグを含む、ステップと、
    前記サブピクチャIDマッピングが前記SPS内でシグナリングされるときには第1の値に、前記サブピクチャIDマッピングが前記PPS内でシグナリングされるときには第2の値に、前記SPSフラグを前記エンコーダによって設定するステップと、
    デコーダに向けた通信のために前記ビットストリームを前記エンコーダによって記憶するステップと
    を備える方法。
  9. 前記サブピクチャIDマッピングが前記PPS内でシグナリングされるときには前記第1の値に、前記サブピクチャIDマッピングが前記PPS内でシグナリングされないときには前記第2の値に、前記PPS内のPPSフラグを前記エンコーダによってさらに設定する、請求項8に記載の方法。
  10. 前記PPSフラグが前記第2の値を有するときには前記SPSフラグが前記第1の値を有し、前記PPSフラグが前記第1の値を有するときには前記SPSフラグが前記第2の値を有する、請求項9に記載の方法。
  11. 前記第1の値が1であり、前記第2の値が0である、請求項8から10のいずれか一項に記載の方法。
  12. 前記SPSが第2のSPSフラグを含み、前記第2のSPSフラグが、前記サブピクチャIDマッピングが前記SPSまたは前記PPS内で明示的にシグナリングされるかどうかを指定する、請求項8から11のいずれか一項に記載の方法。
  13. 前記ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、前記CVS変更フラグが、前記サブピクチャIDマッピングが前記ビットストリームのコーディングされたビデオシーケンス(CVS)内で変化し得るかどうかを示す、請求項8から12のいずれか一項に記載の方法。
  14. 前記ビットストリームが、マージされたビットストリームを備え、前記サブピクチャIDマッピングが前記ビットストリームの前記CVS内で変化した、請求項13に記載の方法。
  15. デコードデバイスであって、
    シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビットストリームを受信するように構成された受信機であって、前記SPSがSPSフラグを含む、受信機と、
    前記受信機に結合されたメモリであって、前記メモリが命令を記憶する、メモリと、
    前記メモリに結合されたプロセッサと
    を備え、前記プロセッサが、前記命令を実行して、前記デコードデバイスに、
    前記SPSフラグが第1の値を有するか、または第2の値を有するかを決定することであって、前記第1の値を有する前記SPSフラグが、前記サブピクチャIDマッピングが前記SPS内でシグナリングされることを指定し、前記第2の値を有する前記SPSフラグが、前記サブピクチャIDマッピングが前記PPS内でシグナリングされることを指定する、前記決定することと、
    前記SPSフラグが前記第1の値を有するときには前記SPSから、前記SPSフラグが前記第2の値を有するときには前記PPSから、前記サブピクチャIDマッピングを取得することと、
    前記サブピクチャIDマッピングを使用して前記複数のサブピクチャをデコードすることと
    を行わせるように構成された、デコードデバイス。
  16. 前記PPSがPPSフラグを含み、前記プロセッサが、
    前記PPSフラグが前記第1の値を有するか、または前記第2の値を有するかを決定することであって、前記第1の値を有する前記PPSフラグが、前記サブピクチャIDマッピングが前記PPS内でシグナリングされることを指定し、前記第2の値を有する前記PPSフラグが、前記サブピクチャIDマッピングが前記PPS内でシグナリングされないことを指定する、前記決定することと、
    前記PPSフラグが前記第1の値を有するときには前記PPSから前記サブピクチャIDマッピングを取得することと
    を行うようにさらに構成された、請求項15に記載のデコードデバイス。
  17. 前記PPSフラグが前記第2の値を有するときには前記SPSフラグが前記第1の値を有し、前記PPSフラグが前記第1の値を有するときには前記SPSフラグが前記第2の値を有し、前記第1の値が1であり、前記第2の値が0である、請求項16に記載のデコードデバイス。
  18. 前記SPSが第2のSPSフラグを含み、前記第2のSPSフラグが、前記サブピクチャIDマッピングが前記SPSまたは前記PPS内で明示的にシグナリングされるかどうかを指定する、請求項15から17のいずれか一項に記載のデコードデバイス。
  19. 前記ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、前記CVS変更フラグが、前記サブピクチャIDマッピングが前記ビットストリームのコーディングされたビデオシーケンス(CVS)内で変化し得るかどうかを示す、請求項15から18のいずれか一項に記載のデコードデバイス。
  20. 前記ビットストリームが、マージされたビットストリームを備え、前記サブピクチャIDマッピングが前記ビットストリームの前記CVS内で変化した、請求項19に記載のデコードデバイス。
  21. エンコードデバイスであって、
    命令を含むメモリと、
    前記メモリに結合されたプロセッサであって、前記命令を実行して、前記エンコードデバイスに、
    シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、およびサブピクチャ識別子(ID)マッピングに関連付けられた複数のサブピクチャを含むビットストリームをエンコードすることであって、前記SPSがSPSフラグを含む、前記エンコードすることと、
    前記サブピクチャIDマッピングが前記SPS内でシグナリングされるときには第1の値に、前記サブピクチャIDマッピングが前記PPS内でシグナリングされるときには第2の値に、前記SPSフラグを設定することと、
    前記サブピクチャIDマッピングが前記PPS内でシグナリングされるときには前記第1の値に、前記サブピクチャIDマッピングが前記PPS内でシグナリングされないときには前記第2の値に、前記PPS内のPPSフラグを設定することと
    を行わせるように構成されたプロセッサと、
    前記プロセッサに結合された送信機であって、ビデオデコーダに向けて前記ビットストリームを送信するように構成された送信機と
    を備えるエンコードデバイス。
  22. 前記PPSフラグが前記第2の値を有するときには前記SPSフラグが前記第1の値を有し、前記PPSフラグが前記第1の値を有するときには前記SPSフラグが前記第2の値を有する、請求項21に記載のエンコードデバイス。
  23. 前記第1の値が1であり、前記第2の値が0である、請求項21または22に記載のエンコードデバイス。
  24. 前記ビットストリームがコーディングされたビデオシーケンス(CVS)変更フラグをさらに備え、前記CVS変更フラグが、前記サブピクチャIDマッピングが前記ビットストリームのコーディングされたビデオシーケンス(CVS)内で変化し得るかどうかを示す、請求項21から23のいずれか一項に記載のエンコードデバイス。
  25. PPS IDが、使用中のPPSについての第2のPPS IDの値を指定し、前記第2のPPS IDが、シンタックス要素による参照のための前記PPSを識別する、請求項21から24のいずれか一項に記載のエンコードデバイス。
  26. 前記ビットストリームが、マージされたビットストリームを備え、前記サブピクチャIDマッピングが前記ビットストリームの前記CVS内で変化した、請求項24に記載のエンコードデバイス。
  27. コーディング装置であって、
    エンコードすべきピクチャを受信するように、またはデコードすべきビットストリームを受信するように構成された受信機と、
    前記受信機に結合された送信機であって、前記ビットストリームをデコーダへ送信するように、またはデコードされた画像をディスプレイへ送信するように構成された送信機と、
    前記受信機または前記送信機のうちの少なくとも1つに結合されたメモリであって、命令を記憶するように構成されたメモリと、
    前記メモリに結合されたプロセッサであって、前記メモリに記憶された前記命令を実行して、請求項1から7のいずれか一項および請求項8から14のいずれか一項に記載の方法を実行するように構成されたプロセッサと
    を備えるコーディング装置。
  28. デコードされたピクチャを表示するように構成されたディスプレイをさらに備える、請求項27に記載のコーディング装置。
  29. システムであって、
    エンコーダと、
    前記エンコーダと通信しているデコーダとを備え、前記エンコーダが、請求項21から26のいずれか一項に記載のエンコードデバイスを含み、前記デコーダが、請求項15から20のいずれか一項に記載のデコードデバイスを含む、システム。
  30. エンコードすべきピクチャを受信するように、またはデコードすべきビットストリームを受信するように構成された受信手段と、
    前記受信手段に結合された送信手段であって、前記ビットストリームをデコード手段へ送信するように、またはデコードされた画像を表示手段へ送信するように構成された送信手段と、
    前記受信手段または前記送信手段のうちの少なくとも1つに結合された記憶手段であって、命令を記憶するように構成された記憶手段と、
    前記記憶手段に結合された処理手段であって、前記記憶手段に記憶された前記命令を実行して、請求項1から7のいずれか一項および請求項8から14のいずれか一項に記載の方法を実行するように構成された処理手段と
    を備えるコーディングするための手段。
JP2022517248A 2019-09-17 2020-09-15 サブピクチャベースビデオコーディングにおいてサブピクチャidをシグナリングする Active JP7460760B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962901552P 2019-09-17 2019-09-17
US62/901,552 2019-09-17
PCT/US2020/050835 WO2021035225A1 (en) 2019-09-17 2020-09-15 Signaling subpicture ids in subpicture based video coding

Publications (2)

Publication Number Publication Date
JP2022548663A JP2022548663A (ja) 2022-11-21
JP7460760B2 true JP7460760B2 (ja) 2024-04-02

Family

ID=74660755

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022517248A Active JP7460760B2 (ja) 2019-09-17 2020-09-15 サブピクチャベースビデオコーディングにおいてサブピクチャidをシグナリングする

Country Status (23)

Country Link
US (1) US20220210477A1 (ja)
EP (2) EP4018658B1 (ja)
JP (1) JP7460760B2 (ja)
KR (1) KR20220053676A (ja)
CN (7) CN114556938B (ja)
AU (1) AU2020332002A1 (ja)
BR (2) BR112022004859A2 (ja)
CA (1) CA3151255A1 (ja)
CL (1) CL2022000640A1 (ja)
CY (1) CY1126045T1 (ja)
DK (1) DK4018658T3 (ja)
ES (1) ES2944451T3 (ja)
FI (1) FI4018658T3 (ja)
HR (1) HRP20230554T1 (ja)
HU (1) HUE061642T2 (ja)
IL (1) IL291464A (ja)
LT (1) LT4018658T (ja)
MX (1) MX2022003221A (ja)
PL (1) PL4018658T3 (ja)
PT (1) PT4018658T (ja)
RS (1) RS64175B1 (ja)
SI (1) SI4018658T1 (ja)
WO (1) WO2021035225A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4138401A1 (en) * 2021-08-17 2023-02-22 Nokia Technologies Oy A method, an apparatus and a computer program product for video encoding and video decoding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020185813A1 (en) 2019-03-11 2020-09-17 Tencent America LLC Tile and sub-picture partitioning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9503753B2 (en) * 2012-09-24 2016-11-22 Qualcomm Incorporated Coded picture buffer arrival and nominal removal times in video coding
CN105453569A (zh) * 2013-07-10 2016-03-30 夏普株式会社 缩放列表信号发送和参数集激活
CN106664424A (zh) * 2014-01-03 2017-05-10 诺基亚技术有限公司 参数集编码
US9860540B2 (en) * 2014-01-03 2018-01-02 Qualcomm Incorporated Inference of nooutputofpriorpicsflag in video coding
US9998742B2 (en) * 2015-01-27 2018-06-12 Qualcomm Incorporated Adaptive cross component residual prediction
WO2016188447A1 (en) * 2015-05-28 2016-12-01 Hfi Innovation Inc. Method and apparatus for using a current picture as a reference picture
WO2017051072A1 (en) * 2015-09-23 2017-03-30 Nokia Technologies Oy A method, an apparatus and a computer program product for coding a 360-degree panoramic video
US10523966B2 (en) * 2017-03-31 2019-12-31 Mediatek Inc. Coding transform blocks
US10623738B2 (en) * 2017-04-06 2020-04-14 Futurewei Technologies, Inc. Noise suppression filter
US11153607B2 (en) * 2018-01-29 2021-10-19 Mediatek Inc. Length-adaptive deblocking filtering in video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020185813A1 (en) 2019-03-11 2020-09-17 Tencent America LLC Tile and sub-picture partitioning
JP2022514513A (ja) 2019-03-11 2022-02-14 テンセント・アメリカ・エルエルシー タイル及びサブ画像の分割

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BOYCE, Jill et al.,Sub-Pictures and Sub-Picture Sets with Level Derivation,JVET-O0555 (version 1),ITU,2019年06月25日,pp.1-11,[online],[retrieved on 2023-05-30],Retrieved from the Internet: <URL: https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0555-v1.zip>,JVET-O0555-v1.docx

Also Published As

Publication number Publication date
CA3151255A1 (en) 2021-02-25
RS64175B1 (sr) 2023-05-31
EP4018658B1 (en) 2023-03-29
CN116828191A (zh) 2023-09-29
EP4018658A1 (en) 2022-06-29
CN116567252A (zh) 2023-08-08
SI4018658T1 (sl) 2023-06-30
JP2022548663A (ja) 2022-11-21
CN116600126A (zh) 2023-08-15
BR122023003915B1 (pt) 2024-02-15
CN115567713B (zh) 2023-07-07
CN116600125A (zh) 2023-08-15
KR20220053676A (ko) 2022-04-29
CY1126045T1 (el) 2023-11-15
CN114556938B (zh) 2023-04-11
CN114556938A (zh) 2022-05-27
IL291464A (en) 2022-05-01
CN116567251A (zh) 2023-08-08
HUE061642T2 (hu) 2023-07-28
PT4018658T (pt) 2023-05-12
LT4018658T (lt) 2023-05-10
WO2021035225A1 (en) 2021-02-25
BR112022004859A2 (pt) 2022-06-07
EP4213487A1 (en) 2023-07-19
HRP20230554T1 (hr) 2023-08-18
US20220210477A1 (en) 2022-06-30
CL2022000640A1 (es) 2022-10-21
CN115567713A (zh) 2023-01-03
FI4018658T3 (fi) 2023-05-02
DK4018658T3 (da) 2023-04-24
PL4018658T3 (pl) 2023-06-05
AU2020332002A1 (en) 2022-04-07
MX2022003221A (es) 2022-04-26
ES2944451T3 (es) 2023-06-21
EP4018658A4 (en) 2022-10-12

Similar Documents

Publication Publication Date Title
JP7354258B2 (ja) ビデオエンコーダ、ビデオデコーダ、および対応する方法
JP7469464B2 (ja) サブピクチャベースのビデオコーディングにおけるサブピクチャごとの1つのスライスの指示
JP2023090749A (ja) ビデオエンコーダ、ビデオデコーダ、および対応する方法
JP7460760B2 (ja) サブピクチャベースビデオコーディングにおいてサブピクチャidをシグナリングする
KR20210095949A (ko) 비디오 코딩 방법 및 장치
KR20210104900A (ko) 비디오 인코더, 비디오 디코더 및 상응하는 방법들
CN114650428B (zh) 使用标识符指示的视频译码码流提取的方法、设备和介质
JP7383795B2 (ja) ビデオコーディングにおけるalf aps制約

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240205

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240321