KR100923164B1 - 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합시뮬레이션 방법 - Google Patents

소프트웨어 및 하드웨어로 구현된 영상코덱의 통합시뮬레이션 방법 Download PDF

Info

Publication number
KR100923164B1
KR100923164B1 KR1020070113572A KR20070113572A KR100923164B1 KR 100923164 B1 KR100923164 B1 KR 100923164B1 KR 1020070113572 A KR1020070113572 A KR 1020070113572A KR 20070113572 A KR20070113572 A KR 20070113572A KR 100923164 B1 KR100923164 B1 KR 100923164B1
Authority
KR
South Korea
Prior art keywords
hardware
software
simulation
codec
node
Prior art date
Application number
KR1020070113572A
Other languages
English (en)
Other versions
KR20080042020A (ko
Inventor
김상필
조한진
김익균
신경선
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20080042020A publication Critical patent/KR20080042020A/ko
Application granted granted Critical
Publication of KR100923164B1 publication Critical patent/KR100923164B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Abstract

본 발명은 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법에 관한 것으로, 소프트웨어 코덱을 기반으로 하드웨어 코덱의 개발시에, 다양한 입력 영상에 대한 코덱 파라미터를 변경하면서 소프트웨어 코덱 및 하드웨어 코덱을 다양하게 조합하여 흐름도에 정의된 정형화된 방식에 따라 시뮬레이션하고 그 결과를 검증할 수 있는, 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법을 제공하고자 한다.
이를 위하여, 본 발명은 시뮬레이션 방법에 있어서, 시뮬레이션을 위한 전체작업을 흐름도의 수행순서에 따라 배치되는 단위작업으로 구분하고, 각 단위작업을 작업 간의 연결성을 가지고 수행되는 연결노드, 연결성을 갖지 않고 독립적으로 수행되는 독립노드, 하위 계층구조로 안내하는 하위노드로 정의하는 단계; 상기 하위노드를 상기 흐름도에 연계된 여러 단계의 계층구조를 갖는 하위 흐름도로 표현하고, 상기 하위 흐름도에 사용된 각 단위작업을 연결성, 독립성 및 계층성에 따라 다시 연결노드, 독립노드 및 하위노드로 정의하는 단계; 및 상기 정의된 노드들에 의해 형성된 작업 흐름을 따라 시뮬레이션을 수행하는 단계를 포함한다.
소프트웨어 코덱, 하드웨어 코덱, 통합 시뮬레이션, 연결작업, 독립작업, 하위흐름도

Description

소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법{Method for the integration simulation of video codec realized software and hardware}
본 발명은 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법에 관한 것으로, 더욱 상세하게는 소프트웨어 코덱을 기반으로 하드웨어 코덱의 개발시에, 다양한 입력 영상에 대한 코덱 파라미터를 변경하면서 소프트웨어 코덱 및 하드웨어 코덱을 다양하게 조합하여 흐름도에 정의된 정형화된 방식에 따라 시뮬레이션하고 그 결과를 검증할 수 있는, 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT전략기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2005-S-078-02, 과제명 : 저전력 그래픽처리 SoC Platform].
동영상 데이터는 용량이 매우 크기 때문에 그대로 사용되지 않고, 대부분 암호화(인코딩)를 통해 압축된 후에 저장 및 전송되고, 영상을 보는 시점에 복호화 (디코딩)를 통해 복원된 후 화면에서 재생된다. 이때, 동영상 데이터는 암호화 알고리즘에 따라 다르지만, 암호화를 통한 약간의 화질저하로 100배 정도 압축될 수 있다. 일반적으로, 동영상 데이터는 영상코덱(인코더 및 디코더)에 의해 압축 및 복원된다.
이하, 종래의 영상코덱이 개발되는 과정을 설명한다.
도 1은 종래의 영상코덱 개발과정에 대한 일실시예 흐름도이다.
먼저, 종래의 영상코덱 개발과정에서는 코덱 알고리즘이 개발되면(S10), 코덱 알고리즘을 이용하여 소프트웨어 코덱이 설계된다(S11). 이후, 영상코덱 개발과정에서는 설계된 소프트웨어 코덱에 테스트용 영상스트림을 입력하여 시뮬레이션하고 그 결과를 검증한다(S12, S13).
상기와 같이 소프트웨어 코덱에 대한 검증과정이 끝나면, 영상코덱 개발과정에서는 소프트웨어 코덱을 기반으로 하드웨어 코덱이 다시 설계된다(S14). 상기와 같이 하드웨어 코덱으로 다시 구현되는 이유는 소프트웨어 코덱이 높은 사양의 프로세서(CPU) 성능 및 하드웨어 자원을 요구하기 때문에 휴대용 모바일 제품에서 적용되기 어려운 반면, 하드웨어 코덱이 낮은 사양의 하드웨어 자원 및 낮은 전력소모로 인해 대부분의 휴대용 모바일 제품에서 적용될 수 있기 때문이다.
이후, 영상코덱 개발과정에서는 설계된 하드웨어 코덱에 테스트용 영상스트림을 입력하여 시뮬레이션하고 그 결과를 검증한다(S13, S15).
하드웨어 코덱이 구현되면, 영상코덱 개발과정에서는 소프트웨어 코덱(즉, 소프트웨어 인코더/소프트웨어 디코더)을 하드웨어 코덱(즉, 하드웨어 인코더/하드 웨어 디코더)과 다양한 조합으로 시뮬레이션하고 그 결과로 나온 영상의 화질을 서로 비교 분석하는 과정을 통해 디버깅한다(S16).
상기와 같은 종래의 영상코덱 개발과정은 수십 개의 테스트용 영상스트림과 다양한 코덱 파라미터를 조합하여 이루어지는 일련의 시뮬레이션 과정들이 개별적으로 이루어진다. 이로 인해, 영상코덱 개발자는 수많은 조합에 의한 반복 작업을 개별 수작업으로 수행해야 하기 때문에, 개발 시간이 많이 소요되고 실수로 인해 잘못된 결과를 얻는 경우가 종종 있었다.
따라서, 종래의 영상코덱 개발과정은 자동화되고 정형화된 시뮬레이션이 통합적으로 수행되고 그 결과를 검증하는 시뮬레이션 환경이 구축될 필요성이 부각되고 있다.
따라서 상기와 같은 종래 기술은 영상코덱 개발시 일련의 과정들이 개별적으로 이루어져 영상코덱의 수많은 조합에 의해 반복작업을 수행해야 하고, 개발시간이 많이 소요되거나 잘못된 결과를 얻게 되는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 소프트웨어 코덱을 기반으로 하드웨어 코덱의 개발시에, 다양한 입력 영상에 대한 코덱 파라미터를 변경하면서 소프트웨어 코덱 및 하드웨어 코덱을 다양하게 조합하여 흐름도에 정의된 정형화된 방식에 따라 시뮬레이션하 고 그 결과를 검증할 수 있는, 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 방법은, 시뮬레이션 방법에 있어서, 시뮬레이션을 위한 전체작업을 흐름도의 수행순서에 따라 배치되는 단위작업으로 구분하고, 각 단위작업을 작업 간의 연결성을 가지고 수행되는 연결노드, 연결성을 갖지 않고 독립적으로 수행되는 독립노드, 하위 계층구조로 안내하는 하위노드로 정의하는 단계; 상기 하위노드를 상기 흐름도에 연계된 여러 단계의 계층구조를 갖는 하위 흐름도로 표현하고, 상기 하위 흐름도에 사용된 각 단위작업을 연결성, 독립성 및 계층성에 따라 다시 연결노드, 독립노드 및 하위노드로 정의하는 단계; 및 상기 정의된 노드들에 의해 형성된 작업 흐름을 따라 시뮬레이션을 수행하는 단계를 포함한다.
상기와 같은 본 발명은 영상코덱 개발과정이 자동화되고 정형화된 시뮬레이션을 통합적으로 수행하고 그 결과를 검증하는 시뮬레이션 환경을 구축할 수 있는 효과가 있다.
또한, 본 발명은 하드웨어와 소프트웨어를 통합적으로 시뮬레이션하고 그 결과를 PSNR으로 분석하거나 실시간으로 동영상 화면으로 검증함으로써, 시뮬레이션 진행 과정을 실시간으로 모니터할 수 있는 효과가 있다.
또한, 본 발명은 모든 시뮬레이션 환경이 스크립트 기반의 흐름도로 구성됨으로써, 사용자가 환경 구성에 직접 참여하여 다양한 멀티미디어 시뮬레이션 환경구축이 가능하고 검증시간을 줄여 개발 주기를 단축시킬 수 있는 효과가 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
도 2는 본 발명이 적용되는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통 합 시뮬레이션 검증 시스템에 대한 일실시예 구성도이다.
도 2에 도시된 바와 같이, 본 발명이 적용되는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 검증 시스템(이하 "통합 시뮬레이션 검증 시스템"이라 함)은, 다양한 영상스트림(즉, 원영상)을 입력으로 인코더 파라미터(202)와 디코더 파라미터(206)를 변경[일례로, 영상스트림의 화면처리 기본단위인 비디오 객체 평면(Video Object Plane: VOP)의 크기 변경]하면서 시뮬레이션을 수행한다. 즉, 통합 시뮬레이션 검증 시스템은 원영상(200)을 소프트웨어 인코더(201) 또는 하드웨어 인코더(203)를 통해 암호화하여 압축영상(204)으로 만든 후, 압축영상(204)을 소프트웨어 디코더(205) 또는 하드웨어 디코더(207)를 통해 복호화하여 복원영상(208)으로 만든다.
이와 같은 일련의 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 검증과정은, 통합 시뮬레이션 검증 시스템에 구비된 '통합 시뮬레이션 검증툴(209)'에 의해 수행된다.
통합 시뮬레이션 검증툴(209)은 수십 개의 테스트용 영상스트림인 원영상(200)과 다양한 코덱 파라미터(202, 206)에 따라 수행되는 소프트웨어/하드웨어 통합 시뮬레이션을 정형화된 방식으로 안내하고 자동화하는 역할을 수행하는 시스템 소프트웨어이다.
통합 시뮬레이션 검증툴(209)은 전체 통합 시뮬레이션 과정뿐만 아니라 개별 인코더(201, 203) 또는 디코더(205, 207)의 수행을 세밀하게 제어한다. 즉, 통합 시뮬레이션 검증툴(209)은 '통합 시뮬레이션과 관련해서 수행해야 하는 작업을 수 행순서에 따라 단계적으로 계층적으로 나타낸 흐름도'(이하 "통합 시뮬레이션 흐름도"라 함)에 따라 해당 작업을 수행한다.
즉, 통합 시뮬레이션 검증툴(209)은 통합 시뮬레이션 흐름도에서 연결성을 갖는 작업을 단계적으로 수행한다.
또한, 통합 시뮬레이션 검증툴(209)은 통합 시뮬레이션 흐름도에서 하드웨어 인코더(203)와 하드웨어 디코더(207)의 시뮬레이션 수행시, 계층을 하나 더 추가하여 세밀한 시뮬레이션을 수행한다. 이는 일반적으로 하드웨어 인코더(203)와 하드웨어 디코더(207)가 디버깅에 있어서, 소프트웨어로 구현된 경우보다 세밀한 제어가 필요하기 때문이다.
또한, 통합 시뮬레이션 검증툴(209)은 통합 시뮬레이션 흐름도에서 연결성을 갖지 않는 작업을 사용자의 필요시에 수행한다. 일례로, 통합 시뮬레이션 검증툴(209)은 시뮬레이션 결과를 수치적 화질 측정 방법인 신호대잡음 피크치(PSNR: Peak Signal-to-Noise Ratio)으로 분석하여 그 결과를 사용자에게 제공하거나, 실시간 모니터링할 수 있는 동영상 화면을 사용자에게 제공한다.
이와 같이, 통합 시뮬레이션 검증툴(209)에서 통합 시뮬레이션 과정이 통합 시뮬레이션 흐름도에 따라 정의되면, 사용자는 가장 효율적이고 일관된 방법으로 시뮬레이션의 전 작업과정을 체계적으로 따라가면서 영상코덱을 설계할 수 있게 된다.
도 3은 상기 도 2의 통합 시뮬레이션 검증과정에 대한 일실시예 개념도이다.
도 3에 도시된 바와 같이, 상기 도 2의 본 발명의 통합 시뮬레이션 검증툴(209)은, 코덱 파라미터(즉, 인코더 파라미터와 디코더 파라미터)와 함께 소프트웨어 코덱(즉, 소프트웨어 인코더와 소프트웨어 디코더)과 하드웨어 코덱(하드웨어 인코더와 하드웨어 디코더)을 각각 조합하여 통합적으로 시뮬레이션한다.
즉, 통합 시뮬레이션 검증툴(209)은 원영상(30)과 인코더 파라미터(306)를 인코더(즉, 소프트웨어 인코더 또는 하드웨어 인코더)(302)로 입력하여 압축영상(303)을 생성한다. 이후, 통합 시뮬레이션 검증툴(209)은 압축영상(303)과 디코더 파라미터(307)를 디코더(즉, 소프트웨어 디코더 또는 하드웨어 디코더)(304)로 입력하여 복원영상(305)을 생성한다.
구체적으로, 통합 시뮬레이션 검증툴(209)은 "인코더-디코더"를 쌍으로 시뮬레이션하는데 즉, 소프트웨어 인코더-소프트웨어 디코더(311), 소프트웨어 인코더-하드웨어 디코더(312), 하드웨어 인코더-소프트웨어 디코더(313), 하드웨어 인코더-하드웨어 디코더(314)와 같이 시뮬레이션을 수행한다.
이후, 통합 시뮬레이션 검증툴(209)은 시뮬레이션 결과로 나온 복원영상(305)을 수치적 화질 측정을 위한 PSNR(Peak Signal-to-Noise Ratio)를 이용해 분석하고, 그 결과를 사용자에게 제공한다. 이는 하드웨어 코덱(즉, 인코더 및 디코더)이 소프트웨어를 기반으로 구현됨에 따라 일어나는 화질저하의 정도 및 화질저하의 원인을 확인하기 위함이다.
이에 따라, 사용자는 화질저하가 어느 정도 일어나는지와 화질저하가 일어나는 원인이 무엇인지를 확인함에 따라, 해당 인코더 또는 디코더를 수정하여 영상코 덱을 개발할 수 있다.
도 4는 본 발명에 따른 통합 시뮬레이션 흐름도에 대한 일실시예 예시도이다.
도 4에 도시된 바와 같이. 본 발명의 통합 시뮬레이션 검증툴(209)은 통합 시뮬레이션의 전 과정을 여러 단계의 계층구조를 갖는 '통합 시뮬레이션 흐름도'에 따라 시뮬레이션을 수행한다. 여기서, 통합 시뮬레이션 흐름도는 스크립트(script) 형식을 이용하여 나타낸다(후술할 도 6 참조).
구체적으로, 통합 시뮬레이션 흐름도에서는 시뮬레이션의 모든 작업이 연결작업(401), 하위흐름도(402), 독립작업(403)으로 구성된다.
부가적으로, 통합 시뮬레이션 흐름도에서는 사용자의 이해를 돕기 위한 텍스트, 선, 이미지와 같은 그래픽 사용자 인터페이스(GUI)가 제공된다(도 4에 미도시). 즉, 사용자는 그래픽 사용자 인터페이스를 통해 원영상 또는 코덱 파라미터를 선택할 수 있으며, 통합 시뮬레이션 흐름도에 따른 시뮬레이션을 수행시켜 통합 시뮬레이션의 결과를 확인할 수 있다.
본 발명에서는 '시뮬레이션을 위한 전체작업을 통합 시뮬레이션 흐름도의 수행순서에 따라 배치되고, 소정의 일이 수행되도록 정의된 단위작업'을 "노드(node)"라 한다. 즉, 통합 시뮬레이션 검증툴(209)은 통합 시뮬레이션 흐름도의 노드에 정의된 작업에 따라 통합 시뮬레이션을 수행한다. 즉, 실제 작업은 모두 노드 단위로 이루어지고, 통합 시뮬레이션 흐름도는 노드의 순서를 안내한다.
부언하면, 노드는 네트워크를 형성하는 일반적인 노드에 대한 정의와 같이 통합 시뮬레이션 흐름도의 수행순서에 따라 배치됨으로써, 통합 시뮬레이션 검증툴(209)이 시뮬레이션을 수행하기 위한 경로를 형성하는 역할을 수행하게 된다.
노드는 기 정의된 작업에 따라 몇 가지 타입으로 구분되며, 각각 구별되는 모양을 갖는다. 즉, 본 발명의 노드는 앞서 언급한 연결작업(401), 하위흐름도(402) 및 독립작업(403)과 같이 기 정의된 작업에 따라 구별된다.
구체적으로, 연결작업(401)은 통합 시뮬레이션 흐름도상에서 작업 간의 연결성을 가지고 수행되는 노드로서, '연결노드'로 정의될 수 있다. 이때, 연결작업(401) 사이에는 연결성이 존재해서 이전 연결작업이 성공적으로 수행완료되어야만 다음 연결작업이 수행될 수 있는 조건이 된다. 즉, 연결작업 A와 연결작업 B가 연결성이 있으면, 연결작업 B는 연결작업 A가 성공적으로 완료되어야만 수행될 수 있다.
하위흐름도(402)는 단일작업이 아니라 시뮬레이션 과정에 연계된 여러 작업의 그룹을 단순하게 하나의 노드로 표현해서 흐름도를 단순화시켜, 통합 시뮬레이션 흐름도에서 하위 계층구조를 안내하기 위한 노드로서, '하위노드'로 정의될 수 있다.
독립작업(403)은 통합 시뮬레이션 흐름도에서 연결성을 갖지 않고, 사용자의 필요시 독립적으로 수행되는 노드로서, '독립노드'로 정의될 수 있다.
이하, 도 4를 참조하여 통합 시뮬레이션 흐름도를 설명한다.
연결작업 "1 작업"(411)이 성공적으로 수행되면 다음 작업인 하위흐름도 "2 흐름도"(421)가 수행된다. 이때, 하위흐름도 "2 흐름도"(421)는 단일 작업이 아니라 하위 계층을 갖는 흐름도를 나타내기 때문에, "계층 1"에 있는 연결작업 "2-1 작업"(422)이 수행된다.
이후, 순차적으로 연결작업 "2-1 작업"(422)과 연결작업 "2-2 작업"(423)이 수행된 후 하위흐름도 "2-3 흐름도"(431)이 수행된다. 이때, 하위흐름도 "2-3 흐름도"(431)는 단일 작업이 아니라 하위 계층을 갖는 흐름도를 나타내기 때문에, "계층 2"에 있는 연결작업 "2-3-1 작업"(432)이 수행된다.
이후, 순차적으로 연결작업 "2-3-1 작업"(432)과 연결작업 "2-3-2 작업"(433)가 수행되면, 처음 계층인 "계층 0"으로 돌아와서 연결작업 "3 작업"(413)부터 연결작업 "N 작업"(414)까지 수행되어야 시뮬레이션 한 과정을 완료하게 된다.
또한, "계층 0"에 있는 독립작업 "0 작업"(412), "계층 1"에 있는 독립작업 "2-0 작업"(424) 및 독립작업 "2-1 작업"(425) 등은 필요하면 어느 때라도 독립적으로 수행된다.
여기서, 통합 시뮬레이션 검증툴(209)은 상기 도 4에 도시된 통합 시뮬레이션 흐름도에 따라, 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션을 검증한다. 이에, 본 발명에 따른 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 검증방법은, 당업자라면 상기 도 4를 통해 쉽게 이해할 수 있을 것이다. 즉, 통합 시뮬레이션 검증툴(209)은 시뮬레이션을 위한 전체 작업을 노드별 단위 작업으로 구분하고, 연결작업(401), 하위흐름도(402), 독립작업(403)을 정 의한다. 이때, 통합 시뮬레이션 검증툴(209)은 하위흐름도(402)를 여러 단계의 계층 구조를 갖도록 표현하고, 하위흐름도(402)에 사용되는 작업 단위 간의 계층성 및 연결성, 그리고 독립성에 따라 각 작업을 다시 연결작업(401), 하위흐름도(402), 독립작업(403)으로 분류한다.
이후, 통합 시뮬레이션 검증툴(209)는 연결작업(401), 하위흐름도(402), 독립작업(403) 즉, 통합 시뮬레이션 흐름도를 통해 시뮬레이션을 수행하고 검증한다.
도 5는 본 발명에 따른 통합 시뮬레이션 흐름도에서 노드의 상태변화에 대한 일실시예 개념도이다.
도 5에 도시된 바와 같이, 본 발명에 따른 통합 시뮬레이션 흐름도에서 노드는, 기 정의된 작업 수행과 관련해서 상태값이 변한다. 즉, 노드는 하기 [표 1]과 같이 상태값이 변한다.
상태(state) 내용
XI 리셋(재동기)이 진행중인 상태
NR 수행할 준비가 안된 상태
R 수행할 수 있는 상태
IP 작업이 수행되고 있는 상태
CS 수행이 성공적으로 완료된 상태
CF 수행이 실패한 상태
노드는 처음 시작될 때 또는 인위적으로 리셋(재동기)될 때, '리셋이 진행중인 상태[XI(501)]'로 변하였다가 바로 '수행할 준비가 안된 상태[NR(502)]'로 변해 대기하게 된다.
이후, 노드는 통합 시뮬레이션 흐름도 상에서 시작위치에 있으면, '수행할 준비가 안된 상태[NR(502)]'에서 자동으로 '수행할 수 있는 상태[R(503)]'로 변하게 된다. 하지만, 통합 시뮬레이션 흐름도의 연결선상에 있는 노드들은 자기 앞에 있는 노드가 성공적으로 완료되었을 때에만 '수행할 수 있는 상태[R(503)]'로 변하게 된다.
한편, 노드는 해당 작업이 수행되면, '작업이 수행되고 있는 상태[IP(504)]'로 변해 있다가, 작업이 완료되면 그 결과에 따라 변한다. 즉, 노드는 작업수행 결과가 성공이면 '수행이 성공적으로 완료된 상태[CS(505)]'로 변하고, 작업수행 결과가 실패이면 '수행이 실패한 상태[CF(506)]'로 변하게 된다. 이때, 노드가 작업수행 결과로 '수행이 성공적으로 완료된 상태[CS(505)]'로 변한 경우에만, 그 다음에 연결된 노드의 상태가 '수행할 준비가 안된 상태[NR(502)]'에서 '수행할 수 있는 상태[R(503)]'로 변할 수 있다.
상기와 같이, 통합 시뮬레이션 흐름도는 노드의 상태변화를 통해 전체 작업의 흐름을 제어 및 자동화할 수 있고, 이전 작업결과가 다음 작업의 입력으로 사용되도록 연결된 일련의 작업과정을 통해 잘못된 수행을 원천적으로 방지할 수 있도록 한다.
도 6은 본 발명에 따른 통합 시뮬레이션 흐름도를 나타내기 위한 스크립트에 대한 일실시예 개념도이다.
도 6에 도시된 바와 같이, 통합 시뮬레이션 흐름도는 스크립트 형식을 이용하여 나타낸다. 이는 통합 시뮬레이션 검증툴(209)이 스크립트 내용에 따라 시뮬레이션을 진행하는 것을 의미한다.
스크립트(600)에는 다수의 단위블록의 집합으로 구성되는데, 단위블록에는 제1 블록에 노드(601), 제2 블록 및 제4 블록에 라인(602, 604), 제3 블록에 이미지(603), 제5 블록에 텍스트(605) 등이 포함된다.
전술한 바와 같이, 노드(601)는 어떤 일을 수행하는 단위작업이므로 작업을 정의하여 수행할 수 있으며, 다수의 작업그룹을 순서대로 수행하는 일들이 이루어진다. 또한, 라인(602, 604), 이미지(603), 텍스트(605) 등의 그래픽들은 사용자에게 시뮬레이션 수행과정을 보다 구체적으로 안내하기 위한 시각적 정보를 제공한다.
도 7은 본 발명이 적용된 통합 시뮬레이션 검증환경에 대한 일실시예 예시도이다.
도 7에 도시된 바와 같이, 노드들은 사용자의 이해를 돕기 위해서 그래픽 이미지를 사용한다. 즉, 원영상 파일(801), 하드웨어 인코더(802), 소프트웨어 인코더(803), 코덱 파라미터(804), 소프트웨어 디코더(805), 하드웨어 디코더(806), 복원영상 파일(807)은 각각 연결작업을 나타내고 있다. 또한, 원영상(808)와 복원영상(809), PSNR(810)은 각각 독립작업을 나타내고 있다. 즉, 사용자는 필요시에 인코더의 입력으로 사용되는 원영상(808)과, 인코더를 통해 압축된 후 다시 디코더를 통해 복원된 복원영상(809)을 실시간으로 모니터링할 수 있다. 또한, 사용자는 통합 시뮬레이션 결과로 나온 복원영상을 수치적 화질 측정 방식인 PSNR(810)에 따라 분석할 수 있다. 여기서는 설명의 편의상 하위흐름도가 나타나 있지 않다.
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1은 종래의 영상코덱 개발과정에 대한 일실시예 흐름도,
도 2는 본 발명이 적용되는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 검증 시스템에 대한 일실시예 구성도,
도 3은 상기 도 2의 통합 시뮬레이션 검증과정에 대한 일실시예 개념도,
도 4는 본 발명에 따른 통합 시뮬레이션 흐름도에 대한 일실시예 예시도,
도 5는 본 발명에 따른 통합 시뮬레이션 흐름도에서 노드의 상태변화에 대한 일실시예 개념도,
도 6은 본 발명에 따른 통합 시뮬레이션 흐름도를 나타내기 위한 스크립트에 대한 일실시예 개념도,
도 7은 본 발명이 적용된 통합 시뮬레이션 검증환경에 대한 일실시예 예시도.
* 도면의 주요 부분에 대한 부호 설명
200; 원영상 201; 소프트웨어 인코더
202; 인코더 파라미터 203; 하드웨어 인코더
204; 압축영상 205; 소프트웨어 디코더
206; 디코더 파라미터 207; 하드웨어 디코더
208; 복원영상 209; 통합 시뮬레이션 검증툴

Claims (7)

  1. 시뮬레이션 방법에 있어서,
    시뮬레이션을 위한 전체작업을 흐름도의 수행순서에 따라 배치되는 단위작업으로 구분하고, 각 단위작업을 작업 간의 연결성을 가지고 수행되는 연결노드, 연결성을 갖지 않고 독립적으로 수행되는 독립노드, 하위 계층구조로 안내하는 하위노드로 정의하는 단계;
    상기 하위노드를 상기 흐름도에 연계된 여러 단계의 계층구조를 갖는 하위 흐름도로 표현하고, 상기 하위 흐름도에 사용된 각 단위작업을 연결성, 독립성 및 계층성에 따라 다시 연결노드, 독립노드 및 하위노드로 정의하는 단계; 및
    상기 정의된 노드들에 의해 형성된 작업 흐름을 따라 시뮬레이션을 수행하는 단계
    를 포함하는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법.
  2. 제1 항에 있어서,
    상기 모든 하위노드들은,
    여러 작업 그룹을 단순하게 하나의 노드로 표현해서 상기 각 흐름도들을 각각 단순화하고 계층구조를 갖도록 하기 위한 노드인 것을 특징으로 하는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법.
  3. 제1 항에 있어서,
    상기 모든 연결노드들에서는,
    작업 수행과 관련하여 상태값이 실시간으로 변경되는 것을 특징으로 하는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법.
  4. 제1 항에 있어서,
    상기 시뮬레이션은,
    소프트웨어 영상 코덱 및 이를 바탕으로 개발된 하드웨어 영상 코덱의 혼합 시뮬레이션인 것을 특징으로 하는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법.
  5. 제4 항에 있어서,
    상기 혼합 시뮬레이션은,
    입력 원영상과 인코더 파라미터 및 디코더 파라미터에 대해서 소프트웨어 인코더-소프트웨어 디코더, 소프트웨어 인코더-하드웨어 디코더, 하드웨어 인코더-소 프트웨어 디코더, 하드웨어 인코더-하드웨어 디코더 쌍으로 시뮬레이션하는 것을 특징으로 하는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법.
  6. 제1 항에 있어서,
    상기 모든 독립노드들은,
    시뮬레이션 결과로 나온 복원영상을 실시간으로 보여주는 검증작업이 가능한 것을 특징으로 하는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법.
  7. 제6 항에 있어서,
    상기 모든 독립노드들은,
    시뮬레이션 결과로 나온 복원영상을 신호대잡음 피크치(PSNR)를 이용해 분석하여 화질 저하 정도 및 원인을 규명하고, 해당 인코더나 디코더를 수정할 수 하는 검증작업이 가능한 것을 특징으로 하는 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합 시뮬레이션 방법.
KR1020070113572A 2006-11-08 2007-11-08 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합시뮬레이션 방법 KR100923164B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060110114 2006-11-08
KR20060110114 2006-11-08

Publications (2)

Publication Number Publication Date
KR20080042020A KR20080042020A (ko) 2008-05-14
KR100923164B1 true KR100923164B1 (ko) 2009-10-23

Family

ID=39648920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070113572A KR100923164B1 (ko) 2006-11-08 2007-11-08 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합시뮬레이션 방법

Country Status (1)

Country Link
KR (1) KR100923164B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948097B1 (ko) * 2008-01-16 2010-03-16 건국대학교 산학협력단 하드웨어/소프트웨어 통합 설계 기반의 비디오 코덱을 위한프리미티브 인스트럭션 디자인 방법
KR101341025B1 (ko) * 2010-08-11 2013-12-13 엘지디스플레이 주식회사 영상 표시장치의 화질 개선 시뮬레이션 방법과 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006251915A (ja) 2005-03-08 2006-09-21 Fujitsu Ltd コーデックソフトウェア試験装置及びコーデックソフトウェア試験方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006251915A (ja) 2005-03-08 2006-09-21 Fujitsu Ltd コーデックソフトウェア試験装置及びコーデックソフトウェア試験方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SOC Verification in Platform-Based Design(2003.06), SITI Review 제2권 1호
SOC를 위한 하드웨어 기반의 검증(2003.06), SITI Review 제2권 1호

Also Published As

Publication number Publication date
KR20080042020A (ko) 2008-05-14

Similar Documents

Publication Publication Date Title
US9754059B2 (en) Graphical design verification environment generator
Baker et al. Model-driven engineering in a large industrial context—Motorola case study
Ball et al. SLAM and Static Driver Verifier: Technology transfer of formal methods inside Microsoft
Alegroth et al. JAutomate: A tool for system-and acceptance-test automation
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
US9489277B2 (en) Application component testing
US8560893B1 (en) Systems and methods for automatically generating executable system level-tests from a partially specified scenario
Rahmandad et al. Modeling the rework cycle: capturing multiple defects per task
CN109857663B (zh) 关键字驱动与图像相似度结合的自动化测试平台
US9690681B1 (en) Method and system for automatically generating executable system-level tests
Nidagundi et al. New method for mobile application testing using lean canvas to improving the test strategy
CN112015405B (zh) 界面布局文件的生成方法、界面生成方法、装置及设备
KR100923164B1 (ko) 소프트웨어 및 하드웨어로 구현된 영상코덱의 통합시뮬레이션 방법
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
McCaffrey The verification of a distributed system
CN101183400B (zh) 图形硬件设计中调试与验证的方法与系统
KR102024275B1 (ko) 스크립트를 활용한 시험 프로그램 개발 시스템 및 그 방법
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
CN113791781B (zh) 一种基于图神经网络的界面功能场景划分方法和装置
US20210325432A1 (en) Hardware trigger generation from a declarative protocol description
CN112765018B (zh) 一种仪器仪表调试系统及方法
CN115858337A (zh) 测试方法、测试装置、计算机可读存储介质以及电子设备
CN115176233B (zh) 以确定性顺序执行测试
CN114610649A (zh) 一种指令跟踪测试方法、系统、设备以及介质
Lücke-Tieke et al. Lowering the barrier for successful replication and evaluation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120919

Year of fee payment: 19