KR101574603B1 - 컨디셔널 프로세싱 방법 및 장치 - Google Patents

컨디셔널 프로세싱 방법 및 장치 Download PDF

Info

Publication number
KR101574603B1
KR101574603B1 KR1020080107630A KR20080107630A KR101574603B1 KR 101574603 B1 KR101574603 B1 KR 101574603B1 KR 1020080107630 A KR1020080107630 A KR 1020080107630A KR 20080107630 A KR20080107630 A KR 20080107630A KR 101574603 B1 KR101574603 B1 KR 101574603B1
Authority
KR
South Korea
Prior art keywords
node
parsing switch
true
switch node
configuration memory
Prior art date
Application number
KR1020080107630A
Other languages
English (en)
Other versions
KR20100048460A (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
Priority to KR1020080107630A priority Critical patent/KR101574603B1/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to JP2011534398A priority patent/JP5536790B2/ja
Priority to CN200980143188.2A priority patent/CN102203734B/zh
Priority to AU2009310547A priority patent/AU2009310547B2/en
Priority to CA2741082A priority patent/CA2741082C/en
Priority to PCT/KR2009/006363 priority patent/WO2010050786A2/en
Priority to EP09823866.0A priority patent/EP2344951B1/en
Priority to US12/610,817 priority patent/US9058181B2/en
Publication of KR20100048460A publication Critical patent/KR20100048460A/ko
Priority to US14/739,848 priority patent/US9298601B2/en
Application granted granted Critical
Publication of KR101574603B1 publication Critical patent/KR101574603B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/251Local memory within processor subsystem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)
  • Machine Translation (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 컨디셔널 프로세싱 방법 및 장치에 관한 것으로, 이러한 본 발명은, 컨디셔널 프로세싱 정보를 가지는 파싱스위치 노드를 포함하는 선언적 기술 언어 기반의 데이터를 생성하는 과정과, 상기 생성된 선언적 기술 언어 기반의 데이터를 부호화하는 과정과, 상기 부호화된 선언적 기술 언어 기반의 데이터를 상기 단말로 전송하는 과정을 포함하는 컨디셔널 프로세싱을 위한 데이터 송신 방법과, 컨디셔널 프로세싱을 위한 데이터 수신 방법에 있어서, 선언적 기술 언어 기반의 데이터 중 컨디셔널 프로세싱 정보를 가지는 파싱스위치 노드를 수신하면 파싱스위치 노드를 복호화하여 출력하는 과정과, 상기 컨디셔널 프로세싱 정보에 따라 상기 파싱스위치 노드의 자식 노드들을 구성 메모리로 하나씩 로드하여 평가하는 과정과, 상기 평가 결과 즉, 컨디셔널 프로세싱 수행 결과 참으로 평가된 경우 해당 노드를 사용자에게 제공 가능한 형태로 출력하는 과정을 포함하는 메모리 요구량을 고려하여 메모리의 효율적 관리를 위한 컨디셔널 프로세싱을 위한 데이터 수신 방법 및 이를 위한 장치를 제공한다.
선언적 기술언어, 컨디셔널 프로세싱, MPEG-4, LASeR

Description

컨디셔널 프로세싱 방법 및 장치{A method for conditional processing and an apparatus thereof}
본 발명은 컨디셔널 프로세싱 방법 및 장치에 관한 것으로, 특히, 메모리의 효율적인 관리 수행할 수 있도록 하는 컨디셔널 프로세싱 방법 및 장치에 관한 것이다.
프로그래밍 언어는 크게 분류하여 명령형 기술 언어와 선언적 기술 언어로 분류할 수 있다. 명령형 기술 언어는 '어떤 방법'으로 '해'를 구할 것인지에 중점을 두어 실행될 알고리즘을 명시하고 목표는 명시하지 않는 것으로, 대표적으로 전통적인 포트란, C, 자바 등이 명령형 기술 언어에 해당한다.
이와 반대로, 선언적 기술 언어는 '해'가 무엇인지를 설명하는 것에 중점을 두어 목표를 명시하고 알고리즘은 명시하지 않는다. 예를 들어 HTML 프로그램을 작성한다고 할 때, HTML 뷰어 즉, 브라우저에서 무엇을 보여주어야 하는지를 선언하면, 브라우저의 절차적 알고리즘이 이것을 화면에 표시할 점들로 변환한다. 이러한 선언적 기술 언어의 예로 XSLT(XSL(Extensible Stylesheet Language) Transformations), SQL(Structured Query Language), XML(Extensible Markup Language) 기반의 SVG(Scalable Vector Graphics), LASeR(Lightweight Application Scene Representation) 등을 들 수 있다.
상기 LASeR는 오늘날 통신 및 방송의 응용 기술이 다양한 미디어 요소를 이용하여, 보다 효과적으로 정보를 전달할 수 있는 방법을 제공할 수 있도록 진화함에 따라. 장면 기술(scene description), 비디오(video), 오디오(audio), 이미지(image), 폰트(font), 텍스트(text), 메타데이터(meta-data), 스크립트(script)와 같은 다양한 멀티미디어 요소들을 이용한 자유로운 표현과 사용자와의 상호작용을 통하여 보다 풍부한 사용자 서비스를 제공하기 위해 개발된 국제 표준 규격이다.
컨디셔널 프로세싱은 주어진 표현(expression)에 대한 평가를 통해 '해'의 적합성 여부, 서비스의 제공 여부 및 정보의 실행 시간을 결정하는 서비스 제어 기법으로, 선언적 기술언어에서 컨디셔널 프로세싱은 컨디셔널 프로세싱 함수로 정해진 선언언어가 논리형 선언을 포함하고 있어, '해'의 특성에 따라 정보의 적합성 여부, 서비스의 제공 여부 및 정보의 실행 시간을 결정하도록 명시되어 있다.
도 1은 일반적인 선언적 기술 언어를 수신한 단말의 컨디셔널 프로세싱 수행 과정을 나타낸 흐름도이다.
도 1을 참조하면, 단말이 S100 단계에서 데이터 스트림을 수신하여, 디코딩 버퍼에 요소 스트림을 할당하면, S110 단계에서 이를 복호화한다. 복호화된 요소 스트림은 S120 단계에서 구성 메모리로 로드된다. 구성 메모리로 로드된 요소 스트림, 즉 데이터의 구성 성분을 의미 있는 토큰으로 분해하여 그들 사이의 위계 관계 의 분석을 거친 데이터는 문장의 구조가 이미 결정된 파스 트리(parse tree)를 구성하게 된다. 단말은 S130 단계에서 파스 트리를 구성하는 계층 요소 중 컨디셔널 프로세싱 기능을 수행하는 요소가 있을 경우, 단말은 S140 단계에서 평가 대상이 되는 트리 노드의 자식 노드를 전부 구성 메모리로 로드하고, S150 단계에서 각 평가 노드를 하나씩 평가한다. 즉, 단말은 S150 단계에서 각 평가 노드를 하나씩 컨디셔널 프로세싱을 수행한다.
단말은 S160 단계에서, S150 단계에서 수행된 컨디셔널 프로세싱 평가 결과가 '참'인 경우, S170 단계에서 디스플레이로 출력한다.
그러나 이러한 기존의 컨디셔널 프로세싱의 경우, 컨디셔널 프로세싱 평가 대상이 되는 모든 데이터, 즉 컨디셔널 프로세싱 명령 노드의 모든 하향 노드, 즉, 자식 노드 모두가 구성 메모리로 로드 된 이후, 컨디셔널 프로세싱이 수행된다. 컨디셔널 프로세싱 과정에서 '참'으로 평가되는 자식 노드가 나타날 경우, 컨디셔널 프로세싱은 종료된다. 그러나 평가 결과에 의해 화면 구성기를 통하여 디스플레이 되지 않는 나머지 자식 노드들도 구성 메모리로 로드 된 상태 그대로, 구성 메모리에 그대로 남아 있도록 설계 되어 있다. 그러므로 컨디셔널 프로세싱을 위한 컨디셔널 프로세싱을 명령 노드의 모든 자식 노드가 구성 메모리로 로드되어 메모리를 점유하게 되며, 컨디셔널 프로세싱을 통하여 출력되는 결과는 단 하나의 자식 노드라 하더라도, 나머지 자식 노드 즉, 컨디셔널 프로세싱의 평가 결과가 '거짓'으로 평가된 노드들은 화면에 출력되지 않더라도 계속해서 메모리를 점유하고 있게 된다.
한편, 현재의 기술 추세에 따르면, DVB-CBMS(Convergence of Broadcasting and Mobile Service)나 IPTV와 같이 각 망의 통합으로 하나의 망에 여러 종류의 단말이 연결되는 네트워크 모델이 가능하다. 유선 IPTV에 유무선 통합이 되어 단일 통합 사업자가 망을 운영하는 모델인 경우, 각 단말에 상관없이 동일한 서비스가 제공될 수 있다. 예를 들어, 방송 서비스일 경우 하나의 방송 스트림이 동시에 다양한 디스플레이 크기, 메모리 크기, 성능 및 특징을 가진 단말들로 전송될 수 있다. 즉, 동일한 서비스를 다수의 다양한 단말에 제공하는 경우, 디지털 TV에서 휴대 단말에 이르기까지 동일한 방송 스트림이 전송될 것이다. 이러한 상황에서, 서비스와 관련된 각 단말 및 사용자의 다양한 상황에 부합할 수 있는 적응형 서비스를 제공하기 위한 기술들이 제안되고 있다. 이러한 통합망에서 서비스를 제공하는 경우, 상기와 같은 컨디셔널 프로세싱의 평가 대상이 되는 모든 자식 노드의 메모리 요구량은 성능이 낮은 저 사양의 단말에서는 단말에 지나친 부담이 되어 서비스가 제대로 수행되지 못하는 결과를 초래할 수 있다.
뿐만 아니라, 망의 통합뿐만 아니라, 서비스의 융합으로 인하여 다양한 서비스를 동시에 하나의 단말에서 서비스 받을 수 있게 됨에 따라, 하나의 프로그램이 지나치게 많은 메모리를 점유하게 되면, 다양한 서비스의 지원을 위한 단말 자원의 활용이 어려워진다.
따라서 기존의 선언적 기술 언어 기반에서의 컨디셔널 프로세싱이 가지고 있는 문제점인, 서비스 구성 데이터의 메모리 점유를 최소화 할 수 있도록, 서비스 제공에 필요한 데이터만을 메모리로 로드하여 메모리의 효율적인 관리 수행할 수 있도록 하는 방법 및 장치가 요구된다.
상술한 바와 같은 종래의 요구를 감안한 본 발명의 목적은 수신된 선언적 기술 언어 기반의 데이터를 서비스 제공 가능한 형태로 구성하는 과정에 있어 수신 단말이 데이터 파싱(parsing)과 로드(load) 과정에서 컨디셔널 프로세싱을 수행하여, 서비스 제공에 필요한 데이터만을 메모리로 로드하여 메모리의 효율적인 관리 수행할 수 있도록 하는 컨디셔널 프로세싱 방법 및 장치를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 컨디셔널 프로세싱을 위한 데이터 송신 방법은, 컨디셔널 프로세싱 정보를 가지는 파싱스위치 노드를 포함하는 선언적 기술 언어 기반의 데이터를 생성하는 과정과, 상기 생성된 선언적 기술 언어 기반의 데이터를 부호화하는 과정과, 상기 부호화된 선언적 기술 언어 기반의 데이터를 상기 단말로 전송하는 과정을 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 컨디셔널 프로세싱을 위한 데이터 수신 방법은, 선언적 기술 언어 기반의 데이터 중 컨디셔널 프로세싱 정보를 가지는 파싱스위치 노드를 수신하면 파싱스위치 노드를 복호화하여 출력하는 과정과, 상기 컨디셔널 프로세싱 정보에 따라 상기 파싱스위치 노드의 자식 노드들을 구성 메모리로 하나씩 로드하여 평가하는 과정과, 상기 평가 결과 참으로 평가된 경우 해당 노드를 사용자에게 제공 가능한 형태로 출력하는 과정을 포함한다.
상기 평가 결과 참이 아닌 경우 해당 노드를 삭제하거나 또는 상기 구성 메모리에 로드하지 않는 과정을 더 포함한다.
상기 평가하는 과정은 평가 대상 노드를 구성하기 위한 메모리 요구량을 고려하는 것을 특징으로 한다.
상기 평가하는 과정은 디크리멘탈 모드인 경우 참인 정보가 하나라도 나타나면 프로세싱을 종료하는 것을 특징으로 한다.
상기 평가하는 과정은 인크리멘탈 모드인 경우 거짓인 정보가 하나라도 나타나면 프로세싱을 종료하는 것을 특징으로 한다.
상기 평가하는 과정은, 상기 평가 정보에 의거하여 사전 평가인 경우, 상기 파싱스위치 노드의 평가를 해당 평가 대상 노드가 상기 구성 메모리로 로드되기 전에 수행하는 것을 특징으로 한다.
상기 평가하는 과정은, 상기 평가 정보에 의거하여 사후 평가인 경우, 상기 파싱스위치 노드의 평가를 해당 평가 대상 노드가 상기 구성 메모리로 로드되고 나서 수행하는 것을 특징으로 한다.
상기 평가하기 위한 데이터는, 사전 평가 모드인 경우 상기 파싱스위치 노드의 속성이며, 사후 평가 모드인 경우 상기 파싱스위치 노드의 실체인 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 컨디셔널 프로세싱을 위한 데이터 송신 장치는, 컨디셔널 프로세싱 정보를 가지는 파싱스위치 노드를 포함하는 선언적 기술 언어 기반의 데이터를 생성하는 데이터 생성부; 상기 생성된 선언적 기술 언어 기반의 데이터를 부호화하는 부호기; 및 상기 부호화된 선언적 기술 언어 기반의 데이터를 상기 단말로 전송하는 데이터 전송부;를 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시 예에 따른 컨디셔널 프로세싱을 위한 데이터 수신 장치는, 선언적 기술 언어 기반의 데이터 중 컨디셔널 프로세싱 정보를 가지는 파싱스위치 노드를 수신하면 파싱스위치 노드를 복호화하여 출력하는 복호기; 상기 컨디셔널 프로세싱 정보에 따라 상기 파싱스위치 노드의 자식 노드들을 구성 메모리로 하나씩 로드하여 평가하는 구성 메모리; 및 상기 평가 결과 참으로 평가된 경우 해당 노드를 사용자에게 제공 가능한 형태로 출력하는 구성기;를 포함하는 것을 특징으로 한다.
상기 구성 메모리는 상기 평가 결과 참이 아닌 경우 해당 노드를 삭제하거나 또는 상기 구성 메모리에 로드하지 않는 것을 특징으로 한다.
상기 구성 메모리는 상기 평가 정보에 의거한 사전 평가인 경우, 상기 파싱스위치 노드의 평가를 해당 평가 대상 노드가 로드되기 전에 수행하는 것을 특징으로 한다.
상기 구성 메모리는 평가 대상 노드를 구성하기 위한 메모리 요구량을 고려하는 것을 특징으로 한다.
상기 구성 메모리는 디크리멘탈 모드인 경우 평가 대상 노드 중 참인 정보가 하나라도 나타나면 프로세싱을 종료하는 것을 특징으로 한다.
상기 구성 메모리는 인크리멘탈 모드인 경우 평가 대상 노드 중 거짓인 정보 가 하나라도 나타나면 프로세싱을 종료하는 것을 특징으로 한다.
상기 구성 메모리는 상기 평가 정보에 의거한 사후 평가인 경우, 상기 파싱스위치 노드의 평가를 해당 평가 대상 노드가 로드되고 나서 수행하는 것을 특징으로 한다.
상기 평가하기 위한 데이터는, 사전 평가 모드인 경우 상기 평가 대상 노드의 속성이며, 사후 평가 모드인 경우 상기 평가 대상 노드의 실체 또는 속성 또는 실체와 속성 모두 인 것을 특징으로 한다.
상술한 바와 같은 본 발명에 따르면, 선언적 기술 언어를 기반으로 구성된 데이터의 컨디셔널 프로세싱을 수행하는 경우, 수신기가 데이터 파싱(parsing) 과정에서 컨디셔널 프로세싱 기능을 수행하여 서비스 제공에 필요한 데이터만을 메모리로 로드(load)함으로써, 수신기의 메모리 자원의 회전율을 높이고, 제한된 메모리 크기를 가지는 수신기의 부담을 줄일 수 있는 등 메모리를 효율적으로 관리할 수 있는 이점이 있다.
이하 본 발명의 바람직한 실시 예에 대한 동작 원리를 도면을 참조하여 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명 및 첨부 도면이본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명에서는 선언적 기술 언어를 기반으로 구성된 데이터의 컨디셔널 프로세싱을 위한 방법 및 장치에 관한 것으로, 특히 수신된 선언적 기술 언어 기반의 데이터를 서비스 제공 가능한 형태로 구성하는 과정에 있어 수신 단말이 데이터 파싱과정에서 컨디셔널 프로세싱을 수행하여, 서비스 제공에 필요한 데이터만을 메모리로 로드하여 메모리의 효율적인 관리 수행할 수 있도록 하는 방법 및 장치를 제안한다.
먼저, 본 발명의 실시 예에 따른 데이터 파싱과 로드 과정에서 컨디셔널 프로세싱 기능을 수행하기 위하여 정의한 노드 타입인 파싱스위치(parsingSwitch) 노드 구조 및 이에 따른 평가 정보에 대해서 설명하기로 한다.
도 2는 본 발명의 실시 예에 따른 파싱스위치(parsingSwitch) 노드 구조를 설명하기 위한 도면이다.
도 2에 데이터 파싱 과정에서 컨디셔널 프로세싱 기능을 수행하기 위하여 노드 타입인 파싱스위치(parsingSwitch) 노드 구조 중 "컨디셔널 프로세싱 정보"에 포함되는 노드들을 도시화하였다.
본 발명의 실시 예에서 "컨디셔널 프로세싱 정보"는 수신기가 컨디셔널 프로세싱 기능을 수행할 시, 평가의 대상, 평가 시기, 평가 순서, 평가 방법 등을 정의하는 정보들을 의미한다.
도 2를 참조하면, 파싱스위치 노드(200)를 통하여 전송되는 평가 정보는 파 싱스위치 노드의 고유 아이디(id) 필드(210), 모드(mode) 필드(220), 키워드파스(keywordParse) 필드(240), 평가모드(evalMode) 필드(250), 리무버블(removable) 필드(270), 및 셀렉션모드(selectionMode) 필드(280)를 포함한다.
아이디(id) 필드(210)에는 파싱스위치 노드(200)를 식별하기 위한 식별자가 수납된다.
모드(mode) 필드(220)는 파싱스위치의 컨디셔널 프로세싱 기능을 수행하는 과정에서의 파싱 모드를 나타낸다. 이때, 모드(mode)필드(220)는 파싱스위치(200)에 의해 평가되는 노드 중 '참'으로 평가되는 노드가 나타나면 컨디셔널 프로세싱을 해야하는 나머지 하향 노드들에 대한 탐색 중단을 의미하는 디크리멘탈(decremental) 필드(225)와 파싱스위치에 의해 평가되는 노드 중 '참'으로 평가되는 노드가 나타나더라도, 컨디셔널 프로세싱을 계속 수행하여, 평가대상이 되는 하향 노드들 중 '거짓'으로 평가되는 노드 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정된 노드가 나타나면 해당 노드의 하향 노드를 비롯한 컨디셔널 프로세싱의 평가 대상이 되는 나머지 하향 노드들에 대한 탐색 중단을 의미하는 인크리멘탈(incremental) 필드(230)로 구성된다.
키워드파스(keywordParse) 필드(240)는 특정 키워드를 가진 하향 노드만을 대상으로 컨디셔널 프로세싱을 수행할 것을 나타낸다. 여기서, 키워드파스(keywordParse) 필드(240)는 컨디셔널 프로세싱의 대상이 되는 노드가 가져야 하는 키워드(keyword)를 나타내는 키워드 필드(245)를 포함할 수 있다.
평가모드(evalMode) 필드(250)에는 컨디셔널 프로세싱 기능을 수행하는데 있 어 컨디션(condition)에 대한 평가를 하는 시기에 대한 정보가 수납된다. 평가모드(evalMode) 필드(250)는 컨디셔널 프로세싱을 통한 평가 대상이 되는 노드의 평가를 해당 평가 대상 노드가 로드(load)되기 전, 즉, 평가 대상 노드의 속성에 대한 정보만으로 대상 노드를 평가하는 사전평가(preEval) 필드(255)와 컨디셔널 프로세싱을 통한 평가 대상이 되는 노드의 평가를 해당 평가 대상 노드 전체가 메모리로 로드되고 나서 평가를 수행하는 사후평가(postEval) 필드로 구성된다.
리무버블(removable) 필드(270)에는 평가대상이 되는 하향 노드들 중 '거짓'으로 평가되는 노드 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정된 노드를 메모리로 로드하지 않거나, 메모리에서 삭제할 것을 설정한다.
셀렉션모드(selectionMode) 필드(280)는 컨디셔널 프로세싱에서 평가대상이 되는 하향 노드 중 선택 가능한 하향 노드의 수가 수납된다. 셀렉션모드(selectionMode) 필드(280)는 파싱스위치(200)에 의해 평가되는 노드 중 하나의 노드라도 '참'으로 평가되면, 컨디셔널 프로세싱을 해야 하는 나머지 하향 요소들에 대한 탐색 중단을 의미하는 싱귤러(singular) 필드(285)와 파싱스위치(200)에 의해 평가되는 노드 중 참으로 평가되는 노드가 발견되어도, 나머지 하향 요소들에 대한 컨디셔널 프로세싱을 계속 수행하여 참인 노드를 찾아야 함을 의미하는 플루럴(plural) 필드로 구성된다.
다음의 <표 1>은 상기 파싱스위치 노드(200)에 포함되는 각 필드들을 정리한 것이다.
파싱스위치
(parsingSwitch)
아이디
(ID)
고유아이디(id)필드
모드
(mode)
디크리멘탈
(decremental)
'참'으로 평가되는 노드가 나타나면 컨디셔널 프로세싱을 해야하는 나머지 하향 노드들에 대한 탐색 을 중단하는 디크리멘탈(decremental) 필드
인크리멘탈
(incremental)
'참'으로 평가되는 노드가 나타나더라도, 컨디셔널 프로세싱을 계속 수행하여, 평가대상이 되는 하향 노드들 중 '거짓'으로 평가되는 노드 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정된 노드가 나타나면 해당 노드의 하향 노드를 비롯한 컨디셔널 프로세싱의 평가 대상이 되는 나머지 하향 노드들에 대한 탐색 중단하는 인크리멘탈(incremental) 필드
키워드파스
(keywordParse)
키워드
(keyword)
특정 키워드를 가진 하향 노드만을 대상으로 컨디셔널 프로세싱을 수행하는 키워드파스(keywordParse) 필드 및 컨디셔널 프로세싱의 대상이 되는 키워드(keyword)
평가모드
(evalMode)
사전평가
(preEval)
컨디셔널 프로세싱을 통한 평가 대상이 되는 노드의 평가를 해당 평가 대상 노드가 로드되기 전에 수행하는 preEval 필드
사후평가
(postEval)
컨디셔널 프로세싱을 통한 평가 대상이 되는 노드의 평가를 해당 평가 대상 노드가 메모리로 로드되고 나서 수행하는 postEval 필드
리무버블
(removable)
평가대상이 되는 하향 노드들 중 '거짓'으로 평가되는 노드 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정된 노드를 메모리로 로드하지 않음 또는 메모리에서 삭제함을 의미하는 removable 필드
셀렉션모드
(selectionMode)
싱귤러
(singular)
파싱스위치에 의해 평가되는 노드 중 하나의 노드라도 '참'으로 평가되면, 컨디셔널 프로세싱을 해야하는 나머지 하향 요소들에 대한 탐색 중단하는 싱귤러(singular) 필드
플루러
(Plural)
파싱스위치에 의해 평가되는 노드 중 참으로 평가되는 노드가 발견되어도, 나머지 하향 요소들에 대한 컨디셔널 프로세싱을 계속 수행하여 참인 노드를 찾는 플루럴(plural) 필드
또한 상기 <표 1>에서는 별도로 명시하지 않았으나, 파싱스위치 노드(200)는 기존의 컨디셔널 프로세싱 기능을 수행하는 노드가 가지는 필드들을 더 포함하여 구성될 수 있다.
다음으로 본 발명의 실시 예에 따른 파싱스위치를 통한 컨디셔녈 프로세싱을 수행하는 방법에 대해서 설명하기로 한다.
LASeR(Lightweight Application for Scene Representation)는 선언적 기술 언어의 하나로 리치미디어(rich-media) 장면을 표현하기 위한 기술이다. 본 발명의 실시 예에서는 이러한 LASeR의 노드 타입으로 파싱스위치(parsingSwitch) 노드를 정의하고, 이를 통해 파싱스위치를 통한 컨디셔널 프로세싱을 수행하는 방법을 구체적인 예를 들어 설명하고자 한다.
본 발명에서는 선언적 기술 언어를 기반으로 하는 엔진 중 리치미디어 엔진(Rich Media Engine, 이하 'RME'라 칭함)을 예로 들어 설명하며, 특히, LASeR(Lightweight Application for Scene Representation) 엔진을 기반으로 하는 단말을 실시 예로 들어 설명한다. 그 외의 선언적 기술 언어를 기반으로 하는 단말 및 RME 기반 단말에서는 상기 LASeR 엔진을 기반으로 하는 단말의 실시 예를 바탕으로 동일하게 적용 가능하다. 다만, 단말에 적용되는 프로그램 수행 엔진, RME 혹은 시스템이 바뀌는 경우에는, LASeR 엔진 이외에 각 프로그램 수행 엔진, RME 혹은 시스템에서 고유하게 사용하는 명칭으로의 엔진의 전환이 필요하며, 이는 당업자에게 자명하므로 본 발명에서는 다루지 않기로 한다.
다음의 <표 2>는 본 발명의 실시 예에 따른 파싱스위치 노드를 통한 컨디셔녈 프로세싱을 수행하는 방법에 대해서 설명하기 위한 것이다.

<parsingSwitch mode = "decremental" removable = "true" evalMode = "postEval"…>
<g id = "Condition01"> … </g>
<g id = "Condition02"> … </g>
<g id = "Condition03"> … </g>
</parsingSwitch>
<표 2>를 살펴보면, 파싱스위치(parsingSwitch) 노드 및 파싱스위치(parsingSwitch) 노드를 통하여 전송되는 정보를 나타내는 각 필드들을 LASeR의 새로운 요소 및 속성으로 정의하여 기술하였다.
여기서, 요소는 LASeR와 같은 장면구성 제어 기술에서 장면을 구성하는 개체의 기본 단위를 의미하며, 속성은 장면을 구성하는 요소의 특성을 의미한다.
상기 예제에서 파싱스위치(parsingSwitch) 요소의 컨디셔널 프로세싱 평가 대상이 되는 하향 노드는 아이디(id) 속성 값이 각각 'Condition01', 'Condition02', 'Condition03'인 'g' 요소들이다. 상기 'g'는 다양한 요소들을 포함하여 표현할 수 있는 컨테이너(container) 역할을 하는 요소이다.
그러므로 콘텐츠를 구성하는 다양한 장면 구성 요소들이 'g' 요소의 내부에 포함될 수 있다. 여기서 상기 구성 요소들은 사각형을 그리기 위한 "rect", 원을 그리기 위한 "circle" 등을 포함한 그래픽 요소 및 텍스트, 오디오, 비디오, 이미지 등의 다양한 장면 구성 요소들이 될 수 있다.
이러한 요소들은 서비스 되어 화면에 구성되는 장면의 실체를 생성한다. "<g id="Condition01"> … 장면 구성(장면의 실체) …</g>"에서 "Condition01"은 속성을 의미하고, <g>와 </g>사이에 구현되는 데이터는 장면 구성의 실체이다. 예컨대, 요소가 원이면, 화면에 실체인 원이 그려진다. 이러한 장면 구성의 실체인 요소는 속성에 따라 빨간색 원, 파란색 원, 큰 원, 작은 원 등이 될 수 있다.
<표 2>와 같은 파싱스위치(<parsingSwitch mode = "decremental" removable = "true" evalMode = "postEval"…> ... 평가 대상 요소그룹들 ... </parsingSwitch>)를 전송한 경우, 수신측의 동작은 다음과 같다.
첫째, 모드(mode) 필드 중 디크리멘탈(decremental) 필드에 따라, 수신측은 '참'으로 평가되는 노드가 나타나면 컨디셔널 프로세싱을 해야 하는 나머지 하향 노드들에 대한 탐색 을 중단한다.
둘째, 리무버블 필드(removable = "true")에 따라 수신측은 평가대상이 되는 하향 노드들 중 '거짓'으로 평가되는 노드 혹은 평가되지 않는 노드 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정된 노드를 메모리로 로드하지 않거나 또는 메모리에서 삭제한다.
셋째, 수신측은, 평가 모드 중 사후 평가(evalMode = "postEval")에 따라, 컨디셔널 프로세싱을 통한 평가 대상이 되는 노드의 평가를 해당 평가 대상 노드가 로드되고 나서 수행한다.
이러한 상술한 정보들을 이용하여 <표 2>에 기술된 요소(<g id="Condition01"> … </g>, <g id="Condition02"> … </g>, <g id="Condition03"> … </g>) 들에 대한 컨디셔널 프로세싱을 수행하여 상기 요소들 중 선택된 요소를 사용자에게 제공하게 된다.
<표 2>에서 사용되어진 용어 "요소"는 "노드"와 같은 의미로 사용하였다. 이하, "요소"는 "노드"와 혼용하여 사용하기로 한다.
다음으로 본 발명의 일 실시 예에 따른 파싱스위치를 통한 컨디셔널 프로세싱을 수행하는 방법에 대해서 설명하기로 한다. 다음의 <표 3>는 본 발명의 일 실시 예에 따른 파싱스위치를 통한 컨디셔녈 프로세싱을 수행하는 방법에 대해서 설명하기 위한 것이다.

<parsingSwitch mode = "alternative" removable = "true" evalMode = "postEval"… >
<g id = "Condition01" memory = "…"> … </g>
<g id = "Condition02" memory = "…"> … </g>
<g id = "Condition03" memory = "…"> … </g>
</parsingSwitch>
상기 <표 3>의 예제는 파싱스위치(parsingSwitch) 노드의 컨디셔널 프로세싱의 평가 기준으로 평가 대상이 되는 하향 노드 및 요소를 구성하는데 드는 메모리 요구량에 대한 정보(memory = "…")를 참조하여,
컨디셔널 프로세싱의 평가 대상이 되는 하향 노드 중 어느 노드를 이용하여 장면에 실제로 서비스 할지 여부를 여부를 결정하는 예제를 나타낸다.
상기 노드(또는 요소)를 구성하는데 드는 메모리 요구량에 대한 정보를 나타내는 구체적인 방법에 대해서는 구체적으로 설명하지 않으나, 파스트리를 구성하는 노드 및 장면 구성 요소를 표현하기 위하여 메모리로 로드하는데 드는 하위 요소 각각 혹은 전체의 메모리 량이나, 장면을 서비스하는데 필요로 하는 메모리 량 등으로 표현될 수 있을 것이다.
이때, 파싱스위치(parsingSwitch) 노드의 모드(mode) 필드의 하위 필드가 디크리멘탈(decremental) 필드일 경우, 컨디셔널 프로세싱의 평가대상이 되는 하향 노드들을 서비스를 제공하는데 드는 메모리 요구량이 큰 노드에서 작은 노드의 순으로 즉, 메모리 요구량이 감소하는 순서로 구성할 수 있다.
이 경우, 단말은 단말의 현재 메모리 상태에 적합한 컨디셔널 프로세싱 평가대상 노드를 만나면, 해당 노드를 메모리로 로드하여 '참'으로 평가되는 노드가 있으면, 파싱스위치(parsingSwitch) 노드 내에서의 더이상 컨디셔널 프로세싱을 진행하지 않는다.
이와 반대로, 파싱스위치(parsingSwitch) 노드의 모드(mode) 필드의 하위 필드가 인크리멘탈(incremental) 필드일 경우, 컨디셔널 프로세싱의 평가대상이 되는 하향 노드들을 서비스를 제공하는데 드는 메모리 요구량이 작은 노드에서 큰 노드의 순으로 구성할 수 있다. 즉, 메모리 요구량이 증가하는 순서로 구성할 수 있다.
이 경우, 단말은 단말의 현재 메모리 상태에 적합하지 않은 컨디셔널 프로세싱 평가대상 노드를 만나면, 이후 컨디셔널 프로세싱 노드의 하향노드를 더 이상 메모리로 로드하지 않고, 해당 파싱스위치(parsingSwitch) 노드 내에서의 컨디셔널 프로세싱을 더 이상 수행하지 않는다. 즉, 특정 파싱스위치 노드가 '거짓'으로 평가되면, 이후의 컨디셔널 프로세싱 노드의 하향노드를 더 이상 메모리로 로드하지 않고, 해당 파싱스위치(parsingSwitch) 노드 내에서의 컨디셔널 프로세싱을 더 이상 수행하지 않는다.
다음으로, 본 발명의 실시 예에 따른 컨디셔널 프로세싱을 위한 송신기 및 수신기의 개략적인 구조에 대해서 설명하기로 한다. 이때, 컨디셔널 프로세싱에 연관된 부분만 설명할 것이고, 그 이외의 부분은 발명의 요지를 흐리지 않기 위해 생략한다.
먼저, 본 발명의 실시 예에 따른 송신기의 개략적인 구조를 설명하기로 한다. 도 3은 본 발명의 실시 예에 따른 송신기의 개략적인 구조를 설명하기 위한 도면이다.
도 3을 참조하면, 본 발명의 실시 예에 따른 송신기는 데이터 생성부(300), 부호기(320), 데이터 전송부(330)를 포함하여 구성된다.
데이터 생성부(300)은 본 발명에서 설명한 컨디셔널 프로세싱 기능을 수행하는 파싱스위치(parsingSwitch) 노드(310)를 포함하는 선언적 기술 언어 기반의 데이터를 생성한다. 이러한 파싱스위치 노드(310)는 <표 1>에서 설명한 바와 같은 컨디셔널 프로세싱 정보를 포함한다.
데이터 생성부(300)에서 생성된 데이터는 부호기(320)로 전달되어 부호화된다. 부호화된 데이터는 데이터 전송부(330)로 전달되어 수신기로 전송된다.
이어서, 본 발명의 실시 예에 따른 수신기의 개략적인 구조에 대해서 설명하기로 한다. 도 4는 본 발명의 실시 예에 따른 송신기의 개략적인 구조를 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 수신기는 디코딩 버퍼(400), 부호기(410), 구성 메모리(420), 및 구성기(440)를 포함하여 구성된다.
단말이 데이터 스트림을 수신하여, 디코딩 버퍼(400)에 요소 스트림을 할당하면, 이를 복호기(410)에서 복호화한다. 복호기(410)에서 복호화된 요소 스트림은 구성 메모리(420)로 전송되어 데이터의 구성성분을 의미 있는 토큰으로 분해하여 그들 사이의 위계 관계의 분석을 통하여 파스 트리(parse tree)를 구성하게 된다.
이때, 본 발명의 실시 예에 따라 컨디셔널 프로세싱 기능을 수행하는 노드인 파싱스위치(parsingSwitch) 노드가 있을 경우, 복호기(410)는 파싱스위치(parsingSwitch) 노드를 통해 전송되는 파싱스위치(parsingSwitch)를 구성하는 각 필드의 정보들을 해석해서 평가대상이 되는 하향 노드 그룹을 하나씩 구성 메모리(420)로 전송한다. 이때, 앞서 <표 1>에서 설명한 컨디셔널 프로세싱 정보에 따라 구성 메모리(420)에 로드되는 노드의 데이터는 달라 질 수 있다.
그러면, 구성 메모리(420)는 필요한 '해'인가 혹은 실행 가능한 노드인가에 대한 평가(430)를 수행한다. 즉, 구성 메모리(420)는 컨디셔널 프로세싱(430)을 하향 노드 그룹 하나씩 수행한다. 이때, 평가의 결과에 의해 '참'으로 평가된 노드는 구성기(440)를 통하여 디스플레이로 출력된다.
파싱스위치(parsingSwitch) 노드의 컨디셔널 프로세싱을 수행하는 과정에 있어 파싱스위치(parsingSwitch)를 구성하는 각 필드의 정보들을 해석해서 평가대상이 되는 하향노드 그룹을 구성 메모리(420)로 전송하기 전에 평가 대상 노드의 속성에 대한 정보만으로 대상 노드를 하나씩 평가(430)할 경우, 평가 결과에 의해 '참'으로 평가된 노드를 구성하는 장면 구성 데이터(실체)를 구성 메모리(420)로 로드한다. 또한, 구성 메모리(420)로 로드되어 파스트리(parse tree)로 구성된 모든 정보는 구성기(440)를 통하여 디스플레이로 출력된다.
정리하면, 복호기(410)는 파싱스위치(parsingSwitch) 노드의 평가 대상이 되는 노드를 평가 모드(evalMode)에 따라 순차로 하나씩 구성 메모리(420)에 로드한다. 이때, 구성 메모리(420)의 평가 대상이 되는 노드는 파싱스위치 노드의 하향 노드(자식 노드)이며, 상기 하향 노드는 파싱스위치 노드의 일부라고 간주한다. 이때, 사전 평가(preEval)인 경우 속성을 먼저 로드하고, 사후 평가(postEval)인 경우 실체 즉, 평가 대상 노드를 구성하는 실제 데이터를 로드한다.
구성 메모리(420)는 평가 정보의 평가 모드(evalMode)에 따라 로드된 노드의 속성만 평가하거나(preEval), 노드의 실체(노드)를 평가한다(postEval). 이러한 평가 결과 참인 경우, 구성 메모리(420)는 구성기(440)로 해당 노드를 입력한다.
구성기(440)는 입력되는 노드를 사용자에게 제공 가능한 형태로 출력하는 기능을 수행한다. 화면 데이터를 발생시키는 노드인 경우, 디스플레이로 출력하는 역할을 수행한다. 이때, 구성기(440)는 노드의 속성 등에 따라 필요한 재생기가 될 수 있다.
예컨대, 원을 구현하는 속성을 가진 노드의 경우, 사용자에게 제공 가능한 형태로 표시하기 위해, 구성기(440)는 디스플레이 장치에 원을 그릴 수 있는 R, G, B 등의 아날로그 신호 및 표시되는 위치를 나타내는 신호를 제공할 수 있다.
상기 본 발명에서 구성메모리로 칭하는 블록은 명칭이 다르다고 하여도 각 프로그램 수행 엔진이나, RME에서 본 발명에서 설명하는 구성메모리의 동작과 동일한 동작을 하는 모듈과 동일한 것으로 볼 수 있다. 예를 들어, 구성메모리는 장면트리매니저 혹은 DOM 트리 구성부 등이 될 수 있다. 또한, 송신기에서 부호화하여 전송하지 않을 경우, 수신기에서 복호화 과정은 생략될 수 있다.
다음으로, 상술한 바와 같은 송신기 및 수신기의 파싱스위치 노드의 컨디셔널 프로세싱 방법에 대해서 설명하기로 한다. 송신기는 앞서 설명한 바와 같이, 컨디셔널 프로세싱 기능을 수행하는 파싱스위치(parsingSwitch) 노드를 포함하는 선언적 기술 언어 기반의 데이터를 생성하여, 생성한 데이터를 전송한다. 이러한 선언적 기술 언어 기반의 데이터를 수신하는 수신기의 컨디셔널 프로세싱 수행 방법에 대해서 설명하기로 한다.
특히, 평가 정보 중 평가 모드(사전 평가 및 사후 평가)에 따른 컨디셔널 프로세싱 방법에 대해서 설명한다.
먼저, 메모리 요구량에 대한 속성을 가지는 A, B, C 각각의 노드(요소)가 있다고 가정한다. 또한, 노드(요소)의 실체는 A 노드가 비디오와 오디오로 구성되고, B 노드가 원, 사각형 등의 각종 그래픽 요소로 구성되며, C 노드가 텍스트 만으로 구성된다고 가정한다.
이 경우, <표 2>와 같은 파싱스위치의 평가 정보 중 평가 모드가 사전 평가 인 경우, 수신기는 각 노드의 속성인 메모리 요구량에 대한 정보 속성을 로드하여 해당 노드를 평가한다. 이때, A 노드의 메모리 요구량에 대한 속성 정보가 현재 단말의 메모리 상태에 충족하여 "참"으로 결정되면, 수신기는 요소(노드) A의 실제 데이터인 비디오와 오디오를 구성 메모리(420)에 로드하고 구성기(440)를 통해 비디오와 오디오 등을 사용자에게 표시할 수 있다. 이때, 해당 파싱스위치의 모드 필드가 디크리멘탈로 지정되어 있을 경우, 수신기는 B 및 C 노드는 평가하지 않는다.
반면, 파싱스위치의 평가 정보 중 평가 모드가 사후 평가인 경우, 수신기는 A의 실제 데이터인 비디오와 오디오를 구성 메모리(420)에 로드하여, 이를 평가한다. 이때, 해당 파싱스위치의 모드 필드가 디크리멘탈로 지정되어 있을 경우, 수신기는 B 및 C 노드는 평가하지 않는다.
다음으로 본 발명의 실시 예에 따른 컨디셔널 프로세싱 방법을 첨부한 흐름도를 참조하여 설명하기로 한다. 이때, 사전 평가 및 사후 평가에 따른 컨디셔널 프로세싱 방법을 구분하여 설명하기로 한다.
도 5는 본 발명의 일 실시 예에 따른 컨디셔널 프로세싱 방법을 설명하기 위한 흐름도이다.
여기서, 컨디셔널 프로세싱 과정은 파싱스위치(parsingSwitch) 노드의 평가모드(evalMode) 필드가 사후평가(postEval)로 설정되어 있을 경우 혹은 파싱스위치(parsingSwitch) 노드의 컨디셔널 프로세싱이 평가 대상이 되는 노드의 실제 장면 구성 데이터의 메모리 로드 이후 이루어지는 경우를 가정한다.
도 5를 참조하면, 수신기는 S500 단계에서 데이터 스트림을 수신하여, 디코딩 버퍼(400)에 요소(노드) 스트림을 할당하면, 이를 출력한다. 그러면, 복호기(410)는 S505 단계에서 이러한 요소(노드) 스트림을 복호화한다. 이어서, 복호기(410)는 S510 단계에서 복호화된 노드들을 구성 메모리(420)로 로드한다. 이러한 S510 단계에서 구성 메모리(420)는 복호화된 요소 스트림(노드)의 데이터의 구성성분을 의미 있는 토큰으로 분해한다. 그런 다음, 구성 메모리(420)는 분해된 구성 성분 사이의 위계 관계의 분석을 거쳐 위계 관계에 따라 파스 트리(parse tree)를 구성하게 된다.
이와 같이 복호화된 데이터를 로드하여 파스 트리(parse tree)를 구성하던 중, 구성 메모리(420)는 S515 단계에서 파스 트리(parse tree)를 구성하는 노드 중 파싱스위치 노드가 존재하는지 판단한다.
판단 결과, 본 발명의 실시 예에 따른 컨디셔널 프로세싱 기능을 수행하는 노드인 파싱스위치(parsingSwitch) 노드(325)가 있을 경우, 구성 메모리(420)는 S520 단계에서 파싱스위치(parsingSwitch) 노드를 통해 전송되는 파싱스위치(parsingSwitch)를 구성하는 각 필드의 정보들을 해석하고, 평가 대상이 되는 하향 노드를 하나씩 순차로 구성 메모리(420)로 로드한다.
구성 메모리(420)는 S525 단계에서 로드된 하나의 평가 대상 노드를 평가한다. 즉, 구성 메모리(420)는 S525 단계에서 컨디셔널 프로세싱을 수행한다. 예를 들어, 파싱스위치(parsingSwitch) 노드의 첫번째 자식 노드(요소)만 먼저 구성 메모리(420)로 로드하여, 첫 번째 자식 노드가 필요한 '해'인가 혹은 실행 가능한 노드인가에 대한 평가를 수행한다.
이때, 파싱스위치(parsingSwitch) 노드의 모든 자식 요소는 파싱스위치(parsingSwitch) 노드로 판단한다.
이때, 컨디셔널 프로세싱의 평가 기준은 평가 대상이 되는 평가 노드를 구성 메모리(420)로 로드하는데 성공했느냐, 실패했느냐 여부가 될 수도 있고, 평가 노드의 속성 및 특성에 대한 정보 등이 될 수도 있고, 구성 메모리(420)로의 로드 성공 또는 실패 여부와 평가 노드의 속성 및 특성에 대한 정보 모두를 이용하여 평가 할 수도 있다.
그런 다음, 구성 메모리(420)는 S530 단계에서 해당 파싱스위치의 모드(mode)에 따라, 그 모드가 디크리멘탈(decremental)인 경우, S535 단계로 분기하고, 그 모드가 인크리멘탈(incremental)인 경우, S540 단계로 분기한다. 이는 상기 단계에서 모드 정보를 확인하는 것이 아니라, 모드에 따라서 처리 방법이 달라짐을 의미한다.
이때, 파싱스위치(parsingSwitch) 노드의 모드(mode) 필드의 값에 따라 모드(mode) 필드의 값이 디크리멘탈(decremental) 필드일 경우, 구성 메모리(420)는 S535 단계에서 평가 결과 참인지 여부를 판단한다. 이때, 평가의 결과에 의해 '참'으로 평가되면, 구성 메모리(420)는 S550 단계에서 참인 노드를 구성기(440)를 통해 디스플레이로 출력한다. 즉, 구성기(440)는 참인 노드를 사용자에게 제공 가능한 형태로 출력하는 역할을 수행한다. 예컨대, 원을 구현하는 노드의 경우, 사용자에게 제공 가능한 형태로 표시하기 위해, 구성기(440)는 디스플레이 장치에 원을 그릴 수 있는 R, G, B 등의 아날로그 신호 및 표시되는 위치를 나타내는 신호를 제공할 수 있다.
한편, 평가 결과에 의해, '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정되어 있을 경우, 즉, 참이 아닌 경우, S520 단계로 진행하여 참이 아닌 노드의 다음 노드를 구성 메모리(420)에 로드한다. 예컨대, 첫 번째 자식 노드가 '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정되어 있을 경우 두번째 자식 노드를 구성 메모리(420)로 로드한다.
또한, 파싱스위치(parsingSwitch) 노드를 통해 전송되는 파싱스위치(parsingSwitch)를 구성하는 각 필드의 정보들의 해석 결과에 따라, '참'으로 평가된 노드가 하나라도 나타나면, 파싱스위치(parsingSwitch) 노드의 나머지 하향노드 즉, 나머지 자식 노드는 평가하지 않을 수 있다.
이때, 파싱스위치(parsingSwitch) 노드의 모드(mode) 필드의 값에 따라 모드(mode) 필드의 값이 디크리멘탈(decremental) 필드일 경우, 구성 메모리(420)는 S535 단계에서 평가 결과 참인지 여부를 판단한다. 이때, 평가의 결과에 의해 '참'으로 평가되면, 구성 메모리(420)는 S550 단계에서 참인 노드를 구성기(440)를 통해 디스플레이로 출력한다. 그리고 해당 파싱스위치 노드의 나머지 평가 대상 노드에 대해서는 프로세싱을 하지 않는다. 즉, 메모리로 로드하지 않고, 평가도 하지 않는다.
파싱스위치(parsingSwitch) 노드의 모드(mode) 필드의 값에 따라 모드(mode) 필드의 값이 인크리멘탈(incremental) 필드일 경우, 구성 메모리(420)는 S540 단계에서 평가 결과 참인지 여부를 판단한다.
이때, 평가의 결과 '참'으로 평가되면, 구성 메모리(420)는 S520 단계로 진행하여 다음 노드를 확인한다. 한편, 평가의 결과에 의해 '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정되어 있을 경우, 즉, '참'이 아닌 경우, 구성 메모리(420)는 S545 단계에서 해당 노드의 이전 평가 노드 즉 바로 앞에 평가가 수행된 노드를 구성기(440)를 통해 디스플레이(370)로 출력한다.
특히, 평가결과에 따라, '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정된 노드는 파싱스위치(parsingSwitch) 노드를 통해 전송되는 리무버블(removable) 필드의 값에 따라 삭제될 수도 있다.
이때, '거짓' 혹은 'false'로 평가된 현재의 평가 노드 및 디스플레이 되는 이전 노드 외의 다른 평가 노드들은 파싱스위치(parsingSwitch) 노드를 통해 전송되는 리무버블(removable) 필드의 값에 따라 구성 메모리(420)에서 삭제될 수 있다. 예컨대, 1, 2, 3, 4, 5의 노드 중 4번 노드가 '거짓'으로 평가되었다면, 3번 노드만이 구성 메모리(420)에 로드되어 구성기(440)를 통하여 출력된다. 이때, 4번 노드와 함께 1, 2번 노드도 한꺼번에 삭제할 수도 있다. 또는 1번 노드가 참이었고, 2번 노드도 참일 경우, 1번 노드를 삭제하는 식으로 한번 평가를 진행할 때마다 한 번씩 삭제 대상 노드를 삭제하여 구성 메모리(420)를 릴리즈(release)할 수도 있다. 또 다른 예로 컨디셔널 프로세싱의 평가 대상 노드 즉, 파싱스위치(parsingSwitch) 노드의 자식 노드 중 하나의 노드만 선택하더라도, '참'으로 평가된 노드들을 구성 메모리(420)에 남겨두도록 설정하는 경우, 4번 노드가 '거짓'으로 평가되었다면, 1, 2, 3, 4번 노드는 구성 메모리(420)에 로드된 채로 남아있고, 3번 노드는 구성기(440)를 통하여 출력된다.
다음으로, 본 발명의 다른 실시 예에 따른 컨디셔널 프로세싱 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 다른 실시 예에 따른 컨디셔널 프로세싱 방법을 설명하기 위한 도면이다.
도 6은 파싱스위치(parsingSwitch) 노드의 컨디셔널 프로세싱 과정이 평가모드(evalMode) 필드가 사전평가(preEval)로 설정되어 있을 경우 혹은 파싱스위치(parsingSwitch) 노드의 컨디셔널 프로세싱이 메모리 로드 이전에 이루어지는 경우, 즉 평가 기준으로 평가 노드의 속성 및 특성에 대한 정보만이 사용되었을 경우를 가정한다.
도 6을 참조하면, 수신기는 S600 단계에서 데이터 스트림을 수신하여, 디코딩 버퍼(400)에 요소(노드) 스트림을 할당하면, 이를 출력한다. 그러면, 복호기(410)는 S605 단계에서 이러한 요소(노드) 스트림을 복호화 한다. 이어서, 복호기(410)는 S610 단계에서 복호화된 노드들을 구성 메모리(420)로 로드한다. 이때, 구성 메모리(420)는 복호화된 요소 스트림(노드)의 데이터의 구성성분을 의미 있는 토큰으로 분해한다. 그런 다음, 구성 메모리(420)는 분해된 구성 성분 사이의 위계 관계의 분석을 거쳐 위계 관계에 따라 파스 트리(parse tree)를 구성하게 된다.
이와 같이 복호화된 데이터를 로드하여 파스 트리(parse tree)를 구성하던 중, 구성 메모리(420)는 S615 단계에서 파스 트리(parse tree)를 구성하는 노드 중 파싱스위치 노드가 존재하는지 판단한다.
판단 결과, 본 발명의 실시 예에 따른 컨디셔널 프로세싱 기능을 수행하는 노드인 파싱스위치(parsingSwitch) 노드가 있을 경우, 구성 메모리(420)는 S620 단계에서 파싱스위치(parsingSwitch) 노드를 통해 전송되는 파싱스위치(parsingSwitch)를 구성하는 각 필드의 정보들(평가 정보)을 해석하고, 평가대상이 되는 하향노드를 구성하는 데이터를 모두 구성 메모리(420)로 로드하기 전에 평가 대상 노드의 속성 및 특성에 대한 정보만을 로드하여 이를 확인한다.
그런 다음, 구성 메모리(420)는 S625 단계에서 속성 및 특성에 대한 정보에 따라 해당 노드들을 하나씩 평가(450)한다.
그런 다음, 구성 메모리(420)는 S630 단계에서 해당 파싱스위치의 모드(mode)에 따라, 그 모드가 디크리멘탈(decremental)인 경우, S635 단계로 분기하고, 그 모드가 인크리멘탈(incremental)인 경우, S640 단계로 분기한다. 이는 상기 단계에서 모드 정보를 확인하는 것이 아니라, 모드에 따라서 처리 방법이 달라짐을 의미한다.
이때, 파싱스위치(parsingSwitch) 노드의 모드(mode) 필드의 값에 따라 모드(mode) 필드의 값이 디크리멘탈(decremental) 필드일 경우, 구성 메모리(420)는 S635 단계에서 평가 결과 참인지 여부를 판단한다. 이때, 평가의 결과에 의해 '참'으로 평가되면, 구성 메모리(420)는 S650 단계에서 참인 노드를 구성 메모리(420)에 로드한다. 즉, 속성 값에 의해 판단된 참인 노드의 실체를 구성 메모리(420)에 로드한다.
한편, 평가 결과에 의해, '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정되어 있을 경우, 즉, 참이 아닌 경우, S620 단계로 진행하여 참이 아닌 노드의 다음 노드의 속성을 구성 메모리(420)에 로드한다.
예컨대, 첫 번째 자식 노드가 '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정되어 있을 경우 두 번째 자식 노드의 속성만을 구성 메모리(420)로 로드한다.
특히, 평가결과에 따라, '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정된 노드는 파싱스위치(parsingSwitch) 노드를 통해 전송되는 리무버블(removable) 필드의 값에 따라 삭제될 수도 있다. 또한, 파싱스위치(parsingSwitch) 노드를 통해 전송되는 파싱스위치(parsingSwitch)를 구성하는 각 필드의 정보들의 해석 결과에 따라, '참'으로 평가된 노드가 하나라도 나타나면, 파싱스위치(parsingSwitch) 노드의 나머지 하향노드 즉, 나머지 자식 노드는 평가하지 않을 수 있다.
파싱스위치(parsingSwitch) 노드의 모드(mode) 필드의 값에 따라 모드(mode) 필드의 값이 인크리멘탈(incremental) 필드일 경우, 구성 메모리(420)는 S640 단계에서 평가 결과 참인지 여부를 판단한다.
이때, 평가의 결과 '참'으로 평가되면, 구성 메모리(420)는 S620 단계로 진행하여 다음 노드를 확인한다. 한편, 평가의 결과에 의해 '거짓' 혹은 'false'로 평가되거나 혹은 해당 서비스의 실행 시간 내에 실행되지 않도록 설정되어 있을 경우, 즉, '참'이 아닌 경우, 구성 메모리(420)는 S645 단계에서 해당 노드의 이전 평가 노드 즉 바로 앞에 평가가 수행된 노드를 구성 메모리(420)에 로드한다. 즉, 속성 값에 의해 판단된 참인 노드의 실체를 구성 메모리(420)에 로드한다.
S655 단계에서 구성 메모리(420)는 로드된 참인 노드들을 구성기(440)를 통해 디스플레이로 출력한다. 이때 '참'으로 평가된 노드는 메모리로 로드되도록 구성되어 있는 시스템일 경우, '거짓'으로 판단된 노드의 실체를 로드하지 않고, 마지막으로 로드된 참인 노드를 구성기(440)을 통하여 디스플레이로 출력한다.
이때, '거짓' 혹은 'false'로 평가된 현재의 평가 노드 및 디스플레이 되는 이전 노드 외의 다른 평가 노드들은 파싱스위치(parsingSwitch) 노드를 통해 전송되는 리무버블(removable) 필드의 값에 따라 구성 메모리(420)에서 삭제될 수 있다. 예컨대, 1, 2, 3, 4, 5의 노드 중 4번 노드가 '거짓'으로 평가되었다면, 3번 노드만이 구성 메모리(420)에 로드되어 구성기(440)를 통하여 출력된다. 이때, 4번 노드와 함께 1, 2번 노드도 한꺼번에 삭제할 수도 있다. 또는 1번 노드가 참이었고, 2번 노드도 참일 경우, 1번 노드를 삭제하는 식으로 한번 평가를 진행할 때마다 한 번씩 삭제 대상 노드를 삭제하여 구성 메모리(420)를 릴리즈(release)할 수도 있다. 또 다른 예로 컨디셔널 프로세싱의 평가 대상 노드 즉, 파싱스위치(parsingSwitch) 노드의 자식 노드 중 하나의 노드만 선택하더라도, '참'으로 평가된 노드들을 구성 메모리(420)에 남겨두도록 설정하는 경우, 4번 노드가 '거짓'으로 평가되었다면, 1, 2, 3, 4번 노드는 구성 메모리(420)에 로드된 채로 남아있고, 3번 노드는 구성기(440)를 통하여 출력된다.
앞서 도 5 및 도 6을 통해 파싱스위치의 컨디셔널 프로세싱의 수행 동작을 살펴보았다. 이와 같이 본 발명에서 설명한 파싱스위치의 컨디셔널 프로세싱의 수행 동작은 파싱스위치의 필드의 설정 값이나 평가 기준 및 평가 방법 등에 따라 순서가 달라지거나, 수행 동작이 추가될 수 있음은 물론이다.
선언적 기술 언어를 기반으로 구성된 데이터의 컨디셔널 프로세싱을 수행하는 경우, 일반적인 컨디셔널 프로세싱은 명령 노드의 모든 자식 노드가 구성 메모리로 로드(load)되어 실제 출력되지 않는 자식 노드까지 계속 메모리를 점유하였다.
반면, 상술한 바와 같은 본 발명의 실시 예에 따르면, 수신기가 데이터 파싱(parsing) 과정에서 컨디셔널 프로세싱 기능을 수행하여 서비스 제공에 필요한 데이터만을 메모리로 로드 함으로써, 수신기의 메모리 자원의 회전율을 높이고, 제한된 메모리 크기를 가지는 수신기의 부담을 줄일 수 있는 등 메모리의 효율적인 관리 수행을 제공하는 효과가 있다.
상술한 실시 예에서 설명에서 노드 및 필드 또는 요소, 속성 및 속성값들이 가지는 의미가 동일한 경우, 노드 및 필드 또는 요소, 속성 및 속성값들이 다른 명칭으로 명시되거나 정의되어 사용될 수 있음은 물론이다. 또한 본 발명에서 신규로 정의한 파싱스위치(parseSwitch) 노드의 각 필드의 정보는 따로 필드를 나누어 구성하지 않고, 파싱스위치(parsingSwitch) 노드 자체가 의미하는 정보로 설정하여 사용할 수도 있음은 물론이다.
또한, 본 발명에서 신규로 정의한 상기 노드 및 필드 또는 요소, 속성 및 속성 값으로 사용되는 정보는 상기 선언적 기술 언어 기반의 프로그램 수행 엔진 및 LASeR의 내/외부의 다른 데이터, 파일, 응용프로그램, 서비스 등을 참조하여 사용하도록 할 수도 있다. 이때 속성을 프로그램 수행 엔진 및 LASeR 내부에 정의하여, 속성값만을 참조할 수도 있고, 속성 자체도 다른 데이터, 파일, 응용프로그램, 서비스 등으로 정의되어 있는 것을 참조의 기능을 가진 요소 및 속성을 이용하여 참조할 수도 있다. 참조의 기능을 가진 요소 및 속성을 이용하여 속성 및 속성값을 참조하는 경우라 하여도, 본 발명에서 설명하는 속성의 기능과 동일한 목적을 위하여 사용된다면 그것은 본 발명의 영역에 속하는 것임이 자명하다.
이상 본 발명을 몇 가지 바람직한 실시 예를 사용하여 설명하였으나, 이들 실시 예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
도 1은 일반적인 선언적 기술 언어를 수신한 단말의 컨디셔널 프로세싱 수행 과정을 나타낸 흐름도.
도 2는 본 발명의 실시 예에 따른 파싱스위치(parsingSwitch) 노드 구조를 설명하기 위한 도면.
도 3은 본 발명의 실시 예에 따른 송신기의 개략적인 구조를 설명하기 위한 도면.
도 4는 본 발명의 실시 예에 따른 송신기의 개략적인 구조를 설명하기 위한 도면.
도 5는 본 발명의 일 실시 예에 따른 컨디셔널 프로세싱 방법을 설명하기 위한 흐름도.
도 6은 본 발명의 다른 실시 예에 따른 컨디셔널 프로세싱 방법을 설명하기 위한 도면.

Claims (18)

  1. 삭제
  2. 미디어 데이터를 수신하기 위한 장치에서 상기 미디어 데이터를 수신 및 컨디셔널 프로세싱 하기 위한 방법에 있어서,
    선언적 기술 언어에 기반하여 적어도 하나의 파싱 스위치 노드를 포함하는 상기 미디어 데이터 스트림 수신 시 이를 복호하는 과정과,
    상기 복호된 데이터에서 상기 적어도 하나의 파싱 스위치 노드를 검출하는 과정과,
    상기 검출된 적어도 하나의 파싱 스위치 노드가 하향 순으로 자식 노드들을 검사하도록 설정된 경우 상기 파싱 스위치 노드의 자식 노드들을 하향 노드 순으로 "참" 또는 "거짓"을 검사하는 과정과,
    상기 파싱 스위치 노드의 자식 노드들 중 "참"인 자식 노드만 구성 메모리로 로드하는 과정과,
    상기 구성 메모리에 로드된 노드들만을 사용자에게 제공 가능한 형태로 출력하는 과정을 포함하는, 컨디셔널 프로세싱을 위한 데이터 수신 방법.
  3. 제2항에 있어서,
    상기 검출된 적어도 하나의 파싱 스위치 노드가 상향 순으로 자식 노드들을 검사하도록 설정된 경우 상기 파싱 스위치 노드의 자식 노드들을 상향 노드 순으로 "참" 또는 "거짓"을 검사하는 과정과,
    상기 파싱 스위치 노드의 자식 노드들의 검사 중 "참"인 자식 노드만 구성 메모리로 로드하여 사용자에게 제공 가능한 형태로 출력하는 과정을 더 포함하는, 컨디셔널 프로세싱을 위한 데이터 수신 방법.
  4. 제2항에 있어서,
    상기 검사하는 과정은 검사 대상 노드를 구성하기 위한 메모리 요구량을 고려하는 것을 특징으로 하는 컨디셔널 프로세싱을 위한 데이터 수신 방법.
  5. 제2항에 있어서,
    상기 파싱 스위치 노드의 자식 노드들의 검사 중 최초로 "참"인 자식 노드가 검사되면, 해당 파싱 스위치의 "참" 또는 "거짓" 검사 프로세싱을 종료하는 과정을 더 포함하는, 컨디셔널 프로세싱을 위한 데이터 수신 방법.
  6. 제3항에 있어서,
    상기 검출된 적어도 하나의 파싱 스위치 노드가 상향 순으로 자식 노드들을 검사 중 최초로 "거짓"인 자식 노드가 검사되면, 해당 파싱 스위치의 "참" 또는 "거짓" 검사 프로세싱을 종료하는 과정을 더 포함하는, 컨디셔널 프로세싱을 위한 데이터 수신 방법.
  7. 삭제
  8. 제2항에 있어서,
    상기 "참" 또는 "거짓" 검사가 사후 검사인 경우, 상기 파싱 스위치 노드의 검사를 상기 구성 메모리로 로드한 후 수행하며,
    여기서, 로드된 검사 대상 노드들 중 사용자에게 제공하지 않는 노드가 적어도 하나 이상 존재할 시 상기 사용자에게 제공하지 않는 노드들을 삭제하는 과정을 더 포함하는, 컨디셔널 프로세싱을 위한 데이터 수신 방법.
  9. 삭제
  10. 삭제
  11. 미디어 데이터를 수신하여 상기 미디어 데이터를 컨디셔널 프로세싱 하기 위한 데이터 수신 장치에 있어서,
    선언적 기술 언어에 기반하여 적어도 하나의 파싱 스위치 노드를 포함하는 상기 미디어 데이터 스트림 수신 시 이를 복호화하여 출력하는 복호기;
    상기 복호된 데이터에서 상기 적어도 하나의 파싱 스위치 노드를 검출하고, 상기 검출된 적어도 하나의 파싱 스위치 노드가 하향 순으로 자식 노드들을 검사하도록 설정된 경우 상기 파싱 스위치의 자식 노드들을 하향 노드 순으로 "참" 또는 "거짓"을 검사하여 상기 파싱 스위치 노드의 자식 노드들의 검사 중 "참"인 자식 노드만 구성 메모리로 로드하는 구성 메모리; 및
    상기 구성 메모리에 로드된 정보만을 사용자에게 제공 가능한 형태로 출력하는 구성기;를 포함하는, 컨디셔널 프로세싱을 위한 데이터 수신 장치.
  12. 제11항에 있어서,
    상기 구성 메모리는,
    상기 검출된 적어도 하나의 파싱 스위치 노드가 상향 순으로 자식 노드들을 검사하도록 설정된 경우 상기 파싱 스위치 노드의 자식 노드들을 상향 노드 순으로 "참" 또는 "거짓"을 검사하고, 상기 파싱 스위치 노드의 자식 노드들의 검사 중 "참"인 자식 노드만 구성 메모리로 로드하는, 컨디셔널 프로세싱을 위한 데이터 수신 장치.
  13. 삭제
  14. 제11항에 있어서,
    상기 구성 메모리는 검사 대상 노드를 구성하기 위한 메모리 요구량을 고려하는 것을 특징으로 하는 컨디셔널 프로세싱을 위한 데이터 수신 장치.
  15. 제11항에 있어서, 상기 구성 메모리는,
    상기 검출된 적어도 하나의 파싱 스위치 노드가 하향 순으로 자식 노드들을 검사 중 최초로 "참"인 자식 노드가 검사되면, 해당 파싱 스위치 노드의 "참" 또는 "거짓" 감사 프로세싱을 종료하는, 컨디셔널 프로세싱을 위한 데이터 수신 장치.
  16. 제12항에 있어서, 상기 구성 메모리는,
    상기 검출된 적어도 하나의 파싱 스위치 노드가 상향 순으로 자식 노드들을 검사 중 최초로 "거짓"인 자식 노드가 검사되면, 해당 파싱 스위치 노드의 "참" 또는 "거짓" 검사 프로세싱을 종료하는, 컨디셔널 프로세싱을 위한 데이터 수신 장치.
  17. 삭제
  18. 삭제
KR1020080107630A 2008-10-31 2008-10-31 컨디셔널 프로세싱 방법 및 장치 KR101574603B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020080107630A KR101574603B1 (ko) 2008-10-31 2008-10-31 컨디셔널 프로세싱 방법 및 장치
CN200980143188.2A CN102203734B (zh) 2008-10-31 2009-10-30 条件处理方法和设备
AU2009310547A AU2009310547B2 (en) 2008-10-31 2009-10-30 Conditional processing method and apparatus
CA2741082A CA2741082C (en) 2008-10-31 2009-10-30 Conditional processing method and apparatus
JP2011534398A JP5536790B2 (ja) 2008-10-31 2009-10-30 コンディショナルプロセッシング方法及び装置
PCT/KR2009/006363 WO2010050786A2 (en) 2008-10-31 2009-10-30 Conditional processing method and apparatus
EP09823866.0A EP2344951B1 (en) 2008-10-31 2009-10-30 Conditional processing method and apparatus
US12/610,817 US9058181B2 (en) 2008-10-31 2009-11-02 Conditional processing method and apparatus
US14/739,848 US9298601B2 (en) 2008-10-31 2015-06-15 Conditional processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080107630A KR101574603B1 (ko) 2008-10-31 2008-10-31 컨디셔널 프로세싱 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20100048460A KR20100048460A (ko) 2010-05-11
KR101574603B1 true KR101574603B1 (ko) 2015-12-04

Family

ID=42129493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080107630A KR101574603B1 (ko) 2008-10-31 2008-10-31 컨디셔널 프로세싱 방법 및 장치

Country Status (8)

Country Link
US (2) US9058181B2 (ko)
EP (1) EP2344951B1 (ko)
JP (1) JP5536790B2 (ko)
KR (1) KR101574603B1 (ko)
CN (1) CN102203734B (ko)
AU (1) AU2009310547B2 (ko)
CA (1) CA2741082C (ko)
WO (1) WO2010050786A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10158649B2 (en) * 2013-08-20 2018-12-18 Nokia Technologies Oy Method and apparatus for privacy-enhanced evidence evaluation
US9588975B2 (en) 2014-06-11 2017-03-07 International Business Machines Corporation Processing large XML files by splitting and hierarchical ordering
CN106293653B (zh) * 2015-05-19 2020-11-06 深圳市腾讯计算机系统有限公司 代码处理方法及装置、计算机可读介质
CN104965794B (zh) * 2015-05-26 2017-12-22 努比亚技术有限公司 内存管理方法及装置
US10620950B2 (en) 2016-09-07 2020-04-14 International Business Machines Corporation Message parsing in a distributed stream processing system
CN109165014B (zh) * 2018-07-17 2022-03-29 北京新唐思创教育科技有限公司 用于编辑控件的方法、装置、设备以及计算机存储介质
US11748358B2 (en) * 2018-09-28 2023-09-05 Splunk Inc. Feedback on inferred sourcetypes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030001948A1 (en) * 2001-06-29 2003-01-02 Yoshiyuki Mochizuki Content distribution system and distribution method
US20040221319A1 (en) * 2002-12-06 2004-11-04 Ian Zenoni Application streamer
US20050102652A1 (en) * 2003-11-07 2005-05-12 Sony Corporation System and method for building software suite
US20070003166A1 (en) * 2005-06-30 2007-01-04 Kathrin Berkner White space graphs and trees for content-adaptive scaling of document images

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200927A (en) * 1978-01-03 1980-04-29 International Business Machines Corporation Multi-instruction stream branch processing mechanism
US5339421A (en) * 1991-03-22 1994-08-16 International Business Machines Corporation General data stream parser for encoding and decoding data and program interface for same
US6230173B1 (en) * 1995-07-17 2001-05-08 Microsoft Corporation Method for creating structured documents in a publishing system
US5701490A (en) * 1996-01-16 1997-12-23 Sun Microsystems, Inc. Method and apparatus for compiler symbol table organization with no lookup in semantic analysis
US6314558B1 (en) * 1996-08-27 2001-11-06 Compuware Corporation Byte code instrumentation
US6085186A (en) * 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
WO1998048360A1 (en) * 1997-04-22 1998-10-29 Greg Hetherington Method and apparatus for processing free-format data
JP3202968B2 (ja) * 1998-06-30 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示制御情報生成方法及びコンピュータ
US6697359B1 (en) * 1999-07-02 2004-02-24 Ancor Communications, Inc. High performance switch fabric element and switch systems
US6996770B1 (en) * 1999-07-26 2006-02-07 Microsoft Corporation Methods and systems for preparing extensible markup language (XML) documents and for responding to XML requests
US6772413B2 (en) * 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
US7047033B2 (en) * 2000-02-01 2006-05-16 Infogin Ltd Methods and apparatus for analyzing, processing and formatting network information such as web-pages
US6826726B2 (en) * 2000-08-18 2004-11-30 Vaultus Mobile Technologies, Inc. Remote document updating system using XML and DOM
GB0107882D0 (en) * 2001-03-29 2001-05-23 Ibm Parsing messages with multiple data formats
US7703009B2 (en) * 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
EP1430420A2 (en) * 2001-05-31 2004-06-23 Lixto Software GmbH Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
US7373597B2 (en) * 2001-10-31 2008-05-13 University Of Medicine & Dentistry Of New Jersey Conversion of text data into a hypertext markup language
WO2003065180A2 (en) * 2002-02-01 2003-08-07 John Fairweather System and method for creating a distributed network architecture
WO2003071393A2 (en) * 2002-02-15 2003-08-28 Mathsoft Engineering And Education, Inc. Linguistic support for a regognizer of mathematical expressions
CA2484355A1 (en) * 2002-05-02 2003-11-13 Sarvega, Inc. System and method for transformation of xml documents using stylesheets
US7302383B2 (en) * 2002-09-12 2007-11-27 Luis Calixto Valles Apparatus and methods for developing conversational applications
US7080094B2 (en) * 2002-10-29 2006-07-18 Lockheed Martin Corporation Hardware accelerated validating parser
DE10339537A1 (de) * 2003-08-26 2005-03-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Radio
US7302678B2 (en) * 2003-09-10 2007-11-27 Sap Aktiengesellschaft Symmetric transformation processing system
US7165216B2 (en) * 2004-01-14 2007-01-16 Xerox Corporation Systems and methods for converting legacy and proprietary documents into extended mark-up language format
US20050188350A1 (en) * 2004-02-20 2005-08-25 Microsoft Corporation Data binding
US20060031555A1 (en) * 2004-08-05 2006-02-09 Somsubhra Sikdar Data context switching in a semantic processor
JP2006195675A (ja) * 2005-01-12 2006-07-27 Osaka Univ ブラウジングシステム
WO2006081428A2 (en) * 2005-01-27 2006-08-03 Symyx Technologies, Inc. Parser for generating structure data
US7548926B2 (en) * 2005-10-05 2009-06-16 Microsoft Corporation High performance navigator for parsing inputs of a message
US7933928B2 (en) * 2005-12-22 2011-04-26 Oracle International Corporation Method and mechanism for loading XML documents into memory
US7496667B2 (en) * 2006-01-31 2009-02-24 International Business Machines Corporation Decentralized application placement for web application middleware
US7720835B2 (en) * 2006-05-05 2010-05-18 Visible Technologies Llc Systems and methods for consumer-generated media reputation management
JP4763080B2 (ja) * 2006-07-11 2011-08-31 韓國電子通信研究院 LASeRコンテンツ表示装置及び方法
US8209605B2 (en) * 2006-12-13 2012-06-26 Pado Metaware Ab Method and system for facilitating the examination of documents
JP2008310685A (ja) * 2007-06-15 2008-12-25 Hitachi Ltd 冗長性を維持した性能最適化を行うストレージシステム
US8347039B2 (en) * 2010-01-08 2013-01-01 International Business Machines Corporation Programmable stream prefetch with resource optimization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030001948A1 (en) * 2001-06-29 2003-01-02 Yoshiyuki Mochizuki Content distribution system and distribution method
US20040221319A1 (en) * 2002-12-06 2004-11-04 Ian Zenoni Application streamer
US20050102652A1 (en) * 2003-11-07 2005-05-12 Sony Corporation System and method for building software suite
US20070003166A1 (en) * 2005-06-30 2007-01-04 Kathrin Berkner White space graphs and trees for content-adaptive scaling of document images

Also Published As

Publication number Publication date
WO2010050786A2 (en) 2010-05-06
CA2741082C (en) 2016-02-02
EP2344951B1 (en) 2018-12-05
WO2010050786A3 (en) 2010-08-12
AU2009310547A1 (en) 2010-05-06
AU2009310547A2 (en) 2011-05-26
JP2012507776A (ja) 2012-03-29
CN102203734A (zh) 2011-09-28
AU2009310547B2 (en) 2015-11-19
CN102203734B (zh) 2015-05-20
US20100115129A1 (en) 2010-05-06
US9298601B2 (en) 2016-03-29
EP2344951A4 (en) 2012-05-16
US9058181B2 (en) 2015-06-16
KR20100048460A (ko) 2010-05-11
JP5536790B2 (ja) 2014-07-02
US20150278083A1 (en) 2015-10-01
CA2741082A1 (en) 2010-05-06
EP2344951A2 (en) 2011-07-20

Similar Documents

Publication Publication Date Title
KR101574603B1 (ko) 컨디셔널 프로세싱 방법 및 장치
US7203869B2 (en) Test stream generating method and apparatus for supporting various standards and testing levels
US20100185938A1 (en) Mulitple updates to content descriptions using a single command
US20030028557A1 (en) Incremental bottom-up construction of data documents
EP2775707A1 (en) Information processing device, information processing method, and program
US20080126373A1 (en) Structured data receiving apparatus, receiving method, reviving program, transmitting apparatus, and transmitting method
US20100180310A1 (en) Rich media-enabled service guide provision method and system for broadcast service
US20030084180A1 (en) Metadata receiving apparatus, receiving method, metadata receiving program, computer-readable recording medium recording therein metadata receiving program, metadata sending apparatus, and transmitting method
JP2011518526A (ja) リッチメディアサービスのための端末のユーザインターフェース装置及び方法
KR101525248B1 (ko) 리치미디어 서비스를 제공하는 방법 및 장치
US7512955B2 (en) Method and system for accessing and implementing declarative applications used within digital multi-media broadcast
KR101621092B1 (ko) 구조화된 정보의 장면 표시 장치 및 그 방법
US20100083336A1 (en) Method and apparatus for providing rich media service
GB2468878A (en) A receiver for a testing device
Matsubara et al. Lightweight interactive multimedia environment for TV
US20110116554A1 (en) Method and apparatus for encoding and decoding
CN107211192A (zh) 服务使用的上报系统
US20110162023A1 (en) Method and system for providing correlated advertisement for complete internet anywhere
US10820043B2 (en) Method for decoding a service guide
Melendreras-Ruiz et al. TDTASK: Through a Universal Platform for the Development of t-Government Services

Legal Events

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

Payment date: 20181030

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191030

Year of fee payment: 5