JP5029543B2 - 符号化装置および符号化プログラム - Google Patents

符号化装置および符号化プログラム Download PDF

Info

Publication number
JP5029543B2
JP5029543B2 JP2008230958A JP2008230958A JP5029543B2 JP 5029543 B2 JP5029543 B2 JP 5029543B2 JP 2008230958 A JP2008230958 A JP 2008230958A JP 2008230958 A JP2008230958 A JP 2008230958A JP 5029543 B2 JP5029543 B2 JP 5029543B2
Authority
JP
Japan
Prior art keywords
macroblock
blocks
boundary
encoding
division format
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
JP2008230958A
Other languages
English (en)
Other versions
JP2010068103A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008230958A priority Critical patent/JP5029543B2/ja
Priority to US12/551,983 priority patent/US8582653B2/en
Publication of JP2010068103A publication Critical patent/JP2010068103A/ja
Application granted granted Critical
Publication of JP5029543B2 publication Critical patent/JP5029543B2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Description

本発明は、符号化装置および符号化プログラムに関する。
シンクライアントシステムで用いられるVNC(Virtual Network Computing)などのように、端末がネットワーク上の他の端末を遠隔操作するシステムにおいては、操作画面がネットワーク上を伝送されることになる。従来、操作画面は、ビットマップイメージなどで伝送されていたが、近年では、帯域幅を少なくすることを目的として、H.264などの映像符号化方式で符号化された操作画面が伝送される。
ところで、例えば、図11に示すように、複数のウィンドウが重なり合う操作画面を符号化する際、符号化装置は、ウィンドウ同士の境界については、境界に沿う最適な分割形式でマクロブロックを分割し、分割したブロックごとに動きベクトル予測を行う。ここで、H.264では、図12に示すように、16×16画素のマクロブロックを複数のブロックに分割する分割形式として、4×4画素のブロックに分割する分割形式まで様々な分割形式が存在する。
このため、符号化装置は、例えば、図13に示すように、境界の角に相当する部分がマクロブロックに含まれる場合には、図12に示す様々な分割形式(あるいは分割形式の組合せ)を全て試した上で、境界に沿う最適な分割形式を決定し、分割した各ブロックで動きベクトル予測を行う。なお、図11は、従来の技術を説明するための図であり、図12および図13は、マクロブロックの分割を説明するための図である。
特開昭62−025588号公報
ところで、上記した従来の技術では、演算量が多くなってしまうという課題があった。すなわち、符号化装置は、ウィンドウ同士の境界については、様々な分割形式(あるいは分割形式の組合せ)を全て試した上で、境界に沿う最適な分割形式を決定し、分割した各ブロックで動きベクトル予測を行うので、演算量が多くなる。
なお、上記した課題は、H.264で符号化する場合に限られず、ITU(International Telecommunication Union)−T(Telecommunication Standardization Sector)で標準化されたH.261、H.263や、ISO(International Organization for Standardization)で標準化されたMPEG(Moving Picture Experts Group)−1、2、4、AVC(Advanced Video Coding)などで符号化する場合にも、同様に課題となる。
そこで、本発明は、上記した従来の技術の課題を解決するためになされたものであり、演算量を減らすことが可能な符号化装置および符号化プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、複数のウィンドウで構成される画面において、画面内のウィンドウの配置を示すウィンドウ情報を取得する。ウィンドウ情報とマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。グループに分類したブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、当該動きベクトル予測の予測結果を当該同一のグループに分類された他のブロックに適用する。
演算量を減らすことが可能になる。
以下に添付図面を参照して、本発明に係る符号化装置および符号化プログラムの実施例を詳細に説明する。なお、以下では、まず、実施例1に係る符号化装置の概要を説明し、続いて、構成、処理手順、効果を説明する。次に、他の実施例を説明する。
[実施例1に係る符号化装置の概要]
まず、図1を用いて、実施例1に係る符号化装置の概要を説明する。図1は、実施例1に係る符号化装置の概要を説明するための図である。なお、実施例1では映像符号化方式として、H.264を用いる。
実施例1に係る符号化装置は、複数のウィンドウで構成される操作画面において、操作画面内のウィンドウの配置を示すウィンドウ情報を取得する。例えば、図1に示すように、ウィンドウ1およびウィンドウ2が操作画面上に存在している場合には、符号化装置は、ウィンドウ1のウィンドウ情報およびウィンドウ2のウィンドウ情報を取得する。
例えば、ウィンドウ1のウィンドウ情報は、操作画面の左上端を起点としウィンドウの左上端までの垂直位置『24』、水平位置『32』、ウィンドウの垂直方向の大きさ『94』、水平方向の大きさ『102』などを含む。また、ウィンドウ1が最前面に配置されているといった重なり合いなども含む。
次に、実施例1に係る符号化装置は、取得したウィンドウ情報と、操作画面を16×16画素のマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定する。例えば、図1に示すように、符号化装置は、操作画面を符号化する際、操作画面の左上端から操作画面をマクロブロック単位に分割するので、マクロブロックの配置を示すマクロブロック情報を記憶している。このため、符号化装置は、ウィンドウ情報とマクロブロック情報とから、境界を含むマクロブロックを特定する。
例えば、符号化装置は、図1に示すように、ウィンドウ1とウィンドウ2とが重なり合うウィンドウ同士の境界のマクロブロックとして太枠で囲ったマクロブロックを特定する。
続いて、実施例1に係る符号化装置は、ウィンドウ情報とマクロブロック情報とから、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。
例えば、符号化装置は、図1に示すように、境界のマクロブロックとして特定したマクロブロックの内、境界の右端の部分が含まれるマクロブロックについては、分割形式を『1』と決定する。分割形式『1』とは、図12の8×16画素の2ブロックに分割する分割形式である。
また、符号化装置は、同様に、境界の下端の部分が含まれるマクロブロックについては、分割形式を『2』と決定し、境界の角の部分が含まれるマクロブロックについては、分割形式を『3』と決定する。分割形式『2』とは、図12の16×8画素の2ブロックに分割する分割形式であり、分割形式『3』とは、図12の8×8画素の4ブロックに分割する形式である。
そして、符号化装置は、分割形式を決定したウィンドウの境界のマクロブロックについては、決定した分割形式に従って複数のブロックに分割し、分割したブロック単位で動きベクトル予測を行う。
すなわち、符号化装置は、境界の右端の部分が含まれるマクロブロックについては、8×16画素の2ブロックに分割し、分割したブロック単位で動きベクトル予測を行う。また、境界の下端の部分が含まれるマクロブロックについては、16×8画素の2ブロックに分割し、境界の角の部分が含まれるマクロブロックについては、8×8画素の4ブロックに分割し、分割したブロック単位で動きベクトル予測を行う。
なお、後述するように、実施例1に係る符号化装置は、ブロックを符号化する際に、同一のグループに分類されたブロック間で、動きベクトル予測の予測結果をコピーする。
上記してきたように、実施例1に係る符号化装置は、ウィンドウ同士の境界について、様々な分割形式を全て試した上で境界に沿う最適な分割形式を決定するのではなく、ウィンドウ情報とマクロブロック情報とを用いて最適な分割方式を決定する。このようなことから、実施例1によれば、分割形式を決定する処理の演算量を減らすことが可能になる。
また、実施例1に係る符号化装置は、同一のグループに分類されたブロック間で、動きベクトル予測の予測結果をコピーするので、動きベクトル予測処理の演算量を減らすことが可能になる。
[実施例1に係る符号化装置の構成]
次に、図2〜図8を用いて、実施例1に係る符号化装置の構成を説明する。図2は、実施例1に係る符号化装置の構成を示すブロック図である。
図2に示すように、実施例1に係る符号化装置10は、境界処理部11と、符号化制御部16と、操作画面取得部17と、符号化部18とを備える。
境界処理部11は、ウィンドウ情報を取得して、マクロブロックの分割形式やグルーピングを決定する。具体的には、境界処理部11は、ウィンドウ情報取得部12と、マクロブロック情報記憶部13と、ブロック分割形式決定部14と、グルーピング決定部15とを備える。
ウィンドウ情報取得部12は、操作画面上に存在している複数のウィンドウについて、操作画面内の配置を示すウィンドウ情報を取得する。具体的には、ウィンドウ情報取得部12は、ブロック分割形式決定部14と接続され、操作画面を描画するグラフィックボードなどにおいて収集されたウィンドウ情報を取得し、取得したウィンドウ情報をブロック分割形式決定部14に通知する。
例えば、ウィンドウ情報取得部12は、図3に示すようなウィンドウ情報を取得する。図3は、ウィンドウ情報を説明するための図である。ここで、『Window_No』は、操作画面上のウィンドウ番号であり、『Position_H』は、操作画面の左上端を起点としウィンドウの左上端までの垂直位置であり、『Position_W』は、操作画面の左上端を起点としウィンドウの左上端までの水平位置である。また、『Height』は、ウィンドウの垂直方向の大きさであり、『Width』は、ウィンドウの水平方向の大きさであり、『Layer_No』は、ウィンドウの重なりであり、『Layer_Base』は、どのウィンドウの背面にあるかを示す。『Layer_No』は『1』から開始し、背面に行くに従って加算されるものとする。図3の例では、ウィンドウ1が前面であり、ウィンドウ2が背面となる。
マクロブロック情報記憶部13は、操作画面をマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報を記憶する。具体的には、マクロブロック情報記憶部13は、ブロック分割形式決定部14とグルーピング決定部15と接続される。マクロブロック情報記憶部13が記憶するマクロブロック情報は、ブロック分割形式決定部14による処理やグルーピング決定部15による処理に利用される。
例えば、マクロブロック情報記憶部13は、図4に示すようなマクロブロック情報を記憶する。図4は、マクロブロック情報記憶部を説明するための図である。ここで、『マクロブロック番号』は、操作画面をマクロブロック単位に分割する際のマクロブロックを識別する番号である。また、『Position_H』は、操作画面の左上端を起点としマクロブロックの左上端までの垂直位置であり、『Position_W』は、操作画面の左上端を起点としマクロブロックの左上端までの水平位置である。また、『境界』は、重なり合うウィンドウ同士の境界を含むマクロブロックとして特定されたマクロブロックを識別する情報であり、図4の例では丸印で識別している。また、『ブロック分割形式』は、決定されたブロック分割形式を示す。
なお、『マクロブロック番号』、『Position_H』、および『Position_W』は、原則として変化しない情報であるので、マクロブロック情報記憶部13は、これらの情報を予め利用者によって入力されるなどして記憶する。一方、『境界』および『ブロック分割形式』は、操作画面に応じて変化しうる情報である。マクロブロック情報記憶部13は、これらの情報をブロック分割形式決定部14によって格納されることで記憶する。
ブロック分割形式決定部14は、ウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。具体的には、ブロック分割形式決定部14は、ウィンドウ情報取得部12とマクロブロック情報記憶部13とグルーピング決定部15と接続される。
ブロック分割形式決定部14は、ウィンドウ情報取得部12によって取得されたウィンドウ情報と、マクロブロック情報記憶部13に記憶されているマクロブロック情報とを利用して、境界を含むマクロブロックを特定するとともに分割形式を決定する。また、ブロック分割形式決定部14は、境界を含むマクロブロックを特定すると、特定した情報をマクロブロック情報記憶部13に格納し、分割形式を決定すると、決定した分割形式をマクロブロック情報記憶部13に格納する。さらに、ブロック分割形式決定部14は、マクロブロックの特定や分割形式の決定が終了した旨をグルーピング決定部15に通知する。
例えば、ブロック分割形式決定部14は、図1に示すように、境界を含むマクロブロックを特定する。すなわち、ブロック分割形式決定部14は、図3に示すようなウィンドウ情報と、図4に示すようなマクロブロック情報とを利用することで、『マクロブロック番号』が『247』、『367』、『487』、『607』、『727』で識別されるマクロブロックは、境界の右端の部分が含まれるマクロブロックであると特定する。また、ブロック分割形式決定部14は、『マクロブロック番号』が『843』、『844』、『845』、『846』、『847』で識別されるマクロブロックは、境界の下端の部分が含まれるマクロブロックであると特定する。また、ブロック分割形式決定部14は、『マクロブロック番号』が『848』で識別されるマクロブロックは、境界の角の部分が含まれるマクロブロックであると特定する。
また、ブロック分割形式決定部14は、図1に示すように、特定したマクロブロックの分割形式を決定する。すなわち、ブロック分割形式決定部14は、図3に示すようなウィンドウ情報と、図4に示すようなマクロブロック情報とを利用することで、境界の右端の部分が含まれるマクロブロック、つまり『マクロブロック番号』が『247』、『367』、『487』、『607』、『727』で識別されるマクロブロックは、8×16画素の2ブロックに分割する分割方式『1』と決定する。また、ブロック分割形式決定部14は、境界の下端の部分が含まれるマクロブロック、つまり『マクロブロック番号』が『843』、『844』、『845』、『846』、『847』で識別されるマクロブロックは、16×8画素の2ブロックに分割する分割形式『2』と決定する。また、ブロック分割形式決定部14は、境界の角の部分が含まれるマクロブロック、つまり『マクロブロック番号』が『848』で識別されるマクロブロックは、8×8画素の4ブロックに分割する分割形式『3』であると決定する。
グルーピング決定部15は、ウィンドウ同士の境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。具体的には、グルーピング決定部15は、ブロック分割形式決定部14とマクロブロック情報記憶部13と接続される。
グルーピング決定部15は、ブロック分割形式決定部14からマクロブロックの特定や分割形式の決定が終了した旨を通知されると、マクロブロック情報記憶部13を参照し、グループ情報を作成する。また、グルーピング決定部15は、マクロブロック情報記憶部13に記憶されているマクロブロックのマクロブロック番号や、分割形式、および作成したグループ情報をまとめて、符号化制御部16に通知する。
例えば、グルーピング決定部15は、図4に示すようなマクロブロック情報を参照し、境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、図5〜図7に示すように、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。図5は、ウィンドウ境界部分(角)におけるブロック分割とグルーピングを説明するための図である。図6は、ウィンドウ境界部分(右端)におけるブロック分割とグルーピングを説明するための図である。図7は、ウィンドウ境界部分(下端)におけるブロック分割とグルーピングを説明するための図である。
図5に示すように、境界の角の部分が含まれるマクロブロックについて、グルーピング決定部15は、分割形式『3』に従って8×8画素の4ブロックに分割する。そして、グルーピング決定部15は、境界の角を含む左上のブロックのグループ『1』と、境界の角を含まないその他のブロックのグループ『2』とに分類する。また、図6に示すように、境界の右端の部分が含まれるマクロブロックについて、グルーピング決定部15は、分割形式『1』に従って8×16画素の2ブロックに分割する。そして、グルーピング決定部15は、境界の右端を含む左側のブロックのグループ『1』と、境界の右端を含まない右側のブロックのグループ『2』とに分類する。また、図7に示すように、境界の下端の部分が含まれるマクロブロックについて、グルーピング決定部15は、分割形式『2』に従って16×8画素の2ブロックに分割する。そして、グルーピング決定部15は、境界の下端を含む上側のブロックのグループ『1』と、境界の下端を含まない下側のブロックのグループ『2』とに分類する。
そして、グルーピング決定部15は、グループ情報を作成する。例えば、図8に示すようなグループ情報を作成する。図8は、グループ情報を説明するための図である。図8に示すグループ情報は、図5のように境界の角の部分が含まれるマクロブロックに関するグループ情報である。すなわち、境界の角の部分が含まれるマクロブロックは、8×8画素の4ブロックに分割され、境界の角を含む左上のブロックのグループ『1』と、境界の角を含まないその他のブロックのグループ『2』とに分類された。グループ情報は、図8に示すように、左上のブロックを『Block_No1』としている。このため、『Block_No1』のブロックのみが『Group=1』であり、他のブロックは『Group=2』である。
ここで、『ME_flag』は、動きベクトル予測を行うブロックか否かを示すフラグである。すなわち、『ME_flag』は、グループ情報のひとつとしてグルーピング決定部15から符号化制御部16に通知され、符号化制御部16による符号化制御に利用される。
符号化制御部16は、分類されたグループに従って符号化を制御する。具体的には、符号化制御部16は、グルーピング決定部15と符号化部18と接続される。また、符号化制御部16は、グルーピング決定部15によって通知されたマクロブロック番号、分割形式、グループ情報を利用して、符号化部18による符号化を制御する。
例えば、符号化制御部16は、マクロブロック番号『848』、分割形式『3』、および図8に示すようなグループ情報をグルーピング決定部15から通知される。すると、符号化制御部16は、マクロブロック番号『848』で識別されるマクロブロックについて、図8に示すようなグループ情報に基づいて符号化するように、符号化部18による符号化を制御する。すなわち、符号化制御部16は、境界を含まないグループとして『Group=2』に分類された3つのブロック間で、動きベクトル予測の予測結果をコピーするように制御する。
つまり、符号化制御部16は、境界を含まないグループとして『Group=2』に分類されたブロックについて、『ME_flag=1』になっているブロック『Block_No4』のみで動きベクトル予測を行い、『ME_flag=0』になっているブロック『Block_No2』および『Block_No3』については、ブロック『Block_No4』の動きベクトル予測の結果をコピーするように制御する。
操作画面取得部17は、操作画面を取得する。具体的には、操作画面取得部17は、符号化部18と接続され、グラフィックボードなどにおいて収集された操作画面を取得し、取得した操作画面を符号化部18に送信する。
符号化部18は、操作画面を符号化する。具体的には、符号化部18は、符号化制御部16と操作画面取得部17と接続され、符号化制御部16によって制御されつつ、操作画面取得部17から送信された操作画面を符号化する。
[実施例1に係る符号化装置による処理手順]
次に、図9を用いて、実施例1に係る符号化装置による処理手順を説明する。図9は、実施例1に係る符号化装置による処理手順を示すフローチャートである。
まず、図9に示すように、ウィンドウ情報取得部12が、ウィンドウ情報を取得したか否かを判定し(ステップS101)、取得した場合には(ステップS101肯定)、取得したウィンドウ情報をブロック分割形式決定部14に通知する。
すると、次に、ブロック分割形式決定部14が、ウィンドウ情報取得部12から通知されたウィンドウ情報と、マクロブロック情報とを利用して、ウィンドウ同士の境界を含むマクロブロックを特定する(ステップS102)。
続いて、ブロック分割形式決定部14は、ウィンドウ情報取得部12から通知されたウィンドウ情報と、マクロブロック情報とを利用して、特定したマクロブロックを境界に沿うように分割する分割形式を決定する(ステップS103)。
そして、グルーピング決定部15が、マクロブロック情報記憶部13を参照し、ウィンドウ同士の境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、境界を含むブロックであるか否かに応じてグループに分類する(ステップS104)。グルーピング決定部15は、グループ情報を作成し、他の情報とまとめて符号化制御部16に通知する。
その後、符号化制御部16は、グルーピング決定部15によって通知されたマクロブロック番号、分割形式、グループ情報を利用して、符号化部18による符号化を制御する(ステップS105)。すなわち、符号化制御部16は、同一のグループに分類されたブロック間で、動きベクトル予測の予測結果をコピーするように制御する。その後、符号化装置10は、処理を終了する。
[実施例1の効果]
上記してきたように、実施例1に係る符号化装置10は、ウィンドウ情報取得部12が、操作画面上に存在している複数のウィンドウについて、操作画面内のウィンドウの配置を示すウィンドウ情報を取得する。また、ブロック分割形式決定部14が、ウィンドウ情報とマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。また、グルーピング決定部15が、境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。そして、符号化制御部16が、グループに分類されたブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、動きベクトル予測の予測結果を同一のグループに分類された他のブロックに適用する。
このようなことから、実施例1に係る符号化装置10によれば、演算量を減らすことが可能になる。すなわち、実施例1に係る符号化装置10は、図12に示す全ての分割形式を試すことなく、ウィンドウの境界を含むマクロブロックの分割形式を決定するので、分割形式を決定する処理の演算量を減らすことが可能になる。さらに、実施例1に係る符号化装置10は、マクロブロックを分割したブロックをグルーピングすることによって、動きベクトル予測処理の演算量を減らすことが可能になる。例えば、図13に示す境界がマクロブロックに含まれる時に、図5に示すようなグルーピングを行うことで、動きベクトル予測が4ブロック分必要なところを2ブロック分で済ませることが可能になる。
また、実施例1に係る符号化装置10は、ウィンドウ情報は、少なくとも、ウィンドウの位置およびウィンドウの大きさを含む情報であり、重なり合うウィンドウ同士の前面もしくは背面を示す情報をさらに含む情報である。このようなことから、実施例1に係る符号化装置10によれば、重なり合うウィンドウ同士の境界を容易に特定することが可能になる。
また、実施例1に係る符号化装置10は、グルーピング決定部15が、分割した複数のブロックを、前面のウィンドウに含まれるブロックのグループと背面のウィンドウに含まれるブロックのグループとにウィンドウ情報を用いて分類する。このようなことから、実施例1に係る符号化装置10によれば、動きベクトル予測処理の演算量を減らすことが可能になる。
また、実施例1に係る符号化装置10は、グルーピング決定部15が、分割した複数のブロックを、ウィンドウ情報によって前面のウィンドウと示されるウィンドウに前記境界を含むように分類する。これは、動きベクトルはエッジの影響を受けやすいこと、境界は前面ウィンドウに合わせて動き、背面ウィンドウは殆ど動くことはないからである。このようなことから、実施例1に係る符号化装置10によれば、境界での画質劣化を抑えることが可能になる。
また、実施例1に係る符号化装置10は、符号化制御部16が、同一のグループに分類されたブロックの内、所定のブロックを用いて動きベクトル予測を行い、動きベクトル予測の予測結果を、同一のグループに分類された他のブロックに適用する。このようなことから、実施例1に係る符号化装置10によれば、動きベクトル予測処理の演算量を減らすことが可能になる。
[他の実施例]
さて、これまで本発明の実施例1について説明してきたが、本発明は、上記の実施例1以外にも、種々の異なる形態にて実施されてよいものである。
[ME_flagを通知しない方法]
実施例1においては、グルーピング決定部15が、グループ情報を作成する際に、動きベクトル予測を行うブロックか否かを示す『ME_flag』を作成し、符号化制御部16に通知する手法を説明した。すなわち、実施例1において、符号化制御部16は、グルーピング決定部15から通知された『ME_flag』を用いて、動きベクトル予測の予測結果をコピーしていた。しかし、本発明はこれに限られるものではない。
例えば、グルーピング決定部15は、『ME_flag』を符号化制御部16に通知しなくてもよい。この場合、符号化制御部16は、同一のグループに分類されたブロックから任意のブロックを選択して動きベクトル予測を行い、動きベクトル予測の予測結果を同一のグループで選択しなかった他のブロックにコピーしてもよい。
[H.264以外の映像符号化方式]
また、実施例1においては、画面を符号化する際に、映像符号化方式としてH.264を用いる場合を想定して説明してきたが、本発明はこれに限られるものではない。映像符号化方式としてH.261、H.263や、MPEG1、2、4を用いる場合にも、本発明を同様に適用することができる。すなわち、本発明は、画面を符号化する際に、ウィンドウ同士の境界を含むマクロブロックを分割する映像符号化方式であれば、どのような映像符号化方式にも適用することができる。
[システム構成等]
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順(図9など)、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示(図2など)の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[符号化プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図10を用いて、上記の実施例と同様の機能を有する符号化プログラムを実行するコンピュータの一例を説明する。図10は、符号化プログラムを実行するコンピュータを示す図である。
図10に示すように、符号化プログラム(コンピュータ)20は、キャッシュ21、RAM(Random Access Memory)22、HDD(Hard Disk Drive)23、ROM(Read Only Memory)24およびCPU25をバス26で接続して構成される。ここで、ROM24には、上記の実施例と同様の機能を発揮する符号化プログラム、つまり、図10に示すように、ウィンドウ情報取得プログラム24a、ブロック分割形式決定プログラム24b、グルーピング決定プログラム24c、符号化制御プログラム24d、操作画面取得プログラム24e、符号化プログラム24fが備えられる。
そして、CPU25は、これらのプログラム24a〜24fを読み出して実行することで、図10に示すように、各プログラム24a〜24fは、ウィンドウ情報取得プロセス25a、ブロック分割形式決定プロセス25b、グルーピング決定プロセス25c、符号化制御プロセス25d、操作画面取得プロセス25e、符号化プロセス25fとなる。なお、各プロセス25a〜25fは、図2に示した、ウィンドウ情報取得部12、ブロック分割形式決定部14、グルーピング決定部15、符号化制御部16、操作画面取得部17、符号化部18にそれぞれ対応する。
また、HDD23は、図10に示すように、マクロブロック情報テーブル23aを備える。なお、マクロブロック情報テーブル23aは、図2に示したマクロブロック情報記憶部13に対応する。
ところで、上記した各プログラム24a〜24fについては、必ずしもROM24に記憶させておく必要はなく、例えば、コンピュータ20に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」、または、コンピュータ20の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらには、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介してコンピュータ20に接続される「他のコンピュータ(またはサーバ)」に記憶させておき、コンピュータ20がこれらからプログラムを読み出して実行するようにしてもよい。
実施例1に係る符号化装置の概要を説明するための図である。 実施例1に係る符号化装置の構成を示すブロック図である。 ウィンドウ情報を説明するための図である。 マクロブロック情報記憶部を説明するための図である。 ウィンドウ境界部分(角)におけるブロック分割とグルーピングを説明するための図である。 ウィンドウ境界部分(右端)におけるブロック分割とグルーピングを説明するための図である。 ウィンドウ境界部分(下端)におけるブロック分割とグルーピングを説明するための図である。 グループ情報を説明するための図である。 実施例1に係る符号化装置による処理手順を示すフローチャートである。 符号化プログラムを実行するコンピュータを示す図である。 従来の技術を説明するための図である。 マクロブロックの分割を説明するための図である。 マクロブロックの分割を説明するための図である。
符号の説明
10 符号化装置
11 境界処理部
12 ウィンドウ情報取得部
13 マクロブロック情報記憶部
14 ブロック分割形式決定部
15 グルーピング決定部
16 符号化制御部
17 操作画面取得部
18 符号化部
20 符号化プログラム(コンピュータ)
21 キャッシュ
22 RAM
23 HDD
24 ROM
25 CPU
26 バス

Claims (2)

  1. 複数のウィンドウで構成される画面において、当該画面内のウィンドウの配置を示すウィンドウ情報を取得するウィンドウ情報取得手段と、
    前記ウィンドウ情報取得手段によって取得されたウィンドウ情報と前記画面をマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定した当該マクロブロックを当該境界に沿うように分割する分割形式を決定する分割形式決定手段と、
    前記分割形式決定手段によって特定されたマクロブロックを前記分割形式決定手段によって決定された分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する分類手段と、
    前記分類手段によってグループに分類されたブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、当該動きベクトル予測の予測結果を当該同一のグループに分類された他のブロックに適用する符号化手段と、
    を備えたことを特徴とする符号化装置。
  2. 複数のウィンドウで構成される画面において、当該画面内のウィンドウの配置を示すウィンドウ情報を取得するウィンドウ情報取得手順と、
    前記画面をマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報を記憶する記憶部から、当該マクロブロック情報を読み出すマクロブロック情報読出手順と、
    前記ウィンドウ情報取得手順によって取得されたウィンドウ情報と前記マクロブロック情報読出手順によって読み出されたマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定した当該マクロブロックを当該境界に沿うように分割する分割形式を決定する分割形式決定手順と、
    前記分割形式決定手順によって特定されたマクロブロックを前記分割形式決定手順によって決定された分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する分類手順と、
    前記分類手順によってグループに分類されたブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、当該動きベクトル予測の予測結果を当該同一のグループに分類された他のブロックに適用する符号化手順と、
    をコンピュータに実行させることを特徴とする符号化プログラム。
JP2008230958A 2008-09-09 2008-09-09 符号化装置および符号化プログラム Active JP5029543B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008230958A JP5029543B2 (ja) 2008-09-09 2008-09-09 符号化装置および符号化プログラム
US12/551,983 US8582653B2 (en) 2008-09-09 2009-09-01 Coding apparatus and coding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008230958A JP5029543B2 (ja) 2008-09-09 2008-09-09 符号化装置および符号化プログラム

Publications (2)

Publication Number Publication Date
JP2010068103A JP2010068103A (ja) 2010-03-25
JP5029543B2 true JP5029543B2 (ja) 2012-09-19

Family

ID=41799271

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008230958A Active JP5029543B2 (ja) 2008-09-09 2008-09-09 符号化装置および符号化プログラム

Country Status (2)

Country Link
US (1) US8582653B2 (ja)
JP (1) JP5029543B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893034B2 (en) * 2010-01-27 2014-11-18 Yahoo! Inc. Motion enabled multi-frame challenge-response test
US9712847B2 (en) * 2011-09-20 2017-07-18 Microsoft Technology Licensing, Llc Low-complexity remote presentation session encoder using subsampling in color conversion space
CN104469513A (zh) * 2013-09-25 2015-03-25 联想(北京)有限公司 一种显示方法及电子设备
US20160050440A1 (en) * 2014-08-15 2016-02-18 Ying Liu Low-complexity depth map encoder with quad-tree partitioned compressed sensing
WO2019229683A1 (en) 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
CN111325673B (zh) * 2018-12-14 2023-06-30 瑞昱半导体股份有限公司 影像处理方法与影像处理电路
WO2020140948A1 (en) 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Motion vector derivation between dividing patterns

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0783469B2 (ja) 1985-07-26 1995-09-06 ソニー株式会社 動きベクトル検出装置
US4779131A (en) * 1985-07-26 1988-10-18 Sony Corporation Apparatus for detecting television image movement
JP3468856B2 (ja) * 1994-07-28 2003-11-17 株式会社東芝 動きベクトル検出方法及び装置
US5706059A (en) * 1994-11-30 1998-01-06 National Semiconductor Corp. Motion estimation using a hierarchical search
GB2301971B (en) * 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
JP4034380B2 (ja) * 1996-10-31 2008-01-16 株式会社東芝 画像符号化/復号化方法及び装置
US6430317B1 (en) * 1997-12-31 2002-08-06 Sarnoff Corporation Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
EP1061749B1 (en) * 1998-01-27 2010-04-07 Sharp Kabushiki Kaisha Moving picture decoder
US6823013B1 (en) * 1998-03-23 2004-11-23 International Business Machines Corporation Multiple encoder architecture for extended search
US6222883B1 (en) * 1999-01-28 2001-04-24 International Business Machines Corporation Video encoding motion estimation employing partitioned and reassembled search window
JP2001266158A (ja) * 2000-01-11 2001-09-28 Canon Inc 画像処理装置、画像処理システム、画像処理方法、及び記憶媒体
JP2001333281A (ja) * 2000-05-22 2001-11-30 Matsushita Electric Ind Co Ltd 画像符号化装置、画像復号化装置、画像符号化方法、画像復号化方法、画像符号化プログラムを記録する記録媒体及び復号化プログラムを記録する記録媒体
GB2382940A (en) * 2001-11-27 2003-06-11 Nokia Corp Encoding objects and background blocks
US7327894B2 (en) * 2003-11-07 2008-02-05 Texas Instruments Incorporated Image compression
JP2004173290A (ja) * 2003-12-04 2004-06-17 Cosmo:Kk 画像データ圧縮伝送システム及び画像データ圧縮装置
TWI240214B (en) * 2004-05-18 2005-09-21 Sunplus Technology Co Ltd Optimized correlation matching method and system for determining track behavior
US8553776B2 (en) * 2004-07-21 2013-10-08 QUALCOMM Inorporated Method and apparatus for motion vector assignment
JP4755490B2 (ja) * 2005-01-13 2011-08-24 オリンパスイメージング株式会社 ブレ補正方法および撮像装置
JP5213456B2 (ja) * 2005-02-18 2013-06-19 トムソン ライセンシング 高分解能ピクチャの符号化情報を低分解能ピクチャから導き出す方法、並びにその方法を実現する符号化及び復号化装置
JP4321468B2 (ja) * 2005-03-23 2009-08-26 日本ビクター株式会社 動画像符号化装置及び動画像復号化装置
US8559514B2 (en) * 2006-07-27 2013-10-15 Qualcomm Incorporated Efficient fetching for motion compensation video decoding process
US20080225948A1 (en) * 2007-03-13 2008-09-18 National Tsing Hua University Method of Data Reuse for Motion Estimation
US20080247465A1 (en) * 2007-04-05 2008-10-09 Jun Xin Method and System for Mapping Motion Vectors between Different Size Blocks
US8665946B2 (en) * 2007-10-12 2014-03-04 Mediatek Inc. Macroblock pair coding for systems that support progressive and interlaced data
US8345763B2 (en) * 2007-11-27 2013-01-01 Mediatek Inc. Motion compensation method and integrated circuit utilizing the same

Also Published As

Publication number Publication date
US20100061462A1 (en) 2010-03-11
JP2010068103A (ja) 2010-03-25
US8582653B2 (en) 2013-11-12

Similar Documents

Publication Publication Date Title
JP5029543B2 (ja) 符号化装置および符号化プログラム
JP5261376B2 (ja) 画像符号化装置および画像復号化装置
CN104811732B (zh) 处理视频信号的方法和设备
KR102160568B1 (ko) 화상 부호화 장치, 화상 부호화 방법, 화상 복호화 장치, 화상 복호화 방법, 및 컴퓨터 판독가능 저장 매체
JP2008518289A (ja) フィルム粒度シミュレーションのためのブロック平均決定方法
CN104851117B (zh) 图像与二维码的融合方法和装置
TW201820881A (zh) 使用樹結構的塊分割
US9167260B2 (en) Apparatus and method for video processing
CN113748681B (zh) 动态点云分区打包方法、装置和电子设备
JP7118278B2 (ja) 符号化された点群データの分割
CN103339932A (zh) 在灵活分块时利用图片边界填补的代码化和解码
JP2006114979A (ja) 画像符号化装置及びその方法
US10448034B2 (en) Video image encoding device, video image coding method, video image decoding device, video image decoding method, and non-transitory computer-readable storage medium
JP2024516059A (ja) エンコーダによるメッシュ圧縮のための適応サンプリングの方法および装置
JP2007104133A (ja) 画像符号化装置
US10158863B2 (en) Image coding apparatus, image coding method, and recording medium, and image decoding apparatus, image decoding method, and recording medium
US11290740B2 (en) Image coding apparatus, image coding method, and storage medium
KR20150021922A (ko) 객체 분석을 이용한 영상 압축을 위한 매크로블록 파티션-분할 및 동작 추정
CN105721870A (zh) Hevc中编码单元分割方式的判定方法及装置
CN117242480A (zh) 使用几何信息和语义信息的曼哈顿布局估计
CN113545090A (zh) 用于帧内子分区编解码模式的方法和设备
TWI853577B (zh) 圖像編碼裝置、圖像解碼裝置、圖像編碼方法、圖像解碼方法
JP2019016896A (ja) 画像処理装置、画像処理方法
KR20240051031A (ko) 객체 기반의 영상 부호화/복호화 방법 및 장치
JP4404556B2 (ja) 動画像符号化方法とシステム及び動画像復号方法とシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120514

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120611

R150 Certificate of patent or registration of utility model

Ref document number: 5029543

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3