배터리로 구동되는 모바일 통신 기기의 멀티미디어 프로세싱은 기기의 연산 성능을 데스크톱 컴퓨터 수준으로 요구하고 있다. 에너지 소비 제한은 기기가 너무 가열되는 것을 방지하기 위해 실질적인 최대값 3W에서 유지된다. 게다가 몇 시간 동안 구동되는 사용 시간은 배터리 전력에서 제공되어야 한다.지난 10년 동안, 모바일 통신 기기의 사용 시간은 실리콘 단계에서 엄청난 에너지 효율 향상에도 불구하고 실질적으로 동일한 상태이다. 그 이유를 밝혀내려면 에너지 효율적인 시스템을 설계하면서 복잡한 소프트웨어 솔루션 구현을 활용하려는 미션을 가진 대규모 팀이 목표로 삼은 설계 패러다임이 필요하다.운영체제 구조를 포함해 하드웨어와 소프트웨어 아키텍처는 메인프레임 컴퓨터 시스템과 현재 휴대전화 모두에서 동일하다. 이 기고문을 통해 우리는 모바일 통신 기기에서 비디오 프로세싱의 필요성에 대해 관찰되는 개발 과정을 고찰하고 하드웨어와 소프트웨어 모두에서 에너지 효율적인 비디오 코덱을 구현하는 방법을 살펴보고자 한다.비유연성의 모놀리식 비디오 가속 하드웨어가 훌륭한 솔루션이라고 해도, 코덱에 기반한 소프트웨어는 증가하는 시스템 복잡도 때문에 에너지 효율적인 방법으로 구현하기가 점점 어려워지고 있다. 소프트웨어의 유연성과 하드웨어의 에너지 효율성 모두를 결합한 접근방법을 살펴보기로 하자.비디오, 임베디드 시스템 구현현재의 고성능 모바일 통신 기기들은 무선 광대역 데이터 모뎀, 비디오카메라, 넷 브라우저, 전화기능 등을 소형 패키지로 통합하고 있다. 이 기기들은 소형의 크기에 대략 100cc로 지속되는 열 발산수치가 3W 미만으로 유지되어야 하면서도 장시간 배터리 전력으로 제공되어야 하는 설계상의 제약을 안고 있다.현재 랩톱 PC 이상의 성능은 PC 에너지와 공간의 약 5~10% 가격으로 조만간 형성될 것이다. 대체로 에너지가 중요한 요소가 아니라면 컴퓨터 성능은 고속 프로세서에서 작동하는 소프트웨어로 달성할 수 있다.연산력 요구조건을 명백히 하는 표 1은 30frames/s에서 캡처된 연속적인 640×480픽셀(VGA) 이미지가 적용될 때, 현재의 보통 비디오 코딩 표준의 요구조건을 보여주며 타깃 비트 속도는 384kbit/s이다. 디코딩의 경우, 작동 수는 인코딩에 의해 요구되는 연산 수의 25~35%이다. ‘미래형 표준’은 과거의 표준에 기반해 1차원적으로 통계되고 있다.디바이스의 실제 컴퓨팅 부하는 데이터가 무선 링크를 통해 전송될 경우 더 높다. 표 2는 다양한 3GPP 수신기 베이스 밴드 신호 프로세싱 체인을 위한 최대 대역폭과 작동/비트 측정치를 보여준다. 이 값들은 터보-디코딩을 사용한 솔루션으로 결정되며 프로세싱 요구에 추가되는 칩 레벨 디코딩과 심벌 레벨 결합을 포함하지 않는다.HSDPA(High Speed Downlink Packet Access) 채널의 요구조건은 현재 구현 과제를 결정하는 반면, ‘미래의 3.9G’를 위한 수치들은 표시용이다. 384kbit/s 스트림은 베이스 밴드 솔루션에서 1~2GOPS를 요구하며, IP 스택에서 프로토콜 디코딩 스트림이 필요하다.미래형의 멀티미디어가 가능한 모바일 통신 기기 설계자들은 위의 표 1을 기반으로 수 십 개의 GOPS 연산력을 소형 패키지에 통합해야 한다. 예를 들어, 우리는 작동/픽셀의 수가 각 유형의 비디오 코덱을 사용하면 엄청나게 증가한다는 사실을 볼 수 있으며 가능한 모든 통신 대역폭이 애플리케이션을 찾는 것과 같다는 것을 알게 된다.기술 발달이론적으로 보자면 실리콘 기술의 향상은 에너지 효율성 문제를 해결할 것으로 보인다. 표 3은 1995~2010년 사이에 나타난 CMOS 공정의 대략적인 특징을 보여주는데 이를 통해 우리는 공정이 100배 이상 향상되었음을 알 수 있다.안타깝게도, 시스템 레벨에서 개발 활용에 대한 과거의 경험은 유망하지 않다. 예를 들어, GSM 휴대전화의 통화시간은 애플리케이션 자체가 본질적으로 변경되지 않았어도 대략 3시간으로 동일하게 유지된다. 기본 속도 음성 코덱은 베이스 밴드 신호 처리 부품에서 항상 완벽하게 실행되며, 연산 복잡성은 연산의 증가 및 프로그래밍 언어 변경으로 인해 최악의 경우 두 배가 된다.노키아는 자사 휴대전화 제품의 스펙에 ‘통화 시간’과 ‘대기 시간’을 제공한다. 이 스펙은 특정 규정에 따라 측정되며 표 4는 1995년에서 2003년 사이에 출시된 3가지 대용량 모델을 보여주고 있다. 분명하게도, 통화시간은 RF 전력 증폭기가 없고 오디오 시스템 에너지 효율성이 향상되지 않았을 때조차도 증가되었다. 모든 휴대전화 브랜드에서 이러한 사항이 동일하게 관찰된다.이 같이 동일한 결과에 대한 한 가지 설명은 소프트웨어의 변경된 특성이다. 대규모 개발 팀을 지원해야 할 필요성은 프로그래머로부터 자세한 내용을 감추는 멀티플 API(Application Programming Interfaces)와 미들웨어 레이어를 갖춘 소프트웨어 아키텍처의 결과를 가져온다. 이러한 솔루션은 운영체제 기능과 함께 오버헤드(overhead)를 증가시킨다.에너지 효율성의 요구는 모바일 멀티미디어 솔루션 개발자들에게 많은 부담을 주고 있다. 표 5는 비디오 스트리밍 모드 1에서 3G 휴대전화의 전력 소비 방전을 보여준다. 비디오 스트리밍 모드 1은 비디오를 포함해 애플리케이션 프로세싱용으로 약 800mW를 남긴다. 이 같은 비축은 90nm CMOS 기술에서 소프트웨어 기반형 디코딩을 사용하는 MPEG-4 VGA를 위해 충족될 수 있다고 해도 솔루션은 만족스럽지 않다.1000mAh/3.6V 배터리는 대략 1시간 동안 작동할 수 있게 하지만 영화 한 편을 끝까지 보려면 적어도 3시간 정도가 요구된다. 이것은 물리적 이유로 1000mW가 필요한 사용자 인터페이스를 제외하면 모든 시스템 부품의 전력 소비를 거의 제로로 만듦으로써 구현될 수 있다. 디스플레이는 1000mW의 절반만 소비한다.다음에서, 우리는 모바일 멀티미디어 성능을 구현시키기 위한 에너지 효율적인 방법들을 살펴보고자 한다. 전력 소비에서 ‘거의 제로’를 달성할 수 있는 모놀리식 비디오 가속에 대한 프로그래머블 프로세서 아키텍처의 효율성을 비교하는 일이 중요하며 운영체제와 소프트웨어 아키텍처가 끼치는 영향, 캐시 메모리가 실행 프로파일에 끼치는 영향 등도 빼놓을 수 없는 요소이다. 에너지 효율성에 모놀리식 하드웨어 가속으로 맞서는 대안을 살펴보기로 할 것이다.소프트웨어 및 파인 그레인드 하드웨어 가속초기에 출시된 디지털 휴대전화의 통화시간 에너지 효율성은 최근 기술로 구현되는 휴대전화와 비교해 매우 인상적이다(표 4 참조). CMOS 공정이 향상되었을 뿐만 아니라 지금은 여러 개의 집적회로를 요구하는 대부분의 기능들이 하나의 칩으로 통합되고 있다. 그러나 우리는 또한 미래형 모바일 멀티미디어 기기에서 재사용될 수 있는 아이디어가 무엇이든지 간에 고려해야 하는 ‘구식’ 솔루션도 살펴볼 필요가 있다.1995년도의 베이스 밴드와 음성 코덱은 거의 오버헤드 현상 없이 주기적으로 예정된 소프트웨어 아키텍처를 기반으로 구현되었으며 사용되는 프로세서의 성능도 제한적으로 명령되었다. 하드웨어 가속기는 상대적으로 짧은 레이턴시를 갖추고 있으며 실질적으로 제로 오버헤드 18로 인터럽트 없이 사용된다.소프트웨어 코드는 유용한 명령어가 수동으로 예정된 수동방식으로 써져 레이턴시를 고정시키는 액셀레이터로 동시에 실행된다. 비터비(Viterbi) 디코더 하드웨어는 스피치 인코딩의 부분으로 동시에 작동한다. 그러나 설계는 고생스러운 과정이며 하드웨어의 상세한 지식을 필요로 한다. DSP 소프트웨어가 더욱 더 복잡해지고 수많은 개발자들이 더 많아지자 이 방법은 스케줄링을 위한 운영 체제와 동기화를 위한 인터럽트 사용으로 대체되었다.그림 1은 파인 그레인(fine grain) 가속형 비디오 디코딩에 적용된 원리를 보여준다. 액셀레이터는(디스플레이를 위한 컬러 변환, IQ(inverse quantizer), 바이리니어 인터폴레이터) 결정적인 레이턴시를 가지며, 소프트웨어는 이용가능 할 때 그 결과를 사용하도록 설계된다. 이에 대한 예는 인터-매크로-블록 디코딩의 스레드(thread)를 보여준다. 여기서 스레드는 소프트웨어와 하드웨어 실행 사이에서 인터럽트 기반의 동기화 오버헤드 없이 변경시킨다.실제로 비디오 디코딩의 제어 흐름은 데이터에 의존되며 스레드의 스케줄링과 하드웨어 리소스의 배치는 시퀀스와 매크로-블록 계층의 콘텐츠에 기반해 이루어진다. 예를 들어, 이것은 스케줄링에 적합한 리소스를 알고 있는 JIT(Just-In-Time) 컴파일러를 사용해서 구현될 수 있다. 모놀리식 하드웨어 액셀레이터의 FSM(finite state machine) 제어는 이용 가능한 병렬 기능 블록에 유사한 방법으로 작동한다.표준 동기화 접근방식과 비교되면서 작동하는 소프트웨어/하드웨어 멀티스레딩 접근방식은 수많은 인터럽트를 감소시키고 코드 위치를 향상시켜 그 결과 더욱 우수한 프로세서 활용을 가능하게 한다. 가장 중요한 것은 파인 그레인드 엑셀레이터 사용과 관련된 오버헤드를 감소시키는 것이다.정리비디오 및 기타 멀티미디어는 현재의 고성능 PC의 성능을 초월하는 연산 속도를 필요로 함에도 불구하고 가까운 미래에 모바일 통신 기기의 표준 기능이 될 것으로 예상된다. 그러나 필수적인 에너지 효율성은 처리력보다 훨씬 더 까다로운 목적으로 제시된다. 따라서 예상되는 기술 동향과 명백한 소비자 기대 수준 간의 큰 차이를 줄이기 위해 새로운 혁신이 필요하다.컴퓨터와 소프트웨어 패러다임은 유연하면서 전력이 필요한 솔루션이나 유연하지 않은 전력 효율적 솔루션을 실현시키기 위해 등장했다. 소프트웨어가 유연해도 명령 패치(fetch)와 디코딩의 오버헤드 현상이 일어나면 에너지 및 실리콘 크기의 관점에서 비효율적으로 될 수 있다.모놀리식 액셀레이터는 에너지 효율면에서 바람직하지만 매우 고정적인 설계 방식을 초래하며 실리콘 사용의 낭비를 가져올 수 있다. 중간 접근방식인 미세한 하드웨어 가속은 인터럽트 및 캐시와 관련된 레이턴시 때문에 가장 높은 시스템 오버헤드의 결과를 초래하기도 한다. 기능적인 선택을 위해서 임베디드 소프트웨어 패러다임을 변경할 수도 있다.핵심적인 문제는 소프트웨어-하드웨어 인터페이스 효율성인데 누수 전류의 증가가 실리콘을 재사용할 수 있게 하므로 파인 그레인드 가속이 매우 흥미로워 진다. 초기 및 현재의 디지털 휴대전화는 오늘날의 플랫폼보다 훨씬 더 에너지 효율성을 구현하므로 미래의 기술 진전에 대한 과제를 남겨주는 셈이다.비디오 코딩 표준의 복잡도 및 데이터 의존성이 과거처럼 점점 증가한다면 소프트웨어가 사용하는 코딩에서 대부분의 에너지를 볼 수 있을 것으로 예상된다. 반면 대부분의 작동은 액셀레이터에 의해 수행된다. 모놀리식 H.264 디코더의 개발 버전의 제어 소프트웨어는 액셀레이터 하드웨어에 의해 훨씬 더 많은 전력을 소비하고 있는 것이다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지