(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177589
(43)【公開日】2024-12-19
(54)【発明の名称】画像データブロックの符号化方法、画像データ符号化器および非一時的コンピュータ読み取り可能媒体
(51)【国際特許分類】
H04N 19/115 20140101AFI20241212BHJP
H04N 19/167 20140101ALI20241212BHJP
H04N 19/176 20140101ALI20241212BHJP
【FI】
H04N19/115
H04N19/167
H04N19/176
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2024179210
(22)【出願日】2024-10-11
(62)【分割の表示】P 2019141070の分割
【原出願日】2019-07-31
(31)【優先権主張番号】62/713,464
(32)【優先日】2018-08-01
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/784,346
(32)【優先日】2018-12-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/290,598
(32)【優先日】2019-03-01
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】512187343
【氏名又は名称】三星ディスプレイ株式會社
【氏名又は名称原語表記】Samsung Display Co.,Ltd.
【住所又は居所原語表記】1, Samsung-ro, Giheung-gu, Yongin-si, Gyeonggi-do, Republic of Korea
(74)【代理人】
【識別番号】110002619
【氏名又は名称】弁理士法人PORT
(72)【発明者】
【氏名】チルマライ ビザヤラックハバン
(72)【発明者】
【氏名】カマリ ジャリール
(57)【要約】
【課題】表示ストリーム技術を向上させることができる符号化器を提供する。
【解決手段】
本発明の一実施例による符号化方法は、符号化器を用いて画像を示す画像データブロックを符号化する方法であって、前記符号化器によって、前記画像の第1領域と前記画像の第2領域を定義する段階と、前記符号化器によって、基本ビットを含む第1ビット数を前記第1領域の符号化に割り当て、基本ビットと強化ビットを含む第2ビット数を前記第2領域の符号化に割り当てる段階と、を含み、前記第1領域の第1画素数と前記第2領域の第2画素数の合計は前記画像の総画素数と同一であり、前記第1ビット数と前記第2ビット数の合計は全ての画素を符号化するための総ビット数と同一であり、前記第2領域は前記第1領域より大きい画素当りのビット数で符号化する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
符号化器を用いて画像を示す画像データブロックを符号化する方法であって、
前記符号化器によって、前記画像の第1領域と前記画像の第2領域を定義する段階と、
前記符号化器によって、基本ビットを含む第1ビット数を前記第1領域の符号化に割り当て、基本ビットと強化ビットを含む第2ビット数を前記第2領域の符号化に割り当てる段階と
を含み、
前記第1領域の第1画素数と前記第2領域の第2画素数の合計は前記画像の総画素数と同一であり、
前記第1ビット数と前記第2ビット数の合計は全ての画素を符号化するための総ビット数と同一であり、
前記第2領域は前記第1領域より大きい画素当りのビット数で符号化する、
符号化方法。
【請求項2】
前記第2領域は表示装置上で前記画像を見る使用者の視線固定点に対応する高解像度領域を含み、
前記第1領域は前記視線固定点の外側にある低解像度領域を含む、
請求項1に記載の符号化方法。
【請求項3】
前記符号化器によって、前記画像の第3領域を定義する段階をさらに含み、
前記第3領域は前記第1領域より大きい画素当りのビット数で符号化し、前記第2領域より小さい画素当りのビット数で符号化する、
請求項1に記載の符号化方法。
【請求項4】
前記符号化器によって、ブロック当りの画素数を求める段階と、
前記符号化器によって、前記画像の現在ブロックを受信する段階と、
前記符号化器によって、前記現在ブロックの量子化パラメータを決定する段階と、
前記符号化器によって、前記現在ブロックを前記量子化パラメータで符号化する段階と、
前記符号化器によって、符号化される前記画像の残りの画素数を更新する段階と、
前記符号化器によって、前記残りの画素の符号化のための残りのビット数を更新する段階と
をさらに含む、請求項3に記載の符号化方法。
【請求項5】
前記符号化器によって、符号化される前記画像の前記残りの画素数、前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数、および符号化される前記第2領域の残りの画素数に基づいてブロック当りの割り当てられた基本ビット数を決定する段階をさらに含む、請求項4に記載の符号化方法。
【請求項6】
前記現在ブロックが前記第2領域に属する場合、前記符号化器によって、前記第2領域画素数およびブロック当りの強化ビット数に基づいて、前記現在ブロックの符号化に使用可能な残りの強化ビット数を計算する段階をさらに含み、
前記ブロック当りの強化ビット数は前記第2領域のブロック当りの目標ビットと前記第1領域のブロック当りの目標ビットとの差を示す、
請求項5に記載の符号化方法。
【請求項7】
前記符号化器によって、前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数と前記残りの強化ビット数との差を計算する段階と、
前記符号化器によって、前記画像の前記残りの画素数および前記差に基づいて前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数を計算する段階と、
をさらに含む、請求項6に記載の符号化方法。
【請求項8】
前記符号化器によって、前記画像の前記現在ブロックが前記第2領域内であれば、前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数と前記ブロック当りの強化ビット数の合計に基づいて前記現在ブロックの符号化のためのブロック当りの割り当てられた総ビット数を計算する段階をさらに含む、請求項7に記載の符号化方法。
【請求項9】
前記現在ブロックの前記量子化パラメータは、前記現在ブロック直前に符号化されたブロックの量子化パラメータ、前記現在ブロックの直前のブロックを符号化することに用いたビット数、および前記現在ブロックに割り当てられたビット数に基づいて決定し、
前記画像の前記現在ブロックが前記第1領域内であれば、前記現在ブロックに割り当てられたビット数は前記第1領域のブロック当りの割り当てられた基本ビットであり、
前記画像の前記現在ブロックが前記第2領域内であれば、前記現在ブロックに割り当てられたビット数は、前記第2領域のブロック当りの割り当てられた総ビット数である、
請求項8に記載の符号化方法。
【請求項10】
画像データをバッファリングするメモリと、
前記メモリを制御するプロセッサーと、
を含み、
前記プロセッサーは、
前記画像の第1領域と前記画像の第2領域を定義し、
符号化器によって、基本ビットを含む第1ビット数を前記第1領域の符号化に割り当て、基本ビットと強化ビットを含む第2ビット数を前記第2領域の符号化に割り当て、
前記第1領域の第1画素数と前記第2領域の第2画素数の合計は前記画像の総画素数と同一であり、
前記第1ビット数と前記第2ビット数の合計は全ての画素を符号化するための総ビット数と同一であり、
前記第2領域は前記第1領域より大きい画素当りのビット数で符号化される、
画像データ符号化器。
【請求項11】
前記第2領域は表示装置上で前記画像を見る使用者の視線固定点に対応する高解像度領域を含み、
前記第1領域は前記視線固定点の外側にある低解像度領域を含む、
請求項10に記載の画像データ符号化器。
【請求項12】
前記プロセッサーは前記画像の第3領域を定義し、
前記第3領域は前記第1領域より大きい画素当りのビット数で符号化され、前記第2領域より小さい画素当りのビット数で符号化される、
請求項10に記載の画像データ符号化器。
【請求項13】
前記プロセッサーは、ブロック当りの画素数を求め、
前記画像の現在ブロックを受信し、
前記現在ブロックの量子化パラメータを決定し、
前記現在ブロックを前記量子化パラメータで符号化し、
符号化される前記画像の残りの画素数を更新し、
前記残りの画素の符号化のための残りのビット数を更新する、
請求項12に記載の画像データ符号化器。
【請求項14】
前記プロセッサーは、符号化される前記画像の前記残りの画素数、前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数、そして符号化される前記第2領域の残りの画素数に基づいてブロック当りの割り当てられた基本ビット数を決定する、請求項13に記載の画像データ符号化器。
【請求項15】
前記プロセッサーは、前記現在ブロックが前記第2領域に属する場合、前記第2領域画素数およびブロック当りの強化ビット数に基づいて、前記現在ブロックの符号化に使用可能な残りの強化ビット数を計算し、
前記ブロック当りの強化ビット数は前記第2領域のブロック当りの目標ビットと前記第1領域のブロック当りの目標ビットとの差を示す、
請求項14に記載の画像データ符号化器。
【請求項16】
前記プロセッサーは、
前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数と前記残りの強化ビット数との差を計算し、
前記画像の前記残りの画素数および前記差に基づいて前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数を計算する、
請求項15に記載の画像データ符号化器。
【請求項17】
前記プロセッサーは、前記画像の前記現在ブロックが前記第2領域内であれば、前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数と前記ブロック当りの強化ビット数の合計に基づいて前記現在ブロックの符号化のためのブロック当りの割り当てられた総ビット数を計算する、
請求項16に記載の画像データ符号化器。
【請求項18】
前記現在ブロックの前記量子化パラメータは前記現在ブロック直前に符号化されたブロックの量子化パラメータ、前記現在ブロックの直前のブロックを符号化することに用いたビット数、そして前記現在ブロックに割り当てられたビット数に基づいて決定し、
前記画像の前記現在ブロックが前記第1領域内であれば、前記現在ブロックに割り当てられたビット数は前記第1領域のブロック当りの割り当てられた基本ビットであり、
前記画像の前記現在ブロックが前記第2領域内であれば、前記現在ブロックに割り当てられたビット数は前記第2領域のブロック当りの割り当てられた総ビット数である、
請求項17に記載の画像データ符号化器。
【請求項19】
画像データを符号化し、前記画像データをバッファリングするメモリと前記メモリを制御するプロセッサーを含む画像データ符号化器のための非一時的コンピュータ読み取り可能媒体であって、
前記プロセッサーにより遂行されると画像データ符号化方法を遂行することをコンピュータに実行させるためのプログラムであって、
前記画像データ符号化方法は、
前記画像の第1領域と前記画像の第2領域を定義する段階と、
基本ビットを含む第1ビット数を前記第1領域の符号化に割り当て、基本ビットと強化ビットを含む第2ビット数を前記第2領域の符号化に割り当てる段階と
を含み、
前記第1領域の第1画素数と前記第2領域の第2画素数の合計は前記画像の総画素数と同一であり、
前記第1ビット数と前記第2ビット数の合計は全ての画素を符号化するための総ビット数と同一であり、
前記第2領域は前記第1領域より大きい画素当りのビット数で符号化されることをコンピュータに実行させるためのプログラムを記録した、
コンピュータ読み取り可能な記録媒体。
【請求項20】
前記画像データ符号化方法は、前記画像の第3領域を定義する段階をさらに含み、
前記第3領域は前記第1領域より大きい画素当りのビット数で符号化され、前記第2領域より小さい画素当りのビット数で符号化されることをコンピュータに実行させるためのプログラムを記録した、請求項19に記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示圧縮に関し、特に画像データを符号化する方法、これを遂行する符号化器および非一時的コンピュータ読み取り可能媒体に関する。
【0002】
本出願は、2018年8月1日に米国特許庁に出願した米国特許出願番号第62/713,464号を優先権主張し、ここに引用することによってこの出願の全体内容を本願に含む。
【背景技術】
【0003】
表示装置技術が発達することに伴い、表示装置の画像を生成するデータの解像度が大幅に改善された。表示装置技術と関連した画素帯域幅が持続的に増加することによって、特にモバイル表示装置と仮想現実(virtual reality:VR)表示装置の場合、VESA(Video Electronics Standard Association)はDSC(Display Stream Compression)に比べて計算が複雑でありながらも、高い圧縮率を支援する表示ストリームコーデック(display stream codec)用CfT(Call for Technologies)を発表した。
【0004】
表示圧縮(display compression)は、より高い解像度データを既存の表示リンク帯域幅(例:VESAが規格化したDSCおよびVDC-M)を通じて伝送できるようにする。VESAによって、いわゆるVDC-M(VESA Display Codec for Mobile)というモバイル/スマートフォン表示装置用の新しい表示インターフェース圧縮規格が開発された。VDC-Mは、新しい表示圧縮規格として、DSC(Display Stream Compression)規格と同一の視覚情報損失がない品質を維持しながらも、DSC規格より高い圧縮率を目標とし、このようにするためには難易度が高まる。
【0005】
画像/映像(image/video)規格(例:JPEG2000およびHEVC規格)に比べて表示圧縮符号化器(coders/encoders)(例:DSC、VDC-M)は一般に軽く、視覚的損失がない性能を発揮する。DSCおよびVDC-Mは、固定比率(fixed rate)符号化器であり、24ビット色源(color source)に対して各々画素当りの8ビットと6ビットまで圧縮率を低めることができる。例えば、VDC-Mは、固定比率表示ストリームコーデックであり、これによって固定ビットレートを有し、RGB 4:4:4源(source)に対して画素当りの6ビットまで圧縮率を低めることができる。VDC-Mは、8×2画素ブロックを有するブロック基盤コーデックである。
【0006】
VRヘッドセットの視野(field of view:FOV)は、例えば、水平および垂直方向にそれぞれ150度および135度程度である。しかし、人間の目の固有特性により人間は150×135度の全体視野を均一に感知することができない。
【0007】
例えば、人間の目の網膜にある小さい陥没部を黄斑(fovea)といい、そこが視覚的に最も敏感である。網膜錐状体が特にこの部分に密集しているため、人間の目の視野中心がこの部分に焦点が当てられている。したがって、人間知覚が最も良い(または解像度が最も高い)領域は黄斑で覆われた領域に該当する。黄斑に対応する視野はほぼ+/-3度程度であろう。
【0008】
本背景技術で説明した内容は、本発明の実施例に対する理解を助けるためのものに過ぎず、本発明を実現する過程で得た技術的な情報を含むことができる。したがって、前述した内容中で従来技術でない部分があり得る。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明が解決しようとする課題は、一般に表示装置技術を向上することにあり、特に表示ストリーム圧縮を向上させることによって例えば仮想現実技術を向上することにある。
【課題を解決するための手段】
【0010】
本発明の一実施例による符号化方法は、符号化器を用いて画像を示す画像データブロックを符号化する方法であって、前記符号化器によって、前記画像の第1領域と前記画像の第2領域を定義する段階、そして前記符号化器によって、基本ビットを含む第1ビット数を前記第1領域の符号化に割り当て、基本ビットと強化ビットを含む第2ビット数を前記第2領域の符号化に割り当てる段階を含み、前記第1領域の第1画素数と前記第2領域の第2画素数の合計は前記画像の総画素数と同一であり、前記第1ビット数と前記第2ビット数の合計は全ての画素を符号化するための総ビット数と同一であり、前記第2領域は前記第1領域より大きい画素当りのビット数で符号化する。
【0011】
前記第2領域は表示装置上で前記画像を見る使用者の視線固定点に対応する高解像度領域を含み、前記第1領域は前記視線固定点の外側にある低解像度領域を含むことができる。
【0012】
前記符号化器によって、前記画像の第3領域を定義する段階をさらに含み、前記第3領域は前記第1領域より大きい画素当りのビット数で符号化し、前記第2領域より小さい画素当りのビット数で符号化することができる。
【0013】
前記符号化器によって、ブロック当りの画素数を求める段階、前記符号化器によって、前記画像の現在ブロックを受信する段階、前記符号化器によって、前記現在ブロックの量子化パラメータを決定する段階、前記符号化器によって、前記現在ブロックを前記量子化パラメータで符号化する段階、前記符号化器によって、符号化される前記画像の残りの画素数を更新する段階、そして前記符号化器によって、前記残りの画素の符号化のための残りのビット数を更新する段階をさらに含むことができる。
【0014】
前記符号化器によって、符号化される前記画像の前記残りの画素数、前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数、そして符号化される前記第2領域の残りの画素数に基づいてブロック当りの割り当てられた基本ビット数を決定する段階をさらに含むことができる。
【0015】
前記現在ブロックが前記第2領域に属する場合、前記符号化器によって、前記第2領域画素数およびブロック当りの強化ビット数に基づいて、前記現在ブロックの符号化に使用可能な残りの強化ビット数を計算する段階をさらに含み、前記ブロック当りの強化ビット数は前記第2領域のブロック当りの目標ビットと前記第1領域のブロック当りの目標ビットとの差を示すことができる。
【0016】
前記符号化器によって、前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数と前記残りの強化ビット数との差を計算する段階、そして前記符号化器によって、前記画像の前記残りの画素数および前記差に基づいて前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数を計算する段階をさらに含むことができる。
【0017】
前記符号化器によって、前記画像の前記現在ブロックが前記第2領域内であれば、前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数と前記ブロック当りの強化ビット数の合計に基づいて前記現在ブロックの符号化のためのブロック当りの割り当てられた総ビット数を計算する段階をさらに含むことができる。
【0018】
前記現在ブロックの前記量子化パラメータは、前記現在ブロック直前に符号化されたブロックの量子化パラメータ、前記現在ブロックの直前ブロックを符号化することに用いたビット数、そして前記現在ブロックに割り当てられたビット数に基づいて決定し、前記画像の前記現在ブロックが前記第1領域内であれば、前記現在ブロックに割り当てられたビット数は前記第1領域のブロック当りの割り当てられた基本ビットであり、前記画像の前記現在ブロックが前記第2領域内であれば、前記現在ブロックに割り当てられたビット数は前記第2領域のブロック当りの割り当てられた総ビット数でありうる。
【0019】
本発明の他の実施例による画像データ符号化器は、画像データをバッファリングするメモリ、そして前記メモリを制御するプロセッサーを含み、前記プロセッサーは、前記画像の第1領域と前記画像の第2領域を定義し、前記符号化器によって、基本ビットを含む第1ビット数を前記第1領域の符号化に割り当て、基本ビットと強化ビットを含む第2ビット数を前記第2領域の符号化に割り当て、前記第1領域の第1画素数と前記第2領域の第2画素数の合計は前記画像の総画素数と同一であり、前記第1ビット数と前記第2ビット数の合計は全ての画素を符号化するための総ビット数と同一であり、前記第2領域は前記第1領域より大きい画素当りのビット数で符号化される。
【0020】
前記第2領域は表示装置上で前記画像を見る使用者の視線固定点に対応する高解像度領域を含み、前記第1領域は前記視線固定点の外側にある低解像度領域を含むことができる。
【0021】
前記プロセッサーは前記画像の第3領域を定義し、前記第3領域は前記第1領域より大きい画素当りのビット数で符号化され、前記第2領域より小さい画素当りのビット数で符号化されてもよい。
【0022】
前記プロセッサーは、ブロック当りの画素数を求め、前記画像の現在ブロックを受信し、前記現在ブロックの量子化パラメータを決定し、前記現在ブロックを前記量子化パラメータで符号化し、符号化される前記画像の残りの画素数を更新し、前記残りの画素の符号化のための残りのビット数を更新することができる。
【0023】
前記プロセッサーは、符号化される前記画像の前記残りの画素数、前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数、そして符号化される前記第2領域の残りの画素数に基づいてブロック当りの割り当てられた基本ビット数を決定することができる。
【0024】
前記プロセッサーは、前記現在ブロックが前記第2領域に属する場合、前記第2領域画素数およびブロック当りの強化ビット数に基づいて、前記現在ブロックの符号化に使用可能な残りの強化ビット数を計算し、前記ブロック当りの強化ビット数は前記第2領域のブロック当りの目標ビットと前記第1領域のブロック当りの目標ビットとの差を示すことができる。
【0025】
前記プロセッサーは、前記画像の前記残りの画素の符号化に使用可能な前記残りのビット数と前記残りの強化ビット数との差を計算し、前記画像の前記残りの画素数および前記差に基づいて前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数を計算することができる。
【0026】
前記プロセッサーは、前記画像の前記現在ブロックが前記第2領域内であれば、前記第1領域および前記第2領域のブロック当りの割り当てられた基本ビット数と前記ブロック当りの強化ビット数の合計に基づいて前記現在ブロックの符号化のためのブロック当りの割り当てられた総ビット数を計算することができる。
【0027】
前記現在ブロックの前記量子化パラメータは前記現在ブロック直前に符号化されたブロックの量子化パラメータ、前記現在ブロックの直前ブロックを符号化することに用いたビット数、そして前記現在ブロックに割り当てられたビット数に基づいて決定し、前記画像の前記現在ブロックが前記第1領域内であれば、前記現在ブロックに割り当てられたビット数は前記第1領域のブロック当りの割り当てられた基本ビットであり、前記画像の前記現在ブロックが前記第2領域内であれば、前記現在ブロックに割り当てられたビット数は前記第2領域のブロック当りの割り当てられた総ビット数でありうる。
【0028】
本発明の他の実施例による非一時的コンピュータ読み取り可能媒体は、画像データを符号化し、前記画像データをバッファリングするメモリと前記メモリを制御するプロセッサーを含む画像データ符号化器のための非一時的コンピュータ読み取り可能媒体であって、前記プロセッサーにより遂行されると画像データ符号化方法を遂行するインストラクションが保存されており、前記画像データ符号化方法は、前記画像の第1領域と前記画像の第2領域を定義する段階、そして基本ビットを含む第1ビット数を前記第1領域の符号化に割り当て、基本ビットと強化ビットを含む第2ビット数を前記第2領域の符号化に割り当てる段階を含み、前記第1領域の第1画素数と前記第2領域の第2画素数の合計は前記画像の総画素数と同一であり、前記第1ビット数と前記第2ビット数の合計は全ての画素を符号化するための総ビット数と同一であり、前記第2領域は前記第1領域より大きい画素当りのビット数で符号化される。
【0029】
前記画像データ符号化方法は、前記画像の第3領域を定義する段階をさらに含み、前記第3領域は前記第1領域より大きい画素当りのビット数で符号化され、前記第2領域より小さい画素当りのビット数で符号化されてもよい。
【発明の効果】
【0030】
したがって、本発明の実施例によるコーデックまたは符号化器は、互いに異なる解像度領域を定め、該当する領域により画像ブロックにビットを異なるように割り当て、ブロック符号化後に使用可能な残りを更新することによって画像データ圧縮方法を向上させることができる。
【図面の簡単な説明】
【0031】
【
図1】本発明の一実施例による互いに異なる解像度を有する互いに異なる解像度領域を含む画像の例を示したものである。
【
図2】本発明の一実施例による表示ストリームの圧縮過程で多様なビット数をブロックに割り当てる方法を示したフローチャートである。
【
図3】本発明の一実施例による互いに異なる解像度領域を有する画像と多重解像度明暗法の概念図を示す。
【
図4】本発明の一実施例による表示ストリームの圧縮過程で多様な解像度領域のブロックに多様なビット数を割り当てる方法を示したフローチャートである。
【
図5】本発明の一実施例により互いに異なる解像度を有する4個の解像度領域を有する表示装置の画像を示す。
【
図6】本発明の一実施例による表示ストリームの圧縮過程で多様な解像度領域の複数のブロック(つまり、3以上の領域)に多様なビット数を割り当てる方法を示したフローチャートである。
【発明を実施するための形態】
【0032】
前述したように、人間の目の知覚が視野の中心からから外縁に至るまで均一なものではない。帯域幅を減らすためには、表示される画像データが使用者に如何に認知されるのかにより画像データを圧縮することが有用である。つまり、帯域幅を減らすためには、画像の中心に対応する画像データより外縁に対応する画像データを圧縮することが有用である。
【0033】
また、表示画面の表示解像度が持続的に高まるが、データを機器プロセッサー(application processor)から表示装置に運搬する内部リンクの帯域幅は同一の比率で増えなかった。
【0034】
したがって、例えば仮想現実ヘッドセットのような機器の表示画面に互いに異なる水準の解像度を有する領域を実現することによってシステムを向上させることに有用である。
【0035】
図1は、本発明の一実施例による互いに異なる解像度を有する互いに異なる解像度領域を含む画像の例を示したものである。
【0036】
図1を参照すると、例えば仮想現実ヘッドセットの表示装置のような表示装置の画像100が図示されている。画像100はN×M(N、Mは整数)画素を含むことができる。ここで「画像(image)」という表現を使用しているが、この表現は「映像スライス(slice of an image)」(または映像の一部)にも同一に使用可能であることを理解できる。つまり、ここでは映像を圧縮すると説明しているが、当該説明は映像スライスを圧縮することにも使用可能であることを理解できるはずである。
【0037】
本発明の実施例では、表示される画像100に対して多重解像度明暗法(multi-resolution shading)を用いて人間知覚を反映する。つまり、画像100は多重解像度明暗法を実現して人間の視野に対応する人間知覚の差を反映する。したがって、人間の視力が視野の全領域にわたって均一ではないため、視覚的品質も画像100全体にわたって均一ではない。
【0038】
例えば、人間知覚が非常に敏感なところに対応する領域(例えば、人間の目の黄斑に該当する表示装置の領域)内の画像100の高解像度領域110に、より高い解像度を使用することができる。一例を挙げると、高解像度領域110は視覚的に損失のない領域でありうる[例えば、高解像度領域110は圧縮していない表示画像データまたは損失のない圧縮率で圧縮した表示画像データを表示することもできる]。また、より少なく敏感な領域に対応する表示装置画像100の低解像度領域130(例えば人間視野の外縁側領域に対応する表示装置領域)には低い解像度を使用することができる。
【0039】
表示装置画像100の高解像度領域110と低解像度領域130の間には中間解像度を有する一つまたは二つ以上の互いに異なる中間解像度領域120を設けて画像100の中心から端部に知覚が順調に移転できるようにする(例えば
図5参照)。つまり、本実施例の表示装置は高解像度領域110と低解像度領域130解像度の中間水準の解像度を有する一つの中間解像度領域120を有しているが、他の実施例ではこれに限定されない。他の実施例によれば、互いに異なる解像度水準(例えば多様な中間解像度水準)を有する複数の層または領域を設けて仮想現実ヘッドセット使用者の知覚が低解像度領域130から高解像度領域110に自然に移ることができるようにする。
【0040】
図1に示した多様な高解像度領域110、中間解像度領域120、および低解像度領域130は一例に過ぎない。他の実施例によれば、分析および試験を経て(例えば仮想現実ヘッドセットレンズで補正した後に)領域の数、位置および模様を決定することができる。例えば他の実施例によれば、
図1の画像100には高解像度、中間解像度、低解像度領域110、120、130が長方形であるが、多様な高解像度、中間解像度、低解像度領域が円形や楕円形であってもよく、不連続であってもよい。
【0041】
したがって、画像のブロックはそれらが位置する領域の解像度水準により互いに異なるように符号化されてもよく、表示装置は多重解像度明暗法に基づいて多重解像度仮想現実圧縮を使用することができる。例えば、表示装置を含む仮想現実ヘッドセット使用者の予想人間知覚敏感度水準により互いに異なる高解像度領域110、中間解像度領域120、および低解像度領域130にそれぞれのビットを割り当てることができる(例えばより高い解像度を有する領域により大きい画素当りのビット数またはブロック当りのビット数を割り当てることができる)。しかし、表示コーデックの符号化器は、一般にメモリ制限のため、画像圧縮開始前にイメージ全体を分析することができない。つまり、符号化器は一般にまだ受信していない互いに異なる画像ブロックの特性に対する事前知識を有せず、それらのブロックを受信した後に分析する。
【0042】
VDC-Mでの単一解像度比率制御の場合、総数P個の画素とその画素に割り当てられた総B個のビット数(P、Bは整数)を有する画像100があるとすれば、本発明の実施例ではブロック(例えば8×2画素ブロック)当りのビット数を如何に配分または割り当てて品質を向上させるまたは最大化するのかを次のとおり決定することができる。つまり、特定画素ブロックに他のブロックより大きいビット数が付与されるため、そして画像100圧縮を開始する前に多様なブロックにビットが如何に割り当てられるのかは一般に知らないため(例えば画像データがVDC-M符号化器などの圧縮装置に入力される時に画素ブロックが直列に圧縮されるため)、本実施例では画像圧縮が進行される時、ビットの割り当てをどのようにするのかを多重解像度明暗法により決定する方法を以下に提示する。
【0043】
(例えばそれぞれ16画素を含み、8×2画素に配列された)各画素ブロックに対して、画像[例えば
図1の画像100]の残り(remaining)または使用可能な(available)ビット「B
r」に基づいて、そして画像100の残りの画素「P
r」に基づいて「bitsAllocated」(例えばそのブロックに割り当てられたビット数、またはブロック当りの平均ビット数)を決定または計算することができる。次に提示する例では、表示ストリームの第1ブロックに対して、B
r=B、そしてP
r=Pである。そのブロックが16画素に該当すれば、各ブロックに対して割り当てられる平均ビット数は数式1のように計算することができる。
【数1】
(数式1)
【0044】
したがって、数式1によれば、残りのビットを残りの画素に均分することができる(例えば各ブロックに同一のビット数を割り当てることができる)。これは次のブロックの複雑度(complexity)を知らない場合(例えば圧縮されるブロックの圧縮率を知らない場合)には受け入れ可能な戦略、ひいては最も良い戦略でありうる。
【0045】
しかし、画像100は互いに異なる領域で多様な水準の複雑度(complexity)またはテクスチャ(texture)を有することができるため、圧縮処理が進行される時に互いに異なるブロックに割り当てられるビット数を変化させることが有用である。つまり、圧縮処理が進行する時、平均圧縮率に基づいてbitsAllocatedを調節することが有用である。
【0046】
したがって、数式1で決定したbitsAllocatedに基づいて、隣接した他の画素ブロック(例えば現在ブロックの領域に位置する以前のブロック)に対する現在画素ブロックの複雑度を推定することができる。複雑度尺度は数式2を用いて以前のブロックの量子化パラメータ値(QP:quantization parameter)(「prev Block QP」)に基づいて現在ブロックのQP値(「curBlock
QP」)を決定または計算することに用いることができる。
【数2】
(数式2)
【0047】
数式2で、δQPは現在ブロックの複雑度が隣接した以前のブロックより大きければ正数であり、現在ブロックが隣接した以前のブロックより少なく複雑であれば負数であり、現在ブロックと以前のブロックの複雑度が同一または類似していれば0でありうる。
【0048】
各ブロックに対して絶えずに複雑度を計算することによって、そしてδQPに基づいてcurBlockQPを調節することによって、画像100に割り当てられた総ビット数(「B」)を超えるビット数を使用せず、そして画像100の処理完了時の残りのビット(「Br」)を多く残さずに画像100を処理することができる。つまり、本実施例による処理の残りと関連して、数式2は過度に多いかまたは少ないビットが画像100の処理に使用されないようにすることができる。
【0049】
したがって、「curBlockQP」を計算することに使用可能な、決定されたQPにより現在ブロックに割り当てられたビット数は、残りのブロックに割り当てられた平均ビット数(例えば「bitsAllocated」)より多いかまたは少なく調節されてもよい。QPが高まることによって、画像に対応するステップの大きさ(step size)も画像歪曲と共に増加するが、対応するビットレートは減少する。
【0050】
(例えばcurBlockQPに基づいて)現在ブロックに割り当てられたビット数が一旦決定されると、現在ブロックを符号化し、現在ブロックを符号化することに使用された実際ビット数を画像100の残りのビットから引いて残りのビット数(「Br」)を更新することができる。その後、次のブロックに対して前述した第1および第2の動作を繰り返すことができる。
【0051】
上記で説明した内容を整理した
図2のフローチャートは、本発明の一実施例による表示ストリームの圧縮過程で多様なビット数をブロックに割り当てる方法を示したフローチャートである。
【0052】
図2を参照すると、段階(S210)で本実施例による符号化器は画像の残りのビット数と画像にある残りの画素数に基づいてブロック当りの割り当てられるビット数(例えばその画像に対するブロック当り平均ビット数)を(例えば数式1により)決定することができる。
【0053】
しかし、「bitsAllocated」を決定する時、2個の大きい整数の間の浮動少数点計算(floating point calculation)が伴うことがある点を有意しなければならない。また、残りの画素数(Pr)が画素ブロックを処理し、符号化することによって変化するため、「bitsAllocated」を予め計算することは非現実的でありうる。このような浮動少数点計算を避けるために、固定少数点除算器(fixed-point divider)を用いて「bitsAllocated」を計算することができる。また、固定少数点目標率近似値(fixed point target rate approximation)を決定した後に、2次LUTを用いて目標率近似値を調節することができる。これに加えて、「bitsAllocated」を計算するための割算動作を避けるためにビットシフト(bitshifting)を用いることができる。
【0054】
例えば、各画素ブロックに対して、画像または映像スライスに残っているビット数(B)と画素数(P)に基づいてブロック当りの目標ビットレート(target bit rate per block)(TR
ideal)を更新する。したがって、ブロック当り16画素があると
である。浮動少数点計算を避けるために、
のような固定少数点近似法を用いる。
【0055】
したがって、数式の分母(P)は
に変換することができる。そうすると、
であり、
に対するLUTの関数
はLUTに保存することができる。
【0056】
また、(例えば予測によって)スライスの第1行(first line of aslice:FLS)の品質が有用であるため、FLSに対するTR
0にオフセットパラメータを追加することができる。したがって、
、ここでδ
FLSは画像または映像スライスの第1行内のブロックらに余分のビットを割り当て、
=16・2=32となる。
【0057】
段階(S220)で、符号化器は少なくとも一つの隣接ブロックの量子化パラメータに基づいて符号化器が圧縮のために受信した現在ブロックの量子化パラメータを決定することができる。一実施例によれば、少なくとも一つの隣接ブロックは現在ブロック直前に符号化されたブロックである。現在ブロックの量子化パラメータは
で求める。
【0058】
段階(S230)で、符号化器は決定された現在ブロックの量子化パラメータに基づいて現在ブロックを符号化するビット数を決定することができる(例えば符号化器はcurBlockQPに基づいて現在ブロックを符号化することができる)。その後、段階(S240)で、符号化器は決定されたQPで現在ブロックを符号化することができ、当該ブロックを復号器に伝送することができる。
【0059】
段階(S250)で、符号化器は圧縮される画像の残りの画素数に基づいて画像を圧縮することに用いる残りのビット数を更新する(例えば符号化器はBrとPrを更新することができる)。
【0060】
段階(S260)で、符号化器は圧縮される次の画素ブロックを受信することができ、画像100の最後のブロックを符号化する時まで段階(S210)に戻ることができる。それ以上残ったブロックがなければ符号化器は段階(S270)で画像圧縮を終えることができる。
【0061】
従来の場合には、単一解像度圧縮に対して、VDC-M比率制御が画像の与えられた部分にあるブロックの量子化パラメータに基づいてビットを割り当てる。したがって、複雑な部分(例えばよりテクスチャのある自然画像に対応する領域など圧縮率が低い画像領域)にあるブロックにはより多くのビットが割り当てられることができ、均一または平坦な部分[例えば画像100の品質を大きく犠牲させずに高い比率で圧縮可能なコンピュータ生成領域または自然領域]にあるブロックにはより少ないビットが割り当てられる。
【0062】
これとは異なり、本実施例によれば、多重解像度圧縮の場合には、符号化器が低解像度領域130のブロックより高解像度領域110のブロックにビットをより多く割り当てることができる。例えば、中間解像度領域120および低解像度領域130にはビットを少なく割り当て、高解像度領域110にはより多くのビットを割り当てて高品質を維持することができ、低解像度領域130より中間解像度領域120にビットをより多く割り当てることができる。
【0063】
総P個の画素を有する画像100があり、符号化器が画像100を符号化することに総数B個のビット数を使用することができれば、本発明の実施例では互いに異なる高解像度領域110、中間解像度領域120、および低解像度領域130に対する品質差に基づいて現在画素ブロックに使用可能なビットを適切に互いに異なるように割り当てることができ、一つ以上の高解像度領域110、中間解像度領域120、および低解像度領域130内での複雑度差に基づいてそのように割り当てることもできる。
【0064】
図3は、本発明の一実施例による互いに異なる解像度領域を有する画像と多重解像度明暗法の概念を示す。
【0065】
図3を参照すると、本実施例による多重解像度明暗法では人間知覚の差が視野の互いに異なる領域に対応するため(例えば視野の中心に対応する領域はより高い視力に対応し、視線固定領域または高解像度領域に対応することができるため)、人間知覚の差を反映することができ、それに基づいて符号化器のビットレートを選択的に配分することができる。説明を簡単にするために、本実施例の表示画像300はただ二つの互いに異なる解像度領域[例えば高解像度領域310および低解像度領域330]のみを含む。しかし、本実施例は追加的な解像度領域[例えば
図1に示した画像100の中間解像度領域120または後述する
図5に示した画像500の中間解像度領域520、525]に拡張され得る。実施例で高解像度および中間解像度領域は強化領域(enhanced regions)ともいえる。
【0066】
本実施例では、そして後述する数式に対する説明の便宜のために、低解像度領域330は「領域1」とし、高解像度領域310は「領域0」という。処理過程で、画像300のこのような領域310、330はビットマスク(bitmask)に定義されてもよいが、一つの領域はビットマスクのある値(例えば1の値)に定義され、他の領域はビットマスクの他の値(例えば0の値)に定義されてもよい。
【0067】
与えられた領域[例えば「領域i」(iは領域に対応する整数として、本実施例ではi=1または0)]に割り当てられたブロック当りのビットは「bi」である。本実施例によれば、数式3に示したように高解像度領域310(つまり、領域0)に対するブロック当りのビット数(b0)は低解像度領域330(つまり、領域1)に対するブロック当りのビット数(b1)より大きい。
b0>b1(数式3)
【0068】
領域iにある画素数は「Pi」である。画像にある画素の総数(P)は各領域にある画素数(Pi)の合計である。つまり、数式4に示したように本実施例で画像300の総画素数(P)は高解像度領域310にある画素数(P0)と低解像度領域330にある画素数(P1)の合計である。
P=P1+P0(数式4)
【0069】
これと同様に、領域iの符号化のために割り当てられたビット数はBiである。Biは領域iに対するブロック当りのビット(bi)にその領域の総画素数(Pi)をブロック当りの画素数(この例で8×2画素ブロックに対してブロック当り16)で割った値をかけたものである。これは数式5で表現することができる。
Bi=bi*(Pi/16)(数式5)
【0070】
したがって、この例で、画像300を符号化することに割り当てられた総ビット数(B)は低解像度領域330に対する総ビット数(「B1」)と高解像度領域310に対する総ビット数(「B0」)の合計である。数式4と類似する方式で、全体画像300に対する総ビット数(B)は数式6で表現することができる。
B=B1+B0(数式6)
【0071】
本実施例は高解像度領域310に対するブロック当りのビットをブロック当りの「基本ビット(base bit)」とブロック当りの「強化ビット(enhancement bits)」に区分することによって新しい解法を提示する。低解像度領域330のブロックには強化ビットが割り当てられないため、高解像度領域310にある各ブロックの基本ビットは低解像度領域330に使用可能なブロック当りのビットと同一であろう(例えばb1と同一であろう)。つまり、総ビット数(B)は全体画像[例えば領域310、330の全て]に対する基本ビットと強化領域[例えば画像300の高解像度領域310]のみのための強化ビットに区分されるだろう。
【0072】
したがって、高解像度領域310に割り当てられた総ビット数(B
0)は数式7で表現することができる。
【数7】
(数式7)
【0073】
ここで
項は基本ビットとし、二つの領域310、330の全てに対するブロック当りのビットに該当する。
項は強化ビットとし、高解像度領域310に割り当てられる。使用可能な強化ビット数は、高解像度領域310のブロックに対する「ブロック当りの強化ビット」を計算することに用いることができる。二つの領域310、330が同一のブロック当りの基本ビット数を用いるため、ブロック当りの強化ビット数は高解像度領域310のブロック当りの目標ビット数と低解像度領域330のブロック当りの目標ビット数の差[つまり、(b
0-b
1)]に該当する。一実施例によれば、ブロック当りの強化ビットは固定された数字である。
【0074】
一例を挙げると、画像300の大きさが160×160画素(つまり、P=1602)であり、高解像度領域310の大きさが32×32画素(つまり、P0=322)である場合には、前記の数式によれば、高解像度領域310のブロック当りのビットは85である[つまり、b0=85、画素当りビット(「bpp0」)=5.3125であり、画像300の各画素が8ビットを用いて表現されると仮定すれば1.5:1の圧縮率に該当する]。また、この例で、低解像度領域330に対するブロック当りのビットは16である[つまり、b1=16、そしてbpp1=1.0であり、画像300の各画素が8ビットを用いて表現されると仮定すれば、8:1の圧縮率に該当する]。
【0075】
したがって、上記の数式7を用いることによって、高解像度領域310に対する総ビット数(B0)は5,440ビットであり、これは高解像度領域310の1,024基本ビットと4,416強化ビットの合計である。また、この例で、上記の数式6によれば、全体画像300に使用可能な総ビット数は30,016ビットであり、この中25,600個の基本ビットは高解像度領域310および低解像度領域330を含む全体画像300に均等に分配され、4,416個の強化ビットは高解像度領域310にのみ使用される。
【0076】
強化ビットは不足し得るため、本実施例では符号化処理過程で残った使用可能な強化ビット数を追跡する。したがって、高解像度領域310および低解像度領域330に対するブロック当りのbitsAllocatedを次のとおり決定することができる。
【0077】
ブロック当りの割り当てられた基本ビット数は、高解像度領域310および低解像度領域330を含む全体画像300に対して決定することができる。ブロック当りの割り当てられた基本ビット数は、低解像度領域に対するビット当りの割り当てビット数[例えば後述する(bitsAllocated)
1]と同一でありうる。画像300に割り当てられた総ビット数から強化ビット
を引いた値は(例えばVDC-M単一解像度の場合と同じ方式で)全体画像300の複雑度に基づいて全体画像300に配分する。
【0078】
高解像度領域310に対しては、ブロック当りの基本ビットにブロック当りの強化ビットを加えて高解像度領域310に対してブロック当りの割り当てられた総ビット数を決定することができる(つまり、ブロック当りの基本ビットおよびブロック当りの強化ビットの全てということができる)。したがって、追加的な強化ビット(例えば基本ビットが割り当てられた後に残ったビット)は高解像度領域310に割り当てられてもよく、これは一般に画質を向上させることができる。
【0079】
本実施例による多重解像度明暗法は、強化ビット
[
]
に対する依存性により符号化される画像300内に残っている高解像度領域310の残りの画素ブロックを継続して追跡するという点でVDC-M単一解像度と区別され得る。高解像度領域310の全てのブロックが符号化されると、
=0
になる。
【0080】
本実施例によれば、符号化器は次のとおりビットを符号化することができる。
【0081】
各ブロックのbitsAllocatedは、画像300の残りのビット(つまり、数式1のB
r)に基づいて、画像300の残りの画素(つまり、数式1の
)に基づいて、そして画像300内にある高解像度領域310
の残りの画素に基づいて絶えずに更新されてもよい。したがって、各画素ブロックが8×2(つまり、ブロック当り16画素)であれば、低解像度領域330に対するブロック当りのbitsAllocated数は「(bitsAllocated)
1」と記載し、数式8で表現することができる。
【数8】
(数式8)
項は、高解像度領域310に対する総強化ビット数と類似するが、混同してはならないもので、高解像度領域310に使用可能な残りの強化ビットを示す。
であればこの項は0になる(例えばこの項は単一解像度である場合には無くなる)。
【0082】
高解像度領域310のブロックに対しては、ブロック当りの割り当てられたビット[「(bitsAllocated)
0」]を、数式9を用いて決定する。
【数9】
(数式9)
【0083】
ここで(b0-b1)は低解像度領域330のブロック当りの割り当てられたビットに対する高解像度領域310に割り当て可能なブロック当りの強化ビットを示すことができる (例えば低解像度領域330は基本ビットのみで符号化されるため、全体画像300に対してブロック当りの割り当てられた基本ビットは(bitsAllocated)1でありうる)。
【0084】
VDC-M比率制御で行うように、符号化器が受信した符号化される現在ブロックのQP値は決定された
(bitsAllocated)
1および隣接ブロックに対する現在ブロックの複雑度に基づいて決定され得る。
【0085】
上記で説明した内容を整理した
図4は、本発明の一実施例による表示ストリームの圧縮過程で多様な解像度領域のブロックに多様なビット数を割り当てる方法を示したフローチャートである。
【0086】
図4を参照すると、段階(S400)で、本実施例による符号化器は全体画像の基本ビット数を決定することができる[例えば符号化器は
を決定することができる]。
【0087】
段階(S405)で、符号化器は高解像度領域に対してのみ強化ビット数を決定することができる[例えば符号化器は
を決定することができる]。
【0088】
段階(S410)で、符号化器は低解像度領域と高解像度領域の全てに対してブロック当りの割り当てられる基本ビット数を決定することができ[例えば符号化器は
を決定することができ]、これは全ての残りのブロックに対して割り当てられた基本ビット数と同一でありうる。
【0089】
段階(S415)で、符号化器はブロック当りの割り当てられた基本ビット数を高解像度領域に対してブロック当りの割り当てられた強化ビット数に加えることによって高解像度領域に対してブロック当りの割り当てられた総ビット数を決定することができる[例えば符号化器は
を決定することができる)。
【0090】
段階(S420)で、符号化器は以前に符号化された一つ以上の隣接ブロックの量子化パラメータに基づいて現在ブロックの量子化パラメータを決定することができる[例えば符号化器は
を決定することができる。
【0091】
段階(S430)で、符号化器は現在ブロックの量子化パラメータに基づいて現在ブロックのビット数を決定することができる。その後、段階(S440)で、符号化器はQPで現在ブロックを符号化することによって使用されていない残りのビットのプール(pool)でビットを除去することができ、現在ブロックを復号器に伝送することができる。
【0092】
段階(S450)で、符号化器は残りのビット数、画像の残りの画素数および高解像度領域の残りの画素数を更新することができる。
【0093】
段階(S460)で、符号化器は圧縮される次の画素ブロックを受信することができ、画像300の最後のブロックを符号化する時まで段階(S410)に戻ることができる。それ以上残ったブロックがなければ符号化器は段階(S470)で画像圧縮を終えることができる。
【0094】
図5は、本発明の一実施例により互いに異なる解像度を有する4個の解像度領域を有する表示装置の画像を示す。
【0095】
図5を参照すると、本発明の実施例は、前述したように、R個(Rは整数であり、この例では4)の領域を有する表示装置に適用可能に変更されてもよい。本実施例の画像500は高解像度領域510、低解像度領域530および2個の中間解像度領域520、525を有する。
【0096】
本実施例によれば、前記で説明した数式3は次の数式10のように与えられた領域である「領域i」に対するブロック当りのビット「
」を表現するものに変わることができる。
【数10】
(数式10)
【0097】
上記で説明した数式4は、次の数式11のように画像500にある総画素数(P)を表現するものに変わることができる。
【数11】
(数式11)
【0098】
これと同様に、上記で説明した数式6は、次の数式12のように画像500に割り当てられた総ビット数(B)を表現するものに変わることができる。
【数12】
(数式12)
【0099】
したがって、上記で説明した数式7は、次の数式13のように領域iの総ビット「B
i」を表現するものに変わることができる。
【数13】
(数式13)
【0100】
ここで、画像500の全ての領域510、520、525、530に割り当てられる基本ビットは
で表現されてもよく、低解像度領域530を除いた残りの領域510、520、525に割り当てられる強化ビットは
で表現されてもよい。
【0101】
このような数式を用いて、各領域i(i≠R-1)を基本ビットと強化ビットに分離することによって前述した実施例をより多くの領域に拡張することができる。
【0102】
各ブロックに対して、画像500を符号化するための残りのビット(
)、画像500にある残りの画素(
)、そして領域0、1、…R-2にそれぞれ位置する残りの画素
に基づいてbitsAllocated(大きさ8×2)を更新することができる。
【0103】
したがって、上記で説明した数式8は、次の数式14のようにブロック当りの割り当てられた基本ビット数を表現するものに変わることができる。
【数14】
(数式14)
【0104】
領域R-1[つまり、低解像度領域530]にあるブロックに対して、ブロック当りの割り当てられたビットは(bitsAllocated)R-1と同一なものに設定する。つまり、全ての領域に対して割り当てられたブロック当りの基本ビットは、ブロック当りのビット低解像度領域530に対して割り当てられた全てのブロック当りのビットと同一でありうる。
【0105】
低解像度領域530以外の領域510、520、525[例えば領域i(i≠R-1)]に対するブロック当りの強化ビットは数式9を次の数式15に変わることによって決定され得る。
【数15】
(数式15)
【0106】
ここで、各強化領域i(i≠R-1)内にあるブロックに対応するブロック当りの強化ビットは(bi-bR-1)で表現されてもよい。
【0107】
(例えばVDC-M比率制御で行うように)符号化器が符号化する現在ブロックのQP値は決定された(bitsAllocated)
1および隣接ブロックに対する現在ブロックの複雑度に基づいて決定されてもよい。
図4を参考にして上記で説明した例と非常に類似するように、符号化器は続いて決定された複雑度に基づいて現在ブロックにQPを割り当てることができ、現在ブロックを符号化して送信することができ、残りの基本ビット数と残りの強化ビット数を更新することができる。符号化器は続いて次のブロックに移動する。
【0108】
上記で説明した内容を整理した
図6は、本発明の一実施例による表示ストリームの圧縮過程で多様な解像度領域の複数のブロック(つまり、3以上の領域)に多様なビット数を割り当てる方法を示したフローチャートである。
【0109】
図6を参照すると、段階(S600)で、本実施例による符号化器は全体画像の基本ビット数を決定することができる[例えば符号化器は
を決定することができる]。
【0110】
段階(S605)で、符号化器は低解像度領域以外の領域に対して強化ビット数を決定することができる[例えば符号化器は
を決定することができる]。
【0111】
段階(S610)で、符号化器は低解像度領域と高解像度領域の全てに対してブロック当りの割り当てられる基本ビット数を決定することができる[例えば符号化器は
を決定することができる]。
【0112】
段階(S615)で、符号化器は強化領域に対してブロック当りの割り当てられた平均強化ビット数と同一でありうる、低解像度領域以外の領域それぞれに対してブロック当りの割り当てられた総ビット数を決定することができる[例えば符号化器は
を決定することができる]。
【0113】
段階(S620)で、符号化器は以前に符号化した、現在ブロックに隣接した一つ以上のブロックの以前に決定された量子化パラメータに基づいて現在ブロックの量子化パラメータを決定することができる[例えば符号化器は
を決定することができる。
【0114】
段階(S630)で、符号化器は決定された量子化パラメータに基づいて、そして現在ブロックが位置する解像度領域に基づいて現在ブロックの符号化のためのビット数を決定することができる。その後、段階(S640)で、符号化器は決定されたQPで現在ブロックを符号化することができ、符号化されたブロックを復号器に伝送することができる。
【0115】
段階(S650)で、符号化器は残りのビット数、画像の残りの画素数および低解像度領域以外の各領域の残りの画素数を更新することができる。
【0116】
段階(S660)で、符号化器は圧縮される次の画素ブロックを受信することができ、画像500の最後のブロックを符号化する時まで段階(S610)に戻ることができる。それ以上残ったブロックがなければ符号化器は段階(S670)で画像圧縮を終えることができる。
【0117】
前述した例によれば、視線固定点(fixation point)(例えば使用者の焦点に対応する画像の地点)は画像の中心にあるものとみなすことができる。しかし、目の動きのため、視線固定点が画像中心に対応しないこともある。したがって、本発明の実施例は視線固定点が画像の中心にない場合にも同一に適用することができる。後者の場合、高解像度、中間解像度および低解像度領域が選択された視線固定点により互いに異なるように定義されてもよく、提示した技術は同一に適用されてもよい。
【0118】
また、本発明の実施例は、大きさNxMのブロック基盤解法を用いる全ての固定比率コーデック(fixed rate codec)に適用可能である。例えば、本発明の実施例は、比率バッファー(rate buffer)を有するか、または有しないコーデックに適用可能である。コーデックが比率バッファーを含むと、決定されたブロック当りの(bitsAllocated)
1は符号化器のバッファーがどれくらい満たされているかまたは空いているかにより[例えばバッファーの状態により、またはバッファー充満度(buffer fullness)により]さらに調節されてもよい。つまり、上記で説明したQP値を決定する前に、次の数式16に示したようにブロック当りのビット「bitsAllocated」を「バッファー充満度(buffer fullness)」値により調節することができる。
【数16】
(数式16)
【0119】
ここでバッファー充満度(BF)は、符号化器バッファー内にあるビット数を示す抽象的な値であり、δ(BF)はBFの関数(例えば単調減少関数)であるオフセット値である。一実施例によれば、δ(BF)は高解像度領域または強化領域を除いた全ての領域に対して0でありうる。他の実施例によれば、δ(BF)は低解像度領域に対してのみ0でありうる。
【0120】
したがって、ここで説明する実施例により設計したコーデックの制限に基づいて、符号化器はバッファーがある程度満たされているかを続いて判断することができる。バッファーが比較的に満たされている状態であれば[例えばオーバーフローエラー(overflow error)を起こす状態に近ければ]、符号化器はQPを高めてビットレートを低めることができる。これと同様に、バッファーが比較的に空いた状態であれば、符号化器はQPを低めてビットレートを高めることができる。
【0121】
したがって、符号化器は互いに異なるブロック当りのビット数を互いに異なる領域に賢明に割り当てて互いに異なる解像度水準を有する互いに異なる領域を実現しつつ、画像を符号化することに使用可能なビットを使用し、画像の最後のブロックを符号化する前に使用可能なビットを全部使わずに画像を符号化することができる。以上より、上記で説明した実施例を用いることにより、表示ストリーム技術を向上させることができる。
【0122】
本発明の概念、およびこれを達成する方法の要旨については、発明の詳細な説明と添付した図面を通じて容易に理解することができる。本発明は多様な異なる形態において実現することができ、ここで説明する実施例に限定されない。このような実施例を提供することによって発明の詳細な説明が十分かつ豊富になり、発明の多様な側面と特徴を当業者に十分に示すことができる。したがって、当業者が本発明の多様な側面と特徴を完全に理解することに不要な過程、装置、技術などは説明を省略することができる。特別な説明がない限り、図面と明細書全体にわたって同一の図面符号は同一の構成要素を示し、これによって説明を省略する。また、説明を明確にするために、実施例の説明と関係がない部分は示さないこともある。図面において部分、層、領域などは明瞭な理解のために誇張して示されることもある。
【0123】
ここでは実施例の図式的な構造および/または中間構造を示す断面図を参考として多様な実施例について説明する。図示した模様は、例えば製造技術および/または許容誤差により多様に変更または変化可能である。また、ここに記載した特定構造または機能に対する説明は本発明の概念による実施例について説明するための例示に過ぎない。したがって、ここに記載した実施例は例示した領域の特定模様に限定されるのではなく、例えば製造方法による模様の変化も含むものと解釈することができる。したがって、図面に図示した領域の模様は本質的に概略的なもので、装置で領域の実際模様を示そうとするものではなく、その模様に限定しようとするものでもない。これに加えて、当業者であれば本発明の要旨または範囲を逸脱せずに前記で説明した実施例を互いに異なる多様な方法で変更または変化させることができることはもちろんである。
【0124】
詳細な説明で多様な実施例に対する十分な説明を提供するために、様々な条件を特定する。しかし、このような特定条件またはこれと同等な条件がない場合にも実施例を実現することができるということは自明である。これとは異なり、既に知られている構造および装置は多様な実施例が不必要に曖昧になることを避けるためにブロック図で示す。
【0125】
明細書で使用された用語は、特定の実施例を説明する目的で使用するに過ぎず、本発明を制限しようとするものではない。また、本実施例において、数を特に言及しなければ単数または複数の場合を全て含む。ある特徴、段階、動作、部分、成分などを「含む」という表現は、当該部分以外に他の特徴、段階、動作、部分、成分なども含むことができるということを意味する。「および/または」という表現は、羅列されたものの中で一つまたはそれ以上の全ての組み合わせを含む。
【0126】
特定の実施例を異なるように実現する場合、特定のプロセス順序が説明した順序と変わってもよい。例えば、連続して実行するものと説明した二つのプロセスを同時にまたは説明した順序と反対に実行することもできる。
【0127】
本発明の実施例により説明した電子、電気装置および/または他の関連装置または部分は適切なハードウェア、ファームウエア(例:応用注文型集積回路)、ソフトウェアまたはこれらの組み合わせを用いて実現することができる。例えば、これら装置の多様な構成要素を一つの集積回路チップに形成することもでき、互いに異なる集積回路チップに実現することもできる。また、これら装置の多様な構成要素を可撓性印刷回路フィルム、テープキャリアパッケージ(TCP:tape carrier package)、印刷回路基板などに実現したり一つの基板上に形成することができる。また、これら装置の多様な構成要素をここで説明した多様な機能を遂行するためにコンピュータプログラム命令を実行し、他のシステム要素と相互作用する一つ以上のコンピュータ装置内にある一つ以上のプロセッサーで実行され得るプロセスまたはスレッド(thread)でありうる。コンピュータプログラム命令は、ラム(RAM:random access memory)などの標準メモリ装置を使用するコンピュータ装置に実現されたメモリに保存されてもよい。それだけでなく、当業者は本発明の実施例の概念と範囲を逸脱することなく、多様なコンピュータ装置の機能を一つのコンピュータ装置に結合または統合したり、特定のコンピュータ装置の機能を一つ以上の他のコンピュータ装置に分散することもできる。
【0128】
特別な言及がない限り、本明細書で使用する(技術的、科学的用語を含む)全ての用語は本発明が属する技術分野における当業者が一般に知っているものと同一の意味を有している。一般に使用される辞書に定義された用語などの用語は関連技術分野および/または本明細書での意味と一致する意味を有していると解釈し、ここで明示しない限り、理想的なまたは過度に厳しい意味に解釈してはならない。
【0129】
以上で特定の用語を用いて実施例について説明し、このような用語は一般的な意味で説明のための目的で使用したものに解釈され、限定の目的で使用したものに解釈してはならない。例えば、特別な言及がない限り、特定の実施例と関連して説明した特徴、特性および/または構成要素を単独で使用したり、他の実施例と関連して説明した特徴、特性および/または構成要素と結合して使用できることは出願当時の当業者に明確である。したがって、特許請求の範囲およびそれに内在された機能的な等価物で提示する本発明の要旨と範囲を逸脱せずに形態と詳細を多様に変化させることができることは当業者であれば理解できる。
【符号の説明】
【0130】
100、300、500:画像
110、310、510:高解像度領域
120、520、525:中間解像度領域
130、330、530:高解像度領域
【手続補正書】
【提出日】2024-11-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
符号化器を用いて画像を示す画像データブロックの符号化方法であって、
前記符号化器によって、前記画像の第1領域、前記画像の第2領域、および前記画像の第3領域を定義する段階と、
前記符号化器によって、前記第1領域を符号化するために基本ビットのみを含む第1ビット数のビットを割り当て、前記第2領域を符号化するために基本ビットおよび強化ビットのみを含む第2ビット数のビットを割り当て、並びに前記第3領域を符号化するために基本ビットおよび強化ビットを含む第3ビット数のビットを割り当てる段階と、
前記符号化器によって、ブロックあたりの画素数を取得する段階と、
前記符号化器によって、前記画像の現在ブロックを受信する段階と、
前記符号化器によって、同じ画像フレーム内の前記現在ブロックの領域における以前のブロックの以前の量子化パラメータに基づいて前記現在ブロックの量子化パラメータを決定する段階と、
前記符号化器によって、前記現在ブロックを前記量子化パラメータで符号化する段階と、
前記符号化器によって、符号化される前記画像の残りの画素数を更新する段階と、
前記符号化器によって、前記残りの画素数に対応する画素の符号化のための残りのビット数を更新する段階と、
前記符号化器によって、符号化される前記画像の残りの画素数、前記画像の残りの画素数に対応する画素の符号化に使用可能な残りのビット数、および符号化される前記第2領域内の残りの画素数に基づいて残りのブロック数に対するブロック当たりの割り当てられた基本ビット数を決定する段階と、を含み、
ブロック当たりの割り当てられた基本ビット数は、残りのすべてのブロックに対して同一であり、
前記第2領域は、前記第1領域よりも大きい画素当たりのビット数で符号化され、
前記第3領域は、前記第1領域よりも大きい画素当たりのビット数で符号化され、かつ前記第2領域よりも少ない画素当たりのビット数で符号化され、
前記第3領域は、前記第1領域を取り囲み、前記第2領域に囲まれる、
符号化方法。
【請求項2】
前記第2領域は、表示装置上で前記画像を見ている使用者の焦点に対応する画像の地点を示す視線固定点に対応する高解像度領域を含み、
前記第1領域は、前記視線固定点の外側にある低解像度領域を含む、
請求項1に記載の符号化方法。
【請求項3】
前記現在ブロックが前記第2領域に属することを決定する段階と、
前記符号化器によって、前記第2領域の残りの画素数およびブロック当たりの強化ビット数に基づいて、現在ブロックの符号化に使用可能な残りの強化ビット数を計算する段階と、を含み、
前記ブロック当たりの強化ビット数は、前記第2領域のブロック当たりの目標ビット数と前記第1領域のブロック当たりの目標ビット数との差を表す、
請求項1に記載の符号化方法。
【請求項4】
前記符号化器によって、前記画像の残りの画素の符号化に使用可能な前記残りのビット数と前記残りの強化ビット数との差を計算する段階を含み、
前記第1領域のブロック当たりの割り当てられた基本ビット数と前記第2領域のブロック当たりの割り当てられた基本ビット数とが、その差に基づくブロック当たりの割り当てられた基本ビット数に対応する、
請求項3に記載の符号化方法。
【請求項5】
前記符号化器によって、前記画像の前記現在ブロックが前記第2領域にある場合、前記第1領域および前記第2領域のブロックごとの割り当てられた基本ビット数とブロックごとの前記強化ビット数の合計に基づいて、前記現在ブロックの符号化のためのブロック当りの割り当てられた総ビット数を計算する段階を含む、
請求項4に記載の符号化方法。
【請求項6】
前記現在ブロックの前記量子化パラメータは、前記現在ブロック直前に符号化されたブロックの量子化パラメータ、前記現在ブロックの直前のブロックを符号化することに用いたビット数、および前記現在ブロックに割り当てられたビット数に基づいて決定され、
前記画像の前記現在ブロックが前記第1領域内であれば、前記現在ブロックに割り当てられたビット数は前記第1領域のブロック当たりの割り当てられた基本ビットであり、
前記画像の現在ブロックが前記第2領域内であれば、前記現在ブロックに割り当てられたビット数は、前記第2領域のブロック当たりの割り当てられた総ビット数である、
請求項5に記載の符号化方法。
【請求項7】
画像を示す画像データを符合化するための画像データ符号化器であって、
画像データをバッファリングするメモリと、
前記符号化器を制御するように構成されたプロセッサと、を備え、
前記符号化器は、
画像の第1領域、前記画像の第2領域、および前記画像の第3領域を定義し、
前記第1領域を符号化するために基本ビットのみを含む第1ビット数のビットを割り当て、前記第2領域を符号化するために基本ビットおよび強化ビットのみを含む第2ビット数のビットを割り当て、並びに前記第3領域を符号化するために基本ビットおよび強化ビットのみを含む第3ビット数のビットを割り当て、
ブロック当たりのピクセル数を取得し、
前記画像の現在ブロックを受信し、
同じ画像フレーム内の前記現在ブロックの領域における以前のブロックの以前の量子化パラメータに基づいて前記現在ブロックの量子化パラメータを決定し、
前記現在のブロックを前記量子化パラメータで符号化し、
符号化される画像の残りの画素数を更新し、
残りの画素数に対応する画素の符号化のための残りのビット数を更新し、
符号化される前記画像の残りの画素数、前記画像の残りの画素数に対応する画素の符号化に使用能な残りのビット数、および符号化される前記第2領域内の残りの画素数に基づいて、残りのブロック数に対するブロック当たりの割り当てられた基本ビット数を決定し、
ブロック当たりの割り当て基本ビット数は、残りのすべてのブロックに対して同一であり、
前記第2領域は、前記第1領域よりも画素当たりの大きいビット数で符号化され、
前記第3領域は、前記第1領域よりも大きい画素当たりのビット数で符号化され、前記第2領域よりも小さい画素当たりのビット数で符号化され、
前記第3領域は、前記第1領域を取り囲み、前記第2領域に囲まれる、
画像データ符号化器。
【請求項8】
前記第2領域は、表示装置で前記画像を見ている使用者の焦点に対応する画像の地点を示す視線固定点に対応する高解像度領域を含み、
前記第1領域は、前記視線固定点の外側にある低解像度領域を含む、
請求項7に記載の画像データ符号化器。
【請求項9】
前記画像データ符号化器は、さらに、
前記現在ブロックが前記第2領域に属することを決定し、
前記第2領域における残りの画素数およびブロック当たりの強化ビット数に基づいて、現在のブロックの符号化に使用可能な残りの強化ビット数を計算し、
前記ブロック当たりの強化ビット数は、前記第2領域のブロック当たりの目標ビットと前記第1領域のブロック当たりの目標ビットとの差を表す、
請求項7に記載の画像データ符号化器。
【請求項10】
前記画像データ符号化器は、前記画像の残りの画素の符号化に使用可能な前記残りのビット数と前記残りの強化ビット数との差を計算するようにさらに構成され、前記第1領域のブロック当たりの割り当てられた基本ビット数と前記第2領域のブロック当たりの割り当てられた基本ビット数とが、その差に基づくブロック当たりの割り当てられた基本ビット数に対応する、
請求項9に記載の画像データ符号化器。
【請求項11】
画像データ符号化器は、前記画像の前記現在ブロックが前記第2領域にある場合、前記第1領域および前記第2領域のブロック当たりの割り当てられた基本ビット数とブロック当たりの強化ビット数の合計に基づいて、前記現在ブロックの符号化のためのブロック当たりの割り当てられた総ビット数を計算するようにさらに構成される、
請求項10に記載の画像データ符号化器。
【請求項12】
前記現在ブロックの前記量子化パラメータは、前記現在ブロック直前に符号化されたブロックの量子化パラメータ、前記現在ブロックの直前のブロックを符号化することに用いたビット数、および現在ブロックに割り当てられたビット数に基づいて決定され、
前記画像の前記現在ブロックが前記第1領域内であれば、前記現在ブロックに割り当てられたビット数は前記第1領域のブロック当たりの割り当てられた基本ビットであり、
前記画像の現在ブロックが前記第2領域内であれば、前記現在ブロックに割り当てられたビット数は、前記第2領域のブロック当たりの割り当てられた総ビット数である、
請求項11に記載の画像データ符号化器。
【請求項13】
画像データを符号化するために画像データ符号化器に実装された非一時的コンピュータ読み取り可能な媒体であって、
前記画像データ符号化器は、前記画像データをバッファリングするためのメモリと、前記画像データ符号化器を制御するプロセッサとを備え、
実行されると、
画像の第1領域、前記画像の第2領域、および前記画像の第3領域を定義し、
前記第1領域を符号化するために基本ビットのみを含む第1ビット数のビットを割り当て、前記第2領域を符号化するために基本ビットおよび強化ビットのみを含む第2ビット数のビットを割り当て、並びに前記第3領域を符号化するための基本ビットおよび強化ビットのみを含む第3ビット数のビットを割り当て、
ブロック当たりの画素数を取得し、
前記画像の現在ブロックを受信し、
同じ画像フレーム内の前記現在ブロックの領域における以前のブロックの以前の量子化パラメータに基づいて前記現在ブロックの量子化パラメータを決定し、
前記現在ブロックを前記量子化パラメータで符号化し、
符号化される前記画像の残りの画素数を更新し、
残りの画素の符号化のための残りのビット数を更新し、
符号化される前記画像の残りの画素数、前記画像の残りの画素の符号化のために使用可能な残りのビット数、および符号化される前記第2領域内の残りの画素数に基づいて残りのブロック数に対するブロック当たりの割り当てられた基本ビット数を決定する動作を前記画像データ符号化器に行わせる、命令が保存され、
ブロック当たりの割り当てられた基本ビット数は、残りのすべてのブロックに対して同一であり、
前記第2領域は、前記第1領域よりも画素当たりの大きいビット数で符号化され、
前記第3領域は、前記第1領域よりも大きい画素当たりのビット数で符号化され、かつ前記第2領域よりも小さい画素当たりのビット数で符号化され、
前記第3領域は、前記第1領域を取り囲み、前記第2領域に取り囲まれる、
コンピュータ読み取り可能媒体。
【請求項14】
さらに、前記符号化器による前記画像の符号化が開始された後に、前記画像をバッファリングするためのバッファのレベルに基づいて、前記画像に対応する前記量子化パラメータまたはビットレートを調整することを含む、
請求項1に記載の符号化方法。