JP2005252898A - Reconstruction program for encoded data - Google Patents
Reconstruction program for encoded data Download PDFInfo
- Publication number
- JP2005252898A JP2005252898A JP2004063241A JP2004063241A JP2005252898A JP 2005252898 A JP2005252898 A JP 2005252898A JP 2004063241 A JP2004063241 A JP 2004063241A JP 2004063241 A JP2004063241 A JP 2004063241A JP 2005252898 A JP2005252898 A JP 2005252898A
- Authority
- JP
- Japan
- Prior art keywords
- data
- video
- unit
- encoded data
- screen
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、画面合成処理で用いられるに先立って、符号化データを再構成する符号化データの再構成プログラムに関する。 The present invention relates to an encoded data reconstruction program for reconstructing encoded data before being used in screen composition processing.
従来、ネットワークを介してビデオ会議端末と多地点制御装置(Multipoint Control Unit:以下、MCUという)とが接続されて構成されるビデオ会議システムがある。
ビデオ映像がネットワークを介して送受信されることにより、このような会議システムを用いたテレビ会議が可能となる。
Conventionally, there is a video conference system configured by connecting a video conference terminal and a multipoint control unit (hereinafter referred to as MCU) via a network.
By transmitting and receiving video images via a network, a video conference using such a conference system becomes possible.
近年では、各企業において、会議・出張費用の削減が推進されており、そのような背景からも、テレビ会議システムの一層の普及が見込まれている。
MCUは、各地点から送られてくる会議の参加者のビデオ映像を合成し、合成後のビデオ映像を各地点に配信する機能を有する。このMCUの表示画面を参照すれば、各地点から会議に参加する参加者の様子が確認できる。
In recent years, reductions in conference and business trip costs have been promoted in each company, and from such a background, further widespread use of video conference systems is expected.
The MCU has a function of synthesizing video images of conference participants sent from each point and distributing the combined video image to each point. By referring to the display screen of the MCU, it is possible to confirm the state of the participants participating in the conference from each point.
このMCUにおいては、ビデオ会議システムを用いた会議における会話の不自然さを解消する等の理由から、ビデオ処理に低遅延かつ高品質が要求される。
このようなビデオ会議システムにおいて通常行なわれるように、通信データ量削減のために、各地点のビデオ会議端末において、動画像符号化方式に基づく符号化が行なわれて、その符号化データは、MCU宛てに送信される。符号化データを受信したMCUでは、そのビデオ符号化データを復号してから、拡大縮小などの画像サイズ変更処理を必要に応じて行い、それらのサイズ変更された、または、サイズ変更されない画像を必要な地点数分合成して、その合成された画像に対して符号化処理を行って、各地点に配信する。
In this MCU, low delay and high quality are required for video processing for reasons such as eliminating the unnaturalness of conversation in a conference using a video conference system.
As normally performed in such a video conference system, in order to reduce the amount of communication data, the video conference terminal at each point performs encoding based on a moving image encoding method, and the encoded data is stored in the MCU. Sent to The MCU that has received the encoded data decodes the video encoded data, and then performs image size change processing such as enlargement / reduction as necessary, and requires the images that have been resized or not resized. The number of points is combined, and the combined image is encoded and distributed to each point.
上述したMCU側での符号化データの復号から再符号化までの一連の処理は低遅延で実行することが要求される。しかし、符号化処理に高い計算能力を必要とする関係から、MCU側に専用ハードウェア(ハードウェアコーデック)を搭載することが必須となり、コストアップの一因となっている。 The series of processing from decoding of encoded data on the MCU side to re-encoding is required to be executed with low delay. However, it is essential to install dedicated hardware (hardware codec) on the MCU side due to the need for high computing power for encoding processing, which contributes to an increase in cost.
そこで、この問題を解決するために、他の処理方式を採用することも行なわれている。例えば、ITU−Tで策定された動画像符号化方式H.261では、GOB(Group Of Blocks)をデータ単位に用いている。GOBでは、各フレームにおいて画面右端から左端に跨ぐデータを持たないため、別のビデオデータと合成することが可能である。 In order to solve this problem, other processing methods have been adopted. For example, the moving picture encoding method H.264 developed by ITU-T. In H.261, GOB (Group Of Blocks) is used in data units. In GOB, each frame does not have data extending from the right end to the left end of the screen, so it can be combined with other video data.
下記特許文献1には、図16に示すように、H.261の符号化方式において、GOBをデータ単位として構成される4地点分のフレーム画像、すなわち、画像#0、#1、#2、#3を1つの画像に合成する例が示されている。このような合成方法は、データ単位(例えば、GOB)が示す矩形領域と画面矩形との整合性が確保される符号化形式(例えば、H.261)に対しては適用可能である。
In the following
しかし、圧縮効率がH.261と比較して優れている等の理由により、近年、利用が広がっているMPEG4方式などのように、データ単位(ビデオパケット)が画面矩形に対して整合性を有してない場合には、上記合成方法は適用できない。 However, the compression efficiency is H.264. If the data unit (video packet) is not consistent with the screen rectangle, as in the MPEG4 format, which has recently been widely used, for reasons such as being superior to H.261, The above synthesis method is not applicable.
なお、下記特許文献1には、MCUにおいて、ビデオデータが全ての地点分揃わなくても合成処理を開始できる手法も開示されている。すなわち、所定のタイミングで、各地点の画像の合成指示が行われた場合に、1フレーム分のデータが揃っていない地点に対して、その地点のデータをPピクチャとして扱い、前回のデータからの変化がないことを示すダミーデータ(GOB0)を挿入している。
しかし、GOB内の動きベクトルは、隣りのGOB内のマクロブロックを指し示すことがある。このような場合に、上記したダミーデータを挿入する方法を適用した場合、フレーム内符号化データ(Iピクチャ)によって、そのマクロブロックデータがリフレッシュされるまでは、受信側の端末において画像が乱れてしまう。
本発明の課題は、不規則なデータ長を有するデータ単位からなる符号化データに対して合成を行なうことが可能なようにビデオ符号化データのデータ単位を再構成するビデオ符号化データの再構成プログラムを提供することである。 An object of the present invention is to reconstruct video encoded data for reconfiguring data units of video encoded data so as to be able to synthesize encoded data consisting of data units having irregular data lengths. Is to provide a program.
本発明の別の課題は、不規則なデータ長を有するデータ単位からなる符号化データに対して合成を行なうことが可能なビデオ符号化データ合成装置を提供することである。 Another object of the present invention is to provide a video encoded data synthesizing apparatus capable of synthesizing encoded data composed of data units having an irregular data length.
本発明の一態様の符号化データの再構成プログラムは、画面合成処理で用いられるに先立って、符号化データを再構成する処理をコンピュータに実現させるためのプログラムにおいて、ビデオ符号化データのデータ単位を解析して画面の境界を跨ぐか否かを判定する判定処理と、前記データ単位が前記画面境界を跨ぐと判定された場合に、該境界を跨ぐことがないように、前記データ単位を再構成する再構成処理と、を前記コンピュータに実行させることを特徴とする符号化データの再構成プログラムである。 An encoded data reconstruction program according to an aspect of the present invention is a program for causing a computer to perform a process of reconfiguring encoded data before being used in a screen synthesis process. Analysis processing to determine whether or not to cross the screen boundary, and when it is determined that the data unit crosses the screen boundary, the data unit is re-established so as not to cross the boundary. An encoded data reconstruction program that causes the computer to execute a reconstruction process to be configured.
ビデオ符号化データのデータ単位は不規則なデータ長を有している場合があるので、場合によっては画面境界を跨ぐ。本発明の符号化データの再構成プログラムを用いて、データ単位を画面境界を跨がないように再構成する。これにより、合成する側では、画面境界に揃えられた固定長のデータ単位を扱っているように合成することが可能となる。 Since the data unit of the video encoded data may have an irregular data length, it may cross the screen boundary depending on the case. Using the encoded data reconstruction program of the present invention, the data unit is reconstructed so as not to cross the screen boundary. As a result, the compositing side can perform the compositing as if the fixed-length data unit aligned with the screen boundary is handled.
本発明の符号化データの再構成プログラムでは、データ単位を画面境界を跨がないように再構成する。これにより、合成する側では、画面境界に揃えられた固定長のデータ単位を扱っているように合成することが可能となる。 In the encoded data reconstruction program of the present invention, the data unit is reconstructed so as not to cross the screen boundary. As a result, the compositing side can perform the compositing as if the fixed-length data unit aligned with the screen boundary is handled.
また、本発明においては、ストリーム合成方式を採用しているため、「復号、合成、再符号化」を行なわずに済み、装置の処理負荷が非常に軽く、ソフトウェア的に処理することが容易である。 In the present invention, since the stream composition method is adopted, it is not necessary to perform “decoding, composition, and re-encoding”, the processing load of the apparatus is very light, and it is easy to process by software. is there.
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
なお、本実施形態では、MPEG−4の符号化方式を用いて、ビデオ会議端末側でMCUへ送信される画像データの符号化が行われる。このMPEG−4においては、図1に示すように、マクロブロック(横16ピクセル×縦16ピクセル:Macro Block、以下、MBという)をデータの基本単位とする。そして、MBを画面の幅だけ横一列に並べたラインをマクロブロックライン(Macro Block Line:以下、MBL)と呼ぶ。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
In the present embodiment, the video data transmitted to the MCU is encoded on the video conference terminal side using the MPEG-4 encoding method. In MPEG-4, as shown in FIG. 1, a macro block (16 horizontal pixels × 16 vertical pixels: Macro Block, hereinafter referred to as MB) is used as a basic unit of data. A line in which MBs are arranged in a horizontal line by the width of the screen is called a macro block line (MBL).
符号化データをストリーム形式で扱う際のデータ単位は、ビデオパケット(Video Packet:以下、VP)と呼ばれている。MPEG−4においては、VPに含まれるMBの数は決まっておらず、例えば、図1に示されるように、MBLを数ライン分含むものや、または、場合によっては、1MBLに満たないものもある。そして、この関係から、VPの境界とMBLの境界とは、通常、一致していない。 A data unit when the encoded data is handled in the stream format is called a video packet (hereinafter referred to as VP). In MPEG-4, the number of MBs included in a VP is not determined. For example, as shown in FIG. 1, some MBLs include several lines, or in some cases, less than 1 MBL. is there. From this relationship, the VP boundary and the MBL boundary usually do not coincide.
図2は、本実施形態のビデオ符号化データ合成システムの構成を示すブロック図である。
図2において、ビデオ符号化データ合成システム10は、ビデオ会議端末201〜20Nとビデオ符号化データ合成装置30とがネットワークを介して接続されることで構成される。
FIG. 2 is a block diagram showing the configuration of the video encoded data synthesis system of this embodiment.
2, the encoded video
各ビデオ会議端末は、符号化部211〜21Nを備える。各符号化部は、ビデオ会議端末から取り込まれた画像に対して、符号化処理を行う。
ビデオ会議端末の符号化部によって符号化された画像データは、ネットワークを介してビデオ符号化データ合成装置30に送信される。ビデオ符号化データ合成装置30内の判定部31は、受信したビデオパケットを解析して、そのビデオパケットがマクロブロックラインを跨いでいるか判定する。
Each video conference terminal includes
The image data encoded by the encoding unit of the video conference terminal is transmitted to the video encoded data synthesizing device 30 via the network. The
パケット再構成部32は、ビデオパケットがマクロブロックラインを跨いでいる場合に、そのマクロブロックラインの境界でそのビデオパケットを分割する。これによって、図3に示すように、再構成後のビデオパケットには、マクロブロックラインを跨ぐものがなくなる。
The
なお、図3からは定かでないが、上記分割処理後においても、2つ以上のビデオパケットに分割されているマクロブロックラインが残っている場合がある。判定部31は、好ましくは、そのような2つ以上のビデオパケットに分割されているマクロブロックラインに対して、そのマクロブロックライン内のビデオパケットが統合可能であるか判定する。
Although not certain from FIG. 3, there may be a case where a macroblock line that is divided into two or more video packets remains even after the dividing process. The
統合可能である場合、パケット再構成部32は、マクロブロックライン内のそれらビデオパケットについて統合処理を行う。
各地点からの符号化データ(ビデオパケット)は、それぞれ上述のようなプロセスを経て、再構成された後、図2のパケット合成部33に入力される。
When the integration is possible, the
The encoded data (video packet) from each point is reconstructed through the processes described above, and then input to the
パケット合成部33では、必要な合成処理が行われ、この合成後の符号化データ(ビデオパケット)は、所定の地点に送られる。
5地点でビデオ会議を行っていて、各地点には、自地点以外の画像が受信され表示される場合、上記パケット合成部34では、例えば、自地点以外の4地点を、左上、右上、左下、右下に配置して合成する。
The
When a video conference is performed at five points and an image other than the own point is received and displayed at each point, the packet combining unit 34, for example, displays four points other than the own point at the upper left, upper right, and lower left. Place it in the lower right and synthesize.
図4は、図2の符号化部によって符号化されたビデオパケットの概要構成図である。
図4に示すように、ビデオパケットはヘッダ部内にマクロブロックナンバー(Macro Block Number:以下、MBnum)を保持している。このMBnumはフレーム内でのそのビデオパケットの位置情報を示している。
FIG. 4 is a schematic configuration diagram of a video packet encoded by the encoding unit of FIG.
As shown in FIG. 4, the video packet holds a macro block number (hereinafter referred to as MBnum) in the header portion. This MBnum indicates the position information of the video packet in the frame.
図5は、図2の判定部とパケット再構成部との連携によって行われるビデオパケットの再構成処理を示すフローチャートである。
図5において、まず、ステップS101でビデオパケットのパケット長を示す変数lenVPおよびlenRestが0に初期化される。
FIG. 5 is a flowchart showing a video packet reconstruction process performed in cooperation with the determination unit and the packet reconstruction unit in FIG.
In FIG. 5, first, variables lenVP and lenRest indicating the packet length of the video packet are initialized to 0 in step S101.
ステップS102では、ビデオパケットの取得が行われる。この取得結果は変数vpに設定される。ステップS103では、ステップS102の取得処理の結果として、変数vpにビデオパケットが設定されたかが判定される。変数vpにビデオパケットが設定されていなければ、一連の処理を終了する。 In step S102, a video packet is acquired. This acquisition result is set in the variable vp. In step S103, it is determined whether a video packet is set in the variable vp as a result of the acquisition process in step S102. If no video packet is set in the variable vp, a series of processing ends.
変数vpにビデオパケットが設定されていれば、ステップS104に進む。ステップS104では、変数vpに設定されたビデオパケットの長さが上記変数lenVPに設定される。ステップS105では、変数lenRestを参照して、変数restにビデオパケットが設定されているかが判定される。 If a video packet is set in the variable vp, the process proceeds to step S104. In step S104, the length of the video packet set in the variable vp is set in the variable lenVP. In step S105, it is determined whether a video packet is set in the variable rest with reference to the variable lenRest.
変数restにビデオパケットが設定されていない場合、ステップS106に進む。ステップS106では、変数lenVPが、マクロブロックラインの長さを示すMBL LEN以上であるかが判定される。 If no video packet is set in the variable rest, the process proceeds to step S106. In step S106, the variable lenVP indicates the MBL indicating the length of the macroblock line. It is determined whether LEN or higher.
ステップS106において、LenVP≧MBL LENである場合は、ステップS107に進む。ステップS107では、MBL LENの長さで変数VPのビデオパケットを分割し、残りのビデオパケットを変数restに設定する。また、変数restに設定されたビデオパケットの長さを変数lenRestに設定する。そして、ステップS108において、変数restに設定された残りのビデオパケットについて、ヘッダ情報等を修正して出力する。 In step S106, LenVP ≧ MBL If it is LEN, the process proceeds to step S107. In step S107, MBL The video packet of variable VP is divided by the length of LEN, and the remaining video packets are set in variable rest. In addition, the length of the video packet set in the variable rest is set in the variable lenRest. In step S108, the header information and the like are corrected and output for the remaining video packets set in the variable rest.
その後、ステップS109に進む。ステップS109では、lenRest ≧MBL LENであるかが判定される。lenRest ≧MBL LENである場合は、ステップS110において、変数restに設定されるビデオパケットを変数vpに設定し直すと共に、変数lenRest=0に設定する。そして、ステップS104に戻る。 Thereafter, the process proceeds to step S109. In step S109, lenRest ≧ MBL It is determined whether it is LEN. lenRest ≧ MBL If it is LEN, in step S110, the video packet set in the variable rest is reset to the variable vp, and the variable lenRest = 0 is set. Then, the process returns to step S104.
一方、ステップS109においてlenRest <MBL LENである場合は、ステップS102に戻り、新たなビデオパケットを取得する。新たに取得されたビデオパケットは、変数vpに設定される。 On the other hand, in step S109, lenRest <MBL If it is LEN, the process returns to step S102 to obtain a new video packet. The newly acquired video packet is set in the variable vp.
いずれの場合でも、この変数vpのビデオパケットに対してステップS104の処理が行われる。そして、再び、ステップS105において、変数restにビデオパケットが設定されているかが判定される。 In any case, the process of step S104 is performed on the video packet of the variable vp. Then, in step S105 again, it is determined whether a video packet is set in the variable rest.
ステップS106において、LenVP<MBL LENである場合は、ステップS113に進み、そこで、変数vpに設定されるビデオパケットを、変数restに設定し直す。また、そのビデオパケットの長さを変数lenRestに設定する。そして、ステップS102に戻る。 In step S106, LenVP <MBL If it is LEN, the process proceeds to step S113, where the video packet set in the variable vp is reset in the variable rest. Also, the length of the video packet is set in the variable lenRest. Then, the process returns to step S102.
一方、ステップS105において、変数restにビデオパケットが設定されている場合は、ステップS111に進み、そこで、変数vpに設定されるビデオパケットと変数restに設定されるビデオパケットとが結合可能であるかが判定される。 On the other hand, if a video packet is set in the variable rest in step S105, the process proceeds to step S111, where the video packet set in the variable vp and the video packet set in the variable rest can be combined. Is determined.
ステップS111において結合可能であると判定された場合には、ステップS112に進み、そこで、変数vpに設定されるビデオパケットと、変数restに設定されるビデオパケットとを結合し、その結合したビデオパケットを変数vpに設定し直す。そして、ステップS104に戻る。 If it is determined in step S111 that it can be combined, the process proceeds to step S112, where the video packet set in the variable vp and the video packet set in the variable rest are combined, and the combined video packet is combined. To the variable vp. Then, the process returns to step S104.
一方、ステップS111において結合可能でないと判定された場合には、変数restに設定されるビデオパケットについては、再構成化が完了したことになるので、ステップS114に進み、その変数restに設定されるビデオパケットを出力する。 On the other hand, if it is determined in step S111 that the packets cannot be combined, the video packet set in the variable rest has been reconstructed, so the process proceeds to step S114 and is set in the variable rest. Output video packets.
そして、ステップS115において、変数lenRestと変数lenVPとの和がMBL LENより大きいかが判定される。
ステップS115において、変数lenRestと変数lenVPとの和がMBL LENより大きい、すなわち、lenRest+lenVP>MBL LENと判定された場合は、ステップS116に進む。
In step S115, the sum of the variable lenRest and the variable lenVP is MBL. It is determined whether it is greater than LEN.
In step S115, the sum of the variable lenRest and the variable lenVP is MBL. Greater than LEN, ie lenRest + lenVP> MBL If it is determined as LEN, the process proceeds to step S116.
ステップS116では、変数vpに設定されるビデオパケットを、(MBL LEN−lenRest)で分割し、その分割されたビデオパケットの前半部分のヘッダ情報等を修正して出力する。その分割されたビデオパケットの後半部分は、ヘッダ情報等が修正され、変数restに設定される。この後半部分のパケット長は、変数lenRestに設定される。そして、ステップS109に進む。 In step S116, the video packet set in the variable vp is (MBL (LEN-lenRest), and the header information of the first half of the divided video packet is corrected and output. In the latter half of the divided video packet, the header information and the like are corrected and set in the variable rest. The packet length of the latter half is set in the variable lenRest. Then, the process proceeds to step S109.
ステップS115において、変数lenRestと変数lenVPとの和がMBL LEN以下である、すなわち、lenRest+lenVP≦MBL LENと判定された場合は、ステップS117に進む。
ステップS117では、変数vpに設定されるビデオパケットを、変数restに設定し直す。変数lenRestには、このビデオパケットのパケット長が設定される。その後、ステップS102に戻る。
In step S115, the sum of the variable lenRest and the variable lenVP is MBL. LEN or less, that is, lenRest + lenVP ≦ MBL If it is determined as LEN, the process proceeds to step S117.
In step S117, the video packet set to the variable vp is reset to the variable rest. The packet length of this video packet is set in the variable lenRest. Thereafter, the process returns to step S102.
例えば、図6の左側に示されるビデオパケットは、以上のような一連の処理によって、図6の右側に示されるビデオパケットに再構成される。つまり、このような再構成処理を行うことによって、マクロブロックラインを跨ぐビデオパケットがなくなると共に、パケット長は、最長で1マクロブロックラインの長さに制限される。 For example, the video packet shown on the left side of FIG. 6 is reconstructed into the video packet shown on the right side of FIG. 6 by the series of processes described above. That is, by performing such reconstruction processing, there are no video packets straddling the macroblock line, and the packet length is limited to the length of one macroblock line at the longest.
以下では、2つのビデオパケットが結合可能であるか否かを判定する処理について、より詳細に説明する。この処理は、図5のステップS111の判定処理に相当する。
なお、本実施形態においては、上記の結合可否の判定は、ビデオパケットに格納される量子化値に基づいて行われる。ここで、量子化値とは、MPEG方式において通常行われるように、各マクロブロックに対して離散コサイン変換(DCT)を施して得られた係数に対して、除算を行なう際に用いられる符号化のパラメータである。この除算の結果として量子化されたDCT係数が求められる。量子化を行うことで、符号化量を減らすことができる。
In the following, the process for determining whether two video packets can be combined will be described in more detail. This process corresponds to the determination process in step S111 of FIG.
Note that in the present embodiment, the above-described determination of whether or not to combine is performed based on the quantization value stored in the video packet. Here, the quantized value is an encoding used when division is performed on a coefficient obtained by subjecting each macroblock to discrete cosine transform (DCT), as is normally done in the MPEG system. Parameter. As a result of this division, a quantized DCT coefficient is obtained. By performing quantization, the amount of encoding can be reduced.
各ビデオパケットでは、量子化値は、以下のように格納されている。すなわち、そのビデオパケットのヘッダ部に、そのビデオパケット内の各マクロブロックの量子化値に対する基準値が格納されている。各マクロブロックでは、その量子化値は、一つ前のマクロブロックの量子化値からの差分情報として格納されている。 In each video packet, the quantization value is stored as follows. That is, a reference value for the quantization value of each macroblock in the video packet is stored in the header portion of the video packet. In each macroblock, the quantization value is stored as difference information from the quantization value of the previous macroblock.
本実施形態においては、上記基準値として、先頭のマクロブロックの量子化値を用いている。この関係から、先頭のマクロブロックに格納される差分情報は、本来、“0”となるが、圧縮効率をさらに高めるために、「差分“0”のマクロブロックに対しては、差分情報を格納しない」ようにしている。そして、1つのビデオパケット内では、連続するマクロブロックの量子化値の差を所定の範囲(ここでは、±2の範囲)に収まるようにすることで、全てのマクロブロックに対して絶対値を格納する場合と比較して圧縮効率を高めることが可能となる。 In the present embodiment, the quantized value of the first macroblock is used as the reference value. Because of this relationship, the difference information stored in the first macroblock is originally “0”, but in order to further increase the compression efficiency, “difference information is stored for the macroblock of“ difference “0” ”. "Do not do". Then, within one video packet, by making the difference between quantized values of consecutive macroblocks fall within a predetermined range (here, ± 2 range), absolute values are obtained for all macroblocks. It is possible to increase the compression efficiency as compared with the case of storing.
より具体的には、あるフレームにおいて、m番目のビデオパケット内のn番目のマクロブロックの量子化値をQ(m,n)とする。m番目のビデオパケットのヘッダ部には、そのm番目のビデオパケットに対する上記量子化値の基準値、例えば、最初のマクロブロックの量子化値、がパラメータquant scaleに格納されている。そして、各マクロブロックには、一つ前のマクロブロックの量子化値との差分を示すパラメータdquantが格納されている。つまり、m番目のビデオパケット内の最初のマクロブロックの量子化値は下記(1)式で与えられる。 More specifically , let Q (m, n) be the quantized value of the nth macroblock in the mth video packet in a certain frame. In the header portion of the m-th video packet, the reference value of the quantization value for the m-th video packet, for example, the quantization value of the first macroblock, is set as the parameter quant. Stored in scale. Each macroblock stores a parameter dquant indicating a difference from the quantized value of the previous macroblock. That is, the quantized value of the first macroblock in the mth video packet is given by the following equation (1).
Q(m,1)=quant scale ・・・ (1)
また、以降のマクロブロックの量子化値は下記(2)式で与えられる。
Q(m,n)+dquant=Q(m,n+1) ・・・ (2)
ここで、dquant={−2,−1,1,2}である。
Q (m, 1) = quant scale (1)
The quantized values of the subsequent macroblocks are given by the following equation (2).
Q (m, n) + dquant = Q (m, n + 1) (2)
Here, dquant = {− 2, −1, 1, 2}.
上記(2)式により、m番目のビデオパケットとm+1番目のビデオパケットとが結合可能なためには、m番目のビデオパケットの最後のマクロブロックの量子化値と、m+1番目のビデオパケットの最初のマクロブロックの量子化値との差が所定の範囲(ここでは、±2の範囲)に収まっていなくてはならない。つまり、m番目のビデオパケットがlast個のマクロブロックで構成されていた場合、下記(3)の条件式、
|Q(m,last)−Q(m+1,1)|≦2 ・・・ (3)
が成り立てば、m番目のビデオパケットとm+1番目のビデオパケットとは結合可能である。
In order to be able to combine the m-th video packet and the m + 1-th video packet according to the above equation (2), the quantization value of the last macroblock of the m-th video packet and the first of the m + 1-th video packet The difference from the quantization value of the macroblock must be within a predetermined range (here, a range of ± 2). That is, if the m-th video packet is composed of last macroblocks, the following conditional expression (3):
| Q (m, last) −Q (m + 1,1) | ≦ 2 (3)
Is established, the mth video packet and the m + 1th video packet can be combined.
なお、本実施形態においては、上記したように圧縮効率を高める観点から、dquant=0に対応する場合、すなわち、連続する2つのマクロブロックにおいて、後続のマクロブロックの量子化値が1つ前のマクロブロックの量子化値と一致し、したがって、差分が0である場合には、その後続のマクロブロックには、差分情報を格納しないようにしている。しかし、このことは、本発明における差分情報の表現を限定するものではない。例えば、上記の場合において、差分情報=0の場合も、「0」という情報を各マクロブロックに格納させることも可能である。また、ヘッダ部に格納された基準値からの差分情報が各マクロブロックに格納されてもよい。つまり、上記したヘッダ部に格納された基準値に基づいて、各マクロブロックの量子化値が差分情報によって表現される任意の場合に対応可能である。この場合、結合判定処理では、1マクロブロックライン内に存在する連続するビデオパケット内の各マクロブロックにおいて上記ヘッダ部の基準値に基づく差分情報による表現が可能な場合に、それらビデオパケットを結合する。 In the present embodiment, from the viewpoint of increasing the compression efficiency as described above, in the case of corresponding to dquant = 0, that is, in two consecutive macroblocks, the quantized value of the subsequent macroblock is the previous one. Therefore, if the difference is zero, the difference information is not stored in the subsequent macroblock. However, this does not limit the expression of difference information in the present invention. For example, in the above case, even when the difference information = 0, it is possible to store information “0” in each macroblock. Further, difference information from the reference value stored in the header part may be stored in each macroblock. That is, it is possible to deal with any case where the quantized value of each macroblock is expressed by difference information based on the reference value stored in the header part. In this case, in the combination determination process, when each macroblock in a continuous video packet existing in one macroblock line can be expressed by difference information based on the reference value of the header part, the video packets are combined. .
図7は、結合判定処理のフローチャートである。この判定処理は、図2の判定部によって行われ、図5のステップS111の判定処理に対するより詳細なフローチャートである。 FIG. 7 is a flowchart of the combination determination process. This determination process is performed by the determination unit in FIG. 2, and is a more detailed flowchart for the determination process in step S111 in FIG.
まず、図5のステップS109で変数restにビデオパケットが設定されていると判定された場合、図7のステップS201において、その変数restに設定されるビデオパケット内の各マクロブロックがスキャンされ、各マクロブロックにおける量子化値が順次、算出される。すなわち、上記(1)式により、例えば、先頭のマクロブロックに対する量子化値が与えられ、以降のマクロブロックについては、上記(2)式を繰り返し用いることで、量子化値が順次求められる。そして、ステップS202において、ステップS201で求められている、変数restに設定されるビデオパケットの最後のマクロブロックの量子化値を、変数MBlastに格納する。 First, when it is determined in step S109 in FIG. 5 that a video packet is set in the variable rest, in step S201 in FIG. 7, each macroblock in the video packet set in the variable rest is scanned, The quantized values in the macroblock are calculated sequentially. That is, for example, the quantization value for the first macroblock is given by the above equation (1), and for the subsequent macroblocks, the quantization value is sequentially obtained by repeatedly using the above equation (2). In step S202, the quantization value of the last macroblock of the video packet set in the variable rest obtained in step S201 is stored in the variable MBlast.
なお、ステップS201に制御が移った状態では、変数vpには、変数restに設定されるビデオパケットの直後のビデオパケットが設定されている。そこで、続く、ステップS203では、この変数vpに設定されるビデオパケットの最初のマクロブロックの量子化値が変数MBnewに格納される。 In the state where the control is shifted to step S201, the video packet immediately after the video packet set in the variable rest is set in the variable vp. Therefore, in the subsequent step S203, the quantized value of the first macroblock of the video packet set in the variable vp is stored in the variable MBnew.
そして、ステップS204において、変数restに設定されるビデオパケットと、変数vpに設定されるビデオパケットとが結合可能であるかが判定される。|MBlast−MBnew|≦2の場合、結合可能と判定され、図5のステップS112に進む。また、|MBlast−MBnew|>2の場合、結合不可と判定され、図5のステップS113に進む。 In step S204, it is determined whether the video packet set in the variable rest and the video packet set in the variable vp can be combined. If | MBlast−MBnew | ≦ 2, it is determined that the combination is possible, and the process proceeds to step S112 in FIG. If | MBlast-MBnew |> 2, it is determined that the connection is impossible, and the process proceeds to step S113 in FIG.
図8は、図7のフローチャートにおいて、結合不可と判定される場合を説明する図である。
図8において、ビデオパケットVP#1の最初のマクロブロックの量子化値Q(1,1)=10であること、また、2番目のマクロブロックについては、dquant=−2であることから、その量子化値Q(1,2)=Q(1,1)+dquant=10+(−2)=8であること、また、3番目のマクロブロックについては、dquant=−1であることから、その量子化値Q(1,3)=Q(1,2)+dquant=8+(−1)=7であること、が示されている。また、ビデオパケットVP#1の最後の(n番目の)マクロブロックについては、その量子化値Q(1,n)=Q(1,n−1)+dquant=12であることが示されている。
FIG. 8 is a diagram illustrating a case where it is determined that the connection is impossible in the flowchart of FIG.
In FIG. 8, since the quantized value Q (1,1) = 10 of the first macroblock of the video
一方、ビデオパケットVP#1の後続のビデオパケットVP#2の最初のマクロブロックの量子化値Q(2,1)=15であることが示されている。
図8の例では、|Q(1,n)−Q(2,1)|=|12−15|=3>2、となるため、ビデオパケットVP#1とビデオパケットVP#2は結合不可と判定される。
On the other hand, it is shown that the quantization value Q (2, 1) = 15 of the first macroblock of the video
In the example of FIG. 8, | Q (1, n) −Q (2,1) | = | 12−15 | = 3> 2, so that the video
図9は、図7のフローチャートにおいて、結合可能と判定される場合を説明する図である。
図9において、ビデオパケットVP#1の最初のマクロブロックの量子化値Q(1,1)=10であること、また、ビデオパケットVP#1の最後の(n番目の)マクロブロックについては、その量子化値Q(1,n)=Q(1,n−1)+dquant=12であることが示されている。
FIG. 9 is a diagram for explaining a case where it is determined that combining is possible in the flowchart of FIG.
In FIG. 9, the quantized value Q (1,1) = 10 of the first macroblock of the video
一方、ビデオパケットVP#1の後続のビデオパケットVP#2の最初のマクロブロックの量子化値Q(2,1)=11であることが示されている。
図9の例では、|Q(1,n)−Q(2,1)|=|12−11|=1≦2、となるため、ビデオパケットVP#1とビデオパケットVP#2は結合可能と判定される。
On the other hand, it is shown that the quantization value Q (2, 1) of the first macroblock of the video
In the example of FIG. 9, | Q (1, n) −Q (2,1) | = | 12−11 | = 1 ≦ 2, so that the video
なお、図9の下半分は、結合後のビデオパケットを示している。後続のビデオパケットVP#2の最初のマクロブロックの量子化値(=11)は、結合前はVP#2のヘッダ部の基準値からの差分情報として表現されていたが、結合後は、ビデオパケットVP#1の最後のマクロブロックの量子化値(=12)からの差分情報(=−1)として表現されている。
Note that the lower half of FIG. 9 shows the combined video packet. The quantized value (= 11) of the first macroblock of the subsequent video
なお、以上の説明では、量子化値は基準値からの差分情報に基づいて表現され、その差分表現が可能であるか否かに基づいて、1マクロブロックライン内に含まれる複数のビデオパケットを結合するか否かを決めていたが、量子化値は必ずしも差分情報により表現される必要はなく、例えば、各量子化値を絶対値にて表現することも可能である。その場合には、1マクロブロックライン内に含まれる複数のビデオパケットについては上述の結合判定処理を介することなく結合されることとなる。 In the above description, the quantized value is expressed based on difference information from the reference value, and a plurality of video packets included in one macroblock line are determined based on whether or not the differential expression is possible. Although it has been determined whether or not to combine, the quantized value is not necessarily expressed by the difference information. For example, each quantized value can be expressed by an absolute value. In that case, a plurality of video packets included in one macroblock line are combined without going through the above-described combination determination process.
図10および図11は、図6に示された例に対して、マクロブロックナンバーを具体的に記載した図である。図10は再構成前のデータ例を示し、図11は再構成後のデータ例を示す。 FIG. 10 and FIG. 11 are diagrams in which macroblock numbers are specifically described with respect to the example shown in FIG. FIG. 10 shows an example of data before reconstruction, and FIG. 11 shows an example of data after reconstruction.
図10では、画像サイズは、横11×縦9マクロブロックとなっている。この画像は、VP#1、VP#2、VP#3、VP#4、VP#5、VP#6の6つのビデオパケットからなる。VP#1は、MBnum=0からMBnum=8までの9個のマクロブロックにより構成される。VP#2は、MBnum=9からMBnum=26までの18個のマクロブロックにより構成される。VP#3は、MBnum=27からMBnum=51までの25個のマクロブロックにより構成される。VP#4は、MBnum=52からMBnum=58までの7個のマクロブロックにより構成される。VP#5は、MBnum=59からMBnum=71までの13個のマクロブロックにより構成される。VP#6は、MBnum=72からMBnum=98までの27個のマクロブロックにより構成される。
In FIG. 10, the image size is a horizontal 11 × vertical 9 macroblock. This image is composed of six video packets of
以下の表1は、これら各ビデオパケットVP#1〜VP#6の最初および最後のマクロブロックに対する量子化値(の一例)を示している。
Table 1 below shows quantization values (one example) for the first and last macroblocks of these video
表1を参照すると、VP#1の最後のマクロブロック(MBnum=8)とVP#2の最初のマクロブロック(MBnum=9)の量子化値の差は、|11−8|=3で与えられ、上記(3)の条件を満たさないので、結合不可となる。同様にして、VP#2とVP#3では、量子化値の差は、|10−11|=1で与えられるので結合可、VP#3とVP#4では、量子化値の差は、|10−12|=2で与えられるので結合可、VP#4とVP#5では、量子化値の差は、|9−8|=1で与えられるので結合可、VP#5とVP#6では、量子化値の差は、|8−12|=4で与えられるので結合不可、である。
Referring to Table 1, the difference between the quantization values of the last macroblock of VP # 1 (MBnum = 8) and the first macroblock of VP # 2 (MBnum = 9) is given by | 11−8 | = 3 Since the condition (3) is not satisfied, the connection is impossible. Similarly, in
以下、図10の再構成前のデータ例に対して、図5または図7のフローチャートに示す処理を施すことで、図11に示す再構成後のデータが得られることの概要を示す。
まず、ステップS102で、ビデオパケットVP#1が取得される。この取得結果は変数vpに設定される。そして、ステップS104において、変数vpに設定されたビデオパケット(VP#1)の長さ=9が上記変数lenVPに設定される。この場合、変数restにはビデオパケットが設定されていないので、ステップS104からステップS106の判定処理に進む。この場合、LenVP(=9)<MBL LEN(=11) であるので、ステップS106の判定ステップからステップS113に進む。
In the following, an outline of the fact that the data after reconstruction shown in FIG. 11 is obtained by performing the processing shown in the flowchart of FIG. 5 or 7 on the data example before reconstruction in FIG.
First, in step S102, the video
ステップS113では、変数vpに設定されるビデオパケットを変数restに設定し直すと共に、変数lenRestにもそのビデオパケットVP#1のパケット長(=9)を設定する。そして、ステップS102に戻る。ステップS102では、次のビデオパケットVP#2が取得され、変数vpに設定される。また、ステップS104において、変数vpに設定されたビデオパケット(VP#2)の長さ=18が上記変数lenVPに設定される。
In step S113, the video packet set to the variable vp is reset to the variable rest, and the packet length (= 9) of the video
この場合、変数restにビデオパケットが設定されているので、ステップS105の判定ステップからステップS111の判定ステップへ進む。上記表1を参照すると、ビデオパケットVP#1とVP#2の境界では、量子化値の差が|11−8|=3あるので、ステップS111では、結合不可と判定され、ステップS114に進む。そして、ステップS114において、変数restに設定されるビデオパケットを出力する。この出力されたビデオパケットがVP#1(再構成後)となる。
In this case, since the video packet is set in the variable rest, the process proceeds from the determination step of step S105 to the determination step of step S111. Referring to Table 1 above, since there is a difference of | 11−8 | = 3 at the boundary between the video
この場合、lenRest+lenVP=9+18>MBL LEN=11であるので、ステップS115からステップS116に進み、そこで、変数vpに設定されるビデオパケットをMBL LEN−lenRest=11−8=3で分割する。この結果、変数vpに設定されていたビデオパケットの先頭から3つのマクロブロックに対してヘッダ情報等が修正され出力される。この出力されたビデオパケットがVP#2(再構成後)となる。 In this case, lenRest + lenVP = 9 + 18> MBL Since LEN = 11, the process proceeds from step S115 to step S116, where the video packet set in the variable vp is MBL. Divide by LEN-lenRest = 11−8 = 3. As a result, the header information and the like are corrected and output for the three macroblocks from the beginning of the video packet set in the variable vp. This output video packet becomes VP # 2 (after reconfiguration).
分割されたビデオパケットの後半部分は、ヘッダ情報等が修正され、変数restに設定される。この後半部分のパケット長18−3=15は、変数lenRestに設定される。そして、ステップS109に進む。 In the latter half of the divided video packet, the header information and the like are corrected and set in the variable rest. The packet length 18-3 = 15 of the latter half is set in the variable lenRest. Then, the process proceeds to step S109.
この場合、lenRest=15≧MBL LEN=11であるので、ステップS109からステップS110に進み、そこで、変数restに設定されるビデオパケットを変数vpに設定し直すと共に、変数lenRest=0に設定する。そして、ステップS104に戻り、変数vpに設定されるビデオパケットの長さ=15をlenVPに設定する。 In this case, lenRest = 15 ≧ MBL Since LEN = 11, the process proceeds from step S109 to step S110, where the video packet set in the variable rest is reset to the variable vp, and the variable lenRest = 0 is set. Then, returning to step S104, the length of the video packet set to the variable vp = 15 is set to lenVP.
ステップS110で変数lenRest=0に設定したことから、「restなし」となるので、ステップS105からステップS106に進む。そして、lenVP=15≧MBL LEN=11であることからステップS107に進む。ステップS107では、変数vpに設定されるビデオパケットの内のMBL LEN=11分を出力する。この出力されたビデオパケットがVP#3(再構成後)となる。残りのビデオパケットについては、変数restに設定する。この残りのビデオパケットの長さ=15−11=4は、変数lenRestに設定される。そして、ステップS108で、変数restに設定されるビデオパケットについて、ヘッダ修正等が行なわれる。そして、ステップS109に進む。 Since the variable lenRest = 0 is set in step S110, “no rest” occurs, so the process proceeds from step S105 to step S106. And lenVP = 15 ≧ MBL Since LEN = 11, the process proceeds to step S107. In step S107, the MBL in the video packet set in the variable vp LEN = 11 minutes are output. This output video packet becomes VP # 3 (after reconfiguration). The remaining video packets are set in the variable rest. This remaining video packet length = 15-11 = 4 is set in the variable lenRest. In step S108, header correction or the like is performed on the video packet set in the variable rest. Then, the process proceeds to step S109.
この場合、lenRest=4<MBL LEN=11であるので、ステップS109からステップS102に戻り、そこで、新たなビデオパケットVP#3が取得され変数vpに設定される。そして、ステップS104において、変数lenVPに変数vpに設定されるビデオパケット長=25が格納される。
In this case, lenRest = 4 <MBL Since LEN = 11, the process returns from step S109 to step S102, where a new video
このような処理が続いて行なわれることによって、図11に示すように、ビデオパケットVP#1(再構成後)〜VP#11(再構成後)が順次、出力される。
以上のようにして、パケットに対して再構成処理が行われると、続いて、ビデオ合成部において、再構成されたパケットを基に合成処理が行われる。
By continuing such processing, video packets VP # 1 (after reconstruction) to VP # 11 (after reconstruction) are sequentially output as shown in FIG.
As described above, when the reconstruction process is performed on the packet, the video composition unit performs the composition process based on the reconstructed packet.
図12は、この合成処理を説明する図である。
図12では、4画面(フレーム)を合成して1つの合成画面を得る場合のように、合成画面上で横に2画面が並んでいる場合が想定されている。
FIG. 12 is a diagram for explaining this composition processing.
In FIG. 12, it is assumed that two screens are arranged side by side on the composite screen, as in the case where one screen is obtained by combining four screens (frames).
図12において、右上には、フレーム(その1)が示されている。また、左上には、フレーム(その2)が示されている。いずれのフレームも再構成処理が既に施されている。
合成画面を受信する側の端末において、その合成画面を正しく復号するために、左上を起点とし、左上→右上→左下→右下の順で、右下に至るまで、連番となるように、各ビデオパケットのマクロブロックナンバーを振り直している。すなわち、この場合では、1マクロブロックラインごとに2画面が多重化されるように各ビデオパケット内のマクロブロックナンバーを書き換える。
In FIG. 12, a frame (No. 1) is shown in the upper right. In the upper left, a frame (No. 2) is shown. Both frames have already undergone reconstruction processing.
In the terminal that receives the composite screen, in order to correctly decode the composite screen, starting from the upper left, in the order of upper left → upper right → lower left → lower right, until the lower right, it will be a serial number, The macroblock number of each video packet is reassigned. That is, in this case, the macroblock number in each video packet is rewritten so that two screens are multiplexed for each macroblock line.
このように、本実施形態においては、パケット再構成部によって、マクロブロックラインの境界がビデオパケットの境界と揃えられているので、復号処理を行うことなく、ヘッダ解析とマクロブロックナンバーの書き換えによるビデオパケット単位の多重化により、合成部による画面合成が可能となっている。 As described above, in the present embodiment, since the boundary of the macroblock line is aligned with the boundary of the video packet by the packet reconstructing unit, video by header analysis and rewriting of the macroblock number is performed without performing decoding processing. Multiplexing in units of packets enables screen composition by the composition unit.
このようなマクロブロックナンバーの振り直しが行われた合成画面は、端末側において受信される。そして、復号部において復号され再生される。
図13は、画面を合成する合成タイミングを説明する図である。
The synthesized screen on which the macro block number has been reassigned is received on the terminal side. Then, it is decoded and reproduced in the decoding unit.
FIG. 13 is a diagram for explaining the synthesis timing for synthesizing the screen.
図13では、各地点の端末から届く、ビデオ符号化データのフレームレートより早い周期を合成タイミングとして設定して合成を行なっている。
ある合成タイミングにおいて、全ての地点からのデータが揃わない場合は、その揃わない地点については、前フレームの画像の繰り返しを意味する符号化データを挿入する。また、全ての地点からのデータが揃っている場合は、それらのデータを用いて合成を行なう。
In FIG. 13, synthesis is performed by setting a cycle earlier than the frame rate of the encoded video data received from the terminal at each point as the synthesis timing.
If data from all points is not collected at a certain synthesis timing, encoded data that indicates repetition of the image of the previous frame is inserted for the points that are not arranged. In addition, when data from all points is available, synthesis is performed using these data.
図13の例では、各地点から毎秒5フレーム分、送信されるデータが入力され、毎秒7回の割合で合成が行なわれている。すなわち、フレームを5Hz間隔で受信し、合成を7Hz間隔で行なっている。 In the example of FIG. 13, data to be transmitted is input from each point for 5 frames per second, and synthesis is performed at a rate of 7 times per second. That is, frames are received at 5 Hz intervals, and synthesis is performed at 7 Hz intervals.
合成タイミングt1では、4地点分のデータが揃っているので、これらのデータを用いて画像を合成する。一方、時刻t1から1/7秒経過した時刻t2では、地点2と4については、次の符号化データの受信が完了しているが、地点1と3については、次の符号化データの受信が完了していない。このような場合は、地点1と3については、一つ前の時刻t1の画像を繰り返し用いる。すなわち、地点1と3については、前の画像からの変化がないことを示す符号化データを生成して用いる。
At the synthesis timing t1, data for four points are prepared, and an image is synthesized using these data. On the other hand, at time t2 at which 1/7 second has elapsed from time t1, reception of the next encoded data is completed at
これにより、各地点からのデータの到着タイミングが同期していない場合でも、各地点のデータの合成が可能となる。
なお、以上の説明では、判定部、パケット再構成部はビデオ符号化データ合成装置側に設けられていたが、これら判定部、パケット再構成部をビデオ会議端末側に設けるようにしてもよい。この場合、ビデオ会議端末側で、取り込んだ画像を符号化した後に、図5や図7のフローチャートの処理が行われて、ビデオパケットが端末側で再構成される。その場合、合成装置側では、再構成処理を省くことができ、処理負荷が軽減する。
Thereby, even when the arrival timing of the data from each point is not synchronized, the data at each point can be combined.
In the above description, the determination unit and the packet reconstruction unit are provided on the video encoded data synthesis apparatus side. However, the determination unit and the packet reconstruction unit may be provided on the video conference terminal side. In this case, after the captured image is encoded on the video conference terminal side, the processing of the flowcharts of FIGS. 5 and 7 is performed, and the video packet is reconstructed on the terminal side. In this case, the reconfiguration process can be omitted on the synthesizing apparatus side, and the processing load is reduced.
また、以上の説明では、パケット再構成処理を符号化処理の後に行なうようにしていたが、これらパケット再構成処理と符号化処理とが端末側で並行に行なわれるようにしてもよい。この場合、例えば、図5に示すパケット再構成処理が符号化処理と並行して実行される。このようにすれば、符号化されたデータ中に含まれるビデオパケットは画面の境界を跨ぐことがなくなる。この場合も、合成装置側では、再構成処理を省くことができ、処理負荷が軽減する。なお、そのような再構成処理・符号化処理を行なう再構成・符号化ユニットは、取り込んだ画像からマクロブロックのデータを生成するマクロブロック生成部と、前記生成されたマクロブロックを連結する連結部と、前記連結されたマクロブロックの長さが、画面サイズを構成するマクロブロック数を超えるかを判定する判定部と、超えると判定された場合に、その画面サイズのマクロブロック数からビデオパケットを生成するビデオパケット生成部と、前記生成された複数のビデオパケットから符号化データを生成する符号化データ生成部と、によって構成される。 In the above description, the packet reconstruction process is performed after the encoding process. However, the packet reconstruction process and the encoding process may be performed in parallel on the terminal side. In this case, for example, the packet reconstruction process shown in FIG. 5 is executed in parallel with the encoding process. In this way, the video packet included in the encoded data does not cross the screen boundary. Also in this case, the reconfiguration process can be omitted on the synthesizing apparatus side, and the processing load is reduced. Note that a reconstruction / encoding unit that performs such reconstruction / encoding processing includes a macroblock generator that generates macroblock data from a captured image, and a concatenation unit that connects the generated macroblocks. And a determination unit that determines whether the length of the linked macroblocks exceeds the number of macroblocks constituting the screen size, and when it is determined that the length exceeds the number of macroblocks of the screen size, A video packet generation unit to be generated and an encoded data generation unit to generate encoded data from the plurality of generated video packets.
なお、ビデオ会議端末の符号化部において、所定のプロファイル、例えば、シンプルプロファイル(Simple Profile)に基づいて、各MBの動きベクトルが、フレーム(画面)の内側のみを指し示すように符号化を実行してもよい。すなわち、動き検出処理において、動きベクトルが参照画像フレームの外を指し示す場合には、次の候補を探し、フレーム内を向くベクトルを選択するようにしてもよい。このようにすれば、ビデオ符号化データ合成装置30内のパケット合成部33での処理負荷を大幅に軽減することができると共に、上記したようなフレーム内符号化データ(Iピクチャ)によって、マクロブロックデータがリフレッシュされるまで画像が乱れることを回避することができる。
Note that the encoding unit of the video conference terminal performs encoding so that the motion vector of each MB points only to the inside of the frame (screen) based on a predetermined profile, for example, a simple profile. May be. That is, in the motion detection process, when the motion vector points outside the reference image frame, the next candidate may be searched for and a vector facing in the frame may be selected. In this way, the processing load on the
なお、ビデオ会議においては、会議参加者の背景に対応する画像部分には、動きが殆どない(多くの場合静止している)ことを考慮すると、符号化処理において、動きベクトルに画面の内側を向かせる、という上記制約を取り除くことも考えられる。 In a video conference, considering that the image portion corresponding to the background of the conference participant has almost no motion (in many cases, it is stationary), in the encoding process, the inner side of the screen is added to the motion vector. It is also possible to remove the above restriction of making it go.
図14は、ビデオ符号化データ合成システムの一構成例である。このシステムにおいては、N地点に画像を合成して送ることができるビデオ符号化データ合成装置が備えられている。また、この例では、各地点には、他地点からの画像に混じって自地点の画像も表示されるようになっている。 FIG. 14 is a configuration example of a video encoded data synthesis system. In this system, a video encoded data synthesizing device capable of synthesizing and sending images to N points is provided. Further, in this example, an image of the own point is also displayed at each point, mixed with images from other points.
上記した本発明の判定処理やパケット再構成処理は、ハードウェアとして実現可能であると共に、ソフトウェアとしても実現可能である。ソフトウェアとして実現される場合には、記憶媒体から本体内メモリにロードされて実行される。 The above-described determination processing and packet reconstruction processing of the present invention can be realized as hardware and also as software. When implemented as software, the program is loaded from the storage medium to the internal memory and executed.
図15は、本実施形態の判定処理やパケット結合処理を行うプログラムが格納される記憶媒体例を示す図である。
図15に示されるように、上記記憶媒体には、CD−ROM、フレキシブルディスク(あるいはMO、DVD、リムーバブルハードディスク等であってもよい)等の媒体駆動装置47に脱着可能な可搬記憶媒体46や、ネットワーク回線43経由で送信される外部の装置(サーバ等)内の記憶手段(データベース等)42、あるいは情報処理装置41の本体44内のメモリ(RAM又はハードディスク等)45等が含まれる。
FIG. 15 is a diagram illustrating an example of a storage medium in which a program for performing determination processing and packet combining processing according to the present embodiment is stored.
As shown in FIG. 15, the storage medium includes a portable storage medium 46 that is removable from a medium driving device 47 such as a CD-ROM, a flexible disk (or may be an MO, a DVD, a removable hard disk, etc.). In addition, a storage means (database or the like) 42 in an external device (server or the like) transmitted via the
本実施形態のプログラムは、上記記憶媒体から本体44内のメモリ45にロードされ実行される。
本発明は下記構成でもよい。
The program of the present embodiment is loaded from the storage medium to the memory 45 in the
The present invention may have the following configuration.
(付記1) 画面合成処理で用いられるに先立って、符号化データを再構成する処理をコンピュータに実現させるためのプログラムにおいて、
ビデオ符号化データのデータ単位を解析して画面の境界を跨ぐか否かを判定する判定処理と、
前記データ単位が前記画面境界を跨ぐと判定された場合に、該境界を跨ぐことがないように、前記データ単位を再構成する再構成処理と、
を前記コンピュータに実行させることを特徴とする符号化データの再構成プログラム。
(Supplementary note 1) In a program for causing a computer to execute processing for reconstructing encoded data prior to being used in screen composition processing,
A determination process for analyzing the data unit of the video encoded data and determining whether to cross the boundary of the screen;
When it is determined that the data unit crosses the screen boundary, a reconstruction process for reconfiguring the data unit so as not to cross the boundary;
A program for reconstructing encoded data, characterized in that the computer is executed.
(付記2) 前記ビデオ符号化データは、動きベクトルが、画面の内側のみを指し示すように符号化されていることを特徴とする付記1記載の符号化データの再構成プログラム。
(Supplementary note 2) The encoded data reconstruction program according to
(付記3) 前記判定処理において、前記符号化データのデータ単位の位置情報と、前記コンピュータの記憶手段に格納された画面サイズとに基づいて、データ単位が画面の境界を跨ぐか否かが判定されることを特徴とする付記1記載の符号化データの再構成プログラム。
(Additional remark 3) In the said determination process, it is determined whether a data unit crosses the boundary of a screen based on the positional information of the data unit of the said encoded data, and the screen size stored in the memory | storage means of the said computer. A program for reconstructing encoded data as set forth in
(付記4) 前記再構成処理は、更に、前記画面サイズ内において結合可能なものを結合する処理を含むことを特徴とする付記1記載の符号化データの再構成プログラム。
(付記5) 前記再構成処理は、更に、前記画面サイズ内に存在する複数のデータ単位を結合する処理を含むことを特徴とする付記1記載の符号化データの再構成プログラム。
(Supplementary note 4) The encoded data reconstruction program according to
(Supplementary Note 5) The encoded data reconstruction program according to
(付記6) 前記データ単位は、ヘッダ部と複数の基本単位とを含み、前記ヘッダ部には、符号化のパラメータ値の基準値が格納され、各基本単位における符号化のパラメータ値は、前記基準値に基づいて決定される差分情報によって表現され、
前記再構成処理は、前記画面サイズ内に複数のデータ単位が存在する場合に、それらデータ単位の境界において、それらデータ単位が結合可能であるか判定する結合判定処理をさらに備え、
該結合判定処理は、前記画面サイズ内に存在する連続するデータ単位内の各基本単位において前記ヘッダ部の基準値に基づく差分情報による表現が可能な場合に、それらデータ単位を結合することを特徴とする付記3記載の符号化データの再構成プログラム。
(Supplementary Note 6) The data unit includes a header part and a plurality of basic units. The header part stores a reference value of an encoding parameter value, and the encoding parameter value in each basic unit is It is expressed by difference information determined based on the reference value,
The reconfiguration process further includes a combination determination process for determining whether or not the data units can be combined at the boundary of the data units when there are a plurality of data units within the screen size,
The combination determination process combines the data units when the basic units in the continuous data units existing in the screen size can be expressed by the difference information based on the reference value of the header part. The reconstructed program of encoded data according to
(付記7) 前記基準値に基づいて決定される各基本単位の符号化のパラメータ値は、各基本単位において、1つ前の基本単位の符号化のパラメータ値からの差分情報として表現され、
前記結合判定処理は、前記画面サイズ内に存在する連続するデータ単位において、後続のデータ単位の最初の基本単位の符号化のパラメータ値が、一つ前のデータ単位の最後の基本単位の符号化のパラメータ値からの差分情報として表現可能な場合に、それらデータ単位を結合することを特徴とする付記6記載の符号化データの再構成プログラム。
(Supplementary note 7) The encoding parameter value of each basic unit determined based on the reference value is expressed as difference information from the encoding parameter value of the previous basic unit in each basic unit,
In the combination determination process, in a continuous data unit existing within the screen size, the encoding parameter value of the first basic unit of the subsequent data unit is the encoding of the last basic unit of the previous data unit. The encoded data reconstruction program according to
(付記8) 前記データ単位はビデオパケットであることを特徴とする付記1記載の符号化データの再構成プログラム。
(付記9) 前記データ単位はビデオパケットであり、前記基本単位はマクロブロックであることを特徴とする付記6記載の符号化データの再構成プログラム。
(Supplementary note 8) The encoded data reconstruction program according to
(Supplementary note 9) The encoded data reconstruction program according to
(付記10) 画面合成処理で用いられるに先立って、画像データを符号化し、かつ、再構成する処理をコンピュータに実現させるためのプログラムにおいて、
取り込んだ画像から基本単位のデータを生成する処理と、
前記生成された基本単位を連結する処理と、
前記連結された基本単位の長さが、前記コンピュータの記憶手段に格納される画面サイズを構成する基本単位数を超えるかを判定する処理と、
超えると判定された場合に、その画面サイズの基本単位数からデータ単位を生成する処理と、
前記生成された複数のデータ単位から符号化データを生成する処理と、
を前記コンピュータに実行させることを特徴とする画像データの符号化・再構成プログラム。
(Supplementary Note 10) In a program for causing a computer to execute a process of encoding and reconstructing image data before being used in the screen composition process,
Processing to generate basic unit data from captured images;
Processing for concatenating the generated basic units;
A process of determining whether the length of the linked basic units exceeds the number of basic units constituting the screen size stored in the storage means of the computer;
When it is determined that the data size exceeds the process of generating a data unit from the number of basic units of the screen size,
Processing for generating encoded data from the plurality of generated data units;
A program for encoding / reconstructing image data, characterized in that the computer is executed.
(付記11) ビデオ符号化データのデータ単位を解析して画面の境界を跨ぐか否かを判定する判定部と、
前記データ単位が前記画面境界を跨ぐと判定された場合に、該境界を跨ぐことがないように、前記データ単位を再構成する再構成部と、
再構成された複数の符号化データから合成画面を生成する合成部と、を備えることを特徴とするビデオ符号化データ合成装置。
(Supplementary Note 11) A determination unit that analyzes a data unit of video encoded data and determines whether to cross a screen boundary;
A reconfiguration unit configured to reconfigure the data unit so that the data unit does not cross the boundary when it is determined that the data unit crosses the screen boundary;
A video encoded data synthesizing device comprising: a synthesizing unit that generates a synthesized screen from a plurality of reconstructed encoded data.
(付記12) 前記合成部は周期的なタイミングにより起動され、
所定の合成タイミングにおいて、前記合成部は、全ての地点からのビデオ符号化データが揃わない場合に、その揃わない地点に対して、一つ前のフレームの繰り返しであることを示す情報を1フレーム分挿入して合成を行なうことを特徴とする付記8記載のビデオ符号化データ合成装置。
(Additional remark 12) The said synthetic | combination part is started by a periodic timing,
At a predetermined synthesis timing, when the video encoded data from all the points is not complete, the synthesis unit displays information indicating that the previous frame is repeated for the non-aligned point by one frame. 9. The video encoded data synthesizing device according to
(付記13) ビデオ符号化データ合成装置にビデオ符号化データを送信する端末内に設けられた符号化・再構成ユニットにおいて、
取り込んだ画像から基本単位のデータを生成する基本単位生成部と、
前記生成された基本単位を連結する連結部と、
前記連結された基本単位の長さが、画面サイズを構成する基本単位数を超えるかを判定する判定部と、
超えると判定された場合に、その画面サイズの基本単位数からデータ単位を生成するデータ単位生成部と、
前記生成された複数のデータ単位から符号化データを生成する符号化データ生成部と、
を備えることを特徴とする符号化・再構成ユニット。
(Supplementary Note 13) In an encoding / reconstructing unit provided in a terminal that transmits video encoded data to a video encoded data synthesizer,
A basic unit generator for generating basic unit data from the captured image;
A connecting part for connecting the generated basic units;
A determination unit for determining whether the length of the connected basic units exceeds the number of basic units constituting the screen size;
A data unit generator that generates a data unit from the number of basic units of the screen size when it is determined that
An encoded data generation unit that generates encoded data from the plurality of generated data units;
An encoding / reconstructing unit comprising:
本発明は、ビデオ符号化データ合成装置側で復号/符号化処理を行わないストリーム合成方式に適用可能である。 The present invention can be applied to a stream synthesizing method in which decoding / encoding processing is not performed on the video encoded data synthesizing apparatus side.
10 ビデオ符号化データ合成システム
20 ビデオ会議端末
21 符号化部
30 ビデオ符号化データ合成装置
31 判定部
32 パケット再構成部
33 パケット合成部
41 情報処理装置
42 記憶手段
43 ネットワーク
44 装置本体
45 メモリ
46 可搬記憶媒体
47 媒体駆動装置
DESCRIPTION OF
Claims (5)
ビデオ符号化データのデータ単位を解析して画面の境界を跨ぐか否かを判定する判定処理と、
前記データ単位が前記画面境界を跨ぐと判定された場合に、該境界を跨ぐことがないように、前記データ単位を再構成する再構成処理と、
を前記コンピュータに実行させることを特徴とする符号化データの再構成プログラム。 Prior to being used in screen composition processing, in a program for causing a computer to execute processing for reconstructing encoded data,
A determination process for analyzing the data unit of the video encoded data and determining whether to cross the boundary of the screen;
When it is determined that the data unit crosses the screen boundary, a reconstruction process for reconfiguring the data unit so as not to cross the boundary;
A program for reconstructing encoded data, characterized in that the computer is executed.
前記データ単位が前記画面境界を跨ぐと判定された場合に、該境界を跨ぐことがないように、前記データ単位を再構成する再構成部と、
再構成された複数の符号化データから合成画面を生成する合成部と、を備えることを特徴とするビデオ符号化データ合成装置。 A determination unit that analyzes the data unit of the video encoded data and determines whether to cross the boundary of the screen;
A reconfiguration unit configured to reconfigure the data unit so that the data unit does not cross the boundary when it is determined that the data unit crosses the screen boundary;
A video encoded data synthesizing device comprising: a synthesizing unit that generates a synthesized screen from a plurality of reconstructed encoded data.
所定の合成タイミングにおいて、前記合成部は、全ての地点からのビデオ符号化データが揃わない場合に、その揃わない地点に対して、一つ前のフレームの繰り返しであることを示す情報を1フレーム分挿入して合成を行なうことを特徴とする請求項4記載のビデオ符号化データ合成装置。 The synthesizing unit is activated at a periodic timing,
At a predetermined synthesis timing, when the video encoded data from all the points is not complete, the synthesis unit displays information indicating that the previous frame is repeated for the non-aligned point by one frame. 5. The encoded video data synthesizing apparatus as claimed in claim 4, wherein the synthesizing is performed by inserting a part.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004063241A JP2005252898A (en) | 2004-03-05 | 2004-03-05 | Reconstruction program for encoded data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004063241A JP2005252898A (en) | 2004-03-05 | 2004-03-05 | Reconstruction program for encoded data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005252898A true JP2005252898A (en) | 2005-09-15 |
Family
ID=35032934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004063241A Pending JP2005252898A (en) | 2004-03-05 | 2004-03-05 | Reconstruction program for encoded data |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005252898A (en) |
-
2004
- 2004-03-05 JP JP2004063241A patent/JP2005252898A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101442278B1 (en) | Information processing device and method | |
EP2134092B1 (en) | Information processing apparatus and method, and program | |
CA2165492C (en) | Temporally-pipelined predictive encoder/decoder circuit and method | |
US5883671A (en) | Method and apparatus for partitioning compressed digital video bitstream for decoding by multiple independent parallel decoders | |
JP5411244B2 (en) | Video processing in multiparty video conferences | |
EP2544451A3 (en) | Method and system for digital decoding 3D stereoscopic video images | |
JPH08294130A (en) | Video compression using plurality of processors | |
KR20100071865A (en) | Method for constructing and decoding a video frame in a video signal processing apparatus using multi-core processor and apparatus thereof | |
US20060120454A1 (en) | Method and apparatus for encoding/decoding video signal using motion vectors of pictures in base layer | |
US20080008241A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
JP5172874B2 (en) | Video synchronization apparatus, video display apparatus, video synchronization method, and program | |
JP2001527345A (en) | Process and apparatus for performing a wipe on a compressed MPEG video bitstream | |
US20060133497A1 (en) | Method and apparatus for encoding/decoding video signal using motion vectors of pictures at different temporal decomposition level | |
US20070242747A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
US20070223573A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
US20070280354A1 (en) | Method and apparatus for encoding/decoding a first frame sequence layer based on a second frame sequence layer | |
US20060159176A1 (en) | Method and apparatus for deriving motion vectors of macroblocks from motion vectors of pictures of base layer when encoding/decoding video signal | |
JP2005244898A (en) | Apparatus for compositing video encoded data | |
JP2005252898A (en) | Reconstruction program for encoded data | |
KR101102393B1 (en) | Method and apparatus for preventing error propagation in encoding/decoding of a video signal | |
JPH10262228A (en) | Communication system, multi-point controller and video information display method | |
US20060133498A1 (en) | Method and apparatus for deriving motion vectors of macroblocks from motion vectors of pictures of base layer when encoding/decoding video signal | |
US9479823B2 (en) | Transmitting device and receiving device | |
JP2004222262A (en) | Built-in memory device for motion picture compression | |
KR20060059764A (en) | Method and apparatus for encoding a video signal using previously-converted h-pictures as references and method and apparatus for decoding the video signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090310 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090630 |