KR101138578B1 - 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체 - Google Patents

프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체 Download PDF

Info

Publication number
KR101138578B1
KR101138578B1 KR1020090111976A KR20090111976A KR101138578B1 KR 101138578 B1 KR101138578 B1 KR 101138578B1 KR 1020090111976 A KR1020090111976 A KR 1020090111976A KR 20090111976 A KR20090111976 A KR 20090111976A KR 101138578 B1 KR101138578 B1 KR 101138578B1
Authority
KR
South Korea
Prior art keywords
content
unwanted
frame buffer
unwanted content
graphics processing
Prior art date
Application number
KR1020090111976A
Other languages
English (en)
Other versions
KR20100056982A (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 KR20100056982A publication Critical patent/KR20100056982A/ko
Application granted granted Critical
Publication of KR101138578B1 publication Critical patent/KR101138578B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/027Arrangements and methods specific for the display of internet documents
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 제공된다. 사용에 있어서, 프레임 버퍼에 저장된 원하지 않는 콘텐츠가 식별된다. 또한, 원하지 않는 콘텐츠의 식별에 기초하여 원하지 않는 콘텐츠의 표시가 방지된다.
컴퓨터, 원하지 않는 콘텐츠, 식별, 표시 방지, 프레임 버퍼

Description

프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체{SYSTEM, METHOD, AND COMPUTER-READABLE RECORDING MEDIUM FOR PREVENTING DISPLAY OF UNWANTED CONTENT STORED IN A FRAME BUFFER}
본 발명은 원하지 않는 콘텐츠에 관한 것으로서, 특히 원하지 않는 콘텐츠의 식별에 관한 것이다.
전통적으로, 원하지 않는 콘텐츠(예를 들어, 음란물 콘텐츠)는 다양한 목적으로 식별되었다. 예를 들어, 원하지 않는 콘텐츠는 종종, 원하지 않는 콘텐츠를 차단하고, 원하지 않는 콘텐츠의 잠재적 뷰어에게 경고하고, 잠재적 뷰어들이 원하지 않는 콘텐츠를 보는 것을 방지하는 것 등을 위해 식별되었다. 그러나, 원하지 않는 콘텐츠를 식별하기 위한 종래의 기술들은 일반적으로 다양한 제한을 보여왔다.
단지 예로서, 인터넷 상에는 이용 가능한 상당한 양의 성인 콘텐츠가 존재하는데, 이들은 많은 컴퓨터 사용자에게 불쾌할 수 있거나, 부모는 자식이 이들을 보는 것을 방지하기를 원할 수 있다. 다른 예로서, 도서관과 같은 공공 장소들에서 는, (예를 들어, 인터넷 등을 통해) 이용 가능한 콘텐츠의 타입을 제한하는 것이 바람직할 수 있다. 소비자 시장에서 판매되는 많은 콘텐츠 보호 시스템이 존재하지만, 이들 중 대다수는 공지된 불쾌한 콘텐츠, 즉 불쾌한 것으로서 식별된 특정 콘텐츠의 데이터베이스에 의존하거나, 콘텐츠가 불쾌할 수 있음을 지시하는 키워드들 또는 다른 텍스트 식별자들에 대한 검색에 의존한다. 불행하게도, 이러한 기술들은 새로운 발견되지 않은 콘텐츠 또는 사기 방식으로 제공되어 사용자로 하여금 보게끔 속이려고 시도하는 콘텐츠를 방지하기에는 불충분하다.
따라서, 종래 기술과 관련된 이들 및/또는 다른 문제들을 해결하는 것이 필요하다.
프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 프로그램 제품이 제공된다. 사용에 있어서, 프레임 버퍼에 저장된 원하지 않는 콘텐츠가 식별된다. 또한, 원하지 않는 콘텐츠의 식별에 기초하여 원하지 않는 콘텐츠의 표시가 방지된다.
도 1은 일 실시예에 따른, 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 방법을 나타낸다. 동작 102에 지시되는 바와 같이, 프레임 버퍼에 저장된 원하지 않는 콘텐츠가 식별된다. 본 설명과 관련하여, 원하지 않는 콘 텐츠는 프레임 버퍼에 저장된 임의의 원하지 않는 콘텐츠를 포함할 수 있다. 다양한 실시예에서, 원하지 않는 콘텐츠는 비주얼 콘텐츠(예를 들어, 웹페이지, 비디오 등)를 포함할 수 있다. 단지 예로서, 원하지 않는 콘텐츠는 포르노그라피, 신성 모독 및/또는 원하지 않는 것으로 결정된(예를 들어 사전 결정 등) 임의의 다른 타입의 데이터를 포함할 수 있다.
또한, 원하지 않는 콘텐츠가 저장되는 프레임 버퍼는 원하지 않는 콘텐츠의 각각의 프레임을 저장하기 위한 버퍼를 포함할 수 있다. 예를 들어, 프레임 버퍼는 원하지 않는 콘텐츠의 이미지의 디지털 표현을 저장할 수 있다. 이를 위해, 프레임 버퍼는 원하지 않는 콘텐츠를 식별하는 데 사용되는 프로그램, 원하지 않는 콘텐츠를 식별하는 데 사용되는 컴퓨터 상에 설치된 운영 체제, 그러한 컴퓨터의 인터넷 접속의 타입 등에 관계없이 디스플레이를 통해 표시될 원하지 않는 콘텐츠의 이미지를 저장할 수 있다.
일 실시예에서, 원하지 않는 콘텐츠는 프레임 버퍼에 저장된 콘텐츠를 원하지 않는 것으로서 결정함으로써 식별될 수 있다. 단지 예로서, 프레임 버퍼에 저장된 콘텐츠에 의해 표현되는 이미지는 공지된 원하지 않는 이미지들과 비교될 수 있다. 또한, 원하지 않는 콘텐츠는 프레임 버퍼에 저장된 콘텐츠에 의해 표현되는 이미지와 공지된 원하지 않는 이미지들 사이의 일치의 결과로서 식별될 수 있다.
다른 예로서, 프레임 버퍼에 저장된 콘텐츠에 의해 표현되는 이미지에 정책(예를 들어, 규칙들)이 적용될 수 있다. 이를 위해, 원하지 않는 콘텐츠는 이미지의 적어도 일부가 정책을 위반한 것으로 결정한 결과로서 식별될 수 있다. 그러 나, 물론, 원하지 않는 콘텐츠는 임의의 원하는 방식으로 식별될 수도 있다.
일 실시예에서, 원하지 않는 콘텐츠는 프레임 버퍼에 저장된 콘텐츠의 분석을 가능하게 하는 수동 생성 명령에 응답하여 식별될 수 있다. 예를 들어, 사용자는 프레임 버퍼에 저장된 콘텐츠의 분석을 가능하게 하기 위한 그래픽 사용자 인터페이스(GUI)를 이용할 수 있다. 그러한 분석은 원하지 않는 콘텐츠의 식별로 이어질 수 있다.
다른 실시예에서, 원하지 않는 콘텐츠는 프레임 버퍼에 저장된 콘텐츠의 분석을 가능하게 하는 자동 생성 명령에 응답하여 식별될 수 있다. 옵션으로서, 명령은 원하지 않는 콘텐츠의 식별을 수행하는 프로세서(예를 들어, 그래픽 프로세서)의 부하에 기초하여 자동으로 생성될 수 있다. 단지 예로서, 분석은 부하가 소정의 임계치 아래일 경우에만 가능할 수 있다.
더욱이, 동작 104에 지시되는 바와 같이, 원하지 않는 콘텐츠의 표시는 원하지 않는 콘텐츠의 식별에 기초하여 방지된다. 원하지 않는 콘텐츠의 표시는 디스플레이 장치를 통한 임의의 표시를 포함할 수 있다. 다양한 실시예에서, 원하지 않는 콘텐츠의 표시는 텔레비전을 통한 표시, 개인용 컴퓨터를 통한 표시 등을 포함할 수 있다.
따라서, 원하지 않는 콘텐츠는 디스플레이(예를 들어, 컴퓨터 모니터, 텔레비전 등)을 통해 뷰어에게 표시되는 것이 방지(예를 들어, 차단 등)될 수 있다. 프레임 버퍼에 저장된 원하지 않는 콘텐츠가 표시되는 것을 방지함으로써, 원하지 않는 콘텐츠는 그의 표시 전의 최종 가능한 단계에서 표시가 방지될 수 있다. 물 론, 다른 옵션으로서, 원하지 않는 콘텐츠의 표시를 방지하는 것은 원하지 않는 콘텐츠가 이미 표시된 후에 원하지 않는 콘텐츠의 표시를 종료하는 것을 포함할 수 있다. 단지 예로서, 원하지 않는 콘텐츠는 그의 최초 표시 후에 식별될 수 있으며, 따라서 원하지 않는 콘텐츠의 식별시에 원하지 않는 콘텐츠는 임의의 추가 시간 길이 동안 표시가 방지될 수 있다.
원하지 않는 콘텐츠의 표시는 임의의 원하는 방식으로 방지될 수 있다는 점에 유의해야 한다. 단지 예로서, 원하지 않는 콘텐츠는 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 소정의 콘텐츠로 덮어씀으로써 표시가 방지될 수 있다. 그러한 소정의 콘텐츠는 경고(예를 들어, 경고 메시지), 에러 메시지, 칼라 입체 블록 또는 임의의 다른 패턴 등을 포함할 수 있다.
일 실시예에서, 식별 및 방지는 중앙 처리 유닛(CPU)에 의해 수행될 수 있다. CPU는 프레임 버퍼에 저장된 콘텐츠를 그러한 프레임 버퍼와 직접 통신하는 그래픽 처리 유닛(GPU)을 통해 판독할 수 있고, 콘텐츠를 원하지 않는 콘텐츠로서 적절히 식별할 수 있다. 더욱이, CPU는 원하지 않는 콘텐츠의 식별에 기초하여 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 표시하지 않도록 GPU에 지시함으로써 원하지 않는 콘텐츠의 표시를 방지할 수 있다.
다른 실시예에서, 식별 및 방지는 GPU 등과 같은 그래픽 프로세서에 의해 수행될 수 있다. 예를 들어, 식별 및 방지를 수행하기 위한 코드가 그래픽 프로세서 상에서 구현될 수 있다. 그래픽 프로세서는 전술한 바와 같이 프레임 버퍼와 직접 통신할 수 있다. 이러한 방식으로, 그래픽 프로세서는 옵션으로서 (예를 들어, 콘 텐츠를 그래픽 프로세서에서 프레임 버퍼로 전달하기 위한 다른 중간 하드웨어를 요구할 필요 없이) 프레임 버퍼로부터 직접 콘텐츠를 검색하여, 그러한 콘텐츠를 원하지 않는 콘텐츠로서 식별하고, 또한 원하지 않는 콘텐츠의 표시를 방지할 수 있다.
이미지 콘텐츠를 식별하기 위한 다양한 알고리즘은 그래픽 프로세서 상에서의 병렬 처리에 적합할 수 있다. 따라서, 그래픽 프로세서는 CPU보다 빠른 속도로 처리를 수행할 수 있으며, 따라서 원하지 않는 콘텐츠의 식별 및 원하지 않는 콘텐츠의 표시의 방지는 옵션으로서 CPU에서보다 빠르게 수행될 수 있다. 또한, 그래픽 프로세서의 더 빠른 처리 속도로 인해, 그래픽 프로세서는 원하지 않는 콘텐츠의 식별 및 원하지 않는 콘텐츠의 표시 방지를 더 효율적으로 수행할 수 있으며, 따라서 CPU를 통해 제공될 수 있는 것보다 더 철저한 원하지 않는 콘텐츠 식별 기술들, 더 다양한 원하지 않는 콘텐츠 식별 테스트들 등을 이용하는 것이 가능할 수 있다. 또한, 원하지 않는 콘텐츠의 식별 및 원하지 않는 콘텐츠의 표시 방지를 위해 그래픽 프로세서를 사용하는 것은 그러한 식별 및 방지를 수행함에 있어서 CPU 처리 자원들의 소비를 방지하여, CPU 자원들이 다른 실행중인 애플리케이션들을 위해 이용될 수 있게 할 수 있다.
또 다른 실시예에서, 식별 및 방지는 GPU 쉐이더(shader) 하드웨어를 이용하여 수행될 수 있다. 예를 들어, 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 식별하고 그의 식별에 기초하여 원하지 않는 콘텐츠의 표시를 방지하기 위해 쉐이더 하드웨어 상에서 코드가 실행될 수 있다.
또 다른 실시예에서, 식별 및 방지는 그래픽 카드(예를 들어, 그래픽 카드의 비휘발성 메모리) 상에 구현되는 컴퓨터 코드에 의해 제공될 수 있으며, 따라서 컴퓨터 코드는 그래픽 카드가 활성일 때마다 실행될 수 있다. 원하지 않는 콘텐츠의 식별 및 원하지 않는 콘텐츠의 표시 방지를 위한 컴퓨터 코드를 그래픽 카드 상에 제공함으로써, 컴퓨터 코드는 옵션으로서 불능화되지 않을 수 있다(예를 들어, 그러한 그래픽 카드를 사용하는 시스템으로부터 그래픽 카드를 물리적으로 제거하지 않고는 컴퓨터 코드를 비활성화하는 것이 불가능할 수 있기 때문이다). 또한, 원하지 않는 콘텐츠의 식별 및 원하지 않는 콘텐츠의 표시 방지를 위한 컴퓨터 코드를 그래픽 카드 상에 제공함으로써, 컴퓨터 코드는 그래픽 카드가 구현된 컴퓨터 상의 운영 체제 또는 다른 소프트웨어와 완전히 무관하게 실행될 수 있다.
그래픽 프로세서는 이미지 또는 비디오 정보가 아닌 콘텐츠를 식별하고 그의 출력을 방지하는 데 사용될 수도 있다. 많은 패턴 인식 알고리즘들은 GPU들 상에서의 병렬 처리에 적합할 수 있으며, 따라서 많은 타입의 콘텐츠의 효율적인 식별을 허가하면서, CPU의 계산 부하를 줄일 수 있다. 다른 옵션 실시예(도시되지 않음)에서, 원하지 않는 오디오가 식별될 수 있다. 예를 들어, 원하지 않는 오디오는 음성 인식을 이용하여 식별될 수 있으며, 따라서 원하지 않는 오디오는 텍스트로 변환되고, 원하지 않는 것으로서 사전 결정된 텍스트와 비교될 수 있다. 물론, 원하지 않는 오디오는 오디오를 원하지 않는 것으로서 사전 결정된 오디오와 비교함으로써 식별될 수도 있다. 따라서, 일치가 식별되는 경우, 오디오는 원하지 않는 오디오로서 식별될 수 있다. 그러나, 물론, 원하지 않는 오디오는 임의의 다른 방식으로 식별될 수도 있다.
또한, 원하지 않는 오디오의 가청 출력이 방지될 수 있다. 예를 들어, 원하지 않는 오디오는 소정의 오디오 등으로 덮어쓸 수 있다. 더욱이, 그러한 원하지 않는 오디오의 식별 및 원하지 않는 오디오의 가청 출력 방지는 오디오를 출력하는 데 사용되는 프로세서에 의해 수행될 수 있다. 따라서, 다른 경우에 원하지 않는 오디오의 가청 출력을 제공하는 프로세서는 원하지 않는 오디오의 식별에 기초하여 그의 가청 출력을 방지할 수 있다.
옵션으로서, (예를 들어, 원하지 않는 오디오의 가청 출력의 개시 시에) 원하지 않는 오디오에 지연(예를 들어, 3초 등)이 삽입될 수 있다. 다른 옵션으로서, 원하지 않는 오디오가 사전 스캐닝될 수 있다. 이를 위해, 지연 및/또는 사전 스캐닝은 원하지 않는 오디오의 출력 전에 오디오를 원하지 않는다는 결정이 이루어지는 것을 가능하게 할 수 있고, 따라서 원하지 않는 오디오는 그러한 오디오를 원하지 않는다는 결정에 응답하여 출력이 방지될 수 있다.
도 1의 전술한 설명 및/또는 나머지 도면들과 관련된 위의 설명 중 임의 설명은 원하지 않는 오디오의 식별에 기초하여 원하지 않는 오디오의 가청 출력을 방지하기 위한 상기 기술의 추가 상세들을 제공하는 데 이용될 수 있다는 점에 유의해야 한다. 단지 예로서, 표시 드라이버에 대한 임의의 참조는 원하지 않는 오디오 출력의 방지에 대해 오디오 드라이버로서 적용될 수 있고, 그래픽 프로세서에 대한 임의의 참조는 원하지 않는 오디오 출력의 방지에 대해 오디오 출력 프로세서로서 적용될 수 있고, 프레임 버퍼에 대한 임의의 참조는 원하지 않는 오디오 출력 에 대해 그의 가청 출력 이전에 오디오를 저장하기 위한 버퍼로서 적용될 수 있으며, 기타 등등이다.
이제, 사용자의 요구에 따라 상기 프레임워크를 구현하거나 구현하지 않을 수 있는 다양한 옵션 아키텍처들 및 특징들과 관련하여 더 상세한 정보가 설명될 것이다. 아래의 정보는 예시적인 목적으로 설명되며, 어떠한 방식으로도 제한적인 것으로 해석되지 않아야 한다는 점에 확실히 유의해야 한다. 아래의 특징들 중 임의 특징은 옵션으로서, 설명되는 다른 특징들을 배제하거나 배제하지 않고 포함될 수 있다.
도 2는 다른 실시예에 따른, 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템(200)을 나타낸다. 옵션으로서, 시스템(200)은 도 1의 방법(100)을 수행하도록 구현될 수 있다. 그러나, 물론, 시스템(200)은 임의의 원하는 환경에서 구현될 수 있다. 전술한 정의들은 본 설명 동안 적용될 수 있다는 점에도 유의해야 한다.
도시된 바와 같이, 컴퓨터(예를 들어, 개인용 컴퓨터) 상에서 실행되는 소프트웨어 그래픽 드라이버 프로그램(202)이 그래픽 프로세서(204)와 통신한다. 드라이버(202)는 디스플레이 장치(도시되지 않음) 상에 콘텐츠(예를 들어, 이미지, 비디오 등)를 표시하도록 그래픽 프로세서를 제어하고 그와 통신할 수 있는 임의의 소프트웨어 프로그램을 포함할 수 있다. 따라서, 드라이버(202)는 표시 드라이버(202)를 포함할 수 있다.
또한, 그래픽 프로세서(204)는 디스플레이 장치 상에 콘텐츠를 표시하기 위 해 콘텐츠를 처리할 수 있는 GPU와 같은 임의의 프로세서 또는 프로세서들의 집합 및 보조 컴포넌트들을 포함할 수 있다. 그래픽 프로세서(204)는 디스플레이 장치 상에 콘텐츠를 표시하는 데 필요한 많은 계산 작업들을 수행할 수 있다. 예를 들어, 표시될 모든 콘텐츠는 CPU 프로그램에 의해 그래픽 프로세서(204)로 전송될 수 있으며, 이에 따라 그래픽 프로세서(204)는 콘텐츠를 처리하여, 디스플레이 장치 상에 표시될 최종 이미지를 생성할 수 있다. 다양한 실시예에서, 그래픽 프로세서(204)는 컴퓨터 애드-온(add-on) 카드로서, 컴퓨터 마더보드의 일부로서 구현되거나, CPU 내에 통합되는 등등일 수 있다.
또한, 도시된 바와 같이, 그래픽 프로세서(204)는 프레임 버퍼(206)와 직접 통신한다. 프레임 버퍼(206)는 그래픽 프로세서(204)와 같은 곳에 위치할 수 있는 메모리로서, 디스플레이 장치 상에 표시될 콘텐츠의 이미지를 저장하는 데 사용될 수 있다. 예를 들어, 프레임 버퍼(206)는 그래픽 드라이버(202)를 통해 애플리케이션으로부터 표시될 콘텐츠를 수신할 수 있으며, 그러한 콘텐츠의 이미지를 저장할 수 있다. 옵션으로서, 다수의 프레임 버퍼가 제공될 수 있으며, 프레임 버퍼 메모리는 그래픽 프로세서(204)에 의해 처리되는 다른 타입의 데이터를 저장하는 데 사용될 수 있다. 일 실시예에서, 프레임 버퍼(206) 메모리는 그래픽 프로세서(204)와 같은 곳에 배치되고 그래픽 프로세서(204)에 의해 직접 액세스 및 제어되는 전용 메모리일 수 있다. 다른 실시예에서, 프레임 버퍼(206) 메모리는 CPU 시스템 메모리와 공통일 수 있으며, 그래픽 프로세서(204)에 의해 직접 또는 간접적으로 액세스될 수 있다.
그래픽 프로세서(204)의 표시 출력 모듈(207)이 프레임 버퍼 (206)의 콘텐츠를 판독하고, 프레임 버퍼(206)에 저장된 픽셀 값들을 디스플레이 장치로 전송하는 데 필요한 전기 신호들을 생성할 수 있다. 표시 출력은 (도시된 바와 같이) 그래픽 프로세서 내에 포함될 수 있고, 또는 옵션으로서 개별 컴포넌트들 내에 전체 또는 일부가 포함될 수 있다.
컴퓨터 상에서 실행되는 운영 체제 및 다양한 애플리케이션들은 그래픽 드라이버(202)와 통신하여, 프레임 버퍼(206) 내에 저장된 후에 표시 출력 모듈(207)을 통해 디스플레이 장치 상에 표시되는 콘텐츠를 생성할 수 있다. 이러한 애플리케이션들은 표시를 위해 최종 픽셀 값들을 전송하거나, 표시할 콘텐츠를 생성하기 위해 명령들 및 데이터를 그래픽 프로세서(204)로 전송할 수 있다.
이를 위해, 그래픽 프로세서(204)는 프레임 버퍼(206)에 저장된 원하지 않는 콘텐츠를 식별할 수 있고, 또한 그러한 원하지 않는 콘텐츠의 식별에 기초하여 원하지 않는 콘텐츠의 표시를 방지할 수 있다. 일 실시예에서, 그래픽 프로세서(204)는 원하지 않는 콘텐츠의 식별 및 식별된 원하지 않는 콘텐츠의 표시 방지를 수행하도록 프로그래밍될 수 있다. 옵션으로서, 그래픽 프로세서 (204)는 NVIDIA
Figure 112009071057025-pat00001
사의 CUDATM 프로그래밍 환경을 이용하여 프로그래밍될 수 있다.
다른 실시예에서, 그래픽 프로세서(204)는 원하지 않는 콘텐츠의 식별 및 식별된 원하지 않는 콘텐츠의 표시 방지를 수행하도록 그래픽 드라이버(202)에 의해 제어될 수 있다. 예를 들어, 드라이버(202)는 원하지 않는 콘텐츠를 찾기 위해 프 레임 버퍼(206)에 저장된 콘텐츠를 분석하도록 그래픽 프로세서(204)를 제어하기 위한 코드로 프로그래밍될 수 있다. 옵션으로서, 드라이버(202)는 프레임 버퍼(206)에 저장된 콘텐츠를 분석하여 그러한 콘텐츠가 원하지 않는 콘텐츠를 포함하는지를 식별하도록 주기적으로 그래픽 프로세서(204)에 지시할 수 있다. 단지 예로서, 분석은 Guardware LLC의 iShieldTM를 이용하여 수행될 수 있다.
예를 들어, 일 실시예에서, 그래픽 프로세서(204)는 스케줄에 기초하여 콘텐츠가 원하지 않는 콘텐츠를 포함하는지를 식별하기 위해 프레임 버퍼(206)에 저장된 콘텐츠를 주기적으로 분석할 수 있다. 다른 실시예에서, 그래픽 프로세서(204)는 그래픽 프로세서(204)의 부하에 기초하여 콘텐츠를 주기적으로 분석할 수 있다. 예를 들어, 그래픽 프로세서(204)의 부하가 소정의 임계치 위인 경우, 그래픽 프로세서(204)는 분석의 수행이 자동으로 불능화될 수 있다.
또 다른 실시예에서, 그래픽 프로세서(204)는 분석을 불능화하기 위한 사용자에 의한 (예를 들어, GUI 등을 통한) 수동 선택에 응답하여 분석의 수행이 불능화될 수 있다. 또 다른 실시예에서, 그래픽 프로세서(204)는 프레임 버퍼(206)에 저장된 콘텐츠가 소정의 애플리케이션과 연관되어 있다(예를 들어, 소정의 애플리케이션으로부터 표시를 위해 출력된다)는 결정에 응답하여 분석의 수행이 불능화될 수 있다. 소정의 애플리케이션은 화이트리스트 애플리케이션, 원하지 않는 콘텐츠를 포함하지 않는 것으로 사전 결정된 애플리케이션 등을 포함할 수 있다.
다른 실시예에서, 그래픽 프로세서(204)는 프레임 버퍼(206)에 저장된 콘텐 츠의 서브파트만을 분석하도록 (예를 들어, 전술한 바와 같이 자동 또는 수동으로) 구성될 수 있다. 콘텐츠의 서브파트는 콘텐츠의 단지 일부 프레임들, 콘텐츠의 프레임의 단지 일부 등을 포함할 수 있다. 물론, 그래픽 프로세서(204)는 소정의 정책들, 규칙들 등에 기초하여 프레임 버퍼(206)에 저장된 콘텐츠를 분석할 수도 있다.
다른 옵션으로서, 그래픽 프로세서(204)는 GUI를 통해 수신되는 사용자 입력에 따라 프레임 버퍼(206)에 저장된 콘텐츠를 분석할 수도 있다. 예를 들어, GUI는 사용자가 분석을 활성화 및 비활성화하고, 분석의 감도를 다양한 콘텐츠 레벨로 제어하는 것을 허가할 수 있다. 예를 들어, 프레임 버퍼(206)에 저장된 콘텐츠가 원하지 않는 콘텐츠라는 것에 대한 확률 척도가 생성될 수 있다. 따라서, 그래픽 프로세서(204)는 (예를 들어, GUI 등을 통해 사용자에 의해 설정되는 바와 같은) 소정의 확률 임계치를 충족시키는 확률을 갖는 콘텐츠만을 차단하도록 구성될 수 있다.
또 다른 옵션으로서, 그래픽 프로세서(204)는 드라이버(202)가 함부로 변경되거나 불능화되는 경우에 비디오 출력을 불능화하도록 설정될 수 있다. 따라서, 콘텐츠의 분석을 수행하기 위한 코드가 활성이 아닌 경우에, 프레임 버퍼(206)에 저장된 콘텐츠의 표시가 방지될 수 있다. 그래픽 프로세서(204)에 의해 수행되는 분석의 제어는 옵션으로서 패스워드 또는 다른 인증 수단들에 의해 보호될 수 있다. 이러한 방식으로, 그래픽 프로세서(204)의 처리 자원들의 소비가 감소할 수 있다.
드라이버(202)는 원하지 않는 콘텐츠의 식별에 기초하여 원하지 않는 콘텐츠의 표시를 방지하도록 그래픽 프로세서(204)를 더 제어할 수 있다. 단지 예로서, 드라이버(202)는 프레임 버퍼(206)에 저장된 원하지 않는 콘텐츠를 다른 소정의 콘텐츠로 덮어쓰도록 그래픽 프로세서(204)에 지시할 수 있다. 이러한 방식으로, 그래픽 프로세서(204)는 프레임 버퍼(206)에 저장된 원하지 않는 콘텐츠를 식별하고, 그의 식별에 기초하여 원하지 않는 콘텐츠의 표시를 방지하는 데 이용될 수 있다.
일 실시예에서, 원하지 않는 콘텐츠를 식별하고 원하지 않는 콘텐츠의 표시를 방지하기 위해 CPU를 이용하는 대신에 그래픽 프로세서(204)를 이용하는 것은 그래픽 프로세서(204)에 의해 수행되는 식별 및 방지가 더 효율적으로 수행되게 할 수 있다. 예를 들어, 그래픽 프로세서(204)는 프레임 버퍼(206)와의 직접 통신으로 인해 프레임 버퍼에 직접 액세스할 수 있으며, 따라서 CPU는 콘텐츠의 분석을 위해 프레임 버퍼(206)로부터 콘텐츠를 인출하고 분석 후에 콘텐츠를 다시 프레임 버퍼(206)에 기입하는 것이 방지될 수 있다. 더욱이, 그래픽 프로세서(204)는 프레임 버퍼(206)에 직접 액세스하고, 프레임 버퍼(206)에 있는 것을 제어하므로, 프레임 버퍼(206)에 저장된 콘텐츠는 프레임 버퍼(206)에 저장된 콘텐츠의 표시 전에 원하지 않는 콘텐츠를 식별하기 위해 그래픽 프로세서(204)에 의해 검사될 수 있다.
도 3은 또 다른 실시예에 따른, 프레임 버퍼에 저장된 콘텐츠가 원하지 않는 콘텐츠인지에 대한 결정 및 다른 그래픽 처리를 병렬로 수행하기 위한 방법(300)을 나타낸다. 옵션으로서, 방법(300)은 도 1 및/또는 도 2의 상황 및/또는 환경에서 수행될 수 있다. 그러나, 물론, 방법(300)은 임의의 원하는 환경에서 수행될 수도 있다. 또한, 상기 정의들은 본 설명 동안 적용될 수 있다는 점에 유의해야 한다.
동작 302에 지시되는 바와 같이, 애플리케이션이 콘텐츠를 디스플레이로 드로우(draw)한다. 애플리케이션은 표시를 위해 콘텐츠를 출력할 수 있는 임의의 애플리케이션을 포함할 수 있다. 다양한 실시예에서, 애플리케이션은 개인용 컴퓨터, 텔레비전 등에서 실행될 수 있다. 단지 예로서, 애플리케이션은 웹 브라우저를 포함할 수 있다.
또한, 운영 체제는 동작 304에 지시되는 바와 같이 콘텐츠를 프레임 버퍼로 드로우하기 위해 표시 드라이버를 호출한다. 이러한 방식으로, 표시 드라이버는 콘텐츠의 이미지를 프레임 버퍼에 기입할 수 있다. 따라서, 프레임 버퍼는 콘텐츠의 이미지를 저장할 수 있다.
또한, 동작 306에 지시되는 바와 같이, 콘텐츠가 프레임 버퍼로부터 판독된다. 일 실시예에서, 콘텐츠는 그래픽 프로세서에 의해 판독될 수 있다. 다른 실시예에서, 콘텐츠는 CPU에 의해 판독될 수 있다. 또 다른 실시예에서, 콘텐츠는 그래픽 카드의 표시 출력 파이프라인을 이용하여 프레임 버퍼로부터 판독될 수 있다.
또한, 동작 308에 지시되는 바와 같이, 콘텐츠가 분석된다. 본 실시예와 관련하여, 콘텐츠의 분석은 콘텐츠의 임의 부분이 원하지 않는 콘텐츠인지를 결정하는 단계를 포함할 수 있다. 단지 예로서, 콘텐츠는 공지된 원하지 않는 콘텐츠(예를 들어, 원하지 않는 콘텐츠로서 사전 결정된 콘텐츠)와 비교될 수 있으며, 따라 서 일치는 프레임 버퍼에 저장된 콘텐츠가 원하지 않는 콘텐츠임을 지시할 수 있다.
판정 동작 310에서, 콘텐츠가 원하지 않는 콘텐츠인지 여부가 판정된다. 콘텐츠가 원하지 않는 콘텐츠인 것으로 판정되는 경우, 반응이 수행된다. 동작 312에 유의한다. 일 실시예에서, 반응은 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 소정의 콘텐츠(예를 들어, 경고를 표시하는 이미지 등)로 덮어쓴 후에 프레임 버퍼에 저장된 콘텐츠를 표시하는 단계를 포함할 수 있다. 다른 실시예에서, 반응은 원하지 않는 콘텐츠를 지시하는 메시지를 표시 드라이버를 통해 운영 체제로 전송하는 단계를 포함할 수 있다. 또 다른 실시예에서, 반응은 운영체제가 CPU를 이용하여 원하지 않는 콘텐츠의 식별을 기록하고, 경고 및/또는 에러 메시지를 사용자에게 제공하는 것 등을 포함할 수 있다.
그러나, 판정 동작 310에서, 콘텐츠가 원하지 않는 콘텐츠가 아닌 것으로 판정되는 경우, 콘텐츠는 디스플레이에 기입된다. 동작 314에 주목한다. 또한 도시된 바와 같이 프레임 버퍼에 저장된 임의의 원하지 않는 콘텐츠의 식별 및 그러한 식별된 원하지 않는 콘텐츠의 방지(동작 306-312)는 동작 316에 지시되는 바와 같이 다른 그래픽 처리와 병렬로 수행될 수 있다. 다양한 실시예에서, 동작 316에 지시된 다른 그래픽 처리는 이차원 콘텐츠의 렌더링, 삼차원 콘텐츠의 렌더링, 다른 쉐이더 프로그램들의 실행, 다른 콘텐츠의 표시 등을 포함할 수 있다.
옵션으로서, 동작들(306-312)은 동작 316에 지시되는 다른 그래픽 처리와 병렬로 또는 그러한 다른 그래픽 처리와 교대로 배경(background)에서 실행될 수 있 다. 단지 예로서, 동작들(306-312, 316)을 수행하는 그래픽 프로세서는 처리 능력의 소정 퍼센트(예를 들어, 10%)를 프레임 버퍼에 저장된 임의의 원하지 않는 콘텐츠의 식별 및 그러한 식별된 원하지 않는 콘텐츠의 방지(동작들 306-212)에 전용화할 수 있다. 더욱이, 다른 그래픽 처리(동작 316)와 연관된 콘텐츠는 동작 314에 지시되는 바와 같이 디스플레이에 기입될 수도 있다. 또한, 동작들(306-312)은 옵션으로서, 단일 프레임마다가 아니라 단지 가끔씩 수행될 수 있다. 원하지 않는 콘텐츠가 매우 짧은 기간 동안만 표시되는 경우, 이것은 사용자가 반드시 주목해야 할 필요는 없을 수 있다. 따라서, 원하지 않는 콘텐츠를 찾기 위해 프레임 버퍼를 단지 주기적으로 검사함으로써 전체 처리 부하가 감소할 수 있다. 다른 옵션으로서, 프레임 버퍼의 교대 부분들이 각각의 프레임 기간 동안 검사될 수 있으며, 따라서 몇몇 프레임 기간에 걸쳐서 전체 표시 이미지가 검사될 수 있으면서, 다른 경우에 각각의 프레임 기간에 전체 표시 이미지를 검사하는 데 필요한 처리를 줄일 수 있다.
도 4는 또 다른 실시예에 따른, 병렬 처리를 제공하기 위한 시스템(400)을 나타낸다. 옵션으로서, 시스템(400)은 도 1-3의 상황 및/또는 환경에서 구현될 수 있다. 그러나, 물론, 시스템(400)은 임의의 원하는 환경에서 구현될 수 있다. 또한, 전술한 정의들은 본 설명 동안에 적용될 수 있다는 점에 유의해야 한다.
도시된 바와 같이, 병렬 처리 아키텍처(402)가 제공된다. 그러한 병렬 처리 아키텍처(402)는 복수의 병렬 프로세서(404)를 포함한다. 도시되지는 않았지만, 그러한 병렬 프로세서들(404)은 소정 수의 스레드들 상에서 동작할 수 있다. 이를 위해, 병렬 프로세서들(404)의 각각이 병렬로 동작하는 동안, 대응 스레드들도 병렬로 동작할 수 있다.
일 실시예에서, 병렬 처리 아키텍처(402)는 단일 명령 다중 데이터(SIMD) 아키텍처를 포함할 수 있다. 그러한 시스템에서, 프로세서에 의해 실행되고 있는 스레드들은 그룹들로 수집될 수 있으며, 따라서 임의의 순간에 단일 그룹 내의 모든 스레드가 정확히 동일한 명령어를, 그러나 잠재적으로 상이한 데이터에 대해, 실행하고 있게 된다.
다른 실시예에서, 상기 병렬 처리 아키텍처(402)는 그래픽 프로세서 또는 (예를 들어, 칩셋, 시스템-온-칩(SOC), CPU와 통합된 코어, 개별 프로세서 등의 형태의) 그래픽 처리 능력을 갖춘 임의의 다른 집적 회로를 포함할 수 있다. 또 다른 실시예에서, 상기 병렬 처리 아키텍처(402)는 Sony
Figure 112009071057025-pat00002
, Toshiba
Figure 112009071057025-pat00003
및 IBM
Figure 112009071057025-pat00004
에 의해 공동 개발된 셀 브로드밴드 엔진 마이크로프로세서 아키텍처라고 하는 셀 프로세서와 같은 하나 이상의 벡터 처리 요소들을 구비한 프로세서를 포함할 수 있다.
도 4를 계속 참조하면, 병렬 처리 아키텍처(402)는 로컬 공유 메모리(406)를 포함한다. 병렬 처리 아키텍처(402)의 병렬 프로세서들(404)의 각각은 그 자신의 로컬 공유 메모리(406)를 판독 및/또는 기입할 수 있다. 이러한 공유 메모리(406)는 각각의 프로세서와 관련된 물리적으로 분리된 메모리들로 구성되거나, 프로세서들(404) 사이에 공유되는 하나 이상의 메모리의 개별 할당 영역들로 구성될 수 있다. 또한, 도시된 실시예에서, 공유 메모리(406)는 병렬 처리 아키텍처(402)의 프로세서들(404)이 구현되는 집적 회로 상에 구현될 수 있다.
또한, 글로벌 메모리(408)가 포함되는 것으로 도시되어 있다. 사용에 있어서, 그러한 글로벌 메모리(408)는 병렬 처리 아키텍처(402)의 모든 프로세서(404)에 의해 액세스될 수 있다. 도시된 바와 같이, 그러한 글로벌 메모리(408)는 상기 병렬 처리 아키텍처(402)의 프로세서들(404)이 구현되는 집적 회로와 별개인 집적 회로 상에 구현될 수 있다. 병렬 처리 아키텍처(402)는 도 4의 다양한 집적 회로 상에 특정 방식으로 구현되는 것으로 도시되지만, 시스템 컴포넌트들은 필요에 따라 동일 집적 회로 상에 구현되거나 구현되지 않을 수 있다는 점에 유의해야 한다.
또한, 도 4의 본 시스템(400)은 필요에 따라 병렬 처리 아키텍처(402)를 제어하기 위한 드라이버(410)를 더 포함할 수 있다. 일 실시예에서, 드라이버(410)는 그러한 제어를 돕기 위한 라이브러리를 포함할 수 있다. 예를 들어, 그러한 라이브러리(410)는 여기에 설명되는 기능을 인스턴스화할 수 있는 라이브러리 호출을 포함할 수 있다. 또한, 다른 실시예에서, 드라이버(410)는 병렬 처리 아키텍처(402)(예를 들어, 그래픽 프로세서 등)를 이용하는 일반 계산 능력들을 제공할 수 있다. 그러한 드라이버의 일례는 NVIDIA 사에 의해 제공되는 CUDATM 프레임워크와 관련하여 제공될 수 있다. 사용에 있어서, 드라이버(410)는 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 식별하고, 식별에 기초하여 원하지 않는 콘텐츠의 표시를 방지하도록 병렬 처리 아키텍처(402)를 제어하는 데 사용될 수 있다.
도 5는 다양한 선행 실시예들의 다양한 아키텍처 및/또는 기능이 구현될 수 있는 예시적인 시스템(500)을 나타낸다. 도시된 바와 같이, 시스템(500)은 통신 버스(502)에 접속되는 적어도 하나의 호스트 프로세서(501)를 포함하도록 제공된다. 시스템(500)은 메인 메모리(504)를 더 포함한다. 제어 로직(소프트웨어) 및 데이터는 랜덤 액세스 메모리(RAM)의 형태를 가질 수 있는 메인 메모리(504)에 저장된다.
시스템(500)은 그래픽 프로세서(506) 및 디스플레이(508), 즉 컴퓨터 모니터를 더 포함한다. 일 실시예에서, 그래픽 프로세서(506)는 복수의 쉐이더 모듈, 래스터화 모듈 등을 포함할 수 있다. 상기 모듈들 각각은 GPU를 형성하기 위해 단일 반도체 플랫폼 상에 배치될 수도 있다. 또한, 그래픽 프로세서는 프레임 버퍼(512)와 통신할 수 있다.
본 설명에서, 단일 반도체 플랫폼은 단 하나의 반도체 기반 집적 회로 또는 칩을 지칭할 수 있다. 단일 반도체 플랫폼이라는 용어는, 온칩 동작을 시뮬레이트하고, 통상의 CPU 및 버스 구현을 이용하는 것에 비해 상당한 개량을 이루는, 향상된 접속성을 갖는 다중 칩 모듈들을 지칭할 수도 있다. 물론, 다양한 모듈은 사용자의 요구에 따라 개별적으로 또는 반도체 플랫폼들의 다양한 조합으로 배치될 수도 있다.
시스템(500)은 보조 저장 장치(510)를 더 포함할 수 있다. 보조 저장 장치(510)는 예를 들어 하드 디스크 드라이브, 및/또는 플로피 디스크 드라이브, 자기 테이프 드라이브, 콤팩트 디스크 드라이브 등을 나타내는 이동식 저장 장치 드라이브를 포함한다. 이동식 저장 장치 드라이브는 공지된 방식으로 이동식 저장 유닛으로부터 판독하고, 그리고/또는 이동식 저장 유닛에 기입한다.
컴퓨터 프로그램들 또는 컴퓨터 제어 로직 알고리즘들은 메인 메모리(504) 및/또는 보조 저장 장치(510)에 저장될 수 있다. 그러한 컴퓨터 프로그램들은 실행시에 시스템(500)으로 하여금 다양한 기능을 수행하게 할 수 있다. 메모리(504), 저장 장치(510) 및/또는 임의의 다른 저장 장치는 컴퓨터 판독 가능 매체들의 가능한 예들이다.
일 실시예에서, 다양한 이전 도면들의 아키텍처 및/또는 기능은 호스트 프로세서(501), 그래픽 프로세서(506), 호스트 프로세서(501) 및 그래픽 프로세서(506) 양자의 능력들의 적어도 일부를 수용할 수 있는 집적 회로(도시되지 않음), 칩셋(즉, 관련 기능 등을 수행하기 위하여 하나의 유닛으로서 동작하고 판매되도록 설계된 집적 회로들의 그룹) 및/또는 그러한 문제를 위한 임의의 다른 집적 회로와 관련하여 구현될 수 있다.
또한, 다양한 이전 도면들의 아키텍처 및/또는 기능은 범용 컴퓨터 시스템, 회로 보드 시스템, 오락 목적으로 전용화된 게임 콘솔 시스템, 주문형(application-specific) 시스템 및/또는 임의의 다른 원하는 시스템과 관련하여 구현될 수 있다. 예를 들어, 시스템(500)은 데스크탑 컴퓨터, 랩탑 컴퓨터 및/또는 임의의 다른 타입의 로직의 형태를 가질 수 있다. 또한, 시스템(500)은 개인 휴대 단말기(PDA) 장치, 이동 전화 장치, 텔레비전 등을 포함하지만 이에 한정되지 않는 다양한 다른 장치의 형태를 가질 수 있다.
또한, 도시되지는 않았지만, 시스템(500)은 통신 목적으로 네트워크(예를 들어, 통신 네트워크, 근거리 통신망(LAN), 무선 네트워크, 인터넷과 같은 광역 통신 망(WAN), 피어 대 피어 네트워크, 케이블 네트워크 등)에 결합될 수 있다.
위에서 다양한 실시예가 설명되었지만, 이들은 한정이 아니라, 단지 예시적으로 제공되었다는 것을 이해해야 한다. 따라서, 바람직한 실시예의 폭 및 범위는 전술한 전형적인 실시예들 중 어느 하나에 의해 한정되는 것이 아니라, 아래의 청구항들 및 이들의 균등물들에 따라서만 정해져야 한다.
도 1은 일 실시예에 따른, 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 방법을 나타내는 도면.
도 2는 다른 실시예에 따른, 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템을 나타내는 도면.
도 3은 또 다른 실시예에 따른, 프레임 버퍼에 저장된 콘텐츠가 원하지 않는 콘텐츠인지에 대한 결정 및 다른 그래픽 처리를 병렬로 수행하기 위한 방법을 나타내는 도면.
도 4는 또 다른 실시예에 따른 병렬 처리를 제공하기 위한 시스템을 나타내는 도면.
도 5는 다양한 선행 실시예들의 다양한 아키텍처 및/또는 기능이 구현될 수 있는 예시적인 시스템을 나타내는 도면.
<도면의 주요 부분에 대한 부호 설명>
202: 드라이버
204: 그래픽 프로세서
206: 프레임 버퍼
207: 표시 출력 모듈
404: 병렬 프로세서
406: 로컬 공유 메모리
408: 글로벌 메모리
410: 드라이버
502: 버스
502: 중앙 프로세서
504: 메인 메모리
506: 그래픽 프로세서
508: 디스플레이
510: 보조 저장 장치
512: 프레임 버퍼

Claims (21)

  1. 그래픽 처리 능력(graphic processing capabilities)을 갖춘 쉐이더 하드웨어(shader hardware)를 포함하는 집적 회로의 부하를 판정하는 단계;
    상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로의 상기 부하에 기초한 자동 생성 명령을 수신하는 단계;
    상기 자동 생성 명령에 응답해서, 상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로를 이용하여, 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 식별하는 단계; 및
    상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로를 이용하여, 상기 원하지 않는 콘텐츠의 식별에 기초해서 상기 원하지 않는 콘텐츠의 표시를 방지하는 단계를 포함하고,
    상기 쉐이더 하드웨어는 상기 식별하는 단계와 상기 방지하는 단계를 적어도 하나의 쉐이더 프로그램의 실행을 포함한 다른 그래픽 처리와 병렬로 수행할 수 있는,
    방법.
  2. 제1항에 있어서, 상기 원하지 않는 콘텐츠는 비주얼 콘텐츠를 포함하는 방법.
  3. 제2항에 있어서, 상기 원하지 않는 콘텐츠는 포르노그라피를 포함하는 방법.
  4. 제2항에 있어서, 상기 원하지 않는 콘텐츠는 비디오를 포함하는 방법.
  5. 제1항에 있어서, 상기 원하지 않는 콘텐츠의 표시는 텔레비전을 통한 표시를 포함하는 방법.
  6. 제1항에 있어서, 상기 원하지 않는 콘텐츠의 표시는 개인용 컴퓨터를 통한 표시를 포함하는 방법.
  7. 삭제
  8. 제1항에 있어서, 상기 식별하는 단계 및 상기 방지하는 단계는 상기 집적 회로의 상기 쉐이더 하드웨어에 의해 수행되고, 상기 집적 회로는 그래픽 프로세서를 포함하는, 방법.
  9. 제8항에 있어서, 상기 그래픽 프로세서는 그래픽 처리 유닛(GPU)을 포함하는 방법.
  10. 삭제
  11. 제1항에 있어서, 상기 쉐이더 하드웨어는 불능화(disable)될 수 없는 방법.
  12. 제1항에 있어서, 상기 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 미리 정해진 콘텐츠로 덮어씀으로써 상기 원하지 않는 콘텐츠가 표시되는 것을 방지하는 방법.
  13. 제12항에 있어서, 상기 미리 정해진 콘텐츠는 경고를 포함하는 방법.
  14. 삭제
  15. 제1항에 있어서, 상기 다른 그래픽 처리는 이차원 콘텐츠의 렌더링을 더 포함하는 방법.
  16. 제1항에 있어서, 상기 원하지 않는 콘텐츠는 상기 프레임 버퍼에 저장된 콘텐츠의 분석을 가능하게 하기 위한 수동 생성 명령에 응답하여 또한 식별되는 방법.
  17. 삭제
  18. 컴퓨터 프로그램 제품을 저장한 컴퓨터 판독가능한 기록 매체로서, 상기 컴퓨터 프로그램 제품은,
    그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로의 부하를 판정하기 위한 컴퓨터 코드;
    상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로의 상기 부하에 기초한 자동 생성 명령을 수신하기 위한 컴퓨터 코드;
    상기 자동 생성 명령에 응답해서, 상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로를 이용하여, 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 식별하기 위한 컴퓨터 코드; 및
    상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로를 이용하여, 상기 원하지 않는 콘텐츠의 식별에 기초해서 상기 원하지 않는 콘텐츠의 표시를 방지하기 위한 컴퓨터 코드를 포함하고,
    상기 쉐이더 하드웨어는 상기 식별과 상기 방지를 적어도 하나의 쉐이더 프로그램의 실행을 포함한 다른 그래픽 처리와 병렬로 수행할 수 있는,
    컴퓨터 판독가능한 기록 매체.
  19. 원하지 않는 콘텐츠를 포함하는 콘텐츠를 저장하는 프레임 버퍼;
    상기 콘텐츠를 표시하기 위한 디스플레이 장치; 및
    그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로의 부하를 판정하고, 상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로의 상기 부하에 기초한 자동 생성 명령을 수신하고, 상기 자동 생성 명령에 응답해서, 상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로를 이용하여, 상기 프레임 버퍼에 저장된 원하지 않는 콘텐츠를 식별하고, 상기 그래픽 처리 능력을 갖춘 쉐이더 하드웨어를 포함하는 집적 회로를 이용하여, 상기 원하지 않는 콘텐츠의 식별에 기초해서 상기 원하지 않는 콘텐츠의 표시를 방지하기 위한 그래픽 프로세서를 포함하고,
    상기 쉐이더 하드웨어는 상기 식별과 상기 방지를 적어도 하나의 쉐이더 프로그램의 실행을 포함한 다른 그래픽 처리와 병렬로 수행할 수 있는, 장치.
  20. 제19항에 있어서, 상기 그래픽 프로세서는 버스를 통해 상기 프레임 버퍼 및 상기 디스플레이 장치와 통신하는, 장치.
  21. 삭제
KR1020090111976A 2008-11-20 2009-11-19 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체 KR101138578B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/274,955 US8072462B2 (en) 2008-11-20 2008-11-20 System, method, and computer program product for preventing display of unwanted content stored in a frame buffer
US12/274,955 2008-11-20

Publications (2)

Publication Number Publication Date
KR20100056982A KR20100056982A (ko) 2010-05-28
KR101138578B1 true KR101138578B1 (ko) 2012-05-10

Family

ID=42171667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090111976A KR101138578B1 (ko) 2008-11-20 2009-11-19 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체

Country Status (5)

Country Link
US (1) US8072462B2 (ko)
JP (1) JP4993146B2 (ko)
KR (1) KR101138578B1 (ko)
CN (1) CN101739228B (ko)
TW (1) TWI401613B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036355B2 (en) 2016-02-03 2021-06-15 Samsung Electronics Co., Ltd. Electronic device, server and method for filtering, blocking and replacing web objects

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9251766B2 (en) * 2011-08-03 2016-02-02 Microsoft Technology Licensing, Llc. Composing stereo 3D windowed content
JP2016508757A (ja) * 2012-12-21 2016-03-24 ジェイソン スペンサー, 医療データのグラフィカル処理のためのシステムおよび方法
CN105744355A (zh) * 2016-01-28 2016-07-06 宇龙计算机通信科技(深圳)有限公司 一种视频预提醒处理的方法、装置以及终端
US10367639B2 (en) * 2016-12-29 2019-07-30 Intel Corporation Graphics processor with encrypted kernels

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000014069A (ko) * 1998-08-17 2000-03-06 윤종용 비디오 신호의 시청 제한 방법 및 그에 적합한 장치
KR20000059647A (ko) * 1999-03-06 2000-10-05 강남천 디스플레이 시스템의 유해 화면 차단 장치 및 그 방법
KR20050038396A (ko) * 2003-10-22 2005-04-27 주식회사 대우일렉트로닉스 영상 기기의 오디오 출력 제한방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100232400B1 (ko) * 1996-09-04 1999-12-01 윤종용 음란/폭력물 차단 기능을 구비한 컴퓨터 및 그 제어 방법
AU2300801A (en) * 2000-01-03 2001-07-16 Amova.Com Automatic personalized media creation system
US6829582B1 (en) * 2000-10-10 2004-12-07 International Business Machines Corporation Controlled access to audio signals based on objectionable audio content detected via sound recognition
US6771269B1 (en) * 2001-01-12 2004-08-03 Ati International Srl Method and apparatus for improving processing throughput in a video graphics system
TWI253568B (en) * 2001-07-11 2006-04-21 Ulead Systems Inc System and method for filtering out network pornography films
CN1167226C (zh) * 2001-07-31 2004-09-15 友立资讯股份有限公司 色情影片的过滤系统及方法
JP4126699B2 (ja) * 2003-11-05 2008-07-30 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツの再生を制限するコンテンツ再生装置、情報処理システム、再生制限方法、コンテンツ再生プログラム、及び記録媒体
KR100685438B1 (ko) 2004-09-06 2007-02-23 주식회사 에이디칩스 디스플레이 장치 내에서 출력 이미지 데이터를 캡쳐, 저장 및 재생하는 장치 및 방법
KR100517645B1 (ko) * 2004-11-05 2005-09-28 (주)지란지교소프트 해쉬값을 이용한 유해물 차단방법
TW200704186A (en) * 2005-07-08 2007-01-16 Amtran Technology Co Ltd Display device having program video filtering function and program video filtering method thereof
US7421604B1 (en) * 2005-07-25 2008-09-02 Nvidia Corporation Advanced voltage regulation using feed-forward load information
US7768517B2 (en) * 2006-02-21 2010-08-03 Nvidia Corporation Asymmetric multi-GPU processing
US8199160B2 (en) * 2006-06-02 2012-06-12 Advanced Us Technology Group, Inc. Method and apparatus for monitoring a user's activities
WO2008025008A2 (en) * 2006-08-24 2008-02-28 Neustar, Inc. System and method for filtering offensive information content in communication systems
JP4279318B2 (ja) * 2007-02-02 2009-06-17 三菱電機株式会社 映像表示装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000014069A (ko) * 1998-08-17 2000-03-06 윤종용 비디오 신호의 시청 제한 방법 및 그에 적합한 장치
KR20000059647A (ko) * 1999-03-06 2000-10-05 강남천 디스플레이 시스템의 유해 화면 차단 장치 및 그 방법
KR20050038396A (ko) * 2003-10-22 2005-04-27 주식회사 대우일렉트로닉스 영상 기기의 오디오 출력 제한방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036355B2 (en) 2016-02-03 2021-06-15 Samsung Electronics Co., Ltd. Electronic device, server and method for filtering, blocking and replacing web objects

Also Published As

Publication number Publication date
JP2010123108A (ja) 2010-06-03
CN101739228B (zh) 2013-03-13
US8072462B2 (en) 2011-12-06
KR20100056982A (ko) 2010-05-28
CN101739228A (zh) 2010-06-16
TWI401613B (zh) 2013-07-11
US20100123729A1 (en) 2010-05-20
JP4993146B2 (ja) 2012-08-08
TW201020968A (en) 2010-06-01

Similar Documents

Publication Publication Date Title
US10303902B2 (en) Hardware assist for privilege access violation checks
KR101138578B1 (ko) 프레임 버퍼에 저장된 원하지 않는 콘텐츠의 표시를 방지하기 위한 시스템, 방법 및 컴퓨터 판독가능한 기록 매체
CN108563930A (zh) 一种涉密文件添加水印的方法、装置、介质及系统
WO2021098270A1 (zh) 基于对抗样本的隐私信息保护方法、装置及电子设备
CN111026493B (zh) 界面渲染的处理方法和装置
US7944421B2 (en) Image display system, image display method, image display device, image data processor, program, storage medium, and image processing program distribution server
CN108875393B (zh) 客户端数据被截屏的安全实现方法、装置及介质
CN107835984B (zh) 热减轻用户体验
CN105700772A (zh) 提示方法及装置
CN113821771B (zh) 动态水印添加方法、装置、网盘及存储介质
CN110286990B (zh) 用户界面展示方法、装置、设备及存储介质
US20050231522A1 (en) Efficient detection of texture sharing between multiple contexts
US9223976B2 (en) Content inspection
CN113448796A (zh) 服务监控方法、装置、计算机系统和介质
JP4896677B2 (ja) ソフトウエアの改竄検査装置及び方法、コンピュータプログラム
JP2008518363A (ja) 制限付き実行環境及び非制限実行環境を生成するメカニズム
CN110427891A (zh) 用于识别合同的方法、装置、系统及介质
US8438554B1 (en) System, method, and computer program product for removing a synchronization statement
CN112825539B (zh) 硬件管理方法及相关联的机器可读介质、电子设备
CN111833864B (zh) 信息处理方法、装置、系统和可读介质
WO2023245494A1 (zh) 从渲染引擎中获取纹理数据的方法及装置、电子设备
JP7229822B2 (ja) 表示画像データ取得装置、表示画像データ取得方法及び表示画像データ取得プログラム
US20220164525A1 (en) Information processing apparatus, control method for same, and storage medium
US20150370813A1 (en) Adapting services of applications
CN116271807A (zh) 一种弹窗消息的界面显示方法、系统、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160411

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 8