JP3866628B2 - Moving picture coding method, moving picture decoding method, picture coding apparatus, picture decoding apparatus, moving picture coding program, moving picture decoding program, and recording medium for these programs - Google Patents

Moving picture coding method, moving picture decoding method, picture coding apparatus, picture decoding apparatus, moving picture coding program, moving picture decoding program, and recording medium for these programs Download PDF

Info

Publication number
JP3866628B2
JP3866628B2 JP2002207530A JP2002207530A JP3866628B2 JP 3866628 B2 JP3866628 B2 JP 3866628B2 JP 2002207530 A JP2002207530 A JP 2002207530A JP 2002207530 A JP2002207530 A JP 2002207530A JP 3866628 B2 JP3866628 B2 JP 3866628B2
Authority
JP
Japan
Prior art keywords
output
image
decoding
frame
decoded
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.)
Expired - Lifetime
Application number
JP2002207530A
Other languages
Japanese (ja)
Other versions
JP2004056232A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002207530A priority Critical patent/JP3866628B2/en
Publication of JP2004056232A publication Critical patent/JP2004056232A/en
Application granted granted Critical
Publication of JP3866628B2 publication Critical patent/JP3866628B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は,フレーム間予測符号化方式を使った動画像符号化に関する技術に関し,特に,各フレームにそれを出力する時刻情報を持たせるのではなく,復号画像を出力する際の現在の復号フレームを基準としたタイミングを示す出力タイミング番号を持たせることにより,フレームの入れ替え時における編集を容易にし,また画像復号装置の画像出力部分の装置構成を簡易にすることを可能にした動画像符号化方法,動画像復号方法,画像符号化装置,画像復号装置,動画像符号化プログラム,動画像復号プログラムおよびそれらのプログラムの記録媒体に関するものである。
【0002】
【従来の技術】
MPEG−1,MPEG−2やH.261,H.263といった国際標準動画像符号化では,各フレームの出力時刻を符号化する。これらの時刻情報は,TR(Temporal Reference)と呼ばれ,フレーム毎に固定長符号化される。システムで基準となる時間間隔を予め設定しておき,その時間間隔とTRの積でシーケンス先頭からの時刻を示す。画像符号化装置(エンコーダ)では,入力画像の時刻情報をTRに設定して各フレームを符号化し,画像復号装置(デコーダ)では,各フレームの復号画像をTRで指定された時刻に出力する。
【0003】
他方,一般的に動画像符号化では時間方向の相関を使って高い符号化効率を実現するため,フレーム間予測符号化を用いている。フレームの符号化モードには,フレーム間の相関を使わずに符号化するIフレームと,過去に符号化した1フレームから予測するPフレームと,過去に符号化した2フレームから予測することができるBフレームがある。特に,映像符号化方式H.263では,参照画像メモリに複数フレーム分の復号画像を蓄積しておき,そのメモリから参照画像を選択して予測することができる。
【0004】
Bフレームでは,より過去のフレームから予測する方法を前方向フレーム間予測と呼び,より未来のフレームから予測する方法を後方向フレーム間予測と呼ぶ。後方向フレーム間予測における参照フレームの表示時刻は,現フレームよりも未来であってもよい。この場合には,現フレームを表示した後に後方向フレーム間予測の参照フレームを出力することになる。
【0005】
Bフレームで2フレームから予測する場合(両方向フレーム間予測の場合)には,2フレームからの画像情報を補間して,1フレーム分の画像情報を作成して予測画像を作成する。
【0006】
図19(A1)に,後方向フレーム間予測における参照フレームの表示時刻が未来の場合の,動画像の予測関係の例を示す。第1フレームF1から第7フレームF7までの符号化モードをIBBPBBPの順序で符号化する場合には,図19(A1)に示す予測関係があるため,実際に符号化する場合には,図19(A2)に示すようにF1→F4→F2→F3→F7→F5→F6の順序でフレームを符号化する。この場合の符号化されるTRの順序は,符号化フレームと同様にF1→F4→F2→F3→F7→F5→F6に対応した値となる。
【0007】
図19(B1)に,後方向フレーム間予測における参照フレームの表示時刻が過去の場合の,動画像の予測関係の例を示す。図19(A1)の場合と異なり,第1フレームF1から第7フレームF7までの符号化モードをIBBPBBPの順序で符号化する場合であっても,図19(B1)に示す予測関係があるため,図19(B2)に示すようにF1→F4→F2→F3→F5→F6→F7の順序でフレームを符号化する。
【0008】
各フレームの出力時刻を示す方法としては,MPEG−1,2のTRのように,シーケンス先頭からの時刻情報を符号化する方法(これを以後,方法aとする)の他に,例えば次の方法が考えられる。
(方法b)直前に符号化したフレームからの差分時刻情報を符号化する。
(方法c)基準となるフレームを設定して,基準フレームでシーケンス先頭位置からの時刻情報を符号化し,各フレームでは基準フレームからの時刻情報を符号化する。
(方法d)基準となるフレームを設定して,基準フレームでシーケンス先頭位置からの時刻情報を符号化し,各フレームでは直前に符号化したフレームからの差分時刻情報を符号化する。
【0009】
これらの方法のうち,方法bと方法dでは,Bフレームで後方向フレーム間予測における参照フレームの表示時刻が未来の場合には,直前に符号化したフレームに対して過去のフレームの差分時刻情報を表す必要があり,その場合,例えば差分時刻情報としてマイナスの値を使用する。例えば第1フレームF1から第7フレームF7までの符号化モードがIBBIBBIの順の符号化データでは,F1→F4→F2→F3→F7→F5→F6の順序で符号化されるが,この場合の時刻情報は,符号化データ順に例えば,0,3,−2,1,4,−2,1となる。
【0010】
【発明が解決しようとする課題】
しかしながら,これらの各フレームの出力時刻を示す方法では,符号化データを複数フレーム単位で入れ替える際に次のような課題があった。
(1)上記の方法aでは,対象となる全フレームの時刻情報を変更する必要があり,作業が煩雑となった。
(2)上記の方法bでは,例えばIBBIBBIの順に符号化された符号化データにおいて,時刻情報を符号化データ順に0,3,−2,1,4,−2,1と与えられている場合には,同じIフレームであってもシーケンス中の位置によって時刻情報は0または3または4となる。したがって,方法aの場合と同様に,対象となる数フレームの時刻情報を変更する必要があり,作業が煩雑となった。
(3)方法cまたは方法dの方法では,基準フレームの時刻情報を変更する必要があり,作業が煩雑となった。
【0011】
以上のように,いずれの方法においても,複数フレーム単位の符号化データの入れ替えに際しては,時刻情報の変更が必要であった。
【0012】
本発明は上記問題点の解決を図り,複数フレーム単位の符号化データの入れ替えに際して,時刻情報を変更する必要性をなくした新しい動画像符号化,復号方式を提供することを目的とする。
【0013】
【課題を解決するための手段】
本発明は,上記課題を解決するため,各フレームに復号画像を出力する際の現在の復号フレームを基準としたタイミングを示す情報(これを出力タイミング番号という)を持たせることを特徴とする。
【0014】
すなわち,本発明は,フレーム間予測符号化方式を用いて画像情報を符号化する動画像符号化方法において,符号化対象の画像情報をフレーム単位で入力し符号化するとともに,当該入力フレームを符号化したフレームを,復号側において現在の復号フレームから何フレーム分後のタイミングで出力するかを示す出力タイミング番号を符号化する。その出力タイミング番号を符号化したデータと入力フレームの画像情報を符号化したデータとを符号化データとして出力する。
【0015】
復号側において現在の復号フレームを直ちに出力するか否かを示す方法として,それを区別する復号画像出力フラグを符号化し,符号化データに加える方法,または前記出力タイミング番号の値をあらかじめ定めた特定の値(例えば,0)として符号化する方法を用いることができる。
【0016】
また,画像符号化装置では,画像復号装置で符号化データを復号し出力する際に,復号する符号化データの入力を開始してからその符号化データを復号した復号画像の出力を開始するまでの,シーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す情報(これを出力遅延フレーム数という)を符号化し,前記一連の符号化データの前に付加して出力するようにする。
【0017】
画像復号装置では,この出力遅延フレーム数の符号化データを復号し,その出力遅延フレーム数と各フレームごとの出力タイミング番号に従って,復号画像の出力を制御する。
【0018】
【発明の実施の形態】
まず,本発明の概要について具体例に従って説明する。図1および図2は,本発明に基づく出力タイミング番号の作用を説明する図である。
【0019】
従来技術では,各フレームの出力時刻を示す方法として,各フレームにシーケンス先頭からの時刻情報を持たせる方法,前フレームからの差分時刻情報を持たせる方法,基準となるフレームを設定して,基準フレームにシーケンス先頭位置からの時刻情報を持たせ,各フレームには,基準フレームからの時刻情報を持たせる方法,または,基準となるフレームを設定して,基準フレームにシーケンス先頭位置からの時刻情報を持たせ,各フレームには,前フレームからの差分時刻情報を持たせる方法が用いられていた。したがって,これらの方法では,符号化データを複数フレーム単位で入れ替える場合に,時刻情報の変更が必要であり,その作業が煩雑であるという問題があった。
【0020】
本発明では,各フレームに従来技術のような時刻情報ではなく,復号画像を出力する際の現在の復号フレームを基準としたタイミングを示す出力タイミング番号(以後,この値をOutputTimNumと表す)を持たせる。また,シーケンス全体として復号画像の出力を遅延させるフレーム数を示す出力遅延フレーム数(以後,この値をDelayNumと表す)を符号化する。この方法によれば,符号化データを複数フレーム単位で入れ替える際に,符号化データ中の出力タイミング番号と出力遅延フレーム数とを変更する必要がない。
【0021】
例えば,シーケンスの符号化データが,図1(A)に示すように,(I3)(P4)(B1)(B2)(I6)(B5)となっていたとする。ただし,I,P,Bは,それぞれ符号化モードを示し,符号化モードの後の番号は出力順序を示す。(B1)と(B2)は,(I3)と(P4)を参照し,(B5)は(I6)を参照しているものとする。
【0022】
図1に示す例では,出力遅延フレーム数が2であるとする。これは,最初の復号対象の画像(I3)を入力して,最初に復号画像(B1)を出力するまでに,2フレーム分の遅延があることを意味している。
【0023】
画像復号装置は,1フレーム復号するたびに1フレーム出力するものとする。出力画像メモリとして複数フレーム分のメモリを有し,出力タイミング番号によって復号画像の格納位置が決められる。ここでは,説明をわかりやすくするために,画像を1フレーム出力すると,メモリ内のデータが一つ隣のメモリにシフトするものとする(実際には,メモリ内をデータがシフトするのではなく,インデックスを更新することによってデータがシフトしたように見せる)。出力タイミング番号の値が0の場合には,復号後,すぐに出力するものとする。
【0024】
(I3)フレームの出力タイミング番号は4であるので,その復号画像は出力画像メモリのインデックス値が4のメモリに格納される。各フレームの処理時間単位で,インデックス値が−1ずつ減算され,(I3)フレームは,入力してから4フレーム分の時間だけ遅延して出力される。(P4)フレームの出力タイミング番号も4であるで,(P4)フレームも入力してから4フレーム分の時間経過後に出力される。(B1)フレームは,出力タイミング番号が0であるので,直ちに出力され,(B2)フレームも直ちに出力される。(B2)フレームの出力の後に,(I4)フレームの復号画像が出力され,続いて(P4)フレームの復号画像が出力されることになる。(P4)フレームの出力後,(B5)フレーム,(I6)フレームの順番で出力される。
【0025】
出力するフレームの順番が(B1)(B2)(I3)(P4)(B5)(I6)である画像情報を符号化する順番は,(I3)(P4)(B1)(B2)(I6)(B5)であるが,これを複数フレーム単位で入れ替えて,(B5)(I6)(B1)(B2)(I3)(P4)の順序で出力するように編集を行った場合にいて説明する。
【0026】
この場合,符号化するフレームの順番は,(I6)(B5)(I3)(P4)(B1)(B2)になる。このとき,各フレームに付加された出力タイミング番号は,3,1,4,4,0,0であり,複数フレーム単位で出力する順番を入れ替えても,出力タイミング番号を変更する必要はない。図1(B)に,このときの復号の順番と,出力画像メモリの格納位置と,出力画像の順番の例を示す。
【0027】
図1(B)に示す例から明らかなように,出力タイミング番号を変更しなくても,所望する順番で復号画像が出力される。複数フレーム単位の入れ替えが,どの位置であってもよいというわけではないが,必要に応じて入れ替えることができるフレーム位置を制限することにより,出力タイミング番号の変更処理を省略することできる。
【0028】
同様に,図2に示す例について説明する。例えば,シーケンスの符号化データが,図2(A)に示すように,(I1)(P2)(I4)(B3)となっていたとする。ただし,(B3)は(I4)を参照している。また,出力遅延フレーム数が1であるとする。
【0029】
(I1)(P2)(I4)(B3)のフレームは,出力タイミング番号がそれぞれ1,1,2,0となっており,この出力タイミング番号によって出力画像メモリへの格納制御および出力画像メモリからの出力制御が行われ,(I1)(P2)(B3)(I4)の順番で復号画像が出力されることになる。
【0030】
これを複数フレーム単位で入れ替えて,(B3)(I4)(I1)(P2)の順序で出力するように編集を行うものとする。図2(B)に示すように,符号化のフレームの順番は,(I4)(B3)(I1)(P2)であり,この場合にもそれぞれの出力タイミング番号によって,所望する順番で復号画像が出力されることになる。
【0031】
以上のように,本方式では,データを入れ替える個所において,出力画像メモリには必ず最大で出力遅延フレーム数分だけフレームがバッファされている状態になるため,復号画像を上書きすることはない。
【0032】
同じ出力遅延フレーム数のビットストリームは,結合することができる。また,出力遅延フレーム数が異なるビットストリームを結合する場合には,後述するように,出力遅延フレーム数の差分によってシーケンス毎に出力タイミング番号を調節することにより,結合することができるようになる。
【0033】
復号画像と出力画像メモリの内容と出力画像の関係について,さらに他の具体例に従って説明する。図3および図4は,画像復号装置における出力画像メモリの使用例を説明する図である。
【0034】
画像復号装置(デコーダ)は,インデックスで管理される出力画像メモリを備え,そのインデックスは,出力画像メモリ内のメモリから画像を出力するまでの現フレームからのフレーム数を示す。出力画像メモリが複数のメモリで構成される場合には,インデックスは,各メモリを区別する情報でもあり,出力画像メモリ内の各メモリに対して異なる数字で表現される。
【0035】
画像復号装置は,出力タイミング番号に対応するインデックスが示す出力画像メモリの位置に復号画像を蓄積し,1フレーム分の符号化データを復号するたびに,インデックスを更新することによって,出力画像メモリに蓄積された復号画像かあるいは現フレームの復号画像を1フレーム出力する。
【0036】
例えば,符号化データが(I1)(B2)(B3)(I4)(B5)(B6)(I7)となっている場合の動作例を示す。ピクチャタイプの後の番号は出力順序を示す。Bフレームの後方向フレーム間予測における参照フレームの表示時刻は未来であるとし,符号化データ中では,(I1)(I4)(B2)(B3)(I7)(B5)(B6)の順序に並んでいる。ただし,(B5)(B6)は,(I7)のみを参照しているものとする。
【0037】
この場合,復号画像と出力タイミング番号,出力画像メモリの内容と出力画像の関係は,図3(A)のようになる。この図では,出力タイミング番号が0の場合には,現フレームの復号画像をすぐに出力するものとする。出力タイミング番号が0以外の場合には,画像復号装置は,出力画像メモリからインデックス値が1のメモリに蓄積された画像を出力し,その後に復号画像を出力画像メモリ中の出力タイミング番号に対応するインデックスで指定された位置に蓄積する。画像復号装置は,出力タイミング番号の値にかかわらず,値が0であっても,画像を出力すると出力画像メモリのインデックスの値を更新する。インデックスの値の更新では,元のインデックスの値が1以外の場合には値を1引いて,1の場合には最大値に設定する。
【0038】
ここで,図3(A)では,出力画像メモリに3フレーム分のメモリを用意し,各メモリに1から始まる正の整数のインデックスを連番で割り当てた。このような構成も可能であるが,この場合には,出力画像メモリには,Bフレームの連続するフレーム数とさらに1フレーム分の容量のメモリを備える必要があり,必要なメモリ容量が大きくなる。
【0039】
そこで,図3(B)のように出力画像メモリにはシーケンス中の全フレームで復号画像の出力が遅延するフレーム数である出力遅延フレーム数分のメモリを備えておき,各メモリに個別のインデックスを割り振るようにする。ただし,各メモリにおいて,メモリに復号画像が蓄積されていない場合には,インデックスを0に設定しておき,インデックスが0の値のときには,インデックスの値の更新は行わないとする。新たに復号した画像で,出力タイミング番号が0以外の場合には,インデックスが0のメモリ位置に蓄積する。
【0040】
ここで,出力遅延フレーム数は,Bフレームで後方向フレーム間予測における参照フレームの表示時刻が未来となるフレーム数であり,画像符号化時に外部から指定することができるフレーム数である。
【0041】
このようにすれば,出力画像メモリを出力遅延フレーム数だけ用意すればよく,図3(A)のようなメモリ構成よりもメモリ容量を減らすことができる。ここで,出力遅延フレーム数はシーケンス内で同一の値に設定する。
【0042】
図3(A)または(B)に示す例から明らかなように,この方法によれば,画像復号装置は,1フレーム復号するたびに,1フレーム画像を出力することができる。また,この方法によれば,符号化データを複数フレーム単位で入れ替える際に,符号化データ中の出力タイミング番号を変更する必要がなく,したがって符号化データを変更する必要がない。
【0043】
例えば,上記の符号化データ(I1)(B2)(B3)(I4)(B5)(B6)(I7)の出力順序を(B5)(B6)(I7)(I1)(B2)(B3)(I4)に入れ替える場合には,次のようになる。
【0044】
符号化データ中は,(I1)(I4)(B2)(B3)(I7)(B5)(B6)に並んでいたものが,(I7)(B5)(B6)(I1)(I4)(B2)(B3)の順序になる。この場合の各フレームにおける,復号画像と出力タイミング番号,出力画像メモリの内容と出力画像の関係は,図4(A)または(B)のようになり,出力タイミング番号を変更しなくとも良い。このようにフレームを入れ替えたとしても,出力タイミング番号を変更することなく,画像復号装置は1フレーム復号するたびに,1フレーム画像を出力することができる。また,入れ替える個所において,出力画像メモリには必ず最大で,出力遅延フレーム数分だけ蓄積されている状態になるため,出力画像メモリ内で復号画像を上書きすることはない。
【0045】
以上のように本発明によれば,符号化データ中のフレームを入れ替えたとしても,符号化データを変更する必要がない。
【0046】
また,画像復号装置は1フレーム復号するたびに,1フレーム画像を出力することができる。すなわち画像復号装置は,1フレームの復号と出力を同一の周波数で実行することができる。従来のTRを使って出力時間を指定する方法では,符号化データ中にBフレームがあると,画像復号装置は1フレームの復号に対して,フレームを出力しなかったり,複数のフレームをまとめて出力する必要があり,画像復号装置の画像出力部分の装置構成が複雑になる問題があった。しかし,本発明では,画像復号装置は1フレームの復号と同一の周波数で1フレームを出力する構成で十分であり,出力部分の装置構成は簡易に実現できる。
【0047】
本発明では,符号化データの出力遅延フレーム数が同一であれば,出力画像メモリ内での復号画像のインデックスの最大値が同じとなり,符号化データを結合することが可能である。したがって,符号化データを結合できるかどうかを判断するために,出力遅延フレーム数を符号化データに含めることは好適である。例えばシーケンスヘッダに含めることは好適である。
【0048】
出力遅延フレーム数が異なる符号化データを結合するには,次のような方法がある。これには結合する符号化データの出力遅延フレーム数が同じになれば良い。そこで複数の出力遅延フレーム数の最大数(MaxDelayNum )を求め,各符号化データにおいて,出力遅延フレーム数(DelayNum)から,差分出力遅延フレーム数(DeltaDelayNum )を次の式に従って求める。
【0049】
DeltaDelayNum =MaxDelayNum −DelayNum
この差分出力遅延フレーム数(DeltaDelayNum )を,符号化データ中の各フレームの出力タイミング番号(OutputTimNum)に加算して得られる値を,改めて出力タイミング番号とする。以上により,結合する符号化データはすべて,MaxDelayNum を出力遅延フレーム数とする符号化データとなり,結合することが可能となる。この場合には,差分出力遅延フレーム数(DeltaDelayNum )を符号化データに含める必要がある。例えばMPEG−2のGOP単位で結合する場合には,差分出力遅延フレーム数をGOPヘッダに含めることは好適である。
【0050】
次に,本発明の実施の形態に係る画像符号化装置と画像復号装置の例を説明する。
【0051】
〔画像符号化装置の構成例1〕
図5に,画像符号化装置の第1の構成例の装置概要を示す。画像符号化装置10は,画像情報を1フレーム単位で取り込む画像入力部101と,取り込んだ画像のフレーム数のカウンターを1増やす入力フレーム数カウント部102と,取り込んだ画像をI,P,Bフレームのいずれで符号化するのかを示す符号化モードを外部から指定する符号化モード指定部103と,符号化モード指定部103で指定される符号化モードがBフレームかどうかに従って,取り込んだフレームをすぐに符号化するかどうかを決定する符号化決定部104と,取り込んだフレームをすぐに符号化する場合に,そのフレーム数のカウンターを1増やす符号化フレーム数カウント部105と,復号側でシーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数を外部から指定する遅延指定部106と,入力フレーム数カウント部102でカウントしているフレーム数と,符号化フレーム数カウント部105でカウントしているフレーム数と,遅延指定部106で指定された出力遅延フレーム数とから,復号側の出力画像メモリ中に格納された復号画像をどのタイミングで出力するのかを示す出力タイミング番号を計算する出力タイミング番号計算部107と,符号化決定部104における,取り込んだフレームをすぐに符号化するかどうかの決定結果から,復号側で復号画像をすぐに出力するかどうかを決定する復号画像出力決定部108と,出力タイミング番号を可変長または固定長符号化する出力タイミング番号符号化部109と,復号側で復号画像をすぐに出力するかどうかを指定する復号画像出力フラグを可変長または固定長符号化する復号画像出力フラグ符号化部110と,取り込んだフレームをフレーム間予測符号化を用いて符号化するフレーム間予測符号化部111と,フレーム間予測符号化部111から得られる符号化データを復号する復号部112と,復号画像を蓄積する参照画像メモリ113と,取り込んだフレームをすぐに符号化しない場合に,取り込んだフレームを蓄積する入力画像遅延メモリ114と,入力画像遅延メモリ114に蓄積したフレームがある場合に,そのフレームをフレーム間予測符号化部111で符号化するかどうかを決定する遅延画像符号化決定部115とを備える。
【0052】
図中のSW1〜SW3は,各部への入力または出力を切り替えるスイッチ部である。スイッチ部SW1は,画像入力部101が取り込んだフレームを,符号化決定部104がすぐに符号化すると決定した場合に,その入力フレームをスイッチ部SW2へ導き,すぐに符号化しないと決定した場合には,その入力フレームを入力画像遅延メモリ114へ導く。スイッチ部SW2は,遅延画像符号化決定部115が入力画像遅延メモリ114に蓄積されているフレームを符号化するかどうかの決定結果に従って,入力画像遅延メモリ114に蓄積していたフレームをフレーム間予測符号化部111へ導くか,スイッチ部SW1からの入力フレームをフレーム間予測符号化部111へ導くかする切り替えを行う。
【0053】
また,スイッチ部SW3は,復号画像出力決定部108による復号側で復号画像をすぐに出力するかどうかを決定した結果に従って,出力タイミング番号符号化部109による符号化または復号画像出力フラグ符号化部110による符号化を制御する。
【0054】
図6に,画像符号化装置10の動作フローを示す。まず,ステップS100では,外部から出力遅延フレーム数(DelayNum)が指定される。ステップS101では,画像符号化装置10が符号化する画像が存在するかどうかをチェックし,存在する場合にはステップS102へ進み,存在しない場合には画像符号化装置10自体の処理を終了する。
【0055】
ステップS102では,画像入力部101が入力画像を1フレーム取り込む。ステップS103では,入力フレーム数カウント部102が取り込んだフレームのフレーム数カウンター(以後,この値をInputFrameNum で示す)を1増やす。ステップS104では,符号化モード指定部103が,画像入力部101が取り込んだフレームの符号化モードを外部から指定する。ステップS105では,符号化決定部104が,フレームの符号化モードがBフレームである場合には,取り込んだフレームの符号化を遅延すると決定し,それ以外のフレームでは取り込んだフレームをすぐに符号化すると決定する。遅延して符号化すると決定した場合には,ステップS106へ進み,すぐに符号化すると決定した場合には,ステップS107へ進む。
【0056】
ステップS106では,符号化を遅延すると決定したフレームの画像情報を入力画像遅延メモリ114に蓄積する。その後,ステップS102に戻って,同様に次のフレームの処理を行う。
【0057】
ステップS107では,符号化フレーム数カウント部105が,取り込んだフレームをすぐに符号化すると決定したフレームのフレーム数カウンター(以後,この値をEncodeFrameNumで示す)を1増やす。ステップS109では,復号画像出力決定部108が,復号側で復号画像を復号直後に出力するかどうかを決定する。ここで,ステップS105において,符号化決定部104が取り込んだフレームをすぐに符号化しないと決定した場合には,復号画像を復号直後に出力すると決定し,取り込んだフレームをすぐに符号化すると決定した場合には,復号画像を復号直後に出力しないと決定する。復号画像を復号直後に出力すると決定した場合には,ステップS110へ進み,復号画像を復号直後に出力すると決定した場合には,ステップS111へ進む。
【0058】
ステップS110では,復号側で復号画像を復号直後に出力すると決定された場合に,復号画像出力フラグ符号化部110が復号画像出力フラグを値“1”に設定して符号化する。その後,ステップS114へ進む。
【0059】
ステップS111では,復号側で復号画像を復号直後に出力しないと決定された場合に,復号画像出力フラグ符号化部110が復号画像出力フラグを値“0”に設定して符号化する。ステップS112では,出力タイミング番号計算部107が,出力遅延フレーム数(DelayNum)と入力フレーム数カウンター値(InputFrameNum )と符号化フレーム数カウンター値(EncodeFrameNum)から,次式に従って,出力タイミング番号(OutputTimNum)を計算する。
【0060】
OutputTimNum=DelayNum+InputFrameNum −EncodeFrameNum
ステップS113では,復号側で復号画像を復号直後に出力しないと決定された場合に,出力タイミング番号符号化部109が出力タイミング番号を符号化する。
【0061】
ステップS114では,符号化するフレームをブロックに分割して,すべてのブロックが符号化されたかどうかを判定する。まだ符号化されていないブロックがあれば,ステップS115へ進み,フレーム間予測符号化部111がブロックを符号化し,符号化結果の符号化データを出力する。ステップS116では,復号部112がフレーム間予測符号化部111で得られた符号化データを復号する。ステップS117では,復号画像を参照画像メモリ113に蓄積する。
【0062】
ステップS114ですべて符号化されたと判定された場合には,ステップS118へ進み,ステップS118では,遅延画像符号化決定部115が入力画像遅延メモリ114に入力画像が蓄積されているかどうかをチェックし,蓄積されていれば,そのフレームの入力画像を符号化対象として,ステップS107へ戻る。入力画像が蓄積されていなければ,ステップS101へ戻る。
【0063】
ステップS114ですべてのブロックが符号化されたかどうかを判定する方法としては,例えば次のよう方法を用いることができる。
(1)予めフレーム内のブロック総数を計測しておき,符号化したブロック数がブロック総数に一致した時に,すべてのブロックが符号化されたと判定する。
(2)画像入力部101が取り込んだ画像データの最後に,予め特有なビットパターンを持つEOB画像を入れておき,EOB画像を検出した時に,すべてのブロックが符号化されたと判定する。
【0064】
以上の例では,ステップS112で出力タイミング番号計算部107が出力タイミング番号を計算したが,ステップS109の直前やステップS111の直前にて,このステップを実行してもよい。
【0065】
〔画像符号化装置の構成例2〕
図7に,画像符号化装置の第2の構成例の装置概要を示す。前述した第1の構成例では,出力タイミング番号の他に,復号画像出力フラグ符号化部110によって,復号画像出力フラグを符号化したが,出力タイミング番号の特定の値を使って復号画像を出力するかどうかを指定することも可能である。例えば出力タイミング番号の値が0の場合に復号画像を出力するとし,それ以外の値の場合には復号画像を出力せず,さらに復号画像を出力画像メモリの中で出力タイミング番号で指定されるインデックス位置に蓄積することを指定する。
【0066】
この場合の画像符号化装置11の構成は,図7のようになる。また動作フローは図8に示すようになる。第2の構成例の画像符号化装置11において,第1の構成例の画像符号化装置10と同じ符号で示される要素は,同じ機能を持つので,個々の要素の詳細な説明は省略する。
【0067】
図8に示す動作フローにおいて,図6で説明した動作フローと異なるのは,図6に示すステップS109〜S113の部分が,図8ではステップS208〜S213になっていることである。以下では,前述した例と異なる部分についてのみ説明する。
【0068】
図8のステップS208では,まず出力タイミング番号計算部107が,出力遅延フレーム数(DelayNum)と入力フレーム数カウンター値(InputFrameNum )と符号化フレーム数カウンター値(EncodeFrameNum)とから,次式に従って,出力タイミング番号(OutputTimNum)を計算する。
【0069】
OutputTimNum=DelayNum+InputFrameNum −EncodeFrameNum
このとき,符号化決定部104が,取り込んだフレームをすぐに符号化しないと決定した場合には,出力タイミング番号を前式によって計算して決定する代わりに,出力タイミング番号(OutputTimNum)の値を“0”に設定する。
【0070】
ステップS213では,ステップS208で決定された出力タイミング番号を符号化し,その符号化結果を出力する。
【0071】
〔画像符号化装置の構成例3〕
図9に,画像符号化装置の第3の構成例の装置概要を示す。図9に示す画像符号化装置12は,前述した第1の構成例の画像符号化装置10に,さらに遅延符号化部116を付加した構成になっている。
【0072】
遅延符号化部116は,遅延指定部106で指定された出力遅延フレーム数を可変長または固定長符号化し,この出力遅延フレーム数の符号化結果を符号化データ中に含める。画像符号化装置12の動作フローは,図6で説明した画像符号化装置10の動作フローと同様である。また,差分出力遅延フレーム数を符号化データ中に含める場合にも,画像符号化装置12の構成となり,動作フローも同様である。
【0073】
〔画像符号化装置の構成例4〕
図10に,画像符号化装置の第4の構成例の装置概要を示す。図10に示す画像符号化装置13は,前述した第2の構成例の画像符号化装置11に,さらに遅延符号化部116を付加した構成になっている。
【0074】
遅延符号化部116は,遅延指定部106で指定された出力遅延フレーム数を可変長または固定長符号化し,この出力遅延フレーム数の符号化結果を符号化データ中に含める。画像符号化装置13の動作フローは,図8で説明した画像符号化装置11の動作フローと同様である。また,差分出力遅延フレーム数を符号化データ中に含める場合にも,画像符号化装置13の構成となり,動作フローも同様である。
【0075】
次に,以上説明したような構成で符号化された符号化データを復号する画像復号装置の説明を行う。
【0076】
〔画像復号装置の構成例1〕
まず,図5に示す第1の構成例の画像符号化装置10から出力される符号化データを復号する画像復号装置の説明を行う。図11に,画像復号装置の第1の構成例の装置概要を示す。
【0077】
画像復号装置20は,符号化データを復号する復号部201と,復号画像を蓄積する参照画像メモリ202と,復号画像を復号直後に出力するかどうかを示す復号画像出力フラグを復号する復号画像出力フラグ復号部203と,復号画像出力フラグが復号画像を復号直後に出力しないことを示す場合に,出力タイミング番号を復号する出力タイミング番号復号部204と,出力タイミング番号で示されたインデックス位置に復号画像を蓄積する出力画像メモリ205と,1フレーム復号するたびに出力画像メモリ205のインデックスを更新する出力画像メモリインデックス更新部206とを備える。
【0078】
復号画像出力フラグ復号部203が復号した復号画像出力フラグによって,復号部201が復号した画像情報をすぐに出力するか,復号部201が復号した画像情報を出力画像メモリ205に蓄積するかを切り替えるスイッチ部SW4を備える。
【0079】
出力画像メモリインデックス更新部206におけるインデックスの更新では,インデックスの値が“0”以外の場合には値を1減らし,インデックスの値が“0”の場合には,値を最大値に設定する処理を行う。
【0080】
図12に,画像復号装置20の動作フローを示す。ステップS301では,画像復号装置20が復号する符号化データが存在するかどうかをチェックし,存在する場合にはステップS302へ進み,存在しない場合には,ステップS314へ進む。
【0081】
ステップS302では,フレーム内のすべてのブロックが復号されたかどうかを判定する。復号されていないブロックがあれば,ステップS303へ進み,復号部210が符号化データを復号する。続いて,ステップS304では,復号画像を参照画像メモリ202に蓄積し,その後,ステップS302へ戻る。
【0082】
ステップS302において,フレーム内のすべてのブロックが復号されたと判定されると,ステップS305へ進み,復号画像出力フラグ復号部203が復号画像出力フラグを復号する。ステップS307では,復号画像出力フラグが“0”かどうかを判定し,復号画像出力フラグが“0”であれば復号画像を出力せず,“1”であれば復号画像を出力すると判定する。
【0083】
復号画像出力フラグが“0”の場合,ステップS308へ進み,ステップS308では,出力タイミング番号復号部204が出力タイミング番号を復号する。続いて,ステップS309では,出力画像メモリ205からインデックス値が1で示されるメモリ内の復号画像を出力する。ステップS310では,出力画像メモリインデックス更新部206が,出力画像メモリ205のインデックスを更新する。ステップS311では,出力画像メモリ205中の,出力タイミング番号で指定されたインデックス位置に復号画像を蓄積する。その後,ステップS301へ戻る。
【0084】
ステップS307の判定において,復号画像出力フラグが“1”の場合,ステップS312へ進み,ステップS312では,復号部201が復号した復号画像を出力する。ステップS313では,出力画像メモリインデックス更新部206が出力画像メモリ205のインデックスを更新する。その後,ステップS301へ戻る。ステップS301の判定にて,復号する符号化データが存在しなくなったと判定された場合に,ステップS314では,出力画像メモリ205内の全画像を出力する。
【0085】
〔画像復号装置の構成例2〕
図13に,画像復号装置の第2の構成例の装置概要を示す。この画像復号装置21は,図7に示す画像符号化装置11で符号化された符号化データを復号する。
【0086】
前述した第1の構成例の画像復号装置20では,出力タイミング番号の他に,復号画像出力フラグを復号したが,出力タイミング番号の特定の値を使って復号画像を出力するかどうかを指定することも可能である。例えば出力タイミング番号の値が“0”の場合に復号画像を出力するとし,それ以外の値の場合には復号画像を出力せず,さらに復号画像を出力画像メモリの中で出力タイミング番号で指定されるインデックス位置に蓄積することを指定する。この場合の画像復号装置の構成は,図13のようになる。また動作フローは,図14のようになる。
【0087】
第2の構成例の画像復号装置21において,第1の構成例の画像復号装置20との違いは,第1の構成例における復号画像出力フラグ復号部203の代わりに,復号画像出力決定部209があることである。復号画像出力決定部209は,復号部201が復号した復号画像をすぐに出力するかどうかを,出力タイミング番号復号部208が復号した出力タイミング番号の値によって決定する。出力タイミング番号の値が“0”の場合には,復号画像をすぐに出力すると決定し,“0”以外の値の場合には,復号画像をすぐには出力せず,出力タイミング番号の値によって示される出力画像メモリ205のインデックスの位置に復号画像を蓄積する。画像復号装置21の他の部分については,前述した第1の構成例と同様である。
【0088】
図14に示す動作フローにおいて,図12で説明した動作フローと異なるのは,図12のステップS305による復号画像出力フラグを復号する代わりに,ステップS406によって出力タイミング番号の復号を行い,この値によって復号画像を出力するかどうかを,ステップS407において決定する点である。
【0089】
〔画像復号装置の構成例3〕
図15に,画像復号装置の第3の構成例の装置概要を示す。図15に示す画像復号装置22は,前述した第1の構成例の画像復号装置20に,さらに遅延復号部207を付加した構成になっている。この画像復号装置22は,図9に示す画像符号化装置12で符号化された符号化データを復号する。
【0090】
画像復号装置22が入力する符号化データ中には,符号化された出力遅延フレーム数の情報が含まれており,遅延復号部207は,その符号化された出力遅延フレーム数を可変長または固定長復号する。
【0091】
この画像復号装置22の動作フローを,図16に示す。基本的には,図12に示した第1の構成例の画像復号装置20の動作フローと同様であるが,シーケンスの符号化データの復号開始時に,ステップS500において,遅延復号部207が出力遅延フレーム数を復号する処理が追加されている。
【0092】
また,差分出力遅延フレーム数(DeltaDelayNum )を符号化データ中に含める実施の場合にも,画像復号装置の構成は,図15に示すようになり,遅延復号部207が出力遅延フレーム数の復号と同様に,差分出力遅延フレーム数を可変長または固定長復号する。
【0093】
出力遅延フレーム数が符号化データ中に含まれる場合には,図16のステップS500において,出力遅延フレーム数の復号と差分出力遅延フレーム数の復号とを行い,ステップS508で,出力タイミング番号復号部204が出力タイミング番号を復号した後,復号した出力タイミング番号に差分出力遅延フレーム数(DeltaDelayNum )を加算した値を,実際に用いる出力タイミング番号(DelayNum)とする。
【0094】
〔画像復号装置の構成例4〕
図17に,画像復号装置の第4の構成例の装置概要を示す。図17に示す画像復号装置23は,前述した第2の構成例の画像復号装置21に,さらに遅延復号部207を付加した構成になっている。この画像復号装置23は,図10に示す画像符号化装置13で符号化された符号化データを復号する。
【0095】
画像復号装置23が入力する符号化データ中には,符号化された出力遅延フレーム数の情報が含まれており,遅延復号部207は,その符号化された出力遅延フレーム数を可変長または固定長復号する。
【0096】
この画像復号装置23の動作フローを,図18に示す。基本的には,図14に示した第2の構成例の画像復号装置21の動作フローと同様であるが,シーケンスの符号化データの復号開始時に,ステップS600において,遅延復号部207が出力遅延フレーム数を復号する処理が追加されている。
【0097】
また,差分出力遅延フレーム数(DeltaDelayNum )を符号化データ中に含める実施の場合にも,画像復号装置の構成は,図17に示すようになり,遅延復号部207が出力遅延フレーム数の復号と同様に,差分出力遅延フレーム数を可変長または固定長復号する。
【0098】
出力遅延フレーム数が符号化データ中に含まれる場合には,図18のステップS600において,出力遅延フレーム数の復号と差分出力遅延フレーム数の復号とを行い,ステップS606で,出力タイミング番号復号部204が出力タイミング番号を復号した後,復号した出力タイミング番号に差分出力遅延フレーム数(DeltaDelayNum )を加算した値を,実際に用いる出力タイミング番号(DelayNum)とする。
【0099】
以上の画像符号化装置および画像復号装置が行う処理は,ハードウェア回路で実現できるだけでなく,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムは,コンピュータが読み取り可能な可搬媒体メモリ,半導体メモリ,ハードディスク等の適当な記録媒体に格納して,そこから読み出すことによりコンピュータに実行させることができる。
【0100】
【発明の効果】
本発明によれば,符号化データ中の複数フレーム単位にフレームを入れ替えた場合に,時刻情報の変更の手間を省くことができる。
【0101】
また,画像復号装置は1フレーム復号するたびに,1フレーム画像を出力することができる。すなわち,画像復号装置の画像出力部分の装置構成を簡易にすることができる。
【図面の簡単な説明】
【図1】本発明に基づく出力タイミング番号の作用を説明する図である。
【図2】本発明に基づく出力タイミング番号の作用を説明する図である。
【図3】画像復号装置における出力画像メモリの使用例を説明する図である。
【図4】画像復号装置における出力画像メモリの使用例を説明する図である。
【図5】画像符号化装置の第1の構成例の装置概要を示す図である。
【図6】第1の構成例の画像符号化装置の動作フローを示す図である。
【図7】画像符号化装置の第2の構成例の装置概要を示す図である。
【図8】第2の構成例の画像符号化装置の動作フローを示す図である。
【図9】画像符号化装置の第3の構成例の装置概要を示す図である。
【図10】画像符号化装置の第4の構成例の装置概要を示す図である。
【図11】画像復号装置の第1の構成例の装置概要を示す図である。
【図12】第1の構成例の画像復号装置の動作フローを示す図である。
【図13】画像復号装置の第2の構成例の装置概要を示す図である。
【図14】第2の構成例の画像復号装置の動作フローを示す図である。
【図15】画像復号装置の第3の構成例の装置概要を示す図である。
【図16】第3の構成例の画像復号装置の動作フローを示す図である。
【図17】画像復号装置の第4の構成例の装置概要を示す図である。
【図18】第4の構成例の画像復号装置の動作フローを示す図である。
【図19】一般的なフレーム間予測符号化方式の予測関係の例を説明する図である。
【符号の説明】
10 画像符号化装置
101 画像入力部
102 入力フレーム数カウント部
103 符号化モード指定部
104 符号化決定部
105 符号化フレーム数カウント部
106 遅延指定部
107 出力タイミング番号計算部
108 復号画像出力決定部
109 出力タイミング番号符号化部
110 復号画像出力フラグ符号化部
111 フレーム間予測符号化部
112 復号部
113 参照画像メモリ
114 入力画像遅延メモリ
115 遅延画像符号化決定部
116 遅延符号化部
20 画像復号装置
201 復号部
202 参照画像メモリ
203 復号画像出力フラグ復号部
204 出力タイミング番号復号部
205 出力画像メモリ
206 出力画像メモリインデックス更新部
207 遅延復号部
208 出力タイミング番号復号部
209 復号画像出力決定部
SW1〜SW4 スイッチ部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a technique related to moving picture coding using an inter-frame predictive coding scheme, and in particular, does not give each frame time information for outputting it, but present decoded frame when outputting a decoded picture. Video coding that makes it easy to edit when replacing frames and to simplify the device configuration of the image output part of the image decoding device by providing an output timing number indicating the timing based on The present invention relates to a method, a moving image decoding method, an image encoding device, an image decoding device, a moving image encoding program, a moving image decoding program, and a recording medium for those programs.
[0002]
[Prior art]
MPEG-1, MPEG-2 and H.264. 261, H.M. In international standard video encoding such as H.263, the output time of each frame is encoded. Such time information is called TR (Temporal Reference), and is fixed-length encoded for each frame. A reference time interval is set in advance in the system, and the time from the beginning of the sequence is indicated by the product of the time interval and TR. The image encoding device (encoder) encodes each frame by setting time information of the input image to TR, and the image decoding device (decoder) outputs the decoded image of each frame at the time specified by TR.
[0003]
On the other hand, in general, moving picture coding uses inter-frame predictive coding in order to achieve high coding efficiency using temporal correlation. The frame encoding mode can be predicted from an I frame that is encoded without using correlation between frames, a P frame that is predicted from one previously encoded frame, and two previously encoded frames. There are B frames. In particular, the video encoding method H.264. In 263, decoded images for a plurality of frames can be stored in the reference image memory, and the reference image can be selected and predicted from the memory.
[0004]
In the B frame, a method of predicting from a past frame is referred to as forward interframe prediction, and a method of predicting from a future frame is referred to as backward interframe prediction. The display time of the reference frame in the backward inter-frame prediction may be in the future than the current frame. In this case, after displaying the current frame, a reference frame for backward interframe prediction is output.
[0005]
When prediction is performed from two frames in the B frame (in the case of bi-directional inter-frame prediction), image information from two frames is interpolated to generate image information for one frame to generate a predicted image.
[0006]
FIG. 19A1 shows an example of the prediction relationship of moving images when the reference frame display time in the backward inter-frame prediction is in the future. When the encoding modes from the first frame F1 to the seventh frame F7 are encoded in the order of IBBPBBP, since there is a prediction relationship shown in FIG. 19A1, when encoding is actually performed, FIG. As shown in (A2), frames are encoded in the order of F1, F4, F2, F3, F7, F5, and F6. In this case, the order of TR to be encoded is a value corresponding to F1->F4->F2->F3->F7->F5-> F6, similar to the encoded frame.
[0007]
FIG. 19B1 shows an example of the prediction relationship of moving images when the reference frame display time in the backward inter-frame prediction is in the past. Unlike the case of FIG. 19A1, even when the encoding modes from the first frame F1 to the seventh frame F7 are encoded in the order of IBBPBBP, there is a prediction relationship shown in FIG. 19B1. As shown in FIG. 19B2, the frames are encoded in the order of F1, F4, F2, F3, F5, F6, and F7.
[0008]
As a method for indicating the output time of each frame, in addition to a method of encoding time information from the beginning of a sequence (hereinafter referred to as method a), as in MPEG-1 and 2 TR, for example, A method is conceivable.
(Method b) The difference time information from the frame encoded immediately before is encoded.
(Method c) A reference frame is set, time information from the sequence head position is encoded in the reference frame, and time information from the reference frame is encoded in each frame.
(Method d) A reference frame is set, time information from the sequence start position is encoded in the reference frame, and difference time information from the frame encoded immediately before is encoded in each frame.
[0009]
Among these methods, in the method b and the method d, when the display time of the reference frame in the backward inter-frame prediction is the future in the B frame, the difference time information of the past frame with respect to the frame encoded immediately before In this case, for example, a negative value is used as the difference time information. For example, in the encoded data in which the encoding mode from the first frame F1 to the seventh frame F7 is IBBIBBI, encoding is performed in the order of F1, F4, F2, F3, F7, F5, and F6. The time information is, for example, 0, 3, -2, 1, 4, -2, 1 in the order of encoded data.
[0010]
[Problems to be solved by the invention]
However, the method for indicating the output time of each frame has the following problems when the encoded data is replaced in units of a plurality of frames.
(1) In the above method a, it is necessary to change the time information of all the frames to be processed, and the work becomes complicated.
(2) In the above method b, for example, in the encoded data encoded in the order of IBBIBBI, the time information is given as 0, 3, -2, 1, 4, -2, 1 in the encoded data order In the case of the same I frame, the time information is 0, 3 or 4 depending on the position in the sequence. Therefore, as in the case of method a, it is necessary to change the time information of several frames to be processed, and the work becomes complicated.
(3) In method c or method d, it is necessary to change the time information of the reference frame, and the work becomes complicated.
[0011]
As described above, in any of the methods, it is necessary to change time information when replacing encoded data in units of a plurality of frames.
[0012]
SUMMARY OF THE INVENTION An object of the present invention is to solve the above problems and to provide a new moving picture encoding / decoding system that eliminates the need to change time information when replacing encoded data in units of a plurality of frames.
[0013]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the present invention is characterized in that each frame has information (this is referred to as an output timing number) indicating timing based on the current decoded frame when outputting the decoded image.
[0014]
That is, the present invention relates to a moving image coding method for coding image information using an inter-frame predictive coding method, in which image information to be coded is input and coded in units of frames, and the input frame is coded. An output timing number indicating how many frames later the current decoded frame is output on the decoding side is encoded on the decoding side. Data obtained by encoding the output timing number and data obtained by encoding image information of the input frame are output as encoded data.
[0015]
As a method of indicating whether or not to immediately output the current decoded frame on the decoding side, a method of encoding a decoded image output flag for distinguishing it and adding it to the encoded data, or a specific value in which the value of the output timing number is determined in advance A method of encoding as a value (for example, 0) can be used.
[0016]
Also, in the image encoding device, when the encoded data is decoded and output by the image decoding device, from the start of input of the encoded data to be decoded until the output of the decoded image obtained by decoding the encoded data is started The information indicating the number of frames in which the output of the decoded image is delayed in all the frames in the sequence (this is referred to as the number of output delay frames) is encoded and added before the series of encoded data for output. .
[0017]
The image decoding apparatus decodes the encoded data of the number of output delay frames, and controls the output of the decoded image according to the number of output delay frames and the output timing number for each frame.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
First, an outline of the present invention will be described according to a specific example. 1 and 2 are diagrams for explaining the operation of the output timing number according to the present invention.
[0019]
In the prior art, as a method of indicating the output time of each frame, a method of giving each frame time information from the beginning of the sequence, a method of giving differential time information from the previous frame, and setting a reference frame, Set the frame to have time information from the start position of the sequence, and set each frame to have time information from the reference frame, or set the reference frame and set the reference frame to the time information from the start position of the sequence. And each frame has a time difference information from the previous frame. Therefore, in these methods, there is a problem that when the encoded data is replaced in units of a plurality of frames, the time information needs to be changed and the work is complicated.
[0020]
In the present invention, each frame has an output timing number (this value is hereinafter referred to as OutputTimNum) indicating timing based on the current decoded frame when outputting a decoded image, instead of time information as in the prior art. Make it. Also, the number of output delay frames indicating the number of frames for delaying the output of the decoded image as a whole sequence (hereinafter, this value is expressed as DelayNum) is encoded. According to this method, it is not necessary to change the output timing number and the number of output delay frames in the encoded data when the encoded data is replaced in units of a plurality of frames.
[0021]
For example, assume that the encoded data of the sequence is (I3) (P4) (B1) (B2) (I6) (B5) as shown in FIG. However, I, P, and B indicate encoding modes, respectively, and the numbers after the encoding modes indicate the output order. (B1) and (B2) refer to (I3) and (P4), and (B5) refers to (I6).
[0022]
In the example shown in FIG. 1, it is assumed that the number of output delay frames is two. This means that there is a delay of 2 frames from the input of the first decoding target image (I3) to the output of the first decoded image (B1).
[0023]
The image decoding apparatus outputs one frame every time one frame is decoded. A memory for a plurality of frames is provided as the output image memory, and the storage position of the decoded image is determined by the output timing number. Here, to make the explanation easier to understand, when one frame of an image is output, the data in the memory is shifted to the next adjacent memory (in fact, the data is not shifted in the memory, It looks like the data has shifted by updating the index). When the value of the output timing number is 0, it is output immediately after decoding.
[0024]
(I3) Since the output timing number of the frame is 4, the decoded image is stored in the memory whose index value is 4 in the output image memory. The index value is decremented by −1 in units of processing time of each frame, and the (I3) frame is output after being delayed by a time corresponding to 4 frames from the input. Since the (P4) frame output timing number is also 4, the (P4) frame is output after the elapse of 4 frames from the input of the frame. The (B1) frame is output immediately because the output timing number is 0, and the (B2) frame is also output immediately. After the output of (B2) frame, the decoded image of (I4) frame is output, and subsequently, the decoded image of (P4) frame is output. After the (P4) frame is output, the (B5) frame and (I6) frame are output in this order.
[0025]
The order of encoding the image information in which the order of the frames to be output is (B1) (B2) (I3) (P4) (B5) (I6) is (I3) (P4) (B1) (B2) (I6) (B5) will be described in the case where editing is performed so as to output in the order of (B5) (I6) (B1) (B2) (I3) (P4) by replacing this in units of a plurality of frames. .
[0026]
In this case, the order of frames to be encoded is (I6) (B5) (I3) (P4) (B1) (B2). At this time, the output timing number added to each frame is 3, 1, 4, 4, 0, 0, and it is not necessary to change the output timing number even if the output order is changed in units of a plurality of frames. FIG. 1B shows an example of the decoding order, the storage position of the output image memory, and the output image order at this time.
[0027]
As is clear from the example shown in FIG. 1B, the decoded images are output in a desired order without changing the output timing number. The replacement of the units of a plurality of frames may not be at any position, but the process of changing the output timing number can be omitted by limiting the frame positions that can be replaced as necessary.
[0028]
Similarly, the example shown in FIG. 2 will be described. For example, assume that the encoded data of the sequence is (I1) (P2) (I4) (B3) as shown in FIG. However, (B3) refers to (I4). Also assume that the number of output delay frames is one.
[0029]
The frames (I1), (P2), (I4), and (B3) have output timing numbers 1, 1, 2, and 0, respectively. Is output, and the decoded image is output in the order of (I1) (P2) (B3) (I4).
[0030]
It is assumed that editing is performed so that these are output in the order of (B3), (I4), (I1), and (P2) by replacing them in units of multiple frames. As shown in FIG. 2B, the encoding frame order is (I4), (B3), (I1), and (P2). In this case as well, the decoded images are in the desired order according to the respective output timing numbers. Will be output.
[0031]
As described above, in this method, the frame is always buffered by the maximum number of output delay frames in the output image memory at the place where the data is replaced, so that the decoded image is not overwritten.
[0032]
Bit streams with the same number of output delay frames can be combined. Also, when bit streams having different numbers of output delay frames are combined, as will be described later, they can be combined by adjusting the output timing number for each sequence according to the difference in the number of output delay frames.
[0033]
The relationship between the decoded image, the contents of the output image memory, and the output image will be described according to still another specific example. 3 and 4 are diagrams for explaining an example of use of the output image memory in the image decoding apparatus.
[0034]
The image decoding apparatus (decoder) includes an output image memory managed by an index, and the index indicates the number of frames from the current frame until the image is output from the memory in the output image memory. When the output image memory is composed of a plurality of memories, the index is also information for distinguishing each memory, and is expressed by a different number for each memory in the output image memory.
[0035]
The image decoding apparatus stores the decoded image at the position of the output image memory indicated by the index corresponding to the output timing number, and updates the index each time the encoded data for one frame is decoded. One frame of the stored decoded image or the decoded image of the current frame is output.
[0036]
For example, an operation example when the encoded data is (I1) (B2) (B3) (I4) (B5) (B6) (I7) is shown. The number after the picture type indicates the output order. The display time of the reference frame in the backward inter-frame prediction of the B frame is assumed to be in the future, and in the encoded data, the order is (I1) (I4) (B2) (B3) (I7) (B5) (B6). Are lined up. However, (B5) and (B6) refer to only (I7).
[0037]
In this case, the relationship between the decoded image and the output timing number, the contents of the output image memory, and the output image is as shown in FIG. In this figure, when the output timing number is 0, the decoded image of the current frame is output immediately. When the output timing number is other than 0, the image decoding apparatus outputs the image stored in the memory having the index value of 1 from the output image memory, and then corresponds the decoded image to the output timing number in the output image memory. Accumulate at the position specified by the index. Regardless of the value of the output timing number, the image decoding apparatus updates the index value of the output image memory when the image is output even if the value is 0. In updating the index value, if the original index value is other than 1, the value is subtracted by 1, and if it is 1, the maximum value is set.
[0038]
Here, in FIG. 3A, a memory for three frames is prepared as an output image memory, and a positive integer index starting from 1 is sequentially assigned to each memory. Such a configuration is also possible, but in this case, the output image memory needs to include a memory having the number of consecutive B frames and a capacity of one frame, which increases the necessary memory capacity. .
[0039]
Therefore, as shown in FIG. 3B, the output image memory is provided with memories for the number of output delay frames, which is the number of frames in which the output of the decoded image is delayed in all frames in the sequence, and each memory has an individual index. Is allocated. However, in each memory, when the decoded image is not stored in the memory, the index is set to 0, and when the index is 0, the index value is not updated. If the newly decoded image has an output timing number other than 0, it is stored in the memory location where the index is 0.
[0040]
Here, the number of output delay frames is the number of frames of the B frame in which the display time of the reference frame in the backward inter-frame prediction is in the future, and is the number of frames that can be designated from the outside during image coding.
[0041]
In this way, output image memories need only be prepared for the number of output delay frames, and the memory capacity can be reduced as compared with the memory configuration as shown in FIG. Here, the number of output delay frames is set to the same value in the sequence.
[0042]
As apparent from the example shown in FIG. 3A or 3B, according to this method, the image decoding apparatus can output one frame image each time one frame is decoded. Further, according to this method, when the encoded data is replaced in units of a plurality of frames, it is not necessary to change the output timing number in the encoded data, and therefore, it is not necessary to change the encoded data.
[0043]
For example, the output order of the encoded data (I1) (B2) (B3) (I4) (B5) (B6) (I7) is changed to (B5) (B6) (I7) (I1) (B2) (B3). When switching to (I4), it is as follows.
[0044]
In the encoded data, the data arranged in the order of (I1) (I4) (B2) (B3) (I7) (B5) (B6) are (I7) (B5) (B6) (I1) (I4) ( B2) The order is (B3). In this case, the relationship between the decoded image and the output timing number, the contents of the output image memory and the output image in each frame is as shown in FIG. 4 (A) or (B), and the output timing number need not be changed. Even if the frames are exchanged in this way, the image decoding apparatus can output one frame image each time one frame is decoded without changing the output timing number. Further, since the output image memory always stores the maximum number of output delay frames at the place of replacement, the decoded image is not overwritten in the output image memory.
[0045]
As described above, according to the present invention, even if the frames in the encoded data are replaced, it is not necessary to change the encoded data.
[0046]
The image decoding apparatus can output one frame image each time one frame is decoded. That is, the image decoding apparatus can execute decoding and output of one frame at the same frequency. In the conventional method of specifying the output time using TR, if there is a B frame in the encoded data, the image decoding apparatus does not output a frame for decoding one frame, or collects a plurality of frames. There is a problem that the configuration of the image output portion of the image decoding apparatus becomes complicated. However, in the present invention, it is sufficient for the image decoding apparatus to output one frame at the same frequency as the decoding of one frame, and the apparatus configuration of the output part can be realized easily.
[0047]
In the present invention, if the number of output delay frames of the encoded data is the same, the maximum value of the index of the decoded image in the output image memory becomes the same, and the encoded data can be combined. Therefore, in order to determine whether or not the encoded data can be combined, it is preferable to include the number of output delay frames in the encoded data. For example, it is preferable to include it in the sequence header.
[0048]
There are the following methods for combining encoded data having different numbers of output delay frames. For this purpose, the number of output delay frames of the encoded data to be combined should be the same. Therefore, the maximum number (MaxDelayNum) of the plurality of output delay frames is obtained, and the difference output delay frame number (DeltaDelayNum) is obtained from the output delay frame number (DelayNum) in each encoded data according to the following equation.
[0049]
DeltaDelayNum = MaxDelayNum -DelayNum
A value obtained by adding the number of differential output delay frames (DeltaDelayNum) to the output timing number (OutputTimNum) of each frame in the encoded data is again set as an output timing number. As described above, all the encoded data to be combined becomes encoded data having MaxDelayNum as the number of output delay frames, and can be combined. In this case, it is necessary to include the number of differential output delay frames (DeltaDelayNum) in the encoded data. For example, when combining in units of MPEG-2 GOP, it is preferable to include the number of differential output delay frames in the GOP header.
[0050]
Next, examples of the image encoding device and the image decoding device according to the embodiment of the present invention will be described.
[0051]
[Configuration Example 1 of Image Encoding Device]
FIG. 5 shows an apparatus outline of a first configuration example of the image encoding apparatus. The image coding apparatus 10 includes an image input unit 101 that captures image information in units of one frame, an input frame number counting unit 102 that increments a counter of the number of frames of the captured image, and I, P, and B frames of the captured image. The encoding mode designating unit 103 that designates an encoding mode indicating from which to encode from the outside, and the captured frame is immediately determined according to whether the encoding mode designated by the encoding mode designating unit 103 is a B frame or not. An encoding determination unit 104 that determines whether or not to encode, an encoded frame number counting unit 105 that increments a counter of the number of frames when the captured frame is encoded immediately, and a sequence on the decoding side A delay indicator that designates the number of output delay frames indicating the number of frames for which the output of the decoded image is delayed in all frames Unit 106, the number of frames counted by input frame number counting unit 102, the number of frames counted by encoded frame number counting unit 105, and the number of output delay frames designated by delay designating unit 106, An output timing number calculation unit 107 that calculates an output timing number indicating at which timing the decoded image stored in the output image memory on the decoding side is output, and an encoding determination unit 104 immediately encodes the captured frame. A decoded image output determining unit 108 that determines whether or not to output a decoded image immediately on the decoding side, and an output timing number encoding unit that encodes the output timing number in a variable length or fixed length 109 and a decoded image output flag for designating whether or not the decoded image is to be output immediately on the decoding side. A decoded image output flag encoding unit 110 that performs fixed-length encoding, an inter-frame prediction encoding unit 111 that encodes a captured frame using inter-frame prediction encoding, and a code obtained from the inter-frame prediction encoding unit 111 A decoding unit 112 for decoding the encoded data, a reference image memory 113 for storing the decoded image, an input image delay memory 114 for storing the captured frame when the captured frame is not immediately encoded, and an input image delay memory When there is a frame accumulated in 114, a delayed image coding determination unit 115 that determines whether or not the frame is encoded by the inter-frame prediction encoding unit 111 is provided.
[0052]
SW1 to SW3 in the figure are switch units for switching input or output to each unit. When the switch unit SW1 determines that the frame determined by the image input unit 101 is to be encoded immediately by the encoding determination unit 104, the switch unit SW1 guides the input frame to the switch unit SW2 and determines that the frame is not encoded immediately The input frame is guided to the input image delay memory 114. The switch unit SW2 performs inter-frame prediction on the frame stored in the input image delay memory 114 according to the determination result of whether or not the delay image encoding determination unit 115 encodes the frame stored in the input image delay memory 114. Switching between guiding to the encoding unit 111 or guiding the input frame from the switch unit SW1 to the inter-frame prediction encoding unit 111 is performed.
[0053]
Further, the switch unit SW3 performs encoding by the output timing number encoding unit 109 or a decoded image output flag encoding unit according to the result of determining whether or not the decoded image output determination unit 108 outputs the decoded image immediately. The encoding by 110 is controlled.
[0054]
FIG. 6 shows an operation flow of the image encoding device 10. First, in step S100, the number of output delay frames (DelayNum) is designated from the outside. In step S101, it is checked whether or not there is an image to be encoded by the image encoding device 10, and if it exists, the process proceeds to step S102, and if not, the processing of the image encoding device 10 itself ends.
[0055]
In step S102, the image input unit 101 captures one frame of the input image. In step S103, the frame number counter (hereinafter, this value is indicated by InputFrameNum) of the frame taken in by the input frame number counting unit 102 is incremented by one. In step S104, the encoding mode designating unit 103 designates the encoding mode of the frame captured by the image input unit 101 from the outside. In step S105, when the frame encoding mode is B frame, the encoding determination unit 104 determines to delay the encoding of the captured frame, and immediately encodes the captured frame for other frames. Then decide. If it is determined to encode with a delay, the process proceeds to step S106. If it is determined to encode immediately, the process proceeds to step S107.
[0056]
In step S106, the image information of the frame determined to delay the encoding is stored in the input image delay memory 114. Thereafter, the process returns to step S102, and the next frame is similarly processed.
[0057]
In step S107, the encoded frame number counting unit 105 increments the frame number counter (hereinafter, this value is indicated by EncodeFrameNum) of the frame determined to be encoded immediately. In step S109, the decoded image output determining unit 108 determines whether to output the decoded image immediately after decoding on the decoding side. Here, in step S105, when the encoding determination unit 104 determines not to immediately encode the captured frame, it is determined to output the decoded image immediately after decoding, and it is determined to immediately encode the captured frame. In such a case, it is determined that the decoded image is not output immediately after decoding. If it is determined to output the decoded image immediately after decoding, the process proceeds to step S110. If it is determined to output the decoded image immediately after decoding, the process proceeds to step S111.
[0058]
In step S110, when the decoding side determines to output the decoded image immediately after decoding, the decoded image output flag encoding unit 110 sets the decoded image output flag to the value “1” and encodes it. Thereafter, the process proceeds to step S114.
[0059]
In step S111, when the decoding side determines not to output the decoded image immediately after decoding, the decoded image output flag encoding unit 110 sets the decoded image output flag to the value “0” and encodes it. In step S112, the output timing number calculation unit 107 calculates the output timing number (OutputTimNum) from the output delay frame number (DelayNum), the input frame number counter value (InputFrameNum), and the encoded frame number counter value (EncodeFrameNum) according to the following equation. Calculate
[0060]
OutputTimNum = DelayNum + InputFrameNum-EncodeFrameNum
In step S113, when the decoding side determines not to output the decoded image immediately after decoding, the output timing number encoding unit 109 encodes the output timing number.
[0061]
In step S114, the frame to be encoded is divided into blocks, and it is determined whether all the blocks have been encoded. If there is a block that has not been encoded yet, the process proceeds to step S115, where the inter-frame predictive encoding unit 111 encodes the block and outputs encoded data of the encoding result. In step S116, the decoding unit 112 decodes the encoded data obtained by the inter-frame prediction encoding unit 111. In step S117, the decoded image is stored in the reference image memory 113.
[0062]
If it is determined in step S114 that all have been encoded, the process proceeds to step S118. In step S118, the delayed image encoding determination unit 115 checks whether the input image is stored in the input image delay memory 114, and If accumulated, the process returns to step S107 with the input image of that frame as an encoding target. If no input image is accumulated, the process returns to step S101.
[0063]
As a method for determining whether or not all blocks have been encoded in step S114, for example, the following method can be used.
(1) The total number of blocks in a frame is measured in advance, and when the number of encoded blocks matches the total number of blocks, it is determined that all blocks have been encoded.
(2) An EOB image having a unique bit pattern is placed in advance at the end of the image data captured by the image input unit 101, and when an EOB image is detected, it is determined that all blocks have been encoded.
[0064]
In the above example, the output timing number calculation unit 107 calculates the output timing number in step S112. However, this step may be executed immediately before step S109 or immediately before step S111.
[0065]
[Configuration Example 2 of Image Encoding Device]
FIG. 7 shows a device outline of a second configuration example of the image encoding device. In the first configuration example described above, a decoded image output flag is encoded by the decoded image output flag encoding unit 110 in addition to the output timing number, but a decoded image is output using a specific value of the output timing number. It is also possible to specify whether or not to do so. For example, if the value of the output timing number is 0, the decoded image is output. If the value is other than that, the decoded image is not output, and the decoded image is designated by the output timing number in the output image memory. Specifies accumulation at the index position.
[0066]
The configuration of the image encoding device 11 in this case is as shown in FIG. The operation flow is as shown in FIG. In the image encoding device 11 of the second configuration example, elements indicated by the same reference numerals as those of the image encoding device 10 of the first configuration example have the same functions, and thus detailed descriptions of the individual elements are omitted.
[0067]
The operation flow shown in FIG. 8 is different from the operation flow described in FIG. 6 in that steps S109 to S113 shown in FIG. 6 are steps S208 to S213 in FIG. Only the parts different from the above example will be described below.
[0068]
In step S208 of FIG. 8, the output timing number calculation unit 107 first outputs an output delay frame number (DelayNum), an input frame number counter value (InputFrameNum), and an encoded frame number counter value (EncodeFrameNum) according to the following equation. Calculate the timing number (OutputTimNum).
[0069]
OutputTimNum = DelayNum + InputFrameNum-EncodeFrameNum
At this time, if the encoding determination unit 104 determines not to immediately encode the captured frame, the output timing number (OutputTimNum) value is determined instead of calculating and determining the output timing number according to the previous equation. Set to “0”.
[0070]
In step S213, the output timing number determined in step S208 is encoded, and the encoding result is output.
[0071]
[Configuration Example 3 of Image Encoding Device]
FIG. 9 shows a device outline of a third configuration example of the image encoding device. The image encoding device 12 shown in FIG. 9 has a configuration in which a delay encoding unit 116 is further added to the image encoding device 10 of the first configuration example described above.
[0072]
The delay encoding unit 116 performs variable length or fixed length encoding on the number of output delay frames specified by the delay specifying unit 106, and includes the encoded result of the number of output delay frames in the encoded data. The operation flow of the image encoding device 12 is the same as the operation flow of the image encoding device 10 described in FIG. Also, when the number of differential output delay frames is included in the encoded data, the image encoding device 12 is configured and the operation flow is the same.
[0073]
[Configuration Example 4 of Image Encoding Device]
FIG. 10 shows an apparatus outline of a fourth configuration example of the image encoding apparatus. The image encoding device 13 shown in FIG. 10 has a configuration in which a delay encoding unit 116 is further added to the image encoding device 11 of the second configuration example described above.
[0074]
The delay encoding unit 116 performs variable length or fixed length encoding on the number of output delay frames specified by the delay specifying unit 106, and includes the encoded result of the number of output delay frames in the encoded data. The operation flow of the image encoding device 13 is the same as the operation flow of the image encoding device 11 described in FIG. Also, when the number of differential output delay frames is included in the encoded data, the image encoding device 13 is configured and the operation flow is the same.
[0075]
Next, an image decoding apparatus that decodes encoded data encoded with the configuration described above will be described.
[0076]
[Configuration Example 1 of Image Decoding Device]
First, an image decoding apparatus that decodes encoded data output from the image encoding apparatus 10 of the first configuration example shown in FIG. 5 will be described. FIG. 11 shows a device outline of a first configuration example of the image decoding device.
[0077]
The image decoding apparatus 20 includes a decoding unit 201 that decodes encoded data, a reference image memory 202 that accumulates decoded images, and a decoded image output that decodes a decoded image output flag that indicates whether or not to output the decoded image immediately after decoding. When the flag decoding unit 203 and the decoded image output flag indicate that the decoded image is not output immediately after decoding, the output timing number decoding unit 204 that decodes the output timing number and the index position indicated by the output timing number are decoded. An output image memory 205 that stores images and an output image memory index update unit 206 that updates the index of the output image memory 205 every time one frame is decoded are provided.
[0078]
Depending on the decoded image output flag decoded by the decoded image output flag decoding unit 203, the image information decoded by the decoding unit 201 is switched immediately or the image information decoded by the decoding unit 201 is stored in the output image memory 205. A switch unit SW4 is provided.
[0079]
In the index update in the output image memory index update unit 206, when the index value is other than “0”, the value is decreased by 1, and when the index value is “0”, the value is set to the maximum value. I do.
[0080]
FIG. 12 shows an operation flow of the image decoding apparatus 20. In step S301, it is checked whether or not there is encoded data to be decoded by the image decoding apparatus 20. If it exists, the process proceeds to step S302, and if not, the process proceeds to step S314.
[0081]
In step S302, it is determined whether all the blocks in the frame have been decoded. If there is a block that has not been decoded, the process proceeds to step S303, and the decoding unit 210 decodes the encoded data. Subsequently, in step S304, the decoded image is stored in the reference image memory 202, and then the process returns to step S302.
[0082]
If it is determined in step S302 that all blocks in the frame have been decoded, the process proceeds to step S305, and the decoded image output flag decoding unit 203 decodes the decoded image output flag. In step S307, it is determined whether or not the decoded image output flag is “0”. If the decoded image output flag is “0”, it is determined that the decoded image is not output, and if “1”, the decoded image is output.
[0083]
When the decoded image output flag is “0”, the process proceeds to step S308. In step S308, the output timing number decoding unit 204 decodes the output timing number. In step S309, the output image memory 205 outputs a decoded image in the memory whose index value is 1. In step S310, the output image memory index update unit 206 updates the index of the output image memory 205. In step S311, the decoded image is stored at the index position designated by the output timing number in the output image memory 205. Thereafter, the process returns to step S301.
[0084]
If it is determined in step S307 that the decoded image output flag is “1”, the process proceeds to step S312, and in step S312, the decoding unit 201 outputs the decoded image. In step S313, the output image memory index update unit 206 updates the index of the output image memory 205. Thereafter, the process returns to step S301. If it is determined in step S301 that there is no encoded data to be decoded, all the images in the output image memory 205 are output in step S314.
[0085]
[Configuration Example 2 of Image Decoding Device]
FIG. 13 shows an outline of a second configuration example of the image decoding apparatus. The image decoding device 21 decodes the encoded data encoded by the image encoding device 11 shown in FIG.
[0086]
In the image decoding device 20 of the first configuration example described above, the decoded image output flag is decoded in addition to the output timing number, but whether or not to output the decoded image using a specific value of the output timing number is designated. It is also possible. For example, if the value of the output timing number is “0”, the decoded image is output. Otherwise, the decoded image is not output, and the decoded image is specified by the output timing number in the output image memory. Specifies to accumulate at the specified index position. The configuration of the image decoding apparatus in this case is as shown in FIG. The operation flow is as shown in FIG.
[0087]
In the image decoding device 21 of the second configuration example, the difference from the image decoding device 20 of the first configuration example is that the decoded image output determination unit 209 is used instead of the decoded image output flag decoding unit 203 in the first configuration example. Is that there is. The decoded image output determination unit 209 determines whether or not to immediately output the decoded image decoded by the decoding unit 201, based on the value of the output timing number decoded by the output timing number decoding unit 208. When the value of the output timing number is “0”, it is determined that the decoded image is output immediately. When the value is other than “0”, the decoded image is not output immediately, and the value of the output timing number is determined. The decoded image is stored at the index position of the output image memory 205 indicated by. Other parts of the image decoding device 21 are the same as those in the first configuration example described above.
[0088]
The operation flow shown in FIG. 14 is different from the operation flow described in FIG. 12 in that the output timing number is decoded in step S406 instead of decoding the decoded image output flag in step S305 in FIG. In step S407, it is determined whether to output a decoded image.
[0089]
[Configuration Example 3 of Image Decoding Device]
FIG. 15 shows an outline of a third configuration example of the image decoding apparatus. The image decoding device 22 shown in FIG. 15 has a configuration in which a delay decoding unit 207 is further added to the image decoding device 20 of the first configuration example described above. The image decoding device 22 decodes the encoded data encoded by the image encoding device 12 shown in FIG.
[0090]
The encoded data input by the image decoding device 22 includes information on the number of encoded output delay frames, and the delay decoding unit 207 sets the number of encoded output delay frames to a variable length or a fixed value. Decode long.
[0091]
The operation flow of the image decoding device 22 is shown in FIG. Basically, the operation flow is the same as the operation flow of the image decoding apparatus 20 of the first configuration example shown in FIG. 12, but at the start of decoding of the encoded data of the sequence, in step S500, the delay decoding unit 207 outputs the output delay. A process for decoding the number of frames has been added.
[0092]
Also, when the differential output delay frame number (DeltaDelayNum) is included in the encoded data, the configuration of the image decoding apparatus is as shown in FIG. 15, and the delay decoding unit 207 performs decoding of the output delay frame number. Similarly, variable length or fixed length decoding is performed on the number of differential output delay frames.
[0093]
If the number of output delay frames is included in the encoded data, the output delay frame number and the differential output delay frame number are decoded in step S500 of FIG. 16, and in step S508, the output timing number decoding unit After 204 decodes the output timing number, a value obtained by adding the number of differential output delay frames (DeltaDelayNum) to the decoded output timing number is set as an actually used output timing number (DelayNum).
[0094]
[Configuration Example 4 of Image Decoding Device]
FIG. 17 shows a device outline of a fourth configuration example of the image decoding device. The image decoding device 23 shown in FIG. 17 has a configuration in which a delay decoding unit 207 is further added to the image decoding device 21 of the second configuration example described above. The image decoding device 23 decodes the encoded data encoded by the image encoding device 13 shown in FIG.
[0095]
The encoded data input by the image decoding device 23 includes information on the number of encoded output delay frames, and the delay decoding unit 207 sets the number of encoded output delay frames to a variable length or a fixed value. Decode long.
[0096]
The operation flow of this image decoding device 23 is shown in FIG. Basically, it is the same as the operation flow of the image decoding device 21 of the second configuration example shown in FIG. 14, but at the start of decoding of the encoded data of the sequence, the delay decoding unit 207 outputs the output delay in step S600. A process for decoding the number of frames has been added.
[0097]
Also, when the differential output delay frame number (DeltaDelayNum) is included in the encoded data, the configuration of the image decoding apparatus is as shown in FIG. 17, and the delay decoding unit 207 performs decoding of the output delay frame number. Similarly, variable length or fixed length decoding is performed on the number of differential output delay frames.
[0098]
If the number of output delay frames is included in the encoded data, decoding of the number of output delay frames and decoding of the number of differential output delay frames are performed in step S600 of FIG. 18, and an output timing number decoding unit in step S606. After 204 decodes the output timing number, a value obtained by adding the number of differential output delay frames (DeltaDelayNum) to the decoded output timing number is set as an actually used output timing number (DelayNum).
[0099]
The processing performed by the image encoding device and the image decoding device described above can be realized not only by a hardware circuit but also by a computer and a software program, and the program is stored in a portable medium memory that can be read by a computer. The data can be stored in a suitable recording medium such as a semiconductor memory or a hard disk and read out from the recording medium to be executed by a computer.
[0100]
【The invention's effect】
According to the present invention, when the frames are exchanged in units of a plurality of frames in the encoded data, the trouble of changing the time information can be saved.
[0101]
The image decoding apparatus can output one frame image each time one frame is decoded. That is, the device configuration of the image output portion of the image decoding device can be simplified.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining the operation of an output timing number according to the present invention.
FIG. 2 is a diagram for explaining the operation of an output timing number according to the present invention.
FIG. 3 is a diagram for describing an example of use of an output image memory in an image decoding device.
FIG. 4 is a diagram illustrating an example of using an output image memory in an image decoding device.
FIG. 5 is a diagram illustrating an apparatus outline of a first configuration example of an image encoding apparatus.
FIG. 6 is a diagram illustrating an operation flow of the image coding apparatus according to the first configuration example.
FIG. 7 is a diagram illustrating an apparatus outline of a second configuration example of an image encoding apparatus.
FIG. 8 is a diagram illustrating an operation flow of the image coding apparatus according to the second configuration example.
FIG. 9 is a diagram illustrating an apparatus outline of a third configuration example of the image encoding apparatus.
FIG. 10 is a diagram illustrating an apparatus outline of a fourth configuration example of an image encoding apparatus.
FIG. 11 is a diagram illustrating an apparatus outline of a first configuration example of an image decoding apparatus.
FIG. 12 is a diagram illustrating an operation flow of the image decoding apparatus according to the first configuration example.
FIG. 13 is a diagram illustrating an apparatus outline of a second configuration example of an image decoding apparatus.
FIG. 14 is a diagram illustrating an operation flow of the image decoding apparatus according to the second configuration example.
FIG. 15 is a diagram illustrating an apparatus outline of a third configuration example of an image decoding apparatus.
FIG. 16 is a diagram illustrating an operation flow of the image decoding apparatus according to the third configuration example.
FIG. 17 is a diagram illustrating an apparatus outline of a fourth configuration example of an image decoding apparatus.
FIG. 18 is a diagram illustrating an operation flow of the image decoding device according to the fourth configuration example.
[Fig. 19] Fig. 19 is a diagram for describing an example of a prediction relationship of a general interframe predictive coding scheme.
[Explanation of symbols]
10 Image encoding device
101 Image input unit
102 Input frame count section
103 Coding mode designation part
104 Coding determination unit
105 Encoding frame count section
106 Delay specification part
107 Output timing number calculator
108 Decoded image output determination unit
109 Output timing number encoding unit
110 Decoded Image Output Flag Encoding Unit
111 Interframe prediction encoding unit
112 Decoding unit
113 Reference image memory
114 Input image delay memory
115 Delayed image coding determination unit
116 Delay encoding unit
20 Image decoding device
201 Decoding unit
202 Reference image memory
203 Decoded image output flag decoding unit
204 Output timing number decoding unit
205 Output image memory
206 Output image memory index update unit
207 Delay decoding unit
208 Output timing number decoding unit
209 Decoded image output determination unit
SW1 to SW4 switch

Claims (22)

フレーム間予測符号化方式を用いて画像情報を符号化する動画像符号化方法において,
符号化対象の画像情報をフレーム単位で入力する過程と,
復号側において当該入力フレームを符号化したフレームを入力した時点から何フレーム分後のタイミングで出力するかを示す出力タイミング番号を符号化する過程と,
フレーム間予測符号化方式を用いて前記入力したフレームの画像情報を符号化する過程と,
前記出力タイミング番号を符号化したデータと前記入力したフレームの画像情報を符号化したデータとを符号化データとして出力する過程とを有する
ことを特徴とする動画像符号化方法。
In a moving image coding method for coding image information using an inter-frame predictive coding method,
A process of inputting image information to be encoded in units of frames;
A process of encoding an output timing number indicating the number of frames to be output from the time when a frame obtained by encoding the input frame is input on the decoding side;
A process of encoding image information of the input frame using an inter-frame predictive encoding method;
A moving picture coding method comprising: a step of outputting data obtained by coding the output timing number and data obtained by coding image information of the input frame as coded data.
さらに,復号側において現在の復号フレームを直ちに出力するか否かを示す復号画像出力フラグを符号化する過程を有し,
前記符号化データとともに出力する
ことを特徴とする請求項1記載の動画像符号化方法。
And a process of encoding a decoded image output flag indicating whether or not to immediately output the current decoded frame on the decoding side,
2. The moving picture coding method according to claim 1, wherein the moving picture coding method is output together with the coded data.
前記出力タイミング番号を符号化する過程では,復号側において現在の復号フレームを直ちに出力すべきときに,前記出力タイミング番号の値をあらかじめ定めた特定値として符号化する
ことを特徴とする請求項1記載の動画像符号化方法。
2. The process of encoding the output timing number, wherein the value of the output timing number is encoded as a predetermined specific value when the current decoded frame is to be output immediately on the decoding side. The moving image encoding method described.
フレーム間予測符号化方式を用いて画像情報を符号化する動画像符号化方法において,
符号化対象の画像情報をフレーム単位で入力する過程と,
入力フレーム数をカウントする過程と,
ピクチャ符号化モードを決定する過程と,
入力フレームを遅延して符号化するかどうかを決定する過程と,
入力フレームを遅延して符号化する場合に,入力画像遅延メモリに入力フレームを蓄積する過程と,
符号化フレーム数をカウントする過程と,
復号側で復号画像を復号直後に出力するか否かを決定する過程と,
復号側で復号画像を復号直後に出力するか否かを示す復号画像出力フラグを符号化し出力する過程と,
復号側で復号画像を復号直後に出力しないと決定された場合に,シーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数に,前記入力フレーム数のカウント値を加算し,さらに前記符号化フレーム数のカウント値を減算した値を,出力タイミング番号として計算する過程と,
前記出力タイミング番号を符号化し出力する過程と,
フレーム内画像情報をすべて符号化するまで,フレーム間予測符号化方式を用いて入力フレームを符号化し出力する過程と,
入力フレームの符号化データを復号し,その復号画像をフレーム間予測符号化方式による符号化で参照するための参照画像メモリに蓄積する過程と,
前記入力画像蓄積メモリに蓄積されている画像情報について,前記符号化フレーム数をカウントする過程以降の処理を繰り返す過程とを有する
ことを特徴とする動画像符号化方法。
In a moving image coding method for coding image information using an inter-frame predictive coding method,
A process of inputting image information to be encoded in units of frames;
The process of counting the number of input frames,
Determining the picture coding mode; and
Determining whether to encode the input frame with a delay;
A process of storing the input frame in the input image delay memory when the input frame is delayed and encoded;
The process of counting the number of encoded frames;
A process of determining whether to output a decoded image immediately after decoding on the decoding side;
A process of encoding and outputting a decoded image output flag indicating whether or not to output a decoded image immediately after decoding on the decoding side;
When the decoding side decides not to output the decoded image immediately after decoding, the count value of the number of input frames is added to the number of output delay frames indicating the number of frames in which the output of the decoded image is delayed in all frames in the sequence. Further, a process of calculating a value obtained by subtracting the count value of the number of encoded frames as an output timing number;
Encoding and outputting the output timing number;
The process of encoding and outputting the input frame using inter-frame predictive encoding until all the intra-frame image information is encoded,
A process of decoding encoded data of an input frame and storing the decoded image in a reference image memory for reference by encoding by an inter-frame predictive encoding method;
A moving image coding method comprising: a step of repeating processing subsequent to a step of counting the number of encoded frames for image information stored in the input image storage memory.
フレーム間予測符号化方式を用いて画像情報を符号化する動画像符号化方法において,
符号化対象の画像情報をフレーム単位で入力する過程と,
入力フレーム数をカウントする過程と,
ピクチャ符号化モードを決定する過程と,
入力フレームを遅延して符号化するかどうかを決定する過程と,
入力フレームを遅延して符号化する場合に,入力画像遅延メモリに入力フレームを蓄積する過程と,
符号化フレーム数をカウントする過程と,
復号側で復号画像を復号直後に出力するか否かを決定する過程と,
復号側で復号画像を復号直後に出力しない場合に,シーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数に,前記入力フレーム数のカウント値を加算し,さらに前記符号化フレーム数のカウント値を減算した値を,出力タイミング番号として計算し,復号側で復号画像を復号直後に出力する場合には,前記出力タイミング番号を,復号画像を復号直後に出力しない場合の出力タイミング番号と区別できる特定の値に設定する過程と,
前記出力タイミング番号を符号化し出力する過程と,
フレーム内画像情報をすべて符号化するまで,フレーム間予測符号化方式を用いて入力フレームを符号化し出力する過程と,
入力フレームの符号化データを復号し,その復号画像をフレーム間予測符号化方式による符号化で参照するための参照画像メモリに蓄積する過程と,
前記入力画像蓄積メモリに蓄積されている画像情報について,前記符号化フレーム数をカウントする過程以降の処理を繰り返す過程とを有する
ことを特徴とする動画像符号化方法。
In a moving image coding method for coding image information using an inter-frame predictive coding method,
A process of inputting image information to be encoded in units of frames;
The process of counting the number of input frames,
Determining the picture coding mode; and
Determining whether to encode the input frame with a delay;
A process of storing the input frame in the input image delay memory when the input frame is delayed and encoded;
The process of counting the number of encoded frames;
A process of determining whether to output a decoded image immediately after decoding on the decoding side;
When the decoding side does not output the decoded image immediately after decoding, the count value of the number of input frames is added to the number of output delay frames indicating the number of frames in which the output of the decoded image is delayed in all frames in the sequence, and When the value obtained by subtracting the count value of the number of encoded frames is calculated as an output timing number and the decoded image is output immediately after decoding, the output timing number is not output immediately after decoding. The process of setting a specific value that can be distinguished from the output timing number of
Encoding and outputting the output timing number;
The process of encoding and outputting the input frame using inter-frame predictive encoding until all the intra-frame image information is encoded,
A process of decoding encoded data of an input frame and storing the decoded image in a reference image memory for reference by encoding by an inter-frame predictive encoding method;
A moving image coding method comprising: a step of repeating processing subsequent to a step of counting the number of encoded frames for image information stored in the input image storage memory.
シーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数を符号化する過程を有し,
前記一連の符号化データの前に付加して出力する
ことを特徴とする請求項1から請求項5までのいずれか1項に記載の動画像符号化方法。
Encoding the number of output delay frames indicating the number of frames in which the output of the decoded image is delayed in all the frames in the sequence;
6. The moving picture coding method according to claim 1, wherein the moving picture coding method is added before the series of coded data and outputted.
フレーム間予測符号化方式を用いて符号化された画像情報を復号する動画像復号方法において,
復号対象の符号化画像情報をフレーム単位で入力するとともに,当該入力フレームを入力した時点から何フレーム分後のタイミングで,その入力フレームの復号画像を出力するかを示す出力タイミング番号の符号化データを入力する過程と,
前記入力したフレームの符号化画像情報を復号する過程と,
前記出力タイミング番号の符号化データを復号する過程と,
前記復号した出力タイミング番号に応じて前記復号した画像情報を出力するタイミングを決定し,前記復号した画像情報を出力する過程とを有する
ことを特徴とする動画像復号方法。
In a video decoding method for decoding image information encoded using an inter-frame predictive encoding method,
Encoded data with an output timing number indicating that the encoded image information to be decoded is input in units of frames and the number of frames after the input frame is input and the decoded image of the input frame is output The process of entering
Decoding the encoded image information of the input frame;
Decoding the encoded data of the output timing number;
And a step of determining a timing for outputting the decoded image information in accordance with the decoded output timing number and outputting the decoded image information.
さらに,現在の復号フレームを直ちに出力するか否かを示す復号画像出力フラグの符号化データを入力する過程と,
前記復号画像出力フラグの符号化データを復号する過程とを有し,
前記復号した画像情報を出力する過程では,前記復号画像出力フラグが現在の復号フレームを直ちに出力することを示している場合に,復号フレームを直ちに出力する
ことを特徴とする請求項7記載の動画像復号方法。
And a process of inputting encoded data of a decoded image output flag indicating whether or not to immediately output the current decoded frame;
A process of decoding the encoded data of the decoded image output flag,
8. The moving image according to claim 7, wherein in the process of outputting the decoded image information, the decoded frame is output immediately when the decoded image output flag indicates that the current decoded frame is output immediately. Image decoding method.
前記復号した画像情報を出力する過程では,前記復号した出力タイミング番号があらかじめ定められた特定値である場合に,前記復号フレームを直ちに出力する
ことを特徴とする請求項7記載の動画像復号方法。
8. The moving picture decoding method according to claim 7, wherein in the process of outputting the decoded image information, the decoded frame is immediately output when the decoded output timing number is a predetermined specific value. .
フレーム間予測符号化方式を用いて符号化された画像情報を復号する動画像復号方法において,
復号対象の符号化画像情報をフレーム単位で入力するとともに,当該入力フレームを入力した時点から何フレーム分後のタイミングで,その入力フレームの復号画像を出力するかを示す出力タイミング番号の符号化データおよび復号画像を復号直後に出力するか否かを示す復号画像出力フラグの符号化データを入力する過程と,
前記入力したフレームの符号化画像情報をフレーム間予測復号する過程と,
復号画像をフレーム間予測復号で参照するための参照画像メモリに蓄積する過程と,
前記復号画像出力フラグの符号化データを復号する過程と,
前記出力タイミング番号の符号化データを復号する過程と,
前記復号画像出力フラグが復号画像を復号直後に出力しないことを示す場合に,あらかじめ前記出力タイミング番号に基づいて復号画像を蓄積する出力画像メモリからの復号画像の出力を行い,前記出力画像メモリにおける復号画像の出力順序を示すインデックスを更新し,現フレームの復号画像を前記出力タイミング番号に応じたインデックスが示す出力画像メモリの位置に蓄積する過程と,
前記復号画像出力フラグが復号画像を復号直後に出力することを示す場合に,現フレームの復号画像を出力し,前記出力画像メモリにおける復号画像の出力順序を示すインデックスを更新する過程とを有する
ことを特徴とする動画像復号方法。
In a video decoding method for decoding image information encoded using an inter-frame predictive encoding method,
Encoded data with an output timing number indicating that the encoded image information to be decoded is input in units of frames and the number of frames after the input frame is input and the decoded image of the input frame is output A process of inputting encoded data of a decoded image output flag indicating whether or not to output the decoded image immediately after decoding;
Inter-frame predictive decoding of the encoded image information of the input frame;
Storing the decoded image in a reference image memory for reference in inter-frame prediction decoding;
Decoding the encoded data of the decoded image output flag;
Decoding the encoded data of the output timing number;
When the decoded image output flag indicates that the decoded image is not output immediately after decoding, the decoded image is output from the output image memory that stores the decoded image based on the output timing number in advance, and the output image memory Updating the index indicating the output order of the decoded images, and storing the decoded image of the current frame in the position of the output image memory indicated by the index corresponding to the output timing number;
A step of outputting a decoded image of the current frame and updating an index indicating an output order of the decoded image in the output image memory when the decoded image output flag indicates that the decoded image is output immediately after decoding. A video decoding method characterized by the above.
フレーム間予測符号化方式を用いて符号化された画像情報を復号する動画像復号方法において,
復号対象の符号化画像情報をフレーム単位で入力するとともに,当該入力フレームを入力した時点から何フレーム分後のタイミングで,その入力フレームの復号画像を出力するかを示す出力タイミング番号の符号化データを入力する過程と,
前記入力したフレームの符号化画像情報をフレーム間予測復号する過程と,
復号画像をフレーム間予測復号で参照するための参照画像メモリに蓄積する過程と,
前記出力タイミング番号の符号化データを復号する過程と,
前記復号した出力タイミング番号が特定の値であるか否かにより,復号画像を復号直後に出力するか否かを決定する過程と,
復号画像を復号直後に出力しない場合に,あらかじめ前記出力タイミング番号に基づいて復号画像を蓄積する出力画像メモリからの復号画像の出力を行い,前記出力画像メモリにおける復号画像の出力順序を示すインデックスを更新し,現フレームの復号画像を前記出力タイミング番号に応じたインデックスが示す出力画像メモリの位置に蓄積する過程と,
復号画像を復号直後に出力する場合に,現フレームの復号画像を出力し,前記出力画像メモリにおける復号画像の出力順序を示すインデックスを更新する過程とを有する
ことを特徴とする動画像復号方法。
In a video decoding method for decoding image information encoded using an inter-frame predictive encoding method,
Encoded data with an output timing number indicating that the encoded image information to be decoded is input in units of frames and the number of frames after the input frame is input and the decoded image of the input frame is output The process of entering
Inter-frame predictive decoding of the encoded image information of the input frame;
Storing the decoded image in a reference image memory for reference in inter-frame prediction decoding;
Decoding the encoded data of the output timing number;
Determining whether to output a decoded image immediately after decoding according to whether the decoded output timing number is a specific value;
When the decoded image is not output immediately after decoding, the decoded image is output from the output image memory that stores the decoded image in advance based on the output timing number, and an index indicating the output order of the decoded image in the output image memory is provided. Updating and storing the decoded image of the current frame in the position of the output image memory indicated by the index corresponding to the output timing number;
A method of decoding a moving image, comprising: outputting a decoded image of a current frame and updating an index indicating an output order of the decoded image in the output image memory when the decoded image is output immediately after decoding.
さらにシーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数の符号化データを入力する過程と,
入力した出力遅延フレーム数の符号化データを復号する過程とを有し,
復号した出力遅延フレーム数に応じてシーケンス中の全フレームについて復号画像の出力を遅延させる
ことを特徴とする請求項7から請求項11までのいずれか1項に記載の動画像復号方法。
Furthermore, a process of inputting encoded data having an output delay frame number indicating the number of frames in which the output of the decoded image is delayed in all frames in the sequence;
A process of decoding encoded data of the number of input output delay frames,
The moving picture decoding method according to any one of claims 7 to 11, wherein the output of the decoded picture is delayed for all the frames in the sequence in accordance with the number of decoded output delay frames.
フレーム間予測符号化方式を用いて画像情報を符号化する画像符号化装置において,
符号化対象の画像情報をフレーム単位で入力する手段と,
入力フレーム数をカウントする手段と,
ピクチャ符号化モードを指定する手段と,
入力フレームを遅延して符号化するかどうかを決定する手段と,
遅延して符号化する画像情報を記憶する入力画像遅延メモリと,
入力フレームを遅延して符号化する場合に,前記入力画像遅延メモリに入力フレームを蓄積する手段と,
符号化フレーム数をカウントする手段と,
復号側で復号画像を復号直後に出力するか否かを決定する手段と,
復号側で復号画像を復号直後に出力するか否かを示す復号画像出力フラグを符号化し出力する手段と,
復号側で復号画像を復号直後に出力しないと決定された場合に,シーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数に,前記入力フレーム数のカウント値を加算し,さらに前記符号化フレーム数のカウント値を減算した値を,出力タイミング番号として計算する手段と,
前記出力タイミング番号を符号化し出力する手段と,
フレーム間予測符号化方式を用いて入力フレームの画像情報または前記入力画像遅延メモリに蓄積した画像情報を符号化し出力する手段と,
前記フレーム間予測符号化方式による符号化で参照するための復号画像を記憶する参照画像メモリと,
入力フレームの符号化データを復号する手段と,
復号画像を前記参照画像メモリに蓄積する手段とを備える
ことを特徴とする画像符号化装置。
In an image encoding apparatus that encodes image information using an inter-frame predictive encoding method,
Means for inputting image information to be encoded in units of frames;
Means for counting the number of input frames;
Means for specifying a picture coding mode;
Means for determining whether to encode the input frame with a delay;
An input image delay memory for storing image information to be encoded with delay;
Means for storing the input frame in the input image delay memory when encoding the input frame with a delay;
Means for counting the number of encoded frames;
Means for determining whether or not to output the decoded image immediately after decoding on the decoding side;
Means for encoding and outputting a decoded image output flag indicating whether or not to output the decoded image immediately after decoding on the decoding side;
When the decoding side decides not to output the decoded image immediately after decoding, the count value of the number of input frames is added to the number of output delay frames indicating the number of frames in which the output of the decoded image is delayed in all frames in the sequence. And means for calculating a value obtained by subtracting the count value of the number of encoded frames as an output timing number;
Means for encoding and outputting the output timing number;
Means for encoding and outputting image information of an input frame or image information stored in the input image delay memory using an inter-frame predictive encoding method;
A reference image memory for storing a decoded image for reference in encoding by the inter-frame predictive encoding method;
Means for decoding the encoded data of the input frame;
An image encoding apparatus comprising: means for storing a decoded image in the reference image memory.
フレーム間予測符号化方式を用いて画像情報を符号化する画像符号化装置において,
符号化対象の画像情報をフレーム単位で入力する手段と,
入力フレーム数をカウントする手段と,
ピクチャ符号化モードを決定する手段と,
入力フレームを遅延して符号化するかどうかを決定する手段と,
遅延して符号化する画像情報を記憶する入力画像遅延メモリと,
入力フレームを遅延して符号化する場合に,前記入力画像遅延メモリに入力フレームを蓄積する手段と,
符号化フレーム数をカウントする手段と,
復号側で復号画像を復号直後に出力しない場合に,シーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数に,前記入力フレーム数のカウント値を加算し,さらに前記符号化フレーム数のカウント値を減算した値を,出力タイミング番号として計算し,復号側で復号画像を復号直後に出力する場合には,前記出力タイミング番号を,復号画像を復号直後に出力しない場合の出力タイミング番号と区別できる特定の値に設定する手段と,
前記出力タイミング番号を符号化し出力する手段と,
フレーム間予測符号化方式を用いて入力フレームの画像情報または前記入力画像遅延メモリに蓄積した画像情報を符号化し出力する手段と,
前記フレーム間予測符号化方式による符号化で参照するための復号画像を記憶する参照画像メモリと,
入力フレームの符号化データを復号する手段と,
復号画像を前記参照画像メモリに蓄積する手段とを備える
ことを特徴とする画像符号化装置。
In an image encoding apparatus that encodes image information using an inter-frame predictive encoding method,
Means for inputting image information to be encoded in units of frames;
Means for counting the number of input frames;
Means for determining a picture coding mode;
Means for determining whether to encode the input frame with a delay;
An input image delay memory for storing image information to be encoded with delay;
Means for storing the input frame in the input image delay memory when encoding the input frame with a delay;
Means for counting the number of encoded frames;
When the decoding side does not output the decoded image immediately after decoding, the count value of the number of input frames is added to the number of output delay frames indicating the number of frames in which the output of the decoded image is delayed in all frames in the sequence, and When the value obtained by subtracting the count value of the number of encoded frames is calculated as an output timing number and the decoded image is output immediately after decoding, the output timing number is not output immediately after decoding. Means to set a specific value that can be distinguished from the output timing number of
Means for encoding and outputting the output timing number;
Means for encoding and outputting image information of an input frame or image information stored in the input image delay memory using an inter-frame predictive encoding method;
A reference image memory for storing a decoded image for reference in encoding by the inter-frame predictive encoding method;
Means for decoding the encoded data of the input frame;
An image encoding apparatus comprising: means for storing a decoded image in the reference image memory.
シーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数を符号化し,前記一連の符号化データの前に付加して出力する手段を備える
ことを特徴とする請求項13または請求項14に記載の画像符号化装置。
14. A means for encoding an output delay frame number indicating the number of frames in which the output of a decoded image is delayed in all the frames in the sequence, and adding and outputting it before the series of encoded data. Or the image coding apparatus of Claim 14.
フレーム間予測符号化方式を用いて符号化された画像情報を復号する画像復号装置において,
復号対象の符号化画像情報をフレーム単位で入力し,フレーム間予測復号する手段と,
復号画像をフレーム間予測復号で参照するための復号画像を記憶する参照画像メモリと,
復号画像を復号直後に出力するか否かを示す復号画像出力フラグの符号化データを入力し復号する復号手段と,
前記符号化画像情報のフレームを入力した時点から何フレーム分後のタイミングで,そのフレームの復号画像を出力するかを示す出力タイミング番号の符号化データを入力し復号する手段と,
復号画像を遅延させて出力するために記憶する出力画像メモリと,
前記出力画像メモリにおける復号画像の出力順序を示すインデックスを,各フレームの復号画像を出力するごとに更新する手段とを備え,
前記復号画像出力フラグが復号画像を復号直後に出力することを示す場合に,前記復号手段により復号した復号画像を出力し,前記復号画像出力フラグが復号画像を復号直後に出力しないことを示す場合に,前記出力画像メモリに蓄積された復号画像を前記インデックスに従って前記出力画像メモリから読み出して出力するとともに,前記出力タイミング番号に関連付けられたインデックスが示す前記出力画像メモリの位置に現在の復号フレームの復号画像を蓄積する
ことを特徴とする画像復号装置。
In an image decoding apparatus for decoding image information encoded using an inter-frame predictive encoding method,
Means for inputting encoded image information to be decoded in units of frames and performing predictive decoding between frames;
A reference image memory for storing a decoded image for referring to the decoded image by inter-frame prediction decoding;
Decoding means for inputting and decoding encoded data of a decoded image output flag indicating whether or not to output a decoded image immediately after decoding;
Means for inputting and decoding encoded data of an output timing number indicating how many frames later from the time when the frame of the encoded image information is input, and outputting the decoded image of the frame;
An output image memory for storing the decoded image with a delayed output;
Means for updating an index indicating an output order of decoded images in the output image memory every time a decoded image of each frame is output;
When the decoded image output flag indicates that the decoded image is output immediately after decoding, the decoded image decoded by the decoding unit is output, and the decoded image output flag indicates that the decoded image is not output immediately after decoding In addition, the decoded image stored in the output image memory is read out from the output image memory according to the index and output, and the current decoded frame is displayed at the position of the output image memory indicated by the index associated with the output timing number. An image decoding apparatus that accumulates decoded images.
フレーム間予測符号化方式を用いて符号化された画像情報を復号する画像復号装置において,
復号対象の符号化画像情報をフレーム単位で入力しフレーム間予測復号する復号手段と,
前記符号化画像情報のフレームを入力した時点から何フレーム分後のタイミングで,そのフレームの復号画像を出力するかを示す出力タイミング番号の符号化データを入力する手段と,
前記入力したフレームの符号化画像情報をフレーム間予測復号する手段と,
復号画像をフレーム間予測復号で参照するための参照画像メモリに蓄積する手段と,
復号画像を遅延させて出力するために記憶する出力画像メモリと,
前記出力タイミング番号の符号化データを復号する手段と,
前記復号した出力タイミング番号が特定の値であるか否かにより,復号画像を復号直後に出力するか否かを決定する手段と,
復号画像を復号直後に出力する場合に,前記復号手段により復号した復号画像を出力し,復号画像を復号直後に出力しない場合に,前記出力画像メモリからの復号画像の出力を行い,現フレームの復号画像を前記出力タイミング番号に関連付けられたインデックスが示す前記出力画像メモリの位置に蓄積する手段と,
前記出力画像メモリにおける復号画像の出力順序を示すインデックスを,各フレームの復号画像を出力するごとに更新する手段とを備える
ことを特徴とする画像復号装置。
In an image decoding apparatus for decoding image information encoded using an inter-frame predictive encoding method,
Decoding means for inputting encoded image information to be decoded in units of frames and performing interframe predictive decoding;
Means for inputting encoded data of an output timing number indicating how many frames later from the time when the frame of the encoded image information is input, and outputting the decoded image of the frame;
Means for inter-frame predictive decoding of the encoded image information of the input frame;
Means for storing the decoded image in a reference image memory for referring to the inter-frame prediction decoding;
An output image memory for storing the decoded image with a delayed output;
Means for decoding the encoded data of the output timing number;
Means for determining whether or not to output the decoded image immediately after decoding depending on whether or not the decoded output timing number is a specific value;
When the decoded image is output immediately after decoding, the decoded image decoded by the decoding means is output. When the decoded image is not output immediately after decoding, the decoded image is output from the output image memory, and the current frame is output. Means for storing a decoded image at a position of the output image memory indicated by an index associated with the output timing number;
An image decoding apparatus comprising: means for updating an index indicating an output order of decoded images in the output image memory each time a decoded image of each frame is output.
さらにシーケンス中の全フレームで復号画像の出力が遅延するフレーム数を示す出力遅延フレーム数の符号化データを入力する手段と,
入力した出力遅延フレーム数の符号化データを復号する手段とを有し,
復号した出力遅延フレーム数に応じてシーケンス中の全フレームについて復号画像の出力を遅延させる
ことを特徴とする請求項16または請求項17に記載の画像復号装置。
Means for inputting encoded data of the number of output delay frames indicating the number of frames in which the output of the decoded image is delayed in all frames in the sequence;
Means for decoding encoded data of the number of input output delay frames,
18. The image decoding apparatus according to claim 16, wherein output of the decoded image is delayed for all frames in the sequence in accordance with the number of output delay frames decoded.
請求項1から請求項6までのいずれか1項に記載の動画像符号化方法を,コンピュータに実行させるための動画像符号化プログラム。A moving picture coding program for causing a computer to execute the moving picture coding method according to any one of claims 1 to 6. 請求項7から請求項12までのいずれか1項に記載の動画像復号方法を,コンピュータに実行させるための動画像復号プログラム。A moving picture decoding program for causing a computer to execute the moving picture decoding method according to any one of claims 7 to 12. 請求項1から請求項6までのいずれか1項に記載の動画像符号化方法を,コンピュータに実行させるためのプログラムを記録した
ことを特徴とする動画像符号化プログラムの記録媒体。
A recording medium for a moving picture coding program, in which a program for causing a computer to execute the moving picture coding method according to any one of claims 1 to 6 is recorded.
請求項7から請求項12までのいずれか1項に記載の動画像復号方法を,コンピュータに実行させるためのプログラムを記録した
ことを特徴とする動画像復号プログラムの記録媒体。
A recording medium for a moving picture decoding program, wherein a program for causing a computer to execute the moving picture decoding method according to any one of claims 7 to 12 is recorded.
JP2002207530A 2002-07-16 2002-07-16 Moving picture coding method, moving picture decoding method, picture coding apparatus, picture decoding apparatus, moving picture coding program, moving picture decoding program, and recording medium for these programs Expired - Lifetime JP3866628B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002207530A JP3866628B2 (en) 2002-07-16 2002-07-16 Moving picture coding method, moving picture decoding method, picture coding apparatus, picture decoding apparatus, moving picture coding program, moving picture decoding program, and recording medium for these programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002207530A JP3866628B2 (en) 2002-07-16 2002-07-16 Moving picture coding method, moving picture decoding method, picture coding apparatus, picture decoding apparatus, moving picture coding program, moving picture decoding program, and recording medium for these programs

Publications (2)

Publication Number Publication Date
JP2004056232A JP2004056232A (en) 2004-02-19
JP3866628B2 true JP3866628B2 (en) 2007-01-10

Family

ID=31931951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002207530A Expired - Lifetime JP3866628B2 (en) 2002-07-16 2002-07-16 Moving picture coding method, moving picture decoding method, picture coding apparatus, picture decoding apparatus, moving picture coding program, moving picture decoding program, and recording medium for these programs

Country Status (1)

Country Link
JP (1) JP3866628B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5007759B2 (en) * 2002-07-19 2012-08-22 ソニー株式会社 Encoding apparatus, encoding method, decoding apparatus, and decoding method
JP4806888B2 (en) 2002-07-19 2011-11-02 ソニー株式会社 Decoding device and decoding method

Also Published As

Publication number Publication date
JP2004056232A (en) 2004-02-19

Similar Documents

Publication Publication Date Title
ES2971293T3 (en) Image encoding device, image encoding method, image encoding program, image decoding device, image decoding method and image decoding program
US7447371B2 (en) Method and apparatus for encoding and decoding motion vectors
EP0762778A2 (en) Video data encoding and recording
KR100946846B1 (en) Motion vector encoding method and motion vector decoding method
JP4234771B2 (en) Transmitter
ES2724399T3 (en) Procedure and variable length coding device
EP1802126A1 (en) Image coding device, image decoding device, image coding program, and image decoding program.
JP3840895B2 (en) Video encoded data conversion apparatus and method
US20100118943A1 (en) Method and apparatus for encoding and decoding image
EP1816649A2 (en) Imaging device, information processing method, and computer program
US20090257666A1 (en) Image decoding device, image decoding method, image decoding system, and system lsi
US5706053A (en) Compressed motion video code processor
JP4612797B2 (en) Encoding device and encoding method
JP4405272B2 (en) Moving picture decoding method, moving picture decoding apparatus and program
JP3866628B2 (en) Moving picture coding method, moving picture decoding method, picture coding apparatus, picture decoding apparatus, moving picture coding program, moving picture decoding program, and recording medium for these programs
JP2008294669A (en) Image encoding device
JPWO2008132774A1 (en) Moving picture decoding method, moving picture decoding apparatus, and electronic device
JP2000032474A (en) Dynamic image encoder
JP4027337B2 (en) VIDEO INFORMATION RECORDING DEVICE, VIDEO INFORMATION RECORDING METHOD, VIDEO INFORMATION REPRODUCING DEVICE, AND VIDEO INFORMATION REPRODUCING METHOD
JP4192149B2 (en) Data processing apparatus and data processing method
JPH11252572A (en) Code amount distribution device
JP2003087732A (en) Video reproducing device
JP2007049651A (en) Image processing apparatus and control method
CN111726632A (en) Encoding and decoding method, device and equipment
JP2004228617A (en) Dynamic image encoder and dynamic image decoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060606

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061005

R150 Certificate of patent or registration of utility model

Ref document number: 3866628

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101013

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111013

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121013

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131013

Year of fee payment: 7

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term