JP2022536233A - 動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置 - Google Patents

動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置 Download PDF

Info

Publication number
JP2022536233A
JP2022536233A JP2021542415A JP2021542415A JP2022536233A JP 2022536233 A JP2022536233 A JP 2022536233A JP 2021542415 A JP2021542415 A JP 2021542415A JP 2021542415 A JP2021542415 A JP 2021542415A JP 2022536233 A JP2022536233 A JP 2022536233A
Authority
JP
Japan
Prior art keywords
attribute
video
data
value
content
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.)
Granted
Application number
JP2021542415A
Other languages
English (en)
Other versions
JP7165272B2 (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 JP2022536233A publication Critical patent/JP2022536233A/ja
Application granted granted Critical
Publication of JP7165272B2 publication Critical patent/JP7165272B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/176Methods 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 block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/08Animation software package
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本願は、動画データ符号化/復号方法、装置、記憶媒体及びコンピュータ装置に関し、前記動画データ符号化方法は、動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得するステップと、動画タグコードに対応する属性構造テーブルに属性型が存在する場合、各属性に対応する属性フラグ情報を決定するステップと、属性フラグ情報に応じて、動画データにおける、各属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得するステップと、属性構造テーブルにおける各属性に対応する属性ソートに基づいて、各属性に対応する属性フラグ情報、属性コンテンツを順に格納して、動画タグコードに対応する動的属性データブロックを取得するステップと、を含む。【選択図】図8

Description

[関連出願の相互参照]
本願は、2019年6月11日に「動画データ符号化/復号方法、装置、記憶媒体及びコンピュータ装置」との発明の名称で国家知識産権局に出願された中国特許出願第2019105029329号の優先権を主張するものであり、その全ての内容は、参照により本願に組み込まれるものとする。
[技術分野]
本願は、コンピュータの技術分野に関し、特に動画データ符号化/復号方法、装置、コンピュータ可読記憶媒体及びコンピュータ装置に関する。
ビデオコンテンツ又はピクチャコンテンツを面白味のあるものにするために、ユーザは、ビデオコンテンツ又はピクチャコンテンツを編集するときに動画効果を追加し、実質的に、動画効果は、動画ファイルに基づいて表示され、1つの動画ファイルは、1つのステッカーと呼ばれてもよい。動画効果が複雑になるほど、対応する動画ファイルに含まれる動画属性データが多くなり、動画ファイルのファイルサイズも大きくなる。
従来の動画ファイルの作成フローは、まず、動画デザイナーが動画特殊効果データを含む動画プロジェクトファイルを設計し、次に、開発エンジニアがネイティブコードにより様々な複雑な動画特殊効果を実現する。
しかしながら、上記方式は、符号化過程において各属性の属性状態を特定するために、大量の追加の識別フィールドを必要とするため、得られた動画ファイルのボリュームが大きすぎ、記憶空間を浪費する。
本願の様々な実施態様によれば、動画データ符号化/復号方法、装置、コンピュータ可読記憶媒体及びコンピュータ装置を提供する。
コンピュータ装置が実行する動画データ符号化方法は、
動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得するステップと、
前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、前記属性構造テーブルにおける各属性に対応する属性フラグ情報を決定するステップと、
前記属性フラグ情報に応じて、前記動画データにおける、各前記属性に対応する属性値を符号化して、各前記属性に対応する属性コンテンツを取得するステップと、
前記属性構造テーブルにおける各前記属性に対応する属性ソートに基づいて、各前記属性に対応する属性フラグ情報、前記属性コンテンツを順に格納して、前記動画タグコードに対応する動的属性データブロックを取得するステップと、を含む。
動画データ符号化装置は、
動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得する動画データ取得モジュールと、
前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、各前記属性に対応する属性フラグ情報を決定する属性フラグ情報決定モジュールと、
前記属性フラグ情報に応じて、前記動画データにおける、各前記属性に対応する属性値を符号化して、各前記属性に対応する属性コンテンツを取得する属性コンテンツ符号化モジュールと、
前記属性構造テーブルにおける各前記属性に対応する属性ソートに基づいて、各前記属性に対応する属性フラグ情報、前記属性コンテンツを順に格納して、前記動画タグコードに対応する動的属性データブロックを取得するデータブロック生成モジュールと、を含む。
コンピュータ可読記憶媒体は、プロセッサにより実行されると、上記動画データ符号化方法のステップを前記プロセッサに実行させるコンピュータプログラムが記憶されている。
コンピュータ装置は、コンピュータプログラムが記憶されているメモリと、プロセッサと、を含み、前記コンピュータプログラムは、前記プロセッサにより実行されると、上記動画データ符号化方法のステップを前記プロセッサに実行させる。
コンピュータ装置が実行する動画データ復号方法は、
動画タグコードを取得するステップと、
前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、前記属性構造テーブルにおける各属性に対応する属性型に基づいて、前記動画タグコードに対応する動的属性データブロックから、各前記属性に対応する属性フラグ情報を解析するステップと、
各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析するステップと、を含む。
動画データ復号装置は、
動画タグコードを取得する取得モジュールと、
前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、前記属性構造テーブルにおける各属性に対応する属性型に基づいて、前記動画タグコードに対応する動的属性データブロックから、各前記属性に対応する属性フラグ情報を解析する属性フラグ情報解析モジュールと、
各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析する属性コンテンツ解析モジュールと、を含む。
コンピュータ可読記憶媒体は、プロセッサにより実行されると、上記動画データ復号方法のステップを前記プロセッサに実行させるコンピュータプログラムが記憶されている。
コンピュータ装置は、コンピュータプログラムが記憶されているメモリと、プロセッサと、を含み、前記コンピュータプログラムは、前記プロセッサにより実行されると、上記動画データ復号方法のステップを前記プロセッサに実行させる。
本願の1つ以上の実施態様の詳細は、以下の図面及び説明において提供される。本願の他の特徴及び利点は、明細書、図面及び特許請求の範囲から明らかになる。
一実施態様における動画データ符号化方法の適用環境図である。 一実施態様においてビデオをキャプチャするときにビデオコンテンツに動画ステッカーを追加する概略図である。 48ビットのデータストリームの概略図である。 一実施態様における連続した符号なし整数型のデータの符号化構造の概略図である。 一実施態様におけるパス情報の符号化構造の概略図である。 一実施態様におけるPAGファイルのファイル組織構造の概略図である。 一実施態様におけるタグのタグ組織構造の概略図である。 一実施態様における動画データ符号化方法のフローチャートである。 一実施態様におけるマスク情報に対応する属性構造テーブル及び動的属性データブロックの概略構成図である。 一実施態様における時間イージングパラメータ配列の符号化構造の概略図である。 一実施態様における空間イージングパラメータ配列の符号化構造の概略図である。 一実施態様におけるビットマップシーケンスフレーム符号化方式に対応する動画データの符号化構造図である。 一実施態様におけるビデオシーケンスフレーム符号化方式に対応する動画データの符号化構造図である。 一実施態様における動画データ復号方法のフローチャートである。 一実施態様におけるベクトル導出方式に対応するファイルデータ構造である。 一実施態様における動画データ符号化装置の構成ブロック図である。 一実施態様における動画データ復号装置の構成ブロック図である。 一実施態様におけるコンピュータ装置の構成ブロック図である。
本願の目的、技術手段及び利点をより明確にするために、以下、図面及び実施態様を参照しながら、本願をさらに詳細に説明する。理解すべきこととして、本明細書に説明された具体的な実施態様は、本願を説明するためのものに過ぎず、本願を限定するものではない。
以下、本願に係る一部の用語について説明する。
AE:Adobe After Effectsの略称であり、Adobe After Effectsは、複雑なビデオ特殊効果を設計できるグラフィックビデオ処理ソフトウェアである。デザイナーは、該ソフトウェアにより複雑な動画効果を設計し、得られた動画ファイルがAEプロジェクトファイルであり(ファイルの拡張子がaepである)、以下、動画プロジェクトファイルとも呼ばれる。AEプロジェクトファイルは、合成(Composition)、及び該合成において使用される全てのソースファイル、動画特性パラメータを格納し、合成は、レイヤ(Layer)の集合である。
PAG:Portable Animated Graphicsの略称であり、本願に係る自主開発したバイナリ動画ファイルフォーマットである。PAGファイルは、動画効果としてビデオに付すことができ、動画ステッカーと呼ばれる。
PAGExporter:PAGファイルのために自主開発した動画導出プラグインであり、AEプロジェクトファイル中の動画特殊効果データを読み取り、読み取った動画特殊効果データをベクトル導出方式、ビットマップシーケンスフレーム導出方式又はビデオシーケンスフレーム導出方式のいずれかで導出することで、PAGファイルを取得するために用いられることができる。PAGExpoterは、AEソフトウェアのプラグインとしてロードされた後、AEプロジェクトファイルを導出して、PAGファイルを取得することを実現することができる。
PAGViewer:PAGファイルをプレビューするために自主開発した動画プレビューソフトウェアであり、PAGファイルのプレビュー、及び性能パラメータのPAGファイルへの書き込みに用いられることができ、該PAGファイルをサーバにアップロードするとき、性能パラメータに基づいて該PAGファイルをチェックするようにする。
図1は、一実施態様における動画データ符号化方法の適用環境図である。図1を参照して、該動画データ符号化方法は、端末110に適用される。
端末110には、グラフィックビデオ処理をサポートするソフトウェアがインストールされて動作しており、該ソフトウェアにより動画プロジェクトファイルを生成し、該ソフトウェアは、例えばAEソフトウェアであってもよい。端末110には、さらに動画導出プラグインがインストールされ、動画導出プラグインは、例えばPAGExporterであってもよい。端末110上で該ソフトウェアを動作させて動画プロジェクトファイルを開く場合、端末は、動画導出プラグインにより動画プロジェクトファイルの動画データを読み取り、動画導出プラグインをロードして該動画データを符号化して、ターゲット動画ファイルを取得することができ、ターゲット動画ファイルは、例えばPAGファイルであってもよい。端末110は、具体的には、卓上型端末又は携帯端末であってよく、携帯端末は、具体的には、携帯電話、タブレットコンピュータ、ノートパソコンなどのいずれかであってもよい。
一実施態様において、端末110上で動作したPAGExporterにより、動画プロジェクトファイル中の動画データを処理し、PAGファイルを導出して取得し、PAGViewerにより、PAGファイルを再生する過程において、該PAGファイルの性能パラメータを統計し、算出した性能パラメータを該PAGファイルに書き込み、最後に検証サーバによりPAGファイルに含まれる性能パラメータをチェックし、チェックに成功したPAGファイルをネットワークに配信し、ユーザがダウンロードした後に再生することができる。PAGファイルが呈する動画効果を動画ステッカーとしてビデオに付すことができ、図2に示すとおり、一実施態様においてビデオをキャプチャするときにビデオコンテンツに動画ステッカー202を追加する概略図である。
以下、バイナリ動画ファイルフォーマットであるPAGファイルに使用される基本データ型を説明し、データ型は、ファイルに保存されたデータのフォーマットを記述する。
動画データを符号化して、PAGファイルを取得する場合、使用された基本データ型は、整数型、ブール型、浮動小数点数型、配列型、ビット型、時間型、文字列型を含み、これらのデータ型のデータ長は、一般的に不変であり、固定長データ型とも呼ばれる。
基本データ型は、これらのデータ型に基づいて組み合わせてカスタマイズされた新しいデータ構造をさらに含み、新しいデータ型は、組み合わせ型と呼んでもよく、これらの組み合わせ型は、動画データを記述し、可変長符号化整数型、座標型、比率型、色型、フォント型、透明度変化情報型、色変化情報型、テキスト型、パス型、バイトストリーム型、ビットマップ情報型及びビデオフレーム情報型を含む。
以下、上記基本データ型を詳細に説明する。
一、整数型
Figure 2022536233000002
全ての整数値は、バイナリの形でPAGファイルに格納される。上記表から分かるように、整数型のデータを、符号付き及び符号なしの8ビット、16ビット、32ビット、64ビットで格納することができる。PAGフォーマットにおけるデータの格納方式は、「リトルエンディアン」(little endian)を採用して格納することができ、即ち、下位バイトデータをメモリの下位アドレスに格納し、上位バイトデータをメモリの上位アドレスに格納する。整数型のデータは、バイト整列を必要とするデータ型であり、即ち、1つの整数値の第1ビット(bit)の値をPAGファイルにおけるあるバイトの第1ビットに格納する。
二、ブール型
Figure 2022536233000003
上記表を参照して、PAGファイルにおいて、ブール型のデータを1ビットで表す。1バイトで表す場合より、記憶空間を節約することができる。ブール型は、バイト整列を必要としないデータ型である。
三、浮動小数点数型
Figure 2022536233000004
PAGファイルにおいて、小数のデータ型を単精度浮動小数点数型で表す。
四、配列型
連続して格納された同じデータ型のデータに対して、データ型の後に[n]記号を追加して、このセットのデータを表すことができ、ここで、nは配列の長さを表す。例えば、Uint8[10]は、長さが10のUint8型の一次元配列を表す。また、例えば、Int8[n][m]は、二次元配列である。ここで、mは、配列の長さを表し、データ型がInt8[n]のデータがm個あることを意味する。
五、ビット型
Figure 2022536233000005
固定ビット数を占有するデータ型とは異なり、ビット型は、符号付き整数及び符号なし整数の2種類のデータを表すことができる可変長のデータ型である。例えば、SB[5]は、5ビットを占有する符号付き整数のデータ型を表し、UB[2]は、2ビットを占有する符号なし整数のデータ型を表すことができる。SBは、Signed Bitsの略語であり、UBは、Unsigned Bitsの略語である。
バイト整列を必要とするデータ型(例えばInt8、Uint16)とは異なり、ビット型のデータは、バイト整列を必要としない。具体的には、バイト整列を必要とするデータ型のデータがビット型のデータの後に符号化される場合、ビット型の最後のバイト(Byte)に対してバイト整列を行う必要があり、即ち、最後のバイトにおいて、ビット型のデータを除いて、残りのビットをゼロで埋めてバイト整列を行う必要がある。
図3を参照して、例として48ビット(6バイト)のバイナリデータストリームで説明し、該バイナリデータストリームは、6つの異なるビット長の数値を含み、最初の5つの数値がビット型であり、最後の1つの数値がUint16型であり、各升目は、1バイトを表す。ビットストリームの1番目の数値(010110)は6ビットを占有し、2番目の数値(10100)は5ビットを占有し、該数値が1番目のバイトと2番目のバイトにまたがる。3番目の数値(100100)は6ビットを占有し、3番目の数値も2つのバイトにまたがり、4番目の数値(1011)は4ビットを占有し、この数値のビットは全て3番目のバイトに属する。5番目の数値(1101001)は7ビットを占有し、5番目の数値の後にある6番目の数値がバイト整列した数値(0100110010101101)であるため、5番目の数値が占有するバイト(4番目のバイト)内の残りの4ビットをゼロで埋める。
PAGファイルが占有する空間をできるだけ圧縮することができるように、1セットの同じ型の連続データに対して、連続データ符号化方法を採用して符号化することもできる。具体的には、このセットの同じ型の連続データの前にヘッダ領域を追加し、ヘッダ領域における数値は、このセットの同じ型の連続データが占有するビット数nBitsを表し、即ち、該ヘッダ領域の後にあるこのセットの同じ型の連続データをいずれも該ビット数で格納する。具体的なnBitsの値がどれくらいであるかは、このセットのデータのうちの最大値に応じて決定され、このセットのデータのうちの他の小さいデータに対して、上位をゼロで埋める方式を採用して符号化する。
図4は、連続した符号なし整数型のデータを符号化する符号化構造の概略図であり、図4を参照して、ヘッダ領域は、このセットの整数型の連続データのそれぞれが占有するビット数nBitsを格納し、直後にUB[nBits]型を採用してこのセットの整数型の連続データを符号化し、連続した32ビットの符号なし整数の格納を例とし、ヘッダ領域は、最大で5ビットを占有して、nBitsを格納する。
例えば、1セットの16ビットの符号なし整数:50、100、200、300、350、400の場合、Uint16のデータ型に応じて符号化すれば、各数値は、それぞれ16ビットを占有し、このセットの数値は、合計96ビットを占有する必要がある。連続データ符号化方法に従って符号化すれば、最大値400から、各データがいずれも10ビットを占有すると決定するため、UB[10]に従って符号化し、このセットのデータの前に1つのUB[4]型のヘッダ領域を追加して、値「10」を格納し、即ち、ヘッダ領域が4ビットを占有し、ヘッダ領域の直後にあるこのセットの連続データが60ビットを占有すれば、このセットのデータは64ビットしか占有せず、従来の方式に比べて、32ビット(4バイト)少なくすることができる。
なお、連続した符号付き整数の符号化は、符号なし整数の符号化方式と一致し、区別としては、符号なし整数の場合、読み取られたヘッダ領域の後のデータが全て数値コンテンツを表し、符号付き整数の場合、読み取られたヘッダ領域の後の1番目のビットが符号ビットを表し(0は正数を表し、1は負数を表す)、後の連続したnBits-1ビットが数値内容を表す。連続した浮動小数点データに対して、上記連続データ符号化方式を採用して符号化してもよい。
さらに、精度損失を許容する連続した浮動小数点データに対して、整数型データに変換した後に上記連続整数型の方式に従って符号化してもよい。具体的には、空間上の点を表す座標データに対して、例えば、空間イージングパラメータが浮動小数点型である場合、該浮動小数点データを空間精度係数(SPATIAL_PRECISION=0.05)で割った後に整数に変換してもよく、ベジェ曲線イージングパラメータを表す座標データに対して、該浮動小数点データをベジェ精度係数(BEZIER_PRECISION=0.005)で割った後に整数に変換して符号化してもよく、勾配情報を表す座標データに対して、該浮動小数点データを勾配精度係数(GRADIENT_PRECISION=0.00002)で割った後に整数に変換して符号化してもよい。
六、時間型
PAGファイルにおける、時間型(Time)に属するデータを、Int64を一律に使用して記述し、時間型は、フレーム番号を表すことができ、各フレームのフレーム番号をフレームレートで割ると、秒を単位とする外部時間に変換することができる。
七、文字列型
Figure 2022536233000006
PAGファイルにおいて、文字列型(String)に属するデータに対して、null文字を使用して文字列の終了を特定する。
八、可変長符号化整数型
Figure 2022536233000007
可変長符号化整数型は、バイトを最小格納単位として1つの整数を表し、整数値が最小で1バイトを占有し、最大で4バイト又は8バイトを占有する。可変長符号化整数型の数値を符号化する場合、バイトの最初の7ビットが該数値を表し、8番目のビットが、後に数値があるか否かを特定し、8番目のビットが0であれば、次のバイトが該数値のコンテンツに属しないことを表し、8番目のビットが1であれば、次のバイトも該数値のコンテンツに属することを表す。したがって、復号時に、各バイトの8番目のビットが0であれば、数値の読み取りが完了したことを表し、8番目のビットが1であれば、数値の読み取りが完了していないことを表し、ワード長の読み取りが完了するまで、次に1バイトを読み取る必要がある(32ビット又は64ビット)。符号ビットがある可変長符号化整数型の場合、まず符号なし符号化整数型の値を読み取り、次に符号ビットを判断する。
例えば、データ値14のデータ型がEncodedInt32であれば、対応するバイナリが0011100であり、データ型がInt32である場合より、24ビット少ない。
九、座標型
Figure 2022536233000008
座標型(Point)は、1つの位置の座標、即ちx軸、y軸の値を表す。座標型に属する数値を符号化する場合、まず32ビットでxの値を符号化し、次に32ビットでyの値を符号化する。
十、比率型
Figure 2022536233000009
比率型(Ratio)は、比率を表す。比率型に属する数値を符号化する場合、まず可変長ビットを占有する分子の値を符号化し、次に可変長ビットを占有する分母の値を符号化する。
十一、色型
Figure 2022536233000010
色型(Color)は、色値を表し、1つの色値は、一般的に赤色、緑色及び青色の3種類の色で構成される。色型に属する数値を符号化する場合、まず1バイトで赤色値を符号化し、次の2番目のバイトで緑色値を符号化し、3番目のバイトで青色値を符号化し、各色値のデータ型がUint8である。
十二、フォント型
Figure 2022536233000011
フォント型(FontData)は、フォントを特定する。フォント型に属する数値を符号化する場合、まず可変長のフォント識別子を符号化し、次にStringのデータ型を採用して、フォントが属するフォントファミリシリーズ及びフォントスタイルをそれぞれ符号化し、フォントファミリシリーズとフォントスタイルとがそれぞれ占有するビット数は、文字長に応じて決定される。fontFamilyは、フォントの名称を表し、1つのフォントの名称であってもよいし、ある種のフォントの名称であってもよい。fontStyleは、斜体、イタリック体、又は通常のフォントを含む、フォントの傾斜程度を定義する。
十三、透明度変化情報型
Figure 2022536233000012
透明度変化情報型(AlphaStop)は、透明度の勾配情報を記述する。
浮動小数点数型を精度に応じてUint16型に符号化して格納する必要があり、復号時に、読み取られたUint16の数値に精度を乗算することで、浮動小数点数を取得する必要がある。精度は、例えば0.00002fである。
十四、色変化情報型
Figure 2022536233000013
色変化情報型(ColorStop)は、色の勾配情報を記述する。
十五、色勾配変化情報型
Figure 2022536233000014
色勾配変化情報型(GradientColor)は、透明度変化情報型と色変化情報型とを組み合わせて得られた、色勾配変化情報を表すデータ型である。1つのalphaStopList(透明度変化情報リスト)は、複数の透明度変化情報を含み、1つの透明度変化情報は、開始点の位置、中間点の位置及び透明度値を含む。1つのcolorStopList(色変化情報リスト)は、複数の色変化情報を含み、1つの色変化情報は、開始点の位置、中間点の位置及び色値を含む。
色勾配変化情報型に属するデータを符号化する場合、まず可変長符号化整数型EncodedUint32を用いてalphaCount、colorCountを順に符号化し、次に透明度変化情報型が占有するビット数で透明度変化情報リストにおける各透明度変化情報を順に符号化し、そして色変化情報型が占有するビット数で色変化情報リストにおける各色変化情報を順に符号化する。
十六、テキスト型
Figure 2022536233000015

Figure 2022536233000016
テキスト型(Text)は、テキスト、フォント、サイズ、色などを含むテキスト情報を記述する。異なるレイヤにおけるテキスト情報に含まれる種類及び数が一定のものではないため、符号化時に、これらのデータが存在するか否かを特定するフラグを用い、各フラグはいずれも1ビットのみを占有するビット型を採用して表し、格納空間を節約することができる。上記表から分かるように、テキスト型には、合計19個のフラグが含まれ、3バイトが占有され、符号化時に、この3バイトの最後のバイトがゼロで埋められる。テキスト型のデータの符号化時に、あるフラグの値が0であれば、該フラグに対応するテキスト情報が存在しないことを表し、値が1である次のフラグに対応するテキスト情報を直接符号化すればよく、復号時に、読み取られた次のバイトのデータは、値が1である次のフラグに対応するテキスト情報である。
十七、パス型
Figure 2022536233000017
パス型(Path)は、ある形状を記述する描画パス情報を表し、パス情報が1セットの動作により決められる。PAGファイルにおいて、一般的には8つの動作を含む。
Figure 2022536233000018
パス情報を符号化する場合、まずパス描画情報における全ての動作の数に基づいてnumVerbsを決定し、かつ各動作に基づいて対応する動作値を決定する必要があり、さらに、各動作の座標データに基づいて符号化を必要とするfloatNum個のfloat型の値を決定する必要があり、符号化する前に、このfloatNum個のfloat型の値をまずSPATIAL_PRECISIONに乗算して浮動小数点数を整数型に変換し、次にこのfloatNum個のfloat型の値のうちの最大値を算出し、最大値が占有するビット数に基づいてnumBitsを得る必要があり、floatlistにおける各値の占有ビットが最大で31ビットを超えず、即ちnumBits≦31であるため、UB[5]に従ってnumBitsを符号化し、次にUB[numBits]に従って各float型の値を符号化する必要がある。
例えば、(x:5,y:0,r:15,b:20)の矩形を描画し、パス型(Path)のデータ構造を用いて以下のように記述する。(5,0)点までMove動作を実行し、動作「1」及び2つのFloat値(5,0)を記録する必要があり、次に(15,0)点までHLineを実行し、動作「3」及び1つのFloat値(15)を記録する必要があり、そして(15,20)点までVLineを実行し、動作「4」及び1つのFloat値(20)を記録する必要があり、その後(5,20)点までHLineを実行し、動作「3」及び1つのFloat値(5)を記録する必要があり、最後にCloseを実行して矩形を閉じ、開始点(5,0)に戻り、動作「0」を記録する必要がある。
図5は、上記例におけるパス情報の符号化構造の概略図である。上記パス情報を符号化する場合、まずnumVerbs即ち動作の数「5」をEncodedUint32に従って符号化し、次にUB[3]型に応じて5つの動作「1、3、4、3、0」を順に符号化する。上記5つの動作は、5つのfloat値を含み、それぞれ5、0、15、20、5であり、精度パラメータに基づいてこの5つの浮動小数点数を整数型に変換した後に順に100、0、300、400、100になり、最大値が400であり、400を10ビットで表す必要があるため、numBits=10である。UB[5]に従ってnumBitsを符号化して、このセットの連続した浮動小数点型データのヘッダ領域を取得する。最後にSB[10]に従って100、0、300、400、100を順に符号化して、パス情報全体の符号化データを取得する。
十八、バイトストリーム型
Figure 2022536233000019
バイトストリーム型(ByteData)は、バイトストリームの開始アドレス及びバイトストリームの長さを表す。あるバイトストリームを符号化する場合、まずこのバイトストリームにおけるバイトの開始アドレスを符号化し、次にバイトストリーム全体の長さを符号化することにより、復号時に、メモリにおける該開始アドレスから該バイトストリームの長さでデータを読み取って、バイトストリーム全体を取得する。該バイトアドレスは、オフセットアドレスであってもよく、コンピュータがメモリを対応するPAGファイルに割り当てた後、該バイトストリームの開始アドレスは、割り当てられたメモリの開始アドレスと該オフセットアドレスとによって決定されることができる。
十九、ビットマップ情報型
Figure 2022536233000020
ビットマップ情報型(BitmapRect)は、ビットマップ画像シーケンスにおける各ビットマップ画像に対応する相違画素領域をピクチャ符号化方式に従って圧縮符号化して得られたバイナリピクチャデータを表す。x、yは、それぞれ相違画素領域の開始点位置のX座標及びY座標を表す。ビットマップ情報を符号化する場合、相違画素領域内の開始点位置を見つけ、次に開始点位置、相違画素領域に対応するピクチャデータをバイトストリーム型に従い順に符号化して、各ビットマップ画像の符号化データを取得する必要がある。
二十、ビデオフレーム情報型
Figure 2022536233000021
ビデオフレーム情報型(VideoFrame)は、ビットマップ画像シーケンスにおける各ビットマップ画像に対応する合成ビットマップをビデオ符号化方式に従って圧縮して得られたバイナリピクチャデータを表す。frameは、現在のフレームのフレーム番号を表し、フレーム番号をフレームレートで割ると、秒を単位とする時間に変換することができる。Time型は、Int64を用いて符号化する。ビデオフレーム情報を符号化する場合、まずInt64に従ってフレーム番号を符号化し、次にバイトストリーム型に従い該ビデオフレームに対応するビデオフレームデータを符号化して、各ビデオフレームの符号化データを取得する。
以下、PAGファイルのファイル組織構造を説明する。
図6に示すように、PAGファイルのファイル組織構造は、ファイルヘッダ(FileHeader)及びタグ(Tag)で構成される。ファイルヘッダは、PAGファイルにおいて先頭部分にある、ファイルヘッダ情報を記述するデータ構造である。ファイルヘッダ情報は、少なくともファイルバージョン番号、ファイル長及びファイル圧縮方式を含む。ファイルヘッダ情報は、下記表のファイルヘッダ組織構造に従って組織することができる。
Figure 2022536233000022
タグは、いずれも同じデータ構造を有し、図7に示すように、タグは、いずれもタグヘッダ(TagHeader)及びタグボディ(TagBody)を含み、このように、復号時に、解析できないタグに遭遇すると、現在のタグを直接スキップすることができる。タグ終了記号(End)は、本階層のタグが全て読み取られており、読み取り対象のタグがこれ以上ないことを特定するための特別なタグである。タグは、ネストされたタグであってもよく、1つのタグには、1つ又は複数のサブタグを含んでもよく、同様に、終わりにEndを用いて、サブタグが全て読み取られており、読み取り対象のサブタグがこれ以上ないことを特定する。
図7を参照して、タグヘッダ(TagHeader)は、動画タグコード(TagCode)及びタグボディのバイトストリームの長さ(Length)を記録する。動画タグコードは、タグがどのタイプの動画情報を具体的に記録しているかを表すことができ、異なる動画タグコードは、異なる動画情報を記録していることを表す。バイトストリームの長さは、タグにおけるタグボディの長さを表すことができる。
TagBodyに記録されているデータは、非常に少ない場合も非常に多い場合もあり、1バイトのみを占有すれば、Lengthの値が1であり、100バイトを占有すれば、Lengthの値が100であるため、ファイルが占有する記憶空間をできるだけ低減するために、TagHeaderを具体的にshort型及びlong型の構造に分けて記憶することができる。
TagHeader short型
Figure 2022536233000023
TagHeader long型
Figure 2022536233000024
short型構造のTagHeaderは、16ビットを採用して動画タグコードとタグボディの長さを記録する。short型構造のTagHeaderにおいて、タグボディの長さの値が最大で62であってもよく(TagCodeAndLengthの後6ビットが111110である場合)、TagBodyが最大で62バイトのデータを記憶することができることを表す。long型構造のTagHeaderにおいて、Lengthのデータ型がUint32であるため、タグボディの長さの最大値が4Gであってもよく、TagBodyが最大で4Gのデータを記憶できることを表す。
即ち、TagBodyの長さが62バイトであるか又は62バイト未満である場合、TagHeaderのデータ型はUint16であり、最初の10ビットは、動画タグコードを格納し、最後の6ビットは、Lengthを格納する。TagBodyの長さが63バイトであるか又はそれより長い場合、TagHeaderは、1つのUint16のTagCodeAndLengthフィールド及び1つのUint32のLengthフィールドを含み、Uint16のTagCodeAndLengthにおいて、最初の6ビットは、動画タグコードを格納し、最後の6ビットは、0x3fに固定され、即ち、最後の6ビットが「111111」である場合、現在のTagHeaderがlong型構造を用いて格納することを表し、この場合、TagCodeAndLengthフィールドの直後に32ビットの符号なし整数型を用いてTagBodyの長さを表す。復号時に、まず、TagCodeAndLengthフィールドの最初の10ビットを読み取って動画タグコードを取得し、次に、最後の6ビットを読み取り、最後の6ビットの値が「111111」でなければ、この読み取られた6ビットの値がTagBodyの長さであり、最後の6ビットの値が「111111」であれば、続けて後の32ビット(4バイト)のデータを読み取り、この読み取られた4バイトのデータがTagBodyの長さである。
上記方式において、TagBodyに、より多くのデータがあり、より多くのビットを占有する必要があれば、long型のTagHeaderにおいて、符号なしの64ビットの整数型を用いてLengthの値を記録することができる。
さらに、TagCodeAndLengthフィールドから読み取られたLengthの値は0であってもよく、TagBodyの長さが0であることを表し、このような場合に、TagBodyは存在しない。例えば、前述のタグ終了記号(End)は、特別なタグであり、該タグのTagHeaderに記録されるLengthの値は0である。
当然のことながら、上記提供されたタグヘッダのデータ構造において、各フィールドのデータ型は、実際の状況に応じて調整することができ、実際の状況に応じて、各フィールドがより多くのビット数を占有してもよいし、より少ないビット数を占有してもよい。
PAGファイルは、豊富な動画情報を表す大量の動画タグコードを提供する。各動画タグコードに対応する動画情報のデータ構造は、1つの属性構造テーブルで示される。PAGファイルを符号化する場合、まずファイルヘッダ組織構造に応じてファイルヘッダ情報を符号化し、次に動画データに基づいて、タグのデータ構造に応じて動画タグコード(TagCode)、タグボディのバイトストリームの長さ(Length)及びタグボディ(TagBody)を順に符号化する。
タグボディ(TagBody)を符号化する場合、動画タグコードに対応する属性構造テーブルに基づいて符号化する必要がある。属性構造テーブルは、動画タグコードに対応する動画情報のデータ構造を定義する。
動画タグコードで表わされる動画情報に含まれる属性の種類、数が一定であれば、該動画タグコードに対応する属性構造テーブルにおける各属性に対応するデータ型はいずれも基本型であり、これらの基本データ型に基づいて該動画タグコードに対応する動画データを直接符号化して、タグボディを取得することができ、この時に、タグの符号化が採用するデータ構造を基本データ構造と呼んでもよい。
TagBodyが記録する動画情報に含まれる属性の種類、数が一定のものでなければ、例えば、マスクの描画パス情報に関しては、異なるマスクの描画パス情報に含まれる動作型、動作数に相違が存在する可能性があり、この時に大量の追加の識別フィールドを必要とし、この場合に上記方式でデータ構造を定義すると、大量のファイル空間を浪費する。ファイル空間をできるだけ圧縮するために、このような動画タグコードに対応する動画情報に対して、それに対応する属性構造テーブルを改めて定義し、対応する符号化ルールを提供してタグボディを符号化する必要がある。このような新たに定義された属性構造テーブルが示すデータ構造を動的属性データ構造(AttributeBlock)と呼んでもよい。
以下、上記基本データ構造又は動的属性データ構造に応じて各動画タグコードに対応する動画データを符号化して、タグボディ(TagBody)を取得する具体的な方法を説明する。
図8に示すように、一実施態様において、動画データ符号化方法を提供する。本実施態様は、例として、主に該方法を上記図1中の端末110に適用して説明する。図8を参照して、該動画データ符号化方法は、具体的には、以下のステップS802~S808を含む。
S802では、動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得する。
動画プロジェクトファイルは、例えば、拡張子が.aepである上記AEプロジェクトファイルであってもよい。動画タグコードは、該動画タグコードに対応するタグヘッダの後のタグボディが具体的にどのタイプの動画情報を表すかを表す。予め設定された一対一の対応関係に応じて、動画タグコードと対応する動画情報とを対応づけて符号化するように、符号化する前に、動画タグコードと対応する動画情報との間の一対一の対応関係を予め設定する必要がある。動画データは、該動画タグコードに対応する、動画情報を記述するデータである。例えば、動画タグコードが14であり、MaskBlockを示し、動画プロジェクトファイルにおけるあるマスク情報を表し、マスク情報は、マスク識別子、マスクが反転するか否か、マスクの混合モード、マスクのベクトルパス、マスクの透明度及びマスクのエッジ拡張パラメータという属性を含み、該動画タグコードに対応する動画データは、これらの属性に対応する属性値である。また、例えば、動画タグコードが13であり、Transform2Dを示し、動画プロジェクトファイルにおけるある2D変換情報を表し、2D変換情報は、アンカーポイント座標、位置情報、X軸オフセット、Y軸オフセット、拡大縮小情報、回転情報及び透明度情報という属性を含む。
動画プロジェクトファイルは、デザイナーがAEソフトウェアにより作成したファイルであってもよく、動画プロジェクトファイルは、動画合成全体に使用される全てのパラメータを格納する。動画合成(Composition)は、レイヤの集合である。端末は、該動画プロジェクトファイルを取得した後、動画プロジェクトファイルから動画データを抽出し、予め定義した動画タグコードに基づいて、これらの動画データと各動画タグコードを一対一に対応させて、各動画タグコードに対応する動画データを取得することができる。例えば、1セットの2D変換情報が取得され、予め定義した、2D変換情報を表す動画タグコードが「13」である場合、該動画タグコード「13」に対応する動画データは、このセットの2D変換情報である。当然のことながら、動画プロジェクトファイルにおいて、複数セットの異なる2D変換情報が存在する可能性があり、各セットの2D変換情報は動画タグコード「13」で特定される必要がある。
タグヘッダに関する前述の説明から分かるように、PAGファイルは、10ビットを採用して動画タグコードを格納し、最大で1024種類の異なる動画タグコードを格納することができる。動画データが動画タグコードと、対応するデータブロック(基本データブロック又は動的属性データブロックを含む)とに基づいて符号化されるため、PAGファイルが新しい動画特性を継続的にサポートする場合、先行する古いファイルフォーマットに対する後方互換性を継続的に確保することができる。現在、PAGファイルは、37種類のみの動画タグコードを使用し、0~29は、ベクトル導出方式がサポートしている動画タグコードであり、45~51は、ビットマップシーケンスフレーム導出方式及びビデオシーケンスフレーム導出方式のために拡張された7個の動画タグコードである。後続のPAGファイルがより多くの動画特性をサポートすることができれば、新しい動画タグコードを拡張することで、追加された動画特性に対応する動画情報を表すこともできる。
下記表は、各動画タグコードによってそれぞれ示される動画情報を説明する。
Figure 2022536233000025
上記各種類の動画情報に対応する属性構造テーブルを後に示す。
S804では、動画タグコードに対応する属性構造テーブルに属性型が存在する場合、属性構造テーブルにおける各属性に対応する属性フラグ情報を決定する。
属性構造テーブルは、動画タグコードに対応する動画情報のデータ構造を定義する。タグボディを符号化する場合、動画タグコードに対応する属性構造テーブルに基づいて符号化する必要がある。各動画タグコードの属性構造テーブルは、予め定義されたものであり、後に各動画タグコードに対応する属性構造テーブルを示す。符号化方式及び復号ルールを明確にするために、より多くの動画特性をサポートする必要がある場合、新しい動画タグコードを拡張する必要があり、かつ追加された動画タグコードに対応する属性構造テーブルを定義する必要もある。
動画タグコードで表わされる動画情報に含まれる属性の種類、数が一定のものでない場合、定義された該動画タグコードに対応する属性構造テーブルに各属性の属性型が存在し、該属性構造テーブルが呈するデータ構造を動的属性データ構造と呼んでもよい。例えば、マスク情報を表す動画タグコード「14」に対して、それに対応する属性構造テーブルに属性型が存在する。さらに、該属性構造テーブルにおける一部の属性の属性値が通常デフォルト値に等しければ、ファイルのサイズを低減するために、該属性の属性値を格納しなくてもよく、該属性の属性値がデフォルト値に等しいことを1ビットで表すだけでよい。したがって、該属性構造テーブルには、各属性に対応するデフォルト値がさらに含まれる。各属性のデフォルト値及び対応する属性型を動画ファイルの復号コードにハード符号化することにより、解析時に、フラグによりデフォルト値であると決定すると、デフォルト値を直接取得することができる。
属性型(AttributeType)は、動的属性データ構造に応じて動画データを符号化し、動的属性データブロック(AttributeBlock)を解析するのに必要なものである。ある動画タグコードに対応する属性構造テーブルに属性型が存在する場合、該動画タグコードに対応するタグヘッダの後のタグボディを動的属性データ構造に応じて符号化する必要があることを表す。符号化段階において、属性型は、属性フラグ情報によって占有されるビット数を決定するために用いられ、復号段階において、属性型は、属性フラグ情報によって占有されるビット数及び対応する読み取りルールを決定するために用いられる。
動的属性データブロックは、主に、各属性に対応する属性フラグ情報(AttributeFlag)からなる属性フラグ領域、及び各属性に対応する属性コンテンツ(AttributeContent)からなる属性コンテンツ領域という2つの部分で構成される。例として、マスク情報の属性構造テーブルを説明し、図9を参照して、図9の左側は、マスク情報に対応する、6つの属性を含む属性構造テーブルを示し、図9の右側は、該属性構造テーブルに対応する動的属性データブロックの具体的な構造を示す。図9を参照して分かるように、各属性は、いずれも対応する属性フラグ情報(該属性に対応する属性型が固定属性であれば、属性フラグ情報が存在しない)及び属性コンテンツを有する。各属性フラグ情報の配列順は、属性コンテンツの配列順に一対一に対応する。属性構造テーブルを設定するたびに、該属性構造テーブルに従って各属性に対応する属性フラグ情報及び属性コンテンツを決定し、次に順に配列して格納する。例えば、ここでのAttributeFlag 0及びAttributeContent 0は、マスク情報に対応する属性構造テーブルの1番目のID属性に対応する。図9から分かるように、データ構造は、まず全ての属性フラグ情報を格納した後に全ての属性コンテンツを格納し始め、このようにするのは、属性フラグ情報領域における各項目が一般的にビットで表され、まとめて格納すると、バイト整列が頻繁に発生して、大量の空間浪費が生じることを回避できるからである。属性フラグ情報領域の読み取りが終了した後に統一的にバイト整列し、バイト整列による追加ビットを0で埋め、次に整数のバイトの位置から属性コンテンツを格納し続ける。
各動画タグコードに対応する属性構造テーブルに定義された属性の数が固定で変化しないため、動画ファイルのサイズを圧縮するために、各動画タグコードに対応する属性構造テーブルに含まれる属性の数を動画ファイルに書き込むことなく、解析コードにハード符号化し、このように、解析するときに、該動画タグコードで特定される動画情報に含まれる属性の数を直接取得することができる。
前述したように、動画タグコードで表わされる動画情報に含まれる属性の種類、数が一定でない場合、定義された該動画タグコードに対応する属性構造テーブルに各属性の属性型が存在する。例えば、属性の種類又は数が一定でない状況は、以下のいくつかの特徴を含む。
1、ある属性に対応するデータ型はブール型であり、1バイトを占有する必要があるが、実際には、1ビットで該属性の値を表すことができ、即ち0がfalseを表し、1がtrueを表し、このため、属性型を追加して、該属性の属性値が1ビットを占有するブール値であることを特定することができ、符号化時に1ビットのみを占有すればよく、復号時に属性型に基づいて該属性に対応する属性値を解析することができる。
2、ある属性に対応する属性値は一般的にデフォルト値であり、ファイルのサイズを圧縮するために、この場合に実際の値を格納しなくてもよく、符号化時に、1ビットを直接使用して、該属性に対応する属性値がデフォルト値に等しいことを特定すればよく、そしてデフォルト値を解析コードに埋め込めばよい。
3、ある属性に対応する属性値は、動画区間特性データである可能性があるが、該動画区間特性データは、空間イージングパラメータを含まず、空間イージングパラメータに関連するデータを格納しなくてもよい。ある属性に対応する属性値は、動画区間特性データを含まず、固定値である可能性があり、この場合に1つの値のみを格納すればよい。該値がデフォルト値に等しければ、デフォルト値に等しいことを1ビットで特定すればよい。
上記動的属性データ構造における各属性の特徴により、各属性は、多くの異なる状態を有する可能性があり、これらの状態を十分に利用すると、ほとんどの場合にファイルサイズを顕著に低減することができる。したがって、上記属性の特徴に基づいて定義された属性フラグ情報のデータ構造を下記表に示す。
Figure 2022536233000026
端末は、動画タグコードに対応する属性構造テーブルにおける各属性の属性型及び動画データに基づいて、各属性に対応する属性フラグ情報を決定することができる。復号時に、該属性フラグ情報に基づいて、属性コンテンツ領域から該属性に対応する属性コンテンツを読み取ることができる。しかし、各属性に対応する属性フラグ情報によって占有されるビット数は動的であり、値の範囲が0~3ビットである。各属性が具体的にどれぐらいのビットを占有するかは、属性型によって決定する必要があり、即ち、属性型は、属性フラグ情報によって占有される可能性があるビット数(0~3ビット)を決定するために用いられることができる。PAGファイルは、属性型を以下の8種類に分け、下記表に示す。
Figure 2022536233000027
上記表から分かるように、一般属性の属性フラグ情報は、最大で1ビットを占有し、復号時にコンテンツフラグビットを読み取るだけでよい。空間イージング動画属性の属性フラグ情報は、最大で3ビットを占有して属性フラグ情報を格納する。例えば、1つの空間イージング動画属性が動画区間特性データを含まず、かつ属性値がデフォルト値に等しい場合、1ビットのみで属性フラグ情報を表せばよく、属性フラグ情報が属性コンテンツフラグビットのみを含み、その値が0であり、対応する属性コンテンツがデフォルト値であることを表す。復号時に読み取られたコンテンツフラグビットが0であり、該属性の属性フラグ情報の読み取りが終了し、次のビットの値を続けて読み取らないことを表す。極端な場合に、属性構造テーブルにおける各属性は、いずれも動画区間特性データを含まず、デフォルト値に等しく、この場合に属性数のビットのみを占有して各属性に対応する属性フラグ情報を格納し、かつ各属性フラグ情報がいずれもコンテンツフラグビットのみを含み、その値がいずれも0であり、属性コンテンツ領域全体が空になり、それにより、動画ファイルのサイズを顕著に低減することができる。また、固定属性の属性フラグ情報が空であり、ブール属性の属性フラグ情報が1ビットのみを占有し、簡単動画属性、離散動画属性、多次元時間イージング動画属性の属性フラグ情報が1ビット又は2ビットを占有する。
上記内容から分かるように、属性フラグ情報は、該動画タグコードに対応する属性構造テーブルにおける各属性の状態情報を表すことができ、属性型は、属性フラグ情報によって占有される可能性があるビット数を決定するために用いられることができる。符号化時に、各属性に対応する属性型及び動画データに基づいて、各属性に対応する属性フラグ情報を決定することができる。復号時に、まず各属性の属性型に基づいて、各属性に対応する属性フラグ情報によって占有される可能性があるビット数を決定し、次に属性フラグ情報の解析ルールに基づいて、各属性に対応する属性フラグ情報を解析して取得することにより、各属性に対応する属性コンテンツをどのように読み取るかを決定することができる。
なお、各動画タグコードに対応する属性構造テーブルにおける属性の数、各属性のデータ型、属性型、属性のソート、属性に対応するデフォルト値は、いずれも解析コードに埋め込まれ、即ち解析コードにハード符号化され、符号化時に動画ファイルに書き込まれる必要がなく、このように、動画ファイルのサイズを小さくすることができ、或いは、動画タグコードに対応する属性構造テーブルが解析コードにハード符号化されるとも言える。例えば、端末は、PAG SDKにより動画ファイルを解析した後にレンダリング再生を行うことができ、各動画タグコードに対応する属性構造テーブルに対応する上記情報は、PAG SDKにハード符号化されることができる。
具体的には、ある動画タグコードに対応する動画データを符号化する必要がある場合、端末は、該動画タグコードに対応する属性構造テーブルをルックアップし、該属性構造テーブルに属性型が存在するならば、各属性に対応する属性フラグ情報を決定し、そして、該属性フラグ情報、及び該属性構造テーブルが呈する動的属性データ構造に応じて、各属性に対応する動画データを符号化して、属性コンテンツを取得し、属性フラグ情報と属性コンテンツとの各対で構成された動的属性データブロックを、動画タグコードに対応するタグボディとする必要がある。さらに、該属性構造テーブルが呈する動的属性データ構造における各属性の属性フラグ情報は、対応する属性型及び動画データそのものに基づいて決定することができる。
一実施態様において、上記動画データ符号化方法は、
動画タグコードに対応する属性構造テーブルに属性型が存在しない場合、属性構造テーブルにおける各属性に対応するデータ型、属性ソートに基づいて、動画データにおける、各属性に対応する属性値を順に符号化して、動画タグコードに対応する基本属性データブロックを取得するステップをさらに含む。
具体的には、動画タグコードで表わされる動画情報に含まれる属性の種類、数が一定のものである場合、定義された該動画タグコードに対応する属性構造テーブルに各属性の属性型が存在せず、かつ各属性のデータ型がいずれも基本データ型であり、該属性構造テーブルが呈するデータ構造は、基本データ構造とも呼ばれる。例えば、ボックスのサイズ及び枠線色情報を表す動画タグコード「7」は、それに対応する属性構造テーブルに属性型が存在せず、各属性に対応するデフォルト値も存在しない。符号化時に、該動画タグコードに対応するタグヘッダの後のタグボディを、属性構造テーブルが呈する基本データ構造に基づいて符号化するだけでよい。ここでの基本データ構造は、属性構造テーブルにおける各属性に対応するデータ型、属性ソートによって決められるものである。
S806では、属性フラグ情報に応じて、動画データにおける、各属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得する。
前述したように、属性フラグ情報が、動画タグコードに対応する属性構造テーブルにおける各属性の状態情報を表すため、各属性に対応する属性フラグ情報を決定した後、各属性に対応する属性コンテンツが存在するか否か、即ちデフォルト値であるか否かを決定することができ、デフォルト値であれば、対応する属性コンテンツが空であり、そうでなければ、該属性に対応する属性型及びデータ構造に応じて、動画データにおける、該属性に対応する属性値を符号化して、該属性に対応する属性コンテンツを取得する必要がある。さらに、属性フラグ情報に基づいて、該属性に対応する属性値が動画区間特性データを含むか否か、空間イージングパラメータ情報を含むか否かを決定することができ、そうであれば、動画区間特性データに対応するデータ構造に応じて、該属性に対応する属性値を符号化して、対応する属性コンテンツを取得することができる。
一実施態様において、属性に対応する属性型は、一般属性又はブール属性であり、属性に対応する属性フラグ情報は、コンテンツフラグビットのみを含み、各属性に対応する属性フラグ情報を決定するステップは、動画データにおける、属性に対応する属性値がデフォルト値でなければ、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す値に符号化するステップと、動画データにおける、属性に対応する属性値がデフォルト値であれば、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在しないことを表す値に符号化するステップと、を含む。
具体的には、属性に対応する属性型が一般属性(Value)であれば、属性に対応する属性フラグ情報は、コンテンツフラグビットのみを含む。コンテンツフラグビットは、属性に対応する属性コンテンツが存在するか否かを特定し、存在すれば、即ち属性に対応する属性値がデフォルト値でなければ、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す値に符号化し、該値が1であってもよく、属性に対応する属性コンテンツがデフォルト値であれば、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在しないことを表す値に符号化し、該値が0であってもよい。言い換えると、属性に対応する属性型が一般型であれば、該属性に対応する属性フラグ情報は1又は0である。実際には、該コンテンツフラグビットは、属性に対応する属性値がデフォルト値であるか否かを決定するためのものであり、該フラグの値を具体的に1又は0に符号化するかは、設定されたフラグビット符号化ルールによって決められ、属性に対応する属性値がデフォルト値であれば、1つのフラグビット(例えばコンテンツフラグが0である場合)で、該属性に対応する属性値がデフォルト値であることを直接的に表すだけでよく、属性コンテンツ領域に実際の値を格納する必要がなくなり、動画ファイルのサイズを低減することができ、該属性に対応する属性値がデフォルト値でなければ、属性コンテンツ領域の、該属性に対応するコンテンツ領域において該属性に対応する属性値を符号化して、該属性に対応する属性コンテンツを取得する必要がある。
復号段階において、該属性に対応する属性値を解析するとき、属性構造テーブルに基づいて該属性に対応する属性型を決定し、一般属性であれば、動的属性データブロックにおいて該属性に対応する属性フラグ情報が1ビットのみを占有することが分かり、動的属性データブロックから読み取られた、該属性に対応する属性フラグ情報が0である場合、該属性に対応する属性値がデフォルト値であることが分かり、1が読み取られる場合、続けて動的属性データブロックから該属性に対応する属性コンテンツを読み取ることで、該属性に対応する属性値を取得する。
属性に対応する属性型がブール型(BitFlag)であれば、対応する属性値はtrue又はfalseであり、前述したように、1ビットで該属性の値を表すことができる。符号化時に、コンテンツフラグビットで対応する属性値を直接的に表すことができ、対応する属性値がtrueである場合、属性に対応するコンテンツフラグビットを、trueを表す値に符号化することができ、該値は、例えば1であってもよく、対応する属性値がfalseである場合、属性に対応するコンテンツフラグビットを、falseを表す値に符号化することができ、該値は、例えば0であってもよい。それに応じて、復号段階において該属性に対応する属性値を解析する場合、属性構造テーブルに基づいて該属性に対応する属性型を決定し、ブール属性であれば、動的属性データブロックにおいて該属性に対応する属性フラグ情報が1ビットのみを占有し、かつ該ビットの値が該属性に対応する属性値であることが分かり、即ち、ブール属性に対して、該属性を解析するときに、読み取られたコンテンツフラグビットの値を直接的に対応する属性値とし、動的属性データブロックの属性コンテンツ領域を解析する必要がなくなる。
一実施態様において、属性に対応する属性型は固定属性であり、属性フラグ情報は空であり、属性フラグ情報に応じて、動画データにおける、各属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得するステップは、属性に対応するデータ型に基づいて、動画データにおける、属性に対応する属性値を直接符号化して、属性に対応する属性コンテンツを取得するステップを含む。
具体的には、属性の属性型が固定属性(FixedValue)である場合、該属性に対応する属性値が固定的に存在することを表し、属性フラグ情報でこの属性の状態を特定する必要がなくなり、符号化時に、該属性に対応する属性値を該属性に対応するデータ型に応じて符号化して、該属性に対応する属性コンテンツを取得する必要がある。例えば、マスク情報を表す属性構造テーブルにおいて、1番目の属性は、マスクのマスク識別子(id)を表し、該属性に対応する属性型が固定属性であり、該マスク識別子を対応するデータ型に応じて符号化して、対応する属性コンテンツを取得する必要があることを表す。
一実施態様において、属性に対応する属性型は、簡単動画属性、離散動画属性、多次元時間イージング動画属性又は空間イージング動画属性であり、属性フラグ情報は、少なくともコンテンツフラグビットを含み、各属性に対応する属性フラグ情報を決定するステップは、動画データにおける、属性に対応する属性値がデフォルト値でなければ、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す値に符号化するステップと、動画データにおける、属性に対応する属性値がデフォルト値であれば、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在しないことを表す値に符号化するステップと、を含む。
具体的には、属性に対応する属性型が簡単動画属性(SimpleProperty)、離散動画属性(DiscreteProperty)、多次元時間イージング動画属性(MultiDimensionProperty)、又は空間イージング動画属性(SpatialProperty)である場合、該属性に対応する属性フラグ情報は、少なくともコンテンツフラグビットを含む。同様に、動画データにおける、該属性に対応する属性値がデフォルト値である場合、動的属性データブロックにおいて実際の属性値を格納する必要がなくなり、コンテンツフラグビットを、該属性値がデフォルト値であることを示す値に符号化するだけでよく、該値が0であってもよく、復号段階において解析して該値を得るとき、動的属性データブロックにおいて属性に対応する属性コンテンツが存在しないことが分かり、該属性に対応するデフォルト値を対応する属性コンテンツとするだけでよい。
動画データにおける、該属性に対応する属性値がデフォルト値ではない場合、動的属性データブロックに実際の属性値を格納する必要があり、コンテンツフラグビットを、動的属性データブロックにおいて該属性に対応する属性コンテンツが存在することを表す値に符号化し、該値が1であってもよい。コンテンツフラグビットが1である場合、該属性フラグ情報は、少なくとも動画区間フラグビットをさらに含み、即ち属性フラグ情報は、少なくとも2ビットを占有する。動画区間フラグビットは、該属性に対応する属性値が動画区間特殊効果データを含むか否かを表す。復号段階において、読み取られたコンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す場合、コンテンツフラグビットの次のビットの値を読み取って、動画区間フラグビットの値とする。
一実施態様において、属性フラグ情報は、動画区間フラグビットをさらに含み、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す場合、方法は、属性値が動画区間特性データを含むならば、動画区間フラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれることを表す値に符号化するステップと、属性値が動画区間特性データを含まないならば、動画区間フラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれないことを表す値に符号化するステップとをさらに含む。
動画区間特性データは、動画データの基本単位であり、多くの動画データの属性は、動画区間特性データを含む。該属性に対応する属性値が動画区間特性データを含むならば、動画区間特性データは、複数の動画区間の、該属性に対応する動画データを記述し、各動画区間は、一部の時間軸に対応し、各動画区間の動画特性データは、属性のある時間軸での変化関係を記述し、実際には、該時間軸に対応する各動画フレームの該属性に対応する変化関係を記述する。該関係は、線形関係、ベジェ曲線関係、又は静止関係(即ち、1時間軸内で該属性に対応する属性値が不変である)であってもよい。
一実施態様において、属性フラグ情報に応じて、動画データにおける、各属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得するステップは、動画区間フラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれないことを表すならば、属性に対応するデータ型に基づいて、動画データにおける、属性に対応する属性値を直接符号化して、属性に対応する属性コンテンツを取得するステップを含む。
具体的には、属性に対応する属性値における動画区間の数は0個以上であってもよく、数が0個である場合、該属性が1つの有効値のみを含むことを表し、該属性に対応する属性値に動画区間特性データが含まれないことが分かり、動画区間フラグビットを、動的属性データブロックに格納された該属性に対応する属性コンテンツに動画区間特性データが含まれないことを表す値に符号化する必要があり、該値が0であってもよい。この場合、該属性に対応する属性フラグ情報が「10」であると決定し、該属性に対応する属性値を符号化するとき、該属性に対応するデータ型に基づいて属性値を直接符号化して、属性に対応する属性コンテンツを取得する。
一実施態様において、属性フラグ情報に応じて、動画データにおける、各属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得するステップは、動画区間フラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれることを表すならば、動画区間特性データに対応するデータ格納構造に応じて、属性に対応する動画区間特性データを符号化して、属性に対応する属性コンテンツを取得するステップを含む。
具体的には、属性に対応する属性値における動画区間数が1つ以上である場合、動画区間フラグビットを、動的属性データブロックに格納された該属性に対応する属性コンテンツに動画区間特性データが含まれることを表す値に符号化する必要があり、該値が1であってもよい。この場合、動画区間のデータ構造に応じて各動画区間に対応する特性データを記録し、かつ複数の動画区間特性データのデータ格納構造(property格納構造)に応じて各動画区間の特性データを符号化して、該属性に対応する属性コンテンツを取得する必要がある。下記表は、1つの動画区間に記録されるべき情報を示す。
Figure 2022536233000028
1つの動画区間は、各区間の開始及び終了時間を含み、開始時間に対応する属性値、終了時間に対応する属性値をさらに含み、また、属性値計算方法を特定する補間器のタイプ、時間イージングパラメータなどをさらに含む。属性型が多次元時間イージング属性である属性は、その動画区間に多次元の時間イージングパラメータがさらに含まれる可能性があり、属性型が空間イージング動画属性である属性は、その動画区間に空間イージングパラメータがさらに含まれる可能性がある。startValue、endValueは、この動画区間の開始値及び終了値を表し、対応するstartTime及びendTimeは、この動画区間の開始時点及び終了時点を表すため、時点の値がstartTimeに等しい場合、対応する属性値はstartValueであり、時点の値がendTimeに等しい場合、対応する属性値はendValueであり、startTimeとendTimeとの間の時点は、属性の値が補間器のタイプによって決められる。動画ファイルにおける動画特性データの特性に基づいて定義された補間器のタイプを下記表に示す。
Figure 2022536233000029
動画区間のデータ構造を参照して分かるように、補間器のタイプの値が2(Bezier)に等しくない場合、動画区間の時間イージングパラメータbezierOut及びbezierInを格納する必要がない。属性型が離散イージング動画属性である場合、補間器のタイプを表す値が必ず3(Hold)であり、又はデフォルトで3となり、補間器のタイプの値を格納する必要がなくなり、このような状況は、一般的に属性の基本データ型がブール型又は列挙型である場合に発生し、そのデータが離散的であり、true又はfalseであり、trueとfalseとの間に中間補間が現われる可能性がない。属性型が多次元時間イージング動画属性である場合、時間イージングパラメータが複数本のベジェ曲線で構成され、各本のベジェ曲線がデータ値の1つの成分のイージングを独立して制御することを表す。dimensionalityは、各動画区間の時間イージングパラメータ配列の次元数を表し、具体的に何本のベジェ曲線であるかは、startValue及びendValueのデータ型に基づいて確認され、例えば、データ型がPointである場合、時間イージングパラメータは二次元配列であり、dimensionalityは2であり、2本のベジェ曲線は、それぞれx軸、y軸の独立したイージングを制御し、即ちPointデータ型におけるx軸座標の値は、2本のベジェ曲線により制御され、y軸座標の値も2本のベジェ曲線により制御される。多次元時間イージング動画属性ではないほとんどの場合、基本データ型に基づいて次元を判断する必要がなく、デフォルトで一次元時間イージングパラメータのみを格納し、即ちdimensionalityが常に1である。属性型が空間イージング動画属性である場合、動画区間において空間イージングパラメータが存在する可能性があることを表し、このとき、具体的には、空間イージングパラメータフラグビットに基づいて、実際の現在の動画区間においてこの部分のパラメータが存在するか否かを判断する必要がある。
属性に対応する動画区間フラグビットが1である場合、該属性フラグ情報は、少なくとも空間イージングパラメータフラグビットをさらに含み、即ち属性フラグ情報は、3ビットを占有する。空間イージングパラメータフラグビットは、該属性に対応する属性値が空間イージングパラメータを含むか否かを表す。復号段階において、読み取られた動画区間フラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれることを表す場合、続けて動画区間フラグビットの次のビットの値を読み取って、空間イージングパラメータフラグビットの値とする。
一実施態様において、属性に対応する属性型は、空間イージング動画属性であり、属性フラグ情報は、空間イージングパラメータフラグビットをさらに含み、動画区間フラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれることを表す場合、方法は、動画区間特性データに空間イージングパラメータが含まれるならば、空間イージングパラメータフラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれることを示す値に符号化するステップと、動画区間特性データに空間イージングパラメータが含まれないならば、空間イージングパラメータフラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれないことを示す値に符号化するステップとをさらに含む。
空間イージングパラメータは、複雑な動的効果を説明するためのパラメータである。属性に対応する属性型が空間イージング動画属性である場合にのみ、該属性に対応する属性フラグ情報は、3ビットを占有する可能性があり、かつ空間イージングパラメータフラグビットが存在する前提は、コンテンツフラグビット、動画区間フラグビットがいずれも1であることである。他の属性型の場合、3番目のフラグが存在するか否かを判断する必要がなく、空間イージングパラメータを格納する必要もない。
一実施態様において、属性フラグ情報に応じて、動画データにおける、各属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得するステップは、空間イージングパラメータフラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれることを表す場合、動画区間特性データに対応するデータ格納構造に応じて、属性に対応する動画区間特性データを符号化して、空間イージングパラメータが含まれる、属性に対応する属性コンテンツを取得するステップを含む。
具体的には、動画区間特性データに空間イージングパラメータが含まれる場合、空間イージングパラメータフラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれることを示す値に符号化し、該値が1であってもよい。この場合、該属性に対応する属性フラグ情報が「111」であると決定し、該属性に対応する属性値を符号化するとき、動画区間特性データに対応するデータ格納構造に応じて、該属性に対応する動画区間特性データを符号化して、該属性に対応する属性コンテンツを取得する必要がある。
一実施態様において、上記属性フラグ情報に応じて、上記動画データにおける、各前記属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得する上記ステップは、空間イージングパラメータフラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれないことを示す場合、動画区間特性データに対応するデータ格納構造に応じて、属性に対応する動画区間特性データを符号化して、空間イージングパラメータが含まれない、属性に対応する属性コンテンツを取得するステップを含む。
具体的には、動画区間特性データに空間イージングパラメータが含まれない場合、空間イージングパラメータフラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれないことを示す値に符号化し、該値が0であってもよい。この場合、該属性に対応する属性フラグ情報が「110」であると決定し、該属性に対応する属性値を符号化するとき、動画区間特性データに対応するデータ格納構造に応じて、該属性に対応する動画区間特性データを符号化する必要があり、得られた属性コンテンツは、空間イージングパラメータを含まない。
一実施態様において、動画区間特性データに対応するデータ格納構造に含まれるフィールドは、動画区間数と、各動画区間の補間器のタイプと、各動画区間の開始及び終了時間とを含み、各動画区間の、属性に対応する開始値、終了値、時間イージングパラメータ及び空間イージングパラメータをさらに含む。
動画区間特性データに対応するデータ格納構造を下記表に示す。
Figure 2022536233000030
上記表に示す動画区間特性データのデータ格納構造(Property格納構造とも呼ぶ)から分かるように、実際に複数の動画区間の動画特性データを格納するとき、1つの動画区間の全てのデータを格納してから次の動画区間の全てのデータを格納するのではなく、各動画区間の1つのタイプのデータを順に格納してから次のタイプのデータを集中的に格納し、このように、類似するデータを集中的に格納して集中的に圧縮することができ、格納空間を減少させることができる。例えば、補間器のタイプの値は、一般的に2ビットのみを占有し、集中的に格納すると、バイト整列による余分な空間浪費を低減することができる。また例えば、次の動画区間のstartValue及びstartTimeは、常に直前の動画区間のendValue及びendTimeに等しく、集中的に格納するならば、格納する必要がない動画区間の間に重複するデータをスキップして、格納空間をさらに圧縮することができる。
なお、動画特性データに対応するデータ格納構造に従い格納されたデータを復号する場合、各フィールドのデータ値の読み取りが終了した後、一回のバイト整列を行い、読み取られなかった残りのビットをスキップし、次の整数バイト位置から、次のフィールドに対応するデータ値を読み取る必要がある。
上記表において、動画区間特性データにおける動画区間の開始値及び終了値(PropertyValue)は、異なるデータ型を有することができ、異なるデータ型は、異なる格納方式に対応する。PAGファイルにおいて、動画区間の開始値及び終了値は、合計で15種類を有し、各種類の符号化方式を下記表に示す。
Figure 2022536233000031
上記表から分かるように、動画区間の開始値及び終了値のデータ型は上記15種類のいずれかであってもよい。前述した動画区間特性データに対応する格納構造において、valueListは、複数の動画区間の開始値及び終了値を格納し、そのデータ型がPropertyValueListである。PropertyValueListに対して、実質的に個々のPropertyValueに変換して格納する。例えば、Value<Float>[]の格納構造が連続したValue<Float>であり、Value<Float>のデータ型がFloat型であるため、Value<Float>[]は、実質的に1セットの連続したFloat型の数値である。他の種類の方式に変換して格納することもでき、例えば、データ型がValue<Uint8>[]である場合、連続した符号なし整数の符号化方式(UB[nBits][])に変換して格納する。PropertyValueListの格納方式を下記表に示す。
Figure 2022536233000032
前述した動画区間特性データに対応する格納構造において、timeEaseListは、複数の動画区間の時間イージングパラメータを格納し、そのデータ型がTimeEaseValueListである。TimeEaseValueListのデータ構造を下記表に示す。
Figure 2022536233000033
各動画区間の時間イージングパラメータが一対の制御点であり、各制御点のデータ型がPoint型であるため、複数の動画区間の時間イージングパラメータの符号化方式を図10に示す。図10を参照して、TimeEaseValueListの格納方式において、時間イージングパラメータ配列における要素が占有するビット数timeEaseNumBitsを格納し、次に各動画区間の時間イージングパラメータを順に符号化し、dimensionalityは、各動画区間のbezierIn及びbezierOut配列の次元数を表す。dimensionalityの値が1に等しい場合、各動画区間の時間イージングパラメータは、一対のbezierOut(x,y)、bezierIn(x,y)であり、2つのPoint型の値(4つのFloat型)であり、各Float値をSB[timeEaseNumBits]に従って符号化する。dimensionalityの値が2に等しい場合、2対のbezierOut、bezierInの値、合計で8個のFloat型の値を含む。timeEasenumBitsの値を除いて、TimeEaseValueList全体は、numFrames*dimensionality*4個のデータ値を格納する必要がある。
なお、復号時に、キーフレームの補間器のタイプがBezierでなければ、TimeEase関連データの読み取りを直接スキップする。bezierOut、bezierInの座標を対として連続して格納し、bezierOutの座標を符号化してから、bezierInの座標を符号化する。
timeEaseListの値を復号するとき、5ビットを読み取ることで、timeEaseNumBitsを取得し、次にtimeEaseNumBits個のビットごとに読み取られた値をそれぞれ各動画区間のbezierOut、bezierInの座標とし、numFrames*dimensionality*4回読み取ることで、該属性に対応する時間イージングパラメータ配列を取得する。
同様に、前述した動画区間特性データに対応する格納構造において、spatialEaseListは、複数の動画区間の空間イージングパラメータを格納し、そのデータ型がSpatialEaseValueListである。SpatialEaseValueListのデータ構造を下記表に示す。
Figure 2022536233000034
各動画区間の空間イージングパラメータが一対の制御点であり、各制御点のデータ型がPoint型であるため、複数の動画区間の空間イージングパラメータの符号化方式を図11に示す。図11を参照して、SpatialEaseValueListの格納方式において、各動画区間に空間イージングパラメータが含まれるか否かを連続ビットで特定し、次に空間イージングパラメータ配列における要素が占有するビット数spatialEaseNumBitsを符号化し、そして各動画区間の空間イージングパラメータを順に符号化する。復号段階において、空間イージングパラメータの読み取りは、読み取られたspatialFlagListリストとspatialEaseNumBitsに依存する必要がある。spatialFlagListの長さは動画区間数の2倍であり、これは、各動画区間の空間イージングパラメータが2つのPoint型データを含むからである。spatialFlagListリストの値は、順に、各動画区間にspatialInとspatialOutが存在するか否かを表す。存在しなければ、spatialIn、spatialOutの座標値はいずれもデフォルト値(0,0)を使用する。また、読み取られたデータは整数型であり、SPATIAL_PRECISIONを乗算してFloatに変換した後にPointのx、yの値とする必要がある。
なお、spatialInFlagとspatialOutFlagを対として連続して格納し、spatialInFlagを格納してからspatialOutFlagを格納する。floatNumの値、即ち空間イージングパラメータ配列の長さは、spatialInFlag及びspatialOutFlagに依存する。spatialInFlagが1であれば、続けてspatialInPointのx、y座標を読み取り、spatialInFlagが0であれば、座標Pointのx、y座標がデフォルト値であり、読み取る必要がない。SpatialIn、spatialOutを順に格納し、spatialInの座標を格納してからspatialOutの座標を格納する。
spatialEaseListの値を復号するとき、numFrames*2個のビットを読み取ることで、spatialFlagListの値を取得し、次に5ビットを読み取ることで、spatialEaseNumBitsの値を取得し、そしてspatialFlagListの値に従いspatialEaseNumBits個のビットごとにデータを読み取ることで、空間イージングパラメータが存在する動画区間の空間イージングパラメータを取得する。
S808では、属性構造テーブルにおける各属性に対応する属性ソートに基づいて、各属性に対応する属性フラグ情報、属性コンテンツを順に格納して、動画タグコードに対応する動的属性データブロックを取得する。
前述した分析により、以下の結論を得ることができる。
属性型は、一般属性であり、属性に対応する属性フラグ情報が「1」である場合、該属性に対応するデータ型に応じて、対応する属性値を直接符号化して、属性コンテンツを取得し、属性に対応する属性フラグ情報が「0」である場合、対応する属性値がデフォルト値であり、対応する属性値を符号化する必要がなくなり、動的属性データブロックにおいて対応する属性コンテンツが存在しない。
属性型は、ブール属性であり、属性に対応する属性フラグ情報が「1」である場合、属性に対応する属性値が「true」であることを表し、対応する属性値を符号化する必要がなくなり、動的属性データブロックにおいて対応する属性コンテンツが存在せず、同様に、属性に対応する属性フラグ情報が「0」である場合、属性に対応する属性値が「false」であることを表す。
属性型は、固定属性であり、対応する属性フラグ情報が存在せず、対応する属性値を対応するデータ型に応じて符号化して、属性コンテンツを取得する。
属性型は、簡単動画属性、離散動画属性、多次元時間イージング動画属性であり、属性に対応する属性フラグ情報が「0」である場合、対応する属性値がデフォルト値であり、対応する属性値を符号化する必要がなくなり、動的属性データブロックにおいて対応する属性コンテンツが存在せず、属性に対応する属性フラグ情報が「10」である場合、対応する属性値がデフォルト値ではなく、かつ動画区間特性データを含まず、該属性に対応するデータ型に応じて正常に符号化して、属性コンテンツを取得する必要があり、属性に対応する属性フラグ情報が「11」である場合、対応する属性値がデフォルト値ではなく、かつ動画区間特性データを含み、動画区間特性データのデータ格納構造に応じて符号化して、属性コンテンツを取得する必要がある。
属性型は、空間イージング動画属性であり、属性に対応する属性フラグ情報が「0」である場合、対応する属性値がデフォルト値であり、対応する属性値を符号化する必要がなくなり、動的属性データブロックにおいて対応する属性コンテンツが存在せず、属性に対応する属性フラグ情報が「10」である場合、対応する属性値がデフォルト値ではなく、かつ動画区間特性データを含まず、該属性に対応するデータ型に応じて正常に符号化して、属性コンテンツを取得する必要があり、属性に対応する属性フラグ情報が「110」である場合、対応する属性値がデフォルト値ではなく、かつ動画区間特性データを含み、空間イージングパラメータを含まず、動画区間特性データのデータ格納構造に応じて符号化して、空間イージングパラメータが含まれない属性コンテンツを取得する必要があり、属性に対応する属性フラグ情報が「111」である場合、対応する属性値がデフォルト値ではなく、かつ動画区間特性データを含み、空間イージングパラメータを含み、動画区間特性データのデータ格納構造に応じて符号化して、空間イージングパラメータが含まれる属性コンテンツを取得する必要がある。
動画タグコードに対応する属性構造テーブルは、複数の属性を含み、各属性に対して、いずれも動画データにおける、各属性に対応する属性値を符号化し、即ち各属性の属性フラグ情報、属性型に応じて符号化して、対応する属性コンテンツを取得し、最後に各属性の属性フラグ情報を属性ソートで格納することで、属性フラグ領域を取得し、各属性の属性コンテンツを属性ソートで格納することで、属性コンテンツ領域を取得することができ、動画タグコードに対応する属性フラグ領域、属性コンテンツ領域は、動画タグコード全体に対応する動的属性データブロックを構成する。実質的には、動的属性データブロックは、該動画タグコード(TagCode)が位置するタグ(Tag)のタグボディ(TagBody)の値である。
上記動画データ符号化方法において、動画タグコードは、1セットの属性を特定し、属性構造テーブルは、動画タグコードにより特定される1セットの属性のデータ構造を記述し、このセットの属性の属性値の種類又は数が一定でないか又は属性の属性値に大量の冗長が存在する場合、属性の種類又は数を記述する大量の識別フィールドを追加して導入することにより動画ファイルのボリュームが大きすぎるという問題を回避するために、動的属性データブロックのデータ構造を導入し、このように、これらのフラグ(識別子)の圧縮を最大化し、ターゲット動画ファイルが占有するボリュームを大幅に低減することができる。具体的には、動画プロジェクトファイルを取得した後、動画タグコードに対応する属性構造テーブルに含まれる1セットの属性に基づいて、動画プロジェクトファイルからこのセットの属性の属性値を取得し、動的属性データブロックにおける属性フラグ情報は、属性の属性状態を記述し、属性構造テーブルに属性型が存在する場合、動画データに基づいて各属性に対応する属性フラグ情報を決定し、次に属性フラグ情報に基づいて各属性に対応する属性値を動的符号化して、対応する属性コンテンツを取得し、属性構造テーブルにおける各属性の属性フラグ情報及び属性コンテンツを結合することで、動画タグコードに対応する動的属性データブロックを取得し、このように、動画ファイルが占有する空間を顕著に低減することができる。
一実施態様において、動画タグコードは、ビットマップ合成タグコードであり、動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得するステップは、動画プロジェクトファイルを再生するステップと、動画プロジェクトファイルに対応する再生画面を順にスクリーンショットして、動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得するステップと、ビットマップシーケンスフレームの導出方式に従ってビットマップ画像シーケンスを処理して、ビットマップ合成タグコードに対応するピクチャバイナリデータを取得するステップと、を含む。
具体的には、ビットマップシーケンスフレーム方式を採用して動画プロジェクトファイルを導出して、動画ファイルを取得する場合、端末は、動画プロジェクトファイルを再生する過程において、動画プロジェクトファイルに対応する再生画面を1フレーム分ずつビットマップ画像としてスクリーンショットすることで、対応するビットマップ画像シーケンスを取得することができる。一実施態様において、AE SDKのスクリーンショット機能により動画プロジェクトファイルの各フレームをスクリーンショットすることで、各フレームに対応するビットマップ画像を取得することにより、動画プロジェクトファイル全体に対応するビットマップ画像シーケンスを取得することができる。ビットマップシーケンスフレームの導出方式に従ってビットマップ画像シーケンスを処理して、ビットマップ合成タグコードに対応するピクチャバイナリデータを取得するステップは、ビットマップ画像シーケンスにおけるビットマップ画像と対応するキービットマップ画像に対して画素比較を行い、ビットマップ画像における相違画素領域を取得するステップと、ビットマップ画像が非キービットマップ画像である場合、ピクチャ符号化方式に従って相違画素領域を符号化して、ビットマップ画像に対応する符号化ピクチャを取得するステップと、を含む。符号化ピクチャは、各ビットマップ画像に対応するピクチャバイナリデータである。
実質的には、ビットマップシーケンスフレームの導出方式を採用して動画プロジェクトファイルを導出して、動画ファイルを取得する場合、ビットマップ合成タグコード(BitmapCompositionBlock)に対応する動画データを取得する必要がある。該動画データは、上記ピクチャバイナリデータに加え、動画の基本属性データをさらに含み、このため、定義されたビットマップ合成タグコードの属性構造テーブルを下記表に示す。
Figure 2022536233000035
上記表において、CompositionAttributesも動画タグコードであり、それに対応する属性構造テーブルを下記表に示す。
Figure 2022536233000036
bitmapSequenceも動画タグコードであり、それに対応する属性構造テーブルを下記表に示す。
Figure 2022536233000037
上記3つの表から分かるように、ビットマップ合成タグコードが位置するタグは、CompositionAttributesが位置するタグとbitmapsequenceが位置するタグとがネストされたタグである。ピクチャ符号化方式に基づいて得られたピクチャバイナリデータに加え、ビットマップ合成タグコードに対応する動画データは、合成識別子(CompositionID)、合成の基本属性(CompositionAttributes)、ビットマップ画像シーケンス(sequence)を含み、合成の基本属性は、合成の再生時間長、フレームレート及び背景色を含み、ビットマップ画像シーケンスは、ビットマップ画像の幅、高さ、数、キーフレーム識別子及びピクチャバイナリデータシーケンス(bitmapRect[frameCount])を含み、ピクチャバイナリシーケンスは、各ビットマップ画像に対応する相違画素領域の幅、高さ、相違画素領域における開始画素点の座標(x,y)、各相違画素領域に対応するピクチャバイナリデータストリーム(fileBytes)を含む。
図12は、ビットマップシーケンスフレーム符号化方式に対応する動画データの符号化構造図である。図12を参照して、符号化時に、ビットマップ合成タグコードに対応する属性構造テーブルにおける合成フラグのデータ型に応じてCompositionIDの値を符号化し、次にCompositionAttributesの属性構造テーブルに基づいて基本属性データを順に符号化し、そして動画全体の再生時の幅width、高さheight、フレームレートframerateを符号化し、その後に次の各フレームがキーフレームであるか否かをnBits個のビットで記録し、さらにビットマップ画像の総数bitmapCountを符号化し、最後にビットマップ画像シーケンス(bitmapsequences)における各ビットマップ画像に対応するピクチャバイナリデータ、即ち相違画素領域における開始画素点の座標の値(x,y)及び対応するピクチャバイナリデータfileBytesを順に符号化する。
一実施態様において、動画タグコードは、ビデオ合成タグコードであり、動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得するステップは、動画プロジェクトファイルを再生するステップと、動画プロジェクトファイルに対応する再生画面を順にスクリーンショットして、動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得するステップと、ビデオシーケンスフレームの導出方式に従ってビットマップ画像シーケンスを処理して、ビデオ合成タグコードに対応するピクチャバイナリデータを取得するステップと、を含む。
ビデオシーケンスフレームの導出方式に従ってビットマップ画像シーケンスを処理して、ビデオ合成タグコードに対応するピクチャバイナリデータを取得するステップは、ビットマップ画像を色チャンネルビットマップ及び透明度チャンネルビットマップに分けるステップと、色チャンネルビットマップ及び透明度チャンネルビットマップを合成して、合成ビットマップを取得するステップと、ビデオ符号化方式に従って合成ビットマップを符号化して、ビットマップ画像に対応する符号化ピクチャを取得するステップと、を含む。符号化ピクチャは、各ビットマップ画像に対応するピクチャバイナリデータである。
ビデオシーケンスフレームの導出方式を採用して動画プロジェクトファイルを導出することで、動画ファイルを取得する場合、ビデオ合成タグコード(VideoCompositionBlock)に対応する動画データを取得する必要がある。
Figure 2022536233000038
VideoSequenceも動画タグコードであり、対応する属性構造テーブルを下記表に示す。
Figure 2022536233000039
前述したビデオ合成タグコードの属性構造テーブルから分かるように、ビデオ合成タグコードの所在するタグは、CompositionAttributesの所在するタグとvideoSequenceの所在するタグとがネストされたタグである。ビデオ符号化方式に基づいて得られたピクチャバイナリデータに加え、ビデオ合成タグコードに対応する動画データは、合成識別子(CompositionID)、透明度チャンネル(hasAlpha)を含むか否か、合成の基本属性(CompositionAttributes)、ビデオフレームシーケンス(videoSequence)を含み、合成の基本属性は、合成の再生時間長、フレームレート及び背景色を含み、ビデオフレームシーケンスは、ビットマップ画像の幅、高さ、透明度チャンネルの位置情報、ビデオ符号化方式のパラメータ、キーフレーム識別子及びピクチャバイナリデータシーケンス(videoFrames)を含み、ピクチャバイナリシーケンスは、各ビデオフレームに対応するタイムスタンプ及びピクチャバイナリデータストリーム(fileBytes)を含む。
図13は、ビデオシーケンスフレーム符号化方式に対応する動画データの符号化構造図である。図13を参照して、符号化時に、ビデオ合成タグコードに対応する属性構造テーブルにおける合成タグのデータ型に応じてCompositionIDの値を符号化し、透明度チャンネルhasAlphaが存在するか否かを特定する値をブール型に応じて符号化し、次にCompositionAttributesの属性構造テーブルに従って基本属性データを順に符号化し、そして動画全体の再生時の幅width、高さheight、フレームレートframerateを符号化し、続いて透明度チャンネルの開始位置情報alphaStartX及びalphaStartYを符号化し、その後にビデオ符号化パラメータsps及びppsを符号化し、さらにビットマップ画像の総数Countを符号化し、最後にビデオフレームシーケンス(videoSequence)における各合成ビットマップに対応するフレーム番号frame及びピクチャバイナリデータfileBytesを順に符号化する。
一実施態様において、上記動画データ符号化方法は、ファイルヘッダ組織構造に応じて、ファイルヘッダ情報を順に符号化して、ファイルヘッダ符号化情報を取得するステップと、タグ組織構造に応じて、動画タグコード、データブロック長及びデータブロックを順に符号化して、タグ符号化データを取得するステップであって、データブロックに動的属性データブロック及び基本属性データブロックが含まれるステップと、ファイルヘッダ符号化情報、各タグ符号化データをターゲットファイル構造に応じて編成して、ターゲット動画ファイルを取得するステップとをさらに含む。
ここでのターゲット動画ファイルは、PAGファイルであり、PAGファイルのファイル組織構造は、ファイルヘッダ(FileHeader)及びタグ(Tag)を含む。したがって、動画ファイル全体のデータを符号化するとき、ファイルヘッダ組織構造に応じて、ファイルヘッダ情報を符号化して、ファイルヘッダ符号化情報を取得する。タグ組織構造は、動画タグコード、データブロック長及びデータブロックを含むため、動画プロジェクトファイルから取得される、各動画タグコードに対応する動画データに対して、タグ組織構造に応じて順に符号化して、タグ符号化データを取得する。ここでのデータブロックは、動的属性データブロック及び基本属性データブロックを含む。ファイルヘッダ符号化情報及びタグ符号化データを取得した後、ターゲット動画ファイルのファイル構造に応じて編成することで、ターゲット動画ファイルを取得する。
ベクトル導出方式に従って動画プロジェクトファイルを導出する場合にのみ、動的属性データブロックを取得することができる。基本属性データブロックについては、ベクトル導出方式、ビットマップシーケンスフレームの導出方式及びビデオシーケンスフレームの導出方式に従って導出する場合のいずれかに、使用する可能性がある。異なる動画タグコードは、対応する属性構造テーブルが異なり、属性構造テーブルにおける異なる属性の属性型が異なり、基本属性データブロックに応じて符号化する可能性があり、動的属性データブロックに応じて符号化する可能性もある。
以下、前に列挙された37個の動画タグコードの属性構造テーブルについて説明する。
End
Figure 2022536233000040
Endは、特別な動画タグコードとして、あるタグの終了を特定し、復号過程においてこのタグを読み取ると、このEndに対応するタグのコンテンツの読み取りが終了することを示す。タグが入れ子型であれば、即ち、サブタグを含むならば、現在のタグのコンテンツをジャンプして続けて読み取り、外層のバイト要素からコンテンツを読み取る必要がある。
FontTables
Figure 2022536233000041
FontTablesは、フォント情報の集合である。
VectorCompositionBlock
Figure 2022536233000042
VectorCompositionBlockは、ベクトル導出方式による動画データの集合であり、簡単なベクトルグラフィックデータを含んでもよく、1つまたは複数のVectorCompositionをさらに含んでもよい。
Figure 2022536233000043
CompositionAttributesは、合成の基本属性情報である。
ImageTables
Figure 2022536233000044
ImageTablesは、ピクチャ情報の集合である。
LayerBlock
Figure 2022536233000045
LayerBlockは、レイヤ情報の集合である。
LayerAttributes
Figure 2022536233000046
LayerAttributesは、レイヤの属性に関する情報を表す。
SolidColor
Figure 2022536233000047
LayerAttributesは、レイヤの属性情報である。
TextSource
Figure 2022536233000048
TextSourceは、テキスト情報を表し、テキスト、フォント、サイズ、色などの基本情報を含む。
TextPathOptionタグ
Figure 2022536233000049
TextPathOptionは、テキスト描画情報を表し、描画パス、前後左右の間隔などを含む。
TextMoreOptionタグ
Figure 2022536233000050
TextMoreOptionは、テキストの他の情報を表す。
ImageReferenceタグ
Figure 2022536233000051
ImageReferenceは、ピクチャインデックスを表し、ピクチャのIDを格納し、IDにより真のピクチャ情報をインデックスする。
CompositionReferenceタグ
Figure 2022536233000052
CompositionReferenceは、レイヤ組み合わせインデックスを表し、レイヤ組み合わせのIDを格納し、IDにより真のレイヤ組み合わせをインデックスする。
Transform2Dタグ
Figure 2022536233000053
Transform2Dは、2D変換情報を表し、アンカーポイント、拡大縮小、回転、x軸オフセット、y軸オフセットなどの情報を含む。
Maskタグ
Figure 2022536233000054
Maskは、マスク情報を表す。
ShapeGroupタグ
Figure 2022536233000055
ShapeGroupは、投影情報を表す。
Rectangleタグ
Figure 2022536233000056
Rectangleは、矩形情報を表す。
Ellipseタグ
Figure 2022536233000057
Ellipseは、楕円情報を表す。
PolyStarタグ
Figure 2022536233000058
PolyStarは、星型多角形の情報を表す。
ShapePathタグ
Figure 2022536233000059
ShapePathは、形状のパス情報を表す。
Fillタグ
Figure 2022536233000060
Fillは、塗りつぶしに関する情報を表す。
Strokeタグ
Figure 2022536233000061
Strokeは、境界線(アウトライン)に関する情報を表す。
GradientFillタグ
Figure 2022536233000062
GradientFillは、色勾配塗りつぶし情報を表す。
GradientStrokeタグ
Figure 2022536233000063
GradientStrokeは、境界線(アウトライン)の透明度勾配情報を表す。
MergePathsタグ
Figure 2022536233000064
MergePathsは、複合パス化に関する情報を表す。
TrimPathsタブ
Figure 2022536233000065
TrimPathsは、パス生成効果に関する情報を表す。
Repeaterタグ
Figure 2022536233000066
Repeaterは、中継器に関する情報を表す。
RoundCornersタグ
Figure 2022536233000067
RoundCornersは、角丸めに関する情報を表す。
Performanceタグ
Figure 2022536233000068
Performanceは、動画の性能パラメータを表す。
DropShadowStyleタグ
Figure 2022536233000069
DropShadowStyleは、影付きに関する情報を表す。
StrokeStyleタグ
Figure 2022536233000070
StrokeStyleは、境界線(アウトライン)のスタイルに関する情報である。
TintEffectタグ
Figure 2022536233000071
TintEffectは、着色効果に関する情報である。
FillEffectタグ
Figure 2022536233000072
FillEffectは、塗りつぶし効果に関する情報である。
StrokeEffectタグ
Figure 2022536233000073
StrokeEffectは、境界線を付ける効果に関する情報である。
TritoneEffectタグ
Figure 2022536233000074
TritoneEffectは、ハイライト、中間色、影の効果を表す。
DropShadowEffectタグ
Figure 2022536233000075
DropShadowEffectは、影を付ける効果の情報を表す。
FillRadialWipeEffectタグ
Figure 2022536233000076
FillRadialWipeEffectは、塗りつぶしを径方向に消去する効果の情報を表す。
DisplacementMapEffectタグ
Figure 2022536233000077
DisplacementMapEffectは、置き換えレイヤ情報を表す。
BitmapCompositionBlock
Figure 2022536233000078
BitmapCompositionBlockは、ビットマップシーケンスフレーム方式に従って導出された合成を表す。
CompositionAttributes
Figure 2022536233000079
CompositionAttributesは、ビットマップシーケンスフレーム方式に従って導出された合成の基本属性情報を表す。
BitmapSequence
Figure 2022536233000080
BitmapSequenceは、ビットマップ画像シーケンスを表す。
ImageBytes
Figure 2022536233000081
ImageBytesは、符号化されたピクチャの属性情報を表す。
ImageBytes2
Figure 2022536233000082
ImageBytes2は、ピクチャ関連属性情報を格納し、ImageBytesに対して、scaleFactor属性を追加する。
ImageBytes3は、ImageBytes2に対して、透明枠を剥離しただけであり、属性値が変化しない。
VideoCompositionBlock
Figure 2022536233000083
VideoCompositionBlockは、ビデオシーケンスフレームの導出方式に従って導出された合成を表す。
VideoSequence
Figure 2022536233000084
VideoSequenceは、シーケンスフレームシーケンスを表す。
図14に示すように、一実施態様において、動画データ復号方法を提供する。本実施態様は、例として、主に該方法を上記図1中の端末110に適用して説明する。図14を参照して、該動画データ復号方法は、具体的には、以下のステップS1402~S1406を含む。
S1402では、動画タグコードを取得する。
PAGファイルを解析するとき、ファイルヘッダ情報をファイルヘッダ組織構造に応じて復号する必要がある以外、残りの複数のタグをタグ組織構造に応じて復号する必要がある。タグ終了記号(End)は、特別なタグであり、本階層のタグの読み取りが終了し、読み取り対象のタグがこれ以上ないことを特定するため、タグ終了記号(0)を読み取ると、現在のタグのコンテンツの読み取りが終了し、続けて読み取って得られたデータが次のタグのコンテンツであることを表す。当然のことながら、タグが複数のサブタグを含む、ネストされたタグであるならば、タグ終了記号の後に続けて読み取って得られたデータは外層タグのコンテンツであり、最外層のタグに対応するタグ終了記号を得るまで読み取るか、又は最外層のタグのコンテンツのバイトストリームの長さに応じた読み取りが終了すると、最外層のタグに読み取り対象のコンテンツがこれ以上ないことを表す。
前述のタグ組織構造によれば、タグは、いずれもタグヘッダ(TagHeader)及びタグボディ(TagBody)を含み、タグヘッダは、動画タグコード(TagCode)及びタグボディのバイトストリームの長さ(Length)を含む。タグヘッダは、short型及びlong型に分けられ、short型又はlong型に関わらず、タグヘッダの最初の2バイトにおける最初の10bitsは動画タグコードを表すため、ENDに対応する動画タグコード(0)を読み取った後、続けて2バイトを読み取り、この2バイトにおける最初の10bitsは、次のタグに含まれる動画タグコードを表す。最初の2バイトにおける最後の6bitsが「0x3f」でなければ、該タグのタグヘッダがshort型であることが分かり、short型のタグヘッダの組織構造によれば、最後の6bitsの値は、タグボディ(TagBody)のバイトストリームの長さ(Length)を表す。最初の2バイトにおける最後の6bitsが「0x3f」であれば、該タグのタグヘッダがlong型であることが分かり、long型のタグヘッダの組織構造によれば、続けてこの2バイトの後の4バイトを読み取って得られたデータ値は、タグボディ(TagBody)のバイトストリームの長さ(Length)を表す。バイトストリームの長さの値は、タグボディが占有するバイト数を表し、解析してバイトストリームの長さを取得した後、タグヘッダの後のどれぐらいのバイトのデータが現在のタグに属するタグボディであるかを決定することができる。
動画タグコードは、タグがどのタイプの動画情報を具体的に記録しているかを表し、異なる動画タグコードは、異なる動画情報を記録していることを表す。ある動画タグコードを解析した後、現在のタグのタグボディが表すのがどのような動画情報であるかを決定することができ、異なる動画情報のタグボディが異なる符号化構造を有するため、各タグにおける動画タグコードを取得することは、各タグ、特にタグボディを正確に解析する前提である。
前述したように、PAGファイルは、10ビットを採用して動画タグコードを格納し、最大で1024種類の異なる動画タグコードを格納することができる。現在、PAGファイルは、37種類のみの動画タグコードを使用し、0~29は、ベクトル導出方式がサポートしている動画タグコードであり、45~51は、ビットマップシーケンスフレーム導出方式及びビデオシーケンスフレーム導出方式のために拡張された7個の動画タグコードである。後続のPAGファイルがより多くの動画特性をサポートすることができれば、新しい動画タグコードを拡張することで、追加された動画特性に対応する動画情報を表すこともできる。
さらに、動画タグコードを解析した後、動画タグコードで表わされる動画情報に対応する属性構造テーブルに基づいて、現在のタグのタグボディを解析する必要がある。主に2種類の状況に分けられ、解析して得られた動画タグコードに対応する属性構造テーブルに属性型が存在しない場合、タグボディにおけるデータは基本属性データブロックの形式で格納され、解析して得られた動画タグコードに対応する属性構造テーブルに属性型が存在する場合、タグボディにおけるデータは動的属性データブロックの形式で格納される。
S1404では、動画タグコードに対応する属性構造テーブルに属性型が存在する場合、属性構造テーブルにおける各属性に対応する属性型に基づいて、動画タグコードに対応する動的属性データブロックから各属性に対応する属性フラグ情報を解析する。
属性構造テーブルは、動画タグコードに対応する動画情報のデータ構造を定義する。ある動画タグコードに対応する属性構造テーブルに属性型が存在する場合、該動画タグコードに対応するタグヘッダの後のタグボディを動的属性データ構造に応じて復号する必要があることを表す。動的属性データブロックは、主に、各属性に対応する属性フラグ情報(AttributeFlag)からなる属性フラグ領域、及び各属性に対応する属性コンテンツ(AttributeContent)からなる属性コンテンツ領域という2つの部分で構成される。属性型(AttributeType)は、属性フラグ情報によって占有されるビット数及び対応する属性コンテンツの読み取りルールを決定するために用いられる。属性型は、一般属性、ブール属性、固定属性、簡単動画属性、離散動画属性、多次元時間イージング動画属性及び空間イージング動画属性を含む。
マスク情報を例として、マスク情報を表す動画タグコード「14」を読み取った場合、マスク情報に対応する属性構造テーブルに属性型が存在するため、現在のタグのタグボディに対して、動的属性データ構造に応じて解析を行う必要がある。全体的には、まず動的属性データブロックにおける属性フラグ領域を解析し、次に統一的なバイト整列を行った後に、整数バイト数の位置から属性コンテンツ領域を読み取り、マスク情報に対応する属性構造テーブルにおける各属性に対応する属性コンテンツを順に取得する。
属性フラグ情報は、空である可能性があり、属性フラグ情報は、少なくともコンテンツフラグビットを含む可能性があり、さらに動画区間フラグビット及び空間イージングパラメータフラグビットを含む可能性がある。コンテンツフラグビット(exist)は、属性に対応する属性コンテンツが動的属性データブロックに存在するか又はデフォルト値に等しいかを表し、動画区間フラグビット(animatable)は、該属性に対応する属性値が動画区間特殊効果データを含むか否かを表し、空間イージングパラメータフラグビット(hasSpatial)は、該属性に対応する属性値が空間イージングパラメータを含むか否かを表す。異なる属性型の属性に対応する属性フラグ情報によって占有されるビット数は動的であり、値の範囲が0~3ビットである。各属性が具体的にどれぐらいのビットを占有するかは、属性型によって決定される必要があり、即ち、属性型は、属性フラグ情報によって占有される可能性があるビット数(0~3ビット)を決定するために用いられることができる。一般属性は、最大で1ビットのみを占有し、復号時にコンテンツフラグビットを読み取るだけでよい。空間イージング動画属性は、最大で3ビットを占有して、属性フラグ情報を格納する。例えば、1つの空間イージング動画属性が動画区間特性データを含まず、かつ属性値がデフォルト値に等しい場合、1ビットのみで属性フラグ情報を表せばよく、属性フラグ情報が属性コンテンツフラグビットのみを含み、その値が0であり、対応する属性コンテンツがデフォルト値であることを表す。復号時に読み取られたコンテンツフラグビットが0であり、該属性の属性フラグ情報の読み取りが終了し、次のビットの値を続けて読み取らないことを表す。極端な場合に、属性構造テーブルにおける各属性は、いずれも動画区間特性データを含まず、かついずれもデフォルト値に等しく、この場合に属性数のビットのみを占有して各属性に対応する属性フラグ情報を格納し、かつ各属性フラグ情報がいずれもコンテンツフラグビットのみを含み、その値がいずれも0である。
以下、異なる属性型に対応する属性フラグ情報の解析ルールを示す。
一般属性の属性フラグ情報は1ビットのみを占有し、該属性に対応する属性フラグ情報を読み取る場合、1ビットの値を読み取るだけでよい。
ブール属性の属性フラグ情報は1ビットのみを占有し、該属性に対応する属性フラグ情報を読み取る場合、同様に1ビットを読み取るだけでよく、かつ該ビットの値は該属性に対応する属性値である。
固定属性の属性フラグ情報がビットを占有しないため、動的属性データブロックから該属性に対応する属性フラグ情報を読み取る必要がない。
簡単動画属性、離散動画属性及び多次元時間イージング動画属性の属性フラグ情報は、1~2ビットを占有する。1番目のビットの値が1であることを読み取った場合、該属性に対応する属性値がデフォルト値ではなく、さらに2番目のビットを読み取る必要があることを表し、このように、該属性に対応する属性フラグ情報「11」又は「10」を取得し、1番目のビットの値が0であることを読み取った場合、該属性に対応する属性値がデフォルト値であり、かつ属性フラグ情報が1ビットのみを占有し、即ち「1」であることを表す。
空間イージング動画属性の属性フラグ情報は、1~3ビットを占有する。1番目のビットの値が1であることを読み取った場合、該属性に対応する属性値がデフォルト値ではなく、さらに2番目のビットを読み取る必要があることを表し、2番目のビットの値が0であれば、該属性に対応する属性コンテンツが動画区間特性データを含まず、このように、該属性に対応する属性フラグ情報「10」を取得し、その後のデータを該属性に対応する属性フラグ情報として読み取ってはならず、2番目のビットの値が1であれば、該属性に対応する属性コンテンツが動画区間特性データを含み、続けて3番目のビットを読み取る必要があり、3番目のビットの値が0であれば、該属性に対応する属性コンテンツが空間イージングパラメータを含まず、かつ該属性に対応する属性フラグ情報「110」を決定し、3番目のビットの値が1であれば、該属性に対応する属性コンテンツが空間イージングパラメータを含み、かつ該属性に対応する属性フラグ情報「111」を決定し、1番目のビットの値が0であることを読み取った場合、該属性に対応する属性値がデフォルト値であり、かつ属性フラグ情報が1ビットのみを占有し、即ち「1」であり、その後のデータを該属性に対応する属性フラグ情報として読み取ってはならないことを表す。
一実施態様において、属性構造テーブルにおける各属性に対応する属性型に基づいて、動画タグコードに対応する動的属性データブロックから各属性に対応する属性フラグ情報を解析するステップは、属性構造テーブルをルックアップし、各属性に対応する属性ソートを取得するステップと、各属性に対応する属性型に基づいて、各属性に対応する属性フラグ情報によって占有されるビット数を決定するステップと、動画タグコードに対応する動的属性データブロックにおける最初のビットからデータを読み取るステップと、各属性に対応する属性フラグ情報によって占有されるビット数に基づいて、順に読み取ったデータから各属性に対応する属性フラグ情報を属性ソートに応じて決定するステップと、を含む。
実際には、属性構造テーブルに含まれる属性の数、属性ソート、属性に対応する属性型及び属性に対応するデフォルト値は、いずれも解析コードにハード符号化され、ある動画タグコードを解析した後、解析コードに基づいて、それに対応する、属性ソート、属性に対応する属性型、データ型、数及びデフォルト値などを含む属性構造テーブルの情報を直接決定することができる。
具体的には、動的属性データブロックから各属性に対応する属性フラグ情報を解析するとき、各属性に対応する属性型に基づいて、各属性に対応する属性フラグ情報によって占有される可能性があるビット数を決定し、それ以外に、各属性に対応する属性フラグ情報を正確に決定できるように、さらに、各属性に対応する属性ソートに応じて動的属性データブロックの属性フラグ領域からデータを順に読み取るとともに、読み取られたデータを異なる属性型の属性フラグ情報の符号化ルールに従って解析する必要がある。
一実施態様において、動画タグコードに対応する属性構造テーブルに属性型が存在しない場合、属性構造テーブルにおける各属性に対応するデータ型、属性ソートに基づいて、動画タグコードに対応する基本属性データブロックから各属性に対応する属性値を順に読み取る。
具体的には、動画タグコードに対応する属性構造テーブルに属性型が存在しない場合、該動画タグコードに対応するタグヘッダの後のタグボディを基本属性データ構造に応じて復号する必要があることを表し、実質的には、該動画タグコードに対応する属性構造テーブルにおける各属性に対応するデータ型、属性ソートに基づいて、タグボディを解析して、各属性に対応する属性値を順に取得する必要がある。
例えば、解析して得られた動画タグコードの値が「7」である場合、現在のタグがボックスのサイズ及び枠線色情報を表すことが分かり、該情報に対応する属性構造テーブルに属性型が存在せず、属性構造テーブルには、それぞれsolidColor、width及びheightである3つのフィールドのみが含まれ、solidColorのデータ型がColorであり、Color型が順に赤、緑、青の値を表す3バイトを占有する必要があり、width、heightのデータ型がEncodedInt32である。該動画タグコードが位置するタグのタグボディを復号するとき、24bitsを読み取ることで、solidColorの値を取得し、次にEncodedInt32の符号化ルールに応じてwidth、heightの値を順に読み取ることで、現在のタグが表す動画情報の各属性値を取得する必要がある。
S1406では、各属性に対応する属性フラグ情報に基づいて、動的属性データブロックから各属性に対応する属性コンテンツを解析する。
属性フラグ情報が各属性の状態を特定し、状態は、以下のいくつかの種類に分けられ、例えば、属性値がデフォルト値であるか動的属性データブロックの属性コンテンツ領域に存在するか、また例えば、属性値が動的属性データブロックの属性コンテンツ領域に存在すれば、属性コンテンツが動画区間特性データを含むか否か、また例えば、属性コンテンツに空間イージングパラメータが含まれるか否か等の状態がある。異なる状態で対応する属性値の符号化方式に相違が存在するため、各属性に対応する属性フラグ情報に基づいて各属性の状態を決定すると、どのようなデータ構造に応じて動的属性データブロックから属性コンテンツを解析するか、又はどのように対応する属性値を解析するかを決定することができる。
具体的には、各属性に対応する属性フラグ情報を取得した後、属性フラグ情報により特定される属性の状態に応じて、各状態に対応する解析方式を採用して動的属性データブロックから各属性に対応する属性コンテンツを解析することができる。各属性型及び各属性型の属性フラグ情報が異なる値を取る場合に、対応する解析方式が異なり、以下、具体的に説明する。
一実施態様において、属性型は一般属性であり、属性フラグ情報はコンテンツフラグビットのみを含み、各属性に対応する属性フラグ情報に基づいて、動的属性データブロックから各属性に対応する属性コンテンツを解析するステップは、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表すならば、属性に対応するデータ型に基づいて、動的属性データブロックから属性に対応する属性コンテンツを読み取るステップと、コンテンツフラグビットの値が、動的属性データブロックにおいて属性に対応する属性コンテンツが存在しないことを表すならば、属性構造テーブルから属性に対応するデフォルト値をルックアップするステップと、を含む。
属性型が一般属性である場合、属性フラグ情報はコンテンツフラグビットのみを含み、即ち、属性フラグ情報は1ビットのみを占有する。コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表すならば、コンテンツフラグビットの値が例えば1であってもよく、即ち、該属性に対応する属性コンテンツがデフォルト値ではなければ、該属性に対応するデータ型に応じて動的属性データブロックから該属性に対応する属性コンテンツを解析する必要がある。コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表すならば、コンテンツフラグビットの値が例えば0であってもよく、即ち、該属性に対応する属性コンテンツがデフォルト値であれば、該属性に対応するデフォルト値を直接取得し、該属性に対応するデータ型に応じて動的属性データブロックから該属性に対応する属性コンテンツを解析する必要がなくなる。
一実施態様において、属性型は固定属性であり、属性フラグ情報は空であり、各属性に対応する属性フラグ情報に基づいて、動的属性データブロックから各属性に対応する属性コンテンツを解析するステップは、属性に対応するデータ型に基づいて、動的属性データブロックから属性に対応する属性コンテンツを直接読み取るステップを含む。
属性型は固定属性であり、固定属性の属性フラグ情報は空であり、ビットを占有せず、実際には、固定属性に対応する属性値が必ず動的属性データブロックの属性コンテンツ領域に存在するため、該属性に対応するデータ型に基づいて動的属性データブロックから該属性に対応する属性コンテンツを直接読み取ることができる。
一実施態様において、属性型はブール属性であり、属性フラグ情報はコンテンツフラグビットのみを含み、各属性に対応する属性フラグ情報に基づいて、動的属性データブロックから各属性に対応する属性コンテンツを解析するステップは、コンテンツフラグビットの値を直接、属性に対応する属性コンテンツとするステップを含む。
属性型がブール型であり、ブール型の属性が1ビットのみを占有し、かつ該ビットの値が該属性に対応する値であるため、該コンテンツフラグビットの値を直接、該属性に対応する属性値とすることができる。該コンテンツフラグビットの値が1である場合、該属性に対応する属性値はtrueであり、該コンテンツフラグビットの値が0である場合、該属性に対応する属性値はfalseである。
一実施態様において、属性型は、簡単動画属性、離散動画属性、多次元時間イージング動画属性又は空間イージング動画属性であり、属性フラグ情報は、少なくともコンテンツフラグビットを含み、各属性に対応する属性フラグ情報に基づいて、動的属性データブロックから各属性に対応する属性コンテンツを解析するステップは、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表すならば、動的属性データブロックから属性に対応する属性コンテンツを読み取るステップと、コンテンツフラグビットの値が、動的属性データブロックにおいて属性に対応する属性コンテンツが存在しないことを表すならば、属性構造テーブルに基づいて属性に対応するデフォルト値をルックアップするステップと、を含む。
属性に対応する属性型が簡単動画属性(SimpleProperty)、離散動画属性(DiscreteProperty)、多次元時間イージング動画属性(MultiDimensionProperty)、又は空間イージング動画属性(SpatialProperty)である場合、該属性に対応する属性フラグ情報は、少なくともコンテンツフラグビットを含む。同様に、解析して得られたコンテンツフラグビットの値が、属性値がデフォルト値ではないことを表し、即ち動的属性データブロックにおいて属性に対応する属性コンテンツが存在することを表し、例えばコンテンツフラグビットの値が1である場合、動的属性データブロックから属性に対応する属性コンテンツを読み取る必要がある。解析して得られたコンテンツフラグビットの値が、属性値がデフォルト値であることを表し、即ち動的属性データブロックにおいて属性に対応する属性コンテンツが存在しないことを表し、例えばコンテンツフラグビットの値が0である場合、該属性に対応するデフォルト値を対応する属性コンテンツとすればよい。
一実施態様において、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表すならば、動的属性データブロックから属性に対応する属性コンテンツを読み取るステップは、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す場合、コンテンツフラグビットの次のビットの値を読み取って、動画区間フラグビットの値とするステップと、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれることを表すならば、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックから、属性に対応する動画区間特性データを解析するステップと、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれないことを表すならば、属性のデータ型に基づいて、動的属性データブロックから、属性に対応する属性コンテンツを直接解析するステップと、を含む。
具体的には、コンテンツフラグビットの値が、動的属性データブロックにおいて属性に対応する属性コンテンツが存在することを表し、例えばコンテンツフラグビットが1である場合、該属性に対応する属性フラグ情報は少なくとも動画区間フラグビットをさらに含み、即ち属性フラグ情報は少なくとも2ビットを占有する。読み取られたコンテンツフラグビットの次のビットの値(例えば1)が、属性コンテンツに動画区間特性データが含まれることを表し、即ち属性フラグ情報の2番目のビットも1である場合、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックにおける、該属性に対応する属性コンテンツを解析する必要がある。読み取られたコンテンツフラグビットの次のビットの値(例えば0)が、属性コンテンツに動画区間特性データが含まれないことを表し、即ち属性フラグ情報の2番目のビットも0であり、即ち属性フラグ情報が「10」である場合、該属性に対応するデータ型に応じて、動的属性データブロックにおける、該属性に対応する属性コンテンツを直接解析する。
一実施態様において、動画区間特性データに対応するデータ格納構造に含まれるフィールドは、動画区間数、各動画区間の補間器のタイプ、各動画区間の開始及び終了時間を含み、各動画区間の、属性に対応する開始値、終了値、時間イージングパラメータ及び空間イージングパラメータをさらに含む。
動画区間特性データに対応するデータ格納構造について、動画データ符号化方法の説明を参照することができる。このようなデータ格納構造は、1つ又は複数の動画区間の動画データを格納し、複数の動画区間の動画特性データを格納するとき、1つの動画区間の全てのデータを格納してから次の動画区間の全てのデータを格納するのではなく、各動画区間の1つのタイプのデータを順に格納してから次のタイプのデータを集中的に格納し、このように、類似するデータを集中的に格納して集中的に圧縮して、格納空間を減少させることができる。
一実施態様において、属性型は空間イージング動画属性であり、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれることを表すならば、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックから属性に対応する動画区間特性データを解析するステップは、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれることを表す場合、動画区間フラグビットの次のビットの値を読み取って、空間イージングパラメータフラグビットの値とするステップと、空間イージングパラメータフラグビットの値が、動画区間特性データに空間イージングパラメータが含まれることを表すならば、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックから、空間イージングパラメータが含まれる、属性に対応する動画区間特性データを解析するステップと、空間イージングパラメータフラグビットの値が、動画区間特性データに空間イージングパラメータが含まれないことを表すならば、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックから、空間イージングパラメータが含まれない、属性に対応する動画区間特性データを解析するステップと、を含む。
空間イージングパラメータは、複雑な動的効果を記述するためのパラメータである。属性に対応する属性型が空間イージング動画属性である場合にのみ、該属性に対応する属性フラグ情報は、3ビットを占有する可能性があり、空間イージングパラメータフラグビットが存在する前提は、コンテンツフラグビット、動画区間フラグビットがいずれも1であることである。他の属性型の場合、3番目のフラグが存在するか否かを判断する必要がなく、空間イージングパラメータを格納する必要もない。
具体的には、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれることを表し、例えば動画区間フラグビットが1である場合、該属性に対応する属性フラグ情報は少なくとも空間イージングパラメータフラグビットをさらに含み、即ち属性フラグ情報は3ビットを占有する。読み取られた動画区間フラグビットの次のビットの値(例えば1)が、属性コンテンツに空間イージングパラメータが含まれることを表し、即ち属性フラグ情報の3番目のビットも1であり、即ち属性フラグ情報が「111」である場合、動的属性データブロックから、空間イージングパラメータが含まれる、属性に対応する動画区間特性データを解析し、空間イージングパラメータも対応する符号化構造を有し、対応する符号化構造に応じて解析する必要がある。読み取られた動画区間フラグビットの次のビットの値(例えば0)が、属性コンテンツに空間イージングパラメータが含まれないことを表し、属性フラグ情報の3番目のビットが0であり、即ち属性フラグ情報が「110」である場合、動的属性データブロックから解析される、属性に対応する動画区間特性データに空間イージングパラメータが含まれない。
なお、動画区間特性データのデータ格納構造に応じて属性コンテンツを解析するとき、具体的には、属性型に基づいて各動画区間に補間器のタイプのフィールドが存在するか否かを決定する必要があり(補間器のタイプがデフォルトでHoldであるため、離散動画属性に補間器のタイプのフィールドが存在しない)、さらに、解析して得られた補間器のタイプに基づいて、動画区間特性データに時間イージングパラメータが含まれるか否かを決定し(これは、補間器のタイプの値がBezierに等しくない場合、時間イージングパラメータが存在しないからである)、属性フラグ情報に基づいて空間イージングパラメータ等が存在するか否かを決定する必要がある。即ち、動画区間特性データのデータ格納構造における一部のフィールドの値が必ずしも存在せず、属性型、属性フラグ情報、補間器のタイプ及び動画区間に対応する属性値のデータ型などに合わせて段階的に判断してこそ、属性コンテンツ全体の格納構造が徐々に明らかになり、属性コンテンツ領域から属性に対応する属性コンテンツを解析することができる。動画タグコードに対応する属性構造テーブルにおける各属性に対応する属性コンテンツの解析過程は、前述した解析思想に基づいて実行される。
上記動画データ復号方法において、動画タグコードは、1セットの属性を特定し、属性構造テーブルは、動画タグコードにより特定される1セットの属性のデータ構造を記述し、このセットの属性の属性値の種類又は数が一定でないか又は属性の属性値に大量の冗長が存在する場合、属性の種類又は数を記述する大量の識別フィールドを追加して導入することにより動画ファイルのボリュームが大きすぎるという問題を回避するために、動的属性データブロックのデータ構造を導入し、このように、これらのフラグ(識別子)の圧縮を最大化し、ターゲット動画ファイルが占有するボリュームを大幅に低減することができる。具体的には、復号時に、動画タグコードを読み取った後、該動画タグコードに対応する属性構造テーブルに属性型が存在する場合、該動画タグコードにより特定される1セットの属性の属性値が動的属性データブロックの形式で符号化されることが分かり、各属性に対応する属性型に合わせて、動画タグコードに対応する動的属性データブロックから各属性に対応する属性フラグ情報を解析し、さらに該属性フラグ情報に基づいて動的属性データブロックから各属性に対応する属性コンテンツを解析することで、動画ファイルの復号を実現することができる。
一実施態様において、動画タグコードを取得するステップは、ターゲット動画ファイルを解析して、バイナリシーケンスを取得するステップと、ターゲット動画ファイルのターゲットファイル構造に応じて、バイナリシーケンスからターゲット動画ファイルのファイルヘッダ符号化情報及びタグ符号化データを順に読み取るステップと、ターゲット動画ファイルのファイルヘッダ組織構造に含まれるフィールドのソート、各フィールドのデータ型に応じて、ファイルヘッダ符号化情報を復号して、ファイルヘッダ情報を取得するステップと、ターゲット動画ファイルのタグ組織構造に応じて、タグ符号化データを復号して、動画タグコード、データブロック長、及び各動画タグコードに対応するデータブロックを順に取得するステップであって、データブロックに動的属性データブロック及び基本属性データブロックが含まれる、ステップと、を含む。
ターゲット動画ファイルは、PAGファイルであり、PAGファイルのファイル組織構造は、ファイルヘッダ(FileHeader)及びタグ(Tag)を含む。動画ファイル全体のデータを符号化するとき、ファイルヘッダ組織構造に応じて、ファイルヘッダ情報を符号化して、ファイルヘッダ符号化情報を取得する。タグ組織構造は、動画タグコード、データブロック長及びデータブロックを含み、動画プロジェクトファイルから取得される、各動画タグコードに対応する動画データに対して、タグ組織構造に応じて順に符号化して、タグ符号化データを取得する。ここでのデータブロックは、動的属性データブロック及び基本属性データブロックを含む。したがって、ターゲット動画ファイルのバイナリシーケンスを解析して取得した後、逆にファイルヘッダ組織構造に応じてバイナリシーケンスにおけるファイルヘッダ符号化情報を復号することで、ファイルヘッダ情報を取得するとともに、タグ組織構造に応じてバイナリシーケンスにおける各タグ符号化データを復号することで、タグに含まれるコンテンツ、即ち動画タグコード、データブロック長及び各動画タグコードに対応するデータブロックを取得する必要がある。
一実施態様において、ターゲット動画ファイルは、ベクトル導出方式に従って、動画プロジェクトファイルから導出されたものであり、ターゲット動画ファイルを解析して、バイナリシーケンスを取得するステップは、ベクトル導出方式に対応するファイルデータ構造を取得するステップと、ファイルデータ構造に応じて、ターゲット動画ファイルを解析して、動画ベクトルデータを表すバイナリシーケンスを取得するステップと、を含む。
図15は、一実施態様におけるベクトル導出方式に対応するファイルデータ構造である。図15を参照して、ターゲット動画ファイル全体は、全てのレイヤのレイヤ情報を合成したものであり、VectorCompositionは、ファイル全体を表し、CompositionAttributes及びLayerを含む。CompositionAttributesは、動画基本属性データを表し、動画の幅width、高さheightなどを含み、動画全体の時間長duration、フレームレートframerate、背景色backgroundcolorなどをさらに含む。Layerは、動画レイヤデータを表し、各レイヤに対応するデータを含み、元の動画ファイルにおいて、仮想オブジェクト(NullObjectLayer)、実色レイヤ(SolidLayer)、テキストレイヤ(TextLayer)、形状レイヤ(ShapeLayer)、画像レイヤ(ImageLayer)、事前合成レイヤ(PreComposeLayer)などを含み得るがそれらに限定されない異なるタイプのレイヤが使用される可能性がある。したがって、ターゲット動画ファイルを解析して得られたバイナリシーケンスは、上記レイヤ構造に応じてレイヤ情報を記述する動画ベクトルデータである。実色レイヤを例として、対応する記述情報は、レイヤの幅と高さ、色及びレイヤ属性(LayerAttributes)を含み、レイヤ属性が基本属性及び動画属性グループを含み、基本属性がレイヤ時間長duration、レイヤ開始時間startTime(どのフレームを再生するときに該レイヤを取得して使用する必要があるか)及び引張パラメータstretchなどを含み、動画属性グループが、transform、mask、trackMatter、layerStyle、effect及びcontentを含む。1つのレイヤは、これら6種類の動画属性グループのいずれか1つ以上の組み合わせである。
一実施態様において、ターゲット動画ファイルは、ビットマップシーケンスフレームの導出方式に従って、動画プロジェクトファイルから導出されたものであり、ターゲット動画ファイルを解析して、バイナリシーケンスを取得するステップは、ピクチャ復号方式に従ってターゲット動画ファイルを解凍して、ターゲット動画ファイルに対応するピクチャバイナリデータを取得するステップであって、ピクチャバイナリデータに動画プロジェクトファイルにおけるキービットマップ画像の画素データ及び非キービットマップ画像の相違画素領域の画素データが含まれる、ステップを含む。
具体的には、ビットマップシーケンスフレームの導出方式に従って動画プロジェクトファイルを導出して得られたターゲット動画ファイルは、実際にはピクチャ符号化方式に従って非キービットマップ画像に対応する相違画素領域及びキービットマップ画像を圧縮符号化して得られた一連の符号化ピクチャである。具体的なステップは、動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得するステップと、ビットマップ画像シーケンスにおけるビットマップ画像と対応するキービットマップ画像に画素比較を行い、ビットマップ画像における相違画素領域を取得するステップと、ビットマップ画像が非キービットマップ画像である場合、ピクチャ符号化方式に従って相違画素領域を符号化して、ビットマップ画像に対応する符号化ピクチャを取得するステップと、ビットマップ画像がキービットマップ画像である場合、ピクチャ符号化方式によってビットマップ画像を直接符号化して、ビットマップ画像に対応する符号化ピクチャを取得するステップと、ビットマップ画像シーケンスにおける各ビットマップ画像に対応する符号化ピクチャに基づいて、動画プロジェクトファイルに対応するターゲット動画ファイルを生成するステップと、を含む。
したがって、該ターゲット動画ファイルを解析するとき、対応するピクチャ復号方式に従ってターゲット動画ファイルを復号することで、ターゲット動画ファイルに対応するピクチャバイナリシーケンスを取得する必要があり、該ピクチャバイナリデータは、動画プロジェクトファイルにおけるキービットマップ画像の画素データ及び非キービットマップ画像の相違画素領域の画素データを含む。
一実施態様において、ターゲット動画ファイルは、ビデオシーケンスフレームの導出方式に従って、動画プロジェクトファイルから導出されたものであり、ターゲット動画ファイルを解析して、バイナリシーケンスを取得するステップは、ビデオ復号方式に従ってターゲット動画ファイルを解凍して、ターゲット動画ファイルに対応するピクチャバイナリデータを取得するステップであって、ピクチャバイナリデータは、合成ビットマップの画素データであり、合成ビットマップは、動画プロジェクトファイルに含まれるビットマップ画像の色チャンネルビットマップ及び透明度チャンネルビットマップを合成処理したものである、ステップを含む。
具体的には、ビデオシーケンスフレームの導出方式に従って動画プロジェクトファイルを導出して得られたターゲット動画ファイルの処理過程は、具体的には、動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得し、ビットマップ画像シーケンスにおける各ビットマップ画像を色チャンネルビットマップ、透明度チャンネルビットマップに分け、色チャンネルビットマップ及び透明度チャンネルビットマップを合成して、合成ビットマップを取得し、ビデオ符号化方式に従って合成ビットマップを符号化して、ビットマップ画像に対応する符号化ピクチャを取得し、ビットマップ画像シーケンスにおける各ビットマップ画像に対応する符号化ピクチャに基づいて、動画プロジェクトファイルに対応するターゲット動画ファイルを生成する。
したがって、該ターゲット動画ファイルを解析するとき、対応するビデオ復号方式に従ってターゲット動画ファイルを復号することで、ターゲット動画ファイルに対応する合成ビットマップに対応するピクチャバイナリデータを取得する必要がある。
理解すべきこととして、図8、14のフローチャートにおける各ステップは矢印の指した順序で示されているが、これらのステップは必ずしも矢印の指した順序で実行されるものではない。本明細書で明確に説明しない限り、これらのステップの実行は、厳密な順序に限定されず、他の順序で実行されてもよい。さらに、図8、14における少なくとも一部のステップは、複数のサブステップ又は複数の段階を含んでよく、これらのサブステップ又は段階は、必ずしも同時に実行されるものではなく、異なる時点に実行されてもよく、これらのサブステップ又は段階の実行も、必ずしも順に行われるものではなく、その他のステップ又はその他のステップのサブステップ或いは段階の少なくとも一部と順番に又は交互に実行されてもよい。
一実施態様において、図16に示すように、動画データ符号化装置1600を提供し、該装置は、動画データ取得モジュール1602、属性フラグ情報決定モジュール1604、属性コンテンツ符号化モジュール1606及びデータブロック生成モジュール1608を含み、
動画データ取得モジュール1602は、動画プロジェクトファイルから各動画タグコードに対応する動画データを取得し、
属性フラグ情報決定モジュール1604は、動画タグコードに対応する属性構造テーブルに属性型が存在する場合、各属性に対応する属性フラグ情報を決定し、
属性コンテンツ符号化モジュール1606は、属性フラグ情報に応じて、動画データにおける、各属性に対応する属性値を符号化して、各属性に対応する属性コンテンツを取得し、
データブロック生成モジュール1608は、属性構造テーブルにおける各属性に対応する属性ソートに基づいて、各属性に対応する属性フラグ情報、属性コンテンツを順に格納して、動画タグコードに対応する動的属性データブロックを取得する。
一実施態様において、動画データ符号化装置1600は、基本属性データブロック生成モジュールをさらに含み、該基本属性データブロック生成モジュールは、動画タグコードに対応する属性構造テーブルに属性型が存在しない場合、属性構造テーブルにおける各属性に対応するデータ型、属性ソートに基づいて、動画データにおける、各属性に対応する属性値を順に符号化して、動画タグコードに対応する基本属性データブロックを取得する。
一実施態様において、属性に対応する属性型は、一般属性又はブール属性であり、属性に対応する属性フラグ情報は、コンテンツフラグビットのみを含み、属性フラグ情報決定モジュール1604は、さらに、動画データにおける、属性に対応する属性値がデフォルト値でなければ、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す値に符号化し、動画データにおける、属性に対応する属性値がデフォルト値であれば、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在しないことを表す値に符号化する。
一実施態様において、属性に対応する属性型は固定属性であり、属性フラグ情報は空であり、属性コンテンツ符号化モジュール1606は、さらに、属性に対応するデータ型に基づいて、動画データにおける、属性に対応する属性値を直接符号化して、属性に対応する属性コンテンツを取得する。
一実施態様において、属性に対応する属性型は、簡単動画属性、離散動画属性、多次元時間イージング動画属性、又は空間イージング動画属性であり、属性フラグ情報は、少なくともコンテンツフラグビットを含み、属性フラグ情報決定モジュール1604は、さらに、動画データにおける、属性に対応する属性値がデフォルト値でなければ、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す値に符号化し、動画データにおける、属性に対応する属性値がデフォルト値であれば、コンテンツフラグビットを、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在しないことを表す値に符号化する。
一実施態様において、属性フラグ情報は、動画区間フラグビットをさらに含み、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す場合、属性フラグ情報決定モジュール1604は、さらに、属性値が動画区間特性データを含むならば、動画区間フラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれることを表す値に符号化し、属性値が動画区間特性データを含まないならば、動画区間フラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれないことを表す値に符号化する。
一実施態様において、属性コンテンツ符号化モジュール1606は、さらに、動画区間フラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれることを表すならば、動画区間特性データに対応するデータ格納構造に応じて、属性に対応する動画区間特性データを符号化して、属性に対応する属性コンテンツを取得し、動画区間フラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれないことを表すならば、属性に対応するデータ型に基づいて、動画データにおける、属性に対応する属性値を直接符号化して、属性に対応する属性コンテンツを取得する。
一実施態様において、属性に対応する属性型は、空間イージング動画属性であり、属性フラグ情報は、空間イージングパラメータフラグビットをさらに含み、動画区間フラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに動画区間特性データが含まれることを表す場合、属性フラグ情報決定モジュール1604は、さらに、動画区間特性データに空間イージングパラメータが含まれるならば、空間イージングパラメータフラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれることを示す値に符号化し、動画区間特性データに空間イージングパラメータが含まれないならば、空間イージングパラメータフラグビットを、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれないことを示す値に符号化する。
一実施態様において、属性コンテンツ符号化モジュール1606は、さらに、空間イージングパラメータフラグビットの値が、動的属性データブロックに格納された属性に対応する属性コンテンツに空間イージングパラメータが含まれることを表す場合、動画区間特性データに対応するデータ格納構造に応じて、属性に対応する動画区間特性データを符号化して、空間イージングパラメータが含まれる、属性に対応する属性コンテンツを取得し、そうでない場合、空間イージングパラメータが含まれない、属性に対応する属性コンテンツを取得する。
一実施態様において、動画区間特性データに対応するデータ格納構造に含まれるフィールドは、動画区間数、各動画区間の補間器のタイプ、各動画区間の開始及び終了時間を含み、各動画区間の、属性に対応する開始値、終了値、時間イージングパラメータ及び空間イージングパラメータをさらに含む。
一実施態様において、動画タグコードは、ビットマップ合成タグコードであり、動画データ取得モジュール1602は、さらに、動画プロジェクトファイルを再生し、動画プロジェクトファイルに対応する再生画面を順にスクリーンショットして、動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得し、ビットマップシーケンスフレームの導出方式に従ってビットマップ画像シーケンスを処理して、ビットマップ合成タグコードに対応するピクチャバイナリデータを取得する。
一実施態様において、動画タグコードは、ビデオ合成タグコードであり、動画データ取得モジュール1602は、さらに、動画プロジェクトファイルを再生し、動画プロジェクトファイルに対応する再生画面を順にスクリーンショットして、動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得し、ビデオシーケンスフレームの導出方式に従ってビットマップ画像シーケンスを処理して、ビデオ合成タグコードに対応するピクチャバイナリデータを取得する。
一実施態様において、動画データ符号化装置1600は、ファイルヘッダ情報符号化モジュール、タグ符号化モジュール及びターゲット動画ファイル生成モジュールをさらに含み、ファイルヘッダ情報符号化モジュールは、ファイルヘッダ組織構造に応じて、ファイルヘッダ情報を順に符号化して、ファイルヘッダ符号化情報を取得し、タグ符号化モジュールは、タグ組織構造に応じて、動画タグコード、データブロック長及びデータブロックを順に符号化して、タグ符号化データを取得し、データブロックは、動的属性データブロック及び基本属性データブロックを含み、ターゲット動画ファイル生成モジュールは、ファイルヘッダ符号化情報、各タグ符号化データをターゲットファイル構造に応じて編成して、ターゲット動画ファイルを取得する。
上記動画データ符号化装置において、動画タグコードは、1セットの属性を特定し、属性構造テーブルは、動画タグコードにより特定される1セットの属性のデータ構造を記述し、このセットの属性の属性値の種類又は数が一定でないか又は属性の属性値に大量の冗長が存在する場合、属性の種類又は数を記述する大量の識別フィールドを追加して導入することにより動画ファイルのボリュームが大きすぎるという問題を回避するために、動的属性データブロックのデータ構造を導入し、このように、これらのフラグ(識別子)の圧縮を最大化し、ターゲット動画ファイルが占有するボリュームを大幅に低減することができる。具体的には、動画プロジェクトファイルを取得した後、動画タグコードに対応する属性構造テーブルに含まれる1セットの属性に基づいて、動画プロジェクトファイルからこのセットの属性の属性値を取得し、動的属性データブロックにおける属性フラグ情報は、属性の属性状態を記述し、属性構造テーブルに属性型が存在する場合、動画データに基づいて各属性に対応する属性フラグ情報を決定し、次に属性フラグ情報に基づいて各属性に対応する属性値を動的符号化して、対応する属性コンテンツを取得し、属性構造テーブルにおける各属性の属性フラグ情報及び属性コンテンツを結合することで、動画タグコードに対応する動的属性データブロックを取得し、このように、動画ファイルが占有する空間を顕著に低減することができる。
一実施態様において、図17に示すように、動画データ復号装置1700を提供し、該装置は、取得モジュール1702、属性フラグ情報解析モジュール1704、属性コンテンツ解析モジュール1706を含む。
取得モジュール1702は、動画タグコードを取得する。
属性フラグ情報解析モジュール1704は、動画タグコードに対応する属性構造テーブルに属性型が存在する場合、属性構造テーブルにおける各属性に対応する属性型に基づいて、動画タグコードに対応する動的属性データブロックから各属性に対応する属性フラグ情報を解析する。
属性コンテンツ解析モジュール1706は、各属性に対応する属性フラグ情報に基づいて、動的属性データブロックから各属性に対応する属性コンテンツを解析する。
一実施態様において、動画データ復号装置1700は、基本属性データブロック解析モジュールをさらに含み、該基本属性データブロック解析モジュールは、動画タグコードに対応する属性構造テーブルに属性型が存在しない場合、属性構造テーブルにおける各属性に対応するデータ型、属性ソートに基づいて、動画タグコードに対応する基本属性データブロックから各属性に対応する属性値を順に読み取る。
一実施態様において、属性フラグ情報解析モジュール1704は、さらに、属性構造テーブルをルックアップすることで、各属性に対応する属性ソートを取得し、各属性に対応する属性型に基づいて、各属性に対応する属性フラグ情報によって占有されるビット数を決定し、動画タグコードに対応する動的属性データブロックにおける最初のビットからデータを読み取り、各属性に対応する属性フラグ情報によって占有されるビット数に基づいて、順に読み取ったデータから各属性に対応する属性フラグ情報を属性ソートに応じて決定する。
一実施態様において、属性型は一般属性であり、属性フラグ情報はコンテンツフラグビットのみを含み、属性コンテンツ解析モジュール1706は、さらに、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表すならば、属性に対応するデータ型に基づいて、動的属性データブロックから属性に対応する属性コンテンツを読み取り、コンテンツフラグビットの値が、動的属性データブロックにおいて属性に対応する属性コンテンツが存在しないことを表すならば、属性構造テーブルから属性に対応するデフォルト値をルックアップする。
一実施態様において、属性型は固定属性であり、属性フラグ情報は空であり、属性コンテンツ解析モジュール1706は、さらに、属性に対応するデータ型に基づいて、動的属性データブロックから属性に対応する属性コンテンツを直接読み取る。
一実施態様において、属性型はブール属性であり、属性フラグ情報はコンテンツフラグビットのみを含み、属性コンテンツ解析モジュール1706は、さらに、コンテンツフラグビットの値を直接、属性に対応する属性コンテンツとする。
一実施態様において、属性型は、簡単動画属性、離散動画属性、多次元時間イージング動画属性、又は空間イージング動画属性であり、属性フラグ情報は、少なくともコンテンツフラグビットを含み、属性コンテンツ解析モジュール1706は、さらに、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表すならば、動的属性データブロックから属性に対応する属性コンテンツを読み取り、コンテンツフラグビットの値が、動的属性データブロックにおいて属性に対応する属性コンテンツが存在しないことを表すならば、属性構造テーブルに基づいて、属性に対応するデフォルト値をルックアップする。
一実施態様において、属性コンテンツ解析モジュール1706は、さらに、コンテンツフラグビットの値が、動的属性データブロックにおいて、属性に対応する属性コンテンツが存在することを表す場合、コンテンツフラグビットの次のビットの値を読み取って、動画区間フラグビットの値とし、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれることを表すならば、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックから属性に対応する動画区間特性データを解析し、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれないことを表すならば、属性のデータ型に基づいて、動的属性データブロックから属性に対応する属性コンテンツを直接解析する。
一実施態様において、属性型は空間イージング動画属性であり、属性コンテンツ解析モジュール1706は、さらに、動画区間フラグビットの値が、属性コンテンツに動画区間特性データが含まれることを表す場合、動画区間フラグビットの次のビットの値を読み取って、空間イージングパラメータフラグビットの値とし、空間イージングパラメータフラグビットの値が、動画区間特性データに空間イージングパラメータが含まれることを表すならば、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックから、空間イージングパラメータが含まれる、属性に対応する動画区間特性データを解析し、空間イージングパラメータフラグビットの値が、動画区間特性データに空間イージングパラメータが含まれないことを表すならば、動画区間特性データに対応するデータ格納構造に応じて、動的属性データブロックから、空間イージングパラメータが含まれない、属性に対応する動画区間特性データを解析する。
一実施態様において、動画区間特性データに対応するデータ格納構造に含まれるフィールドは、動画区間数、各動画区間の補間器のタイプ、各動画区間の開始及び終了時間を含み、各動画区間の、属性に対応する開始値、終了値、時間イージングパラメータ及び空間イージングパラメータをさらに含む。
実施態様において、取得モジュール1702は、ターゲット動画ファイル解析モジュール、ファイルヘッダ情報解析モジュール及びタグ解析モジュールをさらに含み、ターゲット動画ファイル解析モジュールは、ターゲット動画ファイルを解析して、バイナリシーケンスを取得し、ターゲット動画ファイルのターゲットファイル構造に応じて、バイナリシーケンスからターゲット動画ファイルのファイルヘッダ符号化情報及びタグ符号化データを順に読み取り、ファイルヘッダ情報解析モジュールは、ターゲット動画ファイルのファイルヘッダ組織構造に含まれるフィールドのソート、各フィールドのデータ型に応じて、ファイルヘッダ符号化情報を復号して、ファイルヘッダ情報を取得し、タグ解析モジュールは、ターゲット動画ファイルのタグ組織構造に応じて、タグ符号化データを復号して、動画タグコード、データブロック長及び各動画タグコードに対応するデータブロックを順に取得し、データブロックには、動的属性データブロック及び基本属性データブロックが含まれる。
一実施態様において、ターゲット動画ファイルは、ベクトル導出方式に従って、動画プロジェクトファイルから導出されたものであり、ターゲット動画ファイル解析モジュールは、さらに、ベクトル導出方式に対応するファイルデータ構造を取得し、ファイルデータ構造に基づいて、ターゲット動画ファイルを解析して、動画ベクトルデータを表すバイナリシーケンスを取得する。
一実施態様において、ターゲット動画ファイルは、ビットマップシーケンスフレームの導出方式に従って、動画プロジェクトファイルから導出されたものであり、ターゲット動画ファイル解析モジュールは、さらに、ピクチャ復号方式に従ってターゲット動画ファイルを解凍して、ターゲット動画ファイルに対応するピクチャバイナリデータを取得し、ピクチャバイナリデータは、動画プロジェクトファイルにおけるキービットマップ画像の画素データ及び非キービットマップ画像の相違画素領域の画素データを含む。
一実施態様において、ターゲット動画ファイルは、ビデオシーケンスフレームの導出方式に従って、動画プロジェクトファイルから導出されたものであり、ターゲット動画ファイル解析モジュールは、さらに、ビデオ復号方式に従ってターゲット動画ファイルを解凍して、ターゲット動画ファイルに対応するピクチャバイナリデータを取得し、ピクチャバイナリデータは、合成ビットマップの画素データであり、合成ビットマップは、動画プロジェクトファイルに含まれるビットマップ画像の色チャンネルビットマップ及び透明度チャンネルビットマップを合成処理したものである。
上記動画データ復号装置1700において、動画タグコードは、1セットの属性を特定し、属性構造テーブルは、動画タグコードにより特定される1セットの属性のデータ構造を記述し、このセットの属性の属性値の種類又は数が一定でないか又は属性の属性値に大量の冗長が存在する場合、属性の種類又は数を記述する大量の識別フィールドを追加して導入することにより動画ファイルのボリュームが大きすぎるという問題を回避するために、動的属性データブロックのデータ構造を導入し、このように、これらのフラグ(識別子)の圧縮を最大化し、ターゲット動画ファイルが占有するボリュームを大幅に低減することができる。具体的には、復号時に、動画タグコードを読み取った後、該動画タグコードに対応する属性構造テーブルに属性型が存在する場合、該動画タグコードにより特定される1セットの属性の属性値が動的属性データブロックの形式で符号化されることが分かり、各属性に対応する属性型に合わせて、動画タグコードに対応する動的属性データブロックから各属性に対応する属性フラグ情報を解析し、さらに該属性フラグ情報に基づいて動的属性データブロックから各属性に対応する属性コンテンツを解析することで、動画ファイルの復号を実現することができる。
図18は、一実施態様におけるコンピュータ装置の内部構造図を示す。該コンピュータ装置は、具体的に図1の端末110であってもよい。図18に示すように、該コンピュータ装置は、システムバスにより接続されたプロセッサ及びメモリを含む。メモリは、不揮発性記憶媒体及び内部メモリを含む。該コンピュータ装置の不揮発性記憶媒体は、オペレーティングシステムを記憶しており、プロセッサにより実行されると、プロセッサに動画データ符号化方法又は動画データ復号方法を実現させるコンピュータプログラムを記憶してもよい。該内部メモリは、プロセッサにより実行されると、プロセッサに動画データ符号化方法又は動画データ復号方法を実行させるコンピュータプログラムを記憶してもよい。
当業者が理解できるように、図18に示される構造は、本願の解決手段に関連する一部の構造のブロック図に過ぎず、本願の解決手段を採用するコンピュータ装置を限定するものではなく、具体的なコンピュータ装置は、図示したものよりも多いか又は少ない部材を含んでよく、いくつかの部材を組み合わせてよく、異なる部材配置を有してもよい。
一実施態様において、本願に係る動画データ符号化装置1600は、図18に示されるコンピュータ装置上で動作できるコンピュータプログラムの形態で実現することができる。コンピュータ装置のメモリは、該動画データ符号化装置1600を構成する各プログラムモジュール、例えば、図16に示される動画データ取得モジュール1602、属性フラグ情報決定モジュール1604、属性コンテンツ符号化モジュール1606及びデータブロック生成モジュール1608を記憶してもよい。各プログラムモジュールで構成されるコンピュータプログラムは、プロセッサに本明細書で説明される本願の各実施態様の動画データ符号化方法のステップを実行させる。
例えば、図18に示されるコンピュータ装置は、図16に示される動画データ符号化装置1600における動画データ取得モジュール1602によりステップS802を実行することができる。コンピュータ装置は、属性フラグ情報決定モジュール1604によりステップS804を実行することができる。コンピュータ装置は、属性コンテンツ符号化モジュール1606によりステップS1606を実行することができる。コンピュータ装置は、データブロック生成モジュール1608によりステップS1608を実行することができる。
一実施態様において、本願に係る動画データ復号装置1700は、図18に示されるコンピュータ装置上で動作できるコンピュータプログラムの形態で実現することができる。コンピュータ装置のメモリは、該動画データ復号装置1700を構成する各プログラムモジュール、例えば、図17に示される取得モジュール1702、属性フラグ情報解析モジュール1704、属性コンテンツ解析モジュール1706を記憶してもよい。各プログラムモジュールで構成されるコンピュータプログラムは、プロセッサに本明細書で説明される本願の各実施態様の動画データ復号方法のステップを実行させる。
例えば、図18に示されるコンピュータ装置は、図17に示される動画データ復号装置1700における取得モジュール1702によりステップS1402を実行することができる。コンピュータ装置は、属性フラグ情報解析モジュール1704によりステップS1404を実行することができる。コンピュータ装置は、属性コンテンツ解析モジュール1706によりステップS1406を実行することができる。
一実施態様において、コンピュータプログラムが記憶されているメモリと、プロセッサと、を含むコンピュータ装置を提供し、コンピュータプログラムがプロセッサにより実行されると、プロセッサに上記動画データ符号化方法のステップを実行させる。ここで、動画データ符号化方法のステップは、上記各実施態様の動画データ符号化方法のステップであってもよい。
一実施態様において、プロセッサにより実行されると、プロセッサに上記動画データ符号化方法のステップを実行させるコンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。ここで、動画データ符号化方法のステップは、上記各実施態様の動画データ符号化方法のステップであってもよい。
一実施態様において、コンピュータプログラムが記憶されているメモリと、プロセッサと、を含むコンピュータ装置を提供し、コンピュータプログラムがプロセッサにより実行されると、プロセッサに上記動画データ復号方法のステップを実行させる。ここで、動画データ復号方法のステップは、上記各実施態様の動画データ復号方法のステップであってもよい。
一実施態様において、プロセッサにより実行されると、プロセッサに上記動画データ復号方法のステップを実行させるコンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供する。ここで、動画データ復号方法のステップは、上記各実施態様の動画データ復号方法のステップであってもよい。
当業者が理解できるように、上記方法実施態様の全部又は一部のフローは、コンピュータプログラムが関連ハードウェアを命令することにより実現してもよく、上記プログラムは、不揮発性コンピュータ可読記憶媒体に記憶されるものであって、実行されるとき、上記各方法実施態様のフローを含んでよい。本願に係る各実施態様に用いられる、メモリ、ストレージ、データベース又は他の媒体への任意の参照は、いずれも不揮発性及び/又は揮発性メモリを含んでよい。不揮発性メモリは、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)又はフラッシュメモリを含んでよい。揮発性メモリは、ランダムアクセスメモリ(RAM)又は外部キャッシュメモリを含んでよい。限定ではなく例示として、RAMは、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、エンハンスドSDRAM(ESDRAM)、シンクロナスリンク(Synchlink)DRAM(SLDRAM)、メモリバス(Rambus)ダイレクトRAM(RDRAM)、ダイレクトメモリバスダイナミックRAM(DRDRAM)及びメモリバスダイナミックRAM(RDRAM)などの様々な形態で得られる。
以上の実施態様の各技術的特徴を任意に組み合わせることができ、説明の便宜上、上記実施態様における各技術的特徴の全ての可能な組み合わせを説明していないが、これらの技術的特徴の組み合わせに矛盾がない限り、本明細書に記載される範囲に属するべきであると考えられる。
上述した実施態様は、本願のいくつかの実施形態を説明したものに過ぎず、その説明が具体的かつ詳細であるが、これにより本願の特許請求の範囲を限定するものと理解されるものではない。なお、当業者であれば、本願の構想から逸脱しない前提で、いくつかの変形及び改善を行うことができ、これらも本発明の保護範囲に属する。したがって、本願特許の保護範囲は、添付される特許請求の範囲を基準とすべきである。

Claims (31)

  1. コンピュータ装置が実行する動画データ符号化方法であって、
    動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得するステップと、
    前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、前記属性構造テーブルにおける各属性に対応する属性フラグ情報を決定するステップと、
    前記属性フラグ情報に応じて、前記動画データにおける、各前記属性に対応する属性値を符号化して、各前記属性に対応する属性コンテンツを取得するステップと、
    前記属性構造テーブルにおける各前記属性に対応する属性ソートに基づいて、各前記属性に対応する属性フラグ情報、前記属性コンテンツを順に格納して、前記動画タグコードに対応する動的属性データブロックを取得するステップと、を含むことを特徴とする、動画データ符号化方法。
  2. 前記動画タグコードに対応する属性構造テーブルに属性型が存在しない場合、前記属性構造テーブルにおける各前記属性に対応するデータ型、属性ソートに基づいて、前記動画データにおける、各前記属性に対応する属性値を順に符号化して、前記動画タグコードに対応する基本属性データブロックを取得するステップをさらに含むことを特徴とする、請求項1に記載の方法。
  3. 前記属性に対応する属性型は、一般属性又はブール属性であり、
    前記属性に対応する属性フラグ情報は、コンテンツフラグビットのみを含み、
    各前記属性に対応する属性フラグ情報を決定する前記ステップは、
    前記動画データにおける、前記属性に対応する属性値がデフォルト値でなければ、前記コンテンツフラグビットを、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在することを表す値に符号化するステップと、
    前記動画データにおける、前記属性に対応する属性値がデフォルト値であれば、前記コンテンツフラグビットを、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在しないことを表す値に符号化するステップと、を含むことを特徴とする、請求項1に記載の方法。
  4. 前記属性に対応する属性型は、固定属性であり、
    前記属性フラグ情報は、空であり、
    前記属性フラグ情報に応じて、前記動画データにおける、各前記属性に対応する属性値を符号化して、各前記属性に対応する属性コンテンツを取得する前記ステップは、
    前記属性に対応するデータ型に基づいて、前記動画データにおける、前記属性に対応する属性値を直接符号化して、前記属性に対応する属性コンテンツを取得するステップを含むことを特徴とする、請求項1に記載の方法。
  5. 前記属性に対応する属性型は、簡単動画属性、離散動画属性、多次元時間イージング動画属性、又は空間イージング動画属性であり、
    前記属性フラグ情報は、少なくともコンテンツフラグビットを含み、
    各前記属性に対応する属性フラグ情報を決定する前記ステップは、
    前記動画データにおける、前記属性に対応する属性値がデフォルト値でなければ、前記コンテンツフラグビットを、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在することを表す値に符号化するステップと、
    前記動画データにおける、前記属性に対応する属性値がデフォルト値であれば、前記コンテンツフラグビットを、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在しないことを表す値に符号化するステップと、を含むことを特徴とする、請求項1に記載の方法。
  6. 前記属性フラグ情報は、動画区間フラグビットをさらに含み、
    前記コンテンツフラグビットの値が、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在することを表す場合、前記方法は、
    前記属性値に動画区間特性データが含まれる場合に、前記動画区間フラグビットを、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに動画区間特性データが含まれることを表す値に符号化するステップと、
    前記属性値に動画区間特性データが含まれない場合に、前記動画区間フラグビットを、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに動画区間特性データが含まれないことを表す値に符号化するステップと、をさらに含むことを特徴とする、請求項5に記載の方法。
  7. 前記属性フラグ情報に応じて、前記動画データにおける、各前記属性に対応する属性値を符号化して、各前記属性に対応する属性コンテンツを取得する前記ステップは、
    前記動画区間フラグビットの値が、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに動画区間特性データが含まれることを表す場合に、前記動画区間特性データに対応するデータ格納構造に応じて、前記属性に対応する動画区間特性データを符号化して、前記属性に対応する属性コンテンツを取得するステップと、
    前記動画区間フラグビットの値が、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに動画区間特性データが含まれないことを表す場合に、前記属性に対応するデータ型に基づいて、前記動画データにおける、前記属性に対応する属性値を直接符号化して、前記属性に対応する属性コンテンツを取得するステップと、を含むことを特徴とする、請求項6に記載の方法。
  8. 前記属性に対応する属性型は、空間イージング動画属性であり、
    前記属性フラグ情報は、空間イージングパラメータフラグビットをさらに含み、
    前記動画区間フラグビットの値が、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに動画区間特性データが含まれることを表す場合、前記方法は、
    前記動画区間特性データに空間イージングパラメータが含まれる場合に、前記空間イージングパラメータフラグビットを、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに空間イージングパラメータが含まれることを示す値に符号化するステップと、
    前記動画区間特性データに空間イージングパラメータが含まれない場合に、前記空間イージングパラメータフラグビットを、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに空間イージングパラメータが含まれないことを示す値に符号化するステップと、をさらに含むことを特徴とする、請求項6に記載の方法。
  9. 前記属性フラグ情報に応じて、前記動画データにおける、各前記属性に対応する属性値を符号化して、各前記属性に対応する属性コンテンツを取得する前記ステップは、
    前記空間イージングパラメータフラグビットの値が、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに空間イージングパラメータが含まれることを表す場合、前記動画区間特性データに対応するデータ格納構造に応じて、前記属性に対応する動画区間特性データを符号化して、空間イージングパラメータが含まれる、前記属性に対応する属性コンテンツを取得するステップと、
    前記空間イージングパラメータフラグビットの値が、前記動的属性データブロックに格納された前記属性に対応する属性コンテンツに空間イージングパラメータが含まれないことを表す場合、前記動画区間特性データに対応するデータ格納構造に応じて、前記属性に対応する動画区間特性データを符号化して、空間イージングパラメータが含まれない、前記属性に対応する属性コンテンツを取得するステップと、を含むことを特徴とする、請求項8に記載の方法。
  10. 前記動画区間特性データに対応するデータ格納構造に含まれるフィールドは、動画区間数、各動画区間の補間器のタイプ、各前記動画区間の開始及び終了時間を含み、各前記動画区間の、前記属性に対応する開始値、終了値、時間イージングパラメータ、及び空間イージングパラメータをさらに含むことを特徴とする、請求項9に記載の方法。
  11. 前記動画タグコードは、ビットマップ合成タグコードであり、
    動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得する前記ステップは、
    前記動画プロジェクトファイルを再生するステップと、
    前記動画プロジェクトファイルに対応する再生画面を順にスクリーンショットして、前記動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得するステップと、
    ビットマップシーケンスフレームの導出方式に従って、前記ビットマップ画像シーケンスを処理して、前記ビットマップ合成タグコードに対応するピクチャバイナリデータを取得するステップと、を含むことを特徴とする、請求項2に記載の方法。
  12. 前記動画タグコードは、ビデオ合成タグコードであり、
    動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得する前記ステップは、
    前記動画プロジェクトファイルを再生するステップと、
    前記動画プロジェクトファイルに対応する再生画面を順にスクリーンショットして、前記動画プロジェクトファイルに対応するビットマップ画像シーケンスを取得するステップと、
    ビデオシーケンスフレームの導出方式に従って、前記ビットマップ画像シーケンスを処理して、前記ビデオ合成タグコードに対応するピクチャバイナリデータを取得するステップと、を含むことを特徴とする、請求項2に記載の方法。
  13. ファイルヘッダ組織構造に応じて、ファイルヘッダ情報を順に符号化して、ファイルヘッダ符号化情報を取得するステップと、
    タグ組織構造に応じて、前記動画タグコード、データブロック長、及びデータブロックを順に符号化して、タグ符号化データを取得するステップであって、前記データブロックに、動的属性データブロック及び基本属性データブロックが含まれる、ステップと、
    前記ファイルヘッダ符号化情報、各前記タグ符号化データをターゲットファイル構造に応じて編成して、ターゲット動画ファイルを取得するステップと、をさらに含むことを特徴とする、請求項1~12のいずれか一項に記載の方法。
  14. コンピュータ装置が実行する動画データ復号方法であって、
    動画タグコードを取得するステップと、
    前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、前記属性構造テーブルにおける各属性に対応する属性型に基づいて、前記動画タグコードに対応する動的属性データブロックから、各前記属性に対応する属性フラグ情報を解析するステップと、
    各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析するステップと、を含むことを特徴とする、動画データ復号方法。
  15. 前記動画タグコードに対応する前記属性構造テーブルに属性型が存在しない場合、前記属性構造テーブルにおける各前記属性に対応するデータ型、属性ソートに基づいて、前記動画タグコードに対応する基本属性データブロックから、各前記属性に対応する属性値を順に読み取るステップをさらに含むことを特徴とする、請求項14に記載の方法。
  16. 前記属性構造テーブルにおける各属性に対応する属性型に基づいて、前記動画タグコードに対応する動的属性データブロックから、各前記属性に対応する属性フラグ情報を解析する前記ステップは、
    前記属性構造テーブルをルックアップして、各前記属性に対応する属性ソートを取得するステップと、
    各前記属性に対応する属性型に基づいて、各前記属性に対応する属性フラグ情報によって占有されるビット数を決定するステップと、
    前記動画タグコードに対応する動的属性データブロックにおける最初のビットからデータを読み取るステップと、
    各前記属性に対応する属性フラグ情報によって占有されるビット数に基づいて、順に読み取ったデータから、各前記属性に対応する属性フラグ情報を前記属性ソートに応じて決定するステップと、を含むことを特徴とする、請求項14に記載の方法。
  17. 前記属性型は、一般属性であり、
    前記属性フラグ情報は、コンテンツフラグビットのみを含み、
    各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析する前記ステップは、
    前記コンテンツフラグビットの値が、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在することを表す場合に、前記属性に対応するデータ型に基づいて、前記動的属性データブロックから、前記属性に対応する属性コンテンツを読み取るステップと、
    前記コンテンツフラグビットの値が、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在しないことを表す場合に、前記属性構造テーブルから、前記属性に対応するデフォルト値をルックアップするステップと、を含むことを特徴とする、請求項14に記載の方法。
  18. 前記属性型は、固定属性であり、
    前記属性フラグ情報は、空であり、
    各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析する前記ステップは、
    前記属性に対応するデータ型に基づいて、前記動的属性データブロックから、前記属性に対応する属性コンテンツを直接読み取るステップを含むことを特徴とする、請求項14に記載の方法。
  19. 前記属性型は、ブール属性であり、
    前記属性フラグ情報は、コンテンツフラグビットのみを含み、
    各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析する前記ステップは、
    前記コンテンツフラグビットの値を直接、前記属性に対応する属性コンテンツとするステップを含むことを特徴とする、請求項14に記載の方法。
  20. 前記属性型は、簡単動画属性、離散動画属性、多次元時間イージング動画属性、又は空間イージング動画属性であり、
    前記属性フラグ情報は、少なくともコンテンツフラグビットを含み、
    各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析する前記ステップは、
    前記コンテンツフラグビットの値が、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在することを表す場合に、前記動的属性データブロックから、前記属性に対応する属性コンテンツを読み取るステップと、
    前記コンテンツフラグビットの値が、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在しないことを表す場合に、前記属性構造テーブルから、前記属性に対応するデフォルト値をルックアップするステップと、を含むことを特徴とする、請求項14に記載の方法。
  21. 前記コンテンツフラグビットの値が、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在することを表す場合に、前記動的属性データブロックから、前記属性に対応する属性コンテンツを読み取る前記ステップは、
    前記コンテンツフラグビットの値が、前記動的属性データブロックにおいて、前記属性に対応する属性コンテンツが存在することを表す場合に、前記コンテンツフラグビットの次のビットの値を読み取って、動画区間フラグビットの値とするステップと、
    前記動画区間フラグビットの値が、前記属性コンテンツに動画区間特性データが含まれることを表す場合に、前記動画区間特性データに対応するデータ格納構造に応じて、前記動的属性データブロックから、前記属性に対応する動画区間特性データを解析するステップと、
    前記動画区間フラグビットの値が、前記属性コンテンツに動画区間特性データが含まれないことを表す場合に、前記属性のデータ型に基づいて、前記動的属性データブロックから、前記属性に対応する属性コンテンツを直接解析するステップと、を含むことを特徴とする、請求項20に記載の方法。
  22. 前記属性型は、空間イージング動画属性であり、
    前記動画区間フラグビットの値が、前記属性コンテンツに動画区間特性データが含まれることを表す場合に、前記動画区間特性データに対応するデータ格納構造に応じて、前記動的属性データブロックから、前記属性に対応する動画区間特性データを解析する前記ステップは、
    前記動画区間フラグビットの値が、前記属性コンテンツに動画区間特性データが含まれることを表す場合に、前記動画区間フラグビットの次のビットの値を読み取って、空間イージングパラメータフラグビットの値とするステップと、
    前記空間イージングパラメータフラグビットの値が、前記動画区間特性データに空間イージングパラメータが含まれることを表す場合に、前記動画区間特性データに対応するデータ格納構造に応じて、前記動的属性データブロックから、前記空間イージングパラメータが含まれる、前記属性に対応する動画区間特性データを解析するステップと、
    前記空間イージングパラメータフラグビットの値が、前記動画区間特性データに空間イージングパラメータが含まれないことを表す場合に、前記動画区間特性データに対応するデータ格納構造に応じて、前記動的属性データブロックから、前記空間イージングパラメータが含まれない、前記属性に対応する動画区間特性データを解析するステップと、を含むことを特徴とする、請求項21に記載の方法。
  23. 前記動画区間特性データに対応するデータ格納構造に含まれるフィールドは、動画区間数、各動画区間の補間器のタイプ、各前記動画区間の開始及び終了時間を含み、各前記動画区間の、前記属性に対応する開始値、終了値、時間イージングパラメータ、及び空間イージングパラメータをさらに含むことを特徴とする、請求項22に記載の方法。
  24. 動画タグコードを取得する前記ステップは、
    ターゲット動画ファイルを解析して、バイナリシーケンスを取得するステップと、
    前記ターゲット動画ファイルのターゲットファイル構造に応じて、前記バイナリシーケンスから、前記ターゲット動画ファイルのファイルヘッダ符号化情報及びタグ符号化データを順に読み取るステップと、
    前記ターゲット動画ファイルのファイルヘッダ組織構造に含まれるフィールドのソート、各フィールドのデータ型に応じて、前記ファイルヘッダ符号化情報を復号して、ファイルヘッダ情報を取得するステップと、
    前記ターゲット動画ファイルのタグ組織構造に応じて、前記タグ符号化データを復号して、前記動画タグコード、データブロック長、及び各前記動画タグコードに対応するデータブロックを順に取得するステップであって、前記データブロックに、動的属性データブロック及び基本属性データブロックが含まれる、ステップと、を含むことを特徴とする、請求項14~23のいずれか一項に記載の方法。
  25. 前記ターゲット動画ファイルは、ベクトル導出方式に従って、動画プロジェクトファイルから導出されたものであり、
    ターゲット動画ファイルを解析して、バイナリシーケンスを取得する前記ステップは、
    前記ベクトル導出方式に対応するファイルデータ構造を取得するステップと、
    前記ファイルデータ構造に基づいて、前記ターゲット動画ファイルを解析して、動画ベクトルデータを表すバイナリシーケンスを取得するステップと、を含むことを特徴とする、請求項24に記載の方法。
  26. 前記ターゲット動画ファイルは、ビットマップシーケンスフレームの導出方式に従って、動画プロジェクトファイルから導出されたものであり、
    ターゲット動画ファイルを解析して、バイナリシーケンスを取得する前記ステップは、
    ピクチャ復号方式に従って前記ターゲット動画ファイルを解凍して、前記ターゲット動画ファイルに対応するピクチャバイナリデータを取得するステップであって、前記ピクチャバイナリデータに、動画プロジェクトファイルにおけるキービットマップ画像の画素データ及び非キービットマップ画像の相違画素領域の画素データが含まれる、ステップを含むことを特徴とする、請求項24に記載の方法。
  27. 前記ターゲット動画ファイルは、ビデオシーケンスフレームの導出方式に従って、動画プロジェクトファイルから導出されたものであり、
    ターゲット動画ファイルを解析して、バイナリシーケンスを取得する前記ステップは、
    ビデオ復号方式に従って前記ターゲット動画ファイルを解凍して、前記ターゲット動画ファイルに対応するピクチャバイナリデータを取得するステップであって、前記ピクチャバイナリデータは、合成ビットマップの画素データであり、合成ビットマップは、動画プロジェクトファイルに含まれるビットマップ画像の色チャンネルビットマップ及び透明度チャンネルビットマップを合成処理したものである、ステップを含むことを特徴とする、請求項24に記載の方法。
  28. 動画プロジェクトファイルから、各動画タグコードに対応する動画データを取得する動画データ取得モジュールと、
    前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、前記属性構造テーブルにおける各属性に対応する属性フラグ情報を決定する属性フラグ情報決定モジュールと、
    前記属性フラグ情報に応じて、前記動画データにおける、各前記属性に対応する属性値を符号化して、各前記属性に対応する属性コンテンツを取得する属性コンテンツ符号化モジュールと、
    前記属性構造テーブルにおける各前記属性に対応する属性ソートに基づいて、各前記属性に対応する属性フラグ情報、前記属性コンテンツを順に格納して、前記動画タグコードに対応する動的属性データブロックを取得するデータブロック生成モジュールと、を含む、動画データ符号化装置。
  29. 動画タグコードを取得する取得モジュールと、
    前記動画タグコードに対応する属性構造テーブルに属性型が存在する場合、前記属性構造テーブルにおける各属性に対応する属性型に基づいて、前記動画タグコードに対応する動的属性データブロックから、各前記属性に対応する属性フラグ情報を解析する属性フラグ情報解析モジュールと、
    各前記属性に対応する属性フラグ情報に基づいて、前記動的属性データブロックから、各前記属性に対応する属性コンテンツを解析する属性コンテンツ解析モジュールと、を含む、動画データ復号装置。
  30. コンピュータに、請求項1~27のいずれか一項に記載の方法のステップを実行させるためのプログラム。
  31. コンピュータプログラムが記憶されているメモリと、
    プロセッサと、を含むコンピュータ装置であって、
    前記コンピュータプログラムは、プロセッサにより実行されると、請求項1~27のいずれか一項に記載の方法のステップを前記プロセッサに実行させる、コンピュータ装置。
JP2021542415A 2019-06-11 2020-06-03 動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置 Active JP7165272B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910502932.9A CN112150587A (zh) 2019-06-11 2019-06-11 动画数据编码、解码方法、装置、存储介质和计算机设备
CN201910502932.9 2019-06-11
PCT/CN2020/094119 WO2020248879A1 (zh) 2019-06-11 2020-06-03 动画数据编码、解码方法、装置、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
JP2022536233A true JP2022536233A (ja) 2022-08-15
JP7165272B2 JP7165272B2 (ja) 2022-11-02

Family

ID=73781606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021542415A Active JP7165272B2 (ja) 2019-06-11 2020-06-03 動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置

Country Status (4)

Country Link
US (2) US12039652B2 (ja)
JP (1) JP7165272B2 (ja)
CN (1) CN112150587A (ja)
WO (1) WO2020248879A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI757973B (zh) * 2019-12-06 2022-03-11 美商伊路米納有限公司 使用圖形檔案控制電子元件的方法和裝置以及相關的電腦程式產品和圖形檔案組
CN111669623B (zh) * 2020-06-28 2023-10-13 腾讯科技(深圳)有限公司 视频特效的处理方法、装置以及电子设备
US11670009B2 (en) * 2020-08-26 2023-06-06 Meta Platforms Technologies, Llc Rate controlled image and texture data compression
CN114610920B (zh) * 2022-05-09 2022-09-02 宏景科技股份有限公司 图像存储格式的生成方法、图像存储格式及处理系统
CN116524529B (zh) * 2023-07-04 2023-10-27 青岛海信信息科技股份有限公司 一种基于图形嵌套关系的图层识别新方法
CN117688410B (zh) * 2024-02-02 2024-05-24 山东同利新材料有限公司 一种对马来酸二乙酯生产数据智能管理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1107605A2 (en) * 1999-12-02 2001-06-13 Canon Kabushiki Kaisha A method for encoding animation in an image file
US20100149215A1 (en) * 2008-12-15 2010-06-17 Personal Web Systems, Inc. Media Action Script Acceleration Apparatus, System and Method
CN102289835A (zh) * 2011-08-30 2011-12-21 北京瑞信在线系统技术有限公司 微动画效果查看方法及装置
EP2403280A1 (en) * 2010-06-30 2012-01-04 Hughes Systique India Private Limited A method and system for compressing and efficiently transporting scalable vector graphics based images and animation over low bandwidth networks
KR101352737B1 (ko) * 2013-08-09 2014-01-27 넥스트리밍(주) 동영상 편집도구의 이펙트 설정 데이터를 이용한 이펙트 설정 방법 및 컴퓨터로 판독가능한 기록매체
KR101745287B1 (ko) * 2016-12-23 2017-06-09 (주)성창 웹 기반 hmi의 이미지 편집 장치 및 그 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1700256A (zh) * 2004-03-08 2005-11-23 三星电子株式会社 用于基于深度图像表述的数据的模式和样式表
CN106815880B (zh) * 2015-12-01 2021-07-06 厦门雅基软件有限公司 动画复用方法和系统
US20180005157A1 (en) * 2016-06-30 2018-01-04 Disney Enterprises, Inc. Media Asset Tagging
US11386524B2 (en) * 2018-09-28 2022-07-12 Apple Inc. Point cloud compression image padding
CN109359262B (zh) * 2018-10-11 2020-09-04 广州酷狗计算机科技有限公司 动画播放方法、装置、终端及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1107605A2 (en) * 1999-12-02 2001-06-13 Canon Kabushiki Kaisha A method for encoding animation in an image file
US20100149215A1 (en) * 2008-12-15 2010-06-17 Personal Web Systems, Inc. Media Action Script Acceleration Apparatus, System and Method
EP2403280A1 (en) * 2010-06-30 2012-01-04 Hughes Systique India Private Limited A method and system for compressing and efficiently transporting scalable vector graphics based images and animation over low bandwidth networks
CN102289835A (zh) * 2011-08-30 2011-12-21 北京瑞信在线系统技术有限公司 微动画效果查看方法及装置
KR101352737B1 (ko) * 2013-08-09 2014-01-27 넥스트리밍(주) 동영상 편집도구의 이펙트 설정 데이터를 이용한 이펙트 설정 방법 및 컴퓨터로 판독가능한 기록매체
KR101745287B1 (ko) * 2016-12-23 2017-06-09 (주)성창 웹 기반 hmi의 이미지 편집 장치 및 그 방법

Also Published As

Publication number Publication date
US20210350605A1 (en) 2021-11-11
WO2020248879A1 (zh) 2020-12-17
US12039652B2 (en) 2024-07-16
CN112150587A (zh) 2020-12-29
US20240331263A1 (en) 2024-10-03
JP7165272B2 (ja) 2022-11-02

Similar Documents

Publication Publication Date Title
JP7165272B2 (ja) 動画データ符号化/復号方法、装置、プログラム及びコンピュータ装置
JP7325535B2 (ja) アニメーションレンダリング方法、装置、コンピュータ読み取り可能な記憶媒体、及びコンピュータ機器
CN111899322B (zh) 视频处理方法、动画渲染sdk和设备及计算机存储介质
CN111899155B (zh) 视频处理方法、装置、计算机设备及存储介质
US8019166B2 (en) Image data compression method and apparatuses, image display method and apparatuses
JP7357681B2 (ja) 動画ファイル処理方法および装置、コンピュータプログラム並びにコンピュータ装置
CN115908644A (zh) 动画处理方法和装置
KR20090024091A (ko) 비디오 파일에 대한 썸네일을 생성하는 방법 및 장치
CN110113617A (zh) 一种图像压缩与解压缩的方法及装置
Grahn The animate package
CN112070866B (zh) 动画数据编码、解码方法、装置、存储介质和计算机设备
CN105513115A (zh) 将SWF转化为Canvas动画的方法和装置
KR100882250B1 (ko) 동적인 가상 이미지를 합성하기 위한 방법
CN112150585B (zh) 动画数据编码、解码方法、装置、存储介质和计算机设备
CN112070850B (zh) 动画数据编码、解码方法、装置、存储介质和计算机设备
US9412187B2 (en) Delayed rendering of content
CN112150589B (zh) 动画数据编码、解码方法、装置、存储介质和计算机设备
CN113546409B (zh) Laya引擎播放GIF格式资源的方法、存储介质
US6912305B1 (en) Computer animation
US8165424B1 (en) Method and device for video transformations
Concolato et al. Design of an efficient scalable vector graphics player for constrained devices
WO2024051394A1 (zh) 视频处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品
CN117729296A (zh) 视频生成方法、装置、计算机设备、存储介质和程序产品
CN114067028A (zh) 图片编辑方法及装置
JPH1130978A (ja) カラー画像の符号化方法およびその符号装置ならびにカラー画像の復号化方法およびその復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210810

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: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221021

R150 Certificate of patent or registration of utility model

Ref document number: 7165272

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150