TWI597967B - Video decoding apparatus, video decoding method, and video decoding program medium - Google Patents
Video decoding apparatus, video decoding method, and video decoding program medium Download PDFInfo
- Publication number
- TWI597967B TWI597967B TW105117376A TW105117376A TWI597967B TW I597967 B TWI597967 B TW I597967B TW 105117376 A TW105117376 A TW 105117376A TW 105117376 A TW105117376 A TW 105117376A TW I597967 B TWI597967 B TW I597967B
- Authority
- TW
- Taiwan
- Prior art keywords
- filter
- ctb
- block
- image
- decoding
- Prior art date
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本發明係有關於利用運動補償預測的動態影像編碼及解碼技術,尤其是有關於,將作為迴圈濾波器而發揮機能之濾波器資訊而進行編碼及解碼的動態影像編碼及解碼技術。 The present invention relates to a motion picture coding and decoding technique using motion compensation prediction, and more particularly to a motion picture coding and decoding technique that performs coding and decoding by using filter information of a function as a loop filter.
在一般的動態影像壓縮編碼亦即MPEG-4AVC/H.264(以下簡稱AVC)中,作為迴圈濾波器會利用去區塊濾波器。AVC的去區塊濾波器,係將對象影像分割成細緻的區塊,對每一區塊將相鄰之區塊的交界附近之像素進行補正的技術。 In general motion picture compression coding, that is, MPEG-4 AVC/H.264 (hereinafter referred to as AVC), a deblocking filter is used as a loop filter. AVC's deblocking filter is a technique of dividing a target image into detailed blocks and correcting pixels near the boundary of adjacent blocks for each block.
去區塊濾波器係將因區塊間之量化寬度或預測方法之相異等而產生的區塊之交界附近的誤差,以像素單位進行補正,將已補正之圖像當作參照圖像而在運動補償預測中做利用,藉此以提升預測效率。 The deblocking filter corrects the error near the boundary of the block due to the quantization width between the blocks or the prediction method, and corrects the pixel in units of pixels, and uses the corrected image as a reference image. Use in motion compensation prediction to improve prediction efficiency.
專利文獻1中係揭露AVC的去區塊濾波器之控制方法。 Patent Document 1 discloses a method of controlling a deblocking filter of AVC.
[專利文獻1]WO2009/093472號公報 [Patent Document 1] WO2009/093472
AVC的去區塊濾波器係只會補正區塊交界附近的像素,因此無法補正非區塊交界的區塊內部之像素。因此,在非區塊交界之區塊內部之像素有產生誤差的情況下,會導致預測效率不佳。 AVC's deblocking filter only corrects pixels near the junction of the block, so it is impossible to correct the pixels inside the block that is not at the block boundary. Therefore, in the case where there is an error in the pixels inside the block at the non-block boundary, the prediction efficiency is poor.
此種狀況下,本發明人們係在使用迴圈濾波器的動態影像編碼方式中,即使在非區塊交界之區塊內部之像素有產生誤差的情況下,仍必須要提升預測效率,認知到此一必要性。 Under such circumstances, in the dynamic image coding method using the loop filter, even in the case where there is an error in the pixels inside the block where the non-block boundary is arranged, it is necessary to improve the prediction efficiency. This necessity.
本發明係有鑑於此種狀況而研發,其目的在於,在非區塊交界之區塊內部之像素有產生誤差的情況下,仍藉由補正非區塊交界之區塊內部之像素,以謀求預測效率之提升而提供一種促進編碼效率提升的動態影像編碼及解碼技術。 The present invention has been developed in view of such a situation, and it is an object of the present invention to correct pixels in a block that is not bordered by a block in the case where an error occurs in a pixel in a block that is not in the block boundary. An improvement in prediction efficiency provides a dynamic image encoding and decoding technique that promotes coding efficiency.
為了解決上記課題,本發明的某個態樣的影像解碼裝置,係將編碼列串流進行解碼所得之圖像予以濾波的影像解碼裝置,該編碼列串流係含有,以構成圖像之區塊單位而被編碼成的區塊編碼列;其特徵為,具備:領域資訊取得部,係將前記圖像被分割成前記區塊以上之大 小的複數瓷磚(tile)而成的分割領域的資訊,從表示前記編碼列串流之圖像特性的圖像參數集中,加以取得;和濾波器參數取得部,係將用來表示是否從身為解碼對象之區塊的上邊方向所相鄰之已解碼區塊取得前記身為解碼對象之區塊的濾波器參數的取得旗標,從前記編碼列串流中加以取得,當前記取得旗標是表示進行取得之意旨時,則從前記上邊方向所相同之已解碼區塊取得前記濾波器參數,當前記取得旗標是表示不取得之意旨時,則從前記編碼列串流中取得關於前記濾波器參數之資訊;和影像資料解碼部,係將前記區塊編碼列予以解碼而取得前記身為解碼對象之區塊的解碼影像資料;和濾波部,係將前記解碼影像資料基於前記濾波器參數而進行濾波;前記濾波器參數取得部,係檢查前記身為解碼對象之區塊是否在上邊方向銜接於瓷磚交界,若前記身為解碼對象之區塊是在上邊方向銜接於瓷磚交界,則不從前記編碼列串流取得前記取得旗標。 In order to solve the above problems, a video decoding apparatus according to an aspect of the present invention is a video decoding apparatus that filters an image obtained by decoding a serial stream, and the encoded serial stream system includes an image forming area. a block coded column in which a block unit is encoded; characterized in that the field information acquisition unit is configured to divide the pre-recorded image into larger than the pre-recorded block. The information of the segmentation domain formed by the small plurality of tiles is obtained from the image parameter set indicating the image characteristics of the preamble code column stream; and the filter parameter acquisition section is used to indicate whether or not the body is from the body. Obtaining a filter parameter of a filter parameter of a block that is recorded as a decoding target for the decoded block adjacent to the upper direction of the block to be decoded, and obtaining the flag from the previous code column stream, and currently obtaining the flag When it is indicated that the acquisition is performed, the pre-recorded filter parameters are obtained from the decoded blocks having the same direction as in the upper direction, and when the current acquisition flag indicates that the acquisition is not obtained, the pre-recorded sequence stream is obtained from the pre-recorded stream. The information of the filter parameter; and the video data decoding unit decodes the preamble block code column to obtain the decoded video data of the block to be decoded as the decoding target; and the filter unit uses the predecoded video data based on the preamble filter The parameter is filtered; the pre-recorded filter parameter acquisition unit checks whether the block that is recorded as the decoding target is connected to the tile boundary in the upper direction, if As a block is decoded in the upper direction of the adapter to the junction of tiles, not remember the previous coded bit stream satisfies the first flag referred achieved.
本發明的另一其他態樣,係為影像解碼方法,係將編碼列串流進行解碼所得之圖像予以濾波的影像解碼方法,該編碼列串流係含有,以構成圖像之區塊單位而被編碼成的區塊編碼列;其特徵為,具備:領域資訊取得步驟,係將前記圖像被分割成前記區塊以上之大小的複數瓷磚(tile)而成的分割領域的資訊,從表示前記編碼列串流之圖像特性的圖像參數集中,加以取得;和濾波器參數取得步驟,係將用來表示是否從身為解碼對象之區塊的上 邊方向所相鄰之已解碼區塊取得前記身為解碼對象之區塊的濾波器參數的取得旗標,從前記編碼列串流中加以取得,當前記取得旗標是表示進行取得之意旨時,則從前記上邊方向所相同之已解碼區塊取得前記濾波器參數,當前記取得旗標是表示不取得之意旨時,則從前記編碼列串流中取得關於前記濾波器參數之資訊;和影像資料解碼步驟,係將前記區塊編碼列予以解碼而取得前記身為解碼對象之區塊的解碼影像資料;和濾波步驟,係將前記解碼影像資料基於前記濾波器參數而進行濾波;前記濾波器參數取得步驟,係檢查前記身為解碼對象之區塊是否在上邊方向銜接於瓷磚交界,若前記身為解碼對象之區塊是在上邊方向銜接於瓷磚交界,則不從前記編碼列串流取得前記取得旗標。 Another aspect of the present invention is a video decoding method, which is a video decoding method for filtering an image obtained by decoding a serial stream, wherein the encoded serial stream system comprises a block unit constituting an image. And a block coded column that is encoded, and is characterized in that: the field information obtaining step is a segmentation field information obtained by dividing a pre-recorded image into a plurality of tiles of a size larger than a pre-recorded block. An image parameter set indicating the image characteristics of the preamble coded column stream is obtained; and the filter parameter acquisition step is used to indicate whether or not the block is the block to be decoded. The decoded block adjacent to the side direction obtains the acquisition flag of the filter parameter of the block to be decoded, and is obtained from the previous code column stream, and the current record flag indicates that the acquisition is performed. , the pre-recorded filter parameters are obtained from the decoded blocks in the same direction as the upper side, and when the current flag is obtained, the information about the pre-filter parameters is obtained from the pre-coded column stream; The image data decoding step is to decode the pre-recorded block code column to obtain the decoded image data of the block that is recorded as the decoding target; and the filtering step is to filter the pre-recorded decoded image data based on the pre-filter parameter; The step of obtaining the parameter is to check whether the block which is recorded as the decoding object is connected to the tile boundary in the upper direction. If the block which is recorded as the decoding object is connected to the tile boundary in the upper direction, the code column stream is not recorded from the front. Get the pre-record to get the flag.
本發明的再另一態樣,係亦為影像解碼程式媒體,係將編碼列串流進行解碼所得之圖像予以濾波的影像解碼程式媒體,該編碼列串流係含有,以構成圖像之區塊單位而被編碼成的區塊編碼列;其特徵為,令電腦執行:領域資訊取得步驟,係將前記圖像被分割成前記區塊以上之大小的複數瓷磚(tile)而成的分割領域的資訊,從表示前記編碼列串流之圖像特性的圖像參數集中,加以取得;和濾波器參數取得步驟,係將用來表示是否從身為解碼對象之區塊的上邊方向所相鄰之已解碼區塊取得前記身為解碼對象之區塊的濾波器參數的取得旗標,從前記編碼列串流中加以取得,當前記取得旗標是表示進行取得之意 旨時,則從前記上邊方向所相同之已解碼區塊取得前記濾波器參數,當前記取得旗標是表示不取得之意旨時,則從前記編碼列串流中取得關於前記濾波器參數之資訊;和影像資料解碼步驟,係將前記區塊編碼列予以解碼而取得前記身為解碼對象之區塊的解碼影像資料;和濾波步驟,係將前記解碼影像資料基於前記濾波器參數而進行濾波;前記濾波器參數取得步驟,係檢查前記身為解碼對象之區塊是否在上邊方向銜接於瓷磚交界,若前記身為解碼對象之區塊是在上邊方向銜接於瓷磚交界,則不從前記編碼列串流取得前記取得旗標。 Still another aspect of the present invention is a video decoding program medium, which is a video decoding program medium that filters an image obtained by decoding a serial stream, and the encoded serial stream system is included to form an image. a block coding column encoded into a block unit; characterized in that the computer executes: the domain information obtaining step is a segmentation in which the pre-recorded image is divided into a plurality of tiles of a size larger than the preceding block. The information of the domain is obtained from the image parameter set indicating the image characteristics of the preamble encoding column stream; and the filter parameter obtaining step is used to indicate whether the direction from the upper side of the block which is the decoding object is The neighboring decoded block obtains the acquisition flag of the filter parameter of the block which is recorded as the decoding target, and obtains it from the previous coded column stream, and the current record of the obtained flag indicates that the acquisition is performed. In the case of the purpose, the pre-recorded filter parameters are obtained from the decoded blocks in the same direction as the upper side, and when the current acquisition flag indicates that the non-acquisition is obtained, the information on the pre-filter parameters is obtained from the pre-coded column stream. And the image data decoding step is to decode the pre-recorded block code column to obtain the decoded image data of the block that is recorded as the decoding target; and the filtering step is to filter the pre-recorded decoded image data based on the pre-recorded filter parameters; The pre-recording filter parameter acquisition step is to check whether the block that is recorded as the decoding target is connected to the tile boundary in the upper direction, and if the block that is previously recorded as the decoding object is connected to the tile boundary in the upper direction, the code column is not recorded from the front. Streaming gets the pre-recorded flag.
此外,即使將以上構成要素之任意組合、本發明之表現,在方法、裝置、系統、記錄媒體、電腦程式等之間做轉換而成者,對本發明的態樣而言皆為有效。 Further, even if any combination of the above constituent elements and the expression of the present invention are converted between a method, an apparatus, a system, a recording medium, a computer program, etc., it is effective for the aspect of the present invention.
若依據本發明,則在非區塊交界之區塊內部之像素有產生誤差的情況下,仍藉由補正非區塊交界之區塊內部之像素,而可實現預測效率之提升。 According to the present invention, in the case where an error occurs in a pixel inside a block where the non-block is bordered, the prediction efficiency is improved by correcting the pixels inside the block at the non-block boundary.
100‧‧‧動態影像編碼裝置 100‧‧‧Dynamic image coding device
101‧‧‧影像資料取得部 101‧‧‧Image Data Acquisition Department
102‧‧‧CTB編碼部 102‧‧‧CTB coding department
103‧‧‧濾波器參數決定部 103‧‧‧Filter Parameter Determination Department
104‧‧‧迴圈濾波器 104‧‧‧Circle filter
105‧‧‧濾波器參數編碼部 105‧‧‧Filter Parameter Coding Section
106‧‧‧畫格記憶體 106‧‧‧Characteristic memory
107‧‧‧編碼列多工部 107‧‧‧Code Columns
110‧‧‧編碼控制部 110‧‧‧Code Control Department
111‧‧‧瓷磚設定部 111‧‧‧ Tile Setting Department
112‧‧‧迴圈濾波器設定部 112‧‧‧Circle Filter Setting Department
113‧‧‧領域資訊設定部 113‧‧‧Domain Information Setting Department
120‧‧‧濾波器參數設定部 120‧‧‧Filter parameter setting unit
121‧‧‧迴圈濾波器執行部 121‧‧‧Circle Filter Execution Department
122‧‧‧誤差計測部 122‧‧‧Error Measurement Department
123‧‧‧濾波器參數確定部 123‧‧‧Filter parameter determination section
130‧‧‧濾波器類型判定部 130‧‧‧Filter Type Judgment Department
131‧‧‧邊緣型濾波器 131‧‧‧Edge filter
132‧‧‧頻帶型濾波器 132‧‧‧Band filter
141‧‧‧邊緣角度設定部 141‧‧‧Edge Angle Setting Department
142‧‧‧相鄰像素設定部 142‧‧‧Adjacent Pixel Setting Section
143‧‧‧邊緣類型判定部 143‧‧‧Edge Type Judgment Department
144‧‧‧邊緣偏置值設定部 144‧‧‧Edge offset value setting unit
145‧‧‧邊緣偏置值加算部 145‧‧‧Edge offset value addition department
151‧‧‧頻帶寬設定部 151‧‧‧frequency bandwidth setting unit
152‧‧‧頻帶位置設定部 152‧‧‧Band Position Setting Department
153‧‧‧頻帶偏置值設定部 153‧‧‧Band offset value setting unit
154‧‧‧頻帶偏置值加算部 154‧‧‧Band offset value addition unit
200‧‧‧動態影像解碼裝置 200‧‧‧Dynamic image decoding device
201‧‧‧編碼列分離部 201‧‧‧Code Column Separation Department
202‧‧‧CTB解碼部 202‧‧‧CTB Decoding Department
203‧‧‧迴圈濾波器 203‧‧‧Circle filter
204‧‧‧濾波器參數解碼部 204‧‧‧Filter Parameter Decoding Department
205‧‧‧畫格記憶體 205‧‧‧Characteristic memory
210‧‧‧解碼控制部 210‧‧‧Decoding Control Department
[圖1]CTB與CU之關係的說明圖。 [Fig. 1] An explanatory diagram of the relationship between CTB and CU.
[圖2]瓷磚的說明圖。 [Fig. 2] An explanatory view of a tile.
[圖3]第1實施形態所述之動態影像編碼裝置之構成的說明圖。 FIG. 3 is an explanatory diagram showing a configuration of a motion picture coding apparatus according to the first embodiment.
[圖4]第1實施形態所述之動態影像編碼裝置之動作 的流程圖。 [Fig. 4] Operation of the motion picture coding apparatus according to the first embodiment Flow chart.
[圖5]CTB位址與CTB編碼順序的說明圖。 [Fig. 5] An explanatory diagram of a CTB address and a CTB encoding sequence.
[圖6]圖3的濾波器參數決定部之構成的說明圖。 Fig. 6 is an explanatory diagram showing the configuration of a filter parameter determining unit of Fig. 3;
[圖7]圖3的濾波器參數決定部之動作的說明用流程圖。 Fig. 7 is a flow chart for explaining the operation of the filter parameter determining unit of Fig. 3.
[圖8]圖6的邊緣型濾波器部之動作的說明用流程圖。 Fig. 8 is a flow chart for explaining the operation of the edge type filter unit of Fig. 6.
[圖9]相應於邊緣角度的相鄰像素A與相鄰像素B的說明圖。 [Fig. 9] An explanatory diagram of adjacent pixels A and adjacent pixels B corresponding to edge angles.
[圖10]右邊或下邊與瓷磚交界銜接的CTB之像素A與像素X的說明圖。 [Fig. 10] An explanatory diagram of the pixel A and the pixel X of the CTB in which the right side or the lower side is connected to the tile boundary.
[圖11]圖6的頻帶型濾波器部之動作的說明用流程圖。 FIG. 11 is a flow chart for explaining the operation of the band-type filter unit of FIG. 6.
[圖12]編碼對象CTB與編碼對象CTB所相鄰之CTB的說明圖。 FIG. 12 is an explanatory diagram of a CTB adjacent to the encoding target CTB and the encoding target CTB.
[圖13]圖3的濾波器參數編碼部之動作的說明用流程圖。 Fig. 13 is a flow chart for explaining the operation of the filter parameter encoding unit of Fig. 3.
[圖14]相鄰CTB之有效性之導出的說明用流程圖。 [Fig. 14] A flow chart for explaining the derivation of the validity of adjacent CTBs.
[圖15]語法的說明圖。 [Fig. 15] An explanatory diagram of a grammar.
[圖16]語法的說明圖。 [Fig. 16] An explanatory diagram of a syntax.
[圖17]第1實施形態所述之編碼串流之構成之一例的說明圖。 Fig. 17 is an explanatory diagram showing an example of a configuration of a coded stream according to the first embodiment.
[圖18]第1實施形態所述之動態影像解碼裝置之構成的說明圖。 FIG. 18 is an explanatory diagram showing a configuration of a video decoding device according to the first embodiment.
[圖19]第1實施形態所述之動態影像解碼裝置之動作的流程圖。 Fig. 19 is a flowchart showing the operation of the video decoding device according to the first embodiment.
[圖20]圖18的濾波器參數解碼部之動作的說明用流程圖。 FIG. 20 is a flowchart for explaining the operation of the filter parameter decoding unit of FIG. 18.
[圖21]第2實施形態所述之動態影像編碼裝置之動作的流程圖。 Fig. 21 is a flowchart showing the operation of the motion picture coding apparatus according to the second embodiment.
[圖22]第2實施形態所述之編碼串流之構成之一例的說明圖。 Fig. 22 is an explanatory diagram showing an example of a configuration of a coded stream according to the second embodiment.
[圖23]第2實施形態所述之動態影像解碼裝置之動作的流程圖。 Fig. 23 is a flowchart showing the operation of the video decoding device according to the second embodiment.
[圖24]第3實施形態所述之PPS之語法的說明圖。 Fig. 24 is an explanatory diagram of the syntax of the PPS described in the third embodiment.
[圖25]第3實施形態所述之動態影像編碼裝置之動作的流程圖。 Fig. 25 is a flowchart showing the operation of the motion picture coding apparatus according to the third embodiment.
[圖26]第3實施形態所述之動態影像解碼裝置之動作的流程圖。 Fig. 26 is a flowchart showing the operation of the video decoding device according to the third embodiment.
[圖27]第3實施形態之邊緣型濾波器部之動作的流程圖。 Fig. 27 is a flowchart showing the operation of the edge filter unit of the third embodiment.
[圖28]第3實施形態中的相鄰CTB之有效性之導出的流程圖。 Fig. 28 is a flow chart showing the derivation of the validity of adjacent CTBs in the third embodiment.
[圖29]第4實施形態所述之PPS之語法的說明圖。 [Fig. 29] An explanatory diagram of the syntax of the PPS described in the fourth embodiment.
[圖30]第4實施形態中的相鄰CTB之有效性之導出的流程圖。 Fig. 30 is a flow chart showing the derivation of the validity of adjacent CTBs in the fourth embodiment.
[圖31]第5實施形態中的隨應於CTB之位置而可利用之濾波器類型的說明圖。 Fig. 31 is an explanatory diagram of a filter type usable in accordance with the position of the CTB in the fifth embodiment.
[圖32]第5實施形態中的邊緣型濾波器部之動作的流程圖。 Fig. 32 is a flow chart showing the operation of the edge type filter unit in the fifth embodiment.
[圖33]第6實施形態所述之loopfliter_type_idx之編碼列的說明圖。 FIG. 33 is an explanatory diagram of a coding sequence of loopfliter_type_idx according to the sixth embodiment.
[圖34]第6實施形態中的相鄰CTB之有效性之導出的流程圖。 Fig. 34 is a flow chart showing the derivation of the validity of adjacent CTBs in the sixth embodiment.
[圖35]第7實施形態所述之迴圈濾波器單元之語法的說明圖。 Fig. 35 is an explanatory diagram showing the syntax of the loop filter unit according to the seventh embodiment.
[圖36]第7實施形態所述之loopfliter_type_idx之編碼列的說明圖。 Fig. 36 is an explanatory diagram of a coding sequence of loopfliter_type_idx according to the seventh embodiment.
[圖37]第4實施形態所述之動態影像解碼裝置200之動作的流程圖。 FIG. 37 is a flowchart showing the operation of the video decoding device 200 according to the fourth embodiment.
首先說明作為本發明的實施形態之前提的技術。 First, the technique proposed as an embodiment of the present invention will be described.
在2003年,由國際標準化機構(ISO)與國際電氣標準會議(IEC)之聯合技術委員會(ISO/IEC),和國際電氣通訊聯合電氣通訊標準化部門(ITU-T)的共同作業,一種稱作AVC的動態影像編碼方式(在ISO/IEC中稱作14496-10、在ITU-T中編號為H.264之規格號碼)是被制定成為國際標準。在AVC中作為迴圈濾波器係利用了去區塊濾波器。 In 2003, the Joint Technical Committee (ISO/IEC) of the International Organization for Standardization (ISO) and the International Conference on Electrical Standards (IEC), and the International Telecommunications Standardization Sector (ITU-T), a joint operation, AVC's motion picture coding method (referred to as 14496-10 in ISO/IEC and H.264 standard number in ITU-T) is formulated as an international standard. A deblocking filter is utilized as a loop filter in AVC.
首先說明去區塊濾波器。去區塊濾波器係藉由量化參數或表示是否為Intra預測(畫面內預測)還是畫面間預測(運動補償預測)等之資訊,將去區塊濾波器之強度以區塊單位做適應性改變,藉由區塊交界附近之像素間的像素值之差異,以像素單位來控制去區塊濾波器的ON/OFF,同時,將因區塊間之量化寬度或預測方法之相異等而產生的區塊之交界附近的誤差,以像素單位進行補正以降低誤差之技術。去區塊濾波器係降低視覺上容易醒目的區塊交界之誤差以促進主觀畫質提升,甚至還將降低了區塊交界誤差的影像,當作參照影像來使用,藉此,來提升畫面間預測之效率,具有如此效果。 First, the deblocking filter will be explained. The deblocking filter performs the adaptive change of the intensity of the deblocking filter in block units by using quantization parameters or information indicating whether it is Intra prediction (intra-picture prediction) or inter-picture prediction (motion compensation prediction). The ON/OFF of the deblocking filter is controlled in pixel units by the difference in pixel values between pixels in the vicinity of the block boundary, and is generated by the difference in the quantization width or the prediction method between the blocks. The error near the boundary of the block is corrected in pixels to reduce the error. The deblocking filter system reduces the error of the visually easy-to-eye block boundary to promote the subjective image quality improvement, and even reduces the image of the block boundary error and uses it as a reference image, thereby improving the inter-picture space. The efficiency of prediction has such an effect.
作為去區塊濾波器的控制資訊,在AVC中係為,將去區塊濾波器以切片單位進行ON/OFF所需的旗標、用來調整去區塊濾波器之適用程度(像素單位之ON/OFF)所需的資訊,是被放在切片標頭中。 As the control information of the deblocking filter, in the AVC, the flag required to turn ON/OFF the deblocking filter in the slice unit is used to adjust the degree of application of the deblocking filter (pixel unit). The information required for ON/OFF is placed in the slice header.
近年來硬體或CPU係採取以平行處理為前提之構成,但就一般而言,動態影像編碼也要支援平行處理,會是重要的課題。影像的尺寸越大,則此課題也會越大。因此,在一般的動態影像編碼方式亦即AVC等中,是將動態影像圖像分割成複數領域,為了將各領域平行地進行編碼或解碼,而會採用切片。將切片做平行處理時,各切片交界的去區塊濾波器之處理,會是一個課題。在AVC的去區塊濾波器中,從影像的左上之區塊按照逐線掃描順序而針對各區塊依序地處理垂直方向之濾波器與水 平方向之濾波器,因此無法事先處理領域交界的去區塊濾波器。因此,在AVC中係導入了以切片單位來將去區塊濾波器進行ON/OFF所需之旗標,在容易實現包含迴圈濾波器之平行處理等時候,會被利用。 In recent years, hardware or CPU systems have adopted a premise of parallel processing. However, in general, motion picture coding also supports parallel processing, which is an important issue. The larger the size of the image, the larger the subject will be. Therefore, in a general moving picture coding method, that is, AVC or the like, a moving picture image is divided into a complex field, and a slice is used in order to encode or decode each field in parallel. When the slices are processed in parallel, the processing of the deblocking filters at the intersection of the slices is a problem. In the AVC deblocking filter, the vertical direction filter and water are sequentially processed for each block from the upper left block of the image in a line-by-line scan order. The filter in the flat direction, so the deblocking filter of the field boundary cannot be processed in advance. Therefore, in AVC, a flag required to turn ON/OFF the deblocking filter in a slice unit is introduced, and it is used when it is easy to implement parallel processing including a loop filter.
可是,AVC的去區塊濾波器係只能夠補正區塊交界附近的像素,因此在非區塊交界之區塊內部之像素有產生誤差的情況下,有可能導致預測效率不佳。於是,作為不只有區塊交界,就連區塊內部像素也進行補正的濾波器,而導入SAO濾波器(Sample Adaptative Offset Filter)。 However, the deblocking filter of AVC can only correct the pixels near the boundary of the block. Therefore, if there is an error in the pixels inside the block where the block is not connected, the prediction efficiency may be poor. Therefore, as a filter that does not only block the boundary, even the pixels inside the block are corrected, and the SAO filter (Sample Adaptative Offset Filter) is introduced.
此處,說明SAO濾波器之概要。SAO濾波器係不僅對區塊交界附近之像素、就連區塊內部之所有像素,都會施加所定的偏置值,將像素予以補正的濾波器。對了為區塊內部之所有像素進行處理,像是去區塊濾波器這樣利用區塊間之相異等之資訊來進行詳細的適應處理是有困難的,必須要用比去區塊濾波器還細緻的領域單位來調整偏置值,以謀求性能的提升。藉由以細緻的領域單位來調整偏置值,雖然可以提升誤差補正的精度,但以細緻的領域單位將偏置值進行編碼所需的編碼量會增加,因此必須要抑制之。SAO濾波器的細節,將於後述。 Here, an outline of the SAO filter will be described. The SAO filter is a filter that applies a predetermined offset value to the pixels in the vicinity of the block boundary and all the pixels inside the block to correct the pixels. It is difficult to perform processing for all pixels inside the block, such as deblocking filter, using information such as the difference between blocks, and it is difficult to use detailed deblocking filter. Also fine-grained field units to adjust the offset value for performance improvement. By adjusting the offset value in a fine field unit, although the accuracy of the error correction can be improved, the amount of code required to encode the offset value in a fine field unit increases, and therefore must be suppressed. The details of the SAO filter will be described later.
以下,實現可使SAO濾波器有效動作的動態影像編碼裝置及動態影像解碼裝置。 Hereinafter, a motion picture coding device and a motion picture decoding device that can effectively operate the SAO filter are realized.
在本實施形態中,已被輸入之影像訊號(圖像)係被分割成編碼樹區塊單位而進行編碼與解碼之處理。編碼樹區塊(CTB)係被階層式4分割,而成為編碼單元(CU)。CTB內的各CU係分別使用畫面內預測或畫面間預測而被預測編碼。 In the present embodiment, the input video signal (image) is divided into coding tree block units for encoding and decoding. The coding tree block (CTB) is divided into hierarchical units 4 to become a coding unit (CU). Each CU in the CTB is predictively encoded using intra-picture prediction or inter-picture prediction.
在本實施形態中,係將CTB設成64(像素)×64(像素),最大的分割次數是3次。因此,作為CU之大小,係存在有8×8、16×16、32×32、64×64。圖1係CTB與CU之關係的說明圖。 In the present embodiment, CTB is set to 64 (pixels) × 64 (pixels), and the maximum number of divisions is three. Therefore, as the size of the CU, there are 8 × 8, 16 × 16, 32 × 32, and 64 × 64. FIG. 1 is an explanatory diagram of the relationship between CTB and CU.
在本實施形態中,雖然是將CTB設成64(像素)×64(像素),CTB的最大分割次數是3次,但不限定於該組合。又,CU係亦可又再被分割成1個至4個預測區塊,針對各個預測區塊,使用畫面內預測或畫面間預測而被預測編碼。 In the present embodiment, the CTB is set to 64 (pixels) × 64 (pixels), and the maximum number of divisions of the CTB is three times, but the combination is not limited thereto. Further, the CU system may be further divided into one to four prediction blocks, and each prediction block is predictively coded using intra-picture prediction or inter-picture prediction.
圖像係為身為編碼與解碼之單位的1張影像。在圖像中係有:僅使用畫面內預測的I圖像、使用畫面內預測與單預測之畫面間預測的P圖像、使用畫面內預測、單預測與雙預測之畫面間預測的B圖像。 The image is an image that is a unit of encoding and decoding. In the image, there are an I picture using only intra prediction, a P picture using inter prediction between intra prediction and single prediction, and a B picture using intra prediction, single prediction and bi prediction. image.
在本實施形態中,導入了一種可定義成將圖像做垂直方向與水平方向分割而成之領域的「瓷磚」(Tile)。 In the present embodiment, a "tile" which can be defined as a field in which an image is divided into a vertical direction and a horizontal direction is introduced.
接著用圖來說明瓷磚。圖2係瓷磚的說明圖。圖2(a)係為圖像被垂直方向分割成2個,圖像是由瓷磚0與瓷磚1所構成的例子。圖2(b)係為圖像被垂直方向與水平方向分別分割成2個,圖像是由瓷磚0至瓷磚3所構成的例子。圖像內的瓷磚係按照逐線掃描順序而被處理。又,瓷磚內的CTB係按照逐線掃描順序而被處理。此處,雖然為了便於說明而將瓷磚設成在圖像內同一大小,但瓷磚並不一定要是同一大小。如圖2(a)與圖2(b)所示,瓷磚係被定義成矩形領域。 Then use the diagram to illustrate the tile. Figure 2 is an explanatory view of a tile. Fig. 2(a) shows an example in which an image is divided into two in the vertical direction, and the image is composed of the tile 0 and the tile 1. Fig. 2(b) shows an example in which the image is divided into two by the vertical direction and the horizontal direction, and the image is composed of the tile 0 to the tile 3. The tiles within the image are processed in a line-by-line scan order. Moreover, the CTB in the tile is processed in a line-by-line scanning order. Here, although the tiles are set to the same size within the image for convenience of explanation, the tiles do not have to be the same size. As shown in Fig. 2(a) and Fig. 2(b), the tile is defined as a rectangular field.
在本實施形態中,切片係將瓷磚內的CTB,以逐線掃描順序而加以包含。此處,雖然圖像內之切片是設成1個來說明,但切片係可由1個瓷磚內的1個以上之CTB所構成。亦即,瓷磚係亦可被分割成1個以上的切片。又,切片係亦可包含有複數個瓷磚。亦即,亦可將複數瓷磚整合成1個切片。 In the present embodiment, the slicing system includes the CTB in the tile in a line-by-line scanning order. Here, although the slice in the image is described as one, the slice may be composed of one or more CTBs in one tile. That is, the tile system can also be divided into one or more slices. Also, the slicing system may also include a plurality of tiles. That is, the plurality of tiles can also be integrated into one slice.
在本實施形態中,藉由導入瓷磚,而可實現切片所無法實現的垂直方向之領域分割。藉由在垂直方向分割領域,可減少各瓷磚的水平像素數,在將各瓷磚進行獨立處理(平行處理)時,可削減掃描線記憶體量。另一方面,藉由分割成瓷磚而會使垂直方向之交界變長,因此垂直方向之交界的處理,會有編碼效率或被被認知成視覺性異樣感等課題。這是越大畫面則影響越大。又,瓷磚內的 CTB係依照逐線掃描順序而被處理而切片係將瓷磚內的CTB按照逐線掃描順序而予以包含之構成,因此由於將瓷磚與切片做組合,而會導致關於切片的垂直方向之交界,有時候也會產生同樣的課題。此外,僅以切片來構成領域的情況下,垂直方向之交界係僅在切片的開始CTB中發生,因此對垂直方向之交界的課題係較小。 In the present embodiment, by introducing a tile, it is possible to divide the vertical direction of the region which cannot be realized by the slice. By dividing the field in the vertical direction, the number of horizontal pixels of each tile can be reduced, and when each tile is independently processed (parallel processing), the amount of scanning line memory can be reduced. On the other hand, since the boundary in the vertical direction is lengthened by being divided into tiles, the process of the boundary in the vertical direction has problems such as coding efficiency or recognition of visual abnormality. This is the bigger the picture, the greater the impact. Again, inside the tile The CTB is processed according to the line-by-line scanning order, and the slicing system is configured to include the CTB in the tile in a line-by-line scanning order. Therefore, by combining the tile and the slice, the boundary with respect to the vertical direction of the slice is caused. The same problem arises at the same time. Further, in the case where the field is formed only by slicing, the boundary in the vertical direction occurs only at the start CTB of the slice, and therefore the problem of the boundary in the vertical direction is small.
以下,連同圖式來說明本發明的理想實施形態所述之動態影像編碼裝置、動態影像編碼方法及動態影像編碼程式、以及動態影像解碼裝置、動態影像解碼方法及動態影像解碼程式之細節。此外,圖式的說明中,對同一要素係賦予同一符號,並省略重複說明。 The details of the motion picture coding apparatus, the motion picture coding method, the motion picture coding program, and the motion picture decoding apparatus, the motion picture decoding method, and the motion picture decoding program according to the preferred embodiment of the present invention will be described below with reference to the drawings. In the description of the drawings, the same reference numerals will be given to the same elements, and overlapping description will be omitted.
圖3係第1實施形態所述之動態影像編碼裝置100之構成的說明圖。動態影像編碼裝置100係將所被輸入之動態影像,以1圖像單位來進行編碼的裝置。 FIG. 3 is an explanatory diagram showing the configuration of the motion picture coding apparatus 100 according to the first embodiment. The motion picture coding device 100 is a device that encodes an input motion picture in units of one picture.
動態影像編碼裝置100,係由具備CPU(Central Processing Unit)、畫格記憶體、硬碟等的資訊處理裝置等硬體所實現。動態影像編碼裝置100,係藉由上記的構成要素的作動,而實現以下說明的機能性構成要素。 The motion image coding device 100 is realized by a hardware such as an information processing device including a CPU (Central Processing Unit), a frame memory, and a hard disk. The motion picture coding apparatus 100 realizes the functional constituent elements described below by the operation of the above-described constituent elements.
本實施形態的動態影像編碼裝置100係含有:影像資料取得部101、CTB編碼部102、濾波器參數決定部103、濾波器參數編碼部105、迴圈濾波器104、 畫格記憶體106、編碼列多工部107、及編碼控制部110。編碼控制部110係含有:瓷磚設定部111、迴圈濾波器設定部112、及領域資訊設定部113。 The video encoding device 100 of the present embodiment includes a video data acquiring unit 101, a CTB encoding unit 102, a filter parameter determining unit 103, a filter parameter encoding unit 105, a loop filter 104, and The tile memory 106, the code column multiplexer 107, and the encoding control unit 110. The encoding control unit 110 includes a tile setting unit 111, a loop filter setting unit 112, and a domain information setting unit 113.
圖4係第1實施形態所述之動態影像編碼裝置100之動作的說明用流程圖。以下使用圖3與圖4來說明各部的機能與動作。此處,假設所被輸入之圖像的尺寸係為768×384,位元深度係為8位元。此時,CTB係在水平方向上存在12個、在垂直方向上存在6個,在圖像內有72個CTB存在。以下,令圖像的水平方向之CTB數為NumCtbInPicWidth。由於位元深度是8位元,因此像素值係為0至255。假設已被輸入之圖像係作為GOP(Group of Picture)而以一般的M=3、N=15而被編碼,I圖像係只有I切片,P圖像係只有P切片,B圖像係只有B切片而被編碼。此處,雖然將圖像之尺寸設成768×384而設定成CTB的倍數,但並非限定於此。又,雖然令GOP為M=3、N=15,但以可為會變成只有I圖像的N=1等,並非限定於此些。 Fig. 4 is a flowchart for explaining the operation of the video encoding apparatus 100 according to the first embodiment. The functions and operations of the respective parts will be described below using FIGS. 3 and 4. Here, it is assumed that the size of the input image is 768 × 384, and the bit depth is 8 bits. At this time, there are 12 CTBs in the horizontal direction, 6 in the vertical direction, and 72 CTBs in the image. Hereinafter, the number of CTBs in the horizontal direction of the image is NumCtbInPicWidth. Since the bit depth is 8 bits, the pixel value is 0 to 255. It is assumed that the image that has been input is encoded as a GOP (Group of Picture) with a general M=3, N=15, the I image is only I slice, the P image is only P slice, and the B image is Only B slices are encoded. Here, although the size of the image is set to 768×384 and is set to a multiple of CTB, the present invention is not limited thereto. Further, although the GOP is set to M=3 and N=15, N=1 or the like which may become an I-only image is not limited thereto.
首先,瓷磚設定部111係設定瓷磚(S100)。其後,除非特別聲明,否則都是假設圖像是如圖2(b)所示般地由4個瓷磚所構成。 First, the tile setting unit 111 sets the tile (S100). Thereafter, unless otherwise stated, it is assumed that the image is composed of four tiles as shown in Fig. 2(b).
接著,迴圈濾波器設定部112係設定迴圈濾波器資訊(S101)。此處,說明迴圈濾波器資訊。所謂迴圈 濾波器資訊,係為迴圈濾波器交錯旗標(loopfilter_interleave_flag)。迴圈濾波器交錯旗標係為用來表示濾波器參數的編碼單位是以CTB單位來進行多工化還是以圖像單位來進行多工化的旗標。若迴圈濾波器交錯旗標為1,則表示濾波器參數是以CTB單位而被多工化,若迴圈濾波器交錯旗標為0,則表示濾波器參數是以圖像單位而被多工化。以下,令旗標係為0或1之值的1位元之資訊。 Next, the loop filter setting unit 112 sets the loop filter information (S101). Here, the loop filter information will be described. Loop The filter information is the loop filter interleave flag (loopfilter_interleave_flag). The loop filter interleave flag is a flag for indicating whether the coding unit of the filter parameter is multiplexed in CTB units or multiplexed in image units. If the loop filter interleave flag is 1, it means that the filter parameters are multiplexed in CTB units. If the loop filter interleave flag is 0, it means that the filter parameters are multiplied in image units. Industrialization. Hereinafter, the flag is a 1-bit information of a value of 0 or 1.
在本實施形態中,loopfilter_interleave_flag係被設定成1。亦即,濾波器參數係以CTB單位而被多工化。 In the present embodiment, loopfilter_interleave_flag is set to 1. That is, the filter parameters are multiplexed in units of CTB.
首先,領域資訊設定部113係對CTB,設定CTB位址與CTB編碼順序(S102)。此處說明CTB位址與CTB編碼順序。圖5係CTB位址與CTB編碼順序的說明圖。 First, the domain information setting unit 113 sets the CTB address and the CTB encoding order for the CTB (S102). The CTB address and CTB coding order are described here. Figure 5 is an explanatory diagram of the CTB address and the CTB coding sequence.
圖5(a)係表示,對圖像內的各CTB所被設定的CTB位址。CTB位址係如圖5(a)所示,是對圖像內的各CTB,按照逐線掃描順序而每次增加1地被設定。圖5(b)係表示,如圖2(b)般地圖像是由4個瓷磚所構成時的對圖像內的各CTB所設定之CTB編碼順序。第1瓷磚的CTB編碼順序係為0至17,第2瓷磚的CTB編碼順序係為18至35,第3瓷磚的CTB編碼順序係為36至53,第4瓷磚的CTB編碼順序係為54至71。CTB編碼順序係如圖5(b)所示,是對瓷磚內的各CTB,按照逐線掃描順序而 每次增加1地被設定。如圖5所示,當瓷磚被垂直方向分割時,就會產生CTB位址(CTB的位址順序)與CTB被編碼之順序無法相同的區塊。又,如圖5所示,CTB位址係隨應於圖像之逐線掃描順序而定,CTB編碼順序係隨應於瓷磚之逐線掃描順序而定。 Fig. 5(a) shows the CTB address set for each CTB in the image. As shown in Fig. 5(a), the CTB address is set for each CTB in the image, which is incremented by one each time in the line-by-line scanning order. Fig. 5(b) shows the CTB encoding order set for each CTB in the image when the image is composed of four tiles as shown in Fig. 2(b). The first tile has a CTB coding order of 0 to 17, the second tile has a CTB coding order of 18 to 35, the third tile has a CTB coding order of 36 to 53, and the fourth tile has a CTB coding sequence of 54 to 71. The CTB coding sequence is shown in Figure 5(b), which is for each CTB in the tile, in line-by-line scan order. It is set each time 1 is added. As shown in FIG. 5, when the tile is divided in the vertical direction, a block in which the CTB address (the address order of the CTB) and the order in which the CTB is encoded cannot be generated. Moreover, as shown in FIG. 5, the CTB address is determined by the line-by-line scanning order of the image, and the CTB encoding order is determined by the line-by-line scanning order of the tiles.
如圖5所示,CTB位址係不依存於瓷磚而隨圖像的尺寸而被設定,CTB編碼順序係隨著圖像的尺寸與瓷磚的尺寸而被設定。亦即,CTB位址係表示圖像內之位置,藉由CTB位址就可獲得CTB在圖像內的位置關係。為了識別CTB是隸屬於哪個瓷磚,可以使用CTB位址與CTB編碼順序之任一者或雙方。 As shown in FIG. 5, the CTB address is set depending on the size of the image without depending on the tile, and the CTB encoding order is set according to the size of the image and the size of the tile. That is, the CTB address indicates the position within the image, and the positional relationship of the CTB within the image can be obtained by the CTB address. To identify which tile the CTB belongs to, either or both of the CTB address and the CTB encoding order can be used.
又,編碼控制部110,係將SPS、PPS、切片標頭等圖像進行編碼所必須之資訊,因應需要而加以設定並管理。關於SPS、PPS、切片標頭,將於後述。然後,控制影像資料取得部101、CTB編碼部102、濾波器參數決定部103、濾波器參數編碼部105、迴圈濾波器104、畫格記憶體106、及編碼列多工部107,生成編碼串流。 Further, the encoding control unit 110 sets and manages information necessary for encoding images such as SPS, PPS, and slice headers as needed. The SPS, PPS, and slice headers will be described later. Then, the control image data acquisition unit 101, the CTB encoding unit 102, the filter parameter determination unit 103, the filter parameter encoding unit 105, the loop filter 104, the frame memory 106, and the code column multiplexer 107 generate a code. Streaming.
此外,瓷磚、迴圈濾波器資訊、SPS、PPS、切片標頭等圖像編碼所必須之資訊,是在動態影像編碼裝置100內被共用,這些資料的流向之說明,在沒有特別情況下,係被省略。 In addition, the information necessary for image coding such as tile, loop filter information, SPS, PPS, slice header, etc. is shared in the motion picture coding apparatus 100, and the flow direction of these data is explained, in the absence of special circumstances. The system is omitted.
接著,依照CTB編碼順序,針對圖像內的所有CTB,重複進行以下處理(S103至S111)。 Next, in accordance with the CTB encoding order, the following processing is repeated for all CTBs in the image (S103 to S111).
接著,影像資料取得部101係基於身為編碼 對象之CTB亦即編碼對象CTB在圖像內之位置,從端子10所輸入之影像資料,取得該當於編碼對象CTB的CTB的原影像資料(S104)。然後,影像資料取得部101係將CTB的原影像資料,供給至CTB編碼部102。又,影像資料取得部101係將CTB的原影像資料,供給至濾波器參數決定部103。此處,將編碼對象CTB所屬之瓷磚令作編碼對象瓷磚,將編碼對象CTB所屬之切片令作編碼對象切片。 Next, the image data acquisition unit 101 is based on the body code The CTB of the object, that is, the position of the encoding target CTB in the image, is obtained from the image data input from the terminal 10, and the original image data of the CTB of the encoding target CTB is obtained (S104). Then, the video data acquisition unit 101 supplies the original video data of the CTB to the CTB encoding unit 102. Further, the video data acquisition unit 101 supplies the original video data of the CTB to the filter parameter determination unit 103. Here, the tile to which the encoding target CTB belongs is used as the encoding target tile, and the slice to which the encoding target CTB belongs is used as the encoding target slice.
接著,進行熵編碼部之設定(S105)。此處,說明熵編碼部之設定。若編碼對象CTB是切片或瓷磚的最初之CTB,則CTB編碼部102係將CTB編碼部102內部的熵編碼部予以初期化,濾波器參數編碼部105係將濾波器參數編碼部105內部的熵編碼部予以初期化。此外,假設CTB編碼部102內部的熵編碼部與濾波器參數編碼部105內部的熵編碼部,係為被AVC所利用之算術編碼的CABAC。 Next, setting of the entropy coding unit is performed (S105). Here, the setting of the entropy coding unit will be described. When the encoding target CTB is the first CTB of the slice or the tile, the CTB encoding unit 102 initializes the entropy encoding unit inside the CTB encoding unit 102, and the filter parameter encoding unit 105 sets the entropy inside the filter parameter encoding unit 105. The coding department was initialized. Further, it is assumed that the entropy coding unit inside the CTB coding unit 102 and the entropy coding unit inside the filter parameter coding unit 105 are CABACs that are arithmetically coded by AVC.
接著,CTB編碼部102係將影像資料取得部101所供給之CTB的原影像資料基於切片類型,進行畫面內預測(Intra預測)或運動補償預測(畫面間預測)而算出誤差訊號,針對誤差訊號使用正交轉換或量化處理來進行編碼,生成CTB編碼列,並且進行局部解碼而生成解碼影像資料(S106)。此外,CTB編碼部102所進行之編碼的處理,係只要是將CTB進行階層式量化等而有產生編碼失真之可能性的方法即可,這裡省略詳細說明。又,針對局 部解碼也是一般的動態影像編碼中所會進行之手法因此這裡省略詳細說明,但解碼影像資料係為,將動態影像編碼裝置100所輸出之編碼串流予以解碼之際所得之影像資料。CTB編碼部102,係將已生成之CTB編碼列,供給至編碼列多工部107。又,CTB編碼部102係將解碼影像資料供給至濾波器參數決定部103與迴圈濾波器104。 Next, the CTB encoding unit 102 performs on-screen prediction (Intra prediction) or motion compensation prediction (inter-frame prediction) based on the slice type on the original video data of the CTB supplied from the video data acquisition unit 101, and calculates an error signal for the error signal. The encoding is performed using orthogonal transform or quantization processing, a CTB encoded column is generated, and local decoding is performed to generate decoded video data (S106). In addition, the process of encoding by the CTB encoding unit 102 may be a method of generating a coding distortion by performing hierarchical quantization or the like on the CTB, and detailed description thereof will be omitted. Again, for the bureau The partial decoding is also a technique that is performed in general moving video encoding. Therefore, detailed description is omitted here, but the decoded video data is video data obtained by decoding the encoded stream output by the video encoding device 100. The CTB encoding unit 102 supplies the generated CTB code sequence to the code column multiplexer 107. Further, the CTB encoding unit 102 supplies the decoded video data to the filter parameter determining unit 103 and the loop filter 104.
接著,濾波器參數決定部103係基於影像資料取得部101所供給之CTB的原影像資料與CTB編碼部102所供給之解碼影像資料,來決定濾波器參數(S107)。濾波器參數決定部103,係將濾波器參數供給至濾波器參數編碼部105與迴圈濾波器104。濾波器參數決定部103的細節,將於後述。 Next, the filter parameter determination unit 103 determines the filter parameters based on the original video data of the CTB supplied from the video data acquisition unit 101 and the decoded video data supplied from the CTB encoding unit 102 (S107). The filter parameter determination unit 103 supplies the filter parameters to the filter parameter encoding unit 105 and the loop filter 104. Details of the filter parameter determination unit 103 will be described later.
迴圈濾波器104,係基於濾波器參數決定部103所供給之濾波器參數,而對CTB編碼部102所供給之解碼影像資料,執行迴圈濾波器(S108)。將執行迴圈濾波器而獲得之新的解碼影像資料,供給至畫格記憶體106。 The loop filter 104 performs a loop filter on the decoded video data supplied from the CTB encoding unit 102 based on the filter parameters supplied from the filter parameter determining unit 103 (S108). The new decoded image data obtained by executing the loop filter is supplied to the frame memory 106.
接著,濾波器參數編碼部105係將濾波器參數決定部103所供給之濾波器參數,編碼成迴圈濾波器單元(S109),將迴圈濾波器單元供給至編碼列多工部107。關於濾波器參數編碼部105與迴圈濾波器單元,將於後述。 Next, the filter parameter encoding unit 105 encodes the filter parameters supplied from the filter parameter determining unit 103 into a loop filter unit (S109), and supplies the loop filter unit to the code column multiplexer 107. The filter parameter encoding unit 105 and the loop filter unit will be described later.
接著,編碼列多工部107係將CTB編碼部102所供給之CTB編碼列與濾波器參數編碼部105所供給之迴圈濾波器單元,因應需要而連同SPS、PPS、切片標 頭等一起多工化成為編碼串流(S110),將編碼串流由端子11予以輸出。編碼列多工部107的細節,將於後述。 Next, the code column multiplexer 107 connects the CTB code sequence supplied from the CTB encoding unit 102 and the loop filter unit supplied from the filter parameter encoding unit 105, and includes SPS, PPS, and slice marks as needed. The first multiplex is multiplexed into a coded stream (S110), and the coded stream is output from the terminal 11. The details of the code column multiplexer 107 will be described later.
若對圖像內的全部CTB都處理完成,則結束處理。 If the processing of all CTBs in the image is completed, the processing ends.
接著說明濾波器參數決定部103的詳細構成。圖6係濾波器參數決定部103之構成的說明圖。如圖6所示,濾波器參數決定部103係由濾波器參數設定部120、迴圈濾波器執行部121、誤差計測部122、及濾波器參數確定部123所構成。端子12係連接至CTB編碼部102,端子13係連接至影像資料取得部101,端子14係連接至濾波器參數編碼部105與迴圈濾波器104。迴圈濾波器執行部121係含有:濾波器類型判定部130、邊緣型濾波器131、頻帶型濾波器132。 Next, the detailed configuration of the filter parameter determination unit 103 will be described. FIG. 6 is an explanatory diagram of the configuration of the filter parameter determining unit 103. As shown in FIG. 6, the filter parameter determination unit 103 is composed of a filter parameter setting unit 120, a loop filter execution unit 121, an error measurement unit 122, and a filter parameter determination unit 123. The terminal 12 is connected to the CTB encoding unit 102, the terminal 13 is connected to the video data acquiring unit 101, and the terminal 14 is connected to the filter parameter encoding unit 105 and the loop filter 104. The loop filter execution unit 121 includes a filter type determination unit 130, an edge filter 131, and a band filter 132.
接下來,說明濾波器參數決定部103的動作。圖7係濾波器參數決定部103之動作的說明用流程圖。以下使用圖6與圖7,來說明濾波器參數決定部103的動作。 Next, the operation of the filter parameter determination unit 103 will be described. FIG. 7 is a flowchart for explaining the operation of the filter parameter determining unit 103. The operation of the filter parameter determination unit 103 will be described below with reference to Figs. 6 and 7 .
首先,濾波器參數設定部120係基於端子12所供給之解碼影像資料與端子13所供給之原影像資料,而生成濾波器參數候補清單(S120),將已生成之濾波器參數候補清單,供給至迴圈濾波器執行部121。濾波器參數設定部120的細節,將於後述。 First, the filter parameter setting unit 120 generates a filter parameter candidate list based on the decoded video data supplied from the terminal 12 and the original video data supplied from the terminal 13 (S120), and supplies the generated filter parameter candidate list. The loop filter execution unit 121 is provided. Details of the filter parameter setting unit 120 will be described later.
接著,針對濾波器參數候補清單中所被登錄的所有濾波器參數,重複以下之處理(S121至S126)。 Next, the following processing is repeated for all the filter parameters registered in the filter parameter candidate list (S121 to S126).
首先,迴圈濾波器執行部121係對端子12所供給之解碼影像資料,基於濾波器參數而適用迴圈濾波器以生成新的解碼影像資料(S122),將該當解碼影像資料供給至誤差計測部122。迴圈濾波器執行部121的細節,將於後述。 First, the loop filter execution unit 121 applies a loop filter based on the filter parameters to the decoded image data supplied from the terminal 12 to generate new decoded image data (S122), and supplies the decoded image data to the error measurement. Part 122. Details of the loop filter execution unit 121 will be described later.
誤差計測部122係算出迴圈濾波器執行部121所供給之解碼影像資料與端子13所供給之原影像資料的誤差評價值(S123)。此處,令誤差評價值係為區塊內的解碼影像資料與原影像資料的絕對差分和(SAD)。 The error measurement unit 122 calculates an error evaluation value of the decoded image data supplied from the loop filter execution unit 121 and the original image data supplied from the terminal 13 (S123). Here, the error evaluation value is the absolute difference sum (SAD) of the decoded image data and the original image data in the block.
接著,誤差計測部122係檢查誤差評價值是否為最小(S124)。若誤差評價值為最小(S124的Y),則將濾波器參數供給至濾波器參數確定部123,濾波器參數確定部123係將該當濾波器參數予以保持(S125)。 Next, the error measuring unit 122 checks whether the error evaluation value is the smallest (S124). When the error evaluation value is the smallest (Y of S124), the filter parameter is supplied to the filter parameter determination unit 123, and the filter parameter determination unit 123 holds the filter parameter (S125).
若誤差評價值並非最小(S124的N),則下個濾波器參數會被處理(S126)。一旦濾波器參數候補清單中所被登錄的所有濾波器參數之處理都完成,則將濾波器參數確定部123所保持之誤差評價值為最小的濾波器參數,確定成為濾波器參數(S127),結束處理。 If the error evaluation value is not the smallest (N of S124), the next filter parameter is processed (S126). When the processing of all the filter parameters registered in the filter parameter candidate list is completed, the filter parameter whose error evaluation value held by the filter parameter determination unit 123 is the smallest is determined as the filter parameter (S127). End processing.
此處,雖然作為誤差評價值是使用了SAD,但只要是能夠算出濾波器參數即可,並不限於此,亦可使用SSD等。又,亦可不只是解碼影像資料與原影像資料之誤差,還加上濾波器參數傳輸時所必須的編碼量來一起 評估。 Here, although the SAD is used as the error evaluation value, the filter parameter may be calculated as long as it is not limited thereto, and an SSD or the like may be used. Moreover, it is not only the error of decoding the image data and the original image data, but also the amount of coding necessary for transmission of the filter parameters. Evaluation.
接著說明濾波器參數設定部120的細節。 Next, details of the filter parameter setting unit 120 will be described.
首先說明濾波器參數。濾波器參數係由:濾波器類型、頻帶寬、頻帶位置、偏置0、偏置1、偏置2、偏置3、偏置4所構成。 First, the filter parameters will be explained. The filter parameters consist of: filter type, frequency bandwidth, band position, offset 0, offset 1, offset 2, offset 3, and offset 4.
濾波器類型中係有:濾波器類型0、濾波器類型1、濾波器類型2、濾波器類型3、濾波器類型4、及濾波器類型5這6者。 Among the filter types are: filter type 0, filter type 1, filter type 2, filter type 3, filter type 4, and filter type 5.
濾波器類型0係表示不處理迴圈濾波器,濾波器類型1係表示迴圈濾波器是頻帶型濾波器,濾波器類型2至濾波器類型5係表示迴圈濾波器是邊緣型濾波器。 The filter type 0 indicates that the loop filter is not processed, the filter type 1 indicates that the loop filter is a band filter, and the filter type 2 to the filter type 5 indicates that the loop filter is an edge filter.
濾波器參數設定部120係若解碼影像資料與原影像資料之誤差評價值是在閾值以下,則生成僅以濾波器類型0來構成濾波器類型的濾波器參數候補清單,若誤差評價值是閾值以下,則生成含有濾波器參數所能採取之全部組合之濾波器參數的濾波器參數候補清單。 When the error evaluation value of the decoded video data and the original video data is equal to or less than the threshold value, the filter parameter setting unit 120 generates a filter parameter candidate list in which the filter type is configured only by the filter type 0, and if the error evaluation value is the threshold value Hereinafter, a filter parameter candidate list including filter parameters of all combinations that can be adopted by the filter parameters is generated.
接著說明迴圈濾波器執行部121的細節。迴圈濾波器執行部121係由:濾波器類型判定部130、邊緣型濾波器131、頻帶型濾波器132所構成。 Next, details of the loop filter execution unit 121 will be described. The loop filter execution unit 121 is composed of a filter type determination unit 130, an edge filter 131, and a band filter 132.
接下來,說明迴圈濾波器執行部121的動 作。 Next, the movement of the loop filter execution unit 121 will be described. Work.
首先,濾波器類型判定部130係進行濾波器類型之判定。若濾波器類型為0,則將端子12所供給之解碼影像資料當作濾波器適用後的解碼影像資料而輸出至誤差計測部122。若濾波器類型為1,則頻帶型濾波器132係對端子12所供給之解碼影像資料基於濾波器參數而適用頻帶型濾波器,將濾波器適用後的解碼影像資料,輸出至誤差計測部122。若濾波器類型是2至5,則邊緣型濾波器131係對端子12所供給之解碼影像資料基於濾波器參數而適用邊緣型濾波器,將濾波器適用後的解碼影像資料,輸出至誤差計測部122。 First, the filter type determination unit 130 performs determination of the filter type. When the filter type is 0, the decoded video data supplied from the terminal 12 is output as the decoded video data after the filter is applied to the error measuring unit 122. When the filter type is 1, the band filter 132 applies a band type filter based on the filter parameters to the decoded video data supplied from the terminal 12, and outputs the decoded video data to which the filter is applied to the error measuring unit 122. . If the filter type is 2 to 5, the edge type filter 131 applies the edge type filter based on the filter parameters to the decoded image data supplied from the terminal 12, and outputs the decoded image data after the filter is applied to the error measurement. Part 122.
接著說明邊緣型濾波器131的細節。邊緣型濾波器131係含有:邊緣角度設定部141、相鄰像素設定部142、邊緣類型判定部143、邊緣偏置值設定部144、及邊緣偏置值加算部145。 Next, the details of the edge type filter 131 will be described. The edge type filter 131 includes an edge angle setting unit 141, an adjacent pixel setting unit 142, an edge type determining unit 143, an edge offset value setting unit 144, and an edge offset value adding unit 145.
圖8係邊緣型濾波器131之動作的說明用流程圖。以下使用圖8來說明邊緣型濾波器131之動作。 Fig. 8 is a flow chart for explaining the operation of the edge type filter 131. The operation of the edge type filter 131 will be described below using FIG.
首先,邊緣角度設定部141,係進行邊緣角度之判定(S130)。邊緣角度n係設為濾波器類型n。n係為2,3,4,5。接著,對編碼樹區塊內的64個像素X,按照逐線掃描順序而重複進行以下處理(S131至S139)。X係為0、1、2、...、63。 First, the edge angle setting unit 141 determines the edge angle (S130). The edge angle n is set to the filter type n. The n series is 2, 3, 4, 5. Next, the following processing is repeated for the 64 pixels X in the coding tree block in the line-by-line scanning order (S131 to S139). The X system is 0, 1, 2. . . 63.
首先,相鄰像素設定部142係設定相應於邊緣角度的相鄰像素A與相鄰像素B(S132)。至於相應於邊緣角度的相鄰像素A與相鄰像素B將於後述。接著,相鄰像素設定部142係檢查相鄰像素A或相鄰像素B是否為圖像外(S133)。若相鄰像素A或相鄰像素B是圖像外(S133的Y),則邊緣偏置值設定部144係將偏置值設定成0(S137),邊緣偏置值加算部145係對像素X加算偏置值而算出處理像素X’(S138)。若相鄰像素A或相鄰像素B並非圖像外(S133的N),則檢查loopfilter_interleave_flag是否為1(S140)。若loopfilter_interleave_flag為1(S140的Y),則相鄰像素設定部142係檢查相鄰像素A或相鄰像素B是否為瓷磚外(S134)。所謂相鄰像素A或相鄰像素B是瓷磚外係指,相鄰像素A或相鄰像素B是被包含在,與像素X不同之瓷磚中所屬之CTB裡。若loopfilter_interleave_flag並非1(S140的N),則邊緣類型判定部143係進行邊緣類型之判定(S135)。 First, the adjacent pixel setting section 142 sets the adjacent pixel A and the adjacent pixel B corresponding to the edge angle (S132). The adjacent pixel A and the adjacent pixel B corresponding to the edge angle will be described later. Next, the adjacent pixel setting unit 142 checks whether the adjacent pixel A or the adjacent pixel B is out of the image (S133). If the adjacent pixel A or the adjacent pixel B is outside the image (Y of S133), the edge offset value setting unit 144 sets the offset value to 0 (S137), and the edge offset value adding unit 145 pairs the pixels. X calculates the offset value and calculates the processed pixel X' (S138). If the adjacent pixel A or the adjacent pixel B is not outside the image (N of S133), it is checked whether loopfilter_interleave_flag is 1 (S140). When the loopfilter_interleave_flag is 1 (Y of S140), the adjacent pixel setting unit 142 checks whether the adjacent pixel A or the adjacent pixel B is outside the tile (S134). The adjacent pixel A or the adjacent pixel B is a tile external finger, and the adjacent pixel A or the adjacent pixel B is included in the CTB to which the tile different from the pixel X belongs. If the loopfilter_interleave_flag is not 1 (N of S140), the edge type determination unit 143 determines the edge type (S135).
若相鄰像素A或相鄰像素B是瓷磚外(S134的Y),則邊緣偏置值設定部144係將偏置值設定成0(S137),邊緣偏置值加算部145係對像素X加算偏置值而算出處理像素X’(S138)。若相鄰像素A或相鄰像素B並非瓷磚外(S134的N),則邊緣類型判定部143係進行邊緣類型之判定(S135)。關於邊緣類型之判定將於後述。接著,邊緣偏置值設定部144係進行偏置值之設定(S136)。接著,邊緣偏置值加算部145係對像素X加算偏置值而算 出處理像素X’(S138)。關於處理像素X’之算出將於後述。 If the adjacent pixel A or the adjacent pixel B is outside the tile (Y of S134), the edge offset value setting unit 144 sets the offset value to 0 (S137), and the edge offset value adding unit 145 is paired with the pixel X. The processed pixel X' is calculated by adding the offset value (S138). If the adjacent pixel A or the adjacent pixel B is not outside the tile (N of S134), the edge type determination unit 143 determines the edge type (S135). The determination of the edge type will be described later. Next, the edge offset value setting unit 144 sets the offset value (S136). Next, the edge offset value adding unit 145 adds the offset value to the pixel X to calculate The pixel X' is processed (S138). The calculation of the processed pixel X' will be described later.
圖9係相應於邊緣角度的相鄰像素A與相鄰像素B的說明圖。邊緣角度1的情況下,相鄰像素A係為像素X的左方之像素,相鄰像素B係為像素X的右方之像素(圖9(a))。邊緣角度2的情況下,相鄰像素A係為像素X的上方之像素,相鄰像素B係為像素X的下方之像素(圖9(b))。邊緣角度3的情況下,相鄰像素A係為像素X的右上之像素,相鄰像素B係為像素X的左下之像素(圖9(c))。邊緣角度4的情況下,相鄰像素A係為像素X的左上之像素,相鄰像素B係為像素X的右下之像素(圖9(d))。如此,對水平方向、垂直方向、右斜方向、及左斜方向,施加邊緣型濾波器而令其作用,就可補正各方向上所產生之誤差。此處,邊緣角度1、邊緣角度2、邊緣角度3、及邊緣角度4係分別被指派至濾波器類型2、濾波器類型3、濾波器類型4、及濾波器類型5。 FIG. 9 is an explanatory diagram of adjacent pixels A and adjacent pixels B corresponding to edge angles. In the case of the edge angle 1, the adjacent pixel A is the pixel to the left of the pixel X, and the adjacent pixel B is the pixel to the right of the pixel X (FIG. 9(a)). In the case of the edge angle 2, the adjacent pixel A is a pixel above the pixel X, and the adjacent pixel B is a pixel below the pixel X (FIG. 9(b)). In the case of the edge angle 3, the adjacent pixel A is the upper right pixel of the pixel X, and the adjacent pixel B is the lower left pixel of the pixel X (FIG. 9(c)). In the case of the edge angle 4, the adjacent pixel A is the upper left pixel of the pixel X, and the adjacent pixel B is the lower right pixel of the pixel X (FIG. 9(d)). In this way, by applying an edge type filter to the horizontal direction, the vertical direction, the right oblique direction, and the left oblique direction, the error generated in each direction can be corrected. Here, the edge angle 1, the edge angle 2, the edge angle 3, and the edge angle 4 are assigned to the filter type 2, the filter type 3, the filter type 4, and the filter type 5, respectively.
如以上所述,於邊緣型濾波器131中,當濾波器參數是以CTB單位而被多工化(loopfilter_interleave_flag為1)時,若相鄰像素A或相鄰像素B是瓷磚外,則藉由將偏置值設定成0所令迴圈濾波器不作用,就可使迴圈濾波器之動作,在CTB單位中就完結。因此,如圖10所示,為了對CTB內之像素且右邊 或下邊銜接於瓷磚交界的CTB內之像素X,使迴圈濾波器產生作用所必須的濾波器適用前的像素A與像素X,就沒有必要跨過瓷磚交界而被保持。 As described above, in the edge type filter 131, when the filter parameters are multiplexed in units of CTB (loopfilter_interleave_flag is 1), if the adjacent pixel A or the adjacent pixel B is a tile, Setting the offset value to 0 causes the loop filter to be inactive, and the action of the loop filter can be completed in the CTB unit. Therefore, as shown in Figure 10, in order to the pixels in the CTB and to the right Or the pixel X in the CTB below the tile boundary, so that the pixel A and the pixel X before the filter is applied, which is necessary for the loop filter to function, is not necessary to be maintained across the tile boundary.
邊緣類型係由,將像素X與相鄰像素A之差分的符號、與像素X與相鄰像素B之差分的符號之和所加算而成的值,亦即符號和SS所決定。若令像素m之像素為P(m),則符號和SS係以式(1)而被算出。 The edge type is determined by adding the sum of the sign of the difference between the pixel X and the adjacent pixel A and the sign of the difference between the pixel X and the adjacent pixel B, that is, the symbol and the SS. When the pixel of the pixel m is P(m), the symbol and the SS are calculated by the equation (1).
SS=Sign(P(X)-P(A))+Sign(P(X)-P(B)); 式(1) SS=Sign(P(X)-P(A))+Sign(P(X)-P(B)); Equation (1)
此處,Sign(i)係為,若輸入值i未滿0則回送-1,若輸入值i是0以上則回送1的函數。 Here, Sign(i) is a function of returning -1 if the input value i is less than 0 and returning 1 if the input value i is 0 or more.
SS是0、-2、-1、1、2時的邊緣類型,分別令作0、1、2、3、4。作為邊緣類型的0、1、2、3、4之偏置值,係分別設定偏置0、偏置1、偏置2、偏置3、偏置4。此處,SS為0時,像素X、相鄰像素A、及相鄰像素B是呈直線排列,因此認為沒有誤差而偏置0係設定成0。SS非0時係為了補正失真而將偏置0至偏置4分別設定成適切的值。 When SS is 0, -2, -1, 1, 2, the edge type is 0, 1, 2, 3, and 4 respectively. As the offset values of the edge types of 0, 1, 2, 3, and 4, offset 0, offset 1, offset 2, offset 3, and offset 4 are set, respectively. Here, when SS is 0, the pixel X, the adjacent pixel A, and the adjacent pixel B are arranged in a straight line. Therefore, it is considered that there is no error and the offset 0 is set to 0. When SS is not 0, the offset 0 to the offset 4 are respectively set to appropriate values in order to correct the distortion.
像素X的邊緣型濾波器適用後之處理像素X’,係用 式(2)而算出。 The edge type filter of pixel X is applied to the processed pixel X'. Calculated by the formula (2).
P(X')=P(X)+OFFSET[SS]; 式(2) P(X')=P(X)+OFFSET[SS]; Equation (2)
此處,OFFSET[m]係為m(m=0,1,...,4)。 Here, OFFSET[m] is m (m = 0, 1, ..., 4).
如以上所述,在邊緣型濾波器中,係可對水平方向、垂直方向、右斜方向、及左斜方向,藉由與相鄰像素之差分的符號,以像素單位來適應性地補正誤差。 As described above, in the edge type filter, the error can be adaptively corrected in units of pixels by the sign of the difference from the adjacent pixels in the horizontal direction, the vertical direction, the right oblique direction, and the left oblique direction. .
接著說明頻帶型濾波器132的細節。頻帶型濾波器132係含有:頻帶寬設定部151、頻帶位置設定部152、頻帶偏置值設定部153、及頻帶偏置值加算部154。 Next, details of the band type filter 132 will be described. The band filter 132 includes a band width setting unit 151, a band position setting unit 152, a band offset value setting unit 153, and a band offset value adding unit 154.
圖11係頻帶型濾波器132之動作的說明用流程圖。以下使用圖11來說明頻帶型濾波器之動作。 Fig. 11 is a flow chart for explaining the operation of the band filter 132. The operation of the band type filter will be described below using FIG.
首先,頻帶寬設定部151係設定頻帶寬(S150)。 First, the frequency bandwidth setting unit 151 sets the frequency bandwidth (S150).
此處,說明頻帶寬。頻帶寬係為,將輸入影像所可能出現的像素值之範圍,分割成複數頻帶之際的頻帶寬。在本實施形態中,係令頻帶寬為32。在本實施形態中,由於輸入影像是為8位元因此具有0至255的像素值之範圍,所以被分割成0至31(頻帶0)、32至63(頻帶1)、64 至95(頻帶2)、96至127(頻帶3)、128至159(頻帶4)、160至191(頻帶5)、192至223(頻帶6)、224至255(頻帶7)這8個頻帶。 Here, the frequency bandwidth is explained. The frequency bandwidth is a frequency bandwidth at which a range of pixel values that may appear in an input image is divided into a plurality of frequency bands. In the present embodiment, the frequency bandwidth is 32. In the present embodiment, since the input image is an 8-bit element and thus has a range of pixel values of 0 to 255, it is divided into 0 to 31 (band 0), 32 to 63 (band 1), 64. 8 bands up to 95 (band 2), 96 to 127 (band 3), 128 to 159 (band 4), 160 to 191 (band 5), 192 to 223 (band 6), and 224 to 255 (band 7) .
藉由如此設定頻帶寬,而將頻帶寬加大,就可將廣範圍的像素值整批進行補正,藉由縮小頻帶寬,就可將窄範圍的像素值整批進行補正。例如,某圖像內的像素所可能出現之像素值的範圍較廣時則將頻帶寬設成較大,某圖像內的像素所可能出現之像素值的範圍較廣時,則將頻帶寬縮小,就可隨應於圖像的特性,來適切地補正解碼影像。在本實施形態中,頻帶寬係為固定值來說明,但只要能將輸入影像所可能出現之像素值之範圍分割成1個以上之頻帶即可,亦可為16或128。又,將頻帶寬多工化至PPS等中而予以傳輸,配合圖像內的像素所可能出現之像素值的範圍等而做適應性變更,藉此可使頻帶型濾波器有效作用。 By setting the frequency bandwidth in this way and increasing the frequency bandwidth, a wide range of pixel values can be corrected in batches, and by narrowing the frequency bandwidth, a narrow range of pixel values can be corrected in batches. For example, when a pixel in a certain image may have a wider range of pixel values, the frequency bandwidth is set to be larger, and when a pixel in a certain image may have a wider range of pixel values, the bandwidth is wider. By zooming out, the decoded image can be appropriately corrected in accordance with the characteristics of the image. In the present embodiment, the frequency bandwidth is described as a fixed value. However, the range of pixel values that may appear in the input image can be divided into one or more frequency bands, and may be 16 or 128. Further, the frequency bandwidth is multiplexed into the PPS or the like and transmitted, and the range of the pixel values that may appear in the pixels in the image is adaptively changed, whereby the band type filter can be effectively operated.
接在步驟S150之後,針對3個頻帶位置重複以下之處理(S151至S158)。此處,說明3個頻帶位置。第1個頻帶位置係為濾波器參數中所含之頻帶位置。第2個頻帶位置係為將第1個頻帶位置挪移1個後的頻帶位置。例如,若第1個頻帶位置是頻帶2,則第2個頻帶位置係為頻帶3。同樣地,第3個頻帶位置係為將第2個頻帶位置挪移1個後的頻帶位置。 Following the step S150, the following processing is repeated for the three frequency band positions (S151 to S158). Here, three band positions will be described. The first band position is the band position contained in the filter parameters. The second band position is a band position after the first band position is shifted by one. For example, if the first band position is band 2, the second band position is band 3. Similarly, the third frequency band position is a frequency band position in which the second frequency band position is shifted by one.
頻帶位置設定部152係設定第b個頻帶位置(S152)。此處,b係為0與1。頻帶位置,係為表示藉由 頻帶寬而被分割成的頻帶之任一者的值,此處係為0至7的整數。例如,頻帶位置0係表示頻帶0,頻帶位置2係表示頻帶3。 The band position setting unit 152 sets the b-th band position (S152). Here, b is 0 and 1. Band position, indicated by The value of any one of the frequency bands divided by the frequency bandwidth is an integer of 0 to 7. For example, band position 0 indicates band 0, and band position 2 indicates band 3.
接在步驟S152之後,頻帶偏置值設定部153係設定每頻帶的偏置值(S153)。頻帶位置所示之頻帶的偏置值係被設定成偏置0,頻帶位置所示之頻帶以外之頻帶的偏置值係被設定成0。 After the step S152, the band offset value setting unit 153 sets the offset value for each band (S153). The offset value of the frequency band indicated by the band position is set to be offset 0, and the offset value of the band other than the band indicated by the band position is set to zero.
接著,對像素值的編碼樹區塊內的64個像素X,按照逐線掃描順序而進行以下處理(S154至S157)。X係為0、1、...、63。 Next, the following processing is performed on the 64 pixels X in the coding tree block of the pixel value in the line-by-line scanning order (S154 to S157). The X system is 0, 1,. . . 63.
首先,頻帶偏置值加算部154係決定像素X所屬之頻帶亦即xb(S155)。接著,頻帶偏置值加算部154係對像素X,加算像素X所屬之頻帶的偏置值Ob[xb]而算出處理像素X’(S156)。 First, the band offset value adding unit 154 determines xb which is the frequency band to which the pixel X belongs (S155). Next, the band offset value adding unit 154 calculates the processed pixel X' by adding the offset value Ob[xb] of the frequency band to which the pixel X belongs to the pixel X (S156).
像素X的頻帶型濾波器適用後之處理像素X’,係用式(3)而算出。 The processing pixel X' after the band-type filter of the pixel X is applied is calculated by the equation (3).
P(X')=P(X)+Ob[xb]; 式(3) P(X')=P(X)+Ob[xb]; Equation (3)
如以上所述,頻帶型濾波器係可僅將特定範圍內之像素值的像素予以補正,因此具有降低平坦領域容易發生之雜訊的效果。尤其是,針對因為4:2:0格式等 亮度訊號而減少了解像度的色差訊號,係由於相較於亮度訊號,DC中容易發生誤差之邊緣是比較少,因此頻帶型濾波器的效果較大。又,由於不參照相鄰像素,因此相較於邊緣類型之偏置,可實現更少的濾波處理量或記憶體量。 As described above, the band type filter can correct only the pixels of the pixel values within a specific range, and therefore has an effect of reducing noise which is likely to occur in the flat field. Especially, for the 4:2:0 format, etc. The luminance signal reduces the chrominance signal of the image, because the edge of the error in the DC is relatively small compared to the luminance signal, so the effect of the band filter is large. Moreover, since the adjacent pixels are not referred to, less filtering processing amount or memory amount can be realized than the edge type offset.
接著說明迴圈濾波器104。迴圈濾波器104,係具有與迴圈濾波器執行部121相同機能與動作,因此這裡省略說明。 Next, the loop filter 104 will be described. The loop filter 104 has the same function and operation as the loop filter execution unit 121, and thus the description thereof is omitted here.
接著說明濾波器參數編碼部105的細節。圖12係編碼對象CTB與編碼對象CTB所相鄰之CTB的說明圖。圖13係濾波器參數編碼部105之動作的說明用流程圖。以下使用圖12與圖13,來說明濾波器參數編碼部105的動作。 Next, details of the filter parameter encoding unit 105 will be described. Fig. 12 is an explanatory diagram of a CTB adjacent to the encoding target CTB and the encoding target CTB. FIG. 13 is a flowchart for explaining the operation of the filter parameter encoding unit 105. The operation of the filter parameter encoding unit 105 will be described below with reference to Figs. 12 and 13 .
首先,將相鄰CTB之有效性亦即available_left_ctb_flag與available_above_ctb_flag,予以導出(S160)。接著,檢查available_left_ctb_flag是否為1(S161)。若available_left_ctb_flag為1(S161的Y),則檢查編碼對象CTB與編碼對象CTB之左方位置的CTB的濾波器參數是否相同(S162)。此處,編碼對象CTB之左方位置的CTB,係為圖12的CTB的A。若編碼對象CTB 與編碼對象CTB之左方位置的CTB的濾波器參數是相同(S162的Y),則將loopfilter_merge_left_flag設成1而將loopfilter_merge_left_flag進行編碼(S163),結束處理。若編碼對象CTB與編碼對象CTB之左方位置的CTB的濾波器參數並非相同(S162的N),則將loopfilter_merge_left_flag設成0而將loopfilter_merge_left_flag進行編碼(S164)。 First, the validity of the adjacent CTB, that is, available_left_ctb_flag and available_above_ctb_flag, is derived (S160). Next, it is checked whether or not available_left_ctb_flag is 1 (S161). If the available_left_ctb_flag is 1 (Y of S161), it is checked whether or not the filter parameters of the CTB of the left side of the encoding target CTB and the encoding target CTB are the same (S162). Here, the CTB at the left position of the encoding target CTB is A of the CTB of FIG. If the encoding object CTB When the filter parameter of the CTB to the left of the encoding target CTB is the same (Y of S162), the loopfilter_merge_left_flag is set to 1 and the loopfilter_merge_left_flag is encoded (S163), and the processing ends. If the filter parameters of the CTB of the coding target CTB and the left position of the coding target CTB are not the same (N of S162), the loopfilter_merge_left_flag is set to 0 and the loopfilter_merge_left_flag is encoded (S164).
若available_left_ctb_flag並非1(S161的N),則接在步驟S164之後,檢查available_above_ctb_flag是否為1(S165)。若available_above_ctb_flag為1(S165的Y),則檢查編碼對象CTB與編碼對象CTB之上方位置的CTB的濾波器參數是否相同(S166)。此處,編碼對象CTB之上方位置的CTB,係為圖12的CTB的B。若編碼對象CTB與編碼對象CTB之上方位置的CTB的濾波器參數是相同(S166的Y),則將loopfilter_merge_above_flag設成1而將loopfilter_merge_above_flag進行編碼(S167),結束處理。若編碼對象CTB與編碼對象CTB之上方位置的CTB的濾波器參數並非相同(S166的N),則將loopfilter_merge_above_flag設成0而將loopfilter_merge_above_flag進行編碼(S168)。接在步驟S168之後,將迴圈濾波器編碼參數loopfilter_cod_param( )予以編碼。此處,迴圈濾波器編碼參數,係將濾波器參數的所有要素予以編碼而成的編碼 列。 If available_left_ctb_flag is not 1 (N of S161), it is checked whether or not available_above_ctb_flag is 1 after step S164 (S165). If the available_above_ctb_flag is 1 (Y of S165), it is checked whether or not the filter parameters of the CTB at the position above the encoding target CTB and the encoding target CTB are the same (S166). Here, the CTB at the position above the coding target CTB is B of CTB of FIG. When the filter parameter CTB is the same as the filter parameter of the CTB at the position above the encoding target CTB (Y in S166), the loopfilter_merge_above_flag is set to 1 and the loopfilter_merge_above_flag is encoded (S167), and the processing ends. If the filter parameters of the CTB of the encoding target CTB and the position above the encoding target CTB are not the same (N of S166), the loopfilter_merge_above_flag is set to 0 and the loopfilter_merge_above_flag is encoded (S168). Following the step S168, the loop filter encoding parameter loopfilter_cod_param( ) is encoded. Here, the loop filter coding parameter is a code obtained by coding all the elements of the filter parameters. Column.
此外,濾波器參數編碼部105係由於參照編碼對象CTB之左方與上方位置的CTB的濾波器參數,因此會將圖像內的所有CTB的濾波器參數加以保持。 Further, since the filter parameter encoding unit 105 refers to the filter parameters of the CTB to the left and the upper position of the encoding target CTB, the filter parameters of all the CTBs in the image are held.
此處,以CTB單位將濾波器參數進行編碼時,若將所有的濾波器參數當作迴圈濾波器編碼參數而予以編碼,則濾波器參數的編碼會需要龐大的編碼量,無法對影像資料所編碼而成之CTB編碼列分配足夠的編碼量,結果而言有可能導致編碼效率降低。又,當對同一物件中所屬之CTB使用了不同濾波器參數的情況下,同一物件內的迴圈濾波器之特性的差異,有可能會被視覺性辨識成為區塊失真。因此,一般而言在同一物件內,濾波器參數被設定成使得濾波器參數會是相同的可能性很高。因此如以上所述,當編碼對象CTB的濾波器參數是與編碼對象CTB所相鄰之已編碼之CTB的濾波器參數相同時,藉由將表示利用編碼對象CTB所相鄰之已編碼之CTB的濾波器參數來作為編碼對象CTB之濾波器參數這件事的1位元之旗標予以編碼,就可不會伴隨視覺性劣化,將迴圈濾波器編碼參數所需要之編碼量削減成1位元,提升編碼效率。此外,迴圈濾波器編碼參數的細節將於後述,但迴圈濾波器編碼參數之編碼所需之編碼量,係為遠大於1位元的編碼量。另一方面,當編碼對象CTB的濾波器參數並非與編碼對象CTB所相鄰之已編碼之CTB的濾波器參數相同時,則將表示不利用編碼對象CTB所相鄰之已編 碼之CTB的濾波器參數來作為編碼對象CTB之濾波器參數這件事的1位元之旗標予以編碼,將迴圈濾波器編碼參數予以編碼,藉此就可每CTB地變更濾波器參數。 Here, when the filter parameters are encoded in CTB units, if all the filter parameters are encoded as the loop filter coding parameters, the coding of the filter parameters requires a large amount of coding, and the image data cannot be obtained. The encoded CTB code column allocates a sufficient amount of code, and as a result, it may result in a decrease in coding efficiency. Moreover, when different filter parameters are used for the CTB to which the same object belongs, the difference in characteristics of the loop filter in the same object may be visually recognized as block distortion. Therefore, in general, it is highly probable that the filter parameters are set such that the filter parameters will be the same within the same object. Therefore, as described above, when the filter parameter of the encoding object CTB is the same as the filter parameter of the encoded CTB adjacent to the encoding object CTB, by using the encoded CTB adjacent to the encoding object CTB The filter parameter is encoded as a 1-bit flag of the filter parameter of the encoding target CTB, so that the coding amount required for the loop filter coding parameter can be reduced to 1 bit without accompanying visual deterioration. Yuan, improve coding efficiency. In addition, the details of the loop filter coding parameters will be described later, but the amount of coding required for the coding of the loop filter coding parameters is a code amount much larger than one bit. On the other hand, when the filter parameter of the encoding object CTB is not the same as the filter parameter of the encoded CTB adjacent to the encoding object CTB, it will indicate that the adjacent encoding object CTB is adjacent. The filter parameter of the CTB of the code is encoded as a 1-bit flag of the filter parameter of the encoding object CTB, and the loop filter coding parameter is encoded, whereby the filter parameter can be changed every CTB. .
此處,說明相鄰CTB之有效性亦即available_left_ctb_flag與available_above_ctb_flag之導出。圖14係相鄰CTB之有效性之導出的說明用流程圖。首先,available_left_ctb_flag與available_above_ctb_flag係被設定成1(S180)。接著,檢查編碼對象CTB的左邊是否銜接於圖像交界(S181)。若編碼對象CTB的左邊是銜接於圖像交界(S181的Y),則將available_left_ctb_flag設成0(S184)。若編碼對象CTB的左邊未銜接於圖像交界(S181的N),則檢查編碼對象CTB的左邊是否銜接於瓷磚交界(S182)。此處,所謂編碼對象CTB的左邊是銜接於瓷磚交界,係指編碼對象CTB與編碼對象CTB之左方位置的CTB是隸屬於個別之瓷磚。另一方面,所謂編碼對象CTB的左邊未銜接於瓷磚交界,係指編碼對象CTB與編碼對象CTB之左方位置的CTB是隸屬於同一之瓷磚。若編碼對象CTB的左邊是銜接於瓷磚交界(S182的Y),則檢查loopfilter_interleave_flag是否為1(S183)。若loopfilter_interleave_flag為1(S183的Y),則將available_left_ctb_flag設成0(S184)。若loopfilter_interleave_flag並非1(S183的N),則略過步驟S184。若編碼對象CTB的左邊並未銜接於瓷磚交界(S182的N),則步驟S183與步驟S184係被略過。 Here, the validity of the adjacent CTB, that is, the availability of available_left_ctb_flag and available_above_ctb_flag, will be described. Figure 14 is a flow chart for the description of the derivation of the validity of adjacent CTBs. First, available_left_ctb_flag and available_above_ctb_flag are set to 1 (S180). Next, it is checked whether the left side of the encoding object CTB is connected to the image boundary (S181). If the left side of the encoding object CTB is connected to the image boundary (Y of S181), the available_left_ctb_flag is set to 0 (S184). If the left side of the coded object CTB is not connected to the image boundary (N of S181), it is checked whether the left side of the coded object CTB is connected to the tile boundary (S182). Here, the left side of the encoding object CTB is connected to the tile boundary, and the CTB indicating the left position of the encoding object CTB and the encoding object CTB belongs to an individual tile. On the other hand, the left side of the encoding object CTB is not connected to the tile boundary, and means that the CTB of the left side of the encoding object CTB and the encoding object CTB belongs to the same tile. If the left side of the coding object CTB is connected to the tile boundary (Y of S182), it is checked whether loopfilter_interleave_flag is 1 (S183). If loopfilter_interleave_flag is 1 (Y of S183), available_left_ctb_flag is set to 0 (S184). If loopfilter_interleave_flag is not 1 (N of S183), step S184 is skipped. If the left side of the coded object CTB is not connected to the tile boundary (N of S182), step S183 and step S184 are skipped.
接著,檢查編碼對象CTB的上邊是否銜接於圖像交界(S185)。若編碼對象CTB的上邊是銜接於圖像交界(S185的Y),則將available_above_ctb_flag設成0(S188)。若編碼對象CTB的上邊未銜接於圖像交界(S185的N),則檢查編碼對象CTB的上邊是否銜接於瓷磚交界(S186)。此處,所謂編碼對象CTB的上邊是銜接於瓷磚交界,係指編碼對象CTB與編碼對象CTB之上方位置的CTB是隸屬於個別之瓷磚。另一方面,所謂編碼對象CTB的上邊未銜接於瓷磚交界,係指編碼對象CTB與編碼對象CTB之上方位置的CTB是隸屬於同一之瓷磚。若編碼對象CTB的上邊是銜接於瓷磚交界(S186的Y),則檢查loopfilter_interleave_flag是否為1(S187)。若loopfilter_interleave_flag為1(S187的Y),則將available_above_ctb_flag設成0(S188)。若loopfilter_interleave_flag並非1(S187的N),則略過步驟S188。若編碼對象CTB的上邊並未銜接於瓷磚交界(S186的N),則步驟S187與步驟S188係被略過。 Next, it is checked whether the upper side of the encoding object CTB is connected to the image boundary (S185). If the upper side of the encoding object CTB is connected to the image boundary (Y of S185), the available_above_ctb_flag is set to 0 (S188). If the upper side of the encoding object CTB is not connected to the image boundary (N of S185), it is checked whether the upper side of the encoding object CTB is connected to the tile boundary (S186). Here, the upper side of the encoding target CTB is connected to the tile boundary, and the CTB indicating the position above the encoding target CTB and the encoding target CTB belongs to an individual tile. On the other hand, the upper side of the encoding target CTB is not connected to the tile boundary, and means that the CTB of the upper position of the encoding target CTB and the encoding target CTB belongs to the same tile. If the upper side of the encoding object CTB is connected to the tile boundary (Y of S186), it is checked whether loopfilter_interleave_flag is 1 (S187). If loopfilter_interleave_flag is 1 (Y of S187), then available_above_ctb_flag is set to 0 (S188). If loopfilter_interleave_flag is not 1 (N of S187), step S188 is skipped. If the upper side of the coded object CTB is not connected to the tile boundary (N of S186), steps S187 and S188 are skipped.
此處,濾波器參數是以CTB單位而被多工化(loopfilter_interleave_flag為1),編碼處理是以瓷磚單位而獨立(平行)進行的此種情況下,針對編碼對象CTB的左邊是銜接於瓷磚交界的編碼對象CTB,若許可從位於左方之CTB取得濾波器參數,則直到位於左方之CTB的濾波器參數被確定之前,都無法檢查編碼對象CTB與濾波器參數與位於左方之CTB的濾波器參數是否相同,因此會 有產生等待時間的可能性。於是,針對CTB之左邊是銜接於瓷磚交界的此種編碼對象CTB,係禁止位於左方之CTB的濾波器參數之利用。然後,藉由將available_left_ctb_flag設成0而變成不將loopfilter_merge_left_flag予以編碼,就可削減loopfilter_merge_left_flag的編碼量,抑制編碼效率的降低。又,藉由設定成不將loopfilter_merge_left_flag進行編碼,就可明示性地禁止位於左方之CTB的濾波器參數之利用。同樣地,當編碼對象CTB的上邊是銜接於瓷磚交界時,藉由將available_above_ctb_flag設成0而變成不將loopfilter_merge_above_flag予以編碼,就可抑制編碼效率的降低,可明示性地禁止位於上方之CTB的濾波器參數之利用。 Here, the filter parameters are multiplexed in CTB units (loopfilter_interleave_flag is 1), and the encoding process is performed independently (parallel) in tile units. In this case, the left side of the coding object CTB is connected to the tile junction. The coding object CTB, if it is permitted to take the filter parameters from the CTB located on the left, cannot check the coding object CTB and the filter parameters and the CTB on the left until the filter parameters of the CTB on the left are determined. Whether the filter parameters are the same, so There is a possibility of waiting time. Thus, for the coded object CTB that is connected to the tile boundary on the left side of the CTB, the use of the filter parameters of the CTB located on the left side is prohibited. Then, by setting the available_left_ctb_flag to 0 and not encoding the loopfilter_merge_left_flag, the amount of coding of the loopfilter_merge_left_flag can be reduced, and the reduction in coding efficiency can be suppressed. Further, by setting the loopfilter_merge_left_flag to be encoded, the use of the filter parameters of the CTB on the left side can be explicitly prohibited. Similarly, when the upper side of the coding object CTB is connected to the tile boundary, by setting the available_above_ctb_flag to 0 and not encoding the loopfilter_merge_above_flag, the reduction of the coding efficiency can be suppressed, and the filtering of the CTB located above can be explicitly prohibited. Utilization of the parameters of the device.
接著,說明本實施形態所述之語法。在編碼時,語法中所含有之各要素,會被編碼至編碼串流中。另一方面,在解碼時,語法中所含有之各要素會從編碼串流中被解碼,可取得和編碼時所被編碼之要素相同的值。以下在沒有特別聲明的情況下,都假設構成語法之各要素係以固定長度位元而成之編碼列。圖15與圖16是說明語法的圖。以下使用圖15與圖16來說明語法。此處,雖然為了容易說明而假設構成語法之各要素係以固定長度位元而成之編碼列,但亦可為可變長度位元。 Next, the syntax described in the embodiment will be described. At the time of encoding, each element contained in the grammar is encoded into the encoded stream. On the other hand, at the time of decoding, each element included in the syntax is decoded from the encoded stream, and the same value as the element to be encoded at the time of encoding can be obtained. In the following, unless otherwise stated, it is assumed that each element constituting the grammar is a coded column formed by fixed-length bits. 15 and 16 are diagrams illustrating syntax. The syntax will be described below using FIGS. 15 and 16. Here, for the sake of easy explanation, it is assumed that each element constituting the grammar is a coded column in which fixed-length bits are formed, but may be a variable-length bit.
首先說明SPS(Sequence Parameter Set)。SPS係為將用來決定序列(編碼串流)之特性所需之參數群加以定義的參數集。定義了圖像的尺寸、位元深度、CTB的尺寸、CTB的分割次數等。 First, the SPS (Sequence Parameter Set) will be explained. The SPS is a set of parameters that define the set of parameters needed to determine the characteristics of the sequence (encoded stream). The size of the image, the depth of the bit, the size of the CTB, the number of divisions of the CTB, and the like are defined.
接著說明PPS(Picture Parameter Set)。圖15(a)係為PPS之語法之一例的說明圖。PPS係為將用來決定圖像特性所需之參數群加以定義的參數集。PPS中係有loopfilter_interleave_flag、pic_loopfilter_param( )、tiles_coding_flag、num_tile_columns_minus1、num_tile_rows_minus1、uniform_spacing_flag、colmn_width、colmn_height依照語法而被設置,於動態影像編碼時會被編碼,於動態影像解碼時會被解碼。 Next, a PPS (Picture Parameter Set) will be described. Fig. 15 (a) is an explanatory diagram showing an example of the syntax of the PPS. The PPS is a set of parameters that define the set of parameters needed to determine image characteristics. In the PPS, loopfilter_interleave_flag, pic_loopfilter_param( ), tiles_coding_flag, num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, colmn_width, and colmn_height are set according to the syntax, and are encoded when the motion picture is encoded, and are decoded when the motion picture is decoded.
PPS之語法要素亦即tiles_coding_flag、以上的語法要素係num_tile_columns_minus1、num_tile_rows_minus1、uniform_spacing_flag、colmn_width、colmn_height,係為瓷磚資訊。tiles_coding_flag,係若為1則表示圖像是由複數瓷磚所構成,若為0則表示圖像並未以瓷磚所構成。num_tile_columns_minus1與num_tile_rows_minus1係分別表示將瓷磚在垂直方向與水平方向進行分割的數目。uniform_spacing_flag係用來決定是否將圖像以預先決定之方法進行分割的資訊。此處,所謂預先決定之方法,係表示將圖像分割成相同大小之瓷磚。colmn_width[i]與colmn_height[i]係分別表示第i個瓷磚的寬度與高度。圖 2(b)的情況下,num_tile_columns_minus1與num_tile_rows_minus1係設成1、uniform_spacing_flag係設成1而被編碼。此外,在序列單位內瓷磚之構成未被變更時,亦可將這些瓷磚資訊的語法要素,設置在SPS中。 The syntax elements of PPS, namely tiles_coding_flag, the above syntax elements num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, colmn_width, colmn_height, are tile information. Tile_coding_flag, if it is 1, it means that the image is composed of a plurality of tiles, and if it is 0, it means that the image is not composed of tiles. Num_tile_columns_minus1 and num_tile_rows_minus1 respectively indicate the number of tiles to be divided in the vertical direction and the horizontal direction, respectively. Uniform_spacing_flag is information used to determine whether or not to divide an image in a predetermined manner. Here, the method of determining in advance means dividing the image into tiles of the same size. Colmn_width[i] and colmn_height[i] represent the width and height of the i-th tile, respectively. Figure In the case of 2(b), num_tile_columns_minus1 and num_tile_rows_minus1 are set to 1, and the uniform_spacing_flag is set to 1 and encoded. Further, when the composition of the tile in the sequence unit is not changed, the syntax elements of the tile information may be set in the SPS.
接著說明切片標頭。圖15(b)係為切片標頭之語法之一例的說明圖。切片標頭係為定義了用來決定切片特性之參數群的標頭資訊。在切片標頭中,係有slice_address、slice_type、num_of_tiles、tile_position依照語法而被設置,於動態影像編碼時會被編碼,於動態影像解碼時會被解碼。 Next, the slice header will be explained. Fig. 15 (b) is an explanatory diagram showing an example of the syntax of the slice header. The slice header is the header information that defines the parameter group used to determine the slice characteristics. In the slice header, slice_address, slice_type, num_of_tiles, and tile_position are set according to the syntax, and are encoded when the motion picture is encoded, and are decoded when the motion picture is decoded.
slice_address(切片位址),係表示切片中所含之最初CTB的CTB位址。slice_type(切片類型)係用來表示,僅使用畫面內預測的I切片、使用畫面內預測與單預測之畫面間預測(運動補償預測)的P切片、使用畫面內預測、單預測與雙預測之畫面間預測的B切片的值。num_of_tiles係表示切片中所含之瓷磚數。tile_position係表示瓷磚的開頭位元組之切片標頭從開頭位元組起算之位元組數。 Slice_address is the CTB address of the original CTB contained in the slice. Slice_type is used to indicate that only I slice used for intra prediction, P slice using intra prediction and single prediction inter prediction (motion compensated prediction), intra prediction, single prediction and double prediction are used. The value of the B slice predicted between pictures. Num_of_tiles is the number of tiles contained in the slice. Tile_position is the number of bytes from the beginning byte of the slice header of the tile's leading byte.
圖16(a)係為PPS內的圖像迴圈濾波器參數(pic_loopfilter_param( ))之語法之一例的說明圖。在圖像 迴圈濾波器參數中,loopfilter_unit( )係依照語法而被設置,於動態影像編碼時會被編碼,於動態影像解碼時會被解碼。num_of_ctbs係為圖像內的總CTB數,PPS內係儲存有圖像內的所有CTB的loopfilter_unit( )。 Fig. 16 (a) is an explanatory diagram showing an example of the syntax of the image loop filter parameter (pic_loopfilter_param( )) in the PPS. In the image In the loop filter parameters, loopfilter_unit( ) is set according to the syntax, and is encoded when the motion picture is encoded, and is decoded when the motion picture is decoded. Num_of_ctbs is the total number of CTBs in the image, and the PPS contains the loopfilter_unit( ) of all CTBs in the image.
圖16(b)係為迴圈濾波器編碼參數(loopfilter_cod_param( ))之語法之一例的說明圖。在迴圈濾波器編碼參數中,係有loopfilter_type_idx、loopfilter_band_position、loopfilter_offset依照語法而被設置,於動態影像編碼時會被編碼,於動態影像解碼時會被解碼。 Fig. 16 (b) is an explanatory diagram showing an example of the syntax of the loop filter encoding parameter (loopfilter_cod_param( )). In the loop filter coding parameters, loopfilter_type_idx, loopfilter_band_position, and loopfilter_offset are set according to the syntax, and are encoded when the motion picture is encoded, and are decoded when the motion picture is decoded.
loopfilter_type_idx係為表示濾波器參數之濾波器類型的索引,是0至5之整數。loopfilter_type_idx係為3位元的編碼列。loopfilter_band_position係為濾波器參數之頻帶位置,係為表示0至7之整數的3位元之編碼列。loopfilter_offset係為濾波器參數的偏置,loopfilter_type_idx為1時係為-32至31之整數而為6位元之編碼列,loopfilter_type_idx為2至5時係為0至31之整數而為5位元之編碼列。 Loopfilter_type_idx is an index of the filter type representing the filter parameters and is an integer from 0 to 5. Loopfilter_type_idx is a 3-bit encoded column. The loopfilter_band_position is a band position of the filter parameter, and is a coded column of 3 bits representing an integer of 0 to 7. Loopfilter_offset is the offset of the filter parameters. When loopfilter_type_idx is 1, it is an integer of -32 to 31 and is a 6-bit code column. When loopfilter_type_idx is 2 to 5, it is an integer of 0 to 31 and is 5 bits. Coding column.
此處,邊緣型濾波器所需要之編碼量係為loopfilter_type_idx的3位元與loopfilter_offset的5位元是4個,而為23位元。頻帶型濾波器所需要之編碼量係為loopfilter_type_idx的3位元與loopfilter_band_position的3位元與oopfilter_offset的6位元是3個,而為24位元。 Here, the amount of coding required for the edge type filter is 3 bits of loopfilter_type_idx and 5 bits of loopfilter_offset are 4 bits, and is 23 bits. The amount of coding required for the band filter is 3 bits of loopfilter_type_idx and 3 bits of loopfilter_band_position and 6 bits of oopfilter_offset are 3 bits, and are 24 bits.
此處,本實施形態中係將邊緣型濾波器與頻帶型濾波器之偏置數,分別設定成4個和3個。這是因為,頻帶型濾波器的濾波器參數係比邊緣型濾波器的濾波器參數,每1個的編碼量都較大,因此為了使得邊緣型濾波器與頻帶型濾波器之每一者所需要之編碼量變得均衡。藉由使得邊緣型濾波器與頻帶型濾波器之每一者所需要之編碼量變得均衡,可使邊緣型濾波器與頻帶型濾波器各自的迴圈濾波器編碼參數的編碼時間與解碼時間變得均衡,可使硬體的電路設計或軟體設計變得容易。此處,雖然將邊緣型濾波器與頻帶型濾波器之偏置分別設定成4個與3個,但例如,亦可將邊緣型濾波器與頻帶型濾波器之偏置分別設定成2個與1個等。 Here, in the present embodiment, the number of offsets of the edge type filter and the band type filter is set to four and three, respectively. This is because the filter parameters of the band type filter are larger than the filter parameters of the edge type filter, and the amount of coding per one is large, so that each of the edge type filter and the band type filter is used. The amount of coding required becomes equal. By equalizing the amount of code required for each of the edge type filter and the band type filter, the encoding time and decoding time of the loop filter parameters of the edge type filter and the band type filter can be changed. Balanced to make hardware circuit design or software design easy. Here, although the offsets of the edge filter and the band filter are set to four and three, respectively, for example, the offsets of the edge filter and the band filter may be set to two and 1 wait.
圖16(c)係為迴圈濾波器單元(loopfilter_unit( ))之語法之一例的說明圖。在迴圈濾波器單元中,係有loopfilter_merge_left_flag、loopfilter_merge_above_flag、loopfilter_cod_param( )依照語法而被設置,於動態影像編碼時會被編碼,於動態影像解碼時會被解碼。 Fig. 16 (c) is an explanatory diagram showing an example of the syntax of the loop filter unit (loopfilter_unit ( )). In the loop filter unit, loopfilter_merge_left_flag, loopfilter_merge_above_flag, and loopfilter_cod_param( ) are set according to the syntax, and are encoded when the motion picture is encoded, and are decoded when the motion picture is decoded.
以下,說明被編碼列多工部107所多工化之編碼串流的構成。圖17係第1實施形態所述之編碼串流之構成之一例的說明圖。圖17係表示loopfilter_interleave_flag為1時的編碼串流之構成。SPS係藉由編碼列多工部107而 被編碼,被多工化至編碼串流的開頭。PPS係藉由編碼列多工部107而被編碼,被多工化至圖像的開頭。切片標頭係藉由編碼列多工部107而被編碼,被多工化至切片的開頭。接續於切片標頭,針對該切片中所屬之CTB,按照CTB編碼順序而重複進行以下處理。首先,CTB之迴圈濾波器單元係被多工化,其後,CTB編碼列係被多工化。 Hereinafter, the configuration of the encoded stream multiplexed by the coded column multiplexer 107 will be described. Fig. 17 is an explanatory diagram showing an example of a configuration of a coded stream according to the first embodiment. Fig. 17 is a diagram showing the configuration of a coded stream when loopfilter_interleave_flag is 1. SPS is encoded by column multiplexer 107 It is encoded and multiplexed to the beginning of the encoded stream. The PPS is encoded by the code column multiplexer 107 and multiplexed to the beginning of the picture. The slice header is encoded by the code column multiplexer 107 and multiplexed to the beginning of the slice. Following the slice header, the following processing is repeated in accordance with the CTB encoding order for the CTB to which the slice belongs. First, the loop filter unit of the CTB is multiplexed, and thereafter, the CTB code train is multiplexed.
此處,對SPS、PPS、切片標頭係賦予一般的同步碼,使得SPS、PPS、切片標頭係可從編碼串流中分離出來。又,對瓷磚係賦予標頭,但可藉由切片標頭之tile_position從編碼串流中予以分離。 Here, the SPS, PPS, and slice headers are given a general synchronization code so that the SPS, PPS, and slice headers can be separated from the encoded stream. Further, the tile is given a header, but can be separated from the encoded stream by the tile_position of the slice header.
如以上所述,將loopfilter_interleave_flag設定成1而按照CTB編碼順序將CTB之濾波器參數以CTB單位進行多工化,藉此就可實現抑制了濾波器參數之傳輸延遲的動態影像編碼裝置。 As described above, the loopfilter_interleave_flag is set to 1 and the filter parameters of the CTB are multiplexed in units of CTB in the CTB encoding order, whereby the motion image encoding device that suppresses the transmission delay of the filter parameters can be realized.
圖18係第1實施形態所述之動態影像解碼裝置200之構成的說明圖。動態影像解碼裝置200,係被輸入著已被動態影像編碼裝置100所生成之編碼串流,以圖像單位將解碼圖像進行再生的裝置。 FIG. 18 is an explanatory diagram showing the configuration of the video decoding device 200 according to the first embodiment. The motion picture decoding device 200 is a device that inputs a code stream generated by the motion picture coding device 100 and reproduces the decoded picture in units of pictures.
動態影像解碼裝置200,係由具備CPU(Central Processing Unit)、畫格記憶體、硬碟等的資訊處理裝置等硬體所實現。動態影像解碼裝置200,係藉由上記的構成要素的作動,而實現以下說明的機能性構成 要素。 The motion picture decoding device 200 is realized by a hardware such as an information processing device including a CPU (Central Processing Unit), a frame memory, and a hard disk. The motion picture decoding device 200 realizes the functional configuration described below by the operation of the above-described constituent elements. Elements.
本實施形態的動態影像解碼裝置200,係含有:編碼列分離部201、CTB解碼部202、迴圈濾波器203、濾波器參數解碼部204、畫格記憶體205、及解碼控制部210。 The video decoding device 200 of the present embodiment includes a code column separation unit 201, a CTB decoding unit 202, a loop filter 203, a filter parameter decoding unit 204, a frame memory 205, and a decoding control unit 210.
解碼控制部210係將領域資訊、迴圈濾波器資訊、SPS、PPS、切片標頭等圖像解碼所必須之資訊加以管理,控制著編碼列分離部201、CTB解碼部202、迴圈濾波器203、濾波器參數解碼部204、畫格記憶體205而將編碼串流予以解碼。此外,領域資訊、迴圈濾波器資訊、SPS、PPS、切片標頭等圖像解碼所必須之資訊,是在動態影像解碼裝置200內被共用,這些資料的流向之說明係省略。 The decoding control unit 210 manages information necessary for decoding image such as domain information, loop filter information, SPS, PPS, and slice header, and controls the code column separation unit 201, the CTB decoding unit 202, and the loop filter. 203. The filter parameter decoding unit 204 and the frame memory 205 decode the encoded stream. Further, information necessary for image decoding such as field information, loop filter information, SPS, PPS, and slice header is shared in the video decoding device 200, and the description of the flow of these data is omitted.
圖19係第1實施形態所述之動態影像解碼裝置200之動作的說明用流程圖。圖18係表示圖像單位的解碼動作。以下使用圖18與圖19來說明各部的機能與動作。 Fig. 19 is a flowchart for explaining the operation of the video decoding device 200 according to the first embodiment. Fig. 18 shows the decoding operation of the image unit. The function and operation of each unit will be described below using FIG. 18 and FIG.
在本實施形態中,假設輸入的是loopfilter_interleave_flag被設定成1的編碼串流。 In the present embodiment, it is assumed that the encoded stream whose loop filter_interleave_flag is set to 1 is input.
首先,編碼列分離部201係從端子20所輸入之編碼串流中,取得圖像串流(S500)。此處,所謂圖像串流係為圖像單位之編碼串流,圖像串流的最初CTB之編 碼列之前若存在有SPS則亦包含SPS。 First, the code column separation unit 201 acquires an image stream from the code stream input from the terminal 20 (S500). Here, the image stream is a coded stream of image units, and the original CTB of the image stream is edited. The SPS is also included if there is an SPS before the code sequence.
接著,編碼列分離部201係若瓷磚串流中含有SPS則將SPS予以解碼,取得圖像的尺寸。又,依照圖15之語法而將PPS予以解碼,取得迴圈濾波器資訊與瓷磚資訊(S501)。 Next, the code column separation unit 201 decodes the SPS if the SPS is included in the tile stream, and obtains the size of the image. Further, the PPS is decoded in accordance with the syntax of Fig. 15 to obtain loop filter information and tile information (S501).
解碼控制部210,係根據圖像之尺寸與瓷磚資訊,導出領域資訊。此處,領域資訊係假設被導出了與動態影像編碼裝置100所設定之領域資訊相同者。此外,藉由圖像之尺寸與瓷磚資訊而被設定的CTB位址(CTB的位址順序)、和CTB被編碼之順序的關係,也是和被動態影像編碼裝置100所設定之動態影像編碼裝置100所設定之關係相同。 The decoding control unit 210 derives the domain information based on the size of the image and the tile information. Here, the domain information is assumed to be derived from the same domain information as that set by the motion image encoding device 100. In addition, the relationship between the CTB address (the address sequence of the CTB) set by the size of the image and the tile information, and the order in which the CTB is encoded is also the motion picture coding device set by the motion picture coding apparatus 100. The relationship set by 100 is the same.
接著,針對圖像串流中所含之所有CTB,重複進行以下處理(S502至S508)。 Next, the following processing is repeated for all CTBs included in the image stream (S502 to S508).
首先,若有切片標頭,則依照圖15之語法而將切片標頭予以解碼並取得切片位址,將切片位址當作CTB位址,從領域資訊獲得該當於CTB位址的CTB編碼順序。若無切片標頭則將CTB編碼順序增加1,從領域資訊獲得該當於CTB編碼順序的CTB位址(S503)。此處,CTB位址係根據CTB編碼順序而基於圖5所示之CTB位址與CTB編碼順序的關係而被導出。例如,CTB編碼順序為8的CTB的CTB位址,係為14。在下個CTB中,CTB編碼順序被增加1而變成9,CTB位址係變成15。如以上,由CTB編碼順序而基於CTB位址與CTB編碼順序 之關係,獲得CTB位址。 First, if there is a slice header, the slice header is decoded according to the syntax of FIG. 15 and the slice address is obtained, and the slice address is regarded as a CTB address, and the CTB coding sequence of the CTB address is obtained from the domain information. . If there is no slice header, the CTB coding order is incremented by 1, and the CTB address which is the CTB coding order is obtained from the domain information (S503). Here, the CTB address is derived based on the CTB coding order based on the relationship between the CTB address and the CTB coding order shown in FIG. For example, the CTB has a CTB encoding order of 8 CTB addresses, which is 14. In the next CTB, the CTB coding order is increased by 1 to become 9, and the CTB address is changed to 15. As above, based on the CTB encoding order and based on the CTB address and CTB encoding order The relationship is obtained by obtaining the CTB address.
接著,CTB解碼部202係進行CTB解碼部202內部的熵解碼部之設定(S504)。此處,CTB解碼部202內部的熵解碼部,係為可將動態影像編碼裝置100所生成之編碼列進行解碼的CABAC,在切片或瓷磚之開始時,會被初期化。 Next, the CTB decoding unit 202 performs setting of the entropy decoding unit inside the CTB decoding unit 202 (S504). Here, the entropy decoding unit in the CTB decoding unit 202 is a CABAC that can decode the code sequence generated by the motion picture coding device 100, and is initialized at the beginning of the slice or tile.
接著,編碼列分離部201係將解碼對象CTB之迴圈濾波器單元供給至濾波器參數解碼部204,濾波器參數解碼部204係將迴圈濾波器單元解碼成濾波器參數(S505),將該當濾波器參數供給至迴圈濾波器203。濾波器參數解碼部204的細節,將於後述。 Next, the code column separation unit 201 supplies the loop filter unit of the decoding target CTB to the filter parameter decoding unit 204, and the filter parameter decoding unit 204 decodes the loop filter unit into filter parameters (S505). The filter parameters are supplied to the loop filter 203. Details of the filter parameter decoding unit 204 will be described later.
接著,編碼列分離部201係將解碼對象CTB之CTB編碼列,供給至CTB解碼部202,CTB解碼部202係將解碼對象CTB的CTB編碼列,進行解碼,取得解碼對象CTB的解碼影像資料(S506),將該當解碼影像資料供給至迴圈濾波器203。 Next, the code column separation unit 201 supplies the CTB code sequence of the decoding target CTB to the CTB decoding unit 202, and the CTB decoding unit 202 decodes the CTB code sequence of the decoding target CTB, and obtains the decoded video data of the decoding target CTB ( S506), the decoded image data is supplied to the loop filter 203.
接著,迴圈濾波器203係對CTB解碼部202所供給之解碼影像資料,基於編碼列分離部201所供給之濾波器參數來執行迴圈濾波器(S507),生成新的解碼影像資料,將該當解碼影像資料供給至畫格記憶體205。迴圈濾波器203,係具有與動態影像編碼裝置100之迴圈濾波器104相同機能,因此省略說明。 Next, the loop filter 203 performs a loop filter on the decoded video data supplied from the CTB decoding unit 202 based on the filter parameters supplied from the code column separation unit 201 (S507), and generates new decoded video data. The decoded image data is supplied to the frame memory 205. Since the loop filter 203 has the same function as the loop filter 104 of the motion picture coding apparatus 100, the description thereof is omitted.
接著說明濾波器參數解碼部204的機能與動作。 Next, the function and operation of the filter parameter decoding unit 204 will be described.
圖20係濾波器參數解碼部204之動作的說明用流程圖。以下,使用圖20,說明濾波器參數解碼部204的機能與動作。 FIG. 20 is a flowchart for explaining the operation of the filter parameter decoding unit 204. Hereinafter, the function and operation of the filter parameter decoding unit 204 will be described using FIG.
首先,濾波器參數解碼部204係導出available_left_ctb_flag與available_above_ctb_flag(S510)。此處,available_left_ctb_flag與available_above_ctb_flag的導出方法,係和圖14中所說明之處理中把「編碼對象CTB」置換成「解碼對象CTB」之後相同。 First, the filter parameter decoding unit 204 derives available_left_ctb_flag and available_above_ctb_flag (S510). Here, the method of deriving the available_left_ctb_flag and the available_above_ctb_flag is the same as the method of replacing the "coding target CTB" with the "decoding target CTB" in the processing described in FIG.
接著,檢查available_left_ctb_flag是否為1(S511)。若available_left_ctb_flag為1(S511的Y),則將loopfilter_merge_left_flag予以解碼(S512)。接著,檢查loopfilter_merge_left_flag是否為1(S513)。若loopfilter_merge_left_flag為1(S513的Y),則將解碼對象CTB之左方位置的CTB的濾波器參數,當作解碼對象CTB的濾波器參數(S514),結束處理。 Next, it is checked whether or not the available_left_ctb_flag is 1 (S511). If available_left_ctb_flag is 1 (Y of S511), loopfilter_merge_left_flag is decoded (S512). Next, it is checked whether loopfilter_merge_left_flag is 1 (S513). When the loopfilter_merge_left_flag is 1 (Y in S513), the filter parameter of the CTB at the left position of the decoding target CTB is regarded as the filter parameter of the decoding target CTB (S514), and the processing ends.
若available_left_ctb_flag並非1(S511的N),或loopfilter_merge_left_flag並非1(S513的N),則檢查available_above_ctb_flag是否為1(S515)。若available_above_ctb_flag為1(S515的Y),則將loopfilter_merge_above_flag予以解碼(S516)。接著,檢查loopfilter_merge_above_flag是否為1(S517)。若loopfilter_merge_above_flag為1(S517的Y),則將解碼對 象CTB之上方位置的CTB的濾波器參數,當作解碼對象CTB的濾波器參數(S518),結束處理。若available_above_ctb_flag並非1(S515的N),或loopfilter_merge_above_flag並非1(S517的N),則將loopfilter_cod_param( )予以解碼(S519),結束處理。 If available_left_ctb_flag is not 1 (N of S511), or loopfilter_merge_left_flag is not 1 (N of S513), it is checked whether or not available_above_ctb_flag is 1 (S515). If available_above_ctb_flag is 1 (Y of S515), loopfilter_merge_above_flag is decoded (S516). Next, it is checked whether loopfilter_merge_above_flag is 1 (S517). If loopfilter_merge_above_flag is 1 (Y of S517), the decoding pair will be The filter parameter of the CTB at the position above the CTB is regarded as the filter parameter of the decoding target CTB (S518), and the processing ends. If available_above_ctb_flag is not 1 (N of S515), or loopfilter_merge_above_flag is not 1 (N of S517), loopfilter_cod_param( ) is decoded (S519), and the processing is terminated.
如以上所述,將loopfilter_interleave_flag設定成1而按照CTB編碼順序將CTB之濾波器參數以CTB單位進行分離並解碼,以CTB單位執行迴圈濾波器,藉此就可實現圖像內的所有CTB之解碼處理一完成就能夠輸出解碼影像資料的低延遲之動態影像解碼裝置。此外,濾波器參數解碼部204係由於參照解碼對象CTB之左方與上方位置的CTB的濾波器參數,因此會將圖像內的所有CTB的濾波器參數加以保持。 As described above, the loopfilter_interleave_flag is set to 1 and the filter parameters of the CTB are separated and decoded in CTB coding order in units of CTB, and the loop filter is executed in units of CTB, thereby realizing all CTBs in the image. A low-latency motion picture decoding device that decodes image data can be output as soon as the decoding process is completed. Further, since the filter parameter decoding unit 204 refers to the filter parameters of the CTB to the left and the upper position of the decoding target CTB, the filter parameters of all the CTBs in the image are held.
又,當解碼對象CTB之左邊是銜接於瓷磚交界時,若作為解碼對象CTB之濾波器參數是利用位於解碼對象CTB之左方位置的已解碼CTB的濾波器參數,則會變成直到解碼對象CTB之左邊所銜接之CTB之處理完成之前,都無法確定解碼對象CTB的濾波器參數。於是,當解碼對象CTB之左邊是銜接於瓷磚交界時,藉由不將用來表示作為解碼對象CTB之濾波器參數是否利用位於解碼對象CTB之左方位置的已解碼CTB的濾波器參數的旗標亦即loopfilter_merge_left_flag進行解碼,就可將位於解碼對象CTB之左方位置的已解碼CTB的濾波器參數,設成不可利用。藉由如此設計,即使當解碼對象 CTB之左邊是銜接於瓷磚交界時,仍可在解碼對象CTB之迴圈濾波器單元解碼之後立刻獲得濾波器參數。然後,不必等待解碼對象CTB之左邊所銜接之CTB之處理完成,就可使迴圈濾波器203之處理以CTB單位而作動,可將迴圈濾波器適用後的解碼影像資料的輸出延遲,降低至最小程度。 Further, when the left side of the decoding target CTB is connected to the tile boundary, if the filter parameter as the decoding target CTB is the filter parameter of the decoded CTB located at the left position of the decoding target CTB, it becomes the decoding target CTB. The filter parameters of the CTB of the decoding object cannot be determined until the processing of the CTB connected to the left is completed. Thus, when the left side of the decoding object CTB is connected to the tile boundary, the flag of the filter parameter of the decoded CTB located at the left position of the decoding object CTB is not used to indicate whether the filter parameter as the decoding target CTB is used. The target filter, loopfilter_merge_left_flag, is decoded, so that the filter parameters of the decoded CTB located to the left of the decoding target CTB can be made unavailable. By designing this way, even when decoding objects When the left side of the CTB is connected to the tile junction, the filter parameters can still be obtained immediately after decoding the loop filter unit of the decoding object CTB. Then, without waiting for the processing of the CTB connected to the left side of the decoding object CTB to be completed, the processing of the loop filter 203 can be operated in units of CTB, and the output of the decoded image data after the loop filter is applied can be delayed. To a minimum.
同樣地,當解碼對象CTB之上邊是銜接於瓷磚交界時,藉由不將用來表示作為解碼對象CTB之濾波器參數是否利用位於解碼對象CTB之上方位置的已解碼CTB的濾波器參數的旗標亦即loopfilter_merge_above_flag進行解碼,就可將位於解碼對象CTB之上方位置的已解碼CTB的濾波器參數,設成不可利用。藉由如此設計,即使當解碼對象CTB之上邊是銜接於瓷磚交界時,仍可在解碼對象CTB之迴圈濾波器單元解碼之後立刻獲得濾波器參數。然後,不必等待解碼對象CTB之上邊所銜接之CTB之處理完成,就可使迴圈濾波器203之處理以CTB單位而作動,可將迴圈濾波器適用後的解碼影像資料的輸出延遲,降低至最小程度。 Similarly, when the upper side of the decoding object CTB is connected to the tile boundary, the flag of the filter parameter of the decoded CTB located at the position above the decoding object CTB is not used to indicate whether the filter parameter as the decoding target CTB is used. The target filter, loopfilter_merge_above_flag, is decoded to set the filter parameters of the decoded CTB located above the decoding target CTB to be unusable. By so designing, even when the upper side of the decoding object CTB is connected to the tile boundary, the filter parameters can be obtained immediately after decoding of the loop filter unit of the decoding object CTB. Then, without waiting for the processing of the CTB connected to the upper side of the decoding object CTB to be completed, the processing of the loop filter 203 can be operated in units of CTB, and the output of the decoded image data after the loop filter is applied can be delayed. To a minimum.
接著,說明第2實施形態。第2實施形態係與第1實施形態是在loopfilter_interleave_flag被設定成0這點有所不同。亦即,濾波器參數係以圖像單位而被編碼。 Next, a second embodiment will be described. The second embodiment differs from the first embodiment in that the loopfilter_interleave_flag is set to zero. That is, the filter parameters are encoded in image units.
以下說明與第1實施形態的不同點。 The differences from the first embodiment will be described below.
首先說明,本實施形態所涉及之動態影像編碼裝置100之動作。圖21係第2實施形態所述之動態影像編碼裝置100之動作的說明用流程圖。如圖21所示,步驟S107至步驟S110是在圖像內的所有CTB之編碼處理都進行後,才被執行。依照CTB位址之順序,針對圖像內的所有CTB,重複進行步驟S107、步驟S108、步驟S109之處理(S112至S113)。 First, the operation of the motion picture coding device 100 according to the present embodiment will be described. Fig. 21 is a flowchart for explaining the operation of the video encoding device 100 according to the second embodiment. As shown in FIG. 21, steps S107 to S110 are performed after all the encoding processes of the CTBs in the image are performed. The processing of steps S107, S108, and S109 is repeated for all CTBs in the image in accordance with the order of the CTB addresses (S112 to S113).
接著,針對圖像的所有CTB,編碼列多工部107係將CTB編碼部102所供給之CTB編碼列與濾波器參數編碼部105所供給之迴圈濾波器單元,因應需要而連同SPS、PPS、切片標頭等一起多工化成為編碼串流(S110)。此處,說明被編碼列多工部107所多工化之編碼串流的構成。圖22係第2實施形態所述之編碼串流之構成之一例的說明圖。圖22係表示loopfilter_interleave_flag為0時的編碼串流之構成。SPS係被多工化至編碼串流的開頭。PPS係被多工化至圖像的開頭。此時,PPS中係被多工化了,將迴圈濾波器單元以圖像單位而被集結的圖像迴圈濾波器參數。在切片之開頭係被多工化有切片標頭。接續於切片標頭,針對該切片中所屬之CTB,按照CTB編碼順序而有CTB編碼列被多工化。 Next, for all CTBs of the image, the coding column multiplexer 107 is a CTB code sequence supplied from the CTB coding unit 102 and a loop filter unit supplied from the filter parameter coding unit 105, and SPS and PPS are provided as needed. The slice header and the like are multiplexed together into a coded stream (S110). Here, the configuration of the encoded stream multiplexed by the coded column multiplexer 107 will be described. Fig. 22 is an explanatory diagram showing an example of a configuration of a coded stream according to the second embodiment. Fig. 22 is a diagram showing the structure of a coded stream when loopfilter_interleave_flag is 0. The SPS is multiplexed to the beginning of the encoded stream. The PPS system is multiplexed to the beginning of the image. At this time, the PPS is multiplexed, and the loop filter unit is circulated as an image in the image unit. At the beginning of the slice is multiplexed with a slice header. Following the slice header, the CTB code column is multiplexed according to the CTB coding order for the CTB to which the slice belongs.
又,步驟S105的熵編碼部之設定的動作係為不同。在本實施形態中,當編碼對象CTB是切片或瓷磚的最初之CTB時,濾波器參數編碼部105係不將濾波器 參數編碼部105內部的熵編碼部予以初期化。 Further, the operation of setting the entropy coding unit in step S105 is different. In the present embodiment, when the encoding target CTB is the first CTB of the slice or tile, the filter parameter encoding unit 105 does not filter. The entropy coding unit inside the parameter coding unit 105 is initialized.
此處,針對濾波器參數之編碼,在第1實施形態中loopfilter_interleave_flag係被設定成1,因此當編碼對象CTB的左邊是銜接於瓷磚交界時,available_left_ctb_flag會被設定成0,但在第2實施形態中loopfilter_interleave_flag係被設定成0,因此即使當編碼對象CTB的左邊是銜接於瓷磚交界時,available_left_ctb_flag仍被設定成1。因此,即使當編碼對象CTB的左邊是銜接於瓷磚交界時,仍可將loopfilter_merge_left_flag進行編碼,可促使編碼效率提升。同樣地,即使當編碼對象CTB的上邊是銜接於瓷磚交界時,仍可將loopfilter_merge_left_flag進行編碼,可促使編碼效率提升。 Here, in the encoding of the filter parameters, the loopfilter_interleave_flag is set to 1 in the first embodiment. Therefore, when the left side of the encoding target CTB is connected to the tile boundary, the available_left_ctb_flag is set to 0, but in the second embodiment. The loopfilter_interleave_flag is set to 0, so the available_left_ctb_flag is set to 1 even when the left side of the encoding object CTB is connected to the tile boundary. Therefore, even when the left side of the coding object CTB is connected to the tile boundary, the loopfilter_merge_left_flag can be encoded, which can promote the coding efficiency. Similarly, even when the upper side of the encoding object CTB is connected to the tile boundary, the loopfilter_merge_left_flag can be encoded, which can improve the encoding efficiency.
又,將loopfilter_interleave_flag設定成0而將濾波器參數以圖像單位予以集結而進行多工化,藉此可實現抑制了濾波器參數之編碼量的編碼裝置。 Further, by setting loopfilter_interleave_flag to 0 and multiplexing the filter parameters in image units, it is possible to realize an encoding apparatus that suppresses the encoding amount of the filter parameters.
接著說明,本實施形態所涉及之動態影像解碼裝置200之動作。圖23係第2實施形態所述之動態影像解碼裝置200之動作的說明用流程圖。如圖23所示,步驟S505與步驟S507是在圖像內的所有CTB之解碼處理都進行後,才被執行。依照CTB位址之順序,針對圖像內的所有CTB,重複進行步驟S505、步驟S507之處理(S510至S511)。 Next, the operation of the motion video decoding device 200 according to the present embodiment will be described. Fig. 23 is a flowchart for explaining the operation of the video decoding device 200 according to the second embodiment. As shown in FIG. 23, steps S505 and S507 are performed after all the decoding processes of the CTBs in the image are performed. The processing of steps S505 and S507 is repeated for all CTBs in the image in accordance with the order of the CTB addresses (S510 to S511).
此處,說明本實施形態中的步驟S505。編碼 列分離部201係將圖像迴圈濾波器參數中的解碼對象CTB之迴圈濾波器單元供給至濾波器參數解碼部204,濾波器參數解碼部204係將迴圈濾波器單元解碼成濾波器參數(S505),將該當濾波器參數供給至迴圈濾波器203。 Here, step S505 in the present embodiment will be described. coding The column separating unit 201 supplies a loop filter unit of the decoding target CTB in the image loop filter parameter to the filter parameter decoding unit 204, and the filter parameter decoding unit 204 decodes the loop filter unit into a filter. The parameter (S505) is supplied to the loop filter 203.
又,迴圈濾波器203之動作係有所不同。在本實施形態中,迴圈濾波器係在圖像內的所有CTB之解碼處理都進行後才執行,因此迴圈濾波器203係保持有圖像內的所有CTB的解碼影像資料。 Further, the operation of the loop filter 203 is different. In the present embodiment, since the loop filter is executed after all the CTB decoding processes in the image are performed, the loop filter 203 holds the decoded video data of all the CTBs in the image.
又,步驟S504的熵解碼部之設定的動作係為不同。在本實施形態中,即使解碼對象CTB是切片或瓷磚的最初之CTB,濾波器參數解碼部204係仍不將濾波器參數解碼部204內部的熵解碼部進行初期化,這點是與第1實施形態不同。 Further, the operation of setting the entropy decoding unit in step S504 is different. In the present embodiment, even if the decoding target CTB is the first CTB of the slice or the tile, the filter parameter decoding unit 204 does not initialize the entropy decoding unit in the filter parameter decoding unit 204, which is the first The implementation is different.
如以上所述,本實施形態所述之動態影像解碼裝置200,係可將本實施形態所述之動態影像編碼裝置100所生成之編碼串流予以解碼,輸出解碼影像資料。 As described above, the video decoding device 200 according to the present embodiment can decode the encoded stream generated by the video encoding device 100 according to the present embodiment and output decoded video data.
接著,說明第3實施形態。本實施形態與第1實施形態係為,適用迴圈濾波器的像素。在第1實施形態中係以在CTB中就完結的方式來令迴圈濾波器作動,但在本實施形態中係可跨過CTB來執行迴圈濾波器。 Next, a third embodiment will be described. In the first embodiment and the first embodiment, the pixels of the loop filter are applied. In the first embodiment, the loop filter is activated so as to be completed in the CTB. However, in the present embodiment, the loop filter can be executed across the CTB.
以下說明與第1實施形態的不同點。 The differences from the first embodiment will be described below.
首先,PPS的語法係為不同。圖24係第3實 施形態所述之PPS之語法的說明圖。在PPS中追加有loopfilter_across_tiles_flag,這是與第1實施形態不同。loopfilter_across_tiles_flag係為用來表示,是否許可跨越瓷磚交界來處理迴圈濾波器的1位元之旗標。若loopfilter_across_tiles_flag為1,則許可跨越瓷磚交界來處理迴圈濾波器,若loopfilter_across_tiles_flag為0,則不許可跨越瓷磚交界來處理迴圈濾波器。在本實施形態中,係令loopfilter_across_tiles_flag為1。 First, the grammar of PPS is different. Figure 24 is the third real An explanatory diagram of the syntax of the PPS described in the embodiment. The loopfilter_across_tiles_flag is added to the PPS, which is different from the first embodiment. The loopfilter_across_tiles_flag is used to indicate whether a 1-bit flag of the loop filter is allowed to be processed across the tile boundary. If loopfilter_across_tiles_flag is 1, then the loop filter is allowed to be processed across the tile boundary. If loopfilter_across_tiles_flag is 0, then the loop filter is not allowed to be processed across the tile boundary. In the present embodiment, loopfilter_across_tiles_flag is set to 1.
圖25係第3實施形態所述之動態影像編碼裝置100之動作的說明用流程圖。使用圖25來說明與第1實施形態不同的本實施形態所述之動態影像編碼裝置100之動作。接續於步驟S102,圖像的所有CTB的濾波器參數,會被決定(S112)。此處,針對圖像的所有CTB的濾波器是被決定的方法,係可實現例如一般的2回合編碼或參照之前的圖像之資料而加以生成等的手法。 Fig. 25 is a flowchart for explaining the operation of the video encoding apparatus 100 according to the third embodiment. The operation of the video encoding apparatus 100 according to the embodiment different from the first embodiment will be described with reference to FIG. 25. Following step S102, the filter parameters of all CTBs of the image are determined (S112). Here, the filter for all the CTBs of the image is a method of determining, for example, a general 2-round encoding or generating a reference to the data of the previous image.
又,取代步驟S107而改為實施步驟S115。在步驟S115中,係針對已被步驟S112所決定之濾波器參數,會取得編碼對象CTB的濾波器參數。 Further, instead of step S107, step S115 is performed instead. In step S115, the filter parameters of the encoding target CTB are obtained for the filter parameters determined by step S112.
又,接續於步驟S111,針對跨過瓷磚交界的像素,執行迴圈濾波器(S116)。所謂跨越瓷磚交界之像素,係若是垂直方向之瓷磚交界,則為位於瓷磚交界之左方的像素與位於瓷磚交界之右方的像素,若是水平方向之瓷磚交界,則為位於瓷磚交界之上方的像素與位於瓷磚交界之下方的像素。步驟S116係為,將步驟S103至步驟 S111,以瓷磚單位進行獨立處理(平行處理)時,所必要之處理。 Further, following step S111, a loop filter is executed for the pixels crossing the tile boundary (S116). The pixel crossing the tile boundary is the pixel on the left side of the tile boundary and the pixel on the left side of the tile boundary. If it is the tile boundary in the horizontal direction, it is above the tile boundary. Pixels are pixels below the junction of the tiles. Step S116 is to take step S103 to step S111, the necessary processing when performing independent processing (parallel processing) in tile units.
如以上所述,在CTB單位之編碼處理之前,決定圖像內的所有CTB的濾波器,針對圖像內的所有CTB而在CTB單位之編碼處理結束後,執行迴圈濾波器,藉此編碼串流的輸出,係可在CTB單位之編碼處理中進行輸出,因此可實現低延遲的動態影像編碼裝置。 As described above, before the encoding process of the CTB unit, all the filters of the CTB in the image are determined, and after the encoding process of the CTB unit is completed for all the CTBs in the image, the loop filter is executed, thereby encoding The output of the stream can be outputted in the encoding process of the CTB unit, so that a low-latency motion picture coding device can be realized.
圖26係第3實施形態所述之動態影像解碼裝置200之動作的說明用流程圖。使用圖26來說明與第1實施形態不同的本實施形態所述之動態影像解碼裝置200之動作。在步驟S506之後不實施步驟S507。接在步驟S508之後,針對圖像內的所有CTB,以CTB位址之順序,重複執行步驟S512與步驟S507之處理(S510至S511)。以下,針對步驟S512與步驟S507加以說明。 Fig. 26 is a flowchart for explaining the operation of the video decoding device 200 according to the third embodiment. The operation of the video decoding device 200 according to the present embodiment, which is different from the first embodiment, will be described with reference to FIG. Step S507 is not implemented after step S506. Following step S508, the processing of steps S512 and S507 is repeatedly performed in the order of the CTB addresses for all CTBs in the image (S510 to S511). Hereinafter, steps S512 and S507 will be described.
若處理對象CTB之loopfilter_merge_left_flag為1,則從位於處理對象CTB之左方位置的CTB,取得濾波器參數。若處理對象CTB之loopfilter_merge_left_flag為0,且處理對象CTB之loopfilter_merge_above_flag為1,則從位於處理對象CTB之上方位置的CTB,取得濾波器參數。若處理對象CTB之loopfilter_merge_left_flag為0,且處理對象CTB之loopfilter_merge_above_flag為0,則取得處理對象CTB的檔案參數(S512)。 When the loopfilter_merge_left_flag of the processing target CTB is 1, the filter parameters are obtained from the CTB located to the left of the processing target CTB. When the loopfilter_merge_left_flag of the processing target CTB is 0, and the loopfilter_merge_above_flag of the processing target CTB is 1, the filter parameters are obtained from the CTB located above the processing target CTB. When the loopfilter_merge_left_flag of the processing target CTB is 0, and the loopfilter_merge_above_flag of the processing target CTB is 0, the file parameter of the processing target CTB is obtained (S512).
迴圈濾波器104係對處理對象CTB之解碼影像資料,基於處理對象CTB之濾波器參數而執行迴圈濾 波器,生成新的解碼影像資料,將該當解碼影像資料供給至畫格記憶體205(S507)。此處,雖然設計成,迴圈濾波器104係保持有圖像內的所有CTB的解碼影像資料,但亦可設計成,將CTB解碼部202所供給之解碼影像資料,供給至畫格記憶體205而記憶之,在步驟S507中係從畫格記憶體205取得處理對象CTB之解碼影像資料。 The loop filter 104 performs the loop filtering on the decoded image data of the processing object CTB based on the filter parameters of the processing object CTB. The wave device generates new decoded image data, and supplies the decoded image data to the frame memory 205 (S507). Here, although the loop filter 104 is designed to hold decoded image data of all CTBs in the image, it may be designed to supply the decoded image data supplied from the CTB decoding unit 202 to the frame memory. In step 507, the decoded image data of the processing target CTB is obtained from the frame memory 205.
接著說明邊緣型濾波器131的動作。圖27係第3實施形態之邊緣型濾波器131之動作的流程圖。步驟S140係與第1實施形態不同。在步驟S140中,係若loopfilter_across_tiles_flag為1,則步驟S134的像素A或像素B是否為瓷磚外的檢查解果係被略過,進行執行邊緣型濾波器之步驟亦即步驟S135以後的動作。 Next, the operation of the edge type filter 131 will be described. Fig. 27 is a flowchart showing the operation of the edge type filter 131 of the third embodiment. Step S140 is different from the first embodiment. In step S140, if loopfilter_across_tiles_flag is 1, whether or not the pixel A or the pixel B in step S134 is outside the tile is skipped, and the step of executing the edge filter, that is, the operation in step S135 and subsequent steps is performed.
如此,即使loopfilter_interleave_flag是設成1而縮小濾波器參數之傳輸延遲的情況下,若loopfilter_across_tiles_flag為1,則於邊緣型濾波器中藉由參照瓷磚外的像素A與像素B,就可對瓷磚交界的左右或上下銜接之2像素,適用迴圈濾波器,可減少瓷磚交界之失真。又,在運動補償預測等中所被利用的參照圖像之畫質係被改善,因此可提升編碼效率。 In this way, even if the loopfilter_interleave_flag is set to 1 and the transmission delay of the filter parameters is reduced, if the loopfilter_across_tiles_flag is 1, the edge of the tile can be bounded by the pixel A and the pixel B outside the tile in the edge filter. 2 pixels connected left and right or up and down, suitable for loop filter, can reduce the distortion of the tile junction. Further, the image quality of the reference image used in the motion compensation prediction or the like is improved, so that the coding efficiency can be improved.
接著,說明濾波器參數編碼部105與濾波器參數解碼部204之動作中的相鄰CTB之有效性亦即available_left_ctb_flag與available_above_ctb_flag之導出。圖28係第3實施形態中的相鄰CTB之有效性之導出的流程圖。步驟S190與步驟S191被追加這點,係與第1 實施形態不同。步驟S190與步驟S191係檢查loopfilter_across_tiles_flag是否為1。以下,針對步驟S190與步驟S191加以說明。 Next, the derivation of the availability of the adjacent CTB in the operation of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, that is, the available_left_ctb_flag and the available_above_ctb_flag will be described. Fig. 28 is a flow chart showing the derivation of the validity of the adjacent CTB in the third embodiment. Step S190 and step S191 are added, this is the first The implementation is different. Step S190 and step S191 check whether loopfilter_across_tiles_flag is 1. Hereinafter, step S190 and step S191 will be described.
若loopfilter_across_tiles_flag為1(S190的Y),則步驟182、步驟183、及步驟184係被略過,無論編碼對象CTB的左邊是否銜接於瓷磚交界,available_left_ctb_flag都被設定成1。若loopfilter_across_tiles_flag並非1(S190的N),則執行步驟S182。 If loopfilter_across_tiles_flag is 1 (Y of S190), then steps 182, 183, and 184 are skipped, and available_left_ctb_flag is set to 1 regardless of whether the left side of the encoding object CTB is connected to the tile boundary. If loopfilter_across_tiles_flag is not 1 (N of S190), step S182 is performed.
若loopfilter_across_tiles_flag為1(S190的Y),則步驟186、步驟187、及步驟188係被略過,無論編碼對象CTB的上邊是否銜接於瓷磚交界,available_above_ctb_flag都被設定成1。若loopfilter_across_tiles_flag並非1(S191的N),則執行步驟S186。 If loopfilter_across_tiles_flag is 1 (Y of S190), then steps 186, 187, and 188 are skipped, and available_above_ctb_flag is set to 1 regardless of whether the upper side of the encoding object CTB is connected to the tile boundary. If loopfilter_across_tiles_flag is not 1 (N of S191), step S186 is performed.
如以上所述,若loopfilter_across_tiles_flag被設定成1,則在濾波器參數之編碼中,允許將表示跨過瓷磚交界來取得濾波器參數之旗標loopfilter_merge_left_flag與loopfilter_merge_above_flag予以編碼,若跨過瓷磚交界而濾波器參數是相同,則將loopfilter_merge_left_flag或loopfilter_merge_above_flag設定成1以將濾波器參數所需之編碼量變成1位元,藉此可促使編碼效率提升。 As described above, if loopfilter_across_tiles_flag is set to 1, in the encoding of the filter parameters, the flag loopfilter_merge_left_flag and loopfilter_merge_above_flag indicating that the filter parameters are obtained across the tile boundary are allowed to be encoded, if the filter crosses the tile boundary If the parameters are the same, loopfilter_merge_left_flag or loopfilter_merge_above_flag is set to 1 to change the amount of coding required for the filter parameters to 1 bit, whereby the coding efficiency can be improved.
又,若loopfilter_across_tiles_flag被設定成 1,則在檔案單元的解碼中,先將loopfilter_merge_left_flag、loopfilter_merge_above_flag、及loopfilter_cod_param( )予以解碼,在全部的CTB之解碼處理都結束後,在迴圈濾波器執行前,針對loopfilter_merge_left_flag為1之CTB係從位於該當CTB左方之CTB取得濾波器參數,針對loopfilter_merge_above_flag為1之CTB係從位於該當CTB上方之CTB取得濾波器參數,藉此,就可不必停止濾波器參數的解碼處理,而在圖像的所有CTB之解碼處理都結束後,令迴圈濾波器被正確地執行。 Also, if loopfilter_across_tiles_flag is set to 1, in the decoding of the file unit, the loopfilter_merge_left_flag, loopfilter_merge_above_flag, and loopfilter_cod_param() are first decoded. After all the decoding processes of the CTB are completed, the CTB system for the loopfilter_merge_left_flag is 1 before the loop filter is executed. The CTB located at the left of the CTB obtains the filter parameters, and the CTB for the loopfilter_merge_above_flag of 1 obtains the filter parameters from the CTB located above the CTB, thereby eliminating the need to stop the decoding process of the filter parameters, but in the image After all the decoding processing of the CTB is completed, the loop filter is correctly executed.
此處,藉由將檔案單元之語法要素中具有最複雜結構的loopfilter_cod_param( )予以事前解碼,就可使取得濾波器參數之延遲,抑制在最小程度。 Here, by sequentially decoding the loopfilter_cod_param( ) having the most complicated structure among the syntax elements of the file unit, the delay of the filter parameters can be minimized.
又,在抑制迴圈濾波器之執行延遲的情況下,亦可為,於步驟S505中,針對瓷磚交界之外的不利用濾波器參數的CTB係先執行迴圈濾波器,在全部的CTB之解碼處理都結束後,針對瓷磚交界之外的會利用濾波器參數的CTB係執行迴圈濾波器。 Further, when the execution delay of the loop filter is suppressed, in step S505, the loop filter may be first executed for the CTB system that does not use the filter parameters other than the tile boundary, and all of the CTBs may be used. After the decoding process is completed, the loop filter is executed for the CTB system that uses the filter parameters other than the tile boundary.
接著,說明第4實施形態。第4實施形態與第3實施形態係為瓷磚交界上的濾波與濾波器參數之編碼控制不同。 Next, a fourth embodiment will be described. In the fourth embodiment and the third embodiment, the filtering on the tile boundary is different from the encoding control of the filter parameters.
以下說明與第3實施形態的不同點。 Differences from the third embodiment will be described below.
首先,PPS的語法係為不同。圖29係第4實施形態所述之PPS之語法的說明圖。在PPS中追加有loopfilter_interleave_across_tiles_flag,這是與第3實施形態不同。loopfilter_interleave_across_tiles_flag係為用來表示,是否許可跨越瓷磚交界來取得濾波器參數的1位元之旗標。若loopfilter_interleave_across_tiles_flag為1,則許可跨越瓷磚交界來取得濾波器參數,若loopfilter_interleave_across_tiles_flag為0,則不許可跨越瓷磚交界來取得濾波器參數。在本實施形態中,係令loopfilter_interleave_across_tiles_flag為0。 First, the grammar of PPS is different. Fig. 29 is an explanatory diagram showing the syntax of the PPS described in the fourth embodiment. The loopfilter_interleave_across_tiles_flag is added to the PPS, which is different from the third embodiment. The loopfilter_interleave_across_tiles_flag is used to indicate whether a 1-bit flag that allows the filter parameters to be taken across the tile boundary is permitted. If loopfilter_interleave_across_tiles_flag is 1, then the filter parameters are allowed to be taken across the tile boundary. If loopfilter_interleave_across_tiles_flag is 0, it is not allowed to take the filter parameters across the tile boundary. In the present embodiment, loopfilter_interleave_across_tiles_flag is set to 0.
接著,說明濾波器參數編碼部105與濾波器參數解碼部204之動作中的相鄰CTB之有效性亦即available_left_ctb_flag與available_above_ctb_flag之導出。圖30係第4實施形態中的相鄰CTB之有效性之導出的流程圖。步驟S190和步驟S191係與第3實施形態不同。步驟S190與步驟S191係檢查loopfilter_interleave_across_tiles_flag是否為1。 Next, the derivation of the availability of the adjacent CTB in the operation of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, that is, the available_left_ctb_flag and the available_above_ctb_flag will be described. Fig. 30 is a flow chart showing the derivation of the validity of the adjacent CTB in the fourth embodiment. Steps S190 and S191 are different from the third embodiment. Step S190 and step S191 check whether loopfilter_interleave_across_tiles_flag is 1.
接著說明,動態影像解碼裝置200之動作。圖37係第4實施形態所述之動態影像解碼裝置200之動作的說明用流程圖。使用圖37來說明與第3實施形態不同的本實施形態所述之動態影像解碼裝置200之動作。 Next, the operation of the motion picture decoding device 200 will be described. Fig. 37 is a flowchart for explaining the operation of the video decoding device 200 according to the fourth embodiment. The operation of the motion video decoding device 200 according to the present embodiment, which is different from the third embodiment, will be described with reference to FIG.
接在步驟S506之後,針對銜接於瓷磚交界之像素以外的像素,執行迴圈濾波器(S520)。又,接在步驟S508之後,針對銜接於瓷磚交界之像素,執行迴圈濾波器 (S521)。 Following step S506, a loop filter is performed for pixels other than the pixels that are connected to the tile boundary (S520). In addition, after step S508, a loop filter is executed for the pixel connected to the tile boundary. (S521).
如以上所述,將loopfilter_interleave_flag設定成1、將loopfilter_across_tiles_flag設定成1、將loopfilter_interleave_across_tiles_flag設定成0,就可使全部的CTB之解碼處理都結束後的迴圈濾波器所涉及之處理,僅對銜接於瓷磚交界之像素來施行,藉此可減少瓷磚交界之失真同時使迴圈濾波器的執行延遲變成最小程度。又,圖像內的所有CTB之解碼處理都完成後,為了執行迴圈濾波器而記憶的必要之解碼像素,可變成只有對銜接於瓷磚交界之像素的相鄰像素A與相鄰像素B,可削減解碼影像資料的記憶容量。又,將loopfilter_interleave_flag設定成1、將loopfilter_across_tiles_flag設定成1、將loopfilter_interleave_across_tiles_flag設定成1,藉此可獲得和第3實施形態相同的效果。 As described above, the loopfilter_interleave_flag is set to 1, the loopfilter_across_tiles_flag is set to 1, and the loopfilter_interleave_across_tiles_flag is set to 0, so that the processing of the loop filter after the decoding processing of all the CTBs is completed, only the connection to the tile The pixels of the junction are implemented, thereby reducing the distortion of the tile interface while minimizing the execution delay of the loop filter. Moreover, after all the decoding processes of the CTBs in the image are completed, the necessary decoded pixels that are memorized for performing the loop filter can become adjacent pixels A and adjacent pixels B that are only connected to the pixels of the tile boundary. The memory capacity of the decoded image data can be reduced. Further, by setting loopfilter_interleave_flag to 1, setting loopfilter_across_tiles_flag to 1, and setting loopfilter_interleave_across_tiles_flag to 1, the same effect as in the third embodiment can be obtained.
接著,說明第5實施形態。第5實施形態與第1實施形態係為可利用之濾波器類型不同。在第1實施形態中係位於瓷磚交界之CTB和其以外之CTB上,可利用之濾波器類型係為相同,但在本實施形態中則是,位於瓷磚交界之CTB和其以外之CTB上,可利用之濾波器類型係為不同。 Next, a fifth embodiment will be described. The fifth embodiment differs from the first embodiment in the types of filters that can be used. In the first embodiment, the type of filter that can be used is the same on the CTB of the tile boundary and the CTB other than the tile, but in the present embodiment, it is located on the CTB of the tile boundary and the CTB other than the tile. The types of filters available are different.
以下說明與第1實施形態的不同點。 The differences from the first embodiment will be described below.
圖31係第5實施形態中的隨應於CTB之位置而可利用之濾波器類型的說明圖。使用圖31而隨著CTB位置來說明可利用之濾波器類型。針對available_left_ctb_flag與available_above_ctb_flag係皆為0,CTB的左邊與上邊皆未銜接於圖像交界與瓷磚交界的CTB,係和第1實施形態同樣地,許可濾波器類型0至濾波器類型5的所有濾波器類型之利用,按照濾波器類型的升順而將loopfliter_type_idx從0開始分配之。針對CTB之左邊是銜接於圖像交界或瓷磚交界的CTB,係僅許可利用濾波器類型1與濾波器類型2,對濾波器類型1和濾波器類型2,作為loopfliter_type_idx係分別分配0與1。針對CTB之上邊是銜接於圖像交界或瓷磚交界的CTB,係僅許可利用濾波器類型1與濾波器類型3,對濾波器類型1和濾波器類型3,作為loopfliter_type_idx係分別分配0與1。 Fig. 31 is an explanatory diagram showing a filter type usable in accordance with the position of the CTB in the fifth embodiment. The type of filter that can be utilized is illustrated with the CTB position using Figure 31. For both the available_left_ctb_flag and the available_above_ctb_flag are 0, the left and the upper sides of the CTB are not connected to the CTB at the intersection of the image boundary and the tile, and all filters of the filter type 0 to the filter type 5 are permitted as in the first embodiment. The use of the type, the loopfliter_type_idx is allocated from 0 according to the rise of the filter type. For the CTB to the left of the CTB, which is connected to the image boundary or tile boundary, only filter type 1 and filter type 2 are permitted, and for filter type 1 and filter type 2, 0 and 1 are assigned as loopfliter_type_idx, respectively. For CTBs above the CTB that are connected to the image boundary or tile boundary, only filter type 1 and filter type 3 are permitted, and for filter type 1 and filter type 3, 0 and 1 are assigned as loopfliter_type_idx, respectively.
接著,說明邊緣型濾波器131的動作。圖32係第5實施形態中的邊緣型濾波器131之動作的流程圖。檢查像素A或像素B是否為圖像交界的步驟S133、檢查像素A或像素B是否為瓷磚交界的步驟S134、將偏置值設定成0的步驟S137係被省略,這點有所不同。 Next, the operation of the edge type filter 131 will be described. Fig. 32 is a flow chart showing the operation of the edge type filter 131 in the fifth embodiment. The step S133 of checking whether the pixel A or the pixel B is the image boundary, the step S134 of checking whether the pixel A or the pixel B is the tile boundary, and the step S137 of setting the offset value to 0 are omitted, which is different.
如以上所述,若loopfilter_interleave_flag為1,則針對CTB之左邊是銜接於圖像交界或瓷磚交界的CTB,係將參照圖像交界或瓷磚交界之外之像素的濾波器類型亦即濾波器類型2、濾波器類型4、及濾波器類型5 設成無效,藉此就沒有必要參照圖像交界或瓷磚交界之外的像素,所以邊緣型濾波器131的步驟S133、步驟S134、及步驟S137就變成不需要,可削減邊緣型濾波器131的處理量。同樣地,針對CTB之上邊是銜接於圖像交界或瓷磚交界的CTB,係將參照圖像交界或瓷磚交界之外之像素的濾波器類型亦即濾波器類型1、濾波器類型4、及濾波器類型5設成無效,藉此就沒有必要參照圖像交界或瓷磚交界之外的像素,所以邊緣型濾波器131的步驟S133、步驟S134、及步驟S137就變成不需要,可削減邊緣型濾波器131的處理量。 As described above, if the loopfilter_interleave_flag is 1, the CTB that is connected to the image boundary or the tile boundary on the left side of the CTB is the filter type of the pixel that refers to the image boundary or the tile boundary, that is, the filter type 2 , filter type 4, and filter type 5 Therefore, it is not necessary to refer to pixels other than the image boundary or the tile boundary. Therefore, steps S133, S134, and S137 of the edge type filter 131 become unnecessary, and the edge type filter 131 can be reduced. Processing volume. Similarly, for CTBs above the CTB that are connected to the image boundary or tile boundary, the filter type of the pixel outside the image boundary or tile boundary, ie filter type 1, filter type 4, and filtering, will be referred to. The device type 5 is set to be invalid, whereby it is not necessary to refer to pixels outside the image boundary or the tile boundary, so the steps S133, S134, and S137 of the edge type filter 131 become unnecessary, and edge filtering can be reduced. The amount of processing of the device 131.
又,藉由僅對有效之濾波器類型分配loopfliter_type_idx,針對CTB之左邊或上邊是銜接於圖像交界或瓷磚交界的CTB,係將loopfliter_type_idx之編碼量削減成1位元之旗標,就可促使編碼效率提升。此處,針對濾波器類型0、亦即不處理迴圈濾波器的濾波器類型,係以濾波器類型1或濾波器類型2將偏置設定成0的方式,就可對應。 Moreover, by assigning loopfliter_type_idx only to the valid filter type, for the CTB that is connected to the image boundary or the tile boundary on the left or the top of the CTB, the coding amount of the loopfliter_type_idx is reduced to a 1-bit flag, which can promote Increased coding efficiency. Here, for the filter type 0, that is, the filter type that does not process the loop filter, the offset can be set to 0 by the filter type 1 or the filter type 2.
甚至,在第3實施形態或第4實施形態的動態影像編碼裝置中,藉由如本實施形態般地對瓷磚交界上的濾波器類型設置限制,就可實現總是在CTB內完結的低延遲之動態影像編碼裝置與動態影像解碼裝置。 Further, in the video encoding apparatus according to the third embodiment or the fourth embodiment, by setting a restriction on the filter type on the tile boundary as in the present embodiment, a low delay which is always completed in the CTB can be realized. The motion picture coding device and the motion picture decoding device.
接著,說明第6實施形態。第6實施形態係與第4實 施形態是在loopfliter_type_idx的編碼列與available_left_ctb_flag與available_above_ctb_flag之導出有所不同。 Next, a sixth embodiment will be described. The sixth embodiment is the fourth embodiment The mode is different in the coding column of loopfliter_type_idx and the availability of available_left_ctb_flag and available_above_ctb_flag.
以下說明與第4實施形態的不同點。 Differences from the fourth embodiment will be described below.
首先,loopfliter_type_idx的編碼列係不同。圖33係第6實施形態所述之loopfliter_type_idx之編碼列的說明圖。loopfliter_type_idx為0係表示濾波器類型0,編碼列(bin)係為'0'。loopfliter_type_idx為1係表示濾波器類型1,編碼列(bin)係為'10'。loopfliter_type_idx為2係表示濾波器類型2,編碼列(bin)係為'1100'。loopfliter_type_idx為3係表示濾波器類型3,編碼列(bin)係為'1101'。loopfliter_type_idx為4係表示濾波器類型4,編碼列(bin)係為'1110'。loopfliter_type_idx為5係表示濾波器類型5,編碼列(bin)係為'1111'。 First, the coded column of loopfliter_type_idx is different. Fig. 33 is an explanatory diagram showing a coding sequence of loopfliter_type_idx according to the sixth embodiment. The loopfliter_type_idx is 0 for the filter type 0 and the code column for the '0'. The loopfliter_type_idx is 1 for the filter type 1 and the code column for the '10'. The loopfliter_type_idx is 2 for the filter type 2 and the code column for the '1100'. The loopfliter_type_idx is 3 for the filter type 3 and the code column for the '1101'. The loopfliter_type_idx is 4 for the filter type 4 and the encoding column for the '1110'. The loopfliter_type_idx is 5 for the filter type 5 and the encoding column for the '1111'.
此處,頻帶型濾波器的濾波器參數係比邊緣型濾波器的濾波器參數,每1個的編碼量都較大,因此藉由對頻帶型濾波器的loopfliter_type_idx分配比邊緣型濾波器loopfliter_type_idx短的編碼量,就可使得邊緣型濾波器與頻帶型濾波器之每一者所需要之編碼量變得均衡。 Here, the filter parameter of the band type filter is larger than the filter parameter of the edge type filter, and the amount of coding per one is larger, so that the loopfliter_type_idx of the band type filter is allocated shorter than the edge type filter loopfliter_type_idx. The amount of coding makes it possible to equalize the amount of coding required by each of the edge type filter and the band type filter.
藉由使得邊緣型濾波器與頻帶型濾波器之每一者所需要之編碼量變得均衡,可使邊緣型濾波器與頻帶型濾波器各自的迴圈濾波器編碼參數的編碼時間與解碼時間變得均衡,可使硬體的電路設計或軟體設計變得容易。此處,雖然是將頻帶型濾波器的loopfliter_type_idx設成 2位元、邊緣型濾波器loopfliter_type_idx設定成4位元,但只要頻帶型濾波器的loopfliter_type_idx是比邊緣型濾波器loopfliter_type_idx還短的編碼量即可,並非限定於此。 By equalizing the amount of code required for each of the edge type filter and the band type filter, the encoding time and decoding time of the loop filter parameters of the edge type filter and the band type filter can be changed. Balanced to make hardware circuit design or software design easy. Here, although the loopfliter_type_idx of the band type filter is set to The 2-bit and edge type filter loopfliter_type_idx is set to 4 bits, but the loopfliter_type_idx of the band type filter is shorter than the edge type filter loopfliter_type_idx, and is not limited thereto.
接著,available_left_ctb_flag與available_above_ctb_flag之導出係為不同。接著,說明濾波器參數編碼部105與濾波器參數解碼部204之動作中的相鄰CTB之有效性亦即available_left_ctb_flag與available_above_ctb_flag之導出。圖34係第6實施形態中的相鄰CTB之有效性之導出的流程圖。步驟S196與步驟S197被追加這點,係與第4實施形態不同。以下,針對步驟S196與步驟S197加以說明。 Next, the available_left_ctb_flag is different from the available_above_ctb_flag. Next, the derivation of the availability of the adjacent CTB in the operation of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, that is, the available_left_ctb_flag and the available_above_ctb_flag will be described. Fig. 34 is a flow chart showing the derivation of the validity of the adjacent CTB in the sixth embodiment. The addition of step S196 and step S197 is different from the fourth embodiment. Hereinafter, steps S196 and S197 will be described.
檢查編碼對象CTB之左方位置的CTB的濾波器參數的濾波器類型是否為濾波器類型0(濾波器OFF)(S196)。若編碼對象CTB之左方位置的CTB的濾波器參數的濾波器類型是濾波器類型0(S196的Y),則將available_left_ctb_flag設成0(S184)。若編碼對象CTB之左方位置的CTB的濾波器參數的濾波器類型不是濾波器類型0(S196的N),則執行S182。 It is checked whether the filter type of the filter parameter of the CTB at the left position of the encoding object CTB is the filter type 0 (filter OFF) (S196). If the filter type of the filter parameter of the CTB at the left position of the encoding target CTB is the filter type 0 (Y of S196), the available_left_ctb_flag is set to 0 (S184). If the filter type of the filter parameter of the CTB at the left position of the encoding target CTB is not the filter type 0 (N of S196), S182 is executed.
檢查編碼對象CTB之上方位置的CTB的濾波器參數的濾波器類型是否為濾波器類型0(濾波器OFF)(S197)。若編碼對象CTB之上方位置的CTB的濾波器參數的濾波器類型是濾波器類型0(S197的Y),則將available_above_ctb_flag設成0(S188)。若編碼對象CTB 之上方位置的CTB的濾波器參數的濾波器類型不是濾波器類型0(S197的N),則執行S186。 It is checked whether the filter type of the filter parameter of the CTB at the position above the encoding object CTB is the filter type 0 (filter OFF) (S197). If the filter type of the filter parameter of the CTB at the position above the encoding target CTB is the filter type 0 (Y of S197), the available_above_ctb_flag is set to 0 (S188). If the encoding object CTB The filter type of the filter parameter of the CTB at the position above is not the filter type 0 (N of S197), and then S186 is executed.
此處,若濾波器類型為濾波器類型0,則loopfliter_type_idx係為1位元,因此比較有可能使編碼量比使用loopfilter_merge_left_flag或loopfilter_merge_above_flag來進行編碼還少。這是因為,若位於左方之CTB的濾波器參數的濾波器類型是濾波器類型0,則loopfilter_merge_left_flag只要1位元即可,但若位於左方之CTB的濾波器參數的濾波器類型不是濾波器類型0,而位於上方之CTB的濾波器參數的濾波器類型是濾波器類型0,則會變成loopfilter_merge_left_flag與loopfilter_merge_above_flag的2位元,若位於左方之CTB的濾波器參數的濾波器類型不是濾波器類型0,而位於上方之CTB的濾波器參數的濾波器類型不是濾波器類型0,則會變成loopfilter_merge_left_flag、loopfilter_merge_above_flag、loopfliter_type_idx的3位元。 Here, if the filter type is filter type 0, loopfliter_type_idx is 1 bit, so it is possible to compare the coding amount by using loopfilter_merge_left_flag or loopfilter_merge_above_flag to encode less. This is because if the filter type of the filter parameter of the CTB on the left is filter type 0, loopfilter_merge_left_flag can be 1 bit, but if the filter type of the filter parameter of the CTB on the left is not filtered Type 0, and the filter type of the filter parameter of the CTB located above is filter type 0, which will become the 2 bits of loopfilter_merge_left_flag and loopfilter_merge_above_flag. If the filter type of the filter parameter of CTB located on the left is not filtered If the filter type of the filter parameter of the CTB located above is not filter type 0, it will become 3 bits of loopfilter_merge_left_flag, loopfilter_merge_above_flag, loopfliter_type_idx.
因此,若濾波器類型為濾波器類型0,則不將loopfilter_merge_left_flag與loopfilter_merge_above_flag進行編碼,僅將迴圈濾波器編碼參數進行編碼,而可促使編碼效率提升。 Therefore, if the filter type is filter type 0, the loopfilter_merge_left_flag and the loopfilter_merge_above_flag are not encoded, and only the loop filter coding parameters are encoded, which can promote the coding efficiency.
接著,說明第7實施形態。第7實施形態係與第6實 施形態是在迴圈濾波器單元的語法與loopfliter_type_idx之編碼列有所不同。 Next, a seventh embodiment will be described. The seventh embodiment is the sixth embodiment The mode is that the syntax of the loop filter unit is different from the coded column of loopfliter_type_idx.
以下說明與第6實施形態的不同點。 Differences from the sixth embodiment will be described below.
首先,迴圈濾波器單元的語法係為不同。圖35係第7實施形態所述之迴圈濾波器單元之語法的說明圖。迴圈濾波器許可旗標enable_loopfilter_flag係被追加。enable_loopfilter_flag係為控制CTB之迴圈濾波器的ON與OFF的旗標,針對enable_loopfilter_flag為1的CTB係執行迴圈濾波器,針對enable_loopfilter_flag為0的CTB係不執行迴圈濾波器。 First, the syntax of the loop filter unit is different. Fig. 35 is an explanatory diagram showing the syntax of the loop filter unit according to the seventh embodiment. The loop filter permission flag enable_loopfilter_flag is added. The enable_loopfilter_flag is a flag for controlling the ON and OFF of the loop filter of the CTB, and the loop filter is executed for the CTB system whose enable_loopfilter_flag is 1, and the loop filter is not executed for the CTB system whose enable_loopfilter_flag is 0.
其次,loopfliter_type_idx的編碼列係不同。圖36係第7實施形態所述之loopfliter_type_idx之編碼列的說明圖。loopfliter_type_idx為0係表示濾波器類型1,編碼列(bin)係為'0'。loopfliter_type_idx為1係表示濾波器類型2,編碼列(bin)係為'100'。loopfliter_type_idx為2係表示濾波器類型3,編碼列(bin)係為'101'。loopfliter_type_idx為3係表示濾波器類型4,編碼列(bin)係為'110'。loopfliter_type_idx為4係表示濾波器類型5,編碼列(bin)係為'111'。 Second, the coded column of loopfliter_type_idx is different. Fig. 36 is an explanatory diagram showing a coding sequence of loopfliter_type_idx according to the seventh embodiment. The loopfliter_type_idx is 0 for the filter type 1 and the code column for the '0'. The loopfliter_type_idx is 1 for the filter type 2 and the code column for the '100'. The loopfliter_type_idx is 2 for the filter type 3 and the code column for the '101'. The loopfliter_type_idx is 3 for the filter type 4 and the code column for the '110'. The loopfliter_type_idx is 4 for the filter type 5 and the encoding column for the '111'.
其次,濾波器參數編碼部105與濾波器參數解碼部204之動作中的相鄰CTB之有效性亦即available_left_ctb_flag與available_above_ctb_flag之導出,係為不同。與第6實施形態係為步驟S196和步驟S197是有所不同,針對步驟S196和步驟S197加以說 明。 Next, the validity of the adjacent CTB in the operation of the filter parameter encoding unit 105 and the filter parameter decoding unit 204, that is, the available_left_ctb_flag and the available_above_ctb_flag are different. The sixth embodiment is different from step S196 and step S197, and is described with respect to step S196 and step S197. Bright.
檢查編碼對象CTB之左方位置的CTB的濾波器參數的迴圈濾波器許可旗標是否為0(S196)。若編碼對象CTB之左方位置的CTB的濾波器參數的迴圈濾波器許可旗標為0(S196的Y),則將available_left_ctb_flag設成0(S184)。若編碼對象CTB之左方位置的CTB的濾波器參數的迴圈濾波器許可旗標不是0(S196的N),則執行S182。 It is checked whether or not the loop filter permission flag of the filter parameter of the CTB at the left position of the encoding object CTB is 0 (S196). If the loop filter permission flag of the filter parameter of the CTB at the left position of the encoding target CTB is 0 (Y of S196), the available_left_ctb_flag is set to 0 (S184). If the loop filter permission flag of the filter parameter of the CTB at the left position of the encoding target CTB is not 0 (N of S196), S182 is executed.
檢查編碼對象CTB之上方位置的CTB的濾波器參數的迴圈濾波器許可旗標是否為0(S197)。若編碼對象CTB之上方位置的CTB的濾波器參數的迴圈濾波器許可旗標為0(S197的Y),則將available_above_ctb_flag設成0(S188)。若編碼對象CTB之上方位置的CTB的濾波器參數的迴圈濾波器許可旗標不是0(S197的N),則執行S186。 It is checked whether the loop filter permission flag of the filter parameter of the CTB at the position above the encoding object CTB is 0 (S197). If the loop filter permission flag of the filter parameter of the CTB at the position above the encoding target CTB is 0 (Y of S197), the available_above_ctb_flag is set to 0 (S188). If the loop filter permission flag of the filter parameter of the CTB at the position above the encoding target CTB is not 0 (N of S197), S186 is executed.
以上所述之實施形態的動態影像編碼裝置與動態影像解碼裝置中,雖然說明了以瓷磚交界來作為領域之交界,但瓷磚內的CTB係依照逐線掃描順序而被處理而切片係將瓷磚內的CTB按照逐線掃描順序而予以包含的方式而構成了瓷磚與切片的情況下,藉由將瓷磚與切片做組合,針對切片交界也藉由將瓷磚交界置換成切片交界就可同樣地適用。 In the video encoding device and the video decoding device according to the embodiment described above, the tile boundary is used as the boundary of the field, but the CTB in the tile is processed in the line-by-line scanning order and the slice is in the tile. When the CTB is configured to include tiles and slices in a line-by-line scanning order, the combination of the tile and the slice can be similarly applied to the slice boundary by replacing the tile boundary with the slice boundary.
以上所述之實施形態的動態影像編碼裝置與動態影像解碼裝置中,雖然作為迴圈濾波器是使用了SAO 濾波器,但例如,亦可使去區塊濾波器與SAO濾波器做組合。 In the video encoding device and the video decoding device according to the embodiment described above, SAO is used as the loop filter. Filters, but for example, can also combine deblocking filters with SAO filters.
以上所述的實施形態的動態影像編碼裝置所輸出的動態影像的編碼串流,係為了可隨著實施形態中所使用之編碼方法來進行解碼,而具有特定的資料格式,對應於動態影像編碼裝置的動態影像解碼裝置係可將此特定資料格式的編碼串流加以解碼。 The coded stream of the video stream output by the motion picture coding apparatus according to the embodiment described above has a specific data format corresponding to the motion picture coding in order to be decoded in accordance with the coding method used in the embodiment. The dynamic video decoding device of the device can decode the encoded stream of this particular data format.
動態影像編碼裝置與動態影像解碼裝置之間為了收授編碼串流,而使用有線或無線網路的情況下,可將編碼串流轉換成適合於通訊路之傳輸形態的資料形式來進行傳輸。此情況下,會設置有:將動態影像編碼裝置所輸出之編碼串流轉換成適合於通訊路之傳輸形態之資料形式的編碼資料然後發送至網路的動態影像送訊裝置、和從網路接收編碼資料並復原成編碼串流而供給至動態影像解碼裝置的動態影像收訊裝置。 When a video or wireless network is used between the motion picture coding apparatus and the motion picture decoding apparatus to receive the code stream, the code stream can be converted into a data format suitable for the transmission mode of the communication path. In this case, a dynamic image transmitting device that converts the encoded stream outputted by the motion image encoding device into encoded data suitable for the transmission form of the communication path and then transmits it to the network, and the slave network are provided. The motion picture receiving device that receives the coded data and restores it into a coded stream and supplies it to the motion picture decoding device.
動態影像送訊裝置,係含有:將動態影像編碼裝置所輸出之編碼串流予以緩衝的記憶體、將編碼串流予以封包化的封包處理部、將已被封包化的編碼資料透過網路而進行發送的送訊部。動態影像收訊裝置,係含有:將已被封包化的編碼資料透過網路而進行接收的收訊部、將已被接收之編碼資料予以緩衝的記憶體、將編碼資料進行封包處理而生成編碼串流並提供給動態影像解碼裝置的封包處理部。 The motion picture transmitting device includes a memory that buffers a coded stream output by the motion picture coding device, a packet processing unit that encapsulates the coded stream, and transmits the encapsulated coded data through the network. The transmitting unit that sends the message. The motion picture receiving device includes a receiving unit that receives the encoded encoded data through the network, a memory that buffers the received encoded data, and encodes the encoded data to generate a code. The stream is streamed and supplied to a packet processing unit of the motion picture decoding device.
以上的關於編碼及解碼之處理,係可用硬體 而以傳輸、積存、收訊裝置的方式來加以實現,當然,也可藉由記憶在ROM(唯讀記憶體)或快閃記憶體等中的韌體、或電腦等之軟體來加以實現。亦可將該韌體程式、軟體程式記錄至電腦等可讀取之記錄媒體來加以提供,或可透過有線或無線網路從伺服器來提供,也可用地表波或衛星數位播送的資料播送方式來提供之。 The above processing on encoding and decoding is available with hardware. It can be realized by means of transmission, accumulation, and receiving device. Of course, it can also be realized by software such as firmware stored in ROM (read only memory) or flash memory, or software such as a computer. The firmware program and software program can also be recorded on a readable recording medium such as a computer, or can be provided from a server through a wired or wireless network, or can be broadcast by means of a surface wave or satellite digital broadcast. Come and provide it.
以上係依據實施形態來說明了本發明。實施形態係為例示,這些各構成要素或各處理程序之組合中還有各種可能的變形例,而這些變形例也都屬於本發明之範圍,而能被當業者所理解。 The present invention has been described above based on the embodiments. The embodiments are exemplified, and there are various possible modifications in the combinations of these constituent elements or processing programs, and these modifications are also within the scope of the invention and can be understood by the practitioner.
本發明係可利用於,使用了運動補償預測的動態影像編碼及解碼技術。 The present invention is applicable to motion picture coding and decoding techniques using motion compensated prediction.
10、11‧‧‧端子 10, 11‧‧‧ terminals
100‧‧‧動態影像編碼裝置 100‧‧‧Dynamic image coding device
101‧‧‧影像資料取得部 101‧‧‧Image Data Acquisition Department
102‧‧‧CTB編碼部 102‧‧‧CTB coding department
103‧‧‧濾波器參數決定部 103‧‧‧Filter Parameter Determination Department
104‧‧‧迴圈濾波器 104‧‧‧Circle filter
105‧‧‧濾波器參數編碼部 105‧‧‧Filter Parameter Coding Section
106‧‧‧畫格記憶體 106‧‧‧Characteristic memory
107‧‧‧編碼列多工部 107‧‧‧Code Columns
110‧‧‧編碼控制部 110‧‧‧Code Control Department
111‧‧‧瓷磚設定部 111‧‧‧ Tile Setting Department
112‧‧‧迴圈濾波器設定部 112‧‧‧Circle Filter Setting Department
113‧‧‧領域資訊設定部 113‧‧‧Domain Information Setting Department
Claims (3)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012087580 | 2012-04-06 | ||
JP2012087581 | 2012-04-06 | ||
JP2013079865A JP5888279B2 (en) | 2012-04-06 | 2013-04-05 | Moving picture coding apparatus, moving picture coding method, moving picture coding program, transmission apparatus, transmission method, and transmission program |
JP2013079864A JP5888278B2 (en) | 2012-04-06 | 2013-04-05 | Moving picture decoding apparatus, moving picture decoding method, moving picture decoding program, receiving apparatus, receiving method, and receiving program |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201640891A TW201640891A (en) | 2016-11-16 |
TWI597967B true TWI597967B (en) | 2017-09-01 |
Family
ID=50550663
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105117376A TWI597967B (en) | 2012-04-06 | 2013-04-08 | Video decoding apparatus, video decoding method, and video decoding program medium |
TW102112622A TWI548280B (en) | 2012-04-06 | 2013-04-08 | An image decoding apparatus, an image decoding method, and an image decoding program |
TW106144240A TWI643490B (en) | 2012-04-06 | 2013-04-08 | Video decoding device, image decoding method, and recording medium storing image decoding program |
TW107137797A TWI666915B (en) | 2012-04-06 | 2013-04-08 | Image coding device, image coding method, and recording medium storing image coding program |
TW106125316A TWI613906B (en) | 2012-04-06 | 2013-04-08 | Video decoding device, image decoding method, and recording medium storing image decoding program |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102112622A TWI548280B (en) | 2012-04-06 | 2013-04-08 | An image decoding apparatus, an image decoding method, and an image decoding program |
TW106144240A TWI643490B (en) | 2012-04-06 | 2013-04-08 | Video decoding device, image decoding method, and recording medium storing image decoding program |
TW107137797A TWI666915B (en) | 2012-04-06 | 2013-04-08 | Image coding device, image coding method, and recording medium storing image coding program |
TW106125316A TWI613906B (en) | 2012-04-06 | 2013-04-08 | Video decoding device, image decoding method, and recording medium storing image decoding program |
Country Status (1)
Country | Link |
---|---|
TW (5) | TWI597967B (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201143461A (en) * | 2010-04-08 | 2011-12-01 | Ntt Docomo Inc | Moving image prediction encoder apparatus, moving image prediction decoder apparatus, moving image prediction encoding method, moving image prediction decoding method, moving image prediction encoding program, and moving image prediction decoding pro |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1846442A (en) * | 2003-09-04 | 2006-10-11 | 日本电气株式会社 | Motion image data converting method, apparatus and program |
US7664176B2 (en) * | 2004-07-09 | 2010-02-16 | Nokia Corporation | Method and system for entropy decoding for scalable video bit stream |
WO2006046476A1 (en) * | 2004-10-29 | 2006-05-04 | Sharp Kabushiki Kaisha | Moving image decoding apparatus and moving image decoding method |
CN100584025C (en) * | 2005-08-04 | 2010-01-20 | 华为技术有限公司 | Arithmetic decoding system and device based on contents self-adaption |
US8532199B2 (en) * | 2008-01-24 | 2013-09-10 | Panasonic Corporation | Dynamic image compression device |
WO2009157580A1 (en) * | 2008-06-27 | 2009-12-30 | ソニー株式会社 | Image processing device and image processing method |
JP4592805B1 (en) * | 2009-06-11 | 2010-12-08 | 株式会社東芝 | Moving picture decoding apparatus, program, and decoding process simplification method |
CN105120278B (en) * | 2010-07-20 | 2016-11-30 | 株式会社Ntt都科摩 | Image prediction encoding device and method, image prediction/decoding device and method |
-
2013
- 2013-04-08 TW TW105117376A patent/TWI597967B/en active
- 2013-04-08 TW TW102112622A patent/TWI548280B/en active
- 2013-04-08 TW TW106144240A patent/TWI643490B/en active
- 2013-04-08 TW TW107137797A patent/TWI666915B/en active
- 2013-04-08 TW TW106125316A patent/TWI613906B/en active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201143461A (en) * | 2010-04-08 | 2011-12-01 | Ntt Docomo Inc | Moving image prediction encoder apparatus, moving image prediction decoder apparatus, moving image prediction encoding method, moving image prediction decoding method, moving image prediction encoding program, and moving image prediction decoding pro |
Non-Patent Citations (1)
Title |
---|
Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 8th Meeting: San José, CA, USA, 1–10 February, 2012 * |
Also Published As
Publication number | Publication date |
---|---|
TWI613906B (en) | 2018-02-01 |
TW201640891A (en) | 2016-11-16 |
TW201408072A (en) | 2014-02-16 |
TWI643490B (en) | 2018-12-01 |
TWI548280B (en) | 2016-09-01 |
TW201907711A (en) | 2019-02-16 |
TWI666915B (en) | 2019-07-21 |
TW201811033A (en) | 2018-03-16 |
TW201740726A (en) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110636299B (en) | Method, apparatus and computer-readable recording medium for processing video data | |
JP2023145724A (en) | Video decoding method, video encoding method, and bitstream transmitting method | |
EP2608540B1 (en) | Method and apparatus for encoding video, and decoding method and apparatus | |
CN107018424B (en) | Image processing apparatus, image processing method, and program | |
JP6288348B2 (en) | Image decoding apparatus, image decoding method, and image decoding program | |
TWI597967B (en) | Video decoding apparatus, video decoding method, and video decoding program medium | |
JP6135802B2 (en) | Image encoding device, image encoding method, image encoding program, transmission device, transmission method, and transmission program | |
US20160261862A1 (en) | Fast rate-distortion optimized quantization | |
WO2013150805A1 (en) | Moving image coding device, moving image coding method, moving image coding program, transmission device, transmission method, transmission program, moving image decoding device, moving image decoding method, moving image decoding program, reception device, reception method, and reception program |