Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 10 pp. 4780-4785, 2012 http://dx.doi.org/10.5762/kais.2012.13.10.4780 모바일기기를위한 H.264 인코더의최적매개변수의결정 류민희 1, 김형신 1* 1 충남대학교컴퓨터공학과 Optimal Parameter Selection of H.264 Encoder For Mobile Devices Minhee Ryu 1 and Hyungshin Kim 1* 1 Department of Computer Science and Engineering, Chungnam National University 요약최근스마트폰과태블릿과같은소형모바일기기가확산됨에따라, 모바일기기에서동영상촬영시이용되는비디오인코더의성능최적화의필요성이제기되고있다. 본논문에서는모바일기기를대상으로하는 H.264/AVC 기본프로파일비디오인코더를모바일기기에구현하고, 실험을통해 H.264 인코더의주요제어변수를최적화하였다. 실험으로는인코더의복잡도에영향을주는것으로알려진라그랑지안최적화, 하다마드변환, 움직임벡터탐색범위, I-프레임주기, 참조프레임수를다양하게조합하여변화시키면서동영상의화질, 비트율, 인코딩시간, 움직임추정시간그리고, 인코딩에따라보드에서소모되는전력을측정하였다. 실험에서측정된데이터를분석하여, 모바일기기에서의비디오인코더에서요구되는조건을만족할수있는최적의 H.264/AVC 제어변수를위의다섯가지기능모듈에대해결정하였다. Abstract As many mobile devices such as smart phones and tablets are widely spread, optimized mobile video encoder used during video recording application is needed. In this paper, we implemented H.264/AVC base profile video encoder on a mobile device and empirically optimized control parameters of the encoder. As the experiment, we more than 100 test cases were designed with varying Lagrangian optimization, Hadamard Transform, search range, I-frame period, and reference frames. During the experiment, we measured picture quality, bit-rate, encoding time, motion estimation time, and power consumption. From the result, we can determine optimal values for the H.264 control parameters. Key Words : Video encoder, Mobile video, H.264, Encoder optimization, Energy consumption 1. 서론 최근스마트폰, 태블릿 PC등과같은모바일기기가널리보급되고무선컴퓨팅환경이일반화되면서, 멀티미디어컨텐츠에대한시장의요구가점차증가하고있다. 기존의동영상압축표준안인 MPEG-4와 H.263등은화질과압축률에서한계를드러내기시작했고, 그대안으로 H.264/AVC가표준화되었다 [1]. H.264/AVC는이전표준안들과비교했을때동일한해상도와화질에대해약 50% 개선된압축성능을보이고, 동일전송속도를기준 으로 MPEG-4보다 2배정도높은화질을보장한다 [2]. 또한, 네트워크전송률의변화에대하여높은적응성을가지며, 이러한특성은화상통화나화상회의등실시간인코딩을필요로하는서비스에특히필요하다. H.264/AVC는기존표준들과비교했을때전송률왜곡 (Rate-Distortion) 에있어주목할만한향상을가져왔다. 하지만, 기존표준들에비해높은계산복잡도로전용하드웨어추가없이모바일기기의제한된리소스만으로실시간 (real-time) 또는사용자가만족할수있는시간내에처리가가능한 H.264 코덱 (codec) 을구현하기는어렵 이논문은 2012년도정부 ( 교육과학기술부 ) 의재원으로한국연구재단의지원을받아수행된기초연구사업입니다.(No. 2012-0004576) * Corresponding Author : Hyungshin Kim Tel: +82-10-2085-3860 email: hyungshin@cnu.ac.kr 접수일 12년 07월 20일수정일 (1차 12년 08월 22일, 2차 12년 09월 07일 ) 게재확정일 12년 10월 11일 4780
모바일기기를위한 H.264 인코더의최적매개변수의결정 다 [3]. 하지만, 최근모바일기기의하드웨어성능향상으로모바일기기에서의 H.264/AVC 적용에대한연구가차츰진행되고있다 [4,5]. 기존연구에서는주로실행시간을줄이기위해새로운알고리즘들을제시하였다. 하지만, H.264/AVC 인코더의계산복잡도를높이는기능자체에대한분석을수행하고, 이들의실행매개변수를조절한다면일정수준의성능개선을얻을수있다. H.264/AVC에대한최적화알고리즘적용전화질및인코딩비트율의큰저하없이인코딩시간및전력소모량이최소인기준에맞는제어변수를결정하였다. 본논문의구성은다음과같다. 2장에서는모바일기기에서의동영상인코더성능최적화와관련된기존의연구를분석한다. 3장에서는 H.264/AVC 인코더의성능측정방법을설명하였다. 4장에서는 3장의실험설정을이용하여주요기능에대한성능을측정하고, 최적의성능을보이는매개변수값을결정한다. 5장에서는결론을맺는다. 2. 관련연구 [ 그림 1] 매개변수조절을통한인코딩속도개선 [Fig. 1] Encoding time after parameter selection 그림 1은기본움직임검색알고리즘인 Full Search와개선된 UMHexagon Search 방식의움직임추정알고리즘을적용한후, 실제모바일기기에구현인코딩시간을측정한것이다. 가장우측의그래프는본연구의결과로결정된최적매개변수값을적용한후에 Full Search 방식을사용하는인코더의성능을측정한것이다. UMHexagon Search 방식의경우가 Full Search 보다빠른인코딩시간을보여주고있지만, 새로운성능개선알고리즘의도입이없이, 계산복잡도를높이는제어매개변수를 Full Search에대해최적화한것이가장빠른인코딩성능을보여주는것을알수있다. 따라서, 이논문에서는성능향상을위해최적화알고리즘을적용하기에앞서, 인코더의계산복잡도를높이는기능들에대한제어를통해모바일기기에적합한화질및인코딩된비트율의저하가거의없는빠른인코딩을수행할수있음을보이고자한다. 본논문에서는모바일기기를대상으로하는 H.264/AVC 기본프로파일비디오인코더를실제모바일기기에구현하고, 인코더의부하 (overhead) 를높이는기능들을찾아제어함으로써화질, 비트율, 인코딩시간, 움직임추정시간그리고, 인코딩에따라보드에서소모되는전력을측정하였다. 측정된데이터를분석하고, 이절에서는모바일기기의특징에맞는비디오인코더의성능개선연구들을설명한다. 모바일시스템의소프트웨어는작은공간에다수의하드웨어가집적되어야하므로, 프로세서의능력또는메모리, I/O 장치등의사용에있어제약이따른다. 모바일기기는자원제약으로인해데스크탑급컴퓨터이상의성능을발휘하기힘들며, 최대성능을유지하기위해서는그만큼의전력소모가뒤따른다. 최근들어스마트폰과태블릿과같은모바일기기들이필수품처럼되었으며, 멀티미디어에대한관심과함께성능향상요구가증가하고있다. 그와더불어기존코덱에비해성능이우수한 H.264/AVC 를모바일기기에적용한사례들이발표되고있다. 하지만, 주로디코더위주의연구또는하드웨어로구현된연구가대부분이다 [6,7]. [4] 와 [8] 은소프트웨어로구현된 H.264 비디오인코더의성능을개선한연구들이다. 이들논문에서는 H.264 비디오인코더의계산복잡도를높이는인트라프레임예측모듈, 움직임추정모듈, 변환및양자화모듈전반에걸친최적화를통해 H.264 기본프로파일 (Baseline Profile) 을모바일기기에적용하였으며, 움직임추정모듈과모드선택모듈에대한최적화를통해 H.264 비디오인코더전반의성능을향상시켰다 [4,8]. 인코더와전력소모량과관련된연구로는 DMB(Digital Multimedia Broadcast), DVB-H(Digital Video Broadcast for Handheld) 와같은휴대용단말의저전력하드웨어구현이대부분이다 [7]. 이들기존연구에서는최적화이후검증을위한 H.264 인코딩기능들에대한제어변수들선정방법이명확하지않다. 따라서본논문에서는모바일기기에적합한최적의인코딩기능제어변수를찾기위해 5가지매개변수값의설정을변경하여 144개의실험항목을만들고, 성능을 4781
한국산학기술학회논문지제 13 권제 10 호, 2012 측정하여, 최적의성능을보이는제어값을결정하였다. 3. H.264 인코더성능분석방법 이장에서는 H.264의계산복잡도를증가시키는기능들선정하고, 각기능과인코딩성능지표들간의관계를분석할수있는실험방법에대해설명한다. 성능분석실험을위해타겟보드에리눅스 (Linux) 2.4.20 커널 (Kernel) 버전을설치하였다. H.264 코덱으로는 JM11.0을사용하였다. 성능측정을위한모바일타겟은모바일기기개발용플랫폼인 SMDK2440A Evaluation Board[10] 를사용했다. 프로세서는 ARM920T 코어기반의삼성 S3C2440A 마이크로프로세서를사용하고있다. 프로세서는 400MHz 의클럭속도로동작하도록설정되어있으며, 16KB 64-way 인스트럭션 / 데이터캐시 (associative instruction/data cache) 를사용한다. 인코더실행시전력측정을위해 FLUKE 사의멀티미터를사용했다 [11]. 보드에연결되는전원은멀티미터 (multimeter) 를거쳐보드에전달되고, 멀티미터기로입력되는전류값을측정할수있다. 초당샘플링이가능하고, 시리얼 (serial) 로컴퓨터에연결하여측정된데이터를컴퓨터에로그 (log) 파일로생성해준다. H.264 비디오인코더는프레임내예측 (Intra-frame Prediction), 프레임간예측 (Inter-frame Prediction), 변환및양자화 (Transform & Quantization), 디블록킹필터 (Deblocking Filter), 엔트로피코딩 (Entropy Coding) 등의주요모듈로구성되어있다. 기본프로파일 (Baseline Profile) 에서다음 5가지기능들이계산복잡도를높이는요인으로알려져있다 [3]. (1) 라그랑지안 (Lagrangian) 전송률왜곡최적화 SAD(Sum of Absolute Differences), PSNR(Peak Signal to Noise Ratio) 등영상의왜곡정도를측정하기위해라그랑지안계수를사용하는곱셈기를사용함으로써전송률왜곡성능을향상시킬수있다. 이를통하여화질및비트율이각각 0.35dB와 9% 향상시킬수있으나, 인코더실행시간이최대 120% 길어질수있다. (2) 하다마드변환 (Hadamard Transform) '1' 과 '-1' 만으로구성된직교행렬 (orthogonal matrix) 를이용하여휘도 DC(Luma DC) 신호를위한 4x4 화소단위이산하다마드변환 (4x4 Discrete Hadamard Transform) 과 색차 DC(Chroma DC) 신호를위한 2x2 화소단위이산하다마드변환 (2x2 Discrete Hadamard Transform) 을수행한다. 이는인코딩된비트율에대해성능향상을보인다. (3) 움직임벡터탐색범위 (Motion Vector search range) 움직임벡터를찾기위한탐색범위를의미하며, 범위가넓을수록보다정확한움직임벡터를찾을수있으므로압축률을높일수있으나, 넓은범위에결쳐탐색을해야하므로계산량이많아진다. 1개의참조프레임을사용할때약 8 픽셀범위와 32 픽셀범위에대해약 9배의계산복잡도차이가발생한다 [3]. 본논문에서수행한성능측정실험에서도이항목이성능에가장큰영향을미치는것을확인할수있었다. (4) I- 프레임주기 H.264 기본프로파일에서는 I-프레임과 P-프레임을사용한다. I-프레임은원본영상에가장가깝게압축하며, P-프레임은압축이완료된참조프레임과원본영상의차이를이용하여압축한다. P-프레임이많을수록비트율은낮아지지만영상의화질이떨어진다. I-프레임이많으면많을수록원본영상에가까운화질을갖지만, 압축의효율은떨어지게된다. 본논문에서는레벨1, 1b 기준에적합한 I-프레임주기를결정한다. (5) 참조프레임수 참조프레임이많을수록가장정확한움직임벡터를찾을수있다. 이는압축률을높이는효과가있다. 하지만, 참조프레임의수가많아질수록비교를위한메모리공간이추가적으로필요하며, 비교연산횟수가많아지므로전체실행시간성능에영향을미친다. [ 표 1] 계산복잡도가높은기능별제어조건 [Table 1] Control parameters for complex operation in H.264 기능라그랑지안전송률왜곡최적화하다마드변환움직임벡터탐색범위 제어조건 On / Off On / Off 8픽셀 / 16픽셀 / 32픽셀 I-프레임주기 오직한번만 / 6 프레임 / 12 프레임 참조프레임수 4 / 3 / 2 / 1 4782
모바일기기를위한 H.264 인코더의최적매개변수의결정 최적의인코딩성능을위한제어조건을결정하기위하여위와같은 H.264의계산복잡도를증가시키는 5가지기능들에대해표 1의제어조건을조합한총 144개성능측정테스트세트를생성하였으며, 각항목은 Case_OOO 로명명하였다. 테스트를위한동영상으로대표적인시험용동영상중에서움직임변화가적은 Container Ship과움직임변화가많은 Foreman을사용했다. 각각의테스트세트를적용한 H.264 인코더를두개의동영상에대해타겟보드에서실행시키면서화질, 인코딩된비트율, 인코딩시간, 움직임추정시간그리고, 보드의전력소모량을측정했다. 전력소모를제외한나머지결과들은인코더실행시자동생성되지만보드의전력소모량을측정하기위해서는추가적인작업이필요하다. 에너지소모량은멀티미터기를이용하여측정된값으로부터식 (1) 과같이계산하였다. 임인코딩을하고, e는 6 프레임마다한프레임을 I-프레임으로인코딩하고, f는 12 프레임마다한프레임을 I-프레임으로인코딩한다. e > f > d 순으로화질이좋은모습을보여주고있다. (1) [ 그림 2] 비트율성능측정 [Fig. 2] Bit-rate measurement 멀티미터기를이용하여매초간격으로보드에입력되는전류값을측정했다. 인코딩을위해소모된에너지는초당측정된전류값 (I measured) 에서평상시보드에서사용되는평균전류 (I norm) 값을뺀나머지를인코딩시간 T 동안누적하고, 입력전압 (V measured) 을곱하여구할수있다. 4. H.264 인코더최적인자결정 이번절에서는 3절의실험방법을사용하여얻은결과를설명한다. [ 그림 2] 는비트율성능측정결과이다. X축은측정항목 144개의테스트세트번호이며, Y축은비트율을표시하고있다. 비트율값의변화는 I-프레임주기에따라 a는 100 프레임마다 I-프레임이 1개만존재하는경우, b는 6 프레임마다 1개의 I-프레임, c는 12 프레임마다 1개의 I-프레임주기를갖는경우다. Case_73 ~ 144 항목은라그랑지안전송률왜곡최적화를사용하지않는경우이다. 이경우하다마드변환을사용하므로인코딩된비트율이낮아지는효과를확인할수있다. 그림 3은인코딩후화질에대한성능측정결과이다. X축은측정항목 144개의케이스번호이며, Y축은 PSNR 값을표시하고있다. 전체적으로비슷한결과값을보이나, I-프레임주기의차이에따라약간씩차이를보인다. d는전체인코딩에있어오직처음한번만 I-프레 [ 그림 3] 화질성능측정 [Fig. 3] PSNR measurement 그림 4는총인코딩시간에대한성능측정결과이다. X축은측정항목 144개의케이스번호이며, Y축은총인코딩시간을표시하고있다. 인코딩시간은탐색범위 (search range) 의영향이크다. g는 8 픽셀, h는 16 픽셀, k는 32 픽셀탐색범위에따른총인코딩시간차이를보여준다. g, h, k 테스트케이스들의내부적으로인코딩시간차이를보이는것은 I-프레임주기와참조프레임수의영향이다. 이들을각각살펴보면, 내부적으로 4 개의테스트세트마다반복되는성능차이는참조프레임의영향으로나타나는것이며, I-프레임주기에따라서 4783
한국산학기술학회논문지제 13 권제 10 호, 2012 도인코딩시간차이를보인다. 이는 I-프레임을인코딩하는시간이 P-프레임인코딩시계산복잡도가높은움직임추정모듈을실행하는시간보다인코딩전체로볼때더많은시간이소모된다는것을의미한다. [ 그림 6] 움직임추정시간측정결과 [Fig. 6] Motion estimation time measurement [ 그림 4] 인코딩시간측정결과 [Fig. 4] Encoding time measurement 그림 5는에너지소모량측정결과이다. Y축은전력소모량을표시하고있다. 소모된에너지는탐색범위의영향이크다. m은 8 픽셀, n은 16 픽셀, p는 32 픽셀탐색범위에따른전력소모량차이를보여준다. [ 그림 5] 에너지소모량측정 [Fig. 5] energy consumption measurement 그림 6은움직임추정에소요된총시간을표시하고있다. 그림 4, 그림 5와마찬가지로탐색범위의영향을가장많이받는다. q는 8 픽셀, r은 16 픽셀, s는 32 픽셀탐색범위에따른총소요시간차이를보여준다. 위와같이실행성능측정결과그림 2, 그림 3은 I-프레임의영향을많이받으며, 그림 4, 그림 5, 그림 6은움직임벡터탐색범위의영향을받고있다. 이는움직임벡터를찾기위해얼마나많은계산횟수를반복하느냐의차이로인한결과이다. 그리고 X축 4개의테스트케이스마다유사한패턴의결과값이발생하는것은참조프레임수에따른것이다. 화질의경우최대 / 최소 PSNR 값의차이는 0.98(dB) 로큰차이를보이지않았다. 모바일기기의요구사항을만족할수있는인코딩제어값을선정하기위해서는다음의기준을만족해야한다. 첫째, 실행시간및전력소모가최소화되어야한다. 둘째, 비트율이레벨 1.0을만족해야한다. 셋째, 에러에강하기위하여 I-프레임의수가많아야한다. 제시한세가지기준에따라상위 3개의후보를선정하였다. 실행시간및전력소모에대해 Case_116, Case_120, Case_80 이선정되었다. 이중에서 Case_116, Case_80 두항목은비트율이레벨 1.0을초과하여제외되고, 나머지 Case_120 항목이성능이가장우수한것으로선정됐다. 이결과들을종합하면, 최소실행시간, 저전력그리고, 레벨 1.0 기준비트율 64kbps를모두만족하는테스트케이스는 Case_120이다. 표 2는 Case_120 측정항목의설정값과성능측정결과를보여준다. 선택된테스트케이스 120번은인코딩시간이오래걸리는연산들을최소화하면서인코딩품질과성능을유지할수있는변수설정을갖는것으로볼수있다. 따라서, 모바일기기에서 H.264 인코더를실행하기위해서는 [ 표 2] 와같은제어값을설정하면최적의성능을얻을수있다. 4784
모바일기기를위한 H.264 인코더의최적매개변수의결정 [ 표 2] Case_120 의설정값및성능측정결과 [Table 2] Control values of Case_120 and its performance 측정항목 Case_120 RD 최적화 Off 하다마드변환 Off 움직임벡처탐색범위 8픽셀 I-프레임주기 12 참조프레임 1 비트율 (kbps) 53.9 화질 (db) 36.4 인코딩소요시간 (sec) 208.0 전력소모 (Joule) 295.4 움직임추정소요시간 (sec) 109.9 5. 결론 본논문에서는모바일기기에 H.264 기본프로파일비디오인코더를적용하기위해실행시간및전력소모를줄이는방법에대해살펴보았다. 이를위해 H.264 비디오인코더의실행성능에영향을미치는계산복잡도가높은기능들의제어변수들을선정하고, 다양한제어값을적용하여실제하드웨어에구현함으로써, 최적의성능을내는제어값을발견하였다. 본논문에서실험을통하여결정한최적설정조건을이용하면, 향후향후모바일멀티미디어연구자들또는개발자들이모바일기기에 H.264를적용하기위한인코더최적화연구에대해도움을줄것으로기대한다. Conference on Acoustics, Speech and Signal Processing, Vol. 5, May 2006, pp. V-457-V-460 [5] Iain E. G. Richardson, H.264 and MPEG-4 Video Compression: Video Coding for Next Generation Multimedia, John Wiley&Sons Ltd, ISBN: 0-470-84837-5, 2003 [6] Tsu-Ming Liu, Ting-An Lin, Sheng-Zen Wang, Chen-Yi Lee, A low-power dual-mode video decoder for mobile applications, IEEE Communications Magazine, Vol. 44, Issue 8, Aug. 2006, pp. 119-126 [7] B. Stabernack, H. Hubert, K.-I. Wels, A H.264 video coprocessor for mobile DVB-H terminals, International Conference on Consumer Electronics 2006, Digest of Tech. Papers, Jan. 2006 pp. 89-90 [8] K. Udyawar, A. Ramachandran, S. Shandilya, Motion estimation and mode decision for low power H.264, International Conference on Consumer Electronics 2006, Digest of Tech. Papers, Jan. 2006, pp. 31-32 [9] JVT(Joint Video Meeting) http://ftp3.itu.ch/av-arch/jvt-site/ [10] Meritech co., http://www.meritech.co.kr 류민희 (Minhee Ryu) [ 정회원 ] 2007 년 2 월 : 충남대학교컴퓨터공학과 ( 석사 ) References [1] T. Wiegand, G.J. Sullivan, G. Bjntegaard, A. Luthra, Overview of the H.264/AVC video coding standard, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, Issue 7, Jul. 2003, pp. 560-576 [2] N. Kamaci, Y. Altunbasak, Performance comparison of the emerging H.264 video coding standard with the existing standards, Proceedings. 2003 International Conference on Multimedia and Expo, Vol. 1, July 2003, pp. I-345-8 vol. 1 [3] J. Ostermann, J. Bormans, P. List, D. Marpe, M. Narroschke, F. Pereira, T. Stockhammer, T. Wedi, Video coding with H.264/AVC: tools, performance, and complexity, IEEE Circuits and Systems Magazine, Vol. 4, Issue 1, First Quarter 2004, pp. 7-28 [4] G. Nageswara Rao, Prasad RSV, D. Jaya Chandra and Srividya Narayanan, Real-Time Software Implementation of H.264 Baseline Profile Video Encoder for Mobile and Handheld Devices, 2006 IEEE International < 관심분야 > 내장형시스템, 시스템소프트웨어, 멀티미디어 김형신 (Hyungshin Kim) [ 정회원 ] 1990년 12월 : Univ. of Surrey, 위성통신공학 ( 석사 ) 2003년 2월 : 한국과학기술원전산학과 ( 박사 ) 2003년 4월 ~ 2004년 2월 : Carnegie Mellon Univ. 박사후연구원 2004년 2월 ~ 현재 : 충남대학교부교수 < 관심분야 > 내장형시스템, 시스템소프트웨어, 우주용컴퓨터 4785