新四季網

編碼設備和編碼方法以及解碼設備和解碼方法

2023-10-24 07:31:57

專利名稱:編碼設備和編碼方法以及解碼設備和解碼方法
技術領域:
本發明涉及編碼設備和編碼方法以及解碼設備和解碼方法,特別 是涉及能夠在傳送了編碼圖像時以低延遲得到解碼圖像的編碼設備和 編碼方法以及解碼設備和解碼方法。
背景技術:
以往,作為代表性的圖像壓縮方式,有被ISO ( International Organization for Standardization,國際標準化組織)標準化的JPEG (Joint Photographic Experts Group,聯合圖像專家組)方式。在該 JPEG方式中,將圖《象分割成塊,對每個塊實施DCT( Discrete Cosine Transform,離散餘弦變換)以得到DCT係數,將DCT係數量化, 並進一步執行熵編碼,從而實現具有高質量和高壓縮率的圖像壓縮。
近年來,對於利用被稱為濾波器組(filter bank)的、使用高通 濾波器和低通濾器的組合的濾波器來將圖像分割成多個頻帶並且逐個 頻帶地進行編碼的編碼方式,進行了活躍的研究。其中,小波變換編 碼沒有DCT的在高壓縮時塊失真變得顯著的缺點,因此被認為是超 過DCT的一種新的有前途的技術。
例如,在2001年1月完成了國際標準化的JPEG2000採用將該 小波變化與基於比特平面單位的比特建模和算術編碼的高效熵編碼組 合的壓縮編碼方式。利用該JPEG2000方式,相對於JPEG方式實現 了編碼效率的顯著提高。專利文獻1記載了一種進一步提高了編碼效 率的小波變換方法。
專利文獻1:日本未審查專利申請公開NO.9 - 130800

發明內容
在傳送以上述的這種編碼方式編碼的圖像時,在編碼設備或解碼 設備的任意一個中都需要執行以低延遲得到解碼圖像的預定處理。例 如,在編碼設備中執行該預定處理的情況下,需要從編碼設備向解碼 設備通知不需要在解碼單元中執行該預定處理。另一方面,不在編碼 設備中執行該預定處理的情況下,需要從編碼設備向解碼設備通知需 要在解碼單元中執行該預定處理。
除非能夠以這種方式適當地從編碼設備向解碼設備通知是否執 行該預定處理等信息,否則很難在傳送了編碼圖像時以低延遲得到解 碼圖像。
本發明鑑於上述情況而作出,能夠在傳送了編碼圖像時以低延遲 得到解碼圖像。
本發明的第1方面的編碼設備是一種執行圖像數據的編碼處理以
生成編碼流的編碼設備,包括識別信息生成單元,用於生成共有處 理識別信息或程序識別信息,其中,所述共有處理識別信息識別通過 編碼處理和解碼處理中的哪一個來執行在圖像數據的編碼處理和編碼
流的解碼處理之間共有的處理,所述程序識別信息識別從分配模式或 配置模式相互不同的多個解碼程序中選擇哪個解碼程序,並且,所迷 分配模式是將構成解碼處理的多個處理分配給多個處理單元的分配模 式,所述配置模式是由多個處理使用的存儲器的配置模式;編碼單元, 用於執行圖像數據的編碼處理,以生成編碼流;和傳送單元,用於將 由識別信息生成單元生成的共有處理識別信息或程序識別信息與由編 碼單元生成的編碼流一起傳送。
本發明的第1方面的解碼方法是一種執行圖像數據的編碼處理以 生成編碼流的編碼方法,包括以下步驟生成共有處理識別信息或程 序識別信息,其中,所述共有處理識別信息識別通過編碼處理和解碼 處理中的哪一個來執行在圖像數據的編碼處理和編碼流的解碼處理之 間共有的處理,所述程序識別信息識別從分配模式或配置模式相互不 同的多個解碼程序中選擇哪個解碼程序,並且,所述分配模式是將構成解碼處理的多個處理分配給多個處理單元的分配模式,所述配置模
式是由多個處理使用的存儲器的配置模式;執行圖像數據的編碼處理, 以生成編碼流;以及將共有處理識別信息或程序識別信息與編碼流一 起傳送。
在本發明的第1方面中,生成共有處理識別信息或程序識別信息, 其中,所述共有處理識別信息識別通過編碼處理和解碼處理中的哪一 個來執行在圖像數據的編碼處理和編碼流的解碼處理之間共有的處 理,所述程序識別信息識別從分配模式或配置模式相互不同的多個解 碼程序中選擇哪個解碼程序,並且,所述分配模式是將構成解碼處理 的多個處理分配給多個處理單元的分配模式,所述配置模式是由多個 處理使用的存儲器的配置模式。然後,對圖像數據執行編碼處理,以 生成編碼流,並且將共有處理識別信息或程序識別信息與編碼流一起 傳送。
本發明的第2方面的解碼設備是一種執行通過執行圖像數據的編 碼處理而得到的編碼流的解碼處理的解碼設備,包括取得單元,與 編碼流一起取得共有處理識別信息或程序識別信息,其中,所述共有 處理識別信息識別通過編碼處理和解碼處理中的哪一個來執行在圖像 數據的編碼處理和編碼流的解碼處理之間共有的處理,所述程序識別 信息識別從分配模式或配置模式相互不同的多個解碼程序中選擇哪個 解碼程序,並且,所述分配模式是將構成解碼處理的多個處理分配給 多個處理單元的分配模式,所述配置模式是由多個處理使用的存儲器 的配置模式;解碼單元,用於執行由取得單元取得的編碼流的解碼處 理;和控制單元,用於控制解碼單元,以按照由取得單元取得的共有 處理識別信息或程序識別信息所表示的處理方式,執行解碼處理。
本發明的第2方面的解碼方法是一種執行通過執行圖像數據的編 碼處理而得到的編碼流的解碼處理的解碼方法,包括以下步驟與編 碼流一起取得共有處理識別信息或程序識別信息,其中,所述共有處 理識別信息識別通過編碼處理和解碼處理中的哪一個來執行在圖像數 據的編碼處理和編碼流的解碼處理之間共有的處理,所述程序識別信息識別從分配模式或配置模式相互不同的多個解碼程序中選擇哪個解 碼程序,並且,所述分配模式是將構成解碼處理的多個處理分配給多 個處理單元的分配模式,所述配置模式是由多個處理使用的存儲器的
配置模式;以及執行控制,以使解碼處理按照共有處理識別信息或程 序識別信息所表示的處理方式來執行。
在本發明的第2方面中,與編碼流一起取得共有處理識別信息或 程序識別信息,其中,所述共有處理識別信息識別通過編碼處理和解 碼處理中的哪一個來執行在圖像數據的編碼處理和編碼流的解碼處理 之間共有的處理,所述程序識別信息識別從分配模式或配置模式相互 不同的多個解碼程序中選擇哪個解碼程序,並且,所述分配模式是將 構成解碼處理的多個處理分配給多個處理單元的分配才莫式,所述配置 模式是由多個處理使用的存儲器的配置模式。然後,對編碼流執行解 碼處理,並且執行控制,以使解碼處理按照共有處理識別信息或程序 識別信息所表示的處理方式來執行。
根據本發明的第l和第2方面,在傳送了編碼圖像數據時能夠以 低延遲得到解碼圖像。


圖i是示出應用了本發明的編碼設備的一個實施方式的結構例子 的框圖。
圖2是示出應用了本發明的解碼設備的結構例子的框圖。 圖3是示出編碼單元14的結構例子的框圖。 圖4是示意性地說明小波變換的簡圖。 圖5是示意性地說明小波變換的簡圖。
圖6是示出利用5x3濾波器的提升(lifting)的濾波被執行到分 解級別=2的例子的簡圖。
圖7是示意性地示出本發明的小波變換和小波逆變換的流程的簡圖。
圖8是示出標題的結構例子的圖。
9圖9是說明序列標題的圖。
圖IO是說明圖片標題的圖。
圖ll是說明分區(precinct)標題的圖。
圖12是示出解碼單元36的結構例子的框圖。
圖13是說明對圖像數據進行編碼的處理的流程圖。
圖14是說明生成標題的處理的流程圖。
圖15是說明對圖像數據進行解碼的處理的流程圖。
圖16是說明分析標題的處理的流程圖。
圖17是示意性地示出由編碼單元和解碼單元的各個要素執行的 並行操作的例子的簡圖。
圖18是示出個人計算機的結構例子的框圖。
圖19是示出向編碼單元分配硬體資源的例子的圖。
圖20是示出圖19中的例子的情況下的處理流程的示意圖。
圖21是示出向編碼單元分配硬體資源的另一例子的圖。
圖22是示出向編碼單元分配硬體資源的另一例子的圖。
圖23是示出圖22中的例子的情況下的處理流程的示意圖。
圖24是示出向編碼單元分配硬體資源的另一例子的圖。
圖25是示出圖24中的例子的情況下的處理流程的示意圖。
圖26是示出向解碼單元分配硬體資源的例子的圖。
圖27是示出圖26中的例子的情況下的處理流程的示意圖。
圖28是示出向解碼單元分配硬體資源的另一例子的圖。
圖29是示出圖28中的例子的情況下的處理流程的示意圖。
圖30是示出向解碼單元分配硬體資源的另一例子的圖。
圖31是示出圖30中的例子的情況下的處理流程的示意圖。
圖32是示出編碼單元的另一結構例子的框圖。
圖33是示出向圖32中的編碼單元分配硬體資源的另一例子的圖。
圖34是示出編碼單元的另一結構例子的框圖。
圖35是示出與圖34中的編碼單元對應的解碼單元的結構例子的
10框圖。
圖36是示出信息處理系統的結構例子的框圖。 圖37是示出子CPU核的結構例子的框圖。 圖38是示出主CPU核的結構例子的框圖。 圖39是示出小波變換關係表的結構例子的圖。 圖40是示出係數重新排列關係表的結構例子的圖。 圖41是說明編碼選擇控制處理的流程例子的流程圖。 圖42是說明計算精度選擇處理的流程例子的流程圖。 圖43是說明編碼方式選擇處理的流程例子的流程圖。 圖44是說明解碼選擇控制處理的流程例子的流程圖。 圖45是說明解碼方式選擇處理的流程例子的流程圖。 圖46是示出利用5x3濾波器的提升的濾波被執行到分解級別=2 的例子的簡圖。
圖47是示出利用5x3濾波器的提升的濾波被執行到分解級別=2 的例子的簡圖。
圖48是示出解碼單元36的另一實施方式的框圖。 圖49是示出編碼單元14的另一實施方式的框圖。 圖50是示出解碼單元36的另一實施方式的框圖。 附圖標記說明
12攝像設備、13編碼設備、14編碼單元、15分組生成單元、16 發送單元、17標題生成單元、18序列標題生成單元、19圖片標題生 成單元、20分區標題生成單元、21傳送單元、22識別信息生成單元、 32解碼設備、33顯示設備、34接收單元、35分組解讀單元、36解碼 單元、37輸出單元、38標題解讀單元、39序列標題解讀單元、40圖 片標題解讀單元、41分區標題解讀單元、42識別信息取得單元、43 解碼控制單元、44編碼碼流取得單元、51小波變換單元、52中間計 算緩衝器單元、53係數重新排列緩衝器單元、54係數重新排列單元、 55熵編碼單元、61熵解碼單元、62係數緩沖器單元、63小波逆變換 單元、IOO個人計算機、IOICPU、 103RAM、 111高速緩衝存儲器、300信息處理系統、403XDR-RAM、 441主CPU核、442子CPU核、 451 LS、 502編碼選擇控制單元、503解碼選擇控制單元、504高速緩 衝存儲器、516編碼方式選擇單元、517分配單元、524解碼方式選擇 單元、525分配單元
具體實施例方式
以下參照附圖詳細說明應用了本發明的具體實施方式
。 圖l是示出應用了本發明的編碼設備的一個實施方式的結構例子 的框圖。
在圖1中,攝像設備12與編碼設備13連接。編碼設備13對攝 像設備12拍攝的圖像進行編碼。
攝像設備12具有使用CCD ( Charge Coupled Device,電荷耦合 器件)、CMOS ( Complementary Mental-Oxide Semiconductor, 互 補金屬氧化物半導體)等的攝像元件,拍攝對象的圖像。即,攝像設 備12從對象接收光並根據所接收到的光量生成由電信號形成的拍攝 圖像。然後,攝像設備12將所拍攝的圖像轉換成作為數字數據的圖像 數據,並將該圖像數據提供給編碼設備13。
編碼設備13由編碼單元14、識別信息生成單元21和傳送單元 22構成。
圖像數據從攝像設備12提供給編碼單元14。編碼單元14按預定 方法對圖像數據進行編碼,並將通過編碼得到的編碼數據提供給分組 生成單元15。
識別信息生成單元21生成與在編碼單元14中執行的編碼處理有 關的信息,並將該信息提供給傳送單元22。作為與編碼處理有關的信 息,例如有用於識別由編碼單元14和解碼設備32的解碼單元36 (在 後述的圖2中示出)中的哪一個執行在編碼單元14的編碼處理和解碼 單元36的解碼處理之間共有的處理的信息(共有處理識別信息)、以 及用於識別從多個解碼程序中選擇哪個解碼程序的信息(程序識別信 息)等,其中,該多個解碼程序在將構成解碼單元36的多個處理分配給多個處理單元的分配模式或者在由多個處理使用的存儲器的配置模 式中彼此不同。
傳送單元22將由識別信息生成單元21生成的信息轉換成流格 式,以生成編碼碼流,並在編碼碼流的標題(具體地說,在MPEG (Moving Picture Experts Group,運動圖像專家組)標準中是用戶數 據區)中適當地輸入描述。
而且,為了將編碼碼流(包括標題中包含的信息)記錄到驅動器 (未示出)中安裝的記錄介質上,傳送單元22可以向驅動器發送編碼 碼流。
即,傳送單元22由分組生成單元15、發送單元16和標題生成單 元17構成。
編碼數據從編碼單元14提供給分組生成單元15,包括與編碼數 據有關的信息的標題從標題生成單元17提供給分組生成單元15。分 組生成單元15使編碼數據分組化。即,分組生成單元15通過將編碼 數據分割成預定的數據大小並且附加來自標題生成單元17的標題、用 於使數據的發送和接收定時同步的同步碼等,生成分組。分組生成單 元15將分組提供給發送單元16。
發送單元16按照圖像的同步信號的定時,經由包括有線或無線 的信道或者包括有線和無線的信道,利用預定的通信方法發送(送出) 由從分組生成單元15提供的分組形成的編碼碼流。而且,用於傳送分 組的信道可以是專用或通用傳送電纜,可以包括例如LAN( Local Area Network,區域網)或網際網路等一個或多個通信網絡,或者可以包括 某個通信中繼設備。
標題生成單元17由序列標題生成單元18、圖片標題生成單元19 和分區標題生成單元20構成,向序列標題生成單元18、圖片標題生 成單元19和分區標題生成單元20提供從識別信息生成單元21提供的 信息(共用處理識別信息或程序識別信息等)。
這裡,從編碼設備13發送的一系列圖像作為整體被稱為序列, 構成序列的多個圖像中的每個圖像被稱為圖片。而且,在構成圖片的多行中,作為將參考圖6後述的小波變換的處理單位的行數被稱為集 合分區。即,圖片由多個分區構成。
當編碼設備13開始發送一系列圖像時,序列標題生成單元18生 成包括該一 系列圖像共有的信息的序列標題,並將序列標題提供給分 組生成單元15。包含在序列標題中的信息將參考圖9後述。
每當從編碼單元14向分組生成單元15提供圖片時,圖片標題生 成單元19就生成包括與每個圖片有關的信息的圖片標題,並將圖片標 題提供給分組生成單元15。包含在圖片標題中的信息將參考圖10後 述。
每當從編碼單元14向分組生成單元15提供分區時,分區標題生 成單元20就生成包括與每個分區有關的信息的分區標題,並將分區標 題提供給分組生成單元15。包含在分區標題中的信息將參考圖11後 述。
圖2是示出應用了本發明的解碼設備的結構例子的框圖。 在圖2中,顯示設備33與解碼設備32連接。 顯示設備33具有顯示器,在顯示器上顯示由解碼設備32解碼和 輸出的圖像。
解碼設備32由編碼碼流取得單元44、識別信息取得單元42、解 碼控制單元43、解碼單元36和輸出單元37構成。
編碼碼流取得單元44取得從圖1中的發送單元16的傳送單元22 傳送的編碼碼流。編碼碼流取得單元44將編碼碼流解碼,提取編碼碼 流的標題(具體地,在MPWG標準中是用戶數據區)中記載的信息, 並將該信息提供給識別信息取得單元42。
替代地,編碼碼流取得單元44通過從安裝了記錄有編碼碼流(包 括標題中包含的信息)的記錄介質的驅動器(未圖示)讀取(重放), 來取得編碼碼流。
即,編碼碼流取得單元44由接收單元34、分組解讀單元35和標 題解讀單元38構成。
接收單元34按照預定的通信方法接收從圖1中的發送單元16發送的編碼碼流,並將編碼碼流提供給分組解讀單元35。
分組解讀單元35從接收單元34提供的編碼碼流的分組中提取標 題和編碼數據,將標題提供給標題解讀單元38,並將編碼數據提供給 解碼單元36。
標題解讀單元38由序列標題解讀單元39、圖片標題解讀單元40 和分區標題解讀單元41構成。
由分組解讀單元35從分組中提供的序列標題被提供給序列標題 解讀單元39。序列標題解讀單元39分析序列標題,並將序列標題中 包含的信息提供給識別信息取得單元42。
由分組解讀單元35從分組中提供的圖片標題被提供給圖片標題 解讀單元40。圖片標題解讀單元40分析圖片標題,並將圖片標題中 包含的信息提供給識別信息取得單元42。
由分組解讀單元35從分組中提供的分區標題被提供給分區標題 解讀單元41。分區標題解讀單元41分析分區標題,並將分區標題中 包含的信息提供給識別信息取得單元42。
編碼碼流的標題中包含的信息從編碼碼流取得單元44提供給識 別信息取得單元42。識別信息取得單元42取得包含在編碼碼流的標 題中的信息,即,由圖1中的識別信息生成單元21生成的信息(共有 處理識別信息或程序識別信息等),並將該信息提供給解碼控制單元 43。
解碼控制單元43控制解碼單元36,使其按照由從識別信息取得 單元42提供的信息指示的處理方式對編碼碼流進行解碼。
按照解碼控制單元43的控制,解碼單元36利用與圖1中的編碼 單元14的編碼方法對應的方法,對從分組解讀單元35提供的編碼數 據進行解碼,並將作為結果而獲得的圖像數據提供給輸出單元37。
輸出單元37將從解碼單元36提供的圖像數據輸出到顯示設備33。
在如上所述構成的編碼設備13和解碼設備32中,在攝像設備12 中拍攝的圖像在編碼單元14中被編碼,在分組生成單元15中被分組
15化並發送。分組在分組解讀單元35中被解讀,在解碼單元36中被解 碼,並在顯示設備33上顯示。
在編碼設備13和解碼設備32中,除了由攝像設備12拍攝的圖 像外,例如還可以傳送預先拍攝和累積的圖像。而且,從編碼設備13 傳送的圖像可以用於在顯示設備33上顯示以外的目的,例如用於記錄 到記錄設備(未圖示)上。另外,儘管在該例子中作為要傳送的數據 僅說明了圖像數據,但例如也可以與圖像數據一起傳送語音數據等其 它種類的數據。
另外,編碼設備13發送分組的方法可以是僅向解碼設備32發送 分組的單播,也可以是向包括解碼設備32在內的多個設備發送分組的
多播,還可以是向不特定多數的設備發送分組的廣播。
另外,除了被附加到分組的標題上並發送到解碼設備32以外, 由編碼設備13的識別信息生成單元21生成的信息可以被多路復用, 並且例如以並行方式通過與傳送圖像數據(編碼數據)的信道不同的 信道(不同系統)從識別信息生成單元21發送給識別信息取得單元 42。
圖3是示出圖1中的編碼單元14的結構例子的框圖。 如圖3所示,編碼單元14具有小波變換單元51、中間計算緩衝 器單元52、係數重新排列緩衝器單元53、係數重新排列單元54和熵 編碼單元55的功能。
輸入到編碼單元14的圖像數據經由小波變換單元51被臨時累積 到中間計算緩衝器單元52中。小波變換單元51對中間計算緩衝器單 元52中累積的圖像數據實施小波變換。即,小波變換單元51從中間 計算緩衝器單元52中讀出圖像數據,利用分析濾波器實施濾波處理, 以生成低頻分量和高頻分量的係數的數據,並將所生成的係數數據存 儲到中間計算緩衝器單元52中。小波變換單元51具有水平分析濾波 器和垂直分析濾波器,針對屏幕的水平方向和屏幕的垂直方向對圖像 數據組執行分析濾波處理。小波變換單元51再次讀出中間計算緩沖器 單元52中存儲的低頻分量的係數數據,並利用分析濾波器對所讀出的係數數據實施濾波處理,從而進一步生成高頻分量和低頻分量的係數
的數據。所生成的係數數據被存儲到中間計算緩衝器單元52中。
當在重複上述處理之後分解級別達到預定級別時,小波變換單元 51從中間計算緩衝器單元52中讀出係數數據,並將所讀出的係數數 據寫入到係數重新排列緩衝器單元53中。
係數重新排列單元54按照預定的順序讀出被寫入到係數重新排 列緩衝器單元53中的係數數據,並將該係數數據提供給熵編碼單元 55。熵編碼單元55利用預定的方法將所提供的係數數據量化,並按照 例如霍夫曼(Huffman)編碼或算術編碼等預定的熵編碼方式進行編 碼。熵編碼單元55向編碼單元14外部輸出所生成的編碼數據。
以下更詳細地說明在圖3的小波變換單元51中執行的處理。首 先,概略地說明小波變換。在圖像數據的小波變換中,如圖4中概略 示出的那樣,將圖像數據分割成高空間頻率和低空間頻率的頻帶的處 理針對作為分割結果得到的低空間頻率的頻帶中的數據遞歸地重複。 這樣,通過將低空間頻率的頻帶中的數據收縮至更小的區域,可以執 行有效的壓縮編碼。
圖4示出將圖像數據的最低頻分量區域分割成低頻分量的區域L 和高頻分量的區域H的處理被重複3次,表示分割的分級級別的總數 的分割級別為3。在圖4中,"L,,和"H"分別表示低頻分量和高頻分量, 關於"L"和"H"的順序,前側表示作為在橫向上分割的結果得到的頻 帶,後側表示在縱向上分割的結果得到的頻帶。"L"和"H"前的數字表 示對應區域的分級級別,低頻分量的分級級別用較小的值表示。該分 級級別的最大值表示小波變換在此時的分割級別(分割數)。
從圖4中的例子可以理解,隨著以階梯方式從屏幕的右下區域到 左上區域執行處理,低頻分量被收縮。即,在圖4的例子中,在屏幕 的右下區域是具有最少的低頻分量(包含最多的高頻分量)的區域 3HH的情況下,被分割成4個的屏幕的左上區域被進一 步分割成4個, 在這4個分割區域中,左上區域被進一步分割成4個。最左上的區域 是包含最多低頻分量的區域0LL。針對低頻分量重複進行變換和分割的原因是,圖像的能量集中於
低頻分量。這一點從以下事實也可以理解從隨著分割級別從在圖5A 中示出其例子的分割級別=1的狀態前進到在圖5B中示出其例子的分 割級別=3的狀態,如圖5B所示形成子帶。
例如,圖4中的小波變換的分割級別為3,結果形成10個子帶。
小波變換單元51通常使用由低通濾波器和高通濾波器構成的濾 波器組來執行上述處理。由於數字濾波器通常具有多個抽頭(tap)長 度的脈沖響應、即濾波器係數,因此,需要預先緩衝用於執行濾波處 理的足夠量的輸入圖像數據或係數數據。
同樣,在多級執行小波變換的情況下,也需要緩衝足夠用於執行 濾波處理的個數的、在前面級生成的小波變換係數。
作為該小波變換的具體例子,下面說明使用5x3濾波器的方法。 該使用5x3濾波器的方法也由JPEG 2000標準採用,並且證明該方法 在能夠以小的濾波器抽頭數執行小波變換方面優良。
如下面的表達式(1)和(2)所示,5x3濾波器的脈衝響應(z 變換表達)由低通濾波器H。 (z)和高頻濾波器Hi (z)構成。
Ho(z) = (- 1 + 2z- 1 + 6z-2 + 2z-3 - z-4)/8 ... (1) H工(z) = (- 1 + 2z-1 -Z-2) /2 ... (2)
根據上述表達式(1)和(2),可以直接計算低頻分量和高頻分 量的係數。此時,通過應用提升(lifting)技術,可以減少濾波處理 中的計算。
以下更詳細地說明該小波變換方法。圖6示出利用5x3濾波器的 提升的濾波處理被執行到分解級別=2的例子。在圖6中,被指示為 圖的左側的分析濾波器的部分是圖3中的小波變換單元51的濾波器。 被指示為圖的右側的合成濾波器的部分是後述的小波逆變換單元的濾 波器。
順便提及,在以下說明中,假設在顯示設備等中,屏幕的左上角 的像素作為第l像素,例如隨著從屏幕的左端到右端來掃描像素而形 成一行,隨著從屏幕的上端到下端進行逐行掃描而形成一屏。
18在圖6中,在左端的列中,原圖像數據的行上的對應位置上的像 素數據被示為在縱向上排列。即,隨著使用垂直濾波器在屏幕上縱向 掃描像素而進行小波變換單元51中的濾波處理。從左端起第l到第3 列表示分割級別=1的濾波處理,第4到第6列表示分割級別=2的濾 波處理。從左端起第2列表示基於左端的原圖像數據的像素的高頻分 量輸出,從左端起第3列表示基於原圖像數據和高頻分量輸出的低頻 分量輸出。如從左端起第4到第6列所示,在分割級別-2的濾波處 理中,對分割級別=1的濾波處理的輸出執行處理。
在分解級別-1的濾波處理中,作為第1階段的濾波處理,根據 原圖像數據的像素來計算高頻分量的係數數據,作為第2階段的濾波 處理,根據在第1階段的濾波處理中計算的高頻分量的係數數據和原 圖像數據的像素來計算低頻分量的係數數據。分解級別-1的濾波處 理的例子由圖6的左側(分析濾波器側)的第1到第3列指示。所計 算的高頻分量的係數數據被存儲到圖3的係數重新排列緩衝器單元53 中。而且,所計算的低頻分量的係數數據被存儲到圖3中的中間計算 緩沖器單元52中。
在圖6中,係數重新排列緩衝器單元53被示為長短交替的虛線 包圍的部分,中間計算緩衝器單元52被示為點線包圍的部分。
根據中間計算緩衝器單元52中保持的分解級別-1的濾波處理 的結果,執行分解級別=2的濾波處理。在分解級別=2的濾波處理中, 作為低頻分量的係數在分解級別=1的濾波處理中計算的係數數據被 視為既包括低頻分量也包括高頻分量的係數數據,執行與分解級別=1 的濾波處理同樣的濾波處理。通過分解級別=2的濾波處理計算的高 頻分量的係數數據和低頻分量的係數數據被存儲到係數重新排列緩衝 器單元53中。
小波變換單元51在屏幕的水平方向和垂直方向上分別執行上述 的濾波處理。例如,在水平方向上執行分解級別-1的濾波處理,將 生成的高頻分量和低頻分量的係數數據存儲到中間計算緩衝器單元 52中。接著,在垂直方向上對中間計算緩衝器單元52中存儲的係數數據執行分解級別-1的濾波處理。通過在水平和垂直方向上的分解
級別-l的處理,形成4個區域,包括分別由通過進一步將高頻分量 分解成高頻分量和低頻分量而得到的係數數據構成的區域HH和區域 HL、以及分別由通過進一步將低頻分量分解成高頻分量和低頻分量而 得到的係數數據構成的區域LH和區域LL。
然後,在分解級別=2下,針對水平方向和垂直方向分別對在分 解級別=1下生成的低頻分量的係數數據執行濾波處理。即,在分解 級別=2下,通過在分解級別=1下分割而形成的區域LL被進一步分 割為4個,區域HH、區域HL、區域LH和區域LL淨皮進一步形成在 區域LL內。
小波變換單元51通過針對屏幕的縱向將濾波處理分割成用於每 幾行的處理,階段地執行多次利用小波變換的濾波處理。在圖6的例 子中,在作為從屏幕上的第l行開始的處理的第l輪處理中,針對7 行來執行濾波處理。從作為從第8行開始的處理的第2輪處理以後, 每4行執行濾波處理。該行數是基於在2分解成高頻分量和低頻分量 後生成相當於一行的最低頻分量所需的行數。
順便提及,以下將生成相當於一行的最低頻分量(與最低頻分量 的子帶的一行相當的係數數據)所需的、包含其它子帶的行的集合稱 為分區(或行塊)。這裡,行表示與小波變換前的圖像數據相對應的 圖片(幀或場)或者相當於在每個子帶中形成的一行的像素數據或系 數數據。即,分區(行塊)表示小波變換前的原圖像數據中的、生成 相當於小波變換後的最低頻分量的子帶的一行的係數數據所需的行數 的像素數據組,或者通過對像素數據組執行小波變換而得到的各個子 帶中的係數數據組。
根據圖6,作為分解級別-2的濾波處理的結果而得到的係數C5 根據係數C4和中間計算緩衝器單元52中存儲的係數Ca計算,係數 C4根據中間計算緩沖器單元52中存儲的係數Ca、係數Cb和係數Cc 計算。而且,係數Cc根據係數重新排列緩衝器單元53中存儲的係數 C2和係數C3以及第5行上的像素數據計算。另外,係數C3根據第5行到第7行上的像素數據計算。這樣,為了得到分割級別=2的低頻 分量的係數C5,需要第l行到第7行上的像素數據。
相反,從濾波處理的第2輪以後,可以使用已經計算到前一輪濾 波處理並且存儲在係數重新排列緩衝器單元53中的係數數據,從而需 要較少的行數即可。
即,根據圖6,在作為分解級別=2的濾波處理的結果而得到的 低頻分量的係數中,作為係數C5之後的下一係數的係數C9根據係數 C4、係數C8和中間計算緩衝器單元52中存儲的係數Cc計算。係數 C4已經通過如上所述的第1輪的濾波處理計算並存儲在係數重新排 列緩衝器單元53中。同樣,係數Ce已經通過如上所述的第l輪的濾 波處理計算並存儲在中間計算緩衝器單元52中。因此,在該第2輪的 濾波處理中,僅新執行用於計算係數C8的濾波處理。該新的濾波處 理通過進一步使用第8行到第11行來執行。
這樣,從濾波處理的第2輪以後,可以使用已經計算到前一輪濾 波處理並且存儲在中間計算緩衝器單元52和係數重新排列緩衝器單 元53中的數據,從而僅針對每4行執行處理即可。
在屏幕上的行數與要編碼的行數不一致的情況下,通過按預定方 法複製原圖像數據的行,使行數與要編碼的行數一致,從而執行編碼。
這樣,用於得到相當於最低頻分量的一行的係數數據的濾波處理 階段地多次(以分區為單位)針對整個屏幕的行來執行,從而能夠在 傳送了編碼數據時以低的延遲得到解碼圖像。
為了執行小波變換,需要用於執行小波變換本身的第l緩衝器和 用於存儲在將處理執行到預定的分割級別的過程中生成的係數的第2 緩衝器。第l緩衝器對應於中間計算緩衝器單元52,並且在圖6中示 為被點線包圍。第2緩衝器對應於係數重新排列緩衝器單元53,並且 在圖6中示為被長短交替的虛線包圍。由於存儲在第2緩衝器中的系 數在解碼時使用,因此在後級對其進行熵編碼處理。
以下說明圖3中的係數重新排列單元54的處理。如上所述,在 小波變換單元51中計算的係數數據被存儲到係數重新排列緩衝器單
21元53中,由係數重新排列單元54按順序重新排列後^皮讀出,並以編 碼單元為單位發送給熵編碼單元55。
如上所述,在小波變換中,從高頻分量側向低頻分量側生成係數。 在圖6的例子中,在第1輪,從原圖像的像素數據開始,通過分解級 別=1的濾波處理依次生成高頻分量的係數C1、係數C2和係數C3。 然後,對通過分解級別-1的濾波處理得到的低頻分量的係數數據執 行分解級別=2的濾波處理,依次生成低頻分量的係數C4和係數C5。 即,在第1輪中,按照係數C1、係數C2、係數C3、係數C4和係數 C5的順序生成係數數據。按照小波變換的原理,係數數據的生成順序 必定為該順序(從高頻到低頻的順序)。
相反,在解碼側,為了立即以低的延遲進行解碼,需要從低頻分 量開始執行圖像的生成和輸出。即,優選地,將在編碼側生成的係數 數據從最低頻分量側到高頻分量側重新排列,然後提供給解碼側。
以下使用圖6中的例子進行更詳細的說明。圖6的右側示出執行 小波逆變換的合成濾波器側。解碼側的包括輸出圖像數據的第l行的 第1輪合成處理(小波逆變換處理)使用通過編碼側的第1輪濾波處 理生成的最低頻分量的係數C4和C5以及係數Cl來執行。
即,在第l輪合成處理中,按照係數C5、係數C4和係數C1的 順序從編碼側向解碼側提供係數數據。在解碼側,在作為與分解級別 =2對應的合成處理的合成級別-2的處理中,對係數C5和係數C4 執行合成處理,以生成係數Cf並存儲到緩衝器中。然後,在作為與分 解級別-1對應的合成處理的合成級別-1的處理中,對係數Cf和系 數C1執行合成處理,並輸出第1行。
這樣,在第l輪合成處理中,在編碼側按照係數C1、係數C2、 係數C3、係數C4和係數C5的順序生成並且存儲到係數重新排列緩 衝器單元53中的係數數據按照係數C5、係數C4、係數C1…的順序 重新排列並提供給解碼側。
在圖6的右側示出的合成濾波器側,針對從編碼側提供的係數, 將編碼側的係數的編號寫入括號內,將合成濾波器中的行順序寫到括號外。例如,係數C1 (5)表示在圖6的左側的分析濾波器側是係數 C5,並且在合成濾波器側是第l行。
基於通過編碼側的第2輪以後的濾波處理生成的係數數據的、解 碼側的合成處理可以使用在前一輪合成處理時合成或者從編碼側提供 的係數數據來執行。在圖6的例子中,在使用通過編碼側的第2輪濾 波處理生成的低頻分量的係數C8和係數C9執行的、解碼側的第2輪 合成處理中,還需要通過編碼側的第1輪濾波處理生成的係數C2和 係數C3,並且第2行到第5行被解碼。
即,在第2輪合成處理中,從編碼側向解碼側按照係數C9、系 數C8、係數C2、係數C3的順序提供係數數據。在解碼側,在合成 級別-2的處理中,使用係數C8和係數C9以及在第l輪合成處理時 從編碼側提供的係數C4而生成係數Cg並存儲到緩衝器中。使用該系 數Cg、上述係數C4和通過第l輪合成處理生成並存儲在緩衝器中的 係數Cf來生成係數Ch並存儲到存儲器中。
然後,在合成級別-1的處理中,使用通過合成級別-2的處理 生成並且存儲在緩衝器中的係數Cg和係數Ch以及從編碼側提供的系 數C2 (在合成濾波器中指示為係數C6 (2))和係數C3 (在合成濾 波器中指示為係數C7 (3))進行合成處理,並且第2行到第5行被 解碼。
這樣,在第2輪合成處理中,在編碼側按照係數C2、係數C3(系 數C4、係數C5)、係數C6、係數C7、係數C8和係數C9的順序生 成的係數數據按照係數C9、係數C8、係數C2、係數C3.,.的順序被 重新排列,並提供給解碼側。
同樣,從第3輪合成處理以後,存儲在係數重新排列緩衝器單元 53中的係數數據按照預定順序被重新排列並提供給解碼側,並且按照 每4行來對行進行解碼。
順便提及,在與編碼側的包括屏幕下端的行的濾波處理(以下稱 為最後一輪)對應的解碼側的合成處理中,通過到此為止的處理生成 並且存儲在緩衝器中的所有係數數據被輸出,從而輸出行數變大。在圖6的例子中,在最後一輪輸出8行。
例如通過按照預定順序設定讀出存儲在係數重新排列緩沖器單 元53中的係數數據的讀出地址,來進行係數重新排列單元54的係數 數據重新排列處理。
以下參照圖7更具體地說明如上所述的處理。圖7示出使用5x3 濾波器將利用小波變換的濾波處理實施到分解級別=2的例子。在小 波變換單元51中,如圖7的A中的例子所示,在水平方向和垂直方 向上分別對輸入圖像數據的第1行到第7行執行第1輪濾波處理(圖 7的A中的In-l)。
在分解級別=1的第l輪濾波處理中,生成相當於基於係數C1、 係數C2、係數C3的3行的係數數據,並且如圖7的B中的例子所示, 配置於在分解級別=1下形成的區域HH、 HL和LH的每一個中(圖 7的B中的WT-1)。
而且,在分解級別=1下形成的區域LL通過在分解級別=2下 在水平和垂直方向上的濾波處理被進一步分割為4個。關於在分解級 別=2下生成的係數C5和係數C4,在分解級別=1的區域LL中,基 於係數C5的一行被配置在區域LL中,基於係數C4的一行被配置在 區域HH、區域HL和區域LH的每一個中。
從小波變換單元51的第2輪濾波處理以後,針對每4行執行濾 波處理(圖7的A中的In-2…),在分解級別=1下生成每2行的系 數數據(圖7的B中的WT-2 ),在分解級別- 2下生成每1行的系 數數據。
在圖6的第2輪的例子中,通過分解級別=1的濾波處理生成相 當於基於係數C6、係數C7的2行的係數數據,並且如圖7的B中的 例子所示,配置於在分解級別-1下形成的區域HH、區域HL和區域 LH中的、在第1輪濾波處理中生成的係數數據之後。同樣,在分解 級別-1的區域LL中,通過分解級別-2的濾波處理生成的相當於一 行的係數C9被配置在區域LL中,相當於一行的係數C8被配置在區 域HH、區域HL和區域LH的每一個中。
24在對如圖7的B所示進行了小波變換後的數據進行解碼時,如圖 7的C中的例子所示,針對編碼側的基於第1行到第7行的第1輪濾 波處理,輸出基於解碼側的第l輪合成處理的第l行(圖7的C中的 Out國l)。
接著,對於編碼側的從第2輪到緊接最後一輪之前的一輪的濾波 處理,在解碼側一次輸出4行(圖7的C中的Out-2…)。然後,針 對編碼側的最後一輪濾波處理,在解碼側輸出8行。
在小波變換單元51中從高頻分量側到低頻分量側生成的係數數 據被依次存儲到係數重新排列緩衝器單元53中。當係數數據在係數重 新排列緩衝器單元53中累積到能夠進行如上所述的係數數據的重新 排列的點時,係數重新排列單元54在按照合成處理所需的順序對係數 數據進行重新排列後,從係數重新排列緩衝器單元53讀出係數數據。 讀出的係數數據被依次提供給熵編碼單元55。
熵編碼單元55依次對所提供的係數數據進行編碼,並向編碼單 元14的外部輸出所生成的編碼數據。
如上所述在編碼單元14中編碼後的圖像數據、即編碼數據被提 供給圖1中的分組生成單元15。
接著,圖8是示出在圖1的標題生成單元17中生成的標題的結 構例子的圖。
在標題生成單元17中,生成序列標題、圖片標題和分區標題。 序列標題、圖片標題和分區標題形成分級結構。
在序列標題中,作為表示序列標題的存在的標誌的Sequence Header Flag (序列標題標誌)配置在開頭,並且在Sequence Header Flag之後依次配置1位的Coeff_order、 2位的Priority mode、 2位的 DWT filter和2 4立的Filter precision 。
在圖片標題中,作為表示圖片標題的存在的標誌的Picture Header Flag(圖片標題標誌)配置在開頭,並且在Picture Header Flag 之後依次酉己置1位的Interlace/Progressive、 2位的Bit Precision和2 位的Program Choice。在分區標題中,作為表示分區標題的存在的標誌的Precinct Header Flag(分區標題標誌)配置在開頭,並且在Precinct Header Flag 之後配置2位的Bit Precision.
以下參照圖9說明序列標題。
序列標題中的CoefiLorder表示係數重新排列的位置。例如,如 果Coeff一order為0,則表示係數的重新排列在編碼側執行,如果 Coeff^order為1,則表示係數的重新排列在解碼側執行。
儘管係數重新排列的處理如上參照圖3所述可以在編碼單元14 的係數重新排列單元54中執行,但該處理也可以在解碼單元36 (例 如後述的圖48中的解碼單元36的係數重新排列單元65)中執行,而 不在編碼單元14中執行。即,係數重新排列的處理是由編碼單元14 和解碼單元36共有的處理,並且Coeff一order是共有處理識別信息。
由於係數重新排列的處理需要用於執行該處理的電路和用於累 積係數的緩衝器(存儲器),因此根據編碼單元14或解碼單元36是 否能夠具備這些硬體來選擇是由編碼單元14還是由解碼單元36執行 係數重新排列處理。例如,在編碼單元14被組裝到便攜電話終端、 PDA (Personal Digital Assistant,個人數字助理)、^f更攜遊戲i殳備或 小型相機等所謂的便攜終端等具有比較低的處理能力(throughput) 的設備中的情況下,不能內置大容量的存儲器,因此必然由解碼單元 36執行係數重新排列處理。
另一方面,在編碼單元14被組裝到廣播設備、專業人員用的數 字發射機等具有比較高的處理能力並且具有充裕的電源和充裕的硬體 的設備中的情況下,在編碼單元14中執行係數重新排列處理。
在例如編碼單元14和解碼單元36都能夠執行係數重新排列處 理、並且在編碼單元14中執行係數重新排列處理的情況下,序列標題 中的Coeff_order為0,在解碼單元36中可以跳過係數重新排列的處 理。
序列標題中的Priority mode是表示編碼器的控制方式的控制識 別信息。例如,如果Priority mode為00,則表示在編碼器中執行低延遲控制,如果Priority mode為01,則表示在編碼器中執行使處理 能力優先的控制。順便提及,在Priority mode中,在控制方式,皮擴展 時等情況下使用10或11表示其它控制方式。
例如,在使處理能力優先的控制中,最好應用使得在圖3的編碼 單元14的小波變換單元51的處理一結束就執行熵編碼單元55的處理 的控制。而在低延遲控制中,最好應用使得小波變換單元51的處理與 熵編碼單元55的處理以並行方式執行的控制。例如,在編碼單元14 中選擇了低延遲控制的情況下,向解碼單元36通知已經選擇了低延遲 控制,在解碼單元36中也選擇低延遲控制,從而作為整體降低延遲。
序列標題中的DWT filter是表示DWT濾波器的種類選擇的濾波 器信息。例如,如果DWT filter為00,則表示利用Irreversible (不 可逆)9x7對圖像數據進行濾波,如果DWTfilter為01,則表示利用 Irreversible 5x3對圖像數據進行濾波,如果DWT filter為10,則表 示利用Reversible (可逆)5x3對圖像數據進行濾波。順便提及,當 利用其它種類的濾波器、例如獨創設計的濾波器來對圖像數據進行濾 波時使用DWT filter中的11,表示該濾波器被選擇。
例如,對於由JPEG 2000標準採用的5x3濾波器和9x7濾波器, 利用9x7濾波器,計算次數為簡單計算的大約2倍,計算所需的存儲 器量也變大。這樣,在希望減輕硬體負荷的情況下,在編碼單元14 和解碼單元36中最好選擇5x3濾波器。另一方面,由於9x7濾波器 能夠進行高性能濾波,因此在需要高圖像質量的情況下最好選擇9x7 濾波器。
序列標題中的Filter precision是表示DWT濾波的計算精度的濾 波處理精度信息。例如,如果Filter precision為00,則表示以固定小 數點精度實施DWT濾波,如果Filter precision為01,則表示以浮動 小數點精度實施DWT濾波,如果Filter precision為10,則表示以整 數精度實施DWT濾波。
例如,浮動小數點精度的計算對硬體的負荷最大,整數精度的計 算對硬體的負荷最小。因此,通過按照硬體的處理能力適當地確定計算精度,可以有效使用硬體資源。另外,當處理高清晰度圖像時,優選浮動小數點精度。可以如參照圖42在後面說明的那樣選擇計算精 度。接著,參照圖10說明圖片標題。圖片標題中的Interlace/Progressive表示圖片的結構。例如,如 果Interlace/Progressive為0,則表示該圖片為Interlace(隔行)圖像, 如果Interlace/Progressive為1, 則表示該圖片為Progressive (逐行)圖像。這裡,例如,用於電視廣播的圖像信號是隔行的,但用於個人計 算機或電影的圖像信號是逐行的。另外,在從解碼單元36輸出的情況 下也同樣,由於液晶電視接收器是逐行的,因此,如果圖像信號是隔 行的,則需要將該信號轉換成逐行的以輸出。在隔行的情況下,編碼 處理和解碼處理以場為單位執行,而在逐行的情況下,編碼處理和解 碼處理以幀為單位執行。由於這些差異,通過以圖片為單位從編碼單 元14向解碼單元36通知圖片是隔行還是逐行,可以在解碼單元36 中執行最佳的處理。圖片標題中的Bit Precision表示圖片內的計算精度。例如,如果 Bit Precision為00,則表示以8位精度計算圖片,如果Bit Precision 為01,則表示以10位精度計算圖片,如果Bit Precision為10,則表 示以12位精度計算圖片,如果Bit Precision為11,則表示以16位精 度計算圖片。例如,在輸入圖像為8位的情況下,已知在分解成4個的小波變 換之後,小波變換係數被擴展到12位,在輸入圖像為12位的情況下, 已知在分解成4個的小波變換之後,小波變換係數被擴展到16位。因 此,為了保持精度,需要在保持小波變換係數所需的精度的同時執行 編碼處理。即,在編碼單元14要求12位精度的情況下,即使在解碼 單元36中有足夠的資源允許16位精度的計算,也執行12位精度的計 算,從而能夠利用少的資源執行解碼。圖片標題中的Program Choice是表示用於圖片的編碼和解碼的程序種類的選擇的程序識別信息。例如,如果Program Choice為00, 則表示選擇程序A,如果Program Choice為01,則表示選擇程序B, 如果Program Choice為10,則表示選擇程序C,如果Program Choice 為11,則表示選擇程序D。這裡,程序A~D是分別與應用了後述的CPU或存儲器的分配 方法的編碼方法A D對應的程序。例如,編碼單元14可以如參照後 述的圖43中的流程圖所說明的那樣進行選擇,解碼單元36可以根據 圖片標題選擇與編碼單元14選擇的編碼方法相對應的解碼方法。以下參照圖ll說明分區標題。分區標題中的Bit Precision表示分區內的計算精度。例如,如果 Bit Precision為00,則表示以8位精度計算分區,如果Bit Precision 為Ol,則表示以10位精度計算分區,如果Bit Precision為10,則表 示以12位精度計算分區,如果Bit Precision為11,則表示以16位精 度計算分區。通過由分區標題中的Bit Precision通知計算精度,與圖片標題中 的Bit Precision同樣,可以有效利用解碼單元36的資源。順便提及, 在圖片標題中的Bit Precision所表示的計算精度與分區標題中的Bit Precision所表示的計算精度不同的情況下,使分區標題中的Bit Precision所表示的計算精度優先。共有處理識別信息、控制識別信息、濾波器信息、濾波處理精度 信息和程序識別信息由識別信息生成單元21生成並提供給序列標題 生成單元18、圖片標題生成單元19、分區標題生成單元20中的每一 個,並且生成序列標題、圖片標題和分區標題,即,在序列標題、圖 片標題和分區標題的每一個中設定標誌。通過在編碼設備13側預先生成這些信息並將它們發送給解碼設 備32以在解碼設備32中使用,在解碼設備32中,可以省略處理選擇 的確定(例如後述的圖45中的確定程序選擇的處理),並且可以減輕 與解碼相關的負荷。在程序選擇處理中,關於是否存在能夠進行解碼 的程序功能的確定可以僅通過參照該信息來進行。29在編碼設備13中,可以通過對編碼處理進行時間分割並按照與 編碼相關的數據量(處理負荷》來適應性地提供選擇模式,適當地利 用不同的程序來執行編碼處理。即,針對一系列圖像,編碼設備13 可以通過在給定的期間選擇程序A來執行編碼,通過在下一期間選擇 程序D來執行編碼,並且通過在更下一期間選擇程序C來執行編碼。 接著,圖12是示出圖2中的解碼單元36的結構例子的框圖。 如圖12所示,解碼單元36具有熵解碼單元61、係數緩衝器單元 62和小波逆變換單元63的功能。熵解碼單元61利用與熵編碼單元55 (圖3)使用的編碼方法對 應的解碼方法將所提供的編碼數據解碼,得到係數數據。係數數據被 存儲到係數緩衝器單元62中。小波逆變換單元63使用存儲在係數緩 沖器單元62中的係數數據,通過合成濾波器執行合成濾波處理(小波 逆變換),並將合成濾波處理的結果再次存儲到係數緩衝器單元62 中。在通過按照分解級別重複該處理而得到解碼圖像數據(輸出圖像 數據)時,小波逆變換單元63將其輸出到外部。以下參照圖13 ~圖16說明由各個單元執行的處理流程。 圖13是說明圖3中的編碼單元14對圖像數據進行編碼的處理的 流程圖。當開始編碼處理時,編碼單元14的小波變換單元51在步驟Sl 中將處理對象分區的編號A初始化。通常將編號A設定為"l"。當結 束設定時,在步驟S2中,小波變換單元51取得在最低頻子帶中生成 從頂部開始第A行中的l行所需的行數(即一個分區)的圖像數據。 在步驟S3中,小波變換單元51對圖像數據執行用於對在屏幕的垂直 方向上排列的圖像數據執行分析濾波的垂直分析濾波處理,在步驟S4 中,執行用於對在屏幕的水平方向上排列的圖像數據執行分析濾波處 理的水平分析濾波處理。在步驟S5中,小波變換單元51確定分析濾波處理是否已經執行 到最後級別。如果確定分解級別沒有達到最後級別,則處理返回到步 驟S3,針對當前的分解級別重複進行步驟S3和步驟S4中的分析濾波處理。如果在步驟S5中確定分析濾波處理已經執行到最後級別,則處 理前進到步驟S6。在步驟S6中,係數重新排列單元54按照從低頻到高頻的順序對 分區A(從圖片(幀或場)的頂部開始的第A個分區)中的係數進行 重新排列。熵編碼單元55在步驟S7中對係數逐行實施熵編碼,並在 步驟S8中送出分區A的編碼數據。在步驟S9中,小波變換單元51使編號A的值加"l,,並將下一分 區設定為處理對象,在步驟S10中,針對處理對象圖片(幀或場)確 定是否存在還未處理的圖像輸入行。如果確定存在還未處理的圖像輸 入行,則處理返回到步驟S2,針對新的處理對象分區重複後續處理。這樣,重複執行步驟S2 步驟S10的處理,對各個分區進行編 碼。然後,如果在步驟SIO中確定不存在還未處理的圖像輸入行,則 結束對圖片的編碼處理。針對下一圖片重新開始編碼處理。這樣,小波變換單元51以分區為單位連續執行垂直分析濾波處 理和水平分析濾波處理直到最後級別。這樣,與以往的方法相比,一 次(同時)需要保持(緩衝)的數據量小,從而能夠極大地減少需要 準備的緩衝器的存儲器容量。另外,由於將分析濾波處理執行到最後 級別,因此還能夠進行後級的係數重新排列和熵編碼等處理(即,能 夠以分區為單位執行係數重新排列或熵編碼)。因此,與對整個屏幕 執行小波變換的方法相比,可以極大地減少延遲時間。接著,圖14是說明圖1中的標題生成單元17生成標題的處理的 流程圖。該處理與編碼單元14中的編碼處理的開始同時開始。在步驟S21 中,分組生成單元15確定是否生成(記載)序列標題。例如,如果作為編碼處理中的編碼對象的圖像是從編碼設備13 發送的一系列圖像的第1個圖像,則分組生成單元15確定生成序列標 題。而如果該圖像不是第l個圖像,則分組生成單元15確定不生成序 列標題。31如果分組生成單元15在步驟S21中確定生成序列標題,則處理 前進到步驟S22,分組生成單元15向序列標題生成單元18提供指示 生成序列標題的信號。當從分組生成單元15提供了指示生成序列標題 的信號時,序列標題生成單元18從識別信息生成單元21取得圖9所 示的信息(參數),以生成序列標題,將序列標題提供給分組生成單 元15,處理前進到步驟S23。另一方面,如果分組生成單元15在步驟S21中確定不生成序列 標題,則處理跳過步驟S22而前進到步驟S23。在步驟S23中,分組生成單元15確定是否生成(記載)圖片標題。例如,如果作為編碼對象的圖像是編碼處理開始後的第l個圖像, 以及如果編碼參數已經從前一編碼對象圖像改變,則分組生成單元15 確定生成圖片標題。另一方面,如果編碼參數沒有從前一編碼對象圖 像改變,則分組生成單元15確定不生成圖片標題。如果分組生成單元15在步驟S23中確定生成圖片標題,則處理 前進到步驟S24,分組生成單元15向圖片標題生成單元19提供指示 生成圖片標題的信號。當從分組生成單元15提供了指示生成圖片標題 的信號時,圖片標題生成單元19從識別信息生成單元21取得圖10 所示的信息(參數),以生成圖片標題,將圖片標題提供給分組生成 單元15,處理前進到步驟S25。另一方面,如果分組生成單元15在步驟S23中確定不生成圖片 標題,則處理跳過步驟S24而前進到步驟S25。在這種情況下,分組 生成單元15向圖像附加與針對前一編碼對象圖像使用的圖片標題相 同的圖片標題。在步驟S25中,分組生成單元15確定是否生成(記載)分區標題。例如,如果作為編碼對象的分區是編碼處理開始後的第l個分區, 以及如果編碼參數已經從前一編碼對象分區改變,則分組生成單元15 確定生成分區標題。另一方面,如果編碼參數沒有從前一編碼對象分區改變,則分組生成單元15確定不生成分區標題。如果分組生成單元15在步驟S25中確定生成分區標題,則處理 前進到步驟S26,分組生成單元15向分區標題生成單元20提供指示 生成分區標題的信號。當從分組生成單元15提供了指示生成分區標題 的信號時,分區標題生成單元20從識別信息生成單元21取得圖11 所示的信息(參數),以生成分區標題,將分區標題提供給分組生成 單元15,處理前進到步驟S27。另一方面,如果分組生成單元15在步驟S25中確定不生成分區 標題,則處理跳過步驟S26而前進到步驟S27。順便提及,在這種情 況下,分組生成單元15向分區附加與針對前一編碼對象分區使用的分 區標題相同的分區標題。在步驟S27中,分組生成單元15確定當前作為編碼處理對象的 圖像中是否存在未被編碼的分區。如果分組生成單元15在步驟S27中確定當前作為編碼處理對象 的圖像中存在未被編碼的分區,則處理返回到步驟S25,此後重複同 樣的處理。另一方面,如果分組生成單元15在步驟S27中確定當前作為編 碼處理對象的圖像中不存在未被編碼的分區,即,如果當前作為編碼 處理對象的圖像中的所有分區都被編碼,則處理前進到步驟S28。在步驟S28中,發送單元16發送將在步驟S22中生成的序列標 題、在步驟S24中生成的圖片標題和在步驟S26中生成的分區標題附 加到從編碼單元14輸出的編碼數據中的分組。在步驟S28的處理之後,處理前進到步驟S29,分組生成單元15 確定是否從編碼設備13發送的一 系列圖像都被編碼。如果分組生成單元15在步驟S29中確定從編碼設備13發送的一 系列圖像沒有都被編碼,即,如果還有要被編碼的下一圖像,則處理 返回到步驟S23,此後將下一圖像作為編碼對象重複相同的處理。另一方面,如果分組生成單元15在步驟S29中確定從編碼設備 13發送的一系列圖像都被編碼,則結束處理。接著,圖15是說明圖12中的解碼單元36對圖像數據進行解碼 的處理的流程圖。當開始解碼處理時,在步驟S31中,熵解碼單元61取得從解碼 單元36的外部提供的編碼數據,在步驟S32中,逐行地執行編碼數據 的熵解碼。在步驟S33中,係數緩衝器單元62保持通過解碼得到的系 數數據。在步驟S34中,小波逆變換單元63確定是否相當於一個分區 的係數數據已經累積在係數緩衝器單元62中。如果確定沒有累積相當 於一個分區的係數數據,則處理返回到步驟S31,執行後續的處理。 即,小波逆變換單元63待機,直到相當於一個分區的係數數據已經累 積在係數緩衝器單元62中。如果在步驟S34中確定相當於一個分區的係數數據已經累積在 係數緩衝器單元62中,則處理前進到步驟S35。在步驟S35中,小波 逆變換單元63讀出係數緩衝器單元62中保持的、相當於一個分區的 係數數據,並在步驟S36中,對所讀出的係數數據執行用於對在屏幕理,在步驟S37中,執行用於對在屏幕的水平方向上排列的係數數據 執行合成濾波處理的水平合成濾波處理。在步驟S38中,小波逆變換 單元63確定合成濾波處理是否已經執行到級別l(分解級別的值為"l" 的級別),即,逆變換是否已經執行到小波變換之前的狀態。如果確 定沒有達到級別1,則處理返回到步驟S36,重複進行步驟S36和步 驟S37中的濾波處理。如果在步驟S38中確定小波逆變換處理已經完成到級別1,則處 理前進到步驟S39。在步驟S39中,小波逆變換單元63向外部輸出通 過小波逆變換處理得到的圖像數據。在步驟S40中,熵解碼單元61確定是否結束解碼處理。如果確 定不結束解碼處理,則處理返回到步驟S31,重複後續處理。如果在 步驟S40中確定由於分區結束等而結束解碼處理,則解碼處理結束。在以往的小波逆變換方法中,針對作為處理對象的分解級別的所 有係數,首先在屏幕的水平方向上執行水平合成濾波處理,然後在屏幕的垂直方向上執行垂直合成濾波處理。即,在每次合成濾波處理時, 合成濾波處理的結果需要保持在緩衝器中。此時,緩衝器需要保持該 點的分解級別的合成濾波結果和下 一 分解級別的所有係數,從而需要 非常大的存儲器容量(要保持的數據量大)。而且,在該情況下,不進行圖像數據輸出,直到在圖片(幀或場) 內完成所有小波逆變換,因此從輸入到輸出的延遲時間增加。相反,如上所述在解碼單元36的小波逆變換單元63的情況下, 以分區為單位將垂直合成濾波處理和水平合成濾波處理連續執行到級 別1。這樣,與以往方法相比, 一次(同時)需要緩衝的數據量小, 從而能夠極大地減少需要準備的緩衝器的存儲器容量。而且,由於將 合成濾波處理(小波逆變換處理)執行到級別1,因此可以在得到圖 片內的所有圖像數據之前,(以分區為單位)依次輸出圖像數據,從 而與以往方法相比能夠極大地減少延遲時間。接著,圖16是說明圖2中的標題解讀單元38解讀標題的處理的 流程圖。當開始解碼處理時,在步驟S51中,分組解讀單元35確定從分 組中提取的標題是否是序列標題。如果分組解讀單元35在步驟S51中確定從分組中提取的標題是 序列標題,則處理前進到步驟S52,分組解讀單元35將序列標題提供 給序列標題解讀單元39。序列標題解讀單元39解讀從分組解讀單元 35提供的序列標題,取得包含在序列標題中的信息(參數),並將該 信息提供給識別信息取得單元42,處理前進到步驟S53。另一方面,如果分組解讀單元35在步驟S51中確定從分組中提 取的標題不是序列標題,則處理跳過步驟S52而前進到步驟S53。在步驟S53中,分組解讀單元35確定從分組中提取的標題是否 是圖片標題。如果分組解讀單元35在步驟S53中確定從分組中提取的標題是 圖片標題,則處理前進到步驟S54,分組解讀單元35將圖片標題提供 給圖片標題解讀單元40。圖片標題解讀單元40解讀從分組解讀單元35提供的圖片標題,如果包含在圖片標題中的信息(參數)已經被更 新,即,如果信息已經從包含在前次取得的圖片標題中的信息改變, 則取得該信息並將其提供給識別信息取得單元42,處理前進到步驟 S55。另一方面,如果分組解讀單元35在步驟S53中確定從分組中提 取的標題不是圖片標題,則處理跳過步驟S54而前進到步驟S55。在步驟S55中,分組解讀單元35確定從分組中提取的標題是否 是分區標題。如果分組解讀單元35在步驟S55中確定從分組中提取的標題是 分區標題,則處理前進到步驟S56,分組解讀單元35將分區標題提供 給分區標題解讀單元41。分區標題解讀單元41解讀從分組解讀單元 35提供的分區標題,如果包含在分區標題中的信息(參數)已經被更 新,即,如果信息已經從包含在前次取得的分區標題中的信息改變, 則取得該信息並將其提供給識別信息取得單元42,處理前進到步驟 S57。另一方面,如果分組解讀單元35在步驟S55中確定從分組中提 取的標題不是分區標題,則處理跳過步驟S56而前進到步驟S57。在步驟S57中,識別信息取得單元42將在步驟S52中從序列標 題解讀單元39提供的信息、在步驟S54中從圖片標題解讀單元40提 供的信息、或在步驟S56中從分區標題解讀單元41提供的信息提供給 解碼控制單元43。解碼控制單元43以4吏解碼單元36按照基於這些信 息的處理方式執行解碼處理的方式來控制解碼單元36。在步驟S57的處理之後,處理前進到步驟S58,分組解讀單元35 確定是否從編碼設備13發送的一系列圖像都被接收。如果分組解讀單元35在步驟S58中確定從編碼設備13發送的一 系列圖像沒有都被接收,則處理返回到步驟S51,此後重複相同的處 理。另一方面,如果分組解讀單元35在步驟S58中確定從編碼設備 13發送的一系列圖像都被接收,則結束處理。如上所述,通過在序列標題、圖片標題和分區標題的每一個中設定用於實施編碼單元14和解碼單元36共有的處理的各種標誌,可以 有效使用編碼單元14和解碼單元36中的資源,例如根據應用最佳地 選擇計算精度、小波變換的種類、CPU的分配等。上述的各種處理例如可以如圖17所示以並行方式適當地執行。圖17是示意性地示出由圖3所示的編碼單元14和圖12所示的 解碼單元36中的各個單元執行的處理的各個要素的並行操作的例子 的圖。該圖17對應於上述的圖6。針對圖像數據的輸入In-l (圖17 的A),由小波變換單元51 (圖3)實施第1小波變換WT-1 (圖17 的B)。如參照圖6所說明的那樣,該第1小波變換WT-1從第一個 3行被輸入的時間點開始,並生成係數C1。即,從圖像數據In-l的輸 入之後直到小波變換WT-1開始,存在相當於3行的延遲。所生成的係數數據被存儲到係數重新排列緩衝器單元53 (圖3) 中。此後,對輸入的圖像數據實施小波變換,當完成了第l輪處理後, 處理直接轉換到第2輪小波變換WT-2。以與用於第2輪小波變換WT-2的圖像數據In-2的輸入和第2 輪小波變換WT-2的處理並行的方式,由係數重新排列單元54(圖3) 執行係數Cl、係數C4和係數C5這3個係數的重新排列Ord-l (圖 17的C)。順便提及,從小波變換WT-1完成時到重新排列Ord-l開始時的 延遲是基於設備或系統結構的延遲,例如與用於指示係數重新排列單 元54執行重新排列處理的控制信號的傳送有關的延遲、係數重新排列 單元54響應於該控制信號開始處理所需的延遲、或程序處理所需的延 遲,不是編碼處理所固有的延遲。係數數據按照重新排列完成的順序從係數重新排列緩衝器單元 53中讀出,被提供給熵編碼單元55 (圖3),進行熵編碼EC-1 (圖 17的D)。該熵編碼EC-1無需等待係數C1、係數C4和係數C5這 全部3個係數的重新排列完成就可以開始。例如,在基於首先輸出的 係數C5的l行的重新排列完成時的時間點,開始針對係數C5的熵編碼。在該情況下,從重新排列Ord-l的處理開始時到熵編碼EC-1的 處理開始時的延遲相當於l行。已經由熵編碼單元55完成了熵編碼EC-1的編碼數據在進行了預 定的信號處理後被傳送到解碼單元36 (圖12 )(圖17的E )。如上所述,針對編碼單元14,在第l輪處理的相當於7行的圖像 數據輸入之後,圖像數據被依次輸入,直到屏幕上的下端的行。在編 碼單元14中,在圖像數據的輸入In-n (n為2以上)之後,如上所述 每4行執行小波變換WT-n、重新排列Ord-n和熵編碼EC-n。在編碼 單元14中針對最後一輪處理的重新排列Ord和熵編碼EC針對6行 執行。這些處理如圖17的A~圖17的D所示在編碼單元14中以並 行方式執行。單元36。解碼單元36的熵解碼單元61 (圖12)針對所提供的、通過 熵編碼EC-1被編碼的編碼數據,依次執行熵代碼的解碼iEC-l,從而 重建係數數據(圖17的F)。重建的係數數據被依次存儲到係數緩衝 器單元62中。 一旦在係數緩衝器單元62中存儲了用於執行小波逆變 換的足夠量的係數數據,小波逆變換單元63就從係數緩衝器單元62 讀出係數數據,並使用所讀出的係數數據執行小波逆變換iWT-l (圖 17的G)。如參照圖6所說明的那樣,小波逆變換單元63的小波逆變換 iWT-l可以在係數C4和係數C5被存儲到係數緩衝器單元62中時的 時間點開始。因此,從熵解碼單元61的解碼iEC-l開始時到小波逆變 換單元63的小波逆變換iWT-l開始時的延遲相當於2行。在小波逆變換單元63中,當第一個小波變換的3行的小波逆變 換iWT-l完成時,執行通過小波逆變換iWT-l生成的圖像數據的輸出 Out-l (圖17的H)。在輸出Out-l,如上參照圖6和圖7所說明的 那樣,輸出第l行的圖像數據。在編碼單元14中的第1輪處理的相當於3行的編碼係數數據的 輸入之後,通過熵編碼EC-n ( n為2以上)被編碼的係數數據依次輸入到解碼單元36。在解碼單元36中,如上所述,針對每4行執行熵 解碼iEC-n和小波逆變換iWT-n,依次執行通過小波逆變換iWT-n重 建的圖像數據的輸出Out-n。與編碼單元14中的最後一輪對應的熵解 碼iEC和小波逆變換iWT對6行執行,並輸出8行作為輸出Out。如 圖17的F~圖17的H所示,在解碼單元36中,這些處理以並4亍方 式執行。如上所述,編碼單元14和解碼單元36中的各個處理按照從屏幕 的上部到下部的順序以並行方式執行,從而能夠以低的延遲執行圖像 壓縮處理和圖像解碼處理。參照圖17計算在使用5x3濾波器將小波變換執行到分解級別-2 的情況下從圖像輸入到圖像輸出的延遲時間。從第l行的圖像數據被 輸入到編碼單元14時到第l行的圖像數據從解碼單元36輸出時的延 遲時間是下面提及的各個要素的總和。順便提及,這裡,傳送路徑中 的延遲、與設備的各個單元中的實際處理定時相關的延遲等取決於系 統結構而不同的延遲被排除在外。(1) 從第1行輸入到7行的小波變換WT-1完成的延遲D—WT(2) 與3^f亍的係數重新排列Ord-l相關的時間D—Ord(3) 與3行的熵編碼EC-1相關的時間D_EC(4 )與3行的熵解碼iEC-l相關的時間D—iEC (5)與3^f亍的小波逆變換iWT-l相關的時間D—iWT。 參照圖17嘗試計算由於上述各要素導致的延遲。(l)中的延遲 D_WT是相當於10行的時間。(2)中的時間D—Ord、 (3)中的時 間D—EC、 ( 4 )中的時間D_iEC和(5 )中的時間D—iWT都是相當 於3行的時間。而且,在編碼單元14中,熵編碼EC-1可以在重新排 列Ord-l開始後的1行後開始。同樣,在解碼單元36中,小波逆變 換iWT-l可以在熵解碼iEC-l開始後的2行後開始。另外,對於熵解 碼iEC-l,可以在通過熵編碼EC-1完成了 1行的編碼時的時間點開始 處理。因此,在該圖17的例子中,從第1行的圖像數據被輸入到編碼單元14時到第1行的圖像數據從解碼單元36輸出時的延遲時間相當 於10 +1 + 1 + 2 + 3-17行。以下將利用更具體的例子來討論延遲時間。在所輸入的圖像數據 是HDTV ( High Definition Television,高清晰度電視)的隔行視頻信 號的情況下,例如一幀由192(H象素xl080行的解析度構成,並且一場 為1920像素x540行。因此,假設幀頻率為30Hz,作為一場的540行 在16.67毫秒(=1秒/60場)的時間輸入到編碼單元14中。因此,與相當於7行的圖像數據的輸入相關的時間延遲是0.216 毫秒(=16.67毫秒x7/540 ^f亍),這相對於例如一場的更新時間是極 短的時間。另外,對於上述的(1)中的延遲0_\¥1\ (2)中的時間 D—Ord、 (3)中的時間D_EC、 (4)中的時間D—iEC和(5)中的 時間D—iWT的總和同樣,要處理的行數小,從而延遲時間極大縮短。以下說明安裝了上述的軟體編碼器或軟體解碼器的硬體。圖18 是示出個人計算機的結構示例的框圖。在圖18中,個人計算機100的CPU 101-1、 CPU 101-2、 CPU 101-3 和CPU 101-4都是按照軟體程序執行各種處理的處理單元。以下在不 需要4皮此區分時,將CPU 101-1 ~ CPU 101-4稱為CPU 101。 CPU 101 經由作為共用總線的總線104與ROM (Read Only Memory,只讀存 儲器)102和RAM ( Random Access Memory,隨機存取存儲器)103 互連。軟體程序或數據被預先存儲在ROM 102中。存儲在ROM 102 或存儲單元123中的軟體程序或數據被裝載到RAM 103中。高速緩衝存儲器111-1內置於CPU 101-1中,高速緩衝存儲器 111-2內置於CPU 101-2中,高速緩衝存儲器111-3內置於CPU 101-3 中,高速緩衝存儲器111-4內置於CPU 101-4中。在以下說明中,在 不需要彼此區分時,將高速緩衝存儲器111-1 ~高速緩衝存儲器111-4 稱為高速緩沖存儲器111。高速緩衝存儲器111是例如SRAM (Static Random Access Memory,靜態隨機存取存儲器)等高速操作的存儲介質,由內置了 高速緩衝存儲器111的CPU101獨佔性地使用。由於高速緩衝存儲器40lll每單位存儲容量具有高價格並且內置於CPUlOl中,因此,高速 緩衝存儲器111的存儲容量的增大也導致CPU 101的電路規模的增大。從而,為了降低成本或抑制電路規模的增大,通常將高速緩衝存儲器111的存儲容量保持為例如比具有大約幾百兆(M)字節到幾吉 (G)字節的存儲容量並且設置在CPU 101外部的RAM 103小的、 大約幾百千(K)字節到幾兆(M)字節的容量。當然,任何類型的存儲器都可以用作高速緩衝存儲器111,可以 將其存儲容量設定為任何水平。在這種情況下,假定高速緩衝存儲器lll是如下的存儲介質被內置有高速緩沖存儲器111的CPU 101獨 佔性地使用,允許數據以高於RAM 103的速度讀或寫,但其存儲容 量小於RAM 103並且對於能夠存儲的信息量有限制。與高速緩衝存儲器lll相反,假定RAM 103由CPU 101-1 ~ CPU 101-4等共有,允許數據以低於高速緩衝存儲器111的速度讀或寫, 並且具有大於高速緩沖存儲器111的容量。當然,RAM103的存儲容 量實際上也是有限的。但是,以下為了說明的方便,假定RAM 103 的存儲容量相對於上述的編碼處理或解碼處理所需的容量足夠大,不 特別考慮容量的限制。即,儘管高速緩衝存儲器111允許程序或數據以高速輸入和輸出, 但由於其容量的限制,有時難以存儲軟體編碼器或軟體解碼器的所有 軟體程序和數據。相反,RAM103可以存儲任意的軟體程序或數據, 它們的輸入和輸出以低速執行。CPU IOI將軟體程序或數據裝載到內置於CPU IOI本身的高速 緩衝存儲器111或RAM 103,使用這些程序或軟體執行編碼或解碼中 的各種處理。輸入/輸出接口 120還連接到總線104。鍵盤或滑鼠等輸入單元 121、 CRT ( Cathode Ray Tube,陰極射線管)或LCD ( Liquid Crystal Display,液晶顯示器)等顯示器或揚聲器等輸出單元122、由硬碟等 構成的存儲單元123以及由數據機等構成的通信單元124被連接 到輸入/輸出接口 120。通信單元124經由包括網際網路等的網絡執行通信處理。驅動器125還根據需要連接到輸入/輸出接口 120 ,適當安裝磁碟、 光碟、光磁碟或半導體存儲器等可裝卸介質131,從其中讀出的軟體 程序根據需要被安裝到存儲單元123。軟體程序還可以經由網絡從通 信單元124安裝。順便提及,儘管在圖18中說明了在個人計算機100中設置4個 CPU 101,但CPU101的個數是任意的。但是,取決於後述的軟體編 碼器或軟體解碼器的安裝方法,在某些情況下對於CPU 101的最小個 數有限制。例如,存在需要2個CPU101的情況或需要4個CPU101 的情況。另夕卜,CPU 101-1 ~ CPU 101-4在物理上可以是具有4個核的 一個CPU 101。這種情況下,高速緩衝存儲器111-1 ~高速緩衝存儲 器111-4可以設置在各個CPU核(CPU 101-1 ~ CPU 101-4)中,或 者被分配給各個CPU核的、由各CPU核共有的單一高速援衝存儲器 111的部分區域可以是高速緩沖存儲器111-1 ~高速緩沖存儲器111-4。在如上構成的個人計算機100中,為了以不會不必要地降低處理 的效率或增加延遲時間的方式實施圖3所示的編碼單元14或圖12中 的解碼單元36,需要將CPU 101或RAM 103等個人計算機100的硬 件資源適當分配給編碼單元14或解碼單元36中的各個處理。以下將 說明這樣的分配的例子。圖19是示出向圖3中的編碼單元14分配硬體資源的例子的圖。 在圖19所示的例子中,將CPU 101-1分配給編碼單元14的小波變換 單元51、係數重新排列單元54和熵編碼單元55的全部處理,並且中 間計算緩衝器單元52和係數重新排列緩衝器單元53形成在高速緩沖 存儲器111-1中。此時,實現小波變換單元51、係數重新排列單元54和熵編碼單 元55各自的功能的軟體程序被裝入高速緩衝存儲器111-1中。CPU 101-1根據需要從高速緩沖存儲器111-1中讀出並執行軟體程序的函 數。作為要編碼的圖像數據的亮度分量的圖像數據Y和作為色度分量的圖像數據C保持在RAM 103中。儘管實際上存在作為色度分量 的Cb和Cr,這裡為了說明的簡化,將Cb和Cr集中指示為C。儘管 以下說明由亮度分量Y和色度分量C構成的YC (YCbCr)分量,同 樣也適用於由R分量、G分量和B分量構成的RGB分量。在圖19的例子的情況下,圖像數據Y和圖像數據C都在CPU 101-1中編碼。即,通過執行小波變換單元51的處理,CPU 101-1從 RAM103讀出圖像數據Y,並且執行小波變換處理。此時,CPU 101-1 使用高速緩衝存儲器111-1的存儲區域的一部分作為中間計算緩沖器 單元52,使中間計算緩衝器單元52保持在小波變換處理的垂直方向 和水平方向上的分析濾波處理中生成的中間數據(例如中間分割級別 的低頻分量)。並且,CPU 101-1使用高速緩衝存儲器111-1的存儲 區域的另一部分作為係數重新排列緩衝器單元53,使係數重新排列緩 衝器單元53保持通過小波變換生成的係數數據。通過執行係數重新排列單元54的處理,CPU 101-1在按照預定 的順序重新排列係數數據的同時,讀出高速緩衝存儲器111-1的係數 重新排列緩衝器單元53中保持的係數數據。通過執行熵編碼單元55 的處理,CPU 101-1對在通過係數重新排列單元54中的處理而按順序 重新排列的同時從高速緩衝存儲器111-1讀出的係數數據進行編碼, 生成編碼數據Y。 CPU 101-1將所生成的編碼數據Y提供給RAM 103 以存儲在其中。CPU 101-1對圖像數據C與圖像數據Y的情況同樣地執行處理。 在如圖19所示編碼單元14在個人計算機100中實施的情況下, 編碼單元14中的所有處理由一個CPU 101執行,在編碼處理的過程 中生成的小波變換的中間數據或係數數據都被存儲到CPU 101的高速 緩衝存儲器111中。此時,與CPU 101-1同樣,例如還可以將其它CPU 101-2 ~ CPU 101-4分配給編碼單元14。即,如圖19所示的CPU 101-1的情況那樣, 實現小波變換單元51、係數重新排列單元54和熵編碼單元55的各功 能的軟體程序還被裝入高速緩沖存儲器111-2 ~高速緩衝存儲器111-443的每一個中。CPU 101-2 ~CPU 101-4從各個高速緩衝存儲器111中讀 出並執行這些軟體程序,並且執行編碼單元14的小波變換單元51、 係數重新排列單元54和熵編碼單元55各自的處理。此時,與高速緩 沖存儲器111-1同樣,中間計算緩沖器單元52和係數重新排列緩衝器 單元53形成在高速緩衝存儲器111-2 ~高速緩衝存儲器111-4的每一 個巾。即,在該情況下,4個編碼單元14由CPU 101-1 ~ CPU 101-4實 現。例如針對要編碼的移動圖像數據的每個圖片將編碼處理分配給編 碼單元14。即,在該情況下,CPU 101-1 ~ CPU 101-4針對相互不同 的圖片以彼此並行的方式執行編碼處理。圖20中示意性地示出該情況 下的處理流程。在圖20中,在圖中的縱向上從上到下示出時間序列,由各個CPU 執行的處理用方框表示。在圖20的例子中,CPU 101-1首先從RAM 103中讀出作為第1 圖片的第l分區(Pl)的亮度分量Y的圖像數據Y,在使高速緩衝存 儲器111-1保持中間數據的同時對圖像數據Y執行小波變換 (P1DWT(Y)),並且在使高速緩衝存儲器111-1保持所得到的係數 數據之後,針對係數數據執行順序的重新排列和熵編碼(PlVLC(Y))。 通過該熵編碼得到的編碼數據Y累積在RAM 103中。接著,CPU 101-1 從RAM 103中讀出作為第1分區(Pl)的色度分量C的圖像數據C, 在使高速緩衝存儲器111-1保持中間數據的同時對圖像數據C執行小 波變換(P1DWT(C)),並且在使高速緩衝存儲器111-1保持所得到 的係數數據之後,針對係數數據執行順序的重新排列和熵編碼 (P1VLC(C))。通過該熵編碼得到的編碼數據C累積在RAM 103中。在該時間點,相當於至少 一個分區以上的編碼數據Y和編碼數據 C萍皮累積在RAM 103中,因此開始編碼數據Y和編碼數據C的輸出。這樣,在CPU 101-1和高速緩沖存儲器111-1中實現的小波變換 單元51 ~熵編碼單元55針對圖像數據Y和圖像數據C執行彼此相同 的處理或保持數據。換言之,CPU 101-1和高速緩衝存儲器111-1針對圖像數據Y和圖像數據C中的任何一個以相同的方式執行與編碼有 關的處理或保持數據。當完成了針對第1分區的處理時,CPU 101-1然後從RAM 103 中讀出第1圖片的第2分區(P2)的圖像數據Y,在使高速緩衝存儲 器111-1保持中間數據的同時對圖像數據Y執行小波變換(P2DWT(Y)),並且在使高速緩衝存儲器111-1保持所得到的係數 數據之後,針對係數數據執行順序的重新排列和熵編碼(P2VLC(Y))。 通過該熵編碼得到的編碼數據Y在累積到RAM 103中之後被輸出。 接著,CPU 101-1從RAM 103中讀出第2分區(P2 )的圖像數據C, 在使高速緩衝存儲器111-1保持中間數據的同時針對圖像數據C執行 小波變換(P2DWT(C)),並且在使高速緩衝存儲器111-1保持所得 到的係數數據之後,針對係數數據執行順序的重新排列和熵編碼(P2VLC(C))。通過該熵編碼得到的編碼數據C在累積到RAM 103 中之後輸出。CPU 101-1以同樣的方式針對第1圖片的第3分區以後執行處理, 並且針對最後第n個分區(Pn)的圖像數據Y和圖像數據C分別執 -f亍小波變換以及係數重新排列和熵編碼(PnDWT(Y)、 PnVLC(Y)、 PnDWT(C)、 PnVLC(C))。所得到的編碼數據Y和編碼數據C與前 面的分區同樣,在累積在RAM 103中之後輸出。當第n個分區的編 碼數據C被輸出時,第1圖片的所有編碼數據都被輸出,因此對第1 圖片結束編碼數據的輸出。與CPU 101-1的該處理並4亍地,如圖20所示,CPU 101-2、 CPU 101-3和CPU 101-4可以分別針對第2圖片、第3圖片和第4圖片, 從第l分區到第n分區與CPU 101的情況同樣地執行小波變換處理以 及係數重新排列和熵編碼,從圖像數據Y和圖像數據C生成編碼數據 Y和編碼數據C,並使這些數據在保持在RAM 103中之後輸出。即,在該情況下,與CPU 101-1和高速緩衝存儲器111-1同樣, CPU 101-2和高速緩沖存儲器111-2、 CPU 101-3和高速緩衝存儲器 111-3、 CPU 101-4和高速緩衝存儲器111-4都針對圖像數據Y和圖像45數據c執行與編碼有關的處理或保持數據。在這種情況下,在針對第1圖片的處理完成時,CPU 101-1然後 針對第5圖片執行編碼處理。與CPU 101-1中的處理並行地,CPU 101-2 ~ CPU 101-4同樣地分別針對第6~第8圖片執行編碼處理。第 9圖片以後也同樣地處理。如上所述,在圖19所示的分配例子的情況下,編碼單元14可以 同時並行地執行4個圖片的編碼處理。而且,在該情況下,在一系列 編碼處理中不需要切換CPU。另外,可以不使用RAM 103而僅使用 高速緩衝存儲器111來執行處理,從而小波變換單元51或係數重新排 列單元54也能夠高速地對中間計算緩衝器單元52或係數重新排列緩 衝器單元53進行數據的讀或寫。因此,通過這樣的硬體資源分配,編 碼單元14可以高速地對圖像數據進行編碼。即,在圖19所示的分配 例子的情況下,編碼單元14能夠以高的處理能力來執行編碼。而且, 不管CPU 101的個數如何(例如即使為1個時),個人計算機100都 能實現編碼單元14。但是,由於高速緩衝存儲器lll具有小的存儲容量,因此同時累 積的數據量存在限制,取決於要編碼的圖像數據的數據量或內容,高 速緩衝存儲器111的容量可能不足而導致溢出,因此常常不能將圖19 所示的分配例子應用於執行編碼所需的緩衝器量大的情況。另夕卜,由於圖像數據Y的編碼和圖像數據C的編碼都在一個CPU 101中執行,因此從編碼處理開始時到第1分區的編碼數據從編碼單 元14輸出時的時間、即編碼處理中的時間延遲長。因此,從編碼數據 被解碼單元36解碼時到重建後的圖像數據的圖像顯示在監視器上時 的延遲時間也變長。同樣的原因,第1個圖片被顯示在監視器上之前 的時間變長。圖21是示出向圖3中的編碼單元14分配硬體資源的另一例子的 圖。在圖21所示的例子中,與圖19的情況同樣,將CPU 101-1分配 給編碼單元14的小波變換單元51、係數重新排列單元54和熵編碼單 元55的全部處理。但是,應注意的是,儘管中間計算緩衝器單元52形成在高速緩衝存儲器111-1中,但係數重新排列緩衝器單元53形成 在RAM 103中。
此時,實現小波變換單元51、係數重新排列單元54和熵編碼單 元55的各功能的軟體程序被裝入高速緩沖存儲器111-1中。CPU 101-1 根據需要從高速緩衝存儲器111-1中讀出並執行軟體程序的函數。
與圖19中的例子的情況相同,在圖21中的例子的情況下,圖像 數據Y和圖像數據C都在CPU 101-1中編碼。即,通過執行小波變換 單元51的處理,CPU 101-1從RAM 103讀出圖像數據Y,並且執行 小波變換處理。此時,CPU 101-1使用高速緩衝存儲器111-1的存儲 區域的 一 部分作為中間計算緩衝器單元5 2,使中間計算緩衝器單元5 2 保持在小波變換處理的垂直方向和水平方向上的分析濾波處理中生成 的中間數據(例如中間分割級別的低頻分量)。
但是應注意,與圖19中的例子的情況不同,在圖21中的例子的 情況下,CPU 101-1使用RAM 103的存儲區域的一部分作為係數重新 排列緩沖器單元53,使係數重新排列緩沖器單元53保持通過小波變 換生成的係數數據。
通過執行係數重新排列單元54的處理,CPU 101-1在按照預定 的順序重新排列係數數據的同時,讀出RAM 103的係數重新排列緩 衝器單元53中保持的係數數據。通過執行熵編碼單元55的處理,CPU 101-1對在通過係數重新排列單元54中的處理而按順序重新排列的同 時從RAM 103讀出的係數數據進行編碼,生成編碼數據Y。 CPU 101-1 將所生成的編碼數據Y提供給RAM 103以存儲在其中。
CPU 101-1與圖像數據Y的情況同樣地對圖像數據C執行處理。
在如圖21所示編碼單元14在個人計算機100中實施的情況下, 編碼單元14的所有處理由一個CPU 101執行,在編碼處理的過程中 生成的小波變換的中間數據被存儲到高速操作的、CPU101的高速緩 衝存儲器lll中,通過小波變換生成的係數數據被存儲到具有大容量 的RAM 103中。
此時,例如與CPU 101-1同才羊,還可以將其它CPU101-2~CPU101-4分配給編碼單元14。即,如圖21的情況那樣,實現小波變換單 元51、係數重新排列單元54和熵編碼單元55的各功能的軟體程序還 被裝入高速緩衝存儲器111-2 ~高速緩衝存儲器111-4的每一個中。 CPU 101-2~CPU 101-4從各個高速緩衝存儲器111中讀出並執行這 些軟體程序,並且執行編碼單元14的小波變換單元51、係數重新排 列單元54和熵編碼單元55各自的處理。此時,與高速緩衝存儲器111-1 同樣,中間計算緩沖器單元52形成在高速緩衝存儲器111-2 ~高速緩 衝存儲器111-4的每一個中,各個係數重新排列緩衝器單元53形成在 RAM 103中。
即,在該情況下,4個編碼單元14由CPU 101-1 ~ CPU 101-4實 現。例如針對要編碼的移動圖像數據的每個圖片將編碼處理分配給編 碼單元14。即,在該情況下,CPU 101-1 ~ CPU 101-4針對相互不同 的圖片以彼此並行的方式執行編碼處理。與圖19的情況同樣,圖20 中示意性地示出該情況下的處理流程。
在上述的圖21所示的分配例子的情況下,由於係數重新排列緩 衝器單元53形成在RAM 103中,因此與圖19中的分配例子的情況 相比,高速緩衝存儲器111的更大部分被用作中間計算緩沖器單元52。 即,可以使中間計算緩衝器單元52的容量變大。而且,也可以使係數 重新排列緩沖器單元53的容量變大。即,在圖21的例子中的分配的 情況下,與圖19所示的分配的情況相比,編碼單元14可以抑制緩衝 器溢出的發生,可以在更寬範圍的條件下實現。
但是應注意,由於係數重新排列緩衝器單元53形成在允許以低 於高速緩沖存儲器111的速度讀寫的RAM 103中,因此與圖19中的 分配例子的情況相比處理能力降低。但是,由於多次執行數據的讀或 寫的中間計算緩衝器單元52形成在高速操作的高速緩衝存儲器111 中,因此處理能力的降低小。
圖22是示出向圖3中的編碼單元14分配硬體資源的另一例子的 圖。在圖22所示的例子中,與圖21中的分配例子相比,將分別不同 的CPU分別分配給執行圖像數據Y的編碼的編碼單元和執行圖像數據C的編碼的編碼單元。即,將CPU 101-1分配給執行圖像數據Y 的編碼的編碼單元的小波變換單元51-1、係數重新排列單元54-1和熵 編碼單元55-1的全部處理,中間計算緩衝器單元52-1形成在高速緩 衝存儲器111-1中,係數重新排列緩衝器單元53-1形成在RAM 103 中。而且,將CPU 101-2分配給執行圖像數據C的編碼的編碼單元的 小波變換單元51-2、係數重新排列單元54-2和熵編碼單元55-2的全 部處理,中間計算緩沖器單元52-2形成在高速緩衝存儲器111-2中, 係數重新排列緩衝器單元53-2形成在RAM 103中。
此時,實現小波變換單元51、係數重新排列單元54和熵編碼單 元55的各功能的軟體程序被裝入高速緩衝存儲器111-1和高速緩衝存 儲器111-2中。CPU 101-1和CPU 101-2根據需要從高速緩衝存儲器 111-1或高速緩衝存儲器111-2中讀出並執行軟體程序的函數。
在圖22中的例子的情況下,圖像數據Y在CPU 101-1中編碼, 圖像數據C在CPU 101-2中編碼。即,與圖21中的例子的情況同樣, 通過針對圖像數據Y執行小波變換單元51-1的處理,CPU 101-1從 RAM 103讀出圖4象數據Y,並且執行小波變換處理。此時,CPU 101-1 使用高速緩衝存儲器111-1的存儲區域的一部分作為中間計算緩衝器 單元52-1,使中間計算緩衝器單元52-1保持在小波變換處理的垂直方 向和水平方向上的分析濾波處理中生成的中間數據。
與圖21中的例子的情況同樣,CPU 101-1使用RAM 103的存儲 區域的一部分作為係數重新排列緩沖器單元53-1,使係數重新排列緩 衝器單元53-1保持通過小波變換生成的係數數據。通過執行係數重新 排列單元54-1的處理,CPU 101-1在按照預定的順序重新排列係數數 據的同時,讀出RAM 103的係數重新排列緩衝器單元53-1中保持的 係數數據。通過執行熵編碼單元55-1的處理,CPU 101-1對在通過系 數重新排列單元54-1中的處理而按順序重新排列的同時從RAM 103 讀出的係數數據進行編碼,生成編碼數據Y。 CPU 101-1將所生成的 編碼數據Y提供給RAM 103以存儲在其中。
但是應注意,與圖21中的例子的情況不同,在圖22的例子的情
49況下,與CPU 101-1中的處理並行地,CPU 101-2針對圖像數據C與 圖21中的例子的情況同樣地執行小波變換以及係數重新排列和熵編 碼。
在如圖22所示編碼單元14在個人計算機100中實施的情況下, 針對圖像數據Y和圖像數據C的編碼單元14的所有處理由分別不同 的單個CPU 101執行,在它們的編碼處理的過程中生成的小波變換的 中間數據被存儲到內置於各個CPU 101的高速緩衝存儲器111中,通 過各自的小波變換生成的係數數據被存儲到RAM 103中。即,以2 個CPU為一組來執行編碼處理。
此時,例如與CPU 101-1和CPU 101-2同樣,還可以將其它CPU 101-3和CPU 101-4分配給編碼單元14。即,如圖22的情況那樣,實 現小波變換單元51、係數重新排列單元54和熵編碼單元55的各功能 的軟體程序還被裝入高速緩衝存儲器111-3和高速緩衝存儲器111-4 的每一個中。CPU 101-3和CPU 101-4從各個高速緩衝存儲器111中 讀出並執行這些軟體程序,並且執行編碼單元14的小波變換單元51、 係數重新排列單元54和熵編碼單元55各自的處理。此時,用於圖像 數據Y的中間計算緩衝器單元52-1形成在高速緩衝存儲器111-3中, 用於圖像數據C的中間計算緩衝器單元52-2形成在高速緩衝存儲器 111-4中,用於圖像數據Y的係數重新排列緩衝器單元53-l和用於圖 像數據C的係數重新排列緩衝器單元53-2都形成在RAM 103中。
即,在該情況下,2個編碼單元14由CPU 101-1 ~ CPU 101-4實 現。例如針對要編碼的移動圖像數據的每個圖片將編碼處理分配給編 碼單元14。例如,CPU 101-1和CPU 101-2構成為執行第奇數個圖片 的編碼處理,CPU 101-3和CPU 101-4構成為執行第偶數個圖片的編 碼處理。圖23中示出該情況下的處理流程。
在圖23的例子中,CPU 101-1從RAM 103中讀出第1圖片的第 1分區(PI)的圖像數據Y,在使高速緩衝存儲器111-1保持中間數 據的同時對圖像數據Y執行小波變換(P1DWT(Y)),並且在RAM 103 保持所得到的係數數據之後,針對係數數據執行順序的重新排列和熵
50編碼(P1VLC(Y))。通過該熵編碼得到的編碼數據Y累積在RAM 103 中。與CPU 101-1中的處理並行地,CPU 101-2從RAM 103中讀出 第1圖片的第l分區(P1)的圖像數據C,在使高速緩衝存儲器111-2 保持中間數據的同時對圖像數據C執行小波變換(P1DWT(C)),並 且在RAM 103中保持所得到的係數數據之後,針對係數數據執行順 序的重新排列和熵編碼(P1VLC(C))。通過該熵編碼得到的編碼數 據C也累積在RAM 103中。
因此,利用該情況下的編碼單元14,在CPU 101-1和CPU 101-2 完成針對第l分區的熵編碼的時間點,相當於一個分區以上的編碼數 據(編碼數據Y和編碼數據C )被累積在RAM 103中,從而可以開 始編碼數據的輸出。
同樣,針對第2分區以後,CPU 101-1將圖《象數據Y編碼,與此 並行地,CPU 101-2將圖像數據C編碼。當最後第n個分區(Pn)的 圖像數據Y和圖像數據C被編碼並且編碼數據Y和編碼數據C被輸 出時,由於第1圖片的所有編碼數據都被輸出,因此對第l圖片結束 編碼數據的輸出。
與CPU 101-1和CPU 101-2中的處理並行地,如圖23所示,CPU 101-3和CPU 101-4可以對第2圖片執行與CPU 101-1和CPU 101-2 中的處理同樣的編碼處理。即,在該情況下,CPU 101-34十對第2圖 片的圖像數據Y執行編碼處理,CPU 101-4針對第2圖片的圖像數據 C執行編碼處理。
在這種情況下,在針對第1圖片的處理完成時,CPU 101-1和 CPU 101-2然後針對第3圖片執行編碼處理。與CPU 101-1和CPU 101-2中的處理並行地,CPU 101-3和CPU 101-4同樣地針對第4圖 片執行編碼處理。第5圖片以後也同樣地處理。
如上所述,在圖22所示的分配例子的情況下,通過並行地對圖 像數據Y和圖像數據C進行編碼,可以使編碼數據的輸出開始定時、 即第1分區的編碼數據Y和編碼數據C的輸出定時早於圖19或圖21 中的例子的情況,因此可以減少編碼處理中的延遲時間。附帶地說,由於同樣的原因,在圖22所示的分配例子的情況下,第1圖片的編碼 也可以比圖19或圖21中的例子的情況更快地完成。
因此,在解碼單元36中將在編碼單元14中編碼的編碼數據依次 解碼並且將重建後的圖像數據的圖像顯示在監視器上的情況下,從開 始編碼時到顯示第一個圖片時的延遲時間在圖22所示的分配例子的 情況下比在圖19或圖21中的例子的情況下要短。
另外,與圖21中的例子的情況同樣,中間計算緩衝器單元52形 成在高速緩衝存儲器lll中,係數重新排列緩沖器單元53形成在RAM 103中。從而與圖19中的例子的情況相比,可以使中間計算緩沖器單 元52和係數重新排列緩衝器單元53的容量更大,可以更多地抑制緩 衝器溢出的發生,並且可以使處理能力的降低更小。
順便提及,在圖22中的例子的情況下,由於對圖像數據Y的小 波變換的中間數據和對圖像數據C的小波變換的中間數據累積在相互 不同的高速緩衝存儲器111中,因此與圖21中的例子的情況相比,可 以使中間計算緩衝器單元52的容量更大,並且可以更多地抑制緩衝器 溢出的發生。
但是應當注意,實際上由於圖像數據Y與圖像數據C相比包含 更大量的信息並且在圖形上更為複雜,因此編碼處理所需的時間更長。 因此,由於在CPU 101-2中發生待機時間,CPU101的使用效率比圖 21的情況降低,處理能力也比圖21的情況降低。
圖24是示出向圖3中的編碼單元14分配硬體資源的另一例子的 圖。在圖24所示的例子中,與圖22中的分配例子相比,將分別不同 的CPU 101分別分配給小波變換單元51、係數重新排列單元54和熵 編碼單元55。
即,將CPU 101-1分配給執行圖像數據Y的小波變換處理的小 波變換單元51-1,將CPU 101-2分配給執行圖像數據Y的係數數據的 係數重新排列的係數重新排列單元54-1和執行圖像數據Y的係數數據 的熵編碼的熵編碼單元55-1。中間計算緩沖器單元52-1形成在CPU 101-1的高速緩衝存儲器111-1中,係數重新排列緩衝器單元53-1形
52成在RAM 103中。
同樣,將CPU 101-3分配給執行圖像數據C的小波變換處理的 小波變換單元51-2,將CPU 101-4分配給執行圖像數據C的係數數據 的係數重新排列的係數重新排列單元54-2和執行圖像數據C的係數數 據的熵編碼的熵編碼單元55-2。中間計算緩衝器單元52-2形成在CPU 101-3的高速緩衝存儲器111-3中,係數重新排列緩衝器單元53-2形 成在RAM 103中。
此時,實現小波變換單元51的功能的軟體程序被裝入高速緩衝 存儲器111-1和高速緩衝存儲器111-3中,實現係數重新排列單元54 和熵編碼單元55的各功能的軟體程序被裝入高速緩衝存儲器111-2和 高速緩衝存儲器111-4中。CPU 101-1 ~ CPU 101-4分別根據需要從各 個高速緩衝存儲器111中讀出並執行這些軟體程序的函數。
在圖24中的例子的情況下,圖像數據Y在CPU 101-1和CPU 101-2中編碼,圖像數據C在CPU 101-3和CPU 101-4中編碼。即, 針對圖像數據Y,通過執行小波變換單元51-1的處理,CPU 101-1從 RAM103讀出圖像數據Y,並且執行小波變換處理。此時,CPU 101-1 使用高速緩衝存儲器111-1的存儲區域的一部分作為中間計算緩衝器 單元52,使中間計算緩沖器單元52保持在小波變換處理的垂直方向 和水平方向上的分析濾波處理中生成的中間數據。
與圖22中的例子的情況同樣,CPU 101-1使用RAM103的存儲 區域的一部分作為係數重新排列緩沖器單元53,使係數重新排列緩衝 器單元53保持通過小波變換生成的係數數據。
但是應當注意,與圖22中的例子的情況不同,在圖24的例子的 情況下,通過執行係數重新排列單元54的處理,CPU 101-2在按照預 定的順序重新排列係數數據的同時,讀出由CPU 101-1生成並且保持 在RAM103的係數重新排列緩衝器單元53中的係數數據。通過執行 熵編碼單元55的處理,CPU 101-2對在通過係數重新排列單元54中 的處理而按順序重新排列的同時從RAM 103讀出的係數數據進行編 碼,生成編碼數據Y。 CPU 101-2將所生成的編碼數據Y提供給RAM
53103以存儲在其中。
與CPU 101-1和CPU 101-2的該處理並行地,CPU 101-3和CPU 101-4針對圖像數據C如圖22中的例子的情況所示執行小波變換以及 係數重新排列和熵編碼。
在如圖24所示編碼單元14在個人計算機100中實施的情況下, 以CPU 101-1 ~ CPU 101-4這4個CPU為 一組來執行編碼處理。因此, 在這種情況下, 一個編碼單元14由CPU 101-1 ~ CPU 101-4來實現。 自然地,編碼單元14構成為執行要編碼的移動圖像數據的所有圖片的 編碼處理。圖25中示出該情況下的處理流程。
由於CPU 101-1~CPU 101-4彼此獨立地操作,因此,如圖25 中的例子所示,並行地執行各個處理。
在圖25的例子中,CPU 101-1從RAM 103中讀出第1圖片的第 1分區(PI)的圖像數據Y,在使高速援沖存儲器111-1保持中間數 據的同時對圖像數據Y執行小波變換(P1DWT(Y)),並且將所得到 的係數數據存儲到RAM 103中。
在將係數數據存儲到RAM 103中後,CPU 101-1接著從RAM 103中讀出第1圖片的第2分區(P2)的圖像數據Y,在使高速緩沖 存儲器111-1保持中間數據的同時對圖像數據Y執行小波變換 (P2DWT(Y)),並且將所得到的係數數據存儲到RAM 103中。此時, 與CPU 101-1的P2DWT(Y)的處理並行地,CPU 101-2讀出存儲在 RAM 103中的第l分區(PI)的係數數據,執行順序的重新排列和熵 編碼(P1VLC(Y))。在將所得到的編碼數據Y存儲到RAM 103中後, CPU 101-2接著讀出存儲在RAM 103中的第2分區(P2 )的係數數 據,執行順序的重新排列和熵編碼(P2VLC(Y))。
即,CPU 101-1和CPU 101-2 4吏處理對象相互錯開一個分區來並 行地執行小波變換以及係數重新排列和熵編碼。同樣,針對第3分區 以後,並行地執行小波變換以及係數重新排列和熵編碼。
與對該圖^f象數據Y的編碼處理並行地,CPU 101-3和CPU 101-4 同樣地對圖像數據C執行處理。即,與CPU 101-1的P1DWT(Y)的處理的執行並行地,CPU 101-3執行P1DWT(C)的處理,並且與CPU 101-1的P2DWT(Y)的處理的執行並行地,CPU 101-3執行P2DWT(C) 的處理,CPU 101-4執行P1VLC(C)的處理。
因此,利用該情況下的編碼單元14,在CPU 101-2和CPU 101-4 完成針對第l分區的熵編碼的時間點,相當於一個分區以上的編碼數 據(編碼數據Y和編碼數據C)被累積在RAM 103中,從而可以開 始編碼數據的輸出。
同樣,針對第2分區以後,CPU 101-1和CPU 101-2將圖像數據 Y編碼,與此並行地,CPU 101-3和CPU 101-4將圖像數據C編碼。 當最後第n個分區(Pn)的圖像數據Y和圖像數據C被編碼並且編 碼數據Y和編碼數據C被輸出時,由於第1圖片的所有編碼數據都被 輸出,因此對第1圖片結束編碼數據的輸出。
第2圖片以後也同樣地處理。
如上所述,在圖24所示的分配例子的情況下,與圖22中的例子 的情況同樣,可以使編碼數據的輸出開始定時變早,可以減少延遲時 間。附帶地說,如圖25所示,在圖24所示的分配例子的情況下,編 碼單元14可以比圖22中的例子的情況更快地執行第1圖片的編碼。 因此,在解碼單元36中將在編碼單元14中編碼的編碼數據依次解碼 並且將重建後的圖像數據的圖像顯示在監視器上的情況下,從開始編 碼時到顯示第一個圖片時的延遲時間可以變短。
另外,與圖21中的例子的情況同樣,中間計算緩衝器單元52形 成在高速緩衝存儲器lll中,係數重新排列緩衝器單元53形成在RAM 103中。從而與圖19中的例子的情況相比,可以使中間計算緩衝器單 元52和係數重新排列緩衝器單元53的容量更大,可以更多地抑制緩 衝器溢出的發生,並且可以使處理能力的降低更小。
在圖24中的例子的情況下,與圖22中的例子的情況同樣,由於 對圖像數據Y的小波變換的中間數據和對圖像數據C的小波變換的中 間數據累積在相互不同的高速緩沖存儲器111中,因此與圖21中的例 子的情況相比,可以使中間計算緩衝器單元52的容量更大,並且可以更多地抑制緩衝器溢出的發生。
但是應當注意,實際上由於圖像數據Y與圖像數據C相比包含 更大量的信息並且在圖形上更為複雜,因此編碼處理所需的時間更長。 因此,在CPU 101-3和CPU 101-4中發生待機時間,並且由於CPU 101 在編碼處理的過程中切換,因此控制變得複雜並且處理時間也增加。 因此,CPU 101的使用效率比圖22的情況降低,處理能力也比圖22 的情況降低。
由於小波變換、係數重新排列和熵編碼的各處理都由多個函數構 成,因此還可以在上述的小波變換和係數重新排列之間以外的定時改 變要分配的CPU101。但是,除非在能夠並行執行的處理的情況下, 否則即使分配了相互不同的CPU 101,也不能縮短處理時間。在圖3 所示的編碼單元14中,難以使小波變換單元51的處理中包含的詳細 處理彼此並行。而且,由於係數重新排列是從係數重新排列緩衝器單 元53中讀出係數數據,因此如果相互不同的CPU IOI被分配給該系 數重新排列和熵編碼,則在CPU IOI之間還需要進行係數數據的傳送, 從而使得處理效率低。因此,在編碼單元14中,如上所述,最好在小 波變換與係數重新排列和熵編碼之間分開。
在如以往的計算機那樣由計算機自動地分配執行處理的CPU的 情況下,該分配按照負荷狀況等進行。這樣,可能不總是以這種方式 在最佳位置分割處理並分配給相互不同的CPU。取決於情況,編碼處 理的效率可能極大降低。通過如圖25中的例子所示預先在小波變換與 係數重新排列和熵編碼之間分割處理,編碼單元14能夠以好的效率執 4亍編碼處理。
圖26是示出向圖12中的解碼單元36分配硬體資源的例子的圖。 在圖26所示的例子中,與圖19中的編碼單元14的例子的情況同樣, 將CPU 101-1分配給解碼單元36的熵解碼單元61和小波逆變換單元 63的全部處理,並且係數緩衝器單元62形成在高速緩衝存儲器111-1 中。
此時,實現熵解碼單元61和小波逆變換單元63的各功能的軟體
56程序被裝入高速緩衝存儲器111-1中。CPU 101-1根據需要從高速緩
衝存儲器111-1中讀出並執行軟體程序的函數。
要解碼的編碼數據Y和編碼數據C保持在RAM 103中。
在圖26的例子的情況下,編碼數據Y和編碼數據C都在CPU 101-1中解碼。即,通過執行熵解碼單元61的處理,CPU 101-1從RAM 103讀出編碼數據Y,並且執行熵解碼。CPU 101-1使用高速緩衝存 儲器111-1的存儲區域的一部分或全部作為係數緩衝器單元62,使系 數緩衝器單元62保持通過熵解碼生成的係數數據。
通過執行小波逆變換單元63的處理,CPU 101-1讀出高速緩衝 存儲器111-1的係數緩衝器單元62中保持的係數數據,執行小波逆變 換處理,重建圖像數據Y。 CPU 101-1將所重建的圖像數據Y提供給 RAM 103以存儲在其中。
CPU 101-1對圖像數據C與圖像數據Y的情況同樣地執行處理。
在如圖26所示解碼單元36在個人計算機100中實施的情況下, 解碼單元36中的所有處理由一個CPU 101執行,通過熵解碼處理生 成的係數數據被存儲到CPU 101的高速緩衝存儲器111中。
此時,與CPU 101-1同樣,例如還將其它CPU 101-2 ~ CPU 101-4 分配給解碼單元36。即,如圖26所示的CPU 101-1的情況那樣,實 現熵解碼單元61和小波逆變換單元63的各功能的軟體程序還被裝入 高速緩沖存儲器111-2 ~高速緩衝存儲器111-4的每一個中。CPU 101-2 ~ CPU 101-4從各個高速緩衝存儲器111中讀出並執行這些軟體 程序,並且執行解碼單元36的熵解碼單元61和小波逆變換單元63。 此時,與高速緩衝存儲器111-1同樣,係數緩沖器單元62形成在高速 緩沖存儲器111-2 ~高速緩沖存儲器111-4的每一個中。
即,在該情況下,4個解碼單元36由CPU 101-1 ~ CPU 101-4實 現。例如針對編碼數據的編碼之前的圖像數據的每個圖片來分配解碼 單元36。即,在該情況下,CPU 101-1 ~ CPU 101-4針對相互不同的 圖片彼此並行地執行解碼處理。圖27中示意性地示出該情況下的處理 流程。如圖27所示,執行熵解碼單元61的處理的CPU 101-1從RAM 103中讀出第1圖片的第1分區的編碼數據Y,執行熵解碼 (P1VLD(Y)),並且將所得到的係數數據存儲到高速緩衝存儲器111-1 的係數緩衝器單元62中。接著,執行小波逆變換單元63的處理的CPU 101-1從係數緩衝器單元62中讀出係數數據,執行小波逆變換 (P1DWT(Y)),並且將所得到的圖像數據Y提供給RAM 103以保 持在其中。在完成了針對圖像數據Y的處理之後,CPU 101-1然後針 對編碼數據C執行同樣的處理(P1VLD(C)、 P1DWT(C))。
在該時間點,相當於至少一個分區以上的圖像數據Y和圖像數據 C被累積在RAM 103中,因此開始圖像數據Y和圖像數據C的輸出。
在完成了針對第l分區的解碼處理後,CPU 101-1同樣地針對第 2分區以後執行解碼處理(P2VLD(Y)、 P2DWT(Y)、 P2VLD(C)、 P2DWT(C)…)。
如圖27所示,與CPU 101-1的該處理並行地,還可以由CPU 101-2針對第2圖片、CPU 101-3針對第3圖片、CPU 101-4針對第4 圖片來執行同樣的解碼處理。在這種情況下,在針對第l圖片的處理 完成時,CPU 101-1然後針對第5圖片執行解碼處理。與CPU 101-1 中的處理並行地,CPU 101-2 ~ CPU 101-4同樣地分別針對第6~第8 圖片執行解碼處理。第9圖片以後也同樣地處理。
這樣,在圖26所示的分配的情況下,解碼單元36可以同時並行 地執行4個圖片的解碼處理。而且,在該情況下,在一系列解碼處理 中不需要切換CPU。另外,可以不使用RAM 103而僅使用高速緩衝 存儲器111來執行處理,從而解碼單元36能夠高速地對編碼數據進行 解碼。即,解碼單元36能夠以高處理能力執行解碼處理。
而且,不管CPU 101的個數如何(例如即使為1個時),個人 計算機100都能實現解碼單元36。
但是,由於高速緩衝存儲器lll具有小的容量,因此能夠同時累 積的數據量存在限制,取決於要解碼的編碼數據的數據量或內容,高 速緩衝存儲器111的容量可能不足而導致溢出,因此常常不能將圖26
58所示的分配示例應用於執行解碼所需的緩衝器量大的情況。
圖28示出向圖12中的解碼單元36分配硬體資源的另一例子。 在圖28所示的例子中,將分別不同的CPU 101分別分配給執行編碼 數據Y的解碼的解碼單元和執行編碼數據C的解碼的解碼單元。
即,將CPU 101-1分配給執行編碼數據Y的解碼的解碼單元的 熵解碼單元61-1和小波逆變換單元63-1的全部處理,係數緩衝器單 元62-1形成在高速緩沖存儲器111-1中。而且,將CPU 101-2分配給 執行編碼數據C的解碼的解碼單元的熵解碼單元61-2和小波逆變換單 元63-2的全部處理,係數緩衝器單元62-2形成在高速緩衝存儲器 111-2中。
此時,實現熵解碼單元61和小波逆變換單元63的各功能的軟體 程序被裝入高速緩衝存儲器111-1和高速緩沖存儲器111-2中。CPU 101-1和CPU 101-2根據需要從高速緩衝存儲器111-1或高速緩沖存儲 器111-2中讀出並執行軟體程序的函數。
在圖28中的例子的情況下,編碼數據Y在CPU 101-1中解碼, 編碼數據C在CPU 101-2中解碼。即,通過熵解碼單元61-1的處理, CPU 101-1從RAM 103讀出編碼數據Y,並且執行熵解碼。CPU 101-1 使用高速緩衝存儲器111-1的存儲區域的一部分或全部作為係數緩衝 器單元62-1 ,使係數緩沖器單元62-1保持通過熵解碼生成的係數數據。
通過執行小波逆變換單元63-1的處理,CPU 101-1讀出高速緩沖 存儲器111-1的係數緩衝器單元62-1中保持的係數數據,執行小波逆 變換處理,重建圖像數據Y。 CPU 101-1將所重建的圖像數據Y提供 給RAM 103以存儲在其中。
通過執行熵解碼單元61-2的處理,CPU 101-2從RAM 103讀出 編碼數據C,並且執行熵解碼。CPU 101-2使用高速緩衝存儲器111-2 的存儲區域的一部分或全部作為係數緩衝器單元62-2,使係數緩衝器 單元62-2保持通過熵解碼生成的係數數據。
通過執行小波逆變換單元63-2的處理,CPU 101-2讀出高速緩衝 存儲器111-2的係數緩衝器單元62-2中保持的係數數據,執行小波逆變換處理,重建圖像數據C。 CPU 101-2將所重建的圖像數據C提供 給RAM 103以存儲在其中。
在如圖28所示解碼單元36在個人計算機100中實施的情況下, 解碼單元36中的針對圖像數據Y和圖像數據C的全部處理由分別不 同的單個CPU 101執行,通過熵解碼生成的係數數據被存儲到內置於 每個CPU 101中的高速緩衝存儲器lll中,通過小波逆變換重建的圖 像數據Y和圖像數據C都被存儲到RAM 103中。即,以2個CPU 為1組執行解碼處理。
此時,與CPU 101-1和CPU 101-2同樣,例如還將其它CPU 101-3 和CPU 101-4分配給解碼單元36。即,如圖28中的CPU 101-1和CPU 101-2的情況那樣,實現熵解碼單元61和小波逆變換單元63的各功 能的軟體程序還被裝入高速緩衝存儲器111-3和高速緩衝存儲器111-4 中。CPU 101-3和CPU 101-4從各個高速緩衝存儲器111中讀出並執 行這些軟體程序,並且執行解碼單元36的熵解碼單元61和小波逆變 換單元63的各處理。此時,用於編碼數據Y的係數緩沖器單元62-1 形成在高速緩沖存儲器111-3中,用於編碼數據C的係數緩衝器單元 62-2形成在高速緩沖存儲器111-4中。
即,在該情況下,2個解碼單元36由CPU 101-1 ~ CPU 101-4實 現。例如針對編碼數據的編碼之前的圖像數據的每個圖片來分配解碼 單元36。例如,CPU 101-1和CPU 101-2構成為執行第奇數個圖片的 解碼處理,CPU 101-3和CPU 101-4構成為執行第偶數個圖片的解碼 處理。圖29中示出該情況下的處理流程。
在該情況下,如圖29所示,執行熵解碼單元61-1的處理的CPU 101-1從RAM 103中讀出第1圖片的第l分區的編碼數據Y,執行熵 解碼(P1VLD(Y)),並且將所得到的係數數據存儲到高速緩衝存儲 器111-1的係數緩衝器單元62-1中。接著,執行小波逆變換單元63-l 的處理的CPU 101-1從係數緩衝器單元62-1中讀出係數數據,執行小 波逆變換(P1DWT(Y)),並且將所得到的圖像數據Y提供給RAM 103 以保持在其中。
60與該處理並行地,執行熵解碼單元61-2的處理的CPU 101-2從 RAM 103中讀出第1圖片的第1分區的編碼數據C,執行熵解碼 (P1VLD(C)),並且將所得到的係數數據存儲到高速緩衝存儲器111-2 的係數緩衝器單元62-2中。接著,執行小波逆變換單元63-2的處理 的CPU 101-2從係數緩衝器單元62-2中讀出係數數據,執行小波逆變 換(P1DWT(C)),並且將所得到的圖像數據C提供給RAM 103以 保持在其中。
因此,利用該情況下的解碼單元36,在CPU 101-1和CPU 101-2 完成針對第1分區的小波逆變換的時間點,相當於一個分區以上的圖 像數據(圖像數據Y和圖像數據C )被累積在RAM 103中,從而可 以開始圖像數據的輸出。
同樣,針對第2分區以後,分別由CPU 101-1和CPU 101-2彼此 並行地將編碼數據Y和編碼數據C解碼。
與CPU 101-1和CPU 101-2的該處理並4亍地,還可以由CPU 101-3和CPU 101-4針對第2圖片來執行與CPU 101-1和CPU 101-2 中的處理同樣的解碼處理。在該情況下,CPU 101-3針對第2圖片的 編碼數據Y執行解碼,CPU 101-4針對第2圖片的編碼數據C執行解 碼。
在這種情況下,在針對第1圖片的處理完成時,CPU 101-1和 CPU 101-2然後針對第3圖片執行解碼處理。與CPU 101-1和CPU 101-2中的處理並行地,CPU 101-3和CPU 101-4同樣地針對第4圖 片執行解碼處理。第5圖片以後也同樣地處理。
因此,在圖28所示的分配例子的情況下,通過並行地對編碼數 據Y和編碼數據C進行解碼,可以使重建後的圖像數據的輸出定時、 即第l分區的圖像數據Y和圖像數據C的輸出定時早於圖26中的例 子的情況,因此可以減少解碼處理中的延遲時間。
附帶地說,由於同樣的原因,在圖28所示的分配例子的情況下, 第1圖片的解碼也可以比圖26中的例子的情況更快地完成。因此,在 監視器上顯示在解碼單元36中重建的圖像數據的圖像的情況下,從開
61始解碼時到顯示第一個圖片時的延遲時間在圖28所示的分配例子的 情況下比在圖26中的例子的情況下要短。
另外,由於通過對編碼數據Y進行解碼得到的係數數據和通過對 編碼數據C進行解碼得到的係數數據累積在相互不同的高速緩衝存儲 器111中,因此與圖26中的例子的情況相比,可以使係數緩沖器單元 62的容量更大,並且可以更多地抑制緩沖器溢出的發生。
順便提及,由於圖像數據Y與圖像數據C相比包含更大量的信 息並且在圖形上更為複雜,因此解碼處理所需的時間更長。因此,由 於在CPU 101-3或CPU 101-4中發生待機時間,因此CPU 101的使用 效率比圖26的情況降低,處理能力也比圖26的情況降低。
圖30示出圖12中的解碼單元36的分配的另一例子。在圖30所 示的例子中,與圖28中的分配例子相比,將分別不同的CPU 101分 別分配給熵解碼單元61和小波逆變換單元63。
即,將CPU 101-1分配給對編碼數據Y進行解碼的熵解碼單元 61-1,將CPU 101-2分配給對在熵解碼單元61-1中生成的係數數據執 行小波逆變換處理的小波逆變換單元63-1。係數緩衝器單元62-1形成 在高速緩沖存儲器111-2中。
同樣,將CPU 101-3分配給對編碼數據C進行解碼的熵解碼單 元61-2,將CPU 101-4分配給對在熵解碼單元61-2中生成的係數數據 執行小波逆變換處理的小波逆變換單元63-2。係數緩衝器單元62-2形 成在高速緩衝存儲器111-4中。
此時,實現熵解碼單元61的功能的軟體程序被裝入高速緩衝存 儲器111-1和高速緩衝存儲器111-3中,實現小波逆變換單元63的各 功能的軟體程序被裝入高速緩衝存儲器lll-2和高速緩衝存儲器111-4 中。CPU 101-1 ~ CPU 101-4分別根據需要從各個高速緩衝存儲器111 中讀出並執行這些軟體程序的函數。
在圖30中的例子的情況下,編碼數據Y在CPU 101-1和CPU 101-2中解碼,編碼數據C在CPU 101-3和CPU 101-4中解碼。即, 通過執行熵解碼單元61-1的處理,針對編碼數據Y, CPU 101-1從
62RAM 103讀出編碼數據Y,並且執行熵解碼處理。此時,CPU 101-1 使用高速緩衝存儲器111-2的存儲區域的一部分或全部作為係數緩衝 器單元62,使係數緩沖器單元62保持所生成的係數數據。
通過執^f亍小波逆變換單元63-1的處理,CPU 101-2讀出由CPU 101-1生成並保持在RAM 103的係數緩衝器單元62中的係數數據, 作為小波變換處理而在垂直方向和水平方向上分級地執行合成濾波處 理,生成圖像數據Y。 CPU 101-2將所生成的圖像數據Y提供給RAM 103以存儲在其中。
與CPU 101-1和CPU 101-2的該處理並行地,CPU 101-3和CPU 101-4如圖30中的例子的情況那樣,針對圖像數據C執行熵解碼處理 和小波逆變換處理。
在如圖30所示解碼單元36在個人計算機100中實施的情況下, 以CPU 101-1 ~ CPU 101-4這4個CPU為一組來執4亍解碼處理。因此, 在這種情況下, 一個解碼單元36由CPU 101-1 ~ CPU 101-4來實現。 自然地,解碼單元36構成為執行要解碼並重建的移動圖像數據的所有 圖片的解碼處理。圖31中示出該情況下的處理流程。
由於CPU 101-1 ~CPU 101-4彼此獨立地操作,因此,如圖31 中的例子所示,可以並行地執行各個處理。
在該情況下,如圖31所示,執行熵解碼單元61-1的處理的CPU 101-1從RAM 103中讀出第1圖片的第1分區的編碼數據Y,執行熵 解碼(P1VLD(Y)),並且將所得到的係數數據存儲到高速緩衝存儲 器111-2的係數緩衝器單元62-1中。執行熵解碼單元61-1的處理的 CPU 101-1針對第2分區的編碼數據Y同樣地執行熵解碼 (P2VLD(Y))。
與P2VLD(Y)並行地,執行小波逆變換單元63-1的處理的CPU 101-2從係數緩衝器單元62-1中讀出第1圖片的第l分區的係數數據, 執行小波逆變換(P1DWT(Y)),並且使所得到的圖像數據Y在保持 在RAM 103中後輸出。執行小波逆變換單元63-1的處理的CPU 101-2 同樣地針對第2分區的係數數據執行小波逆變換(P2DWT(Y))。即,同樣地針對第3分區以後,CPU 101-1和CPU 101-2將處理 對象彼此錯開一個分區來並行地執行熵解碼和小波逆變換。
與該針對圖^象數據Y的編碼處理並行地,CPU 101-3和CPU 101-4同樣地針對圖像數據C執行處理。即,與CPU 101-1的PIDWT(Y) 的處理的執行並行地,CPU 101-3執行P1DWT(C)的處理,並且,與 CPU 101-1的P2DWT(Y)的處理的執行並行地,CPU 101-3執行 P2DWT(C)的處理,CPU 101-4執行PIVLC(C)的處理。
因此,利用該情況下的解碼單元36,在CPU 101-2和CPU 101-4 完成針對第1分區的小波逆變換的時間點,相當於一個分區以上的圖 像數據(圖像數據Y和圖像數據C )被累積在RAM 103中,從而可 以開始圖像數據的輸出。
同樣,針對第2分區以後,由CPU 101-1和CPU 101-2對編碼數 據Y進行解碼,與此並行地,由CPU 101-3和CPU 101-4對編碼數據 C進行解碼。當最後第n個分區(Pn)的編碼數據Y和編碼數據C 被解碼並且圖像數據Y和圖像數據C被輸出時,由於第1圖片的所有 圖像數據都被輸出,因此對第1圖片結束圖像數據的輸出。
第2圖片以後也同樣地處理。
如上所述,在圖30所示的分配例子的情況下,通過並行地執行 熵解碼處理和小波逆變換處理,可以使重建後的圖像數據的輸出開始 定時、即第1分區的圖像數據Y和圖像數據C的輸出定時早於圖28 中的例子的情況,因此可以減少解碼處理中的延遲時間。附帶地說, 由於同樣的原因,在圖30所示的分配例子的情況下,第1圖片的解碼 可以比圖28中的例子的情況更快地完成。
因此,在監視器上顯示在解碼單元36中重建的圖像數據的圖像 的情況下,從開始解碼處理時到顯示第一個圖片時的延遲時間在圖30 所示的分配例子的情況下比在圖28中的例子的情況下要短。
另外,與圖28中的例子的情況同樣,由於通過對編碼數據Y進
累積在相互不同的高速緩衝存儲器111中,因此與圖26中的例子的情
64況相比,可以使係數援衝器單元62的容量更大,並且可以更多地抑制 緩衝器溢出的發生。
但是應當注意的是,實際上,由於圖像數據Y與圖像數據C相 比包含更大量的信息並且在圖形上更為複雜,因此解碼處理所需的時 間更長。因此,在CPU 101-3和CPU 101-4中發生待機時間,並且由 於CPU101在解碼處理的過程中切換,因此控制變得複雜並且處理時 間也增加。因此,CPU101的使用效率比圖28的情況降低,處理能力 也比圖28的情況降低。
由於熵解碼和小波逆變換的各處理都由多個函數構成,因此還可 以在上述的熵解碼和小波逆變換之間以外的定時改變要分配的CPU 101。但是,除非在能夠並行執行的處理的情況下,否則即使分配了相 互不同的CPU 101,也不能縮短處理時間。在圖12所示的解碼單元 36中,難以使熵解碼處理或小波逆變換中包含的詳細處理彼此並行。 因此,在解碼單元36中,如上所述,最好在熵解碼與小波逆變換之間 分開。
在如以往的計算機那樣由計算機自動地分配執行處理的CPU的 情況下,該分配按照負荷狀況等進行。這樣,可能不總是以這種方式 在最佳位置分割處理並分配給相互不同的CPU。取決於情況,解碼處 理的效率可能極大降低。通過如圖30中的例子所示預先在熵解碼與小 波逆變換之間分割處理,解碼單元36能夠以好的效率執行解碼處理。
這樣,儘管在圖3中說明了係數的重新排列緊接在小波變換之後 (熵編碼之前)執行,但只要編碼數據按照從低頻到高頻的順序被提 供給解碼單元36 (圖12)的小波逆變換單元63即可(即,只要編碼 數據按照從通過對屬於低頻子帶的係數數據進行編碼得到的編碼數 據、到通過對屬於高頻子帶的係數數據進行編碼得到的編碼數據的順 序提供即可),並且重新排列的定時可以是緊接在小波變換之後以外 的定時。
例如,如圖32所示,可以重新排列通過熵編碼得到的編碼數據 的順序。與圖3的情況同樣,圖32的情況下的編碼單元14具有小波變換單元51、中間計算緩衝器單元52和熵編碼單元55,但是,代替 圖3中的係數重新排列緩衝器單元53和係數重新排列單元54,具有 代碼重新排列緩衝器單元213和代碼重新排列單元214。
從小波變換單元51輸出的係數數據被提供給熵編碼單元55。熵 編碼單元55按照提供的順序對所提供的係數數據進行編碼,使代碼重 新排列緩衝器單元213保持通過編碼得到的編碼數據。即,編碼數據 按照從高頻到低頻的順序提供給代碼重新排列緩沖器單元213。代碼 重新排列單元214通過按照執行小波逆變換處理的順序、即按照從低 頻到高頻的順序讀出代碼重新排列緩衝器單元213中保持的編碼數 據,對編碼數據進行重新排列,並使編碼數據在保持在RAM 103中 後按照該順序輸出。
在圖32中還示出向這樣的編碼單元14分配硬體資源的例子。在 圖32的例子的情況下,以編碼處理的所有各個處理都在一個CPU101 中執行的方式來進行分配。即,在重新排列編碼數據的順序的情況下, 可以與參照圖19說明的重新排列係數數據的情況同樣地分配硬體資 源。同樣,硬體資源也可以如圖21、圖22或圖24的例子所示進行分 配。圖33中示出如圖24的例子所示分配硬體資源的方式。
如圖33所示,在該情況下,將CPU 101-1分配給執行圖像數據 Y的小波變換處理的小波變換單元51-1,將CPU 101-2分配給執行圖 像數據Y的係數數據的熵編碼的熵編碼單元55-1和執行編碼數據Y 的重新排列的代碼重新排列單元214-1。中間計算緩衝器單元52-1形 成在CPU 101-1的高速緩衝存儲器111-1中,代碼重新排列緩衝器單 元213-1形成在RAM 103中。
同樣,將CPU 101-3分配給執行圖像數據C的小波變換處理的 小波變換單元51-2,將CPU 101-4分配給執行圖像數據C的係數數據 的熵編碼的熵編碼單元55-2和執行編碼數據C的重新排列的代碼重新 排列單元214-2。中間計算緩衝器單元52-2形成在CPU 101-3的高速 緩衝存儲器111-3中,代碼重新排列緩衝器單元213-2形成在RAM 103 中。
66這樣,在重新排列編碼數據的順序的情況下,與重新排列係數數
據的情況同樣,通過適當地執行硬體資源的分配,編碼單元14能夠以 好的效率執行編碼處理。順帶提及,在重新排列編碼數據的順序的情 況下同樣,當如圖33所示要將多個CPU 101分配給小波變換單元 51-1、熵編碼單元55-1和代碼重新排列單元214-1 (或者小波變換單 元51-2、熵編碼單元55-2和代碼重新排列單元214-2)時,預先確定 CPU 101的切換位置,從而能夠抑制硬體資源的不適當分配。
硬體資源的分配方法可以是上述方法以外的方法。例如,在圖33 的例子中,代碼重新排列緩衝器單元213-1可以形成在高速緩衝存儲 器111-2中,代碼重新排列緩衝器單元213-2可以形成在高速緩衝存 儲器111-4中,CPU 101-1可以分配給熵編碼單元55-1, CPU 101-3 可以分配給熵編碼單元55-2,或者相互不同的CPU 101可以分配給小 波變換單元51-1、熵編碼單元55-1和代碼重新排列單元214-1,相互 不同的CPU 101可以分配給小波變換單元51-2、熵編碼單元55-2和 代碼重新排列單元214-2。
在這種情況下,解碼單元36的結構和硬體資源的分配方法與以 上參照圖26 ~圖31所說明的情況相同。
重新排列可以在解碼單元36側執行。在這種情況下,如圖34所 示,編碼單元14具有小波變換單元51、中間計算緩衝器單元52和熵 編碼單元55,不具有圖3所示的係數重新排列緩衝器單元53和係數 重新排列單元54。
當然,此時編碼單元14中的對CPU 101的分配可以與參照圖 20 ~圖25所述的重新排列係數數據的情況同樣地執行。即,在該情況 下同樣,通過適當地執行硬體資源的分配,編碼單元14能夠以好的效 率執行編碼處理。作為一例,圖34中示出與圖24中的例子對應的例 子。
圖35示出此時對應於編碼單元14的解碼單元36的結構。即, 解碼單元36在係數緩衝器單元62和小波逆變換單元63之間具有用於 重新排列係數數據的順序的係數重新排列緩衝器單元223。在此時的解碼單元36中,對CPU 101的分配可以與參照圖26~圖31所述的例 子同樣地執行。即,在該情況下同樣,通過適當地執行硬體資源的分 配,解碼單元36能夠以好的效率執行解碼處理。作為一例,圖35中 示出與圖30中的例子對應的例子。
在圖35中的例子的情況下,保持從係數緩衝器單元62-l輸出的 亮度分量Y的係數數據的係數重新排列緩衝器單元223-1和保持從系 數緩衝器單元62-2輸出的色度分量C的係數數據的係數重新排列緩沖 器單元223-2形成在ROM 103中。
執行小波逆變換單元63-1的處理的CPU 101-2按照重新排列的 順序、即按照從高頻到低頻的順序,從ROM 103的係數重新排列緩 衝器單元223-1中讀出亮度分量Y的係數數據,並按照該順序對係數 數據執行小波逆變換處理。CPU 101-2使所生成的圖像數據Y在保持 到RAM 103中後輸出。
同樣,執行小波逆變換單元63-2的處理的CPU 101-4按照重新 排列的順序、即按照從低頻到高頻的順序,從ROM 103的係數重新 排列緩衝器單元223-2中讀出色度分量C的係數數據,並按照該順序 對係數數據執行小波逆變換處理。CPU 101-4使所生成的圖像數據C 在保持到RAM 103中後輸出。
通過如上所述適當地向CPU 101分配編碼單元14和解碼單元36 中的各個處理,可以提高編碼單元14和解碼單元36的處理效率,並 且提高處理能力或降低延遲時間。
存在編碼單元14或解碼單元36要求的特性取決於圖像而不同的 情況。為了還適當地適應這種情況,可以預先準備上述的多個分配模 式,根據條件適當選擇分配模式。以下將說明該情況。首先說明安裝 了軟體編碼器或軟體解碼器的硬體。圖36是示出安裝了軟體編碼器或 軟體解碼器的信息處理系統的結構例子的框圖。
如圖36所示,信息處理系統300是由信息處理設備301、經由 PCI總線302與信息處理設備301連接的存儲設備303、作為多個視 頻磁帶記錄器(VTR)的VTR 304-1 ~VTR 304-S、用於用戶對它們
68執行操作輸入的滑鼠305、鍵盤306和操作控制器307構成的系統, 並且是通過所安裝的程序來執行上述的圖像編碼處理、圖像解碼處理 等的系統。
例如,信息處理系統300的信息處理設備301能夠使存儲設備303 存儲通過對存儲在由RAID( Redundant Arrays of Independent Disks, 獨立磁碟冗餘陣列)構成的大容量的存儲設備303中的移動圖像內容 進行編碼而得到的編碼數據,能夠使存儲設備303存儲通過對存儲在 存儲設備303中的編碼數據進行解碼得到的解碼圖像數據(移動圖像 內容),或者使編碼數據或解碼圖像數據經由VTR304-1 ~ VTR304-S 記錄到視頻磁帶上。另外,信息處理設備301還構成為能夠將記錄在 安裝在VTR 304-1 ~ VTR 304-S上的視頻磁帶上的移動圖像內容捕獲 到存儲設備303上。此時,信息處理設備301可以對移動圖像內容進 行編碼。
信息處理設備301具有孩i處理器401、 GPU( Graphics Processing Unit,圖形處理單元)402、 XDR (Extreme Data Rate,極速數據率) -RAM 403、南橋(southbridge) 404、 HDD ( Hard Disk Drive,硬碟 驅動器)405、 USB接口 (USB 1/F)406和聲音輸入/輸出編解碼器407。
GPU 402經由專用總線411連接到微處理器401。XDR-RAM 403 經由專用總線412連接到微處理器401。南橋404經由專用總線連接 到微處理器401的1/0控制器444。 HDD 405、 USB接口 406和聲音 輸入/輸出編解碼器407也連接到南橋404。揚聲器421連接到聲音輸 入/輸出編解碼器407。而且,顯示器422連接到GPU 402。
另外,滑鼠305、鍵盤306、 VTR 304-1 ~VTR304-S、存儲設備 303和操作控制器307還經由PCT總線302連接到南橋404。
滑鼠305和鍵盤306接收用戶的操作輸入,經由PCI總線302 和南橋404將指示用戶的操作輸入的內容的信號提供給微處理器401。 存儲設備303和VTR 304-1 ~ VTR 304-S構成為能夠記錄或重放預定 的數據。
驅動器308還根據需要連接到PCI總線302,適當地安裝磁碟、
69光碟、光磁碟或半導體存儲器等可裝卸介質311,並且根據需要將從 其中讀出的軟體程序裝入HDD 405。
微處理器401是將以下部件集成到 一個晶片中並實現例如4[GHz] 的操作頻率的多核結構執行OS (Operating System,作業系統)等 基本程序的通用的主CPU核441;子CPU核442-1 ~子CPU核442-8, 是經由共用總線445連接到主CPU核441的多個RISC (Reduced Instruction Set Computer,精簡指令集計算機)的(這種情況下為8 個)信號處理處理器;存儲器控制器443,針對具有例如256[M字節
的容量的XDR-RAM 403執行存儲器控制;以及I/O (輸入/輸出)控 制器444,管理對南橋404的數據輸入和輸出。
在起動時,根據存儲在HDD 405中的控制程序,微處理器401 讀出存儲在HDD 405中的必要的應用程式並將該應用程式展開到 XDR-RAM 403,然後根據該應用程式和操作者的操作執行必要的控 制處理。
並且,通過執行軟體,微處理器401例如能夠實現上述的編碼處 理或解碼處理,使作為編碼結果得到的編碼流經由南橋404提供給 HDD 405以存儲在其中,或者將作為解碼結果得到的移動圖像內容的 重放視頻向GPU402進行數據傳送,以顯示在顯示器422上。
儘管使用微處理器401內的各個CPU核的方法是任意的,但例 如主CPU核441可以執行與圖像編碼處理或圖像解碼處理的控制有關 的處理,8個子CPU核442-1 ~子CPU核442-8可以構成為例如以參 照圖17說明的同時、並行的方式執行小波變換、係數重新排列、熵編 碼、熵解碼、小波逆變換、量化和反量化等各處理。此時,如果主CPU 核441構成為以分區為單位向8個子CPU核442-1 ~子CPU核442-8 中的每一個分配處理,則編碼處理或解碼處理與參照圖17說明的情況 同樣,以分區為單位以同時、並行的方式執行。即,可以提高編碼處 理或解碼處理的效率,縮短處理整體的延遲時間,並且降低負荷、處 理時間和處理所需的存儲器容量。當然,各處理也可以用這以外的方 法來執行。GPU 402構成為除了與使要在顯示器422上顯示的移動圖像內容 的重放視頻移動時的紋理的粘貼等有關的最終繪製處理之外,還管理 執行在顯示器422上一次顯示多個移動圖像內容的重放圖像和靜止圖 像內容的靜止圖像時的坐標變換計算處理、以及針對移動圖像內容的 重放圖像和靜止圖像內容的靜止圖像的放大/縮小處理等的功能,從而 減輕對微處理器401的處理負荷。
在微處理器401的控制下,GPU 402對所提供的移動圖像內容的 視頻數據或靜止圖像內容的圖像數據實施預定的信號處理,向顯示器 422發送出作為結果得到的視頻數據或圖像數據,並且在顯示器422 上顯示圖像信號。
這樣,由樣t處理器401的8個子CPU核442-1 ~子CPU核442-8 以同時、並行的方式解碼的多個移動圖像內容的重放視頻經由總線 411向GPU 402進行數據傳送。此時的傳送速度例如是最大30[G字 節/秒,從而即使具有特殊效果的複雜重放圖像也能夠高速、平滑地 顯示。
另外,微處理器401還能夠對移動圖像內容的視頻數據和音頻數 據中的音頻數據實施音頻混合處理,並將作為結果得到的編輯音頻數 據經由南橋404和聲音輸入/輸出編解碼器407發送給揚聲器421,從 而能夠從揚聲器421輸出基於音頻信號的音頻。
如圖37所示,作為高速緩衝存儲器的LS (Local Store,局部存 儲器)451-1 ~ LS 451-8分別內置於上述的信息處理系統300的微處理 器401的8個子CPU核442-1 ~子CPU核442-8中。即,8個子CPU 核442-1 ~子CPU核442-8可以使用它們內置的LS 451-1 ~ LS 451-8 和XDR-RAM 403的存儲區域。
與圖18中的個人計算機100的高速緩衝存儲器111的情況同樣, LS 451-1 ~ LS 451-8可以由子CPU核442-1 ~子CPU核442-8分別獨 佔性地使用,可以不經由共用總線445來執行數據的讀或寫,並且可 以比XDR-RAM 403更高速地操作。因此,LS 451-1 ~ LS 451-8能夠 比XDR-RAM 403更高速地進行數據的讀或寫。但應注意,與
71XDR-RAM 403相比,LS 451-1 ~ LS 451-8的每容量的單價高並且其 容量小。
儘管實際上XDR-RAM 403的容量也是有限的,但以下假定 XDR-RAM 403的容量足夠大,相反,LS 451-1 ~ LS 451-8具有小容 量並且僅能夠保持最小必需的數據。
在以下說明中,在不需要彼此區分時,將子CPU核442-1 ~子 CPU核442-8稱為子CPU核442。並且,在不需要彼此區分時,將 LS 451-1 ~ LS 451-8稱為LS 451。
對於子CPU核442-1 ~子CPU核442-8,由主CPU核441從預 先準備的上述多個分配方法中選擇最佳的一個,並且按照該分配方法 分配編碼單元14和解碼單元36中的各處理。
圖38中示出主CPU核441所具有的功能塊。
如圖38所示,主CPU核441具有OS 501,是執行信息處理系 統300整體的控制並使硬體執行軟體程序的處理的基本軟體;編碼選 擇控制單元502,在安裝了編碼單元14時執行分配方法的選擇;解碼 選擇控制單元503,在安裝了解碼單元36時執行分配方法的選擇;以 及高速緩衝存儲器504,是主CPU核441的本地高速緩沖存儲器。
OS 501管理信息處理系統300的硬體資源,根據來自編碼選擇 控制單元502或解碼選擇控制單元503的請求,提供作為與硬體資源 有關的信息的資源信息,或者向處理分配硬體資源。
例如,OS501從HDD 405讀出編碼程序或解碼程序,並將其分 配給LS 451或XDR-RAM 403,或者使子CPU核442執行處理。另 外,例如OS 501確保XDR-RAM 403所需的容量的區域。
編碼選擇控制單元502具有大小信息取得單元511、資源信息取 得單元512、計算精度選擇單元513、中間計算緩衝器使用量計算單元 514、係數重新排列緩衝器使用量計算單元515、編碼方式選擇單元516 和分配單元517。
大小信息取得單元511從XDR-RAM 403取得保持在XDR-RAM 403中的作為處理對象的圖像數據541的大小信息,包括圖像的垂直
72和水平大小、位深度、小波濾波器的種類、小波變換的分解數等信息
中的至少一個。資源信息取得單元512經由OS 501取得包括當前可 用的子CPU核的個數、LS 451的容量等信息中的至少一個的資源信 息。計算精度選擇單元513根據編碼參數531執行熵編碼中的計算選 擇,其中編碼參數531是編碼是否是可逆的、是否時延(latency )優 先、是否處理能力優先或是否精度優先等與編碼有關的預定義設定信 息。
中間計算緩衝器使用量計算單元514針對每個分量計算表示中間 計算緩衝器單元52需要的容量的中間計算緩衝器使用量。係數重新排 列緩衝器使用量計算單元515針對每個分量計算表示係數重新排列緩 沖器單元53需要的容量的係數重新排列緩衝器使用量。
編碼方式選擇單元516根據各種條件從保持在XDR-RAM 403中 的編碼程序543-1、編碼程序543-2、…中選擇一個要執行的程序。編 碼程序543-1、編碼程序543-2、…均為用於實現圖3中的編碼單元14 的軟體程序,並且預先定義了向程序本身分配硬體的方法。但應注意, 分配方法針對各軟體程序是不同的。在以下說明中,在不需要彼此區 分時,將編碼程序543-1、編碼程序543-2、...稱為編碼程序543。分 配單元517按照編碼程序543的分配方法,向由編碼方式選擇單元516 選擇的編碼程序543分配子CPU核442-1 ~子CPU核442-8等硬體資 源。
解碼選擇控制單元503具有大小信息取得單元521、資源信息取 得單元522、係數緩衝器使用量計算單元523、解碼方式選擇單元524 和分配單元525。
大小信息取得單元521取得保持在XDR-RAM 403中的作為處理 對象的編碼數據542的大小信息,包括圖像的垂直和水平大小、位深 度、小波濾波器的種類、小波變換的分解數等信息中的至少一個。資 源信息取得單元522經由OS 501取得信息處理系統300的資源信息。
係數緩衝器使用量計算單元523針對每個分量計算表示係數緩衝 器單元62需要的容量的係數緩衝器使用量。解碼方式選擇單元524根據各種條件從保持在XDR-RAM 403中 的解碼程序544-1、解碼程序544-2、...中選擇一個要執行的程序。解 碼程序544-1、解碼程序544-2、…均為用於實現圖12中的解碼單元 36的軟體程序,並且預先定義了向程序本身分配硬體的方法。但應注 意,分配方法針對各軟體程序是不同的。在以下說明中,在不需要彼 此區分時,將解碼程序544-1、解碼程序544-2、…稱為解碼程序544。 分配單元525按照解碼程序544的分配方法,向由解碼方式選擇單元 524選擇的解碼程序544分配子CPU核442-1 ~子CPU核442-8等硬 件資源。
表示預設的編碼條件的編碼參數531和表示預設的解碼條件的解 碼參數532存儲在高速緩沖存儲器504中。另外,用於編碼方式的選 擇的小波變換關係表533和係數重新排列關係表534保持在高速緩衝 存儲器504中。
如圖39所示,小波變換關係表533是由分解數、5x3濾波器、9x7 濾波器的項目構成的表信息,是用於得到關係指數的表信息,該關係 指數用於計算用於小波變換的中間計算緩沖器單元52需要的容量。
另外,如圖40所示,係數重新排列關係表534是由分解數、5x3 濾波器、9x7濾波器的項目構成的表信息,是用於得到關係指數的表 信息,該關係指數用於計算係數重新排列緩衝器單元53需要的容量。
以下i兌明上述的主CPU核441執4亍的各個處理。
首先參照圖41的流程圖說明由編碼選擇控制單元502執行的編 碼選擇控制處理的流程例子。編碼選擇控制處理是為了在執行編碼處 理時從子CPU核442-1 ~子CPU核442-8的分配方式彼此不同的多個 編碼程序543中選擇一個而執行的處理。例如,當用戶指示執行編碼 處理時,編碼選擇控制單元502開始編碼選擇控制處理。
當開始了編碼選擇控制處理時,在步驟S101中,大小信息取得 單元511取得針對保持在XDR-RAM 403中的作為處理對象的圖像數 據541的大小信息。在步驟S102中,資源信息取得單元512經由OS 501取得作為與可用的硬體資源有關的信息的資源信息。在步驟S103
74中,計算精度選擇單元513根據編碼參數531、大小信息等選擇和設 定編碼處理的計算精度。以下說明計算精度選擇處理的詳細流程。
當選擇了計算精度時,中間計算緩衝器使用量計算單元514在步 驟S104中使用小波變換關係表533等計算表示中間計算緩衝器單元 52需要的容量的中間計算緩衝器使用量。係數重新排列緩衝器使用量 計算單元515在步驟S105中使用係數重新排列關係表534等計算表示 係數重新排列緩衝器單元53需要的容量的係數重新排列緩衝器使用
在步驟S106中,編碼方式選擇單元516根據大小信息、資源信 息、所選擇的計算精度、以及所計算的中間計算緩衝器使用量和係數 重新排列緩沖器使用量等各種信息,選擇編碼方式。編碼方式選擇處 理的詳情將後述。
當選擇了編碼方式時,在步驟S107中,分配單元517按照所選 擇的編碼程序543的分配方法,向各處理分配子CPU核442-1 ~子 CPU核442-8。
當完成了步驟S107中的處理時,結束編碼選擇控制處理。 接著參照圖42的流程圖說明在圖41的步驟S103中執行的計算
精度選擇處理的流程例子。
當開始了計算精度選擇處理時,在步驟S121中,計算精度選擇
單元513根據大小信息確定在小波變換處理中使用的濾波器類型是
5x3濾波器還是9x7濾波器。如果確定是5x3濾波器,則處理前進到
步驟S122。
在步驟S122中,計算精度選擇單元513根據編碼參數531確定 是否執行可逆編碼作為熵編碼。如果確定執行可逆編碼,則處理前進 到步驟S123。在步驟S123中,計算精度選擇單元513根據大小信息 確定圖像數據541的位深度是否是13以下。
如果確定位深度是13以下,則處理前進到步驟S124。在步驟S124 中,計算精度選擇單元513選擇和設定16位固定小數點型作為計算精 度。當步驟S124中的處理完成時,完成計算精度選擇處理,處理返回
75到圖41中的步驟S103,執行步驟S104以後的處理。
另外,如果在圖42的步驟S123中確定位深度大於13,則處理 前進到步驟S125。在步驟S125中,計算精度選擇單元513選擇和設 定32位固定小數點型作為計算精度。當步驟S125中的處理完成時, 完成計算精度選擇處理,處理返回到圖41中的步驟S103,執行步驟 S104以後的處理。
如果在圖42的步驟S122中確定執行不可逆編碼作為熵編碼,則 處理前進到步驟S126。在步驟S126中,計算精度選擇單元513根據 編碼參數531確定是否精度優先。如果確定不是精度優先,則處理返 回到步驟S123,重複此後的處理。
如果在步驟S126中確定精度優先,則處理前進到步驟S127。而 且,如果在步驟S121中根據大小信息確定在小波變換處理中使用的濾 波器的類型是9x7濾波器,則處理前進到步驟S127。
在步驟S127中,計算精度選擇單元513選擇和設定32位浮動小 數點型作為計算精度。當步驟S127中的處理完成時,完成計算精度選 擇處理,處理返回到圖41中的步驟S103,執行步驟S104以後的處理。
如上所述來選擇計算精度。
接著,參照圖43的流程圖說明在圖41的步驟S106中執行的編 碼方式選擇處理的流程例子。
在步驟S141中,根據由中間計算緩衝器使用量計算單元514計 算的中間計算緩衝器使用量和由資源信息取得單元512確認的、表示 LS 451的可用存儲容量的可用容量,編碼方式選擇單元516確定LS 451的可用容量是否是作為用於2個分量的中間計算緩衝器單元52足 夠的容量。即,編碼方式選擇單元516確定LS451的可用容量是否等 於或大於2個分量的各自的中間計算緩衝器使用量之和。如果確定足 夠,則處理前進到步驟S142。
在步驟S142中,根據由中間計算緩衝器使用量計算單元514計 算的中間計算緩衝器使用量、由係數重新排列緩衝器使用量計算單元 515計算的係數重新排列緩衝器使用量、以及由資源信息取得單元512確認的LS 451的可用容量,編碼方式選擇單元516確定LS 451的可 用容量是否是作為用於2個分量的中間計算緩衝器單元52和係數重新 排列緩衝器單元53足夠的容量。即,編碼方式選擇單元516確定LS 451的可用容量是否等於或大於2個分量的各自的中間計算緩沖器使 用量和係數重新排列緩衝器使用量之和。如果確定足夠,則處理前進 到步驟S143。
在步驟S143中,編碼方式選擇單元516根據編碼參數531確定 是否處理能力優先。如果確定處理能力優先,則處理前進到步驟S144。
在步驟S144中,編碼方式選擇單元516選擇應用參照圖19說明 的分配方法的編碼方式A。即,在這種情況下,如圖19所示, 一個子 CPU核442被分配給編碼單元14的所有處理。並且,中間計算緩衝 器單元52和係數重新排列緩衝器單元53都形成在LS 451中。當步驟 S144的處理完成時,編碼方式選擇處理完成,處理返回到圖41的步 驟S106,處理前進到步驟S107。
如果在圖43的步驟S142中確定LS 451的可用容量不足夠作為 用於2個分量的中間計算緩衝器單元52和係數重新排列緩衝器單元 53,則處理前進到步驟S145。在步驟S145中,編碼方式選擇單元516 根據編碼參數531確定是否處理能力優先。如果確定處理能力優先, 則處理前進到步驟S146。如果在步驟S143中確定不是處理能力優先, 則處理前進到步驟S146。
在步驟S146中,編碼方式選擇單元516選擇應用參照圖21說明 的分配方法的編碼方式B。即,在這種情況下,如圖21所示,l個子 CPU核442被分配給編碼單元14中的所有處理。並且,中間計算緩 衝器單元52形成在LS451中,係數重新排列緩衝器單元53形成在作 為共享存儲器的XDR-RAM 403中。當步驟S146的處理完成時,編 碼方式選擇處理完成,處理返回到圖41的步驟S106,處理前進到步 驟S107。
如果在圖43的步驟S145中確定不是處理能力優先,則處理前進 到步驟S147。在步驟S147中,編碼方式選擇單元516根據由資源信
77息取得單元512取得的資源信息,確定當前可用的子CPU核442的個 數是否為1個。如果確定為l個,則處理返回到步驟S146。如果在步 驟S147中確定存在多個可用的子CPU核442,則處理前進到步驟 S148。在步驟S148中,編碼方式選擇單元516根據由資源信息取得 單元512取得的資源信息,確定當前可用的子CPU核442的個數是否 為2個。如果確定為2個,則處理前進到步驟S149。
在步驟S149中,編碼方式選擇單元516選擇應用參照圖22說明 的分配方法的編碼方式C。即,在這種情況下,如圖22所示,以2 個子CPU核442為一組, 一個子CPU核442被分配給對圖像數據Y 進行編碼的編碼單元14中的所有處理,另 一個子CPU核442 ^皮分配 給對圖像數據C進行編碼的編碼單元14的所有處理。並且,用於圖 像數據Y的小波變換的中間計算緩衝器單元52-1形成在對圖像數據Y 進行編碼的子CPU核442的LS451中,用於圖像數據C的小波變換 的中間計算緩衝器單元52-2形成在對圖^f象數據C進行編碼的子CPU 核442的LS 451中。而且,保持從圖像數據Y生成的係數數據的系 數重新排列緩衝器單元53-l和保持從圖像數據C生成的係數數據的系 數重新排列緩衝器單元53-2都形成在作為共享存儲器的XDR-RAM 403中。當步驟S149的處理完成時,編碼方式選擇處理完成,處理返 回到圖41的步驟S106,處理前進到步驟S107。
如果在圖43的步驟S141中確定LS 451的可用容量不足夠作為 用於2個分量的中間計算緩衝器單元52,則處理前進到步驟S150。在 步驟S150中,根據由中間計算緩衝器使用量計算單元514計算的中間 計算緩衝器使用量、以及由資源信息取得單元512確認的LS 451的可 用容量,編碼方式選擇單元516確定LS 451的可用容量是否是作為用 於l個分量的中間計算緩衝器單元52足夠的容量。即,編碼方式選擇 單元516確定LS 451的可用容量是否等於或大於每個分量的中間計算 緩衝器使用量。如果確定足夠,則處理前進到步驟S151。
在步驟S151中,編碼方式選擇單元516根據由資源信息取得單 元512取得的資源信息,確定當前可用的子CPU核442的個數是否為1個。如果確定存在多個可用的子CPU核442,則處理前進到步驟 S152。在步驟S152中,編碼方式選擇單元516根據由資源信息取得 單元512取得的資源信息,確定當前可用的子CPU核442的個數是否 為2個。如果確定為2個,則處理返回到步驟S149。
如果在步驟S152中確定當前可用的子CPU核442的個數為3個 以上,則處理前進到步驟S153。在步驟S153中,編碼方式選擇單元 516根據編碼參數531確定是否處理能力優先。如果確定處理能力優 先,則處理返回到步驟S149。
如果在步驟S153中確定不是處理能力優先,則處理前進到步驟 S154。另外,如果在步驟S148中確定當前可用的子CPU核442的個 數為3個以上,則處理前進到步驟S154。
在步驟S154中,編碼方式選擇單元516選擇應用參照圖24說明 的分配方法的編碼方式D。即,在這種情況下,如圖24所示,以4 個子CPU核442為一組,相互不同的子CPU核442^皮分配給對圖像 數據Y進行編碼的編碼單元14的小波變換單元51-1的處理、對圖像 數據Y進行編碼的編碼單元14的係數重新排列單元54-1和熵編碼單 元55-1的處理、對圖像數據C進行編碼的編碼單元14的小波變換單 元51-2的處理、以及對圖像數據C進行編碼的編碼單元14的係數重 新排列單元54-2和熵編碼單元55-2的各處理。
並且,對圖像數據Y進行編碼的編碼單元14的中間計算緩沖器 單元52-1形成在被分配了小波變換單元51-1的處理的子CPU核442 的LS451中,對圖像數據C進行編碼的編碼單元14的中間計算緩沖 器單元52-2形成在被分配了小波變換單元51-2的處理的子CPU核 442的LS451中。
而且,對圖像數據Y進行編碼的編碼單元14的係數重新排列緩 沖器單元53-1和對圖像數據C進行編碼的編碼單元14的係數重新排 列緩衝器單元53-2都形成在作為共享存儲器的XDR-RAM403中。當 步驟S154的處理完成時,編碼方式選擇處理完成,處理返回到圖41 的步驟S106,處理前進到步驟S107。如果在圖43的步驟S150中確定LS 451的可用容量不足夠作為 用於l個分量的中間計算緩衝器單元52,則處理前進到步驟S155。並 且,如果在步驟S151中確定當前可用的子CPU核的個數是1個,則 則處理前進到步驟S155。在這種情況下,由於預先準備的4個編碼方 式都不能選擇(不能實施),因此在步驟S155中,編碼方式選擇單元 516執行錯誤處理,例如向用戶提供通知。當步驟S155的處理完成時, 編碼方式選擇處理完成,處理返回到圖41的步驟S106,處理前進到 步驟S107。
如上所述,編碼選擇控制單元502可以根據圖像數據541的大小 信息、資源信息、編碼參數等適當地執行硬體資源的分配,從而編碼 單元14在實際條件下可以更有效地操作。
順便提及,該分配能夠以任何單位執行。例如,該分配可以逐個 分區地執行,或者可以逐個圖片地執行。另外,儘管以上說明了預先 準備4個分配方法,由編碼方式選擇單元516從其中選擇一個,但可 以準備任意個數的硬體資源分配方法。即,編碼程序543的個數是任 意的。並且,硬體資源的分配方法是任意的,可以是上述4個分配方 法以外的方法。
另外,通過使用8個子CPU核442-1 ~子CPU核442-8中的任 意的子CPU核442,可以組合4吏用上述編碼方式A 編碼方式D (以 並行方式操作)。即,例如,編碼選擇控制單元502可以為各個分區 或各個圖片釆用相互不同的編碼方式,並且改變分配硬體資源的方式。 這樣,編碼選擇控制單元502能夠以更有效地利用硬體資源的方式向 編碼單元14中的各個處理分配硬體資源,從而使編碼單元14能夠更 有效地操作。
接著參照圖44的流程圖說明由解碼選擇控制單元503執行的解 碼選擇控制處理的流程例子。解碼選擇控制處理是為了在執行解碼處 理時從子CPU核442-1 ~子CPU核442-8的分配方式彼此不同的多個 解碼程序544中選擇一個而執行的處理。例如,當用戶指示執行解碼 處理時,解碼選擇控制單元503開始解碼選擇控制處理。當開始了解碼選擇控制處理時,在步驟S201中,大小信息取得 單元521取得針對保持在XDR-RAM 403中的作為處理對象的編碼數 據542的大小信息。在步驟S202中,資源信息取得單元522經由OS 501取得作為與可用的硬體資源有關的信息的資源信息。
在步驟S203中,係數緩衝器使用量計算單元523使用小波變換 關係表533等計算表示係數緩衝器單元62需要的容量的係數緩衝器使 用量。
在步驟S204中,解碼方式選擇單元524根據大小信息、資源信 息、所計算的係數緩沖器使用量等各種信息,選擇解碼方式。解碼方 式選擇處理的詳情將後述。
當選擇了解碼方式時,在步驟S205中,分配單元525按照所選 擇的解碼程序544的分配方法,向各處理分配子CPU核442-1 ~子 CPU核442-8。
當完成了步驟S205中的處理時,結束解碼選擇控制處理。
接著,參照圖45的流程圖說明在圖44的步驟S204中執行的解 碼方式選擇處理的流程例子。
在步驟S221中,根據由係數緩衝器使用量計算單元523計算的 係數緩衝器使用量和由資源信息取得單元522確認的LS 451的可用容 量,解碼方式選擇單元524確定LS 451的可用容量是否是作為係數緩 衝器單元62足夠的容量。即,解碼方式選擇單元524確定LS 451的 可用容量是否等於或大於每個分量的係數緩衝器使用量。如果確定足 夠,則處理前進到步驟S222。
在步驟S222中,解碼方式選擇單元524根據解碼參數532確定 在解碼處理中是否處理能力優先。如果確定處理能力優先,則處理前 進到步驟S223。
在步驟S223中,根據由係數緩衝器使用量計算單元523計算的 係數緩沖器使用量和由資源信息取得單元522確認的LS 451的可用容 量,解碼方式選擇單元524確定LS451的可用容量是否是作為用於2 個分量的係數援衝器單元62足夠的容量。即,解碼方式選擇單元524
81確定LS 451的可用容量是否等於或大於2個分量的各自的係數緩衝器 使用量之和。如果確定足夠,則處理前進到步驟S224。
在步驟S224中,解碼方式選擇單元524選擇應用參照圖26說明 的分配方法的解碼方式A。即,在這種情況下,如圖26所示,l個子 CPU核442被分配給解碼單元36的所有處理。並且,係數緩衝器單 元62形成在LS451中。當步驟S224的處理完成時,解碼方式選擇處 理完成,處理返回到圖44的步驟S204,處理前進到步驟S205。
如果在圖45的步驟S222中確定在解碼處理中不是處理能力優 先,則處理前進到步驟S225。在步驟S225中,解碼方式選擇單元524 根據由資源信息取得單元522取得的資源信息,確定當前可用的子 CPU核442的個數是否為1個。如果確定為1個,則處理返回到步驟 S223,重複後續的處理。如果在步驟S225中確定存在多個可用的子 CPU核442,則處理前進到步驟S226。
在步驟S226中,解碼方式選擇單元524根據由資源信息取得單 元522取得的資源信息,確定當前可用的子CPU核442的個數是否為 2個。如果確定為2個,則處理前進到步驟S227。並且,如果在步驟 S223中確定LS 451的可用容量不足夠作為用於2個分量的係數緩衝 器單元62,則處理前進到步驟S227。
在步驟S227中,解碼方式選擇單元524選擇應用參照圖28說明 的分配方法的解碼方式B。即,在這種情況下,如圖28所示,以2個 子CPU核442為一組, 一個子CPU核442 ,皮分配給對編碼數據Y進 行解碼的解碼單元36中的所有處理,另一個子CPU核442 ^皮分配給 對編碼數據C進行解碼的解碼單元36中的所有處理。並且,對編碼 數據Y進行解碼的解碼單元36的係數緩衝器單元62-1形成在被分配 了對編碼數據Y進行解碼的解碼單元36的子CPU核442的LS 451 中,對編碼數據C進行解碼的解碼單元36的係數緩衝器單元62-2形 成在被分配了對編碼數據C進行解碼的解碼單元36的子CPU核442 的LS451中。當步驟S227的處理完成時,解碼方式選擇處理完成, 處理返回到圖44的步驟S204,處理前進到步驟S205。如果在圖45的步驟S226中確定當前可用的子CPU核442的個 數為3個以上,則處理前進到步驟S228。
在步驟S228中,解碼方式選擇單元524選擇應用參照圖30說明 的分配方法的解碼方式C。即,在這種情況下,如圖30所示,以4 個子CPU核442為一組,相互不同的子CPU核442 ,皮分配給對編碼 數據Y進行解碼的解碼單元36的熵解碼單元61-1的處理、對編碼數 據Y進行解碼的解碼單元36的小波逆變換單元63-1的處理、對編碼 數據C進行解碼的解碼單元36的熵解碼單元61-2的處理、對編碼數 據C進行解碼的解碼單元36的小波逆變換單元63-2的處理。
並且,對編碼數據Y進行解碼的解碼單元36的係數緩衝器單元 62-1形成在被分配了小波逆變換單元63-1的處理的子CPU核442的 LS 451中,對編碼數據C進行解碼的解碼單元36的係數緩衝器單元 62-2形成在淨皮分配了小波逆變換單元63-2的處理的子CPU核442的 LS 451中。
當步驟S228的處理完成時,解碼方式選擇處理完成,處理返回 到圖44的步驟S204,處理前進到步驟S205。
如果在圖45的步驟S221中確定LS 451的可用容量不足夠作為 係數緩衝器單元62,則處理前進到步驟S229。在這種情況下,由於預 先準備的3個解碼方式都不能選擇(不能實施),因此在步驟S229 中,解碼方式選擇單元524執行錯誤處理,例如向用戶提供通知。當 步驟S229的處理完成時,解碼方式選擇處理完成,處理返回到圖44 的步驟S204,處理前進到步驟S205。
如上所述,解碼選擇控制單元503可以根據編碼數據542的大小 信息、資源信息或解碼參數532等適當地執行硬體資源的分配,從而 解碼單元36在實際條件下可以更有效地操作。
順便提及,該分配能夠以任何單位執行。例如,該分配可以逐個 分區地執行,或者可以逐個圖片地執行。另外,儘管以上說明了預先 準備3個分配方法,由解碼方式選擇單元524從其中選擇一個,但可 以準備任意個數的硬體資源分配方法。即,解碼程序544的個數是任
83意的。並且,硬體資源的分配方法是任意的,可以是上述3個分配方 法以外的方法。
另外,通過使用8個子CPU核442-1 ~子CPU核442-8中的任 意的子CPU核442,可以組合使用上述解碼方式A 解碼方式C (以 並行方式操作)。即,例如,解碼逸擇控制單元503可以為各個分區 或各個圖片採用相互不同的解碼方式,並且改變分配硬體資源的方式。 這樣,解碼選擇控制單元503能夠以更有效地利用硬體資源的方式向 解碼單元36的各個處理分配硬體資源,從而使解碼單元36能夠更有 效地操作。
以下說明分配的具體例子。
作為第1個例子,假定要編碼的圖像數據541的圖像大小為1920 像素xl080像素,數據結構是由亮度分量Y和色度分量C構成的分量 Y/C,位深度為12位,用於小波變換的濾波器是5x3濾波器,小波變 換的分解級別為4,並且沒有進行精度優先的設定。另外,假定當前 可用的子CPU核442的個數為4個以上,每個子CPU核442的LS 451 的容量為256[K字節。
而且,對於編碼參數531,將不可逆編碼和時延優先設定為編碼 條件。另外,對於解碼參數532,將時延優先設定為解碼條件。
在這種情況下,計算精度選擇單元513如圖42所示的流程圖那 樣,執行計算精度選擇處理,並且根據5x3濾波器、可逆編碼、無精 度優先設定和13以下的位深度的條件,選擇16位固定小數點型。而 且,使用小波變換關係表533,中間計算緩衝器使用量計算單元514 根據5x3濾波器和分解數為4的條件,將"7.5"設定為關係指數,並且 通過使輸入圖像的水平大小(1920像素)、計算精度(16位)和關係 指數(7.5)相乘,計算中間計算緩衝器使用量。
另外,通過使用係數重新排列關係表534,係數重新排列緩沖器 使用量計算單元515根據5x3濾波器和分解數為4的條件,將"42.25" 設定為關係指數,並且通過使輸入圖像的水平大小(1920像素)、單 位大小和關係指數(42.25)相乘,計算係數重新排列緩衝器使用量。
84根據上述計算結果和資源信息等,編碼方式選擇單元516如圖43 所示的流程圖那樣,執行編碼方式選擇處理。由於LS451的可用容量 足夠作為用於2個分量的中間計算緩衝器單元52,但不夠作為用於2 個分量的中間計算緩沖器單元52和係數重新排列緩沖器單元53,並 且優先項目是時延,可用子CPU核442的個數為4個,因此,編碼方 式選捧單元516選擇如圖24所示執4亍分配的編碼方式D。
通過這樣的分配,編碼單元14能夠如圖25所示繼續進行編碼處 理。即,通過這樣的分配,編碼單元14能夠以低的延遲來執行編碼處 理。
在該條件下分配解碼單元36的情況下,解碼方式選擇單元524 如圖45所示的流程圖那樣,執行解碼方式選擇處理。由於LS 451的 可用容量足夠作為係數緩衝器單元62,並且優先項目是時延,可用子 CPU核442的個數為4個,因此,解碼方式選擇單元524選擇如圖30 所示執行分配的解碼方式C。
通過這樣的分配,解碼單元36能夠如圖31所示繼續進行解碼處 理。即,通過這樣的分配,解碼單元36能夠以低的延遲來執行解碼處 理。
例如,在電視會議系統等要求實時地執行數據交換的系統中,要 求以低的延遲來執行編碼處理或解碼處理。即使將這樣的情況下,編 碼選擇控制單元502和解碼選擇控制單元503也能夠適當地分配硬體 資源,從而編碼單元14和解碼單元36能夠以低的延遲執行處理。
作為第2個例子,假定要編碼的圖像數據541的圖像大小為1280 像素x720像素,數據結構是由亮度分量Y和色度分量C構成的分量 Y/C,位深度為12位,用於小波變換的濾波器是9x7濾波器,小波變 換的分解級別為4。另外,假定當前可用的子CPU核442的個數為4 個以上,每個子CPU核442的LS451的容量為256[K字節。
而且,對於編碼參數531,將處理能力優先設定為編碼條件。另 外,對於解碼參數532,將處理能力優先設定為解碼條件。
在這種情況下,計算精度選擇單元513如圖42所示的流程圖那
85樣,執行計算精度選擇處理,並且根據9x7濾波器的條件,選擇32 位浮動小數點型。而且,使用小波變換關係表533,中間計算緩衝器 使用量計算單元514根據9x7濾波器和分解數為4的條件,將"11.25" 設定為關係指數,並且通過使輸入圖像的水平大小(1280像素)、計 算精度(32位)和關係指數(11.25)相乘,計算中間計算緩衝器使用
另外,通過使用係數重新排列關係表534,係數重新排列緩衝器 使用量計算單元515根據9x7濾波器和分解數為4的條件,將"94.75" 設定為關係指數,並且通過使輸入圖像的水平大小(1280像素)、單 位大小和關係指數(94.75)相乘,計算係數重新排列緩沖器使用量。
根據上述計算結果和資源信息等,編碼方式選擇單元516如圖43 所示的流程圖那樣,執行編碼方式選擇處理。由於LS451的可用容量 足夠作為用於2個分量的中間計算緩衝器單元52,但不夠作為用於2 個分量的中間計算緩衝器單元52和係數重新排列緩衝器單元53,並 且優先項目是處理能力,因此,編碼方式選擇單元516選擇如圖21 所示執行分配的編碼方式B。
通過這樣的分配,編碼單元14能夠如圖20所示繼續進行編碼處 理。即,通過這樣的分配,編碼單元14能夠以高的處理能力來執行編 碼處理。
在該條件下分配解碼單元36的情況下,解碼方式選擇單元524 如圖45所示的流程圖那樣,執行解碼方式選擇處理。由於LS 451的 可用容量足夠作為係數緩衝器單元62,優先項目是處理能力,並且 LS 451的可用容量還足夠作為用於2個分量的係數緩衝器單元62,因 此,解碼方式選擇單元524選擇如圖26所示執行分配的解碼方式A。
通過這樣的分配,解碼單元36能夠如圖27所示繼續進行解碼處 理。即,通過這樣的分配,解碼單元36能夠以高的處理能力來執行解 碼處理。
例如,存在如下情況如在處理具有高的幀速率的圖像數據的系 統中,要求以高的速度(高的處理能力)來執行編碼處理或解碼處理。
86即使在這樣的情況下,編碼選擇控制單元502和解碼選擇控制單元503 也能夠適當地分配硬體資源,從而編碼單元14和解碼單元36能夠以 高的處理能力執行處理。
作為第3個例子,假定要編碼的圖像數據541的圖像大小為4096 像素x2160像素,數據結構是由亮度分量Y和色度分量C構成的分量 Y/C,位深度為12位,用於小波變換的濾波器是9x7濾波器,小波變 換的分解級別為4。另外,假定當前可用的子CPU核442的個數為4 個以上,每個子CPU核442的LS451的容量為256[K字節]。
而且,對於編碼參數531,將處理能力優先設定為編碼條件。另 外,對於解碼參數532,將處理能力優先設定為解碼條件。
在這種情況下,計算精度選擇單元513如圖42所示的流程圖那 樣,執行計算精度選擇處理,並且根據9x7濾波器的條件,選擇32 位浮動小數點型。而且,使用小波變換關係表533,中間計算緩衝器 使用量計算單元514根據9x7濾波器和分解數為4的條件,將"11.25" 設定為關係指數,並且通過使輸入圖像的水平大小(1280像素)、計 算精度(32位)和關係指數(11.25)相乘,計算中間計算緩衝器使用 量。
另外,通過使用係數重新排列關係表534,係數重新排列緩衝器 使用量計算單元515根據9x7濾波器和分解數為4的條件,將"94.75" 設定為關係指數,並且通過使輸入圖像的水平大小(1280像素)、單 位大小和關係指數(94.75)相乘,計算係數重新排列緩衝器使用量。
根據上述計算結果和資源信息等,編碼方式選擇單元516如圖43 所示的流程圖那樣,執行編碼方式選擇處理。由於LS451的可用容量 不夠作為用於2個分量的中間計算緩沖器單元52,但足夠作為用於1 個分量的中間計算緩衝器單元52,並且可用子CPU核442的個數為4 個,優先項目是處理能力,因此,編碼方式選擇單元516選擇如圖22 所示執行分配的編碼方式C。
通過這樣的分配,編碼單元14能夠如圖23所示繼續進行編碼處 理。即,通過這樣的分配,編碼單元14能夠以高於編碼方式D的處
87理能力和低於編碼方式B的延遲來執行編碼處理。
在該條件下分配解碼單元36的情況下,解碼方式選擇單元524 如圖45所示的流程圖那樣,執行解碼方式選擇處理。由於LS 451的 可用容量足夠作為係數緩衝器單元62,優先項目是處理能力,LS451 的可用容量不夠作為用於2個分量的係數緩衝器單元62,並且可用的 子CPU核442的個數為4個,因此,解碼方式選擇單元524選擇如圖 28所示執行分配的解碼方式B。
通過這樣的分配,解碼單元36能夠如圖29所示繼續進行解碼處 理。即,通過這樣的分配,解碼單元36能夠以高於解碼方式C的處 理能力和低於解碼方式A的延遲來執行解碼處理。
例如,存在如下情況如在處理具有高清晰度視頻的圖像數據的 系統中,儘管要求以高的速度(高的處理能力)來執行編碼處理或解 碼處理,但圖像數據的數據量很大。在這樣的情況下,如果為了提高 處理能力而由一個子CPU核442執行編碼處理和解碼處理,則LS 451 的容量可能變得不足,從而導致不希望的延遲增加。因此,編碼選擇 控制單元502和解碼選擇控制單元503能夠以如下方式適當地分配硬 件資源編碼單元14和解碼單元36不會由於緩衝器溢出的發生等而 導致延遲時間不希望地增加,並且使處理能力儘可能地提高。
在圖3的編碼單元14和圖12的解碼單元36中,如上所述,在 編碼單元14中執行了重新排列小波變換係數的處理後,將編碼數據發 送給解碼單元36。但是,在編碼單元14中可以跳過重新排列小波變 換係數的處理,而在將編碼數據發送到解碼單元36後在解碼單元36 中執行重新排列小波變換係數的處理。即,可以如圖46所示,在編碼 單元14中執行了重新排列小波變換係數的處理後,將編碼數據發送給 解碼單元36,或者可以如圖47所示,在將編碼數據發送到解碼單元 36後,在解碼單元36中執行重新排列小波變換係數的處理。
在這種情況下,如圖48所示,解碼單元36需要包括係數重新排 列單元65。圖48是示出解碼單元36的另一實施方式的框圖。
在圖48中,與圖12的解碼單元36同樣,解碼單元36包括熵解碼單元61、係數緩衝器單元62和小波逆變換單元63,另外還包括系 數重新排列單元65。
係數重新排列單元65執行作為熵解碼單元61的解碼結果得到的 小波變換係數的重新排列,即,係數重新排列單元65執行與圖2中的 係數重新排列單元54同樣的小波變換係數重新排列,並將它們提供給 小波逆變換單元63以存儲在其中。
編碼單元14和解碼單元36中的哪個執行小波變換係數的重新排 列可以根據各個設備的資源而適當地確定。
而且,在編碼單元14中,在熵編碼單元55中執行小波變換係數 的量化。但是,例如可以設置量化單元,該量化單元對由小波變換單 元51輸出的小波變換係數進行量化,並將它們存儲到係數重新排列緩 衝器單元53中。
圖49是示出編碼單元14的另一實施方式的框圖。
在圖49中,編碼單元14包括量化單元56,構成編碼單元14的 其它塊與圖3中的編碼單元14相同。
量化單元56對由小波變換單元51輸出的小波變換係數進行量 化,並將它們存儲到係數重新排列緩衝器單元53中。這樣,通過與熵 編碼單元55分離地設置量化單元56,能夠以最佳地執行各種處理或 者使延遲時間變少的方式執行預定的CPU或存儲器的分配。
量化單元56可以設置在係數重新排列單元54和熵編碼單元55 中。這種情況下,由係數重新排列單元54輸出的小波變換係數被量化, 並被提供給熵編碼單元55。
接著,圖50是示出解碼單元36的另一實施方式的框圖。
在圖50中,解碼單元36包括反量化單元66,構成解碼單元36 的其它塊與圖48中的解碼單元36相同。
反量化單元66對由係數重新排列單元65輸出的小波變換係數進 行量化,並將它們提供給小波逆變換單元63。通過設置反量化單元66, 與設置量化單元56的情況同樣,能夠以最佳地執行各種處理或者使延 遲時間變少的方式執行預定的CPU或存儲器的分配。
89反量化單元66可以設置在熵解碼單元61和係數緩衝器單元62 中。這種情況下,反量化單元66執行由熵解碼單元61輸出的係數數 據的反量化,並將其存儲到係數緩衝器單元62中。
上述一系列的處理可以通過硬體來執行,或者可以通過軟體來執行。
例如,如圖19所示,編碼單元14可以由執行小波變換單元51、 係數重新排列單元54和熵編碼單元55的各處理的一個處理單元、以 及形成有中間計算緩沖器單元52和係數重新排列緩衝器單元53的一 個存儲單元構成。
同樣,如圖21所示,編碼單元14可以由執行小波變換單元51、 係數重新排列單元54和熵編碼單元55的各處理的一個處理單元、形 成有中間計算緩衝器單元52並且允許高速讀寫的第1存儲單元、以及 形成有係數重新排列緩沖器單元53的大容量的第2存儲單元構成。
同樣,如圖22所示,編碼單元14可以由執行小波變才奐單元51-1、 係數重新排列單元54-1和熵編碼單元55-1的各處理的第1處理單元、 形成有中間計算緩衝器單元52-l並且允許高速讀寫的第l存儲單元、 執行小波變換單元51-2、係數重新排列單元54-2和熵編碼單元55-2 的各處理的第2處理單元、形成有中間計算緩衝器單元52-2並且允許 高速讀寫的第2存儲單元、以及形成有係數重新排列緩衝器單元53-l 和係數重新排列援衝器單元53-2的大容量的第3存儲單元構成。
同樣,如圖24所示,編碼單元14可以由執行小波變換單元51-1 的處理的第l處理單元、形成有中間計算緩沖器單元52-1並且允許高 速讀寫的第l存儲單元、執行係數重新排列單元54-1和熵編碼單元 55-1的各處理的第2處理單元、執行小波變換單元51-2的處理的第3 處理單元、形成有中間計算緩衝器單元52-2並且允許高速讀寫的第2 存儲單元、執行係數重新排列單元54-2和熵編碼單元55-2的各處理 的第4處理單元、以及形成有係數重新排列緩衝器單元53-1和係數重 新排列緩衝器單元53-2的大容量的第3存儲單元構成。
同樣,如圖26所示,解碼單元36可以由執行熵解碼單元61和
90小波逆變換單元63的各處理的一個處理單元、以及形成有係數緩衝器 單元62的存儲單元構成。
同樣,如圖28所示,解碼單元36可以由執4亍熵解碼單元61-1 和小波逆變換單元63-1的各處理的第l處理單元、形成有係數緩衝器 單元62-1的第1存儲單元、執行熵解碼單元61-2和小波逆變換單元 63-2的各處理的第2處理單元、以及形成有係數緩衝器單元62-2的第 2存儲單元構成。
同樣,如圖30所示,解碼單元36可以由執行熵解碼單元61-1 的處理的第1處理單元、執行小波逆變換單元63-1的處理的第2處理 單元、形成有係數緩衝器單元62-l的第l存儲單元、執行熵解碼單元 61-2的處理的第3處理單元、執行小波逆變換單元63-2的處理的第4 處理單元、以及形成有係數緩衝器單元62-2的第2存儲單元構成。
在編碼單元14或解碼單元36如上所述由硬體構成的情況下,可 以得到與如上所述將軟體程序分配給硬體的情況相同的效果。
在通過軟體執行一系列處理的情況下,將構成軟體的程序從程序 記錄介質安裝到嵌入專用硬體中的計算機、或者例如能夠在安裝了各 種程序時執行各種功能的通用計算機、或者由多個設備構成的信息處 理系統的信息處理設備等。
例如圖18或圖36所示,該記錄介質不僅由存儲了程序並且與i殳 備主體分離地交付以向用戶分發程序的可裝卸介質131或可裝卸介質 311構成,而且由以預先嵌入到設備主體中的狀態分發給用戶的、記 錄了程序的ROM 102、包括在存儲單元123或存儲設備303中的硬碟 或HDD 405等構成,其中,上述可裝卸介質131或可裝卸介質311 例如為磁碟(包括軟盤)、光碟(包括CD-ROM ( Compact Disk-Read Only Memory,光碟只讀存儲器)或DVD (Digital Versatile Disk, 數字通用盤))、光磁碟(包括MD (Mini-Disk,迷你盤)(註冊商 標))或半導體存儲器。
順便提及,在本說明書中,描述記錄在記錄介質上的程序步驟當 然既包括按上述順序並按時間序列執行的處理,也包括不一定按時間
91序列執行而是以並行方式或者獨立地執行的處理。
另外,在本說明書中,系統表示由多個設備構成的整個設備。 以上作為一個設備說明的部件可以分割並構成為多個設備。相
反,以上作為多個設備說明的部件可以組合併構成為一個i殳備。並且, 上述以外的結構當然可以追加到各個設備的結構中。並且,只要系統 整體的結構或操作基本上相同,則可以將給定設備的結構的一部分包 括到另一設備的結構中。
即,本發明的實施方式不限於上述實施方式,在不脫離本發明的 範圍的情況下,可以進行各種改變。
權利要求
1.一種編碼設備,執行圖像數據的編碼處理以生成編碼流,包括識別信息生成單元,用於生成共有處理識別信息或程序識別信息,其中,所述共有處理識別信息識別通過編碼處理和解碼處理中的哪一個來執行在圖像數據的編碼處理和編碼流的解碼處理之間共有的處理,所述程序識別信息識別從分配模式或配置模式相互不同的多個解碼程序中選擇哪個解碼程序,其中,所述分配模式是將構成解碼處理的多個處理分配給多個處理單元的分配模式,所述配置模式是由多個處理使用的存儲器的配置模式;編碼單元,用於執行圖像數據的編碼處理,以生成編碼流;和傳送單元,用於將由識別信息生成單元生成的共有處理識別信息或程序識別信息與由編碼單元生成的編碼流一起傳送。
2. 如權利要求1所述的編碼設備,其中, 傳送單元將由識別信息生成單元生成的共有處理識別信息或程序識別信息插入到編碼流中。
3. 如權利要求2所述的編碼設備,其中,傳送單元將由識別信息生成單元生成的共有處理識別信息或程 序識別信息插入到編碼流的標題中。
4. 如權利要求3所述的編碼設備,其中,傳送單元將由識別信息生成單元生成的共有處理識別信息或程 序識別信息插入到淨皮插入到編碼流的標題中的序列標題或圖片標題 中。
5. 如權利要求1所述的編碼設備,其中,傳送單元將由識別信息生成單元生成的共有處理識別信息或程 序識別信息以及編碼流記錄到記錄介質上。
6. 如權利要求1所述的編碼設備,其中, 構成編碼處理的多個處理包括濾波處理,對於圖像數據,針對每個分區執行濾波處理,生成由 針對每個頻帶分解的係數數據構成的多個子帶,其中每個分區包括生 成相當於最低頻分量的子帶的至少1行的係數數據所需的行數的圖像數據;存儲處理,針對每個分區存儲通過濾波處理生成的係數數據; 係數重新排列處理,按照執行合成處理的順序對通過存儲處理存儲的係數數據進行重新排列,其中在所述合成處理中,被分解為頻帶的多個子帶的係數數據被合成以生成圖像數據;和編碼處理,對通過係數重新排列處理而重新排列的係數數據進行編碼。
7. 如權利要求6所述的編碼設備,其中, 識別信息生成單元生成表示在編碼設備側執行了係數重新排列處理的共有處理識別信息;傳送單元將由識別信息生成單元生成的共有處理識別信息與編 碼流一起傳送。
8. 如權利要求1所述的編碼設備,其中, 構成編碼處理的多個處理包括濾波處理,對於圖像數據,針對每個分區執行濾波處理,生成由 針對每個頻帶分解的係數數據構成的多個子帶,其中每個分區包括生 成相當於最低頻分量的子帶的至少1行的係數數據所需的行數的圖像 數據;存儲處理,針對每個分區存儲通過濾波處理生成的係數數據;和 編碼處理,對通過存儲處理存儲的係數數據進行編碼。
9. 如權利要求8所述的編碼設備,其中,識別信息生成單元生成表示沒有在編碼設備側執行係數重新排 列處理的信息來作為共有處理識別信息,其中,所述係數重新排列處排列,在所述合成處理中,被分解為頻帶的多個子帶的係數數據被合 成以生成圖像數據。
10. 如權利要求6所述的編碼設備,其中,識別信息生成單元生成表示將低延遲優先控制和處理能力優先 控制中的哪一個選擇作為用於編碼處理的控制方法的控制識別信息, 其中,所述低延遲優先控制使以低延遲來執行編碼優先,所述處理能 力優先控制使以高處理能力來執行編碼優先;傳送單元將由識別信息生成單元生成的控制識別信息與編碼流 一起傳送。
11. 如權利要求6所述的編碼設備,其中,識別信息生成單元生成識別在濾波處理單元中使用的濾波器的濾波器信息;傳送單元將由識別信息生成單元生成的濾波器信息與編碼流一 起傳送。
12. 如權利要求11所述的編碼設備,其中, 識別信息生成單元生成表示濾波處理的精度是固定小數點精度、浮動小數點精度、還是整數精度的濾波處理精度信息;傳送單元將由識別信息生成單元生成的濾波處理精度信息與編 碼流一起傳送。
13. —種編碼方法,執行圖像數據的編碼處理以生成編碼流,包 括以下步驟生成共有處理識別信息或程序識別信息,其中,所述共有處理識 別信息識別通過編碼處理和解碼處理中的哪一個來執行在圖像數據的 編碼處理和編碼流的解碼處理之間共有的處理,所述程序識別信息識 別從分配模式或配置模式相互不同的多個解碼程序中選擇哪個解碼程 序,其中,所述分配模式是將構成解碼處理的多個處理分配給多個處 理單元的分配模式,所述配置模式是由多個處理使用的存儲器的配置 模式;執行圖像數據的編碼處理,以生成編碼流;以及 將共有處理識別信息或程序識別信息與編碼流一起傳送。
14. 一種解碼設備,執行通過執行圖像數據的編碼處理而得到的編碼流的解碼處理,包括取得單元,與編碼流一起取得共有處理識別信息或程序識別信 息,其中,所述共有處理識別信息識別通過編碼處理和解碼處理中的 哪一個來執行在圖像數據的編碼處理和編碼流的解碼處理之間共有的 處理,所述程序識別信息識別從分配模式或配置模式相互不同的多個 解碼程序中選擇哪個解碼程序,其中,所述分配模式是將構成解碼處 理的多個處理分配給多個處理單元的分配模式,所述配置模式是由多 個處理使用的存儲器的配置模式;解碼單元,用於執行由取得單元取得的編碼流的解碼處理;和控制單元,用於控制解碼單元,以按照由取得單元取得的共有處 理識別信息或程序識別信息所表示的處理方式,執行解碼處理。
15, —種解碼方法,執行通過執行圖像數據的編碼處理而得到的 編碼流的解碼處理,包括以下步驟與編碼流一起取得共有處理識別信息或程序識別信息,其中,所 述共有處理識別信息識別通過編碼處理和解碼處理中的哪一個來執行 在圖像數據的編碼處理和編碼流的解碼處理之間共有的處理,所述程 序識別信息識別從分配模式或配置模式相互不同的多個解碼程序中選 擇哪個解碼程序,其中,所述分配模式是將構成解碼處理的多個處理分配給多個處理單元的分配模式,所述配置模式是由多個處理使用的 存儲器的配置模式;執行編碼流的解碼處理;以及執行控制,以使解碼處理按照共有處理識別信息或程序識別信息 所表示的處理方式來執行。
全文摘要
本發明涉及一種編碼設備和編碼方法以及解碼設備和解碼方法,能夠在傳送了編碼圖像時以低延遲得到解碼圖像。識別信息生成單元(21)生成共有處理識別信息或程序識別信息,所述共有處理識別信息識別通過編碼處理和解碼處理中的哪一個來執行在圖像數據的編碼處理和編碼流的解碼處理之間共有的處理,所述程序識別信息識別從將構成解碼處理的多個處理分配給多個處理單元的分配模式或由多個處理使用的存儲器的配置模式相互不同的多個解碼程序中選擇哪個解碼程序,傳送單元(22)發送由識別信息生成單元生成的共有處理識別信息或程序識別信息。本發明可以應用於例如編碼設備和解碼設備。
文檔編號H04N7/30GK101569170SQ20088000112
公開日2009年10月28日 申請日期2008年5月16日 優先權日2007年5月17日
發明者安藤勝俊, 福原隆浩 申請人:索尼株式會社

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀