李靜敏,楊 靜
(上海海事大學(xué) 信息工程學(xué)院,上海 201306)
?
基于HEVC的快速幀間預(yù)測算法
李靜敏,楊靜
(上海海事大學(xué) 信息工程學(xué)院,上海201306)
針對HEVC中PU劃分模式和幀間運(yùn)動(dòng)模式的選擇引起的高復(fù)雜度,提出一種快速幀間預(yù)測算法。首先,判斷圖像的運(yùn)動(dòng)狀態(tài)和紋理復(fù)雜度,根據(jù)當(dāng)前圖像的時(shí)空域相關(guān)性及圖像內(nèi)容的特點(diǎn),減少PU劃分模式。然后,根據(jù)運(yùn)動(dòng)劇烈程度對當(dāng)前PU運(yùn)動(dòng)模式預(yù)判,從而不需要遍歷所有的運(yùn)動(dòng)模式。實(shí)驗(yàn)結(jié)果表明,在視頻重建質(zhì)量基本相當(dāng)?shù)那疤嵯拢倪M(jìn)后的算法編碼時(shí)間與參考算法相比節(jié)省30%~60%左右。
HEVC;幀間預(yù)測;PU劃分模式;運(yùn)動(dòng)模式;時(shí)空域相關(guān)性;運(yùn)動(dòng)狀態(tài);紋理復(fù)雜度
HEVC[1]作為最新的視頻壓縮標(biāo)準(zhǔn),沿襲了H.264基于塊的混合編碼框架,但其去除了H.264標(biāo)準(zhǔn)的“宏塊”概念,針對每個(gè)模塊重新定義了編碼單元(Code Unit,CU)、預(yù)測單元(Prediction Unit,PU)、變換單元(Transform Unit,TU)等概念[2]。塊劃分模式的增多以及運(yùn)動(dòng)模式(Merge_Mode、Inter_Mode)的詳細(xì)劃分,在提高視頻編碼效率的同時(shí)也造成計(jì)算復(fù)雜度的上升。
針對HEVC中幀間預(yù)測的新特點(diǎn)引起的高復(fù)雜度,很多學(xué)者做了大量的研究,如已經(jīng)被HM收入,并作為PU劃分模式判決的快速算法:1)提前終止算法(Early_CU)[3]利用MODE_SKIP終止該CU后續(xù)四叉樹劃分及模式判決。2)早期跳出算法[4](Early_SKIP),如果當(dāng)前CU的PU劃分為2N×2N,預(yù)測模式為Inter_Mode(幀間預(yù)測模式),且CBF和MVD均為零,則認(rèn)為當(dāng)前的PU劃分模式為該CU的最佳模式,不再遍歷剩余的PU劃分模式,直接進(jìn)行下步的四叉樹分割或者子CU的模式判別。3)快速CBF算法(CBF_Fast)[5],即如果CU的預(yù)測模式為Inter_Mode ,它所對應(yīng)的預(yù)測殘差不包含非零的變換系數(shù),則跳過該CU的其他預(yù)測模式,當(dāng)前PU劃分模式為當(dāng)前CU的最優(yōu)模式。但這3個(gè)算法利用的是當(dāng)前CU的特殊情況。
針對CU的一般性情況,Rhee等[6]利用不同深度間PU劃分模式的相關(guān)性,預(yù)測當(dāng)前PU的劃分模式;Tian 充分利用全零殘差塊終止PU劃分[7];馬祥等[8]利用CU不同深度的相關(guān)性和同一深度相鄰空域的相關(guān)性,減少PU模式遍歷;李元等[9]和劉娟等[10]利用圖像時(shí)域的相關(guān)性,根據(jù)前后兩幀的CU面積特征,提前結(jié)束PU模式遍歷。
上述算法從各個(gè)方面來減少PU劃分模式抉擇的復(fù)雜度,考慮了視頻的幀間相關(guān)性,但都沒有與當(dāng)前塊空域相關(guān)性結(jié)合,且沒有涉及運(yùn)動(dòng)模式(Merge_Mode,Inter_Mode)的判決。綜合以上分析,本文根據(jù)圖像的運(yùn)動(dòng)特性和紋理復(fù)雜度,針對PU模式判別過程和運(yùn)動(dòng)模式預(yù)判兩方面進(jìn)行了改進(jìn),以減少幀間預(yù)測復(fù)雜度。
幀間預(yù)測編碼作為視頻壓縮編碼的一個(gè)重要模塊,利用圖像幀間相關(guān)性,根據(jù)相鄰時(shí)域已編碼塊來預(yù)測當(dāng)前塊的信息,去除視頻的時(shí)域冗余,達(dá)到壓縮目的。為了降低HEVC中幀間預(yù)測編碼復(fù)雜度,本文提出了一種快速算法。首先,判斷圖像的運(yùn)動(dòng)特征及紋理復(fù)雜性。然后,利用時(shí)空域的相關(guān)性,分別對PU模式選擇和運(yùn)動(dòng)模式判別進(jìn)行快速模式選擇和模式預(yù)判。
1.1圖像運(yùn)動(dòng)特征與紋理復(fù)雜度的分析
圖像的運(yùn)動(dòng)劇烈程度對圖像編碼有很大的影響,靜止或者運(yùn)動(dòng)平緩的圖像,相鄰兩幀間的相似性很高,當(dāng)前塊的編碼信息可以參考或者拷貝相鄰時(shí)域的相應(yīng)塊的有圖像信息。運(yùn)動(dòng)劇烈的圖像,幀間相關(guān)性相對較弱,對于視頻的幀間壓縮效率有所影響。本文利用相鄰幀相應(yīng)位置的CU的MV來判斷當(dāng)前塊的運(yùn)動(dòng)特征。首先定義一個(gè)全局變量來保存相鄰幀相應(yīng)位置已編碼塊的MV,根據(jù)式(1)求出當(dāng)前CU的平均MVave
(1)
式中:2N×2N是當(dāng)前CU的大小;MVx(i,j)和MVy(i,j)分別表示當(dāng)前CU在(i,j)處的運(yùn)動(dòng)矢量的X和Y分量。根據(jù)多次實(shí)驗(yàn)觀察得到合適的門限值THR0=3,當(dāng)MVave>THR0時(shí),表示當(dāng)前塊運(yùn)動(dòng)較為劇烈;當(dāng)MVave≤THR0時(shí),表示當(dāng)前CU的運(yùn)動(dòng)緩慢或者靜止。
對于運(yùn)動(dòng)劇烈的圖像,圖像幀間的相關(guān)性較弱。本文結(jié)合了空域相關(guān)性,對圖形的紋理信息進(jìn)行分類,將CU分為紋理平坦區(qū)域和紋理復(fù)雜區(qū)域。CU區(qū)域的紋理較為平坦時(shí),對于去除圖像空間冗余有很好的效果。目前已經(jīng)有很多方法檢測圖像的紋理復(fù)雜度,如應(yīng)用高斯馬爾科夫隨機(jī)場來進(jìn)行紋理復(fù)雜度的分類[11],此方法較為有效,但其計(jì)算復(fù)雜度也很大,本文不考慮此算法。利用Sobel算子計(jì)算當(dāng)前CU的梯度值[12],通過梯度值來衡量該區(qū)域的紋理復(fù)雜度。本文使用當(dāng)前CU與空域相鄰塊的絕對差值和的平均值VSAD,來確定該CU的紋理復(fù)雜度。VSAD的計(jì)算如下
(2)
式中:2N表示當(dāng)前CU的尺寸;P(i,j)表示當(dāng)前CU區(qū)域內(nèi)(i,j)點(diǎn)的像素值;p′(i,j)表示相鄰CU內(nèi)(i,j)點(diǎn)的像素值。當(dāng)VSAD的值小于閾值THR1時(shí),則認(rèn)為當(dāng)前CU區(qū)域穩(wěn)定平坦;反之,則認(rèn)為當(dāng)前CU紋理復(fù)雜。閾值THR1是經(jīng)過大量實(shí)驗(yàn)得到,取THR1=4.5。
1.2快速PU劃分模式選擇算法
PU是進(jìn)行預(yù)測編碼的基本單元,最小的PU劃分模式為4×4。HEVC的PU劃分模式包括4種對稱的(2N×2N,2N×N,N×2N,N×N)和4種非對稱的運(yùn)動(dòng)劃分模式(Asymmetric Motion Partition,AMP)(2N×UN,2N×DN,LN×2N,RN×2N)。HEVC標(biāo)準(zhǔn)的PU劃分模式判別,就是采用基于拉格朗日的率失真優(yōu)化計(jì)算每種模式的率失真代價(jià),選擇代價(jià)最小者為最優(yōu)PU劃分模式。但不是所有的模式都需要進(jìn)行遍歷。為了降低PU劃分模式選擇的復(fù)雜度,本文根據(jù)圖像的內(nèi)容特性將其PU模式分為三類:上下結(jié)構(gòu)I1={2N×N,2N×UN,2N×DN}、左右結(jié)構(gòu)I2={N×2N,LN×2N,RN×2N}、不分塊或者均勻分塊I3={2N×2N,N×N}。
考慮到文獻(xiàn)[9]中統(tǒng)計(jì)的相鄰兩幀間的PU模式相同概率較高,該快速PU劃分模式選擇算法先考慮時(shí)域相關(guān)性再結(jié)合空域相關(guān)性,具體步驟如下。
根據(jù)1.1節(jié)中的運(yùn)動(dòng)特征分析,判斷當(dāng)前編碼塊的運(yùn)動(dòng)劇烈程度。
若MVave≤THR0,判定當(dāng)前編碼塊運(yùn)動(dòng)較為平緩或靜止??紤]到此時(shí)相鄰兩幀間有較大的相關(guān)性,統(tǒng)計(jì)相鄰幀相應(yīng)塊PU劃分模式(PUcol)。
如果PUcol劃分模式屬于I1集合,則當(dāng)前編碼塊遍歷I1集合中的PU劃分模式,而為了保證視頻編碼的性能,2N×2N的PU劃分模式也需要考慮,其他模式則不需要再遍歷。
如果PUcol劃分模式屬于I2集合,則當(dāng)前編碼塊只需要遍歷I2集合中的PU劃分模式和2N×2N。
如果PUcol劃分模式屬于I3集合,當(dāng)前編碼塊只需遍歷I3集合中的PU劃分模式。
當(dāng)MVave>THR1時(shí),當(dāng)前塊運(yùn)動(dòng)較為劇烈,如果仍然參考相鄰幀相應(yīng)位置PU劃分模式,可能會(huì)對視頻的質(zhì)量造成一定的損失。為了減少視頻質(zhì)量的損失,當(dāng)前塊編碼塊運(yùn)動(dòng)劇烈時(shí),本文根據(jù)1.1節(jié)中的圖像紋理復(fù)雜度的分析,判斷當(dāng)前編碼塊的紋理復(fù)雜度。
若VSAD≤THR1,判定當(dāng)前編碼塊紋理平坦,統(tǒng)計(jì)當(dāng)前編碼塊的空域相鄰塊的PU劃分模式(PUNeR)。
如果PUNeR劃分模式屬于I1集合,則當(dāng)前CU只遍歷I1集合中的PU劃分模式和2N×2N。如果PUNeR劃分模式為I2集合,則當(dāng)前CU只需要遍歷I2集合中的PU模式和2N×2N。如果PUNeR劃分模式屬于I3集合,當(dāng)前PU只需遍歷I3集合中的PU劃分模式。
若MVave>THR1且VSAD>THR1,當(dāng)前編碼塊模運(yùn)動(dòng)劇烈且紋理復(fù)雜,需要遍歷所有的PU劃分模式以得到最優(yōu)PU劃分模式。
改進(jìn)的快速PU劃分模式選擇算法流程圖如圖1示。
圖1 快速PU劃分模式選擇算法流程圖
1.3快速運(yùn)動(dòng)模式預(yù)判
計(jì)算每種PU劃分模式的率失真代價(jià)是為PU選擇最優(yōu)的幀間預(yù)測參數(shù),如參考圖像的列表、參考圖像索引、運(yùn)動(dòng)矢量和加權(quán)值等。由于HEVC引入了 Merge模式和AMVP技術(shù),使得每種PU模式都需要遍歷兩種運(yùn)動(dòng)模式Merge_Mode和Inter_Mode,從兩位種模式中選擇率失真代價(jià)最小的為最優(yōu)運(yùn)動(dòng)模式,提高了編碼效率的同時(shí)也增加了編碼時(shí)間。
但兩種運(yùn)動(dòng)模式有很大的區(qū)別,Merge_Mode可以從時(shí)間和空間相鄰塊中得到運(yùn)動(dòng)信息,根據(jù)率失真優(yōu)化計(jì)算候選列表中的候選項(xiàng)的率失真代價(jià)以選擇最優(yōu)候選塊,只需要最優(yōu)候選塊的索引信息即可。對于幀間變化較少或者運(yùn)動(dòng)靜止的圖像區(qū)域可以有效地降低圖像的計(jì)算復(fù)雜度和編碼比特?cái)?shù)。Inter_Mode需要搜索不同的運(yùn)動(dòng)參數(shù)組合,根據(jù)率失真優(yōu)化計(jì)算各種組合的率失真代價(jià),選擇RDCost最小的為最優(yōu)Inter_Mode。Inter_Mode類似于Merge_Mode,都需要建立候選列表,但與之不同的是其不需要5個(gè)候選項(xiàng)只需要2個(gè)即可。Inter_Mode只利用很少的候選項(xiàng)是因?yàn)樾枰獔?zhí)行運(yùn)動(dòng)估計(jì)來計(jì)算當(dāng)前塊的運(yùn)動(dòng)矢量殘差,通過傳遞殘差來實(shí)現(xiàn)圖像的編碼。Inter_Mode對于運(yùn)動(dòng)劇烈或者紋理復(fù)雜的圖像,能夠最小失真地重建圖像,但計(jì)算復(fù)雜度又有所增加。
為了降低運(yùn)動(dòng)模式抉擇的計(jì)算復(fù)雜度,本文根據(jù)運(yùn)動(dòng)模式的特性與圖像的運(yùn)動(dòng)復(fù)雜度,預(yù)判幀間預(yù)測的運(yùn)動(dòng)模式,具體步驟如下:
1)考慮到PU劃分模式為2N×2N時(shí),SKIP模式類似于Merge_Mode。此時(shí)對于當(dāng)前編碼塊的運(yùn)動(dòng)模式,不進(jìn)行預(yù)判。
2)再次利用1.1節(jié)中運(yùn)動(dòng)特征的分析,判斷當(dāng)前編碼塊的運(yùn)動(dòng)劇烈程度。
3)當(dāng)MVave≤THR0時(shí),當(dāng)前編碼塊運(yùn)動(dòng)較為平緩或靜止,而Merge模式對于幀間變化較少或者運(yùn)動(dòng)靜止的圖像區(qū)域只需要很少的比特,且能很好地將當(dāng)前塊運(yùn)動(dòng)信息傳遞到解碼端,所以,此時(shí)使用Merge_Mode來搜索當(dāng)前塊的運(yùn)動(dòng)信息。
4)當(dāng)MVave>THR0時(shí),當(dāng)前編碼塊運(yùn)動(dòng)較為劇烈,若采用Merge_Mode,會(huì)導(dǎo)致視頻質(zhì)量的損失,使用Inter_Mode來搜索當(dāng)前塊的運(yùn)動(dòng)信息,在保證了當(dāng)前塊圖像質(zhì)量的基礎(chǔ)上又不需要遍歷Merge_Mode。
運(yùn)動(dòng)模式預(yù)判算法的流程圖如圖2所示。
圖2 運(yùn)動(dòng)模式預(yù)判流程圖
本文提出的快速幀間預(yù)測算法在編碼器HM10.0仿真實(shí)驗(yàn),實(shí)驗(yàn)平臺(tái)為CPU 4.30 GHz、Intel Core i7、內(nèi)存4 Gbyte、操作系統(tǒng)為Windows 7的64位計(jì)算機(jī),運(yùn)行環(huán)境是Microsoft Visual Studio 2010,編碼結(jié)構(gòu)為IPPP。實(shí)驗(yàn)結(jié)果如表1~5所示,其中P表示本文所提出的快速PU模式選擇算法,C為文獻(xiàn)[10]基于時(shí)域相關(guān)性的快速PU選擇算法,L即為快速PU模式選擇與運(yùn)動(dòng)模式預(yù)判相結(jié)合的快速幀間預(yù)測算法。
表1本文快速算法與參考算法和HM算法對比結(jié)果1
序列算法Bitrate/(kbit·s-1)ΔB/%PSNR/dBΔP/dBTime/sΔT/%BClassParkSceneHM1619.0592—34.3312—15326.047—P與HM差值—0.28—-0.01—-43.48P與C差值—-0.05—0.01—4.88L與HM差值—0.07—0.02—-55.74L與C差值—-0.25—0.04—-17.86BasketballDriveHM2863.776—36.3958—18573.315—P與HM差值—0.19—-0.01—-37.57P與C差值—-0.02—0.02—3.82L與HM差值—0.52—-0.03—-55.44L與C差值—0.31—-0.01—-25.90
表2本文快速算法與參考算法和HM算法對比結(jié)果2
序列算法Bitrate/(kbit·s-1)ΔB/%PSNR/dBΔP/dBTime/sΔT/%CClassParkSceneHM113.8176—39.0295—2027.428—P與HM差值—0.94—-0.04—-38.66P與C差值—1.17—0.04—4.45L與HM差值—0.69—-0.06—-54.51L與C差值—0.92—0.01—-22.55BasketballDriveHM2431.872—30.6077—3907.89—P與HM差值—0.61—-0.02—-16.41P與C差值—0.27—0.03—6.27L與HM差值—1.67—-0.05—-42.15L與C差值—1.32—0—-22.30
表3本文快速算法與參考算法和HM算法對比結(jié)果3
序列算法Bitrate/(kbit·s-1)ΔB/%PSNR/dBΔP/dBTime/sΔT/%DClassParkSceneHM367.776—31.6735—1270.124—P與HM差值—1.06—-0.04—-10.95P與C差值—-0.94—0.03—6.28L與HM差值—1.45—-0.08—-29.40L與C差值—-0.57—0—-15.74BasketballDriveHM446.544—31.3487—950.857—P與HM差值—2.04—-0.03—-20.14P與C差值—0.49—0.01—1.63L與HM差值—2.09—-0.08—-40.05L與C差值—0.54—-0.04—-23.71
表4本文快速算法與參考算法和HM算法對比結(jié)果4
序列算法Bitrate/(kbit·s-1)ΔB/%PSNR/dBΔP/dBTime/sΔT/%EClassParkSceneHM540.9312—37.7616—4295.491—P與HM差值—0.53—-0.02—-48.51P與C差值—-1.71—0.06—3.14L與HM差值—0.91—-0.01—-56.21L與C差值—-1.33—0.64—-12.29BasketballDriveHM437.184—38.7191—4448.543—P與HM差值—0.76—-0.01—-48.86P與C差值—-1.07—0.02—-23.61L與HM差值—1.32—-0.05—-51.87L與C差值—-0.52—-0.01—-28.11
表5本文快速算法與參考算法和HM算法對比結(jié)果5
序列算法Bitrate/(kbit·s-1)ΔB/%PSNR/dBΔP/dBTime/sΔT/%FClassParkSceneHM1445.7648—35.7467—7083.064—P與HM差值—1.04—-0.04—-30.04P與C差值—-0.34—0.01—2.06L與HM差值—1.59—-0.08—-46.60L與C差值—0.21—-0.03—-22.10BasketballDriveHM227.4368—42.7508—5493.914—P與HM差值—-0.09—-0.04—-49.19P與C差值—-0.20—-0.05—4.44L與HM差值—0.50—0—-69.45L與C差值—0.39—-0.01—-37.21
從表1中可以看出,本文中的快速PU劃分模式選擇算法與HM編碼器相比較,其時(shí)間可以節(jié)省平均25%左右,同時(shí)PSNR減少0.03 dB左右,并有0.5%左右的碼率增加。與參考文獻(xiàn)算法[10]相比較,大部分的圖像的率失真性能明顯較好,尤其是針對運(yùn)動(dòng)較為劇烈而紋理較為平坦的圖像。但個(gè)別視頻因?yàn)榭紤]了空域相關(guān)性,率失真性能略有下降。
加入運(yùn)動(dòng)模式預(yù)判算法的快速幀間預(yù)測聯(lián)合算法與文獻(xiàn)算法[10]相比,其時(shí)間可進(jìn)一步減少15%~25%,且視頻的率失真效果基本相當(dāng)。與HM編碼器相比,其時(shí)間可以節(jié)省69%,同時(shí)視頻的質(zhì)量損失可忽略不計(jì)。
本文主要針對幀間預(yù)測的PU模式抉擇和運(yùn)動(dòng)模式進(jìn)行了分析和改進(jìn)。提出的快速幀間預(yù)測聯(lián)合算法,根據(jù)圖像的運(yùn)動(dòng)狀態(tài)來減少需要遍歷的PU模式和對運(yùn)動(dòng)模式的預(yù)判。同時(shí)對于運(yùn)動(dòng)劇烈的圖像,又利用圖像紋理復(fù)雜度減少了PU劃分模式遍歷。仿真結(jié)果表明:本文提出的快速幀間預(yù)測算法大幅度減少了編碼時(shí)間,且圖像質(zhì)量損失可忽略不計(jì)。
[1]JCT-VC.JCTVC-L1004,High efficiency video coding(HEVC)text specification draft 10[S].2013.
[2]WIEGAND T,OHM J R,SULLIVAN G J,et al. Special section on the joint call for proposals on High Efficiency Video Coding(HEVC)standardization[J]. IEEE transactions on circuits and systems for video technology, 2010, 20(12):1661-1666.
[3]GWEON R H, LEE Y L,LIM J Y. Early termination of CU encoding to reduce HEVC complexity[EB/OL]. [2016-01-09]. http://phenix.int-evry.fr/jct/index.php.
[4]YANG J Y,KIM J W,WON K H,et al. Early SKIP detection for HEVC[EB/OL]. [2016-01-09]. http://phenix. intevry. fr/jct/index.php.
[5]CHOI K,PARK S H,JANG E S. Coding tree pruning based CU early termination[EB/OL]. [2016-01-09]. http://phenix. intevry.fr/jct/index.php.
[6]RHEE C E,LEE H J. Early decision of prediction direction with hierarchical correlation for HEVC compression [J].IEICE transactions on information and systems,2013(96):972-975.
[7]TIAN G,GOTO S. An optimization scheme for quadtree-struture prediction and residual encoding in HEVC[C]//Proc. IEEE Asia Pacific Conference on Circuits and Systems(APCCAS).[S.l.]:IEEE,2012:547-550.
[8]馬祥.基于宏塊模式相關(guān)性的深度幀內(nèi)跳過編碼[J].華南理工大學(xué)學(xué)報(bào),2013,41(8):28-33.
[9]李元,何小海,鐘國韻,等.一種基于時(shí)域相關(guān)性的高性能視頻編碼快連速幀間預(yù)測單元模式判決算法[J].電子與信息學(xué)報(bào),2013,10(35):2365-2370.
[10]劉娟,鐘國韻,王蕾,等.基于時(shí)域相關(guān)性的快速HEVC幀間模式判決方法[J].電視技術(shù),2014,38(13):1-5.
[11]UCHIYAMA T,MUKAWAN,KANEKO H. Estimation of homogeneous regions for segmentation of textured images[J].IEEE transactions on information and systems,2000(3):7084-7084.
[12]WU D,WU S,LIM K P. Block inter mode decision for fast encoding of H.264[J].IEEE transactions on information and systems,2004,3(3):181.
責(zé)任編輯:時(shí)雯
Fast inter-frame prediction algorithm based on HEVC
LI Jingmin,YANG Jing
(CollegeofInformationandEngineering,ShanghaiMaritimeUniversity,Shanghai201306,China)
In order to solve the high complexity which result from the choice of PU mode and frame movement patterns which is the new technology in HEVC,a fast inter frame Prediction algorithm is proposed in this paper. Firstly,it is determine the movement of images and texture complexity,and reduce PU mode based on the current image in spatial domain correlation and characteristics of image content. Then,according to the characteristics of inter-frame motion mode,it is predict the current PU Motion mode by motion state,and it is not need traverse all of the patterns of motion. Experimental results show that the modified algorithm saves encoding time 30%~60% and video quality loss is negligible.
HEVC; inter-frame prediction; prediction unit (PU) mode; motion mode; correlation of temporal and spatial; motion state; texture complexity
TN919.81
ADOI:10.16280/j.videoe.2016.07.001
國家自然科學(xué)基金項(xiàng)目(61401270)
2016-02-21
文獻(xiàn)引用格式:李靜敏,楊靜.基于HEVC的快速幀間預(yù)測算法[J].電視技術(shù),2016,40(7):1-5.
LI J M,YANG J.Fast inter-frame prediction algorithm based on HEVC[J].Video engineering,2016,40(7):1-5.