JP7471725B2 - 画像処理方法、装置、電子機器及びコンピュータプログラム - Google Patents

画像処理方法、装置、電子機器及びコンピュータプログラム Download PDF

Info

Publication number
JP7471725B2
JP7471725B2 JP2022552630A JP2022552630A JP7471725B2 JP 7471725 B2 JP7471725 B2 JP 7471725B2 JP 2022552630 A JP2022552630 A JP 2022552630A JP 2022552630 A JP2022552630 A JP 2022552630A JP 7471725 B2 JP7471725 B2 JP 7471725B2
Authority
JP
Japan
Prior art keywords
frame
image frame
fill
target image
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022552630A
Other languages
English (en)
Other versions
JP2023517003A (ja
Inventor
▲瀟▼ 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2023517003A publication Critical patent/JP2023517003A/ja
Application granted granted Critical
Publication of JP7471725B2 publication Critical patent/JP7471725B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4781Games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本願はコンピュータの技術分野に関し、具体的に、画像処理方法、装置、電子機器及び記憶媒体に関する。
本願は、2020年7月1日に中国特許庁に提出された、出願番号が第2020106262817号、発明の名称が「画像処理方法、装置、電子機器及び記憶媒体」の中国特許出願の優先権を主張し、その全内容は引用により本願に組み込まれている。
ますます多くのユーザーが、携帯電話、タブレットコンピュータ及びパソコンなどの端末を介してオンラインでビデオを視聴し始めている。そして、移動端末及びネットワーク技術の発展に伴って、ゲームもビデオ再生の方式で相応なコンテンツをユーザーに表示することができるようになっている。クラウドゲームを例とすると、クラウドゲームのシーンでは、ゲームはプレーヤーのゲーム端末ではなく、クラウドサーバで動作し、且つクラウドサーバによってゲームシーンをビデオオーディオストリームとしてレンダリングし、ネットワークを介してプレーヤーの端末に伝送する。プレーヤーの端末は強力なグラフィック演算及びデータ処理能力を有する必要がなく、基本的なストリームメディア再生能力及びプレーヤーの入力命令を取得し、且つクラウドサーバに送信する能力のみを有すればよい。
本願の実施例は、画像処理方法、装置、電子機器及び記憶媒体を提供し、画像シーケンスを復号することによる時間遅延を低減させ、画像処理の滑らかさを向上させることができる。
本願の実施例は画像処理方法を提供し、
サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信するステップであって、前記充填フレーム情報は前記サーバによって前記画像フレームセットに基づき生成される、ステップと、
前記画像フレームセットをフレームごとにデコーダのバッファキューに入力し、バッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定するステップと、
充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップであって、前記バッファキューにおける前記ターゲット画像フレームを除いて、残りのフレームが前記充填フレームであるようにする、ステップと、
前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、前記画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行するステップと、
復号後の画像フレームを処理し、処理結果を表示するステップと、を含む。
相応に、本願の実施例は画像処理装置をさらに提供し、
サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信することに用いられる受信モジュールであって、前記充填フレーム情報は前記サーバによって前記画像フレームセットに基づき生成される、受信モジュールと、
前記画像フレームセットをフレームごとにデコーダのバッファキューに入力し、バッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定することに用いられる決定モジュールと、
充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入することに用いられる挿入モジュールであって、前記バッファキューにおける前記ターゲット画像フレームを除いて、残りのフレームが前記充填フレームであるようにする、挿入モジュールと、
前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、前記画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行することに用いられる検出モジュールと、
復号後の画像フレームを処理し、処理結果を表示することに用いられる処理モジュールと、を含む。
本願のいくつかの実施例において、前記挿入モジュールは、
前記充填フレーム情報から前記サーバによって前記画像フレームセットに基づき生成された充填フレームセットを抽出することに用いられる第1抽出ユニットと、
前記充填フレームセット中の前記ターゲット画像フレームと対応する充填フレームを選択して、ターゲット充填フレームを得ることに用いられる選択ユニットと、
前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に所定数のターゲット充填フレームを挿入することに用いられる挿入ユニットと、を含む。
本願のいくつかの実施例において、前記挿入ユニットは具体的に、
前記バッファキューに対応する最大バッファ数を検出することと、
前記ターゲット画像フレーム及び最大バッファ数に基づき、充填数を生成することと、
前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填数と対応する数のターゲット充填フレームを挿入することと、に用いられる。
本願のいくつかの実施例において、値割り当てモジュールをさらに含み、前記値割り当てモジュールは、
前記ターゲット画像フレームのフレーム番号を抽出することに用いられる第2抽出ユニットと、
フレーム番号及び前記バッファキューでの充填フレームの位置に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てることに用いられる値割り当てユニットと、を含む。
本願のいくつかの実施例において、前記値割り当てユニットは具体的に、
前記充填フレーム情報から前記バッファキューでの充填フレームに対応するオフセット量を抽出することと、
フレーム番号、前記バッファキューでの充填フレームの位置及び前記バッファキューでの充填フレームに対応するオフセット量に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てることと、に用いられる。
本願のいくつかの実施例において、前記検出モジュールは具体的に、
前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得ることと、
前記現在の処理オブジェクトのタイプを検出することと、
検出結果として前記現在の処理オブジェクトがキーフレームであることが示されたとき、前記現在の処理オブジェクトのフレーム番号を基準として、充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入することと、
前記ターゲット画像フレームのフレームタイプがキーフレームではないことが検出されたとき、前記現在の処理オブジェクトの前のフレームに対応するフレーム番号に基づき、前記現在の処理オブジェクトのフレーム番号を調整し、充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入することと、
全ての画像フレームの復号がいずれも終わるまで、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得るステップを実行することと、に用いられる。
本願のいくつかの実施例において、前記決定モジュールは具体的に、
現在レンダリングされている前記処理対象の画像シーケンスのキーフレームを取得して、ターゲットキーフレームを得ることと、
前記画像フレームセットで前記ターゲットキーフレームの次のフレームの画像フレームがターゲット画像フレームであることを決定することと、
前記ターゲット画像フレームをバッファキューの一番目に保存することと、に用いられる。
本願の実施例は電子機器をさらに提供し、メモリと、プロセッサと、メモリに記憶され、プロセッサで動作し得るコンピュータプログラムと、を含み、前記プロセッサは前記プログラムを実行したとき、前記画像処理方法のステップを実現する。
本願の実施例はコンピュータ可読記憶媒体をさらに提供し、それにコンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサにより実行されたとき、前記画像処理方法のステップを実現する。
本願の技術的手段をより明確に説明するために、以下、実施例の記述で使用される必要がある図面を簡単に紹介し、明らかなように、以下の記述における図面は本発明のいくつかの実施例に過ぎず、当業者にとっては、創造的な労働を要しない前提で、さらにこれらの図面に基づき他の図面を取得することができる。
本願の実施例が提供する画像処理方法のシーン模式図である。 本願の実施例が提供する画像処理方法の模式的なフローチャートである。 本願の実施例が提供する画像処理方法の別の模式的なフローチャートである。 本願の実施例が提供する画像処理システムの模式図である。 本願の実施例が提供する画像処理方法における充填フレームを生成する模式的なフローチャートである。 本願の実施例が提供する画像処理方法で画像フレームセットを処理する模式的なフローチャートである。 本願の実施例が提供する画像処理装置の構造模式図である。 本願の実施例が提供する画像処理装置の別の構造模式図である。 本願の実施例が提供する電子機器の構造模式図である。 本願の実施例が提供する分散型システム100がブロックチェーンシステムに応用される1つの構造模式図である。 本願の実施例が提供するブロック構造(Block Structure)の1つの模式図である。
以下、本願の図面を併せて本願の技術的手段を明確かつ完全に記述する。明らかなように、記述された実施例は単に本発明の実施例の一部であり、全部の実施例ではない。本発明の実施例に基づき、当業者が創造的な労働を要しない前提で取得した全ての他の実施例は、いずれも本発明の保護範囲に属するものとなる。
いくつかのクラウドゲームシーンにおいて、プレーヤーの端末の復号能力が制限される。復号手段において、ビデオハードウェア復号フレームバッファは全体的な遅延に大きく影響するため、最終的に再生するビデオが動かなくなる現象が存在する可能性がある。
本願の実施例は、画像処理方法、装置、電子機器及び記憶媒体を提供し、画像シーケンスを復号することによる時間遅延を低減させ、画像処理の滑らかさを向上させることができる。
本願の実施例は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信するステップであって、前記充填フレーム情報は前記サーバによって前記画像フレームセットに基づき生成される、ステップの後、前記画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。続いて、充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それにより前記バッファキューにおける前記ターゲット画像フレームを除いて、残りのフレームが前記充填フレームであるようにする。前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行し、最終的に、復号後の画像フレームを処理し、且つ処理結果を表示する。従って、該手段は、ビデオを復号することによる時間遅延を低減させ、画像処理の滑らかさを向上させることができる。
ここで、該画像処理装置は具体的に端末に集積されてもよく、端末はスマートフォン、タブレットコンピュータ、ノートパソコン、デスクトップコンピュータ、スマートスピーカー、スマートウォッチなどであってもよいが、これらに限定されない。端末及びサーバは、有線又は無線通信方式で直接又は間接的に接続され得るが、本願はここで限定しない。
たとえば、図1aに参照されるように、該画像処理装置は端末に集積され、端末はサーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信することができる。ここで、充填フレーム情報は前記サーバによって画像フレームセットに基づき生成され、サーバはクラウドサーバであり、クラウドゲームシーンでは、クラウドサーバによってゲームシーンをビデオオーディオストリーム(すなわちビデオストリームデータ)としてレンダリングし、ネットワークを介してユーザーの端末に伝送する。次に、端末は画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。続いて、端末は、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりバッファキューにおける前記ターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。続いて、端末は、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行し、最終的に、端末は、復号後の画像フレームをレンダリングして、前記処理対象の画像シーケンスを再生する。
本願が提供する画像処理方法では、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりターゲット画像フレームがバッファキューにあるとき、バッファキューの一番目にあり、そして、バッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにすることで、端末が画像フレームを復号する速度を向上させ、ビデオを復号することによる時間遅延を低減させ、さらに画像処理の効率を向上させる。
以下、それぞれ詳細に説明する。説明する必要があるように、以下の実施例の記述順序は実施例の優先順序を限定するものではない。
画像処理方法は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信し、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定し、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行し、復号後の画像フレームを処理し、且つ処理結果を表示することを含む。
図1bに参照されるように、図1bは本願が提供する画像処理方法の模式的なフローチャートである。該画像処理方法は端末によって実行されてもよく、具体的なプロセスは以下のとおりであってもよい。
101:サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信する。
ここで、充填フレーム情報はサーバによって画像フレームセットに基づき生成され、端末は、有線ネットワーク又は無線ネットワークを介してサーバから送信されたビデオストリームデータを受信することができる。該ビデオストリームデータは充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを運び、サーバから送信されたビデオストリームデータを受信した後、該ビデオストリームデータを解析し、それにより処理対象の画像シーケンスの画像フレームセット及びサーバが画像フレームセットに基づき生成した充填フレーム情報を得る。ビデオデータソースのフォーマットは、AVC(Advanced Video Coding、すなわちH.264符号化標準)であってもよく、HEVC(High Efficiency Video Coding、すなわちH.265符号化標準)であってもよい。
まず、以下のビデオ符号化の概念を紹介する。いわゆるビデオ符号化方式とは、圧縮技術により、元のビデオ画像を順に予測、変化、量子化、再構成及びエントロピー符号化してバイナリバイトストリームに圧縮することを指し、ここで、符号化方式は、コンテキストに基づく適応型可変長符号化(Context-Adaptive Varialbe-Length Coding、CAVLC)及びコンテキストに基づく適応型バイナリ算術符号化(Context-based Adaptive Binary Arithmetic Coding、CABAC)を含む。サーバは、処理対象の画像シーケンスの画像シーケンスヘッダ情報を取得した後、画像シーケンスヘッダ情報を解析して、処理対象の画像シーケンスの画質レベル、参照フレーム数、双方向予測フレームの有無及び画像フレームシーケンスに対応する長さなどの情報を得て、且つ解析して得られた情報に基づいて、充填フレームを生成できるか否かを判断する。サーバは、充填フレームを生成したとき、生成した充填フレーム、充填フレームに対応する番号及びオフセット量を、充填フレーム情報としてパッケージングし、且つ画像シーケンスヘッダ情報内に書き込み、その後、充填フレーム情報を含む画像シーケンスヘッダ情報を端末に送信する。
102:画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。
ビデオコンテンツの記憶及び伝送を容易にするために、通常、ビデオコンテンツの体積を減少させる必要があり、つまり元のビデオ画像を圧縮する必要があり、圧縮アルゴリズムは符号化フォーマットとも略称する。たとえば、サーバは、H.264符号化フォーマットを採用してビデオ画像を圧縮することができ、サーバから送信された圧縮後のビデオコンテンツを受信すると、圧縮後のビデオコンテンツを復号とも呼ばれる圧縮解除する必要がある。ビデオ画像符号化及び復号については、エンコーダは、複数枚の画像を符号化した後にセグメント化された画像グループ(Group of Pictures、GOP)を生成し、デコーダは、再生時にセグメント化されたGOPを読み取って復号した後に、画面を読み取り、さらにレンダリングしてディスプレイする。GOP(Group of Pictures)は1グループの連続した画面であり、1つのキーフレーム及び複数の非キーフレームからなり、ここで、キーフレームはGOPの基本フレーム(第1フレーム)であり、1グループには1つのみのキーフレームがあり、非キーフレームは順方向参照フレーム及び双方向参照フレームを含む。ここで、キーフレームは1つの完全な画面であり、順方向参照フレーム及び双方向参照フレームが記録するのはキーフレームに対する変化である。従って、キーフレームは独立して復号できるが、順方向参照フレームは前のフレームの画像に依存して復号する必要があり、双方向参照フレームの復号は前のフレームの画像に依存する必要があるだけでなく、次のフレームの画像にも依存する必要がある。すなわち、ビデオを再生する必要があるとき、まず、1つのキーフレームの位置を位置決めする必要があり、それによりビデオの再生を実現できる。すなわち、いくつかの実施例において、「画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する」というステップは具体的に、
現在レンダリングされている処理対象の画像シーケンスのキーフレームを取得して、ターゲットキーフレームを得るステップ(11)と、
画像フレームセットでターゲットキーフレームの次のフレームの画像フレームがターゲット画像フレームであることを決定するステップ(12)と、
ターゲット画像フレームをバッファキューの一番目に保存するステップ(13)と、を含んでもよい。
現在、ユーザーの端末は、サーバとの間でバッファキューを介してビデオデータ(すなわち画像フレームセット)のバッファを行うことができ、すなわち、バッファキューは画像処理過程における各々の復号対象の画像フレームを先入れ先出しの順序に応じてバッファすることに用いられる。そして、バッファキューにおける全てのバッファ空間にいずれも画像フレームがバッファされたときにのみ、端末は、バッファキューの一番目にある画像フレームを復号する。
103:充填フレーム情報に基づいてターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入する。
ここで、ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりバッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。クラウドゲームを例とすると、クラウドゲーム(Cloud gaming)はゲームオンデマンド(gaming on demand)とも呼ばれてもよく、クラウドコンピューティング技術を基礎とする一種のオンラインゲーム技術である。そして、クラウドゲームでは、サーバから送信された画像フレームセットには一般的にキーフレーム及び順方向参照フレームのみが含まれ、双方向参照フレームが記録するのは本フレームと前後フレームとの違いである。つまり双方向参照フレームを復号するには、双方向参照フレームの前のバッファ画面を取得する必要があるだけでなく、双方向参照フレームの後の画面を復号する必要があり、前後画面と本フレームのデータとの重ね合わせにより最終的な画面を取得する。双方向参照フレームを復号する必要があるとき、さらに双方向参照フレームの次のフレームのデータを取得する必要があり、このとき、双方向参照フレームの次のフレームはまだバッファキューにある。従って、双方向参照フレームを復号することができず、それにより画面が動かなくなるなどの現象が発生する。
充填フレーム情報は画像フレームセットにおける各画像フレームと対応する充填フレームを含む。従って、充填フレーム情報に基づきターゲット画像フレームと対応する充填フレームを決定でき、且つ決定された充填フレームをターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に挿入する。それによりターゲット画像フレームがバッファキューの一番目にあり、且つバッファキューにおける前記ターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。すなわち、いくつかの実施例において、「充填フレーム情報に基づいてターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入する」というステップは具体的に、
充填フレーム情報からサーバによって前記画像フレームセットに基づき生成された充填フレームセットを抽出するステップ(21)と、
充填フレームセット中のターゲット画像フレームと対応する充填フレームを選択して、ターゲット充填フレームを得るステップ(22)と、
ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に所定数のターゲット充填フレームを挿入するステップ(23)と、を含んでもよい。
説明する必要があるように、該充填フレームは順方向予測フレームである。そして、該充填フレームのフレームモードはスキップモードであり、P-Skipマクロブロックは一種の特別なPマクロブロックである。一般的なPマクロブロックについては、画素残差及び動きベクトル残差の両方はコードストリームに書き込まれ、符号化側から復号側に伝送されるが、P-Skipマクロブロックの特別なところは、画素残差を伝送しないだけでなく、動きベクトル残差も伝送しないことである。符号化側は該マクロブロックがPSkipマクロブロックであることを識別するいくつかの少量のバイトを伝送する以外に、該マクロブロックに関する他の情報を伝送する必要がなく、動きベクトル残差は動きベクトルと予測された動きベクトルとの差に等しいため、符号化側での動きベクトル残差がゼロであり、復号時に予測された動きベクトルを得ることができ、つまり、復号時に、動きベクトルを得ることもできる。復号側には参照フレームのマクロブロックに対応する再構成画素があり、この再構成画素及び動きベクトルに基づき、本フレームの本マクロブロックの画素値を復元することができる。これはいわゆるP-skipマクロブロック原理であり、文字通りに理解されるように、このマクロブロックがスキップされることであり、このマクロブロックが符号化されないことに相当する。復号側で近似代替の復元方法が採用され、本フレームの1つのマクロブロックと参照フレームの1つのマクロブロックの画素(2つのマクロブロックが同一位置にあることが要求されない)がほぼ完全に一致した場合、明らかに、現在のフレームのマクロブロックを符号化する必要がなく、復号側では、近似代替方法を直接用いて本フレームの本マクロブロックの画素値を復元することができる。たとえば、第1フレームに卓球があり、第2フレームにも卓球があり、この第2フレームにおける卓球のこのマクロブロックは、PSkipマクロブロックとしてコンパイルされる可能性がある。本願において、符号化前の観点から、バッファキューに挿入された充填フレームはターゲット画像フレームと完全に同じである。
さらに、画像フレーム復号の効率を向上させるために、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりバッファキューがいっぱいになり(バッファキューの最大バッファ数に達する)、バッファキューの最大バッファ数及びターゲット画像フレームに基づき、充填数を生成することができる。次に、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填数と対応する数のターゲット充填フレームを挿入する。すなわち、いくつかの実施例において、「ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に所定数のターゲット充填フレームを挿入する」というステップは、具体的に、
前記バッファキューに対応する最大バッファ数を検出するステップ(31)と、
前記ターゲット画像フレーム及び最大バッファ数に基づき、充填数を生成するステップ(32)と、
前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填数と対応する数のターゲット充填フレームを挿入するステップ(33)と、を含んでもよい。
バッファキューに充填フレームを挿入した後の処理対象の画像シーケンスの画面の連続性を確保するために、バッファキューにおける充填フレームのフレーム番号に値を割り当てる必要がある。すなわち、いくつかの実施例において、「前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填数と対応する数のターゲット充填フレームを挿入する」というステップは、具体的に、
ターゲット画像フレームのフレーム番号を抽出するステップ(41)と、
フレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てるステップ(42)と、をさらに含む。
たとえば、ターゲット画像フレームのフレーム番号は5であり、バッファキューに4つの充填フレームが挿入され、それぞれ充填フレームA、充填フレームB、充填フレームC及び充填フレームDであり、且つ充填フレーム間の位置は充填フレームA-充填フレームB-充填フレームC-充填フレームDである。順に逓増する順序に応じて充填フレームA、充填フレームB、充填フレームC及び充填フレームDに相応なフレーム番号を順に付与し、このとき、充填フレームAのフレーム番号は6であり、充填フレームBのフレーム番号は7であり、充填フレームCのフレーム番号は8であり、充填フレームDのフレーム番号は9である。
実際の応用では、たとえば、H.264符号化フォーマットにおいて、H.264バンドとは、特定のバンドグループ内部でラスタースキャン順序に応じて配列された整数個のマクロブロック又はマクロブロックペアを指すが、これらのマクロブロック又はマクロブロックペアは画像の内部で必ずしもラスタースキャン順序に応じて連続的に配列されるとは限らず、上記マクロブロックのアドレスはバンドの1番目のマクロブロックのアドレス(バンドヘッダに記述する)及びマクロブロックのバンドグループへのマッピングにより得られる。H.264バンドヘッダとは、符号化バンドの一部を指し、該バンドにおける1番目又は全部のマクロブロックに関するデータ要素を含み、つまり、充填フレーム情報からバッファキューでの充填フレームに対応するオフセット量を抽出することができる。該オフセット量とは、充填フレームのバンドヘッダでのオフセット量を指し、次に、フレーム番号、バッファキューでの充填フレームの位置及びバッファキューでの充填フレームに対応するオフセット量に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てる。すなわち、いくつかの実施例において、「フレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当て、それによりバッファキューにおける最後フレームの充填フレームのフレーム番号が第2フレーム番号であるようにする」というステップは、具体的に、
充填フレーム情報からバッファキューでの充填フレームに対応するオフセット量を抽出するステップ(51)と、
フレーム番号、バッファキューでの充填フレームの位置及びバッファキューでの充填フレームに対応するオフセット量に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てるステップ(52)と、を含んでもよい。
具体的に、充填フレーム情報からサーバによって生成された充填フレームのフレーム番号を抽出し、且つフレーム番号、バッファキューでの充填フレームの位置及びバッファキューでの充填フレームに対応するオフセット量に基づき、バッファキューにおける充填フレームのフレーム番号を相応なフレーム番号に更新することで、バッファキューに充填フレームを挿入した後、処理対象の画像シーケンスの画面の連続性を確保する。
104:ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する。
たとえば、具体的に、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとする。すなわち、ターゲット画像フレームの次のフレームの画像フレームを現在処理されている画像フレームとし、次に、現在処理されている画像フレームと現在処理されている画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入する。すなわち、画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する。
説明する必要があるように、異なるキーフレームで表される画像は完全に異なり、従って、充填フレームを挿入したとき、さらに現在処理されている画像フレームがキーフレームであるか否かを検出する必要がある。すなわち、いくつかの実施例において、「ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する」というステップは、具体的に、
ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得るステップ(61)と、
現在の処理オブジェクトのタイプを検出するステップ(62)と、
検出結果として現在の処理オブジェクトがキーフレームであることが示されたとき、現在の処理オブジェクトのフレーム番号を基準として、充填フレーム情報に基づいて現在の処理オブジェクトと現在の処理オブジェクトの次のフレームの画像フレームとの間に充填フレームを挿入するステップ(63)と、
現在の処理オブジェクトがキーフレームではないことが検出されたとき、現在の処理オブジェクトの前のフレームに対応するフレーム番号に基づき、現在の処理オブジェクトのフレーム番号を調整し、且つ充填フレーム情報に基づいて現在の処理オブジェクトと現在の処理オブジェクトの次のフレームの画像フレームとの間に充填フレームを挿入するステップ(64)と、
全ての画像フレームの復号がいずれも終わるまで、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得るステップを実行する(65)と、を含んでもよい。
たとえば、具体的に、現在の処理オブジェクトがキーフレームであるとき、現在の処理オブジェクトのフレーム番号が開始番号であることを決定し、現在の処理オブジェクトのフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てる。現在の処理オブジェクトがキーフレームではないとき、現在の処理オブジェクトの前のフレームに対応するフレーム番号を取得する。ここで、現在の処理オブジェクトの前のフレームは充填フレームであり、すなわち、前のフレームの充填フレームのフレーム番号に基づき現在の処理オブジェクトのフレーム番号を調整し、且つ現在の処理オブジェクトの調整後のフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てる。説明する必要があるように、現在の処理オブジェクトがキーフレームではないとき、現在の処理オブジェクトの調整後のフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てた後、さらに値を割り当てられた後の充填フレームに対応するフレーム番号が所定閾値よりも大きいか否かを検出する必要があり、イエスであれば、所定閾値よりも大きいフレーム番号のゼロ復帰処理を行う。
105:復号後の画像フレームを処理し、且つ処理結果を表示する。
ここで、復号後の画像フレームをレンダリングして、処理対象の画像シーケンスを再生することができる。本願において、充填フレームがP-skipフレームであるため、P-skipフレームをレンダリングせずに復号するだけでよいが、画像フレームセットにおける各フレームのビデオを復号、レンダリング及び再生し、最終的にビデオを復号することによる時間遅延を低減させ、画像処理の滑らかさを向上させるという目的を達成する。
本願は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信した後、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。次に、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりバッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する。最終的に、復号後の画像フレームを処理し、且つ処理結果を表示する。本願が提供する画像処理方法は、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりターゲット画像フレームがバッファキューにあるとき、バッファキューの一番目にある。そして、バッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにすることで、端末が画像フレームを復号する速度を向上させ、ビデオを復号することによる時間遅延を低減させ、さらに画像処理の効率を向上させる。
実施例に記載の方法に基づき、以下、例を挙げてさらに詳細に説明する。
本実施例において、該画像処理装置が具体的に端末に集積されることを例として説明する。
図2aに参照されるように、画像処理方法について、具体的なプロセスは以下のとおりであってもよい。
201:端末は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信する。
202:端末は、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。
端末はサーバから送信された圧縮後のビデオコンテンツを受信し、端末は、圧縮後のビデオコンテンツを圧縮解除する必要がある。すなわち、端末は、ビデオを再生する必要があるとき、まず1つのキーフレームの位置を位置決めする必要があり、それでビデオの再生を実現することができる。
203:端末は、充填フレーム情報に基づいてターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入する。
充填フレーム情報は画像フレームセットにおける各画像フレームと対応する充填フレームを含む。従って、充填フレーム情報に基づきターゲット画像フレームと対応する充填フレームを決定することができ、且つ決定された充填フレームをターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に挿入し、それによりターゲット画像フレームがバッファキューの一番目にあり、且つバッファキューにおける前記ターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。
204:端末は、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する。
たとえば、具体的に、現在の処理オブジェクトがキーフレームであるとき、現在の処理オブジェクトのフレーム番号が開始番号であることを決定し、端末は、現在の処理オブジェクトのフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てる。現在の処理オブジェクトがキーフレームではないとき、端末は、現在の処理オブジェクトの前のフレームに対応するフレーム番号を取得し、ここで、現在の処理オブジェクトの前のフレームは充填フレームである。すなわち、端末は、前のフレームの充填フレームのフレーム番号に基づき現在の処理オブジェクトのフレーム番号を調整し、且つ現在の処理オブジェクトの調整後のフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てる。説明する必要があるように、現在の処理オブジェクトがキーフレームではないとき、端末は、現在の処理オブジェクトの調整後のフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てた後、さらに値を割り当てられた後の充填フレームに対応するフレーム番号が所定閾値よりも大きいか否かを検出する必要があり、イエスであれば、端末は所定閾値よりも大きいフレーム番号のゼロ復帰処理を行う。
205:端末は、復号後の画像フレームを処理し、且つ処理結果を表示する。
たとえば、具体的に、復号後の画像フレームをレンダリングして、処理対象の画像シーケンスを再生する。本願において、充填フレームはP-skipフレームであるため、P-skipフレームをレンダリングせずに復号するだけでよいが、画像フレームセットにおける各フレームのビデオを復号、レンダリング及び再生し、最終的にビデオを復号することによる時間遅延を低減させ、画像処理の滑らかさを向上させるという目的を達成する。
本願の端末は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信した後、端末は、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。次に、端末は、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりバッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。端末は、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する。最終的に、端末は、復号後の画像フレームを処理し、且つ処理結果を表示する。本願が提供する端末は、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりターゲット画像フレームがバッファキューにあるとき、バッファキューの一番目にある。そして、バッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにすることで、端末が画像フレームを復号する速度を向上させ、ビデオを復号することによる時間遅延を低減させ、さらに画像処理の効率を向上させる。
本願の画像処理手段のさらなる理解を容易にするために、図2bに参照されるように、本願は画像処理システム(以下、処理システムと略称する)を提供し、該処理システムは、第1端末10、第2端末20及びサーバ30を含み、端末10は、処理対象の画像シーケンスを収集して符号化してH.264ビデオストリームを生成した後、再生対象のビデオの画像シーケンスヘッダ情報をサーバ30に送信する。ここで、画像シーケンスヘッダ情報は、再生対象のビデオのシーケンスパラメータ集合及び画像パラメータ集合を含み、シーケンスパラメータ集合に1グループの符号化ビデオシーケンスのグローバルパラメータが保存される。いわゆる符号化ビデオシーケンスとは元のビデオの画素データをフレームごとに符号化した後の構造からなるシーケンスであり、各フレームの符号化後のデータが依存するパラメータは画像パラメータ集合に保存される。次に、サーバ30は、画像シーケンスヘッダ情報を受信した後、画像シーケンスヘッダ情報を解析して、処理対象の画像シーケンスの基本フォーマット情報を得て、参照フレームの個数、ビデオレベル、最大フレームシーケンス、フレーム番号の対応するバンドでのオフセット量及び双方向参照フレームの画像フレームの数を含み、且つ解析結果に基づいて該処理対象の画像シーケンスが充填フレームを生成できるか否かを判断する。具体的に、図2cと併せて参照されるように、処理対象の画像シーケンスに双方向参照フレームが存在せず且つ最大参照フレームの数が1であるとき、処理対象の画像シーケンスが充填フレームを生成できることを決定し、さもなければ、プロセスが終了する。さらに、処理対象の画像シーケンスが充填フレームを生成できることが決定されたとき、解析結果に基づき相応な充填フレーム生成モジュールを決定する。たとえば、エントロピー符号化モードがCAVLCモードであれば、CAVLCモードに対応する充填フレーム生成モジュールを選択し、エントロピー符号化モードがCABACモードであれば、CABACモードに対応する充填フレーム生成モジュールを選択する。次に、選択された充填フレーム生成モジュールに基づいて順方向参照フレームを生成するようにエンコーダを指定し、いかなる動きベクトル推定を行わず、全てのマクロブロック予測モードは強制的にP-skipモード(スキップモード)となり、エントロピー符号化モード(CAVLC/CABAC)を指定することにより相応な充填フレームを生成する。最終的に、充填フレーム情報パッケージングモジュールは生成された充填フレーム、解析結果におけるフレーム番号及びフレーム番号の対応するバンドでのオフセット量をカプセル化して、充填フレーム情報を得て、サーバ30は、画像シーケンスヘッダ情報及び充填フレーム情報を第2端末20に送信する。
図2dに参照されるように、且つ図2bと併せて参照されるように、第2端末20は、サーバ30から送信された画像シーケンスヘッダ情報及び充填フレーム情報を受信する。第2端末20は、画像シーケンスヘッダ情報を解析して、処理対象の画像シーケンスの画像フレームセットを得る。次に、第2端末20は、画像フレームセットをフレームごとに第2端末20の復号モジュールに挿入し、復号時にバッファキューが存在すると、第2端末20は充填フレーム情報からサーバ30によって生成された充填フレームを抽出する。続いて、第2端末20は、画像フレームセットに基づきバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定し、且つ充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入する。その後、第2端末20は、充填フレーム情報におけるオフセット量に基づきそれぞれバッファキューにおける充填フレーム及びターゲット画像フレームのフレーム番号を更新することで、処理対象の画像シーケンスの画面の連続性を確保する。具体的に上記実施例を参照すればよいため、ここで繰り返し説明しない。また、復号時にバッファキューが存在しないと、サーバ30における充填フレーム生成モジュールは、画像シーケンスヘッダ情報をリレープロキシサーバに送信することで、第2端末20は、リレープロキシサーバから送信された画像シーケンスヘッダ情報を受信して処理対象の画像シーケンスを表示する。そして、復号されたビデオフレームが充填フレームであれば、充填フレームをレンダリングせず、且つ復号ステップを実行して、再生対象のビデオを再生する。
本願の画像処理方法をより良好に実施することを容易にするために、本願は上記方法に基づく画像処理装置をさらに提供する。ここで、名詞の意味は上記画像処理方法におけるものと同じであり、具体的な実現詳細は方法実施例における説明を参照することができる。
図3aに参照されるように、図3aは本願が提供する画像処理装置の構造模式図であり、ここで、該画像処理装置は受信モジュール301、決定モジュール302、挿入モジュール303、検出モジュール304及びレンダリングモジュール305を含んでもよく、具体的に以下のとおりであってもよい。
受信モジュール301は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信することに用いられる。
ここで、充填フレーム情報はサーバによって画像フレームセットに基づき生成され、受信モジュール301は、有線ネットワーク又は無線ネットワークを介してサーバから送信されたビデオストリームデータを受信することができる。該ビデオストリームデータは充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを運び、サーバから送信されたビデオストリームデータを受信した後、該ビデオストリームデータを解析し、それにより処理対象の画像シーケンスの画像フレームセット及びサーバによって画像フレームセットに基づき生成された充填フレーム情報を得る。ビデオデータソースのフォーマットは、AVC(Advanced Video Coding、すなわちH.264符号化標準)であってもよく、HEVC(High Efficiency Video Coding、すなわちH.265符号化標準)であってもよい。
決定モジュール302は、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定することに用いられる。
ビデオコンテンツの記憶及び伝送を容易にするために、通常、ビデオコンテンツの体積を減少させる必要があり、つまり元のビデオ画像を圧縮する必要があり、圧縮アルゴリズムは符号化フォーマットとも略称する。たとえば、H.264符号化フォーマットを採用してビデオ画像を圧縮することができ、決定モジュール302は、サーバから送信された圧縮後のビデオコンテンツを受信し、端末は、圧縮後のビデオコンテンツを圧縮解除する必要がある。すなわち、決定モジュール302は、ビデオを再生する必要があるとき、まず1つのキーフレームの位置を位置決めする必要があり、それでビデオの再生を実現することができる。
いくつかの実施例において、決定モジュール302は具体的に、現在レンダリングされている処理対象の画像シーケンスのキーフレームを取得して、ターゲットキーフレームを得て、画像フレームセットでターゲットキーフレームの次のフレームの画像フレームがターゲット画像フレームであることを決定し、ターゲット画像フレームをバッファキューの一番目に保存することに用いられてもよい。
挿入モジュール303は、充填フレーム情報に基づいてターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入することに用いられる。
充填フレーム情報は画像フレームセットにおける各画像フレームと対応する充填フレームを含む。従って、挿入モジュール303は、充填フレーム情報に基づきターゲット画像フレームと対応する充填フレームを決定することができ、且つ決定された充填フレームをターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に挿入し、それによりターゲット画像フレームがバッファキューの一番目にあって、且つバッファキューにおける前記ターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。
いくつかの実施例において、挿入モジュール303は具体的に、
充填フレーム情報からサーバによって画像フレームセットに基づき生成された充填フレームセットを抽出することに用いられる第1抽出ユニットと、
充填フレームセット中のターゲット画像フレームと対応する充填フレームを選択して、ターゲット充填フレームを得ることに用いられる選択ユニットと、
ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に所定数のターゲット充填フレームを挿入することに用いられる挿入ユニットと、を含んでもよい。
いくつかの実施例において、挿入ユニットは具体的に、バッファキューに対応する最大バッファ数を検出し、ターゲット画像フレーム及び最大バッファ数に基づき、充填数を生成し、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填数と対応する数のターゲット充填フレームを挿入することに用いられてもよい。
いくつかの実施例において、図3bに参照されるように、該画像処理装置は値割り当てモジュール306をさらに含んでもよく、値割り当てモジュール306は、
ターゲット画像フレームのフレーム番号を抽出することに用いられる第2抽出ユニットと、
フレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てることに用いられる値割り当てユニットと、を含む。
いくつかの実施例において、値割り当てユニットは具体的に、充填フレーム情報からバッファキューでの充填フレームに対応するオフセット量を抽出し、フレーム番号、バッファキューでの充填フレームの位置及びバッファキューでの充填フレームに対応するオフセット量に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てることに用いられてもよい。
検出モジュール304は、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行することに用いられてもよい。
たとえば、具体的に、現在の処理オブジェクトがキーフレームであるとき、現在の処理オブジェクトのフレーム番号が開始番号であることを決定し、検出モジュール304は、現在の処理オブジェクトのフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てる。現在の処理オブジェクトがキーフレームではないとき、端末は、現在の処理オブジェクトの前のフレームに対応するフレーム番号を取得する。ここで、現在の処理オブジェクトの前のフレームは充填フレームであり、すなわち、検出モジュール304は、前のフレームの充填フレームのフレーム番号に基づき現在の処理オブジェクトのフレーム番号を調整し、且つ現在の処理オブジェクトの調整後のフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てる。説明する必要があるように、現在の処理オブジェクトがキーフレームではないとき、検出モジュール304は、現在の処理オブジェクトの調整後のフレーム番号及びバッファキューでの充填フレームの位置に基づいて、バッファキューにおける充填フレームのフレーム番号に値を割り当てた後、さらに値を割り当てられた後の充填フレームに対応するフレーム番号が所定閾値よりも大きいか否かを検出する必要があり、イエスであれば、端末は、所定閾値よりも大きいフレーム番号のゼロ復帰処理を行う。
いくつかの実施例において、検出モジュール304は具体的に、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得て、現在の処理オブジェクトのタイプを検出する。検出結果として現在の処理オブジェクトがキーフレームであることが示されたとき、現在の処理オブジェクトのフレーム番号を基準として、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入することと、ターゲット画像フレームのフレームタイプがキーフレームではないことが検出されたとき、現在の処理オブジェクトの前のフレームに対応するフレーム番号に基づき、現在の処理オブジェクトのフレーム番号を調整し、且つ充填フレーム情報に基づいてターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入することと、画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得るステップを実行することと、に用いられてもよい。
レンダリングモジュール305は、復号後の画像フレームをレンダリングして、処理対象の画像シーケンスを再生することに用いられる。
本願において、充填フレームがP-skipフレームであるため、レンダリングモジュール305は、P-skipフレームをレンダリングせずに復号するだけでよいが、画像フレームセットにおける各フレームのビデオを復号、レンダリング及び再生し、最終的にビデオを復号することによる時間遅延を低減させ、画像処理の滑らかさを向上させるという目的を達成する。
本願の受信モジュール301は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信した後、決定モジュール302は、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。次に、挿入モジュール303は、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりバッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。検出モジュール304は、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する。最終的に、レンダリングモジュール305は、復号後の画像フレームをレンダリングして、処理対象の画像シーケンスを再生する。本願が提供する画像処理装置は、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりターゲット画像フレームがバッファキューにあるとき、バッファキューの一番目にあり、バッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにすることで、端末が画像フレームを復号する速度を向上させ、ビデオを復号することによる時間遅延を低減させ、さらに画像処理の効率を向上させる。
また、本願は電子機器をさらに提供し、図4に示すように、それは本願に係る電子機器の構造模式図を示し、具体的に言えば以下のとおりである。
該電子機器は、1つ又は1つ以上の処理コアのプロセッサ401、1つ又は1つ以上のコンピュータ可読記憶媒体のメモリ402、電源403及び入力ユニット404などの部材を含んでもよい。当業者であれば理解できるように、図4に示された電子機器の構造は電子機器を限定するものではなく、図示されるものより多い又はより少ない部材を含んでもよいか、又は何らかの部材を組み合わせてもよいか、又は異なる部材を配置してもよい。
プロセッサ401は、該電子機器の制御センタであり、各種のインタフェース及び回線を利用して電子機器全体の各部分を接続し、メモリ402内に記憶されたソフトウェアプログラム及び/又はモジュールを動作させ又は実行し、メモリ402内に記憶されたデータを呼び出すことで、電子機器の各種の機能を実行し及びデータを処理し、それにより電子機器を全体的に監視する。プロセッサ401は、1つ又は複数の処理コアを含んでもよく、プロセッサ401は、アプリケーションプロセッサ及びモデムプロセッサを集積してもよい。ここで、アプリケーションプロセッサは主にオペレーティングシステム、ユーザーインタフェース及びアプリケーションプログラムなどを処理し、モデムプロセッサは主に無線通信を処理する。理解できるように、上記モデムプロセッサはプロセッサ401に集積されなくてもよい。
メモリ402は、ソフトウェアプログラム及びモジュールを記憶することに用いられてもよく、プロセッサ401は、メモリ402に記憶されたソフトウェアプログラム及びモジュールを動作させることにより、各種の機能アプリケーション及びデータ処理を実行する。メモリ402は主にプログラム記憶領域及びデータ記憶領域を含んでもよく、ここで、プログラム記憶領域はオペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラム(たとえば、音声再生機能、画像再生機能など)などを記憶することができ、データ記憶領域は、電子機器の使用に基づき作成されたデータなどを記憶することができる。また、メモリ402は、高速ランダムアクセスメモリを含んでもよく、さらに、たとえば少なくとも1つの磁気ディスク記憶デバイス、フラッシュデバイス、又は他の揮発性固体記憶デバイスなどの不揮発性メモリを含んでもよい。相応に、メモリ402はさらに、プロセッサ401のメモリ402へのアクセスを提供するためのメモリコントローラを含んでもよい。
電子機器は各部材に給電する電源403をさらに含み、電源403は、電源管理システムを介してプロセッサ401に論理的に連結され、それにより電源管理システムを介して充電、放電の管理、及び消費電力の管理などの機能を実現することができる。電源403は、1つ又は1つ以上の直流又は交流電源、再充電システム、電源故障検出回路、電源変換器又はインバータ、電源状態インジケータなどの任意の構成要素をさらに含んでもよい。
該電子機器は入力ユニット404をさらに含んでもよく、該入力ユニット404は、入力された数字又は文字情報を受信し、及びユーザー設定及び機能制御に関するキーボード、マウス、ジョイスティック、光学又はトラックボールの信号入力を発生させることに用いられてもよい。
図示されていないが、電子機器はディスプレイユニットなどをさらに含んでもよく、ここでは繰り返し説明しない。具体的に、本実施例において、電子機器におけるプロセッサ401は、以下のような命令に応じて、1つ又は1つ以上のアプリケーションプログラムのプロセスに対応する実行可能ファイルをメモリ402にロードし、且つプロセッサ401によってメモリ402に記憶されたアプリケーションプログラムを動作させ、それにより以下のとおり各種の機能を実現する。
サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信し、前記画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行し、復号後の画像フレームをレンダリングして、処理対象の画像シーケンスを再生する。
以上の各操作の具体的な実施は上記実施例を参照することができるため、ここでは繰り返し説明しない。
本願は、サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信した後、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する。次に、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりバッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにする。ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する。最終的に、復号後の画像フレームをレンダリングして、処理対象の画像シーケンスを再生する。本願が提供する画像処理方法は、ターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、それによりターゲット画像フレームがバッファキューにあるとき、バッファキューの一番目にあり、そして、バッファキューにおけるターゲット画像フレームを除いて、残りのフレームが充填フレームであるようにすることで、端末が画像フレームを復号する速度を向上させ、ビデオを復号することによる時間遅延を低減させ、さらに画像処理の効率を向上させる。
当業者であれば理解できるように、上記実施例の各種の方法における全部又は一部のステップは命令により完了することができ、又は命令により関連するハードウェアを制御して完了することができ、該命令は、1つのコンピュータ可読記憶媒体に記憶され、且つプロセッサによってロード及び実行され得る。
このため、本願は不揮発性コンピュータ可読記憶媒体を提供し、ここで複数の命令が記憶され、該命令はプロセッサによってロードされて、本願が提供するいずれか一種の画像処理方法のステップを実行することができる。たとえば、該命令は以下のステップを実行することができる。
サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信し、画像フレームセットをフレームごとにデコーダのバッファキューに入力し、且つバッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定し、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入し、ターゲット画像フレームの復号が完了したことが検出されたとき、ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、且つ全ての画像フレームの復号がいずれも終わるまで、充填フレーム情報に基づいてターゲット画像フレームとターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行し、復号後の画像フレームをレンダリングして、処理対象の画像シーケンスを再生する。
以上の各操作の具体的な実施は上記実施例を参照することができ、ここで繰り返し説明しない。
ここで、該記憶媒体は、読み出し専用メモリ(ROM、Read Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク又は光ディスクなどを含んでもよい。
該記憶媒体に記憶された命令は、本願が提供するいずれか一種の画像処理方法のステップを実行することができるため、本願が提供するいずれか一種の画像処理方法が実現できる有益な効果を実現することができ、詳細については上記実施例を参照し、ここで繰り返し説明しない。
本願に係るシステムは、クライアント端末、複数のノード(ネットワークにアクセスする任意の形態の計算機器、たとえばサーバ、ユーザー端末)をネットワーク通信の形式で接続して形成された分散型システムであってもよい。
分散型システムがブロックチェーンシステムであることを例として、図5に参照されるように、図5は本願が提供する分散型システム100がブロックチェーンシステムに応用される1つの構造模式図であり、複数のノード(ネットワークにアクセスする任意の形態の計算機器、たとえばサーバ、ユーザー端末)及びクライアント端末によって形成され、ノードの間は構成されたピアツーピア(P2P、Peer To Peer)ネットワークを形成し、P2Pプロトコルは伝送制御プロトコル(TCP、Transmission Control Protocol )プロトコル上で動作する1つのアプリケーション層プロトコルである。分散型システムでは、サーバ、端末などの任意の機械は加入してノードになることができ、ノードはハードウェア層、中間層、オペレーティングシステム層及びアプリケーション層を含む。
図5に示されたブロックチェーンシステムにおける各ノードの機能に参照されるように、係る機能は以下を含む。
1)ルーティングは、ノードが有する基本機能であり、ノード間の通信をサポートすることに用いられる。
ノードはルーティング機能を有する以外に、さらに以下の機能を有してもよい。
2)アプリケーションは、ブロックチェーンに配置することに用いられ、実際のサービスニーズに基づき特定のサービスを実現し、機能の実現に関連するデータを記録して記録データを形成し、記録データにタスクデータのソースを表すためのデジタル署名が運ばれ、記録データをブロックチェーンシステムにおける他のノードに送信して、他のノードによる記録データのソース及び整合性の認証が成功したとき、記録データを一時ブロックに追加する。
たとえば、アプリケーションによって実現されるサービスは、発生した前後時間順序に応じて相互につながる一連のブロック(Block)を含むブロックチェーンを含んでもよく、一旦新たなブロックがブロックチェーンに追加されると削除されなくなり、ブロックにはブロックチェーンシステムにおけるノードが提出した記録データが記録される。
図6に参照されるように、図6は本願が提供するブロック構造(Block Structure)の1つの模式図であり、各ブロックには本ブロックに記憶されたトランザクションレコードのハッシュ値(本ブロックのハッシュ値)、及び前のブロックのハッシュ値が含まれ、各ブロックは、ハッシュ値を介して接続されてブロックチェーンを形成する。また、ブロックにはブロックを生成したときのタイムスタンプなどの情報がさらに含まれてもよい。ブロックチェーン(Blockchain)は、本質的にディセントラリゼーション化された1つのデータベースであり、暗号学的方法を使用して関連付けて生成した一連のデータブロックであり、各々のデータブロックに関連情報が含まれ、その情報の有効性(偽造防止)を認証し及び次のブロックを生成することに用いられる。
以上、本願が提供する画像処理方法、装置、電子機器及び記憶媒体を詳細に紹介し、本明細書において具体的な例を応用して本発明の原理及び実施形態を述べた。以上の実施例の説明は、本発明の方法及びその中心思想を理解するのを助けることのみに用いられ、同時に、当業者にとっては、本発明の思想をもとに、具体的な実施形態及び応用範囲をいずれも変更することができる。以上のように、本明細書のコンテンツは本発明を限定するものではないと理解されるべきである。
10 第1端末
20 第2端末
30 サーバ
100 分散型システム
301 受信モジュール
302 決定モジュール
303 挿入モジュール
304 検出モジュール
305 レンダリングモジュール
306 モジュール
401 プロセッサ
402 メモリ
403 電源
404 入力ユニット

Claims (15)

  1. 画像処理方法であって、
    サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信するステップであって、前記充填フレーム情報は前記サーバによって前記画像フレームセットに基づき生成される、ステップと、
    前記画像フレームセットをフレームごとにデコーダのバッファキューに入力し、前記バッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定するステップであって、前記バッファキューは画像フレームを先入れ先出しの順序に応じてバッファすることに用いられる、ステップと、
    前記充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップであって、前記ターゲット画像フレームに続いて、前記バッファキューの最大バッファ数に達するまでターゲット充填フレームを挿入する、ステップと、
    前記バッファキューの最大バッファ数に達するまでターゲット充填フレームが挿入されたことに応答して前記ターゲット画像フレームの復号が開始され、前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、前記画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行するステップと、
    復号後の画像フレームを処理し、処理結果を表示するステップと、を含む画像処理方法。
  2. 前記充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入する前記ステップは、
    前記充填フレーム情報から前記サーバによって前記画像フレームセットに基づき生成された充填フレームセットを抽出するステップと、
    前記充填フレームセット中の前記ターゲット画像フレームと対応する充填フレームを選択して、ターゲット充填フレームを得るステップと、
    前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に所定数のターゲット充填フレームを挿入するステップと、を含む請求項1に記載の方法。
  3. 前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に所定数のターゲット充填フレームを挿入する前記ステップは、
    前記バッファキューに対応する最大バッファ数を検出するステップと、
    前記ターゲット画像フレーム及び最大バッファ数に基づき、充填数を生成するステップと、
    前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に、充填数と対応する数のターゲット充填フレームを挿入するステップと、を含む請求項2に記載の方法。
  4. 前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に、充填数と対応する数のターゲット充填フレームを挿入する前記ステップの後、
    前記ターゲット画像フレームのフレーム番号を抽出するステップと、
    フレーム番号及び前記バッファキューでの充填フレームの位置に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てるステップと、をさらに含む請求項3に記載の方法。
  5. フレーム番号及び前記バッファキューでの充填フレームの位置に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てる前記ステップは、
    前記充填フレーム情報から前記バッファキューでの充填フレームに対応するオフセット量を抽出するステップと、
    フレーム番号、前記バッファキューでの充填フレームの位置及び前記バッファキューでの充填フレームに対応するオフセット量に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てるステップと、を含む請求項4に記載の方法。
  6. 前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、全ての画像フレームの復号がいずれも終わるまで、前記充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行する前記ステップは、
    前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得るステップと、
    前記現在の処理オブジェクトのタイプを検出するステップと、
    検出結果として前記現在の処理オブジェクトがキーフレームであることが示されたとき、前記現在の処理オブジェクトのフレーム番号を基準として、前記充填フレーム情報に基づいて前記現在の処理オブジェクトと前記現在の処理オブジェクトの次のフレームの画像フレームとの間に充填フレームを挿入するステップと、
    前記現在の処理オブジェクトがキーフレームではないことが検出されたとき、前記現在の処理オブジェクトの前のフレームに対応するフレーム番号に基づき、前記現在の処理オブジェクトのフレーム番号を調整し、前記充填フレーム情報に基づいて前記現在の処理オブジェクトと前記現在の処理オブジェクトの次のフレームの画像フレームとの間に充填フレームを挿入するステップと、
    全ての画像フレームの復号がいずれも終わるまで、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得るステップを実行するステップと、を含む請求項1~5のいずれか1項に記載の方法。
  7. 前記画像フレームセットをフレームごとにデコーダのバッファキューに入力し、前記バッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定する前記ステップは、
    現在レンダリングされている前記処理対象の画像シーケンスのキーフレームを取得して、ターゲットキーフレームを得るステップと、
    前記画像フレームセットで前記ターゲットキーフレームの次のフレームの画像フレームがターゲット画像フレームであることを決定するステップと、
    前記ターゲット画像フレームをバッファキューの一番目に保存するステップと、を含む請求項1~5のいずれか1項に記載の方法。
  8. 画像処理装置であって、
    サーバから送信された充填フレーム情報及び処理対象の画像シーケンスの画像フレームセットを受信することに用いられる受信モジュールであって、前記充填フレーム情報は前記サーバによって前記画像フレームセットに基づき生成される、受信モジュールと、
    前記画像フレームセットをフレームごとにデコーダのバッファキューに入力し、バッファキューの一番目にある現在の画像フレームがターゲット画像フレームであることを決定することに用いられる決定モジュールであって、であって、前記バッファキューは画像フレームを先入れ先出しの順序に応じてバッファすることに用いられる、決定モジュールと、
    前記充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入することに用いられる挿入モジュールであって、前記ターゲット画像フレームに続いて、前記バッファキューの最大バッファ数に達するまでターゲット充填フレームを挿入する、挿入モジュールと、
    前記バッファキューの最大バッファ数に達するまでターゲット充填フレームが挿入されたことに応答して前記ターゲット画像フレームの復号が開始され、前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとし、前記画像フレームセットにおける全ての画像フレームの復号がいずれも終わるまで、前記充填フレーム情報に基づいて前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填フレームを挿入するステップを実行することに用いられる検出モジュールと、
    復号後の画像フレームを処理し、処理結果を表示することに用いられる処理モジュールと、を含む画像処理装置。
  9. 前記挿入モジュールは、
    前記充填フレーム情報からサーバによって前記画像フレームセットに基づき生成された充填フレームセットを抽出することに用いられる第1抽出ユニットと、
    前記充填フレームセット中の前記ターゲット画像フレームと対応する充填フレームを選択して、ターゲット充填フレームを得ることに用いられる選択ユニットと、
    前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に所定数のターゲット充填フレームを挿入することに用いられる挿入ユニットと、を含む請求項8に記載の画像処理装置。
  10. 前記挿入ユニットはさらに、
    前記バッファキューに対応する最大バッファ数を検出し、前記ターゲット画像フレーム及び前記最大バッファ数に基づき、充填数を生成し、前記ターゲット画像フレームと前記ターゲット画像フレームの次のフレームの画像フレームとの間に充填数と対応する数のターゲット充填フレームを挿入することに用いられる請求項9に記載の画像処理装置。
  11. 値割り当てモジュールをさらに含み、
    前記値割り当てモジュールは、
    前記ターゲット画像フレームのフレーム番号を抽出することに用いられる第2抽出ユニットと、
    フレーム番号及び前記バッファキューでの充填フレームの位置に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てることに用いられる値割り当てユニットと、を含む請求項10に記載の画像処理装置。
  12. 前記値割り当てユニットはさらに、
    前記充填フレーム情報から前記バッファキューでの充填フレームに対応するオフセット量を抽出し、フレーム番号、前記バッファキューでの充填フレームの位置及び前記バッファキューでの充填フレームに対応するオフセット量に基づいて、前記バッファキューにおける充填フレームのフレーム番号に値を割り当てることに用いられる請求項11に記載の画像処理装置。
  13. 前記検出モジュールはさらに、
    前記ターゲット画像フレームの復号が完了したことが検出されたとき、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得ることと、
    前記現在の処理オブジェクトのタイプを検出することと、
    検出結果として前記現在の処理オブジェクトがキーフレームであることが示されたとき、前記現在の処理オブジェクトのフレーム番号を基準として、前記充填フレーム情報に基づいて前記現在の処理オブジェクトと前記現在の処理オブジェクトの次のフレームの画像フレームとの間に充填フレームを挿入することと、
    前記現在の処理オブジェクトがキーフレームではないことが検出されたとき、前記現在の処理オブジェクトの前のフレームに対応するフレーム番号に基づき、前記現在の処理オブジェクトのフレーム番号を調整し、前記充填フレーム情報に基づいて前記現在の処理オブジェクトと前記現在の処理オブジェクトの次のフレームの画像フレームとの間に充填フレームを挿入することと、
    全ての画像フレームの復号がいずれも終わるまで、前記ターゲット画像フレームの次のフレームの画像フレームを新たなターゲット画像フレームとして、現在の処理オブジェクトを得るステップを実行することと、に用いられる請求項8~12のいずれか1項に記載の画像処理装置。
  14. 電子機器であって、メモリと、プロセッサと、メモリに記憶され、プロセッサで動作し得るコンピュータプログラムと、を含み、前記プロセッサは前記コンピュータプログラムを実行したとき、請求項1~7のいずれか1項に記載の画像処理方法を実施する電子機器。
  15. コンピュータプログラムであって、プロセッサにより実行されたとき、請求項1~7のいずれか1項に記載の画像処理方法を実施するコンピュータプログラム。
JP2022552630A 2020-07-01 2021-05-21 画像処理方法、装置、電子機器及びコンピュータプログラム Active JP7471725B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010626281.7 2020-07-01
CN202010626281.7A CN111901666B (zh) 2020-07-01 2020-07-01 图像处理方法、装置、电子设备以及存储介质
PCT/CN2021/095054 WO2022001469A1 (zh) 2020-07-01 2021-05-21 图像处理方法、装置、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
JP2023517003A JP2023517003A (ja) 2023-04-21
JP7471725B2 true JP7471725B2 (ja) 2024-04-22

Family

ID=73192864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022552630A Active JP7471725B2 (ja) 2020-07-01 2021-05-21 画像処理方法、装置、電子機器及びコンピュータプログラム

Country Status (5)

Country Link
US (1) US20220254069A1 (ja)
EP (1) EP4044608A4 (ja)
JP (1) JP7471725B2 (ja)
CN (1) CN111901666B (ja)
WO (1) WO2022001469A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901666B (zh) * 2020-07-01 2021-05-11 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备以及存储介质
CN112422873B (zh) * 2020-11-30 2022-09-16 Oppo(重庆)智能科技有限公司 插帧方法、装置、电子设备及存储介质
CN113240577B (zh) * 2021-05-13 2024-03-15 北京达佳互联信息技术有限公司 一种图像生成方法、装置、电子设备及存储介质
CN115278308B (zh) * 2022-07-28 2023-12-01 北京字跳网络技术有限公司 媒体流处理方法、装置、设备及存储介质
CN116962714A (zh) * 2023-01-12 2023-10-27 腾讯科技(深圳)有限公司 视频解码方法、装置、电子设备及计算机可读存储介质
CN117150059B (zh) * 2023-10-27 2024-02-13 湖南视觉伟业智能科技有限公司 一种基于nvr设备的碎片化图像数据存储方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071639A8 (en) 2001-03-05 2003-10-30 Intervideo Inc Systems and methods for error resilient encoding
US20050152457A1 (en) 2003-09-07 2005-07-14 Microsoft Corporation Signaling and repeat padding for skip frames
US20100278268A1 (en) 2007-12-18 2010-11-04 Chung-Ku Lee Method and device for video coding and decoding
CN103780908A (zh) 2014-02-25 2014-05-07 成都佳发安泰科技股份有限公司 一种高效的h264解码方法
JP2016059015A (ja) 2014-09-12 2016-04-21 株式会社東芝 画像出力装置
WO2018195405A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for game-generated motion vectors
CN111901666A (zh) 2020-07-01 2020-11-06 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备以及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822123B2 (en) * 2004-10-06 2010-10-26 Microsoft Corporation Efficient repeat padding for hybrid video sequence with arbitrary video resolution
US8879635B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
US8218640B2 (en) * 2006-10-31 2012-07-10 Sony Computer Entertainment Inc. Picture decoding using same-picture reference for pixel reconstruction
US9179144B2 (en) * 2012-11-28 2015-11-03 Cisco Technology, Inc. Fast switching hybrid video decoder
CN104113778B (zh) * 2014-08-01 2018-04-03 广州猎豹网络科技有限公司 一种视频流解码方法及装置
CN104113777B (zh) * 2014-08-01 2018-06-05 广州猎豹网络科技有限公司 一种音频流解码方法及装置
CN110366033B (zh) * 2019-07-17 2021-10-22 腾讯科技(深圳)有限公司 一种视频播放方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002071639A8 (en) 2001-03-05 2003-10-30 Intervideo Inc Systems and methods for error resilient encoding
US20050152457A1 (en) 2003-09-07 2005-07-14 Microsoft Corporation Signaling and repeat padding for skip frames
US20100278268A1 (en) 2007-12-18 2010-11-04 Chung-Ku Lee Method and device for video coding and decoding
CN103780908A (zh) 2014-02-25 2014-05-07 成都佳发安泰科技股份有限公司 一种高效的h264解码方法
JP2016059015A (ja) 2014-09-12 2016-04-21 株式会社東芝 画像出力装置
WO2018195405A1 (en) 2017-04-21 2018-10-25 Zenimax Media Inc. Systems and methods for game-generated motion vectors
CN111901666A (zh) 2020-07-01 2020-11-06 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
JP2023517003A (ja) 2023-04-21
CN111901666A (zh) 2020-11-06
CN111901666B (zh) 2021-05-11
WO2022001469A1 (zh) 2022-01-06
EP4044608A4 (en) 2023-01-04
EP4044608A1 (en) 2022-08-17
US20220254069A1 (en) 2022-08-11

Similar Documents

Publication Publication Date Title
JP7471725B2 (ja) 画像処理方法、装置、電子機器及びコンピュータプログラム
US9699518B2 (en) Information processing apparatus, information processing system, recording medium, and method for transmission and reception of moving image data
CN112073737B (zh) 在直播视频流应用中重新编码预测的图像帧
JP2023126928A (ja) マルチラインイントラ予測に対するmpmリスト生成を実現するための方法、装置、及びコンピュータプログラム
CN112533059B (zh) 图像渲染方法、装置、电子设备以及存储介质
CN116614645B (zh) 视频流的编码方法和设备
JP7068481B2 (ja) 復号化のための方法、装置及びコンピュータプログラム
KR101034966B1 (ko) 3차원 그래픽을 2차원 비디오로 인코딩하는 방법과 그래픽-비디오 인코더
CN115068933A (zh) 带集成nic和共享帧缓冲器访问以实现低时延的gpu
JP2022512109A (ja) ビデオ復号及び符号化の方法、装置並びにプログラム
TW201834454A (zh) 重組影像檔案的方法
CN103929682B (zh) 一种在视频直播系统中设置关键帧的方法及装置
CN102006445A (zh) 图像编辑装置及搭载其的摄像装置、图像再生装置及搭载其的摄像装置
JP6483850B2 (ja) データ処理方法および装置
US20210400334A1 (en) Method and apparatus for loop-playing video content
JP2010011287A (ja) 映像伝送方法および端末装置
JP6119765B2 (ja) 情報処理装置、情報処理システム、情報処理プログラム、及び動画データ送受信方法
JP2009135666A (ja) データトランスコード装置、電子機器、データトランスコード方法、及びプログラム
RU2775391C1 (ru) Разбиение на тайлы и подизображения
JP7304419B2 (ja) 送信装置、送信方法及びプログラム
KR20150006465A (ko) 비디오 스트림들의 비용-효율적이고 저-레이턴시 인코딩을 가능하게 하기 위한 메커니즘
JP2023507317A (ja) Mpd有効期限処理モデル
CN102892000B (zh) 一种视频文件压缩及播放的方法
WO2022234575A1 (en) System and method for dynamic video compression
CN104702970A (zh) 一种同步视频数据的方法、设备及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220901

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240130

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240404

R150 Certificate of patent or registration of utility model

Ref document number: 7471725

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150