新四季網

圖像編碼設備、畫面編碼方法和圖像編輯設備的製作方法

2023-04-26 11:26:46 6

專利名稱:圖像編碼設備、畫面編碼方法和圖像編輯設備的製作方法
技術領域:
本發明涉及一種能夠編輯、解碼和再編碼從非壓縮視頻數據編碼的碼流的圖像編碼設備、圖像編碼方法和圖像編輯設備。
背景技術:
隨著數位技術近來的發展,數字聲音/圖像記錄和回放裝置比如HDD(硬碟驅動器)、DVD(數字通用光碟)和DVD播放器已經投入到實際應用。這些數字系統用MPEG(運動圖像專家組)標準將圖像數據壓縮為流(stream)。
在MPEG-2(ISO/IEC13818-2)標準中,碼流(coded stream)由三種畫面的組合形成內編碼畫面(I-畫面);預測編碼畫面(P-畫面),這是從參考幀使用單向預測來編碼的畫面;以及雙向預測編碼畫面(B-畫面),這是從參考幀使用雙向預測來編碼的畫面。
MPEG-2標準的視頻流以GOP(畫面組)為單位來編碼。一個GOP由一系列畫面組成,通常是15個,典型地從I-畫面開始,其後跟隨P-畫面和B-畫面序列。
I-畫面通過畫面內編碼(intra-picture encoding)來編碼而不使用根據前一畫面的預測。I-畫面是不參考另一畫面的畫面內編碼所產生的結果,並且包含解碼必需的所有信息。P-畫面通過參考過去的I-畫面或P-畫面的畫面間預測來編碼。因此它們需要在流序列中相關P-畫面之前的先前解碼的I-畫面或P-畫面的信息。B-畫面通過同時參考過去和將來的I-畫面或P-畫面的雙向畫面間預測來編碼。因此B-畫面的解碼需要在流序列中相關B-畫面之前的先前解碼的兩個I-或P-畫面的信息。
如果存在B-畫面,編碼畫面序列和顯示畫面序列並不對應。因為B-畫面通過參考在回放序列中比相關畫面更晚顯示的畫面來解碼,參考I-或P-畫面在該編碼序列中被置於該B-畫面之前。當編輯通過MPEG-2編碼產生的視頻流時,因為編碼成P-畫面和B-畫面的畫面的參考畫面被編輯所改變,所以不能提取所需畫面的數據並且簡單地連接它們。
通過MPEG標準編碼的運動畫面可簡單地被編輯進GOP單元。然而,在GOP的某個部分存在場景改變時,就不能在該點進行編輯。一種用於「粘合」GOP某個部分中的一個編輯點和GOP的其它部分中的一個編輯點的方法在公開號為No.2002-300525的日本未審專利申請中公開。
在由Ichikawa等人教導的編輯方法中,分別通過幀間預測來編碼的第一視頻流的部分或全部以及第二視頻流的部分或全部,被「粘合」來產生可被連續回放的視頻流。在這個過程中,從第一視頻流中提取由一直到在前面緊挨著通過幀內預測或單向幀間預測來編碼的畫面的畫面所組成的第一部分視頻流。此外,從第二視頻流中提取由通過幀內預測或單向幀間預測來編碼的畫面之後的畫面組成的第二部分視頻流。然後,判定在前面緊挨著從第二視頻流中提取的第二部分流的被顯示的畫面是否是I-畫面。如果相關畫面是I-畫面,那麼將其確定為第一I-畫面。如果相關畫面不是I-畫面,那麼通過單向幀間預測編碼的畫面從前面緊挨著該相關畫面的I-畫面開始一直到該相關畫面被依次解碼,從而獲得相關畫面的解碼圖像。在此之後,解碼的相關畫面通過幀內編碼過程被再編碼,使得再編碼的I-畫面被插入到從第一視頻流提取的第一部分流和從第二視頻流提取的第二部分流之間,因此,儘管在GOP的某個部分存在編輯點也可進行編輯。
然而,在這種包括編碼畫面的流的編輯當中,雖然可能通過除去部分流來減少整個的代碼長度,但是也有可能改變編碼的比特率,這樣造成在編輯之後很難調整代碼長度。
例如,當非壓縮數字視頻數據通過MPEG標準等被壓縮-編碼到GOP單元,其每個都由I-畫面、B-畫面和P-畫面組成,並且記錄在記錄媒體比如磁-光碟(MO盤)上時,就必須使壓縮編碼之後的壓縮視頻數據的數據總量(比特總量)低於記錄媒體的記錄容量或通信線路的傳輸容量,從而保持擴展解碼視頻的高質量。
為了達到這個目的,可採用對運動畫面使用預分析的編碼方法。該使用預分析的編碼方法在第一遍(pass)中首先在非壓縮視頻數據上執行初步壓縮-編碼並且估計壓縮-編碼後的數據的總量。在第二遍中,該方法基於所估計的數據總量調整數據壓縮率並且執行壓縮-編碼使得壓縮-編碼後的數據的總量低於記錄媒體的記錄容量。這種壓縮-編碼方法在此被稱為兩遍編碼(2-pass encoding)。
在兩遍編碼中,必須考慮由於代碼長度的分配而發生的在緩衝區佔有率上的改變;否則,緩衝區會因為在實際編碼過程中的上溢、下溢等而崩潰。即使在實際編碼過程中執行用於防止緩衝區崩潰的程序,當編碼圖像時產生的代碼長度超出目標代碼長度的範圍之外,這也阻礙了對實際代碼長度的精確控制。在這種情況下,不同於待分配的假定代碼長度的代碼長度實際上被分配給圖像,因此在編碼中造成了圖像質量的惡化。
為了克服這個缺陷,使用預分析來改善編碼圖像的質量的運動圖像編碼設備在公開號為No.2002-232882(Yokoyama)的日本未審專利申請中公開。由Yokoyama教導的運動圖像編碼設備在編碼輸入圖像之前在圖像上執行分析來計算每個圖像的複雜度。然後其根據計算的複雜度在指定間隔中對圖像每次分配一個代碼長度並且估計代碼長度在緩衝區中的佔有率變化。這基於給定比特率和緩衝區大小防止了緩衝區崩潰來實現適當的代碼分配,從而改善編碼圖像的質量。
然而,在Yokoyama描述的兩遍編碼中,如果在第一遍編碼的流以畫面為單位來編輯,在解碼編輯的流並且對其再編碼之後,編輯點之後的畫面位相(picture phase)不能對應於第一遍中碼流的畫面位相。在這種情況下,原來被編碼為B-畫面的畫面會被再編碼為I-畫面,這造成了編輯之後的圖像惡化。此外,因為編輯流的畫面位相不對應於在第一遍中被預分析的碼流的畫面位相,所以不能參考該編輯點之後的畫面複雜度並且因此不能在編輯流上執行兩遍編碼。

發明內容
根據本發明的一個方面,提供了一種圖像編碼設備,包括編輯器,用於建立編輯指令以使得按一個或多個編輯點來編輯從非壓縮視頻數據編碼的碼流;解碼處理器,用於根據所述編輯指令來解碼所述碼流來建立編輯流;以及編碼處理器,用於再編碼經編輯的流來建立編輯碼流。編碼處理器通過對齊畫面位相使得在碼流和編輯碼流之間在同一幀中畫面類型相同來建立編輯碼流。
當編輯從非壓縮視頻數據編碼的碼流並且對其再編碼時,本發明使得可進行畫面位相的對齊,通過這種方式使得在原始碼流中的同一幀被編碼到同一個畫面中,從而在例如不將原始B-畫面編碼成I-畫面的情況下防止了圖像質量的惡化。
根據本發明的另一方面,提供了一種圖像編輯設備,包括圖像編碼處理器,用於編輯從非壓縮視頻數據編碼的碼流;以及兩個或多個存儲裝置,用於存儲碼流。該圖像編碼處理器包括編輯器,用於建立編輯指令以使得按一個或多個編輯點來編輯存儲在一個存儲裝置中的碼流;解碼處理器,用於根據編輯指令解碼碼流來建立編輯流;以及編碼處理器,用於再編碼編輯流來建立編輯碼流。編碼處理器通過對齊畫面位相使得在碼流和編輯碼流之間同一幀的畫面類型相同來建立編輯碼流,並且另一個存儲裝置存儲該編輯碼流。
本發明對齊畫面位相,使得畫面與在原始碼流中相應的幀相同,因此對存儲在一個存儲裝置中的原始碼流經編輯的數據進行再編碼,從而在圖像質量不惡化的情況下將數據轉錄(dub)到另一個存儲裝置中。此外,因為經編輯的流通過對齊畫面位相來編碼,使得相同幀被編碼成與該碼流中的相同畫面類型,如果在建立原始碼流時分析每一幀的複雜度,就有可能在編輯流上完成兩遍編碼。
根據本發明,即使在碼流中的選擇的畫面位置進行編輯,也有可能對齊通過編輯之後編碼流以及編輯之前編碼流獲得的碼流中的畫面位相,從而在編輯之前抑制了再編碼圖像質量的惡化。此外根據本發明,有可能甚至在編輯碼流之後,產生與在編輯之前的碼流中相同的畫面位相的流;因此,如果在碼流上進行預分析,那麼甚至在編輯之後也能執行兩遍編碼。


本發明的以上目的、優點和特徵將在結合附圖的以下描述中變得更加清楚。
圖1是示出根據本發明實施例的圖像編碼設備的框圖;圖2是示出根據本發明實施例的圖像編碼設備的編碼處理器的細節的框圖;圖3是示出根據本發明實施例的圖像編碼設備的解碼處理器的細節的框圖;圖4A是示出原始流的視圖;圖4B是示出從原始流中提取出來的包含編輯點的GOP的視圖;圖4C是示出編輯之後的播放列表一部分的視圖;圖5是描述根據本發明實施例在圖像編碼設備中建立編輯流的方法的視圖,其中包含在再編碼畫面組中的畫面總數量(n+(N-m+1))<N;圖6是描述建立編輯流的方法的類似視圖,其中(n+(N-m+1))>N;圖7是描述建立編輯流的方法的類似視圖,其中(n+(N-m+1))=2N;圖8是描述建立編輯流的方法的類似視圖,其中(n+(N-m+1))=N;圖9是描述建立編輯流的方法的類似視圖,其中編輯點B存在於開頭GOP中;圖10是描述建立編輯流的方法的類似視圖,其中編輯點A存在於結尾GOP中;圖11A是示出在根據本發明實施例的圖像編碼設備中第二遍的編碼過程的流程圖;圖11B也是示出在根據本發明實施例的圖像編碼設備中第二遍的編碼過程的流程圖;圖12A是示出在編輯流中使用複雜度對目標代碼長度的計算過程的流程圖;圖12B也是示出在編輯流中使用複雜度對目標代碼長度的計算過程的流程圖;圖13是示出對插入到編輯流中用於對齊畫面位相的幀的複雜度的計算過程的流程圖。
具體實施例方式
本發明將參考示意性的實施例進行描述。本領域技術人員將認識到使用本發明的教導可完成很多可替換的實施例,並且本發明不限於僅用作說明目的的實施例。
本發明的具體實施例在此參考附圖進行描述。在下述的實施例中,本發明適用於具有使用兩遍編碼的編輯功能的運動圖像編碼設備。
根據本實施例的圖像編碼設備提供兩遍編碼。兩遍編碼過程首先在第一遍中通過初步壓縮-編碼非壓縮音頻/視頻數據進行壓縮-編碼之後估計數據量。然後,在第二遍中,該過程根據所估計的數據量調整數據壓縮比並且實現壓縮-編碼使得在壓縮-編碼之後的數據量不超過記錄媒體的記錄容量。因此,在第一遍中,當在MPEG-編碼標題之後記錄非壓縮視頻數據的該標題等時,例如分析每一幀來獲得複雜度(預分析),並且複雜度同MPEG-編碼標題一起被記錄。在第二遍中,利用根據複雜度分配的代碼長度來實現編碼以使得比特率是預定值。使用複雜度來分配代碼長度使得可利用限定的比特率來得到圖像質量的改善,因此防止了在緩衝區中發生上溢和下溢。
該實施例的圖像編碼設備能夠在建立通過以畫面為單位來編輯記錄的MPEG-編碼標題(節目)產生的播放列表或編輯標題的過程中執行上述兩遍編碼。
通常對於預分析的碼流來說,要對每一幀計算複雜度。每一幀被編碼到預定畫面類型,具有對應於每種畫面類型的複雜度。因此,如果碼流在GOP的某個點被編輯並且解碼,當再編碼編輯標題時,在編輯之前對應於該碼流的幀沒有被編碼成相同的畫面類型。例如,原來編碼為B-畫面的幀會被不希望地編碼成I-畫面,這造成了在編輯碼流中地畫面質量的惡化。
此外,如果在編輯之後的碼流中,相應的幀或者與在編輯之前的預分析碼流中相同的圖像被編碼成不同類型的畫面,那麼通過使用預分析的結果設置優化目標編碼長度來編碼數據的兩遍編碼將不能完成。另一方面,在該實施例的圖像編碼設備中,預定畫面(在此稱為插入圖像)被插入到編輯碼流中來對齊畫面位相(picture phase)以使得相應的幀被編碼成與編輯之前的預分析碼流中相同類型的畫面。特別,對齊畫面位相是指,在解碼形成碼流的組成畫面(componentpicture)並且對其再編碼的過程中,再編碼提供與該組成畫面相同的畫面類型。如果畫面位相被對齊,有可能在GOP的某部分中提供編輯點,在再編碼編輯之後的預分析碼流的過程中,參考編輯之前的碼流的預分析結果,從而實現兩遍編碼。
在下面,首先給出根據該實施例的圖像編碼設備的結構,然後給出編輯之後的MPEG流(在此稱為編輯碼流ST1)的畫面位相與編輯之前的MPEG流(在此稱為原始流ST0)的畫面位相對齊的方法,並且最後給出使用原始流上的預分析結果在編輯流上完成兩遍編碼的方法。
圖1是示出根據該實施例的圖像編碼設備的框圖。圖像編碼設備1包括編碼處理器2,編輯器3,解碼處理器4,顯示器5,以及存儲接口(I/F)6和7。顯示器5可以是與圖像編碼設備1分離的單元。儘管在圖1中示意了兩個存儲I/F,存儲I/F的數量可以多於兩個。存儲I/F6可連接到存儲裝置30比如HDD,並且存儲I/F 7可連接到存儲裝置40比如DVD記錄器。存儲裝置30和40可包括在圖像編碼設備1中。
在該實施例的圖像編碼設備1中,編碼處理器按照MPEG標準編碼輸入的非壓縮視頻數據並且將MPEG編碼數據存儲到存儲裝置30、40,並且編輯器3編輯存儲在存儲裝置30、40上的碼流。然後,解碼處理器4解碼碼流,並且顯示器5顯示(回放)結果。如上所述,圖像編碼設備1能夠編輯通過在編碼處理器2中編碼視頻數據而建立的碼流(在此稱為原始流),從而通過這種對齊原始流ST0和編輯碼流ST1的畫面位相的方式建立編輯碼流ST1。例如,在原始流ST0中被編碼成I-畫面的幀可在編輯流中被再次再編碼成I畫面。
因此,如果當建立原始流ST0時分析複雜度並且與原始流ST0一起存儲,那麼有可能當建立編輯流ST1時參考該複雜度。這使得可以根據複雜度來分配優化代碼長度,並且因此使得可以實現利用建立編輯碼流ST1時的用可控代碼長度來進行編碼的兩遍編碼。這甚至當比特率比當編碼原始流時使用的比率更小時還能抑制圖像質量的惡化,從而允許在具有有限存儲容量的媒體比如DVD上記錄。
以下將詳細描述每個模塊。圖2是示出編碼處理器2的細節的框圖。如圖2所示,編碼處理器2包括編碼器21,編碼緩衝區22,分析器23,代碼長度分配器24,代碼長度控制器25,以及暫停/恢復控制器26。編碼器21接收從外部提供的非壓縮視頻數據或從解碼處理器4提供的解碼數據並且按MPEG編碼該數據。編碼緩衝區22臨時存儲編碼數據。分析器23分析信息用於編碼和計算複雜度。代碼長度分配器24基於複雜度為每個畫面分配目標代碼長度,因而實現兩遍編碼。代碼長度控制器25控制編碼器21來利用由控制器(未示出)指示的代碼長度或由代碼長度分配器24分配的代碼長度執行編碼。暫停/恢復控制器26控制在兩遍編碼的過程中編碼程序暫停和恢復的計時,使得在編輯之前和之後的畫面位相彼此對應。
當記錄標題時,編碼處理器2典型地例如用相對較高的比特率來MPEG編碼輸入的非壓縮視頻數據,並且將碼流(原始流)通過存儲I/F 6存儲到具有大存儲容量的存儲裝置30比如HDD。在這個過程中,分析器23根據當將視頻數據的每一幀編碼成預定畫面時產生的代碼長度和量化比例來分析複雜度X。複雜度X指示當將每一幀編碼成預定畫面類型的畫面中時的複雜度,其與每一幀相關聯。複雜度X與原始流一起存儲在存儲裝置30中。複雜度X可存儲在位於該設備中的存儲器(未示出)中而不是存儲裝置30中。
分析器23包括特徵量觀察器51和複雜度計算器52。特徵量觀察器51觀察產生的代碼長度和圖像的平均量化比例,其都是特徵量。例如,特徵量觀察器51觀察當編碼器21基於給定比特率R在代碼長度控制器25的控制下編碼組成非壓縮視頻數據的標題時發生的每一幀f產生的代碼長度S[f]和平均量化比例Q[f]。
複雜度計算器52根據由特徵量觀察器51觀察到的產生的代碼長度和平均量化比例來計算複雜度。例如,其中產生的代碼長度是S[f],平均量化比例是Q[f],以及複雜度是X[f],則複雜度X[f]可如下計算X[f]=S[f]*Q[f]一種特定的用於獲得兩遍編碼的目標代碼長度的複雜度X的計算方法例如在Yokoyama中有描述。通常,代碼長度計算器24根據以上計算的複雜度來計算目標代碼長度,這在兩遍編碼期間被用作目標值。
如以下所述,插入圖像根據需要被插入到編輯流中的編輯點之前和/或之後的位置,從而根據原始流的畫面位相對齊編輯流的畫面位相。當編碼該編輯流來建立編輯碼流ST1時,該實施例中的複雜度計算器52參考在建立原始流ST0時被分析的複雜度並且將對應於原始流的幀的複雜度提供給代碼長度分配器24。複雜度計算器52還根據原始流的複雜度計算複雜度用於編碼插入圖像來建立畫面(在此被稱為插入畫面)並且將計算的複雜度提供給代碼長度分配器24。
當根據複雜度計算器52所提供的複雜度來編碼幀以建立畫面時,代碼長度分配器24分配目標代碼長度。目標代碼長度可以是這樣,根據每一幀的複雜度分配可以被使用在對應於預定GOP長度的代碼長度的分配間隔中的總代碼長度。如果代碼長度的分配間隔是L幀並且可被分配到從第f幀到第(f+L-1)幀中的幀的總的代碼長度是Ra(f),那麼按照與複雜度X[f]成比例分配Ra(f)的每一幀的目標長度T[f]可通過如下計算T[f]=(X[f]/Xsum)*Ra[f]其中在分配間隔中的複雜度X[f]的總和是Xsum。
在第一遍編碼中,代碼長度控制器25控制編碼處理器2使用預定的或從外界指示的比特率來執行編碼。在第二遍編碼中,代碼長度控制器25根據來自代碼長度分配器24的信息計算量化比例並且用計算的量化比例控制執行編碼。同時,測量實際的代碼長度,並且在實際代碼長度和分配代碼長度之間有差異時就執行反饋控制來將代碼長度控制為近似預定比特率,從而用目標代碼長度執行編碼。在簡單的過程中,如果實際代碼長度超過了目標代碼長度,量化比例被增大來抑制代碼的產生;如果實際代碼長度低於目標代碼長度,量化比例被減小來增加代碼的產生。
此外,代碼長度控制器25監視編碼緩衝區22的佔有率並且實現控制,比如在需要時調整量化比例和填充,從而作為編碼結果而產生的實際代碼長度不會在編碼緩衝區22中造成上溢或下溢。例如,為了防止編碼緩衝區22上溢,代碼數量控制器25增大量化比例來抑制代碼的產生或不將那些希望被編碼來抑制實際代碼長度增加的信息進行編碼。另一方面,為了防止代碼緩衝區22下溢,代碼數量控制器25減小量化比例來增加代碼的產生或執行填充來增加實際代碼長度。
編碼器21根據給定參數對從外界提供的非壓縮視頻數據或從解碼處理器4發送的解碼數據進行編碼從而產生壓縮數據。編碼器21還測量產生的代碼長度並且將其通知給代碼長度控制器25。另外,在第一遍編碼中,編碼器21將產生的代碼長度和平均量化比例通知給特徵量觀察器51。
編碼緩衝區22可積累由編碼器21編碼的數據並且以固定的比特率輸出數據。編碼緩衝區22可吸收每個圖像的產生代碼長度的變化。
再次參考圖1,解碼處理器4解碼存儲在存儲裝置30、40中的MPEG流從而將其顯示在顯示器5上,並且還將碼流提供給編碼處理器2從而將其再編碼。圖3是示出解碼處理器4的細節的框圖。
解碼處理器4包括解碼器61,解碼緩衝區62,以及暫停/恢復控制器63。解碼器61解碼由編碼處理器2編碼的碼流或者存儲在存儲裝置30、40中的碼流。解碼緩衝區62臨時存儲解碼音頻/視頻數據。暫停/恢復控制器63控制解碼器61執行解碼的定時。
當執行上述兩遍編碼時,解碼處理器4解碼在第一遍中編碼的原始流ST0。如果編碼處理器2建立編輯碼流ST1,那麼編輯器3根據編輯指令(播放列表)順序提供GOP到解碼處理器4,該編輯指令是由編輯器3建立的虛擬標題,並且解碼處理器4解碼它們。這時,如果編輯點在GOP的某個部分,那麼暫停/恢復控制器63將進行控制以重複地輸出緊挨著前面的解碼圖像,僅輸出用於編輯碼流所必需的解碼圖像,下面將祥述。通過這種方式被解碼處理器4解碼並輸出的編碼數據(編輯流)然後被編碼處理器2編碼成編輯碼流ST1。
再次參考圖1,編輯器3建立作為虛擬標題的播放列表從而可在期望的點編輯存儲在存儲裝置30中的原始流。該實施例的編輯器3可控制編碼處理器2和解碼處理器4,從而兩遍編碼根據播放列表編輯的視頻。用於控制解碼處理器4和編碼處理器2的控制器可被分開設置。控制過程的細節將在以下描述。
當建立編輯碼流ST1時,編輯器3從用戶接收關於在期望的編輯點之間剪切一部分的指令,關於用於建立編輯碼流ST1的比特率的指令等。編輯器3根據關於編輯點的指令建立播放列表,從而編輯原始流ST0。編輯器3還將原始流ST0的GOP根據建立的播放列表提供到解碼處理器4,從而顯示器5可回放編輯流。當在編輯流上執行兩遍編碼時,編輯器3控制解碼處理器4輸出編輯流以及控制編碼處理器在其上執行兩遍編碼。特別地,指示一個合適的比特率,從而在編碼之後的編輯碼流ST1具有期望的數據大小,分配依據複雜度X的目標代碼長度,並且編輯流用目標代碼長度進行編碼從而建立編輯碼流ST1。
一種通過兩遍編碼的方式建立編輯碼流ST1的方法在以下詳細描述。以下描述針對如下實施例,其中圖像編碼設備1通過指定例如選擇的兩個畫面來編輯已存儲標題(原始流)並且進行編輯標題的轉錄。
圖4A到4C是描述編輯原始流ST0的方法的視圖。圖4A示出了原始流,圖4B示出了從原始流中提取的包括編輯點的GOP,以及圖4C示出了編輯播放列表的一部分。
如圖4A所示,原始流ST0由多個GOP#1,#2,…,#j,…,#k,…組成。為了描述的簡化,在該實施例中,每個GOP包括N個畫面,其中N是整數,按相同的順序(與相同的編碼規則)布置,比如I,P,B,B,P,…。如果在原始流ST0和編輯碼流ST1之間相同的幀被編碼成相同畫面,則可適用本發明。特別的,GOP長度、編碼規則等沒有必要在所有GOP之間保持相同,只要畫面位相在原始流ST0和編輯碼流ST1之間對齊即可。
假定當原始流ST0從視頻數據建立時由分析器23分析構成該原始流ST0的畫面的複雜度,並且在存儲裝置30中存儲為複雜度X。
以下描述針對使用圖4A所示的編輯點A和B建立編輯碼流ST1的情況。在這種示例的情況下,原始流ST0具有s(1≤s≤S)個GOP,並且每個GOP#s具有t(1≤t≤N)個畫面。編輯點A表示GOP#j(1≤j≤S)的畫面#n(1≤n≤N)和#n+1之間的點。如果畫面#n=#N,那麼編輯點A表示GOP的邊界。編輯點A隨後的畫面被切除。編輯點B表示GOP#k(1≤k≤S)的畫面#m-1和#m(1≤m≤N)之間的點。如果畫面#m=#1,那麼編輯點B表示GOP邊界。編輯點B之前的畫面被切除。
例如,以GOP為單位,在GOP#j中從開頭畫面#1到緊挨著編輯點A前面的畫面#n的流以及在GOP#k中從緊挨著編輯點B後面的畫面#m到最後畫面#N的流被提取,並且編輯這兩個流從而使得編輯點A和B如圖4C所示相繼布置。
編輯器3可通過在原始流中指定選擇的兩個編輯點A和B來編輯原始流(標題)。特別,有可能建立在編輯點A結束的編輯流,在編輯點B開始的編輯流,其中編輯點A和B相繼回放的編輯流等。在編輯過程中,無論是否對原始流作了改變都建立作為虛擬標題的播放列表。當建立播放列表時原始流可被編輯。例如,編輯器3通過參照所建立的播放列表以GOP為單位將流提供到解碼處理器4,該解碼處理器是MPEG AV解碼器,從而允許編輯點A和B的連續回放。
從解碼處理器4輸出的音頻和視頻信號被輸入到顯示器5,從而回放編輯流。同時,由解碼處理器4解碼的編輯流輸入到編碼處理器2,使得可在編碼過程中參考原始流的複雜度,從而完成兩遍編碼。然後結果被提供到存儲裝置40,從而實現了利用兩遍編碼的根據原始流編輯的編輯原始流的記錄(轉錄)。
如果在第二遍編碼中存在的每一幀的畫面類型(畫面位相)與在第一遍編碼中的相同,則可以實現兩遍編碼。因為代碼長度根據在第一遍中的分析所獲得的複雜度來分配,如果畫面位相不同則不能分配合適的代碼長度。
因此,通過編碼處理器2建立的編輯碼流ST1的每個GOP中的畫面構成的規則和GOP長度(每個GOP畫面總數),在這裡被稱為畫面構成,應當與在第一遍編碼中的相同。換句話說,必須把原始流ST0的畫面位相與編輯碼流ST1的畫面位相對齊。
圖5到10是描述建立編輯流的方法的圖示。編輯器3在圖5到10所示的六個模式中控制解碼處理器4和編碼處理器2的操作。圖5到8示出其中兩個編輯點被粘合在一起的情況。如圖5和6所示,如果組成包含GOP#j的畫面#1到#n以及GOP#k的畫面#m到#N的畫面組(在此稱為編輯畫面組)的畫面的總數(n+(M-m+1))不是N的整數倍,一個或多個預定的圖像(插入圖像)被插入到編輯點A和B之間,從而使組成通過編碼具有插入圖像的編輯畫面組的畫面組(再編碼畫面組)的畫面的總數量達到N的整數倍。
圖7和8示出了組成編輯畫面組的畫面的總數量是N或2N的情況。在這種情況下,編輯點B對應於編輯碼流ST1中的GOP邊界,並且因此不需要插入任何插入畫面。圖9和10示出了其中具有單個編輯點並且當編輯點B在編輯流的開頭以及當編輯流用編輯點A結束時的情況。這六個編輯模式的方法可被單獨使用或結合使用來建立編輯流。
首先,描述組成編輯畫面組的畫面的總數量沒有達到N的整數倍的情況。
(1)n+(N-m+1)<N(參見圖5)參考圖5,組成編輯畫面組的畫面的總數量n+(N-m+1)<N意味著,由從GOP#j中開頭畫面#1到緊挨著編輯點A前面的畫面#n的畫面組成的、構成GOP#j部分102的畫面數量n,與由從GOP#k中的緊挨著編輯點B後面的畫面#m到最後的畫面#N之間的畫面組成的、構成GOP#k部分103的畫面數量(N-m+1)的總和n+(N-m+1),小於N。
在這種情況下,編輯器3控制編碼處理器2插入(m-n-1)個根據在GOP#j中編輯點A和B之間的GOP#j中的畫面#n解碼得到的第一解碼圖像J,並且建立再編碼畫面組101。通過在編輯畫面組的編輯點A和B之間插入(m-n-1)個解碼圖像J,再編碼畫面組的畫面數量達到N。這使得再編碼畫面組101與其它GOP具有相同的數量。
插入(m-n-1)個解碼圖像J使得GOP#j部分102和GOP#k部分103分別具有與GOP#j和GOP#k相同的畫面位相。因此有可能對分別具有相同的畫面位相GOP#j部分102和GOP#k部分103去參考GOP#j和GOP#k的複雜度X。
根據編碼解碼圖像J所獲得的插入畫面(第一插入畫面)在原始流ST0中不存在,因此還沒有分析第一插入畫面的複雜度。然而,解碼圖像J是通過解碼GOP#j的畫面#n獲得的,並且當由圖像J建立GOP#j的畫面#n時該複雜度已經通過預分析獲得。因此,在該實施例中,從解碼圖像J中建立的插入畫面的複雜度根據當建立GOP#j的畫面#n時預分析得到的複雜度來計算。從而在建立編輯流的每個畫面時的複雜度可通過參考或計算獲得,這使得當建立編輯流時可分配優化代碼長度,因此實現了合適的兩遍編碼。從解碼圖像J建立的插入畫面的複雜度的一種計算方法以及使用複雜度的編碼過程將在以下詳細描述。
(2)n+(N-m+1)>N(參見圖6)參考圖6,組成編輯畫面組的畫面的總數量n+(N-m+1)>N意味著,由從GOP#j中開頭畫面#1到緊挨著編輯點A前面的畫面#n的畫面組成的、構成GOP#j部分102的畫面數量n,以及由從GOP#k中的緊挨著編輯點B後面的畫面#m到最後的畫面#N之間的畫面組成的、構成GOP#k部分103的畫面數量(N-m+1)的總和n+(N-m+1),大於N。
在這種情況下,編輯器3控制編碼處理器2插入((N-m)+(m-1))個由GOP#j中在編輯點A和B之間的GOP#j中的畫面#n解碼得到的第一解碼圖像J,並且建立再編碼畫面組111。作為在編輯畫面組的編輯點A和B之間插入((N-m)+(m-1))個解碼圖像J的結果,再編碼畫面組的畫面數量達到2N。
插入((N-m)+(m-1))個解碼圖像J使得GOP#j部分102和GOP#k部分103分別具有與GOP#j和GOP#k相同的畫面位相。因此使得分別具有相同的畫面位相GOP#j部分102和GOP#k部分103有可能參考GOP#j和GOP#k的複雜度。如上所述,插入畫面的複雜度可根據GOP#j中的畫面#n的複雜度來計算。
儘管以上描述了插入根據GOP#j中的畫面#n解碼的解碼圖像J的情況,有可能不僅使用解碼圖像J,而且使用從GOP#k的畫面#m解碼的解碼圖像K。特別地,插入圖像J作為第一插入圖像插入到GOP#j部分102中,從而幀的數量變成N。然後,插入圖像K作為第二插入圖像插入,從而幀的數量變成N,包括插入圖像K和GOP#k部分103。從而再編碼畫面組的畫面的總數量達到2N。在這種情況下,通過解碼編輯點A和B之間的畫面獲得的視頻仍然是解碼圖像J和K的圖像,其相對於單獨使用解碼圖像J的情況能夠產生更加自然的編輯效果。
(3)n+(N-m+1)=2N(參見圖7)參考圖7,組成編輯畫面組的畫面的總數量n+(N-m+1)=2N意味著,由從GOP#j中開頭畫面#1到緊挨在編輯點A之前的畫面#n的畫面組成的、構成GOP#j部分102的畫面數量n,以及由從GOP#k中的緊挨在編輯點B之後的畫面#m到最後的畫面#N之間的畫面組成的、構成GOP#k部分103的畫面的數量(N-m+1)的總和n+(N-m+1),等於2N。
這就發生了這樣的情況,GOP#j中的畫面#n=畫面#N,GOP#k中的畫面#m=畫面#1,GOP#j部分102對應於GOP#j的全部,GOP#k部分103對應於GOP#k的全部,並且在編輯以粘合編輯點A和B之後的再編碼畫面組(=編輯畫面組)121具有與在第一遍中的該GOP相同位相。在這種情況下,不像以上的情況(1)和(2),第二遍編碼可不用插入任何插入畫面而使用複雜度來執行。GOP#k部分103=GOP#k可以是封閉的GOP。
(4)n+(N-m+1)=N(參見圖8)
參考圖8,組成編輯畫面組的畫面的總數量n+(N-m+1)=N意味著,由從GOP#j中開頭畫面#1到緊挨在編輯點A之前的畫面#n的畫面組成的、構成GOP#j部分102的畫面數量n,以及由從GOP#k中的緊挨在編輯點B之後的畫面#m到最後的畫面#N之間的畫面組成的、構成GOP#k部分103的畫面的數量(N-m+1),的總和n+(N-m+1),等於N。
同樣在這種情況下,在編輯以粘合編輯點A和B之後的再編碼畫面組(=編輯畫面組)131具有與該GOP相同的位相。因此,兩遍編碼可如情況(3)那樣不插入任何插入圖像來執行。
(5)GOP#k存在於開頭(參見圖9)參考圖9,這是編輯流的範圍從圖4A所示的編輯點B到原始流的最後畫面的情況,例如其中GOP#k=GOP#1。
在這種情況下,編輯畫面組包括GOP#k部分103,該部分包含在GOP#k中的緊挨在編輯點B之後的畫面#m到最後畫面#N之間的畫面。然而,如果編輯畫面組按這樣被用作開頭GOP,那麼GOP#k的畫面#m被編碼成I-畫面,這造成了在第二遍編碼中畫面位相未對齊,使得它不能使用原始流的複雜度作為參考。為了避免這樣,(m-1)個插入圖像被插入到GOP#k之前的位置中來建立再編碼畫面組141使得畫面的數量達到N。為了位相對齊而被插入的插入圖像(第三插入圖像)可以是預定黑白圖像M1到M(m-1)。還有可能例如使用從GOP#k的畫面#m解碼得到的解碼圖像K作為插入圖像。插入黑白圖像用於位相對齊實現了對代碼長度增加的抑制,並且可使用用於黑白圖像的預定複雜度。
通過編碼插入圖像獲得的插入畫面也不存在於原始流中,並且不分析其複雜度。然而,當黑白圖像被編碼為插入畫面時,必需的代碼長度很小,並且複雜度的值可被適當地設置。如果解碼圖像K被用作插入圖像,那麼如上所述,複雜度可根據建立GOP#k中的畫面#m時的複雜度來計算。
(6)GOP#j存在於結尾(參見圖10)參考圖10,這是編輯流的範圍從圖4A所示的原始流的開頭畫面到編輯點A的情況,例如其中GOP#k=GOP#S。
在這種情況下,編輯畫面組包括GOP#j部分102,該部分包含在GOP#j中的開頭畫面#1到緊挨在編輯點A之前的畫面#n之間的畫面。畫面的數量是n。從GOP#j的畫面#解碼得到的(N-n)個圖像J作為第四插入圖像被插入到GOP#j部分102之前的位置來建立再編碼畫面組151,使得畫面的總數量達到N並且GOP長度被對齊。
然而,如果GOP#j是最後的GOP,那麼有可能不用插入(N-m)個插入圖像並且在第二遍編碼中參考第一遍的複雜度來對齊畫面位相。特別地,如果畫面#n是畫面#1和I-畫面,就可不用插入任何插入圖像來參考原始流ST0的複雜度用於一直到編輯點A的複雜度,從而實現兩遍編碼。如果畫面#n是P-畫面或B-畫面,那麼需要插入最新數量的解碼畫面#n的插入圖像來實現兩遍編碼。在這種情況下,能夠參考原始流ST0的複雜度用於一直到編輯點A的複雜度並且從GOP#j中的畫面#n的複雜度中計算插入畫面的複雜度。
如上所述,即使在構成原始流的GOP的某部分上進行編輯、在該編輯之後解碼並且再編碼來建立碼流之後,通過對齊的畫面位相,與在原始流中相同的幀具有相同的畫面類型。因此編輯流被編輯為與原始流相同的畫面類型,並且不會發生圖像質量的惡化。此外,如果當建立原始流時分析複雜度,那麼所分析的複雜度在建立編輯碼流時可用作參考,從而根據複雜度可實現具有優化代碼長度的兩遍編碼。
在以上描述中,組成再編碼畫面組101,131,141或151的畫面的總數量在以上四種情況(1)、(4)、(5)和(6)中是N,並且組成再編碼畫面組111或121的畫面的總數量在以上情況(2)和(3)中是2N。然而,組成再編碼畫面組的總數量不限於這些。只要組成再編碼畫面組的總數量是N的整數倍,關於編輯碼流ST1中的編輯點A,畫面組可通過設置在編輯碼流ST1中的該編輯點之前或之後的幀來對齊,使得與原始流ST0中的具有相同的畫面類型。
根據該實施例的兩遍編碼方法如下詳細描述。圖11A和11B是在第二遍的編碼過程的流程圖。假定連接到圖像編碼設備1的存儲裝置30存儲其複雜度已經被分析的原始流。用戶通過編輯標題來建立播放列表,然後將其使用兩遍編碼存儲在存儲裝置40中。
儘管以下描述針對在顯示器5上回放編輯標題以及再編碼編輯標題然後將其存儲在存儲裝置40中的情況,但是也有可能不在顯示器5上回放而存儲編輯標題。該描述假定是其中存儲在存儲裝置30中的原始流ST0是在第一遍的原始碼流,並且將被存儲在存儲裝置40中的編輯碼流ST1是通過兩遍編碼來編碼的編輯MPEG-碼流的情況。
如圖11A所示,圖像編碼設備1首先從編輯列表獲得有關畫面的總數、包括編輯點的GOP的回放時間以及每個編輯點的回放時間的信息(步驟S1)。在獲得這些信息之後,顯示器5顯示編輯原始流(標題)(步驟S2)。然後,編輯器3確定將編輯點應用到(1)到(6)的哪種情況,並且根據判定結果控制解碼處理器4和編碼處理器2的操作來完成兩遍編碼。首先,確定在播放列表的開頭GOP中是否存在編輯點(步驟S3)。如果在開頭GOP中不存在編輯點,該過程進行到如圖11B所示的下面將描述的處理。
另一方面,如果在開頭GOP中存在編輯點,編輯器3執行以下過程。在該例子中,該描述假定是圖9所示的情況(5),其中在開頭GOP中存在編輯點B。在這種情況下,解碼處理器4在編輯器3的控制下,從開頭GOP開始解碼過程並且直到達到編輯點B的回放時間時才輸出GOP。在這期間,顯示器5代替圖像回放(插入圖像)輸出而顯示插入圖像比如預定黑白圖像(視頻消音控制),並且代替音頻回放而執行消音(音頻消音控制)(步驟S4)。編碼處理器2通過根據複雜度控制代碼長度在插入圖像、比如從解碼處理器4輸出的黑白圖像上完成兩遍編碼。
直到達到被處理的編輯點B,從解碼處理器4輸出的插入圖像被編碼成預定類型的畫面。最為優選的,可以執行編碼以使得畫面構成與原始流中的GOP構成相同。然而,因為在編輯點B之後的畫面位相可以通過插入(N-m)個插入圖像來對齊,所以從插入圖像編碼的畫面類型可以和在原始流中的GOP的畫面構成不同。因為插入圖像不存在於原始流ST0中,插入圖像的複雜度還不能獲得。
在該實施例中,複雜度計算器52在需要時計算插入圖像的複雜度。例如,插入圖像的複雜度可根據在原始流中的開頭GOP的相應的複雜度來計算。如果插入圖像是黑白圖像,需要的代碼長度很小並且可使用預定的複雜度等。因為配置在開頭的插入圖像被解碼為I-畫面,插入圖像的複雜等可等於或是原始流的開頭GOP的開頭畫面的複雜度的幾分之一。代碼長度分配器24重新得到複雜度並且根據複雜度確定目標代碼長度。從而編碼處理器2順序編碼插入圖像使得與GOP具有相同的畫面位相(步驟S5)。
在達到編輯點B的回放時間時(步驟S6中的是),解碼處理器4輸出在GOP#k中的畫面#m和隨後畫面的解碼結果(解碼圖像輸出(視頻未消音)/音頻未消音控制)(步驟S7)。從而編碼處理器2接收原始流的解碼數據並且在達到編輯點B之後將它們編碼。因為編輯點B之後的畫面與在原始流中的相應畫面具有相同的畫面位相,複雜度計算器52讀出存儲在存儲裝置30中的原始流的複雜度,並且代碼長度分配器24根據該複雜度來確定目標代碼長度,使得編碼器21用目標代碼長度來MPEG編碼解碼的數據。然後該過程進行到後面描述的步驟10。
如果在步驟S3中確定在開頭GOP中沒有編輯點,該過程進行到圖11B所示的步驟S8。如果在播放列表的開頭GOP中不存在編輯點,解碼處理器4開始從開頭GOP進行解碼。然後,在編碼處理器2中,複雜度計算器52讀出在原始流中相應GOP的每個畫面的複雜度,代碼長度分配器24計算並且分配目標代碼長度,並且編碼器21用目標代碼長度來MPEG編碼從解碼處理器4輸出的解碼數據(步驟S9)。
通過這種方式,編碼處理器2完成了兩遍編碼,其用根據複雜度控制的合適的代碼長度編碼由解碼處理器4解碼的圖像直到達到編輯點A的回放時間。在編輯點A的回放時間時(步驟S10中的是),解碼處理器4通過重複解碼剛剛在前面解碼的GOP#j的畫面#n的解碼圖像J等的方式暫停輸出(解碼暫停控制)。在此期間,音頻被消音(音頻消音控制)(步驟S11)。
然後,如果構成包括編輯點A和粘合到編輯點A的編輯點B的編輯畫面組的畫面的總數量(n+(N-m+1))小於N,(步驟S12中的是),如圖5所示的情況(1),那麼編碼(m-n-1)個解碼圖像J。在編碼處理器2中,複雜度計算器52按後面所述計算複雜度Xpr和Xbr,代碼長度分配器24從複雜度Xpr和Xbr計算目標代碼長度,並且編碼器21完成編碼從而達到目標代碼長度(步驟S13)。
在編碼器21編碼(m-n-1)個解碼圖像J之後,即插入從圖像J編碼的(m-n-1)個插入畫面之後(步驟14中的是),編輯器3控制編碼器21暫停編碼過程(編碼暫停控制)(步驟S15)。編輯器3將從GOP#j的畫面#n解碼的圖像J編碼的(m-n-1)個插入圖像插入在編輯點A和B之間從而構成再編碼畫面組的畫面的總數量達到N。從而在再編碼畫面組中的編輯點A之前畫面和編輯點A之後的畫面的位相可以用在原始流中的畫面的位相來對齊。
在此之後,編輯器3在解碼處理器4中解除解碼暫停控制和音頻消音控制使得在編輯點A之後的GOP#j的剩餘部分被解碼(步驟S16)。在解碼處理器4完成GOP#j的解碼之後,編輯器3向解碼處理器4提供包括布置成與編輯點A相繼的編輯點B的GOP#k。然後解碼處理器4解碼包括編輯點B的GOP#k(步驟S17)。在達到編輯點B的回放時間時(步驟S18中的是),編輯器3控制編碼處理器2解除編碼暫停控制(編碼恢復控制)。從而編碼器21在編輯點B的之後部分開始編碼解碼圖像數據(步驟S19)。
如果構成編輯畫面組的畫面的總數量(n+(N-m+1))大於N,(步驟S12中的否和步驟S20中的是),如圖6所示的情況(2),那麼編碼處理器2中的複雜度計算器52按後面所述計算複雜度Xir、Xpr和Xbr,代碼長度分配器24從複雜度Xir、Xpr和Xbr計算目標代碼長度,並且編碼處理器2完成編碼從而達到目標代碼長度(步驟S21)。
在編碼處理器2編碼(N-n+m-1)個解碼圖像J之後,即插入從圖像J編碼的(N-n+m-1)個插入畫面之後(步驟S22中的是),執行從上述步驟S15開始的過程。特別地,編輯器3進行編碼處理器2的編碼暫停控制,使得解碼處理器4解碼GOP#j的剩餘部分並且進一步從GOP#k的開頭開始解碼,並且在編輯點B的回放時間執行編碼處理器2的編碼恢復控制(步驟S15到S19)。如前所述的,插入從解碼圖像J編碼的(N-n)個圖像並且插入從解碼圖像K編碼的(m-1)個畫面也是可行的。
如果構成編輯畫面組的畫面的總數量(n+(N-m+1))是2N,(步驟S20中的否和步驟S23中的是),如圖7所示的情況(3),或者如果構成編輯畫面組的畫面的總數量(n+(N-m+1))是N,(步驟S23中的否),如圖8所示的情況(4),那麼該過程進到步驟S25。如果畫面的總數量(n+(N-m+1))是2N(步驟S23中的是),編輯器3可指示編碼處理器2使得包括編輯點B的GOP#k變成封閉的GOP。
如上所述,編輯器3根據構成待兩遍編碼的編輯畫面組的畫面的總數量(n+(N-m+1))適當地控制解碼處理器4和編碼處理器2的操作。如果沒有編輯點,解碼處理器4解碼由編輯器所提供的播放列表指示的GOP,並且編碼處理器2順序MPEG編碼該解碼圖像。在解碼處理器4解碼播放列表中最後的GOP並且編碼處理器2對其編碼之後(步驟S25中的是),編輯器3在編碼處理器2中結束編碼(步驟S26)。
該實施例插入從黑白圖像解碼的畫面或插入從緊挨在編輯點之前或之後的畫面解碼的解碼圖像,從而使得在編輯點A之前和/或編輯點B之後的畫面位相與原始流中的畫面位相對齊。這實現了通過參考當編碼原始流時分析的複雜度的兩遍編碼並且設置了合適的目標代碼長度。
為了實現兩遍編碼,例如圖5所示,該過程暫停-控制解碼處理器4並且插入一個或多個解碼圖像J,以對齊畫面位相。因為從插入圖像編碼的畫面(解碼圖像J,K,黑白圖像等)在原始流中不存在,所以不能從其參考複雜度。因此該實施例從原始碼流的複雜度來估計插入圖像的複雜度。
下面描述在編碼處理器2的代碼長度分配器24中計算目標代碼長度的一種方法和當編碼原始流中不存在的插入圖像的複雜度的一種方法。圖12A和12B是示出使用複雜度計算目標代碼長度的過程的流程圖,以及圖13是示出計算插入畫面的複雜度的過程的流程圖。
可以通過幀的編碼來分析的輸入的解碼圖像的幀號f是La。如圖12A所示,複雜度計算器52首先從播放列表中獲得編輯點的總數、包含編輯點的GOP位置以及編輯點的畫面位置(步驟S31)。代碼長度分配器24把輸入的解碼圖像的幀號f初始化為-La+1(步驟S32)。
然後,複雜度計算器52沿著播放列表順序讀出GOP的複雜度X[s,t](步驟S33)。例如,原始流ST0的複雜度例如被事先分析並且與原始流ST0一起存儲。複雜度X[s,t]表示在原始流ST0的GOP#s(1≤s≤S)的畫面#t(1≤t≤N)的複雜度。
在讀出緊挨在編輯點A之前的畫面的複雜度X[s,t]=X[#j,#n]完成之後(步驟S34中的是),該實施例為了對齊位相按需要把插入圖像插入到隨後的位置。因此,因此計算被插入在編輯點之間的插入圖像的複雜度(步驟S35)。這個步驟的細節將參考圖13詳細描述。
然後複雜度計算器52確定輸入幀f是否滿足幀數La(步驟S36)。如果輸入圖像的幀的數量小於幀數La,這是當被初始化為-La+1的圖像的幀號f是f<0,那麼複雜度計算器52遞增f的值(步驟S38)並且讀出下一個圖像的複雜度。
如果不然,輸入圖像的幀的數量等於幀數La(j=0),那麼複雜度計算器52確定幀f是否是用於編碼的單位間隔C的倍數(步驟S37)。
如果幀號f不是用於編碼的單位間隔C的倍數,複雜度計算器52遞增f的值(步驟S38)並且讀出下一個圖像的複雜度。
另一方面,如果幀號f是用於編碼的單位間隔C的整數倍,代碼長度分配器24分配代碼長度給代碼長度分配間隔C。
首先,在分配間隔中的總的代碼長度Ra根據兩遍編碼的比特率來計算。總的代碼長度可考慮緩衝區佔有率BOC[f]來考慮(步驟S39)。
然後,代碼長度分配器24計算每一幀的目標代碼長度。每一幀的目標代碼長度T[f]可通過分配Ra[f]來計算,該Ra[f]可以按與複雜度X[s,t]成比例分配給代碼長度分配間隔,T[f]可如下表示T[f]=(X[s,t]/Xsum)*Ra[f]其中Xsum是在分配間隔中的總的複雜度X[s,t]。目標代碼長度T[f]從幀f到幀f+L-1中的每一幀計算(步驟S41)。
在此之後,代碼長度分配器24在編碼緩衝區22中計算分配的目標代碼長度的緩衝區佔有率(步驟S41)。例如,緩衝區佔有率BOC[f]可如下計算BOC[f]=BOC[f-1]+T[f]-Rframe其中Rframe是從使用在該實施例的編碼中的比特率R中計算的每一幀的代碼長度。緩衝區佔有率的初始值是BOC
=0。
然後代碼長度分配器24基於計算的緩衝區佔有率BOC[f]確定在編碼緩衝區22中是否發生上溢或下溢。例如如果編碼緩衝區22的上限是B,就確定緩衝區佔有率BOC[j]是否小於B-Rframe。
如果在編碼緩衝區22中發生下溢(步驟S42中的是),那麼代碼長度分配器24調整代碼長度來防止編碼緩衝區22中發生下溢(步驟S43)。例如,其檢測在編碼緩衝區22中的代碼長度的佔有率最低時的幀fu,並且增加分配給幀f到fu的代碼長度使得在編碼緩衝區22中對幀fu不發生下溢。然後,分配給幀fu+1到f+L-1的代碼長度被減小對應於代碼長度的增加的數量。
如果另一方面,在編碼緩衝區22中發生上溢(步驟S44中的是),代碼長度分配器24調整代碼長度來防止在編碼緩衝區22中發生上溢。例如,其檢測在編碼緩衝區22中的代碼長度的佔有率最高時的幀fo,並且減小分配給幀f到fo的代碼長度使得在編碼緩衝區22中對幀fo不發生上溢。然後,對應於減量的代碼長度被分配給幀fo+1到f+L-1(步驟S45)。
如果提供了在編碼緩衝區22中不會發生上溢或下溢的合適的分配(步驟S42中的是,步驟S44中的否),編碼器21在分配間隔C上執行編碼(步驟S46)。然後過程進行到S38來遞增幀f的值(步驟S38),並且複雜度計算器52讀出下一幀的複雜度並且重複以上過程。
在此描述計算插入圖像J的複雜度的過程。參考圖13,其首先判定構成再編碼畫面組的畫面的總數n+(N-m+1)是否小於N(步驟S51)。如果該總數小於N,則設置s=j以及t=n+1(步驟S52)並且,直到達到t=m-1(步驟S53),複雜度X[s,t]被依次計算(步驟S54)。
當t是t=n或m-1,執行用於編碼相同解碼圖像J的過程。在這種情況下,如上所述解碼圖像J在編輯點A被暫停顯示,並且在第一遍編碼中不存在於原始流的新圖像被插入用於編碼該解碼圖像J。這個插入圖像的複雜度在第一遍編碼過程沒有獲得。因此,每個畫面的目標代碼長度不能被如此計算。
插入圖像是t=n的解碼圖像。在該實施例中,根據解碼圖像J被編碼成的畫面類型,使用解碼圖像J的複雜度X[#j,#n]來執行計算。如果解碼圖像J被編碼成P-畫面,那麼用於計算的複雜度是複雜度Xpr=X[#j,#n]/Dp如果解碼圖像J被編碼成B-畫面,那麼用於計算的複雜度是複雜度Xbr=X[#j,#n]/DbDp和Db的值具有關係0<Dp<Db,並且它們可被例如這樣設置Xpr=X[#j,#n]/3以及Xbr=X[#j,#n]/10。如果在第一遍編碼中有相同畫面的重複,那麼Dp和Db可參考複雜度來確定。(m-n-1)個插入畫面被插入從而對齊編輯點B之後的畫面位相,並且(m-n-1)個畫面沒有必要與在原始流中的畫面t=n+1到m-1具有相同的畫面類型。如果必須增加分配給編輯點A之前或編輯點B之後的部分的代碼長度,相對於原始流有可能增加B-畫面的數量從而減小插入畫面的複雜度。
儘管插入圖像被描述為t=n的解碼圖像J,但是插入圖像可以是s=k和t=m的解碼圖像。因此有可能通過根據從GOP#k的畫面#m解碼的解碼圖像K的複雜度X[#k,#m]與以上相同的方式來計算插入圖像的複雜度。
還有可能根據在原始流中的解碼圖像J和K的畫面類型來調整Dp和Db的值。例如,如果解碼圖像J或K在原始流ST0中是I-畫面,那麼Dp和Db可被設置為較大,並且如果解碼圖像J或K在原始流ST0中是B-畫面,那麼Dp和Db可被設置為相對較小。特別地,儘管在以上例子中Dp=3且Db=10,但是也可根據解碼圖像J或K的畫面類型等將其設置為Dp=1/3且Db=1,使得複雜度等於或大於編碼解碼圖像J或K時的複雜度。
然後,t的值依次遞增(步驟S55),並且達到t=m時,幀號f被增加了插入畫面的總數量即插入畫面的幀數量(m-n-1),使得幀f=f+(m-n-1)(步驟S56)。然後過程進到圖12A中的步驟S36。
如果組成再編碼畫面組的畫面的總數量n+(N-m-1)大於N並且小於2N(步驟S57),這樣來設置這些值s=j且t=n+1(步驟S58),並且直到達到t=N(步驟S59),複雜度Xpr和Xbr與如上所述步驟S54相同的方式隨著t值的增加來計算(步驟S60和S61)。
當超過t=N,這些值被如此設置s=k且t=1(步驟S62),並且直到達到t=m(步驟S63),複雜度X[s,t]隨著t值的增加來計算(步驟S64和S65)。因為布置在s=k和t=1的畫面是GOP的開頭畫面,因此它是I-畫面。儘管I-畫面仍然是解碼圖像J的圖像,因為其是I-畫面,所以相對於P-或B-畫面有必要分配較大的代碼長度。因此,是I-畫面的s=k,t=1的圖像複雜度X[#k,#1]可參考原始流ST0中它的複雜度X[#k,#1]。t=1之後的P-畫面和B-畫面可以同樣的方式根據複雜度Xpr=x[#j,#n]/Dp和Xbr=x[#j,#n]/Dp來計算。直到達到t=m,幀數量被增加了插入畫面的總數量即插入畫面的幀的數量(N-m)+m-1,使得幀數f=f+(N-n)+m-1(步驟S66)。然後該過程進到圖12A中的步驟S36。
可以確定圖12A,12B和13中過程的定時,使得在如圖11A和11B所示的編碼處理器2中執行兩遍編碼的過程中編碼每一幀(解碼圖像)之前計算目標代碼長度。
該實施例使得在編輯點之前和之後的畫面位相可與在編輯標題(播放列表)中的原始流ST0的畫面位相對齊,所述編輯標題從原始流中以幀(畫面)為單位來編輯。從而其可能甚至在具有較低比特率的再編碼之後最小化圖像質量的惡化。此外,如果當編輯原始流時分析並且計算了複雜度,那麼有可能參考複雜度並且基於複雜度來計算目標代碼長度,從而通過兩遍編碼建立編輯碼流ST1。這實現了例如從記錄在HDD等具有大的存儲容量中的以畫面為單位編輯的具有高比特率的原始流中,建立用於記錄(轉錄)到DVD等具有小的存儲容量中的編輯碼流ST1,通過完成兩遍編碼而具有最小圖像質量的惡化。
因此,通過編碼緊挨在編輯點之前的解碼圖像並且在編輯點之間插入期望幀(插入圖像),有可能越GOP邊界在編輯點保持圖像位相。此外,因為插入幀是緊挨在編輯點之前的解碼圖像,在該處畫面被暫停顯示,用於編碼解碼圖像的複雜度X可作為從原始流中獲得的Dp或Db的因子而確定。以上過程允許獲得每個畫面的複雜度來建立編輯碼流ST1,從而實現兩遍編碼。
本發明不限於以上實施例,並且在不脫離本發明範圍的情況下可作出各種改型。例如,在圖1到3示出的每個模塊中優化的處理可通過在CPU(中央處理單元)上執行電腦程式來完成。在這種情況下,電腦程式可存儲在記錄媒體或通過通信媒體比如網際網路來傳輸。
很明顯本發明不限於以上實施例,其可在不脫離本發明的範圍和精神的情況下被修改和改變。
權利要求
1.一種圖像編碼設備,包括編輯器,用於建立編輯指令,從而按一個或多個編輯點來編輯從非壓縮視頻數據編碼的碼流;解碼處理器,用於根據所述編輯指令解碼所述碼流以建立編輯流;以及編碼處理器,用於再編碼所述編輯流以建立編輯碼流,其中,所述編碼處理器對齊畫面位相以使得在所述碼流和所述編輯碼流之間相同幀中的畫面類型相同,由此來建立編輯碼流。
2.如權利要求1所述的圖像編碼設備,其中編碼處理器把由預定圖像組成的插入圖像插入在編輯流中的編輯點之前和/或之後的位置,按照在所述碼流和所述編輯碼流之間在編輯點之前和/或之後的畫面位相相同的方式來建立所述編輯碼流。
3.如權利要求1所述的圖像編碼設備,其中用於編碼和建立所述碼流中的每個畫面的複雜度通過預分析來計算,並且所述編碼處理器根據該複雜度來編碼該解碼後的編輯流從而達到目標代碼長度。
4.如權利要求2所述的圖像編碼設備,其中所述插入圖像是從包含在所述碼流中的畫面解碼的圖像,並且所述編碼處理器根據用於編碼所述畫面的複雜度來確定用於編碼所述插入圖像的目標代碼長度。
5.如權利要求2所述的圖像編碼設備,其中所述編碼處理器包括分析器,用於分析用來編碼構成所述碼流的每個畫面的複雜度;以及代碼長度分配器,用於根據所分析的複雜度來給每一幀分配目標代碼長度,其中,所述分析器根據從包含在所述碼流中的畫面解碼的解碼圖像的複雜度以及該解碼圖像在編碼成該插入圖像時的畫面類型來確定所述插入圖像的複雜度。
6.如權利要求2所述的圖像編碼設備,其中所述碼流由多個包含N個畫面的GOP(畫面組)組成,其中N是整數,所述編輯器建立編輯指令使得在所述碼流中的包含在第一GOP中的第一編輯點和包含在第二GOP中的第二編輯點被相繼回放,解碼處理器解碼所述第一GOP並且解碼所述第二GOP,所述編碼處理器在所述第一編輯點和所述第二編輯點之間插入一個或多個插入圖像,並且將構成了包含從所述第一GOP的開頭畫面至所述第一編輯點的畫面、從所述一個或多個插入圖像編碼的插入畫面以及從所述第二編輯點到第二GOP的結尾畫面的再編碼畫面組的畫面的總數設置成N的整數倍。
7.如權利要求6所述的圖像編碼設備,其中如果所述的構成再編碼畫面組的畫面的總數小於N,則插入所述一個或多個插入圖像,使得所述構成再編碼畫面組的畫面的總數達到N。
8.如權利要求6所述的圖像編碼設備,其中如果所述的構成再編碼畫面組的畫面的總數大於N,則插入所述一個或多個插入畫面,使得所述的構成再編碼畫面組的畫面的總數達到2N。
9.如權利要求6所述的圖像編碼設備,其中所述插入圖像是從第一畫面中解碼的第一解碼圖像,該第一畫面是緊挨在所述第一編輯點之前的畫面。
10.如權利要求6所述的圖像編碼設備,其中所述插入圖像是從第一畫面中解碼的第一解碼圖像,該第一畫面是緊挨在所述第一編輯點之前的畫面,並且所述編碼處理器根據當編碼第一插入圖像為P-畫面的複雜度X/Dp和當編碼第一插入圖像為B-畫面的複雜度X/Db來確定該第一插入圖像的目標代碼長度,由此來建立該插入畫面,其中所述第一畫面的複雜度為X,並且1<Dp<Db。
11.如權利要求10所述的圖像編碼設備,其中所述編碼處理器根據當編碼所述第一插入圖像為I-畫面時包含在所述第二GOP中的I-畫面的複雜度來確定所述插入圖像的目標代碼長度,由此建立所述插入畫面。
12.如權利要求8所述的圖像編碼設備,其中從作為緊挨在所述第一編輯點之前的畫面的第一畫面解碼的圖像是第一解碼圖像,從作為緊挨在第二編輯點之後的畫面的第二畫面解碼的圖像是第二解碼圖像,所述編碼處理器緊挨在所述第一編輯點之後插入一個或多個第一解碼圖像,建立具有畫面總數為N的GOP,其包含從所述第一GOP的開頭畫面到所述第一編輯點的畫面和從所述一個或多個第一解碼圖像編碼的第一插入畫面,緊挨在所述第二編輯點之前插入一個或多個第二解碼圖像,並且建立畫面總數為N的GOP,其包含從所述一個或多個第二解碼圖像編碼的第二插入畫面和從所述第二編輯點到所述第二GOP結尾畫面的畫面。
13.如權利要求2所述的圖像編碼設備,其中所述碼流包含具有第二編輯點的第二GOP,其中從所述第二GOP的開頭畫面到所述第二編輯點的畫面被切除,所述編輯器編輯所述碼流使得所述第二GOP在所述編輯流的開頭,所述解碼處理器緊挨在所述第二編輯點之前插入一個或多個作為預定圖像的第三插入圖像,並且建立具有畫面總數為N的GOP,其包含從所述一個或多個第三插入圖像編碼的第三插入畫面和從所述第二編輯點到所述第二GOP結尾畫面的畫面。
14.如權利要求13所述的圖像編碼設備,其中所述第三插入圖像是黑白圖像。
15.如權利要求13所述的圖像編碼設備,其中所述第三插入圖像通過根據複雜度確定所述第三插入圖像的目標代碼長度來建立,其中該複雜度是當編碼所述第三插入圖像為I-畫面時包含在所述第二GOP中的I-畫面的複雜度
16.如權利要求13所述的圖像編碼設備,其中所述第三插入畫面通過根據複雜度確定所述第三插入圖像的目標代碼長度來建立,其中該複雜度是當編碼所述第三插入圖像為P-畫面或B-畫面時的預定複雜度。
17.如權利要求2所述的圖像編碼設備,其中所述碼流包含具有第一編輯點的第一GOP,其中從所述第一編輯點到該第一GOP結尾畫面的畫面被切除,所述編輯器編輯所述碼流使得所述第一GOP的緊挨在所述第一編輯點之前的畫面在該編輯流的開頭,並且所述解碼處理器緊挨在所述第一編輯點之後插入一個或多個作為預定圖像的第四插入圖像並建立畫面總數為N的GOP,其包含從所述第一GOP開頭畫面到所述第一編輯點的畫面以及從所述一個或多個第四插入圖像編碼的第四插入畫面。
18.如權利要求17所述的畫面編碼設備,其中所述第四插入圖像是從緊挨在所述第一編輯點之前的第一畫面解碼的第一解碼圖像。
19.一種用於編輯從非壓縮視頻數據編碼的碼流的圖像編碼方法,包括解碼從非壓縮視頻數據編碼的碼流從而按一個或多個編輯點編輯該碼流來建立編輯流;以及通過對齊畫面位相使得在所述碼流和所述編輯流之間相同幀中的畫面類型相同來編碼所述編輯流。
20.一種圖像編輯設備,包括圖像編碼處理器,用於編輯從非壓縮視頻數據編碼的碼流;以及兩個或多個存儲裝置,用於存儲碼流;所述圖像編碼處理器包括編輯器,用於建立編輯指令以按一個或多個編輯點編輯存儲在一個存儲裝置中的所述碼流;解碼處理器,用於根據所述編輯指令解碼所述碼流來建立編輯流;以及編碼處理器,用於再編碼所述編輯流來建立編輯碼流,其中,所述編碼處理器通過對齊畫面位相使得在所述碼流和所述編輯碼流之間相同幀中的畫面類型相同來建立所述編輯碼流,以及另外的存儲裝置存儲所述編輯碼流。
全文摘要
一種圖像編碼設備,包括編輯器,用於編輯從非壓縮視頻數據編碼的碼流,使得兩個編輯點(A和B)相繼布置,解碼處理器用於解碼編輯流,以及編碼處理器用於編碼編輯碼流。編碼處理器接收經編輯的解碼數據,並且在點A和B之間插入從緊挨在點A之前的解碼圖像J編碼的插入畫面,從而按照在原始碼流和編輯碼流之間相同幀的畫面類型相同的方式對齊畫面位相來建立編輯碼流。
文檔編號H04N7/26GK1946183SQ20061014207
公開日2007年4月11日 申請日期2006年10月8日 優先權日2005年10月3日
發明者奧山智之 申請人:恩益禧電子股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀