JP6314973B2 - 画像符号化装置、画像符号化方法および画像符号化プログラム - Google Patents

画像符号化装置、画像符号化方法および画像符号化プログラム Download PDF

Info

Publication number
JP6314973B2
JP6314973B2 JP2015507979A JP2015507979A JP6314973B2 JP 6314973 B2 JP6314973 B2 JP 6314973B2 JP 2015507979 A JP2015507979 A JP 2015507979A JP 2015507979 A JP2015507979 A JP 2015507979A JP 6314973 B2 JP6314973 B2 JP 6314973B2
Authority
JP
Japan
Prior art keywords
update
area
tile
quality
important
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
JP2015507979A
Other languages
English (en)
Other versions
JPWO2014155919A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2014155919A1 publication Critical patent/JPWO2014155919A1/ja
Application granted granted Critical
Publication of JP6314973B2 publication Critical patent/JP6314973B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/115Selection of the code volume for a coding unit prior to 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/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/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、画像を符号化する画像符号化装置、画像符号化方法および画像符号化プログラムに関する。
画像を送受信するサーバおよびシンクライアントを含むシステムが種々提案されている(例えば、特許文献1参照)。シンクライアントに画像を送信するサーバとして、例えば、画像のうち更新された領域を含む矩形領域の画像データを符号化して送信するサーバが提案されている(例えば、特許文献2参照)。このような送信方式によれば、画像中の一部のみが更新された場合に、サーバは、一部分の領域の画像データのみを符号化し、シンクライアントに送信すればよい。従って、送信データ量を減らすことができる。
また、通信ネットワークを介してサーバがシンクライアントに画像データを送信する場合、データ量を圧縮するために画像データを符号化する場合がある(例えば、特許文献3参照)。データ圧縮時にサーバが量子化のような非可逆変換を用いると、受信側で復号された画像の品質が送信側の元画像よりも劣化する場合がある。また、通信路等においてデータ欠落や伝送エラーが発生した場合にも、受信画像の画像品質が低下する場合がある。この画像品質の低下が後続のフレームに伝搬することを防ぐため、サーバが定期的にイントラ更新(イントラリフレッシュ)の信号を挿入して伝送する方式が提案されている(例えば、特許文献4参照)。ここで、フレーム全体を符号化すると符号量が非常に大きくなる。そのため、一般に、イントラ更新を行う場合、サーバは、フレームを複数の部分領域(タイル)に分割して少しずつ伝送する。
例えば、特許文献4に記載の装置は、更新領域の符号を伝送した後、余剰帯域の範囲で、低品質タイルを巡回しながらイントラ更新を行う。そのため、フレーム内の更新領域の面積が大きく変動した場合でも、イントラ更新の対象となる領域の面積を変動させることで、余剰帯域を十分に活用しながら高画質化を実現できる。例えば、前のフレームから更新されていないフレームや、更新領域の面積が小さいフレームでは、サーバは、余剰帯域に収まる限り多くのタイルに対してイントラ更新を行うことができる。また、サーバは、低画質で符号化された領域のタイルや、長期間更新されていないタイルに対するイントラ更新を優先的に行うことで、低品質タイルが画像内に残留する期間を短縮できる。
また、特許文献5には、更新領域毎に送信優先度を判定し、更新領域を優先度順に送信する画像伝送システムが記載されている。
以下、具体例を用いて、一般的な符号化処理を説明する。図9は、一部の領域が更新されたフレームの例を示す。フレーム91とその前のフレーム(図示せず。)とを比較した場合、フレーム91では、領域A,B,Cが更新されているとする。サーバは、領域A,B,Cのみを符号化してシンクライアントに送信すればよい。ここで、サーバは、通信帯域を目標フレームレートで除算することで、目標符号量を算出する。また、サーバは、更新領域A,B,Cの圧縮前データ量と、目標符号量とに基づいて、目標圧縮率を算出する。例えば、通信帯域が3000kbps(kbit per second )であり、目標フレームレートが30fps(frames per second )であるとする。すると、サーバは、目標符号量として100kbit/frameを得る。また、更新領域A,B,C全体の圧縮前データ量が1402kibtであるとする。すると、サーバは、目標圧縮率として約1/14を得る。サーバは、更新領域A,B,Cの画像データをこの目標圧縮率で圧縮し、シンクライアントに送信する。
また、具体例を用いて、一般的なイントラ更新を説明する。図10は、連続するフレームの状態の変化の例を示す模式図である。1つのフレームは、定められた大きさのタイル95に分割されている。フレーム1で、領域96が更新され、次のフレーム2で領域97が更新されたとする。また、本例では、説明を簡単にするために、更新が生じた箇所の品質が低下するものとする。図10では、品質が低下したタイルを散点模様で表している。また、高画質化済みのタイルを白色で表している。サーバは、フレーム1の領域96に該当する各タイルを符号化し、シンクライアントに送信する。同様に、サーバは、次のフレーム2に関しては、領域97に該当する各タイルを符号化し、シンクライアントに送信する。フレーム1,2の送信時には、余剰帯域が存在しなかったものとする。
続くフレーム3〜16では、更新領域は発生しなかったとする。すると、サーバは、フレーム3〜16に関しては、更新領域の符号化および送信は行わない。サーバは、その結果生じる余剰帯域で、イントラ更新を行う。図10では、サーバが1フレームに1タイルずつイントラ更新を行う場合を示している。サーバは、フレーム3〜16の間、図10に例示するように、品質が低下したタイルを巡回し、イントラ更新を行う。その結果、フレーム16では、品質が低下したタイル数がフレーム2よりも減少している。図10に示す例では、品質が低下したタイルのイントラ更新の優先度は、画面上段のタイルほど高い。また、同じ段のタイル同士では、ユーザから見て左側のタイルほど、優先度が高い。
特表2004−503862号公報 特開2008−85502号公報 特開2004−320479号公報 特開2010−206753号公報 国際公開第2009/004996号パンフレット
上記の一般的な符号化処理では、サーバは、1フレーム内の各更新領域(例えば、図9に示す領域A,B,C)を同じ目標圧縮率で符号化する。その結果、1フレーム内の各更新領域の品質は均等である。
しかし、一般に画像内には、ユーザにとって重要な領域やそうでない領域が存在する。例えば、ユーザが操作中のウィンドウや、ユーザによるツールバー操作に応じて表示されたメニュー項目に該当する領域は、操作上、重要な情報を多く含む。そのため、そのような領域は、より高品質になるように符号化することが好ましい。
上記のように、1フレーム内の各更新領域の品質を均等にするような符号化方式では、ユーザにとって重要な領域の品質を十分に高くできない場合が生じ得る。そして、重要な領域の品質を十分に高くできないと、ユーザが表示内容を把握しにくくなってしまう。
そこで、本発明は、ユーザにとって重要な領域を高い品質で符号化することができる画像符号化装置、画像符号化方法および画像符号化プログラムを提供することを目的とする。
本発明による画像符号化装置は、画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段と、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出手段と、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出手段と、更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定手段と、更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御手段と、その品質値で重要領域全体を符号化する重要領域符号化手段とを備えることを特徴とする。
また、本発明による画像符号化方法は、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出し、更新タイルの検出時に更新タイルの更新時刻を記憶していくことで、タイル毎に更新時刻を記憶し、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出し、更新間隔指標を用いて各更新領域から重要領域を特定し、更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定し、その品質値で重要領域全体を符号化することを特徴とする。
また、本発明による画像符号化プログラムは、画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段を備えたコンピュータに適用される画像符号化プログラムであって、コンピュータに、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出処理、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出処理、更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定処理、更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御処理、および、その品質値で重要領域全体を符号化する重要領域符号化処理を実行させることを特徴とする。
本発明によれば、ユーザにとって重要な領域を高い品質で符号化することができる。
本発明の画像符号化装置の例を示すブロック図である。 更新領域および更新タイルの例を示す模式図である。 本発明の処理経過の例を示すフローチャートである。 ステップS13の処理経過を示すフローチャートである。 ステップS13で算出されるAq,Bqの具体例および非重要領域全体に対する品質値の導出例を示す説明図である。 画像符号化装置の変形例を示すブロック図である。 ポインタ近接度算出部の処理経過の例を示すフローチャートである。 本発明の画像符号化装置の主要部の例を示すブロック図である。 一部の領域が更新されたフレームの例を示す模式図である。 連続するフレームの状態の変化の例を示す模式図である。
以下、本発明の実施形態を図面を参照して説明する。
なお、以下に示す実施形態において、動画による画像変化は、表示の更新に該当しないものとする。画像内に動画表示領域が含まれていてもよい。ただし、以下の実施形態では説明を簡単にするために、画像内で、動画以外の表示変化が生じる場合を例にして説明する。すなわち、動画の表示はないものとして説明する。
図1は、本発明の画像符号化装置の例を示すブロック図である。本発明の画像符号化装置1は、更新領域検出部2と、タイル情報メモリ3と、更新間隔指標算出部4と、文字尤度算出部5と、重要度算出部6と、品質制御部7と、重要領域符号化部8と、タイル品質保持部9と、非重要領域符号化部10と、イントラ更新タイル候補選択部11と、イントラ更新部12と、送信部13とを備える。
画像符号化装置1は、フレームを順次キャプチャする。フレームは、固定サイズの領域に分けられる。このように固定サイズで分けられる個々の領域をタイルと記す。タイルのサイズは、例えば、縦32画素、横32画素であるが、タイルの大きさは限定されない。
タイル情報メモリ3は、タイル毎に、更新時刻、更新間隔、タイルの重要度等の情報を記憶するメモリである。更新間隔とは、着目しているタイルにおける前回の更新時刻から最新の更新時刻までの時間である。
更新領域検出部2は、最新のフレームをキャプチャすると、そのフレームと、1つ前のフレームとを比較し、最新のフレームから更新タイルを検出する。更新タイルとは、最新のフレームとその1つ前のフレームとの間で表示の更新が生じているタイルである。更新領域検出部2は、更新タイルを検出すると、タイル情報メモリ3に記憶されているそのタイルの更新時刻および更新間隔を最新の情報に書き換える。
また、更新領域検出部2は、最新のフレームとその1つ前のフレームとを比較し、画素単位で更新領域と更新されていない領域との境界を算出し、更新領域を特定する。
図2は、更新領域および更新タイルの例を示す模式図である。更新領域21は、最新のフレーム20とその1つ前のフレーム(図示略)との間で表示の更新が生じた領域である。なお、図2では、2つの更新領域21を図示しているが、1つのフレームから検出される更新領域の数は特に限定されない。
また、フレームにおいて表示の更新は、タイル単位に行われるとは限らない。そのため、図2に示すように、更新領域21の外縁は、タイル同士の境界と一致しているとは限らない。更新タイル22は、タイル内の少なくとも一部の画素に更新が生じているタイルである。図2に示す例では、斜線で示した各タイル22が更新タイルに該当する。
更新間隔指標算出部4は、更新領域毎に、更新間隔指標を算出する。更新間隔指標は、更新領域と重なる各更新タイル全体での更新間隔の長さの指標値である。更新領域と重なるタイル全体として更新間隔が長い傾向がある場合ほど値が大きくなり、更新領域と重なるタイル全体として更新間隔が短い傾向がある場合ほど値が小さくなるような指標を、更新間隔指標として用いればよい。
更新間隔指標の一例として、更新領域と重なる各タイルのうち、更新間隔が長いタイルの占有率が挙げられる。ここで、更新間隔が長いタイルとは、更新間隔が、予め定められた閾値以上のタイルである。この閾値は、更新間隔が長いか否かを判定するための閾値である。以下、本実施形態では、更新間隔指標算出部4が、更新間隔指標として、更新間隔が長いタイルの占有率を算出する場合を例にして説明する。
更新間隔指標算出部4は、更新領域毎に、更新領域と重なる各タイルのうち、更新間隔が長いタイルの占有率を算出する。例えば、ある更新領域に関して、その更新領域と重なるタイルの数がaであり、そのタイルのうち、更新間隔が閾値以上となっているタイルの数がbであるとする。更新間隔指標算出部4は、その更新領域における、更新間隔が長いタイルの占有率を、b/aの計算によって求めればよい。更新領域における、更新間隔が長いタイルの占有率は、長更新間隔タイル占有率と称することもできる。
文字尤度算出部5は、タイル毎に文字尤度を算出する。文字尤度とは、文字の表示領域に該当する尤もらしさを表す値である。文字尤度が高いほど、文字の表示領域に該当していると考えられる。文字尤度算出部5は、例えば、タイル内でエッジ強度のヒストグラムを求め、その分散値を文字尤度としてもよい。一般に、文字の表示領域では、エッジ強度が非常に強い画素(文字と背景の境界となる画素)と、エッジ強度が非常に弱い画素(単色の背景に該当する画素)とが混在している。従って、文字の表示領域では、エッジ強度の分散値は大きな値になる。よって、文字尤度算出部5は、文字尤度としてエッジ強度の分散値を算出してよい。
また、文字尤度算出部5は、個々の更新領域毎に、更新領域の文字尤度も算出する。文字尤度算出部5は、1つの更新領域の文字尤度を算出する場合、その更新領域と重なる各タイルの文字尤度の統計値(例えば、平均値、最大値、最小値等)をその更新領域の文字尤度として算出してよい。
重要度算出部6は、更新領域毎に、ユーザにとってどの程度重要であるかを表す重要度を算出する。重要度算出部6は、更新領域毎に、更新間隔指標と文字尤度とを加重加算することによって重要度を算出する。なお、本実施形態では、更新間隔指標は、更新間隔が長いタイルの占有率である。さらに、重要度算出部6は、最新のフレームから検出された各更新領域を重要度順にソートし、重要度が、予め定められた閾値以上である更新領域を重要領域として特定する。この閾値は、重要領域を特定するための閾値である。重要度算出部6は、最新のフレームから検出された各更新領域のうち、重要領域以外の更新領域(すなわち、重要度が閾値未満である更新領域)を非重要領域として定める。従って、各更新領域が、重要領域または非重要領域のいずれかに分類される。なお、更新領域以外の領域は、重要領域および非重要領域に該当しない。
重要度が高いということは、更新間隔が長いタイルの占有率や文字尤度が高いということを意味している。そして、更新間隔が長いタイルが多いということは、しばらく更新されなかった箇所が突然更新されたということを意味している。このように、しばらく更新されなかった箇所が突然更新され、その箇所に文字が表されている可能性が高いということは、ユーザにとって重要な情報を表示している領域であると言える。例えば、ツールバー操作に応じて表示されたメニュー項目等は、ユーザにとって重要であり、しばらく更新されなかった箇所に突然表示されたり、文字を含んでいたりするという性質がある。よって、そのようなメニュー項目等として更新された更新領域は、重要領域に分類される。一方、ユーザにとって重要でないバナー等の表示領域は、比較的短い間隔で更新される。また、ユーザにとって重要でないアイコン等には文字が含まれていないことが多い。よって、これらのバナーやアイコン等の表示領域が更新されたとしても、その更新領域の重要度は低く、非重要領域に分類されることになる。
また、重要度算出部6は、更新タイル以外の各タイルの重要度も算出する。更新タイル以外の重要度は、前回の更新時刻から、最新のフレームに対応する時刻までの期間と、文字尤度によって定めればよい。重要度算出部6は、前回の更新時刻から、最新のフレームに対応する時刻までの期間が長いほど、また、文字尤度が大きいほど、タイルの重要度を大きな値に定めればよい。
品質制御部7は、重要領域に割り当てる品質値を特定する。品質値とは、画像データを符号化したときの品質の度合いを表す値(整数値)である。品質値が高いほど、符号化後の符号量が大きく、品質が良くなる。逆に、品質値が低いほど、符号化後の符号量が小さく、品質が悪くなる。品質値には、上限値および下限値が定められている。品質値の一例として、JPEG(Joint Photographic Experts Group)におけるQ値が挙げられるが、JPEGにおけるQ値以外の品質値を用いてもよい。
品質制御部7は、重要領域の品質値を定める際、まず、重要領域全体の目標符号量を算出する。品質制御部7は、フレーム内総目標符号量を、更新領域全体の面積に対する重要領域全体の面積の割合(すなわち、重要領域全体の面積/更新領域全体の面積)で按分し、その按分結果に一定値(例えば、1000バイト)を加算することによって、重要領域全体の目標符号量を算出する。このことは、重要領域全体に割り当てる目標符号量を、更新領域全体の面積に対する重要領域全体の面積の割合よりも多く割り当てる(偏重させる)ことを意味する。品質制御部7は、フレーム内総目標符号量を「重要領域全体の面積/更新領域全体の面積」で按分した結果よりも、重要領域全体の目標符号量が多くなるように、按分結果に対して加算を行えばよい。従って、品質制御部7は、按分結果に対して、上記のような一定加算を行ってもよいし、あるいは、定率乗算を行ってもよい。なお、フレーム内総目標符号量は、1フレーム当たりの総目標符号量であり、定数として予め定めておけばよい。
そして、品質制御部7は、重要領域全体の目標符号量を用いて、品質値を求める。例えば、品質制御部7は、重要領域全体の画像信号値の分散を算出する。この分散は、重要領域全体の複雑度を表す値である。品質制御部7は、重要領域全体の目標符号量および複雑度に対応する品質値を特定すればよい。例えば、品質制御部7は、目標符号量、複雑度、および品質値の対応関係を示すデータベースを予め保持していてもよい。そして、品質制御部7は、そのデータベースを参照して、重要領域全体の目標符号量および複雑度に対応する品質値を特定してもよい。品質制御部7は、例えば、個々の複雑度毎に、品質値と符号量との対応関係を示す情報をデータベースとして保持していてもよい。この場合、品質制御部7は、算出した複雑度に応じた、品質値と符号量との対応関係を示す情報を参照し、その情報から、目標符号量に対応する品質値を特定する。この品質値の導出方法は、例示であり、品質制御部7は、重要領域全体の目標符号量に基づいて、他の方法で品質値を導出してもよい。
重要領域符号化部8は、品質制御部7が定めた重要領域の品質値に基づいて、重要領域全体を符号化する。
タイル品質保持部9は、個々のタイルの品質値を保持する。タイル品質保持部9は、タイルの少なくとも一部の領域に対して、品質値が定められた後、そのタイルの品質値を求めなおして、そのタイルの品質値を保持する。例えば、品質制御部7が、上記のように重要領域に対する品質値を定めたとする。すると、タイル品質保持部9は、その重要領域に含まれるタイルの品質値を、その重要領域の品質値で更新する。また、1つのタイルの一部が重要領域に該当し、他の一部が非重要領域に該当したりすることによって、1つのタイルの一部に対してそれぞれ品質値が割り当てられることがある。この場合、タイル品質保持部9は、例えば、それらの品質値の最小値を、そのタイルの品質値として保持する。
イントラ更新タイル候補選択部11は、更新タイル以外の各タイルのうち、品質値が閾値以下のタイルを全て選択する。以下、このタイルを低品質タイルと記す。また、この閾値は、低品質タイルを選択するための閾値である。低品質タイルは、イントラ更新の対象候補となるタイルである。
また、品質制御部7は、重要領域符号化部8が重要領域全体を符号化した結果の符号量をフレーム内総目標符号量から減算した残帯域に基づいて、非重要領域の品質値を特定する。品質制御部7は、残帯域を全て使って非重要領域全体を符号化する場合の品質値を、品質値の初期値として求める。そして、非重要領域の品質値をその初期値よりも低下させると、イントラ更新できる低品質タイル数は増加する。品質制御部7は、非重要領域の品質値を初期値から1ずつ減少させていき、非重要領域の品質値と、イントラ更新のために符号化した低品質タイルの送信に利用できる符号量(以下、タイル再送用符号量と記す。)の最適な組み合わせを算出する。この動作については、後述する。
非重要領域符号化部10は、品質制御部7が定めた非重要領域の最適な品質値に基づいて、非重要領域全体を符号化する。
イントラ更新部12は、重要領域および非重要領域の符号化結果を送信後の残帯域の範囲内で、低品質タイルを、重要度の高い順に符号化する。このとき、イントラ更新部12は、イントラ更新用の品質値で低品質タイルを符号化する。
送信部13は、重要領域の符号化データ、非重要領域の符号化データ、および低品質タイルの符号化データをそれぞれシンクライアントに送信する。なお、それらの符号化データの送信タイミングは異なる。符号化データの送信タイミングについては、図3に示すフローチャートを参照して後述する。
更新領域検出部2、更新間隔指標算出部4、文字尤度算出部5、重要度算出部6、品質制御部7、重要領域符号化部8、タイル品質保持部9、非重要領域符号化部10、イントラ更新タイル候補選択部11、イントラ更新部12および送信部13は、例えば、画像符号化プログラムに従って動作するコンピュータのCPU(Central Processing Unit)によって実現される。この場合、CPUが、画像符号化プログラムを読み込み、そのプログラムに従って、上記の各部として動作する。画像符号化プログラムは、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。
次に、本発明の処理経過について説明する。図3は、本発明の処理経過の例を示すフローチャートである。更新領域検出部2は、最新のフレームをキャプチャすると(ステップS1)、最新のフレームから更新タイルを検出する(ステップS2)。すなわち、更新領域検出部2は、前のフレームと比較して、変更が生じているタイルを検出する。
最新のフレームに更新タイルがなければ(ステップS3のNo)、ステップS17に移行する。また、更新タイルがあれば(ステップS3のYes)、更新領域検出部2は、タイル情報メモリ3内に記憶されている、ステップS2で検出された更新タイルの更新時刻および更新間隔を書き換える(ステップS4)。すなわち、更新領域検出部2は、その更新タイルの更新時刻(最新のフレームに対応する時刻)と、タイル情報メモリ3に記憶されている前回の更新時刻との差を計算することにより、更新間隔を求め直す。そして、更新領域検出部2は、その更新間隔および最新の更新時刻で、タイル情報メモリ3に記憶されていた更新間隔および更新時刻を書き換える。更新領域検出部2は、ステップS2で検出された更新タイル毎に、更新時刻、更新間隔を書き換える。
続いて、更新領域検出部2は、個々の更新領域を特定する(ステップS5)。
そして、更新間隔指標算出部4は、更新領域毎に、更新間隔指標を算出する(ステップS6)。本実施形態では、更新間隔指標算出部4は、更新領域毎に、更新領域と重なる各タイルのうち、更新間隔が長いタイル(更新間隔が閾値以上であるタイル)の占有率を算出する。
また、文字尤度算出部5は、更新領域毎に、文字尤度を算出する(ステップS7)。ステップS7では、文字尤度算出部5は、まず、フレーム内のタイル毎に文字尤度を算出する。このとき、既に述べたように、文字尤度算出部5は、タイル内でエッジ強度のヒストグラムを求め、その分散値を文字尤度としてもよい。そして、文字尤度算出部5は、例えば、個々の更新領域を1つずつ順次、選択し、選択した更新領域と重なる各タイルの文字尤度の統計値(例えば、平均値、最大値、最小値等)をその更新領域の文字尤度として算出する。文字尤度算出部5は、他の方法で、各更新領域の文字尤度を算出してもよい。
次に、重要度算出部6は、更新領域毎に、更新間隔が長いタイルの占有率と、文字尤度とを加重加算することによって重要度を算出する(ステップS8)。
また、ステップS8において、重要度算出部6は、更新タイル以外の各タイルの重要度も算出する。このとき、重要度算出部6は、前回の更新時刻から、最新のフレームに対応する時刻までの期間が長いほど、また、文字尤度が大きいほど、タイルの重要度を大きな値に定めればよい。
そして、重要度算出部6は、各更新領域を重要度順にソートする(ステップS9)。次に、重要度算出部6は、重要度が閾値以上である更新領域を重要領域として特定する(ステップS10)。また、重要度算出部6は、ステップS10において、各更新領域のうち、重要領域以外の更新領域を非重要領域として定める。
このとき、更新領域全体の面積に対する重要領域全体の面積の割合が所定値(例えば、8%)以上である場合、重要度算出部6は、全ての更新領域を非重要領域として定めてもよい。このように、重要領域の割合が所定値以上の場合、全ての更新領域を非重要領域とすることで、更新領域間で重要度の有意な偏りが検出できなかった場合、後述のステップS11の処理が行われなくなる。その結果、誤判定による悪影響を抑制できる。
重要領域の特定後、品質制御部7は、フレーム内総目標符号量を、更新領域全体の面積に対する重要領域全体の面積の割合(すなわち、重要領域全体の面積/更新領域全体の面積)で按分し、その按分結果に一定値を加算する。品質制御部7は、この結果を、重要領域全体の目標符号量とする。なお、前述のように、品質制御部7は、按分結果に対して、定率乗算を行うことで、重要領域全体の目標符号量を算出してもよい。
そして、品質制御部7は、重要領域全体の目標符号量を用いて、重要領域全体に対する品質値を求める(ステップS11)。例えば、品質制御部7は、重要領域全体の複雑度を算出する。重要領域全体の画像信号値の分散を複雑度として用いることができる。品質制御部7は、目標符号量、複雑度、および品質値の対応関係を示すデータベースを予め保持し、重要領域全体の目標符号量および複雑度に対応する品質値を特定すればよい。なお、品質制御部7は、他の方法で品質値を特定してもよい。
次に、重要領域符号化部8は、ステップS11で決定された品質値に基づいて、重要領域全体を符号化する。そして、送信部13は、重要領域全体の符号化データをシンクライアントに送信する(ステップS12)。
続いて、品質制御部7は、残帯域から非重要領域の品質値を特定する(ステップS13)。なお、図3では、図示を省略しているが、イントラ更新タイル候補選択部11は、ステップS13の直前に、タイル品質保持部9が保持している各タイルの品質値を参照し、更新タイル以外の各タイルのうち、品質値が閾値以下のタイル(すなわち低品質タイル)を全て選択する。
以下、ステップS13の処理を説明する。図4は、ステップS13の処理経過を示すフローチャートである。品質制御部7は、ステップS12で重要領域全体を符号化した結果の符号量をフレーム内総目標符号量から減算した残帯域を全て使って非重要領域全体を符号化する場合の品質値を算出し、品質値の初期値とする(ステップS21)。以下、この初期値をQiniと記す。
次に、品質制御部7は、Qiniから、品質値の下限値(1とする。)までの各品質値で、非重要領域全体を符号化した場合の推定符号量をそれぞれ求める(ステップS22)。例えば、Qini=9であるとする。この場合、品質制御部7は、9,8,・・・,1の各品質値で、非重要領域全体を符号化した場合の推定符号量をそれぞれ求める。
ここでは、前述のように、品質制御部7が、個々の複雑度毎に、品質値と符号量との対応関係を示す情報をデータベースとして保持している場合を例にしてステップS22の処理を説明する。品質制御部7は、ステップS22において、非重要領域全体の画像信号値の分散を、非重要領域の複雑度として求める。品質制御部7は、その複雑度に応じた、品質値と符号量との対応関係を示す情報を参照し、個々の品質値に対応する符号量を特定し、その符号量を、個々の品質値における推定符号量として定めればよい。この推定符号量の導出方法は例示であり、品質制御部7は、他の方法で推定符号量を導出してもよい。
そして、品質制御部7は、Qiniから1減算した値を品質値として選択する(ステップS23)。
そして、品質制御部7は、Qiniに対応する推定符号量と、選択した品質値に対応する推定符号量との差分を計算する(ステップS24)。各品質値に対応する推定符号量は、ステップS22で得られている。
Qiniに対応する推定符号量と、選択した品質値に対応する推定符号量との差分は、非重要領域全体の品質値をQiniから選択中の品質値まで下げた場合に、タイル再送用符号量として割り当てることができる符号量である。前述のように、タイル再送用符号量は、イントラ更新のために符号化した低品質タイルの送信に利用できる符号量である。
以下、選択中の品質値をqと記す。また、ステップS24で計算される差分(タイル再送用符号量)を、選択中の品質値qを添え字としてAqと記す。
ステップS24の後、品質制御部7は、選択中の品質値qでの非重要領域品質指標を算出する(ステップS25)。非重要領域品質指標は、非重要領域の品質を表す指標である。非重要領域品質指標を、選択中の品質値qを添え字としてBqと記す。品質制御部7は、例えば、以下の式(1)の計算によってBqを算出する。
Bq=c*q*S 式(1)
式(1)において、Sは、非重要領域の面積の総和である。また、cは、予め定められた定数(本例は、250とする。)である。
次に、品質制御部7は、送信可能なタイル数の上限値を算出する(ステップS26)。送信可能なタイル数の上限値を、選択中の品質値qを添え字としてTqと記す。
ステップS26において、品質制御部7は、ステップS24で求めたタイル再送用符号量Aqをタイル符号量で除算することによって、送信可能なタイル数の上限値Tqを算出する。ここで、タイル符号量は、イントラ更新のために低品質タイルを再送した場合に1タイル当たりに発生する符号量の推定値である。タイル符号量は、予め定められる。例えば、1つのタイルのサイズが、縦32画素、横32画素であるとする。また、イントラ更新の典型圧縮率を1/15とする。また、1画素にR,G,Bの3バイトのデータが含まれているとする。この場合、タイル符号量を、32*32*3/15=204バイトとして定めておけばよい。この例では、品質制御部7は、タイル再送用符号量Aqを204で除算することによってTqを求めればよい。
続いて、品質制御部7は、イントラ更新タイル候補選択部11によって選択された低品質タイルを、タイルの重要度で降順にソートする。そして、品質制御部7は、ソート後の1番目の低品質タイルからTq番目の低品質タイルまでの各タイルの重要度の総和を計算する(ステップS27)。
そして、品質制御部7は、1番目からTq番目までの各低品質タイルの重要度の総和が、ステップS25で算出した非重要領域品質指標Bqを超えているか否かを判定する(ステップS28)。ステップS27で求めた総和がBqを超えていなければ(ステップS28のNo)、品質制御部7は、選択中の品質値qから1減算した値を、品質値qとして新たに選択する(ステップS29)。そして、品質制御部7は、その新たに選択した品質値qに関して、ステップS24以降の処理を行う。
品質制御部7は、ステップS27で求めた総和がBqを超えるまで、ステップS24〜S29のループ処理を繰り返す。
ステップS27で求めた総和がBqを超えた場合(ステップS28のYes)、品質制御部7は、その時点で選択している品質値qを、非重要領域全体に対する品質値として決定し(ステップS30)、ステップS13を終了する。
ステップS27で求めた総和が初めてBqを超えたときに選択している非重要領域の品質値qで非重要領域全体を符号化し、1番目の低品質タイルからTq番目の低品質タイルに対してイントラ更新を行った場合、その非重要領域全体、および、1番目の低品質タイルからTq番目の低品質タイルまでの各品質タイル全体での品質が最大になると推定できる。
なお、品質値の下限値である1を選択した場合でも、ステップS27で求めた総和がBq以下である場合には、品質制御部7は、Qiniを、非重要領域全体に対する品質値として決定する。
図5は、ステップS13で算出されるAq,Bqの具体例および非重要領域全体に対する品質値の導出例を示す説明図である。図5では、Qini=9である場合を例示し、9,8,7,・・・,1におけるAq,Bqの例を示している。なお、図4に例示するフローチャートでは、Qiniから1減算した値から、各品質値が順に選択される。従って、図4に示す例では、Qiniに対するAq,Bqは計算されないが、図5では便宜的に示している。品質値8の選択時には、ステップS28においてNoと判定されたとする。品質制御部7が、ステップS29で品質値7を選択した後、ステップS24でタイル再送用符号量A=1700を求めたとする。また、非重要領域の面積の総和S=100であり、品質制御部7が、ステップS25で、非重要領域品質指標B=175000を求めたとする。
さらに、品質制御部7は、ステップS26で、Aをタイル符号量(204とする。)で除算することによって、送信可能なタイル数の上限値T=8を得る。なお、品質制御部7は、除算結果の小数点以下を切り捨てる。低品質タイルを降順にソートした結果が、図5に例示した通りになっているとする。品質制御部7は、1番目から8番目までの低品質タイルの重要度の総和を計算する。図5に示す例では、この値は176000となる。すると、176000>Bであるので、品質制御部7は、選択中の品質値7を、非重要領域全体に対する品質値として決定する。
ステップS13の後、非重要領域符号化部10は、ステップS13で決定された品質値に基づいて、非重要領域全体を符号化する。そして、送信部13は、非重要領域全体の符号化データをシンクライアントに送信する(ステップS14)。
ステップS14の処理までに、更新領域(重要領域および非重要領域)の符号化および送信が完了する。既に述べたように、本実施形態では、動画による画像変化は、表示の更新に該当しないものとする。すなわち、フレーム内の動画表示領域は、更新領域に該当しない。フレーム内の動画表示領域が存在する場合、画像符号化装置1は、ステップS14と、後述するステップS15の間で、フレーム内の動画表示領域を符号化してシンクライアントに送信すればよい。
次に、ステップS15において、イントラ更新部12は、ステップS15開始時点における総符号量をフレーム内総目標符号量から減算した残帯域の範囲内で、低品質タイルを重要度順にイントラ更新用の品質値で符号化する。そして、送信部13が、符号化された低品質タイルをシンクライアントに送信する(ステップS15)。ステップS15において、イントラ更新部12は、符号化および送信が完了した低品質タイルの符号量の累積値が残帯域を超えたならば、低品質タイルの符号化を停止する。送信部13は、低品質タイルの符号量の累積値が残帯域を超えた時点の低品質タイルについては送信しない。ただし、イントラ更新部12は、少なくとも1つの低品質タイルを符号化し、送信部13は、その低品質タイルをシンクライアントに送信する。
ステップS15の処理によって、イントラ更新が実現される。
なお、イントラ更新部12は、ステップS15で送信できなかった低品質タイルを次のフレーム以降に持ち越す。イントラ更新部12は、それらの低品質タイルを次フレームで重要度順に送信されるように、低品質タイルを重要度順にソートしておく(ステップS16)。
また、タイル品質保持部9は、重要領域および非重要領域に対して定められた品質値に基づいて、重要領域と重複するタイルおよび非重要領域と重複するタイルの品質値を求め直し、それらのタイルの品質値をそれぞれ保持する。
ステップS16の後、画像符号化装置1は、次のフレームのキャプチャ開始を待つ(ステップS17)。次のフレームをキャプチャした場合には、画像符号化装置1は、そのフレームに対して、ステップS1以降の処理を行う。
本実施形態によれば、更新間隔指標(本例では、更新間隔が長いタイルの占有率)や文字尤度が高い更新領域ほど、重要度が高くなる。従って、更新されない状態がしばらく続いて突然更新が生じた更新領域(例えば、ユーザの操作に応じて表示されたメニュー項目等に該当する領域)は、重要領域として特定される確率が高くなる。同様に、更新の結果文字を表している更新領域も重要領域として特定される確率が高くなる。これらの領域は、ユーザにとって意味のある重要な領域であると考えられる。そして、品質制御部7は、更新領域のうち、重要領域に対しては、フレーム内総目標符号量を「重要領域全体の面積/更新領域全体の面積」で按分した結果よりも多くなるように、重要領域全体に割り当てる目標符号量を算出する。すると、ユーザにとって重要である可能性が高い重要領域は、その他の更新領域(非重要領域)よりも優先的に高品質化される。従って、ユーザは、ユーザにとって意味のある重要領域の表示内容を早く把握することができる。
また、更新領域に非重要領域が存在する場合、品質制御部7は、ステップS13において、非重要領域の品質値を抑制することで、イントラ更新のための符号量を割り当てる(図4に示すステップS21〜S30)。そして、非重要領域に対する符号化および送信後の残帯域の範囲内で、イントラ更新部12が、低品質タイルに対して、重要度の高い順に符号化し、送信部13が符号化された低品質タイルをシンクライアントに送信する。この結果、ユーザにとって重要と考えられる低品質タイルの画質回復を優先的に実現できる。
このような本発明におけるイントラ更新の順序と、図10に例示するイントラ更新の順序とを比較する。図10に示す例では、画面上段の低品質タイルほど優先度が高い。また、同じ段のタイル同士では、ユーザから見て左側のタイルほど、優先度が高い(図10参照)。従って、図10に例示する一般的なイントラ更新では、ユーザにとって意味のある情報を表している低品質タイルが、画面の下部に存在した場合、そのタイルの画質回復までに時間がかかってしまう。一方、本発明では、非重要領域の品質値を抑制し、イントラ更新のための符号量を割り当てた場合、低品質タイルの位置に依存せずに、重要度の高い低品質タイルから優先的にイントラ更新が行われる。よって、ユーザにとって重要と考えられる低品質タイルの画質回復を早めることができる。
また、タイルの更新期間が短いと、タイルの重要度は、低く設定される。従って、文字を表示していると考えられる領域であったとしても、定常的に変化するインジケータ等の表示領域に該当するタイルでは、重要度が低くなる。このように定常的に変化するタイルでは、イントラ更新により画質向上を実現したとしても、短期間のうちに次の描画更新が発生し、イントラ更新による画質向上が無駄になってしまう可能性が高い。定常的に更新が発生し、更新間隔の短いタイルの重要度は低く設定される。よって、イントラ更新による画質向上を行っても直ぐに書き換えられる可能性が高い低品質タイルについては、イントラ更新部12は符号化を遅らせる。その分、ユーザにとって重要と考えられる低品質タイルにおけるイントラ更新のレートを高くすることができ、画像全体の平均品質を向上させることができる。
次に、上記の実施形態の変形例について説明する。
重要度算出部6は、文字尤度を用いずに、更新間隔指標(上記の例では、更新間隔が長いタイルの占有率)に基づいて、各更新領域の重要度を算出してもよい。また、重要度算出部6は、更新タイル以外の各タイルの重要度を定める場合にも、文字尤度を用いなくてもよい。この場合、文字尤度算出部5は設けられていなくてもよい。そして、ステップS7(図3参照)の処理は省略されてもよい。
また、上記の実施形態では、更新間隔が長いタイルの占有率を、更新間隔指標として用いる場合を例にして説明した。更新間隔が長いタイルの占有率以外の値を、更新間隔指標として用いてもよい。例えば、更新領域と重なる各タイルの更新間隔の平均値を、更新間隔指標として用いてもよい。この場合、更新間隔指標算出部4は、更新領域毎に、更新領域と重なる各タイルの更新間隔の平均値を算出すればよい。なお、更新領域と重なる各タイルの大部分では更新間隔が短いが、残りの少数のタイルでは更新間隔が非常に長くなっている場合も生じ得る。この場合、タイル全体としての更新間隔指標は小さな値になることが好ましいが、更新間隔が非常に長い少数のタイルの存在によって、その更新領域における更新間隔の平均値が大きくなってしまうことも考えられる。このような場合を避けるために、更新間隔指標算出部4は、更新間隔の平均値を算出する場合における各タイルの更新間隔の上限値を定めておき、その上限値よりも大きな更新間隔をその上限値で置換した上で、各タイルの更新間隔の平均値を算出することが好ましい。
また、上記の実施形態では、タイル情報メモリ3が、タイル毎の情報として、更新時刻とともに更新間隔も記憶する場合を例にして説明した。タイル情報メモリ3に更新時刻の情報が記憶されていれば、新たにキャプチャしたフレーム内の更新タイルの更新間隔を算出可能である。よって、タイル情報メモリ3が更新間隔の情報を記憶しない構成であってもよい。ただし、この場合であっても、タイル情報メモリ3は、タイル毎に、更新時刻の情報を記憶する。タイル情報メモリ3が更新間隔を記憶しない場合の動作態様の一例を以下に示す。本例では、ステップS4の処理を省略し、ステップS6の開始時点で、更新タイルの前回の更新時刻がタイル情報メモリ3に記憶されているものとする。そして、更新間隔指標算出部4が、更新領域毎に更新間隔指標を算出するときに、各更新タイルの最新の更新時刻(最新のフレームに対応する時刻)と、タイル情報メモリ3に記憶されている前回の更新時刻との差を計算することにより、更新間隔を算出し、その更新間隔を用いて更新間隔指標を算出すればよい。そして、更新間隔指標算出部4が、更新間隔指標を算出した後に、更新タイル毎に、タイル情報メモリ3に記憶されていた更新時刻を書き換えればよい。この動作態様は、タイル情報メモリ3が更新間隔を記憶しない場合の動作態様の一例であり、他の動作態様を採用してもよい。
また、低品質タイルの重要度を定める際に、マウス操作から一定時間内にタイルに更新が生じたときにおけるそのタイルとマウスの位置関係を表すパラメータを利用してもよい。具体的には、マウス操作から一定時間内にタイルに更新が生じた場合、そのタイルの中心座標と、その更新時におけるマウス座標との距離の逆数(以下、ポインタ近接度と記す。)を利用してもよい。図6は、本変形例における画像符号化装置の例を示すブロック図である。既に説明した要素と同様の要素については、図1と同一の符号を付し、説明を省略する。本変形例における画像符号化装置1は、ポインタ近接度算出部14を備える(図6参照)。
ポインタ近接度算出部14は、マウス操作が行われた場合、その操作時刻を記憶する。そして、その時刻から一定時間(例えば500msec)以内の表示を表すフレームから更新タイルが検出された場合、そのフレームにおけるマウス座標と更新タイルの中心座標との距離の逆数を計算することによって、ポインタ近接度を算出する。ポインタ近接度算出部14は、更新タイル毎にポインタ近接度を算出し、個々の更新タイルに対応する情報として、ポインタ近接度をタイル情報メモリ3に記憶させる。
また、ポインタ近接度算出部14は、マウスの操作時刻から一定時間(例えば500msec)経過した後の表示を表すフレームがキャプチャされたときには、タイル情報メモリ3に記憶させた全てのポインタ近接度を0とする。
図7は、ポインタ近接度算出部14の処理経過の例を示すフローチャートである。図3に示す処理と同様の処理については、図3と同一のステップ番号を付している。また、ステップS2よりも前の処理、および、ステップS5以降の処理については、図3と同様であり、図示を省略している。
ステップS2の後、ポインタ近接度算出部14は、マウスの操作時刻から一定時間(本例では500msecとする。)経過した後の表示を表すフレームが最新のフレームとしてキャプチャされたか否かを判定する(ステップS41)。マウスの操作時刻から500msec経過した後の表示を表すフレームがキャプチャされている場合(ステップS41のYes)、ポインタ近接度算出部14は、タイル情報メモリ3に記憶されている全てのポインタ近接度を0にする(ステップS42)。
そして、キャプチャしたフレームに更新タイルがあれば(ステップS3のYes)、更新領域検出部2は、更新タイルの更新時刻および更新間隔を書き換える(ステップS4)。ステップS4については、既に説明した動作と同様であり、ここでは説明を省略する。
ステップS4の後、ポインタ近接度算出部14は、直近にキャプチャした最新のフレームが、マウスの操作時刻から500msec以内の表示を表すフレームであることを条件に、その最新フレームから検出された更新タイル毎に、ポインタ近接度を算出する。このとき、ポインタ近接度算出部14は、更新タイル毎に、その最新フレームにおけるマウス座標と更新タイルの中心座標との距離の逆数を、ポインタ近接度として計算する。そして、ポインタ近接度算出部14は、各更新タイルのポインタ近接度をタイル情報メモリ3に記憶させる(ステップS43)。
ステップS43の後、ステップS5(図3参照)に移行する。
直近にキャプチャした最新のフレームが、マウスの操作時刻から500msec経過後の表示を表すフレームである場合、ポインタ近接度算出部14は上記のステップS43を実行しない。この場合、ステップS4の後、ステップS5(図3参照)に移行する。
ステップS43の処理によって、タイルに対してポインタ近接度が算出された場合、そのポインタ近接度がタイル情報メモリ3に記憶される。
ステップS5以降の処理は、図3に示すステップS5以降の処理と同様である。ただし、重要度算出部6は、更新タイル以外の各タイルの重要度も決定するときに、そのタイルのポインタ近接度も用いる。すなわち、重要度算出部6は、前回の更新時刻から、最新のフレームに対応する時刻までの期間が長いほど、また、文字尤度が大きいほど、また、ポインタ近接度が大きいほど、タイルの重要度を大きな値に定める。
タイルのポインタ近接度が大きいということは、そのタイルが更新されたときにマウスカーソルがそのタイルの近傍に存在していたということを意味する。従って、そのタイルは、ユーザによるマウス操作に伴って更新されたタイルである可能性が高いといえる。マウス操作に伴って更新された箇所は、ユーザにとって重要であるといえる。上記のように、ポインタ近接度が大きいほど、タイルの重要度を大きな値に定めることで、そのタイルのイントラ更新の優先度が高まる。よって、マウス操作に伴って更新された箇所(例えば、ツールバーに対するマウス操作で表示されたメニュー等)の画質回復を早めることができる。
また、前述の実施形態では、更新領域を重要領域と非重要領域の2つのグループに分類する場合を示したが、重要度算出部6は、個々の更新領域の重要度に応じて、更新領域を3つ以上のグループに分類してもよい。この場合、品質制御部7は、更新領域の品質を抑制することで、低品質タイルのイントラ更新のための符号量を確保する。この方法の一例として、以下に示す方法を採用してもよい。なお、以下では、更新領域が、重要度の高い順に第1から第NまでのN個のグループに分けられているとする。
品質制御部7は、重要度の最も低い第Nグループの更新領域全体の品質値を1低下させる。このことによって、第Nグループの更新領域全体を符号化したときの符号量が減少し、その分、余剰符号量(タイル再送用符号量)が増加する。品質制御部7は、その余剰符号量で送信可能な低品質タイルの数と、全グループの更新領域全体の品質指標を算出する。そして、品質制御部7は、第Nグループの更新領域全体の品質値を1低下させたことで、フレーム全体の品質が改善するか否かを判定する。
フレーム全体の品質が改善する場合、品質制御部7は、次に重要度の低いグループ(第N−1グループ)の更新領域全体の品質値を1低下させる。そして、上記と同様に、品質制御部7は、品質を低下させたことで発生する余剰符号量で送信可能な低品質タイルの数と、全グループの更新領域全体の品質指標を算出する。そして、品質制御部7は、第N−1グループの更新領域全体の品質値を1低下させたことで、フレーム全体の品質が改善するか否かを判定する。フレーム全体の品質が改善する場合、品質制御部7は、次に重要度の低いグループの更新領域全体の品質値を1低下させ、上記と同様に、品質値を1低下させたことで、フレーム全体の品質が改善するか否かを判定する。
品質制御部7は、フレーム全体の品質が改善しないと判定されるまで、上記と同様の処理を繰り返す。また、重要度が最も高い第1グループの品質を1低下させたときにも、フレーム全体の品質が改善すると判定したならば、品質制御部7は、再度、重要の最も低い第Nグループの更新領域全体の品質値を1低下させ、同様の処理を繰り返す。
次に、本発明の主要部について説明する。図8は、本発明の画像符号化装置の主要部の例を示すブロック図である。本発明の画像符号化装置は、タイル情報記憶部61と、更新領域検出部62と、更新間隔指標算出部63と、重要領域特定部64と、品質制御部65と、重要領域符号化部66とを備える。
タイル情報記憶部61(例えば、タイル情報メモリ3)は、画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶する。
更新領域検出部62(例えば、更新領域検出部2)は、画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する。
更新間隔指標算出部63(例えば、更新間隔指標算出部4)は、更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する。
重要領域特定部64(例えば、重要度算出部6)は、更新間隔指標を用いて各更新領域から重要領域を特定する。
品質制御部65(例えば、品質制御部7)は、更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する。
重要領域符号化部66(例えば、重要領域符号化部8)は、その品質値で重要領域全体を符号化する。
そのような構成によれば、品質制御部65が、更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当てる。従って、ユーザにとって重要な領域を高い品質で符号化することができる。
また、タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持するタイル品質保持部(例えば、タイル品質保持部9)と、更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択する低品質タイル選択部(例えば、イントラ更新タイル候補選択部11)とを備え、重要領域特定部64が、更新間隔指標を用いて各更新領域の重要度を算出し、重要度に基づいて各更新領域から重要領域を特定し、重要領域特定部64が、更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出し、品質制御部65が、1フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定し、その品質値で非重要領域全体を符号化する非重要領域符号化部(例えば、非重要領域符号化部10)と、イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化するイントラ更新部(例えば、イントラ更新部12)とを備える構成であってもよい。
また、文字の表示領域に該当する尤もらしさを表す文字尤度をタイル毎に算出し、各更新領域の文字尤度を定める文字尤度算出部(例えば、文字尤度算出部5)を備え、重要領域特定部64が、更新間隔指標と文字尤度とを用いて各更新領域の重要度を算出し、更新時刻からの経過時間と文字尤度とを用いてタイルの重要度を算出してもよい。
また、所定の座標への外部からの操作(例えば、マウス操作)から一定時間内にタイルに更新が生じた場合、そのタイルの中心座標と、その更新時における当該座標との距離の逆数であるポインタ近接度を算出するポインタ近接度算出部(例えば、ポインタ近接度算出部14)を備え、重要領域特定部64が、更新時刻からの経過時間とポインタ近接度とを用いてタイルの重要度を算出してもよい。
重要領域特定部64が、更新領域全体の面積に対する重要領域全体の面積の割合が所定値以上である場合、更新領域全体を非重要領域として定めてもよい。
更新間隔指標算出部63が、更新領域毎に、更新間隔指標として、更新領域と重なる更新タイル数のうち、更新間隔が閾値以上となっているタイル数の割合である長更新間隔タイル占有率を算出してもよい。
更新間隔指標算出部63が、更新領域毎に、更新間隔指標として、更新領域と重なる各更新タイルの更新間隔の平均値を算出してもよい。
この出願は、2013年3月27日に出願された日本特許出願2013−067035を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
本発明は、シンクライアントに画像を送信するために画像を符号化する画像符号化装置に好適に利用される。
1 画像符号化装置
2 更新領域検出部
3 タイル情報メモリ
4 更新間隔指標算出部
5 文字尤度算出部
6 重要度算出部
7 品質制御部
8 重要領域符号化部
9 タイル品質保持部
10 非重要領域符号化部
11 イントラ更新タイル候補選択部
12 イントラ更新部
13 送信部

Claims (11)

  1. 画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段と、
    画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出手段と、
    更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出手段と、
    更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定手段と、
    更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御手段と、
    前記品質値で重要領域全体を符号化する重要領域符号化手段とを備える
    ことを特徴とする画像符号化装置。
  2. タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持するタイル品質保持手段と、
    更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択する低品質タイル選択手段とを備え、
    重要領域特定手段は、更新間隔指標を用いて各更新領域の重要度を算出し、重要度に基づいて各更新領域から重要領域を特定し、
    前記重要領域特定手段は、更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出し、
    品質制御手段は、1フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定し、
    前記品質値で非重要領域全体を符号化する非重要領域符号化手段と、
    イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化するイントラ更新手段とを備える
    請求項1に記載の画像符号化装置。
  3. 文字の表示領域に該当する尤もらしさを表す文字尤度をタイル毎に算出し、各更新領域の文字尤度を定める文字尤度算出手段を備え、
    重要領域特定手段は、更新間隔指標と文字尤度とを用いて各更新領域の重要度を算出し、更新時刻からの経過時間と文字尤度とを用いてタイルの重要度を算出する
    請求項2に記載の画像符号化装置。
  4. 所定の座標への外部からの操作から一定時間内にタイルに更新が生じた場合、そのタイルの中心座標と、その更新時における当該座標との距離の逆数であるポインタ近接度を算出するポインタ近接度算出手段を備え、
    重要領域特定手段は、更新時刻からの経過時間とポインタ近接度とを用いてタイルの重要度を算出する
    請求項2または請求項3に記載の画像符号化装置。
  5. 重要領域特定手段は、更新領域全体の面積に対する重要領域全体の面積の割合が所定値以上である場合、更新領域全体を非重要領域として定める
    請求項1から請求項4のうちのいずれか1項に記載の画像符号化装置。
  6. 更新間隔指標算出手段は、更新領域毎に、更新間隔指標として、更新領域と重なる更新タイル数のうち、更新間隔が閾値以上となっているタイル数の割合である長更新間隔タイル占有率を算出する
    請求項1から請求項5のうちのいずれか1項に記載の画像符号化装置。
  7. 更新間隔指標算出手段は、更新領域毎に、更新間隔指標として、更新領域と重なる各更新タイルの更新間隔の平均値を算出する
    請求項1から請求項5のうちのいずれか1項に記載の画像符号化装置。
  8. 画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出し、
    更新タイルの検出時に更新タイルの更新時刻を記憶していくことで、タイル毎に更新時刻を記憶し、
    更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出し、
    更新間隔指標を用いて各更新領域から重要領域を特定し、
    更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定し、
    前記品質値で重要領域全体を符号化する
    ことを特徴とする画像符号化方法。
  9. 更新間隔指標を用いて各更新領域の重要度を算出し、重要度に基づいて各更新領域から重要領域を特定し、
    タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持し、
    更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択し、
    更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出し、
    1フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定し、
    前記品質値で非重要領域全体を符号化し、
    イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化する
    請求項8に記載の画像符号化方法。
  10. 画像のフレームを所定サイズで分割した領域であるタイルの更新時刻を記憶するタイル情報記憶手段を備えたコンピュータに適用される画像符号化プログラムであって、
    前記コンピュータに、
    画像の最新フレームが与えられたときに、当該最新フレームと当該最新フレームの前のフレームとの間で更新が生じているタイルである更新タイルと、更新が生じている領域である更新領域とを検出する更新領域検出処理、
    更新領域毎に、更新領域と重なる各更新タイル全体での更新間隔の長さの指標を表す更新間隔指標を算出する更新間隔指標算出処理、
    更新間隔指標を用いて各更新領域から重要領域を特定する重要領域特定処理、
    更新領域全体の面積に対する重要領域全体の面積の割合で1フレーム当たりの総目標符号量を按分した結果よりも多くの符号量を重要領域全体の目標符号量として割り当て、当該目標符号量に基づいて重要領域全体の品質値を特定する品質制御処理、および、
    前記品質値で重要領域全体を符号化する重要領域符号化処理
    を実行させるための画像符号化プログラム。
  11. コンピュータに、
    タイル内の少なくとも一部の領域に対する品質値が定められたときに、当該タイルの品質値を更新し、保持するタイル品質保持処理、および、
    更新タイル以外のタイルのうち、品質値が閾値以下のタイルである低品質タイルを選択する低品質タイル選択処理を実行させ、
    重要領域特定処理で、更新間隔指標を用いて各更新領域の重要度を算出させ、重要度に基づいて各更新領域から重要領域を特定させ、
    重要領域特定処理で、更新時刻からの経過時間を用いて、更新タイル以外の各タイルの重要度を算出させ、
    品質制御処理で、1フレーム当たりの総目標符号量から重要領域全体を符号化したときの符号量を除いた符号量を用いて、更新領域のうち重要領域に該当しない領域である非重要領域全体を符号化する場合の非重要領域全体の品質値を、非重要領域全体の品質値の初期値として定め、非重要領域全体の品質値を初期値から順次低下させ、イントラ更新可能となる低品質タイル数を算出し、非重要領域およびイントラ更新可能となる低品質タイル全体の品質が最大になると推定されるときの非重要領域全体の品質値を特定させ、
    前記品質値で非重要領域全体を符号化する非重要領域符号化処理、および、
    イントラ更新可能となる低品質タイルを、イントラ更新用の品質値で重要度順に符号化するイントラ更新処理を実行させる
    請求項10に記載の画像符号化プログラム。
JP2015507979A 2013-03-27 2014-01-27 画像符号化装置、画像符号化方法および画像符号化プログラム Active JP6314973B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013067035 2013-03-27
JP2013067035 2013-03-27
PCT/JP2014/000379 WO2014155919A1 (ja) 2013-03-27 2014-01-27 画像符号化装置、画像符号化方法および画像符号化プログラム

Publications (2)

Publication Number Publication Date
JPWO2014155919A1 JPWO2014155919A1 (ja) 2017-02-16
JP6314973B2 true JP6314973B2 (ja) 2018-04-25

Family

ID=51622946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015507979A Active JP6314973B2 (ja) 2013-03-27 2014-01-27 画像符号化装置、画像符号化方法および画像符号化プログラム

Country Status (3)

Country Link
US (1) US9986239B2 (ja)
JP (1) JP6314973B2 (ja)
WO (1) WO2014155919A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6248671B2 (ja) * 2014-02-10 2017-12-20 富士通株式会社 情報処理装置、方法、プログラム、および情報処理システム
JP6589526B2 (ja) * 2015-09-30 2019-10-16 ブラザー工業株式会社 ビットレート決定装置、サーバ装置、ビットレート決定方法、及びプログラム
JP6922341B2 (ja) * 2017-03-31 2021-08-18 日本電気株式会社 画像符号化装置、画像符号化方法及びプログラム
US10587800B2 (en) * 2017-04-10 2020-03-10 Intel Corporation Technology to encode 360 degree video content
JP6694905B2 (ja) * 2018-03-13 2020-05-20 株式会社日立国際電気 映像符号化装置及び映像符号化方法
US11044474B2 (en) * 2019-02-18 2021-06-22 Glenfly Technology Co., Ltd. Image compression method and image processing system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001086501A (ja) * 1997-03-28 2001-03-30 Matsushita Electric Ind Co Ltd 画像符号化方法、イントラ符号化制御方法、データ記録媒体、画像符号化装置、画像復号装置、画像符号化復号装置及び無線画像通信端末装置
EP1292884A2 (en) 2000-06-12 2003-03-19 Preworx ( Proprietary) Limited System for controlling a display of the user interface of a software application
JP4035475B2 (ja) 2003-04-16 2008-01-23 キヤノン株式会社 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
JP4176663B2 (ja) * 2003-06-19 2008-11-05 松下電器産業株式会社 送信装置、画像処理システム、画像処理方法、プログラム、及び記録媒体
JP4403396B2 (ja) * 2004-07-13 2010-01-27 ソニー株式会社 撮像装置及び撮像素子の集積回路
JP4594913B2 (ja) 2006-09-26 2010-12-08 株式会社東芝 画像転送装置、方法およびプログラム
WO2009004996A1 (ja) * 2007-06-29 2009-01-08 Nec Corporation 画面伝送システム、画面送信サーバ、画面伝送方法およびプログラム記録媒体
US8363719B2 (en) * 2007-10-29 2013-01-29 Canon Kabushiki Kaisha Encoding apparatus, method of controlling thereof, and computer program
JP2010171876A (ja) * 2009-01-26 2010-08-05 Yamaha Corp 通信装置及び通信システム
JP5152044B2 (ja) 2009-03-06 2013-02-27 日本電気株式会社 画像符号化装置および方法並びにプログラム
JP5471794B2 (ja) * 2010-05-10 2014-04-16 富士通株式会社 情報処理装置、画像送信プログラム及び画像表示方法
US9007432B2 (en) * 2010-12-16 2015-04-14 The Massachusetts Institute Of Technology Imaging systems and methods for immersive surveillance

Also Published As

Publication number Publication date
US20160044311A1 (en) 2016-02-11
WO2014155919A1 (ja) 2014-10-02
US9986239B2 (en) 2018-05-29
JPWO2014155919A1 (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
JP6314973B2 (ja) 画像符号化装置、画像符号化方法および画像符号化プログラム
US8953676B2 (en) Information processing apparatus, computer-readable storage medium storing image transmission program, and computer-readable non transitory storage medium storing image display program
US10298970B2 (en) Image transmission method and apparatus
CN111556318B (zh) 数据传输方法及装置
US9219925B2 (en) Video image coded data display method, device, and communications system
US8477842B2 (en) Encoding method of screen frame and electronic device applying the same
CN104735449A (zh) 一种基于矩形分割隔列扫描的图像传输方法及系统
JPWO2008047865A1 (ja) 画質評価方法、画質評価システム及び画質評価用プログラム
CN107801093B (zh) 视频渲染方法、装置、计算机设备和可读存储介质
JP2007025073A (ja) データ伝送方法、データ送信装置及びデータ受信装置、並びにプログラム
EP3722949B1 (en) Image transmission method, apparatus and storage medium
US20120106632A1 (en) Method and apparatus for error resilient long term referencing block refresh
US9307245B2 (en) Moving image encoding device
CN101263713A (zh) 用于运动补偿的自然成形区域
EP2564334A1 (en) Methods and apparatuses for facilitating remote data processing
EP4300959A1 (en) Video frame processing method and apparatus, training method and apparatus, device, and storage medium
US20190349616A1 (en) Method and device for transmitting video
US20150036160A1 (en) Method of processing graphics with limited memory
US20160155429A1 (en) Information processing apparatus and terminal device
JP2019057886A (ja) 符号化装置、符号化方法及びプログラム
CN110740335A (zh) 数据传输方法、系统及设备
CN112100678B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN114760529A (zh) 多通道视频数据的传输方法、装置、计算机设备
CN112836568B (zh) 位置预测方法、装置、电子设备及可读存储介质
JP2013081004A (ja) サーバ、サーバ制御方法、サーバ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161214

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180312

R150 Certificate of patent or registration of utility model

Ref document number: 6314973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150