TCVN11777-5:2017

Tiêu chuẩn quốc gia TCVN 11777-5:2017 (ISO/IEC 15444-5:2015) về Công nghệ thông tin - Hệ thống mã hóa hình ảnh JPEG 2000 - Phần mềm tham chiếu TIÊU CHUẨN VIỆT NAM TCVN 11777-5:2017 ISO/IEC 15444-5:2015 CÔNG NGHỆ THÔNG TIN - HỆ THỐNG MÃ HÓA HÌNH ẢNH JPEG 2000 - PHẦN MỀM THAM CHIẾU Information technology - JPEG 2000 image coding system - Reference software Lời nói đầu TCVN 11777-5:2017 hoàn toàn tương đương với ISO/IEC 15444-5:2015. TCVN 11777-5:2017 do Học viện Công nghệ Bưu ch í nh Viễn thông biên soạn, Bộ Thông tin và Truyền thông đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa học và Công nghệ công bố. CÔNG NGHỆ THÔNG TIN - HỆ THỐNG MÃ HÓA HÌNH ẢNH JPEG 2000 - PHẦN MỀM THAM CHIẾU Information technology - JPEG 2000 image coding system - Reference software 1 Phạm vi áp dụng Tiêu chuẩn này cung cấp ba phần mềm tham chiếu được thiết kế độc lập , để hỗ trợ các đối tượng triển khai thử nghiệm. Các g ói phần mềm bao gồm JASPER, JJ2000 và OPENJPEG. Tiêu chuẩn này không định nghĩa thêm bất kỳ thành phần bổ sung nào cho hệ thống mã hóa hình ảnh JPEG 2000 mà chỉ cung cấp các gói phần mềm tham chiếu. Mỗi phiên bản của phần mềm tham chiếu đều chứa mã nguồn, có thể được biên dịch đ ể cung cấp các chức năng sau đây: - Chuyển mã từ các định dạng ảnh phổ biến cho trước thành một dòng mã JPEG 2000; - Chuyển mã từ các định dạng ảnh phổ biến cho trước sang định dạng tập tin JP2; - Lựa chọn một loạt các tùy chọn mã hóa JPEG 2000 (theo các tà i liệu trong từng phần mềm); - Giải mã từ dòng mã JPEG 2000 sang một loạt các định dạng ảnh phổ biến cho trước; - Xử lý tập tin JP2 để trích xuất một dòng mã JPEG 2000 cho việc giải m ã và chuyển đổ i sang một loạt các định dạng ảnh phổ biến cho trước; - Khả năng trích xuất dữ liệu đặc tả từ một tập tin JP2, bao gồm các nộ i dung của khung Tiêu đề Ảnh và thông tin không gian màu; - Giải mã tập tin JP2 sử dụng dạng Ma trận ba thành phần trong phương pháp ICC hạn chế cho các đặc tính của không gian màu và chuy ể n đổi các dữ liệu ảnh được giải mã sang không gian màu sRGB để hiển thị, bao gồm cả việc nâng tần số lấy mẫu giới hạn của t ấ t cả các thành phần được gi ả i mã về cùng độ phân giải; - Giải mã tập tin JP2 sử dụng dạng Đơn sắc trong phương pháp ICC hạn chế cho các đặc tính của không gian màu và chuyển đổi các d ữ liệu ả nh đ ượ c giải mã sang không gian xám dựa trên sRGB được định nghĩa trong tập tin JP2; - Giải mã tập tin JP2 sử dụng không gian màu sYCC và chuyển đ ổ i các dữ liệu ảnh được g i ả i mã sang không gian màu sRGB để hiển thị, bao gồm cả việc nâng tần số lấy mẫu của tất cả các thành phần được giải mã về cùng độ phân giải; - Một số công cụ bổ sung để giúp đ á nh giá và ki ể m thử. Phần mềm tham chiếu được sử dụng như một công cụ đánh giá, kiểm nghiệm quá trình ứng dụng JPEG 2000. Mặc dù các mô-đun của phần mềm có thể được sử dụng trong việc phát triển các sản phẩm phần mềm ứng dụng, nhưng đó không phải là mục tiêu của việc phát triển các phần mềm này, các nhà phát triển phần mềm đi sau được cảnh báo tránh thực hiện các đánh giá hiệu năng hoặc sử dụng tài nguyên dựa trên các phần mềm tham chiếu này. 2 Tài liệu viện dẫn Tài liệu viện dẫn sau rất cần thiết cho việc áp dụng tiêu chuẩn này. Đối với các tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với các tài liệu viện dẫn không ghi năm công bố th ì áp dụng phiên bản mới nhất, bao gồm cả sửa đổi, bổ sung (nếu có). ISO/IEC 15444-1:2002, Information technology- JPEG 2000 Image Coding System: Core coding system (Công ng hệ thông tin - Hệ thống mã hóa hình ảnh: Hệ thống mã hóa lõi) . ISO/IEC 9899:1999, Programming languages - C ( Ngôn ngữ lập trình - C ). ISO/IEC 9945-1:1996, Information technology- Portable Operating System Interface (POSIX)- Part 1: System Application Program Interface (API) (C language) ( Công ng hệ thông tin - Giao diện hệ điều hành linh động: Giao diện lập trình ứ ng dụng hệ thống (API) (Ngôn ngữ C) ). ISO/IEC 9945-2:1993, Information technology - Portable Operating System Interface (POSIX)- Part 2: Shell and utilities (Công ng hệ thông tin - Giao diện hệ điều hành linh động: Shell và các tiện ích) . 3 Thuật ngữ và định nghĩa Tiêu chuẩn n à y sử dụng các thuật ngữ và định nghĩa sau: 3.1 big endian (big endian) Các bit biểu diễn giá trị sắp xếp theo thứ tự từ quan trọng nh ấ t tới ít quan trọng nhất. 3.2 Bit (bit) Cách viết ngắn gọn của thuật ngữ “binary digit”, là đơn vị của thông tin được biểu diễn bởi 0 hoặc 1. 3.3 Mặt phẳng bit (bit-plane) Tổ chức bít dạng mảng hai chiều. Trong Tiêu chuẩn này, mặt ph ẳ ng bit dùng đ ể chỉ tất cả các b i t có cùng độ lớn trong t ấ t cả các hệ số hoặc mẫu. Chúng có th ể là mặt phẳng bít trong thành phần ảnh, khối ảnh thành phần, khối mã, vùng quan tâm, hoặc thành phần khác. 3.4 Dòng bit (bit stream) Chuỗi các bit thực tế l à kết quả của quá trình mã hóa một chuỗi các ký hiệu. Nó không bao gồm : các nhãn hoặc đoạn nhãn trong các tiêu đề phần chính và tiêu đề phần khối ảnh hoặc nhãn EOC. Nó bao gồm tiêu đề gói bất kỳ, nhãn và đoạn nhãn trong dòng bit không có trong các tiêu đề phần chính hoặc phần khối ảnh. 3.5 Khung (Box) Một phần của định dạng tập tin xác định độ dài và loại khung duy nhất. Một vài loại khung có thể chứa các khung khác. 3.6 Nội dung khung (box contents) Đề cập đến dữ liệu được đóng gói bên trong cấu trúc khung. Các nội dung của một khung riêng được lưu trữ trong trường DBox bên trong cấu trúc dữ liệu khung. 3.7 Byte (Byte) Tám bit. 3.8 Kênh (channel) Thành phần logic của ảnh. Kênh có th ể là đạ i diện trực tiếp của một thành phần ảnh từ dòng mã, hoặc có thể được tạo ra bởi việc ứng dụng b ả ng màu cho một thành phần ảnh từ dòng mã. 3.9 Khối mã (code-block) Một ma trận chữ nhật bao gồm các hệ số trong cùng một băng con của một khối ảnh thành phần. 3.10 Bộ mã (coder) Bộ phận thực hiện quá trình mã hóa hoặc giải mã. 3.11 Dòng mã (codestream) Tập hợp của một hoặc nhiều dòng bit và tiêu đề phần chính, các tiêu đề phần khối ảnh và nhãn EOC cần thiết để giải mã chúng và mở rộng vào trong dữ liệu ảnh. Đây là các dữ liệu ảnh dạng nén với tất cả các dấu hiệu cần thiết để giải mã. 3.12 Hệ số (coefficient) Các giá trị là kết quả của một phép biến đổi. 3.13 Thành phần ảnh (component) Một mảng hai chiều của các mẫu. Một ảnh điển h ì nh bao gồm một vài thành phần ảnh. V í dụ thành phần đỏ, xanh lá cây và xanh da trời (RGB). 3.14 Dữ liệu ảnh nén (compressed image data) Một phần hoặc toàn bộ dòng bit. Cũng có thể đề cập đến một tập hợp các dòng bit trong một phần hoặc toàn bộ dòng mã. 3.15 Bộ giải mã (decoder) Bộ phận thực hiện quá trình giải mã, và tùy chọn quá trình biến đ ổ i màu. 3.16 Quá trình giải mã (decoding process) Quá trình mà đ ầ u vào là toàn bộ hoặc một phần của một dòng mã và kết quả đầu ra là toàn bộ hoặc một phần của ảnh được tái tạo. 3.17 Biến đổi sóng con rời rạc (discrete wavelet transformation (DWT)) Một biến đ ổ i được lặp đi lặp lại biến một tín hiệu thành hai hoặc nhiều tín hiệu được lọc và bị lược bỏ tương ứng với các dải tần khác nhau. Biến đổi này hoạt động trên các mẫu rời rạc trong miền không gian. 3.18 Bộ mã hóa (encoder) Bộ phận thực hiện quá trình m ã h ó a. 3.19 Quá trình mã hóa (encoding process) Quá trình mà đầu vào là toàn bộ hoặc một phần của dữ liệu ảnh gốc và kết quả đầu ra là dòng mã. 3.20 Định dạng tập tin (file format) Một dòng mã và dữ liệu bổ trợ và thông tin không rõ ràng cần cho quá trình giải mã dòng mã. Các ví dụ của dữ liệu bổ trợ bao gồm các trường văn bản cung cấp thông tin đặt tên, bảo mật và lịch sử, dữ liệu hỗ trợ sự phân bố nhiều dòng mã trong một tập tin dữ liệu nhất định, và dữ liệu hỗ trợ trao đổi giữa các nền tảng hoặc chuyển đổ i sang các định dạng tập tin khác. 3.21 Tiêu đề (header) Là một phần của dòng mã chứa các nhãn và đoạn nhãn (tiêu đề phần chính và tiêu đề phần khối ảnh) hoặc phần chứa dấu hiệu của gói tin (tiêu đề gói tin) 3.22 Ả nh (image) Tập hợp tất cả các thành phần ảnh. 3.23 Vùng ảnh (image area) Phần hình chữ nhật của l ướ i tham chiếu, được xác định bởi các độ lệch từ điểm gốc đến các phần mở rộng của lưới tham chiếu. 3.24 Độ lệch vùng ảnh (Image area offset) Số lượng các đi ể m l ưới phía dưới và bên ph ả i so với đi ể m gốc lưới tham chiếu để xác định vị trí điểm gốc của vùng ảnh. 3.25 Dữ liệu ảnh ( i mage data) Các thành phần ảnh và các mẫu thành phần tạo nên một hình ảnh. Dữ liệu ảnh có thể đề cập tới hoặc dữ liệu ảnh gốc hoặc dữ liệu ảnh tái tạo. 3.26 Không khả đảo (irreversible) Một quá trình biến đổi, lũy tiến, lượng tử h ó a, hoặc các quá trình khác, do lỗi có tính hệ thống hoặc lỗi lượng t ử hóa, không cho phép tái tạo không tổn hao. Một quá trình không th ể đảo ngược chỉ dùng đ ể nén t ổ n hao. 3.27 JP2 Tên của định dạng tập tin được định nghĩa trong tiêu chuẩn ITU-T T.800 | ISO/IEC 15444-1. 3.28 JPEG Sử dụng để tham chiếu tổng thể cho quá trình mã hóa và giải mã theo các tiêu chuẩn quốc tế sau đây: - Khuyến nghị ITU-T T.81 (1992) | ISO/IEC 10918-1:1994, Công ng hệ thông tin - Nén số và mã hóa ảnh có sắc độ liên tục: Yêu cầu và hướng dẫn. - Khuyến nghị ITU-T T.83 (1994) | ISO/IEC 10918-2:1995, Công ng hệ thông tin - Nén số và mã hóa ảnh có sắc độ liên tục: Bài đo tuân thủ. - Khuyến nghị ITU-T T.84 (1996) | ISO/IEC 10918-3:1997, Công ng hệ thông tin - Nén số và mã h ó a ảnh có sắc độ liên tục: Phần m ở rộng. - Khuyến nghị ITU-T T.84 (1996)/Amd.1 (1999), Công ng hệ thông tin - Nén số và mã hóa ảnh có sắc độ liên tục: Phần m ở rộng - Sửa đổi 1: Các quy định cho phép đăng ký loại và phiên bản mới trong tiêu đề SPIFF. - Khuyến nghị ITU-T T.86 (1998) | ISO/IEC 10918-4, Công ng hệ thông tin - Nén số và mã hóa ảnh có sắc độ liên tục: Đăng ký JPEG Profiles, SPIFF Profiles, SPIFF Tags, các không gian mà u SPIFF, các nhãn APPn, các loại nén SPIFF và cơ quan đăng ký (REGAUT) 3.29 JPEG 2000 Sử dụng để tham chiếu tổng thể cho quá trình mã hóa và giải m ã theo tiêu chuẩn này và sự hiện diện của chúng trong các ứng dụng. 3.30 Lớp (layer) Tập hợp các dữ liệu ảnh nén từ các thẻ mã hóa của một hoặc nhiều khối mã trong khối ảnh thành phần. Các lớp có một thứ tự cho quá trình mã hóa và giải mã, chúng phải được bảo toàn. 3.31 Không t ổ n hao (lossless) Một thuật ngữ mô tả ảnh hưởng của quá trình mã hóa và giải mã toàn bộ ảnh trong đó đầu ra của quá trình giải mã giống hệt với đầu vào của quá trình mã hóa. Việc tái tạo không méo được đảm bảo. Tất cả quá trình mã hóa hoặc các bước được sử dụng cho quá trình mã hóa và giải mã có thể đảo ngược. 3.32 Tổn hao (lossy) Một thuật ngữ mô tả ảnh hưởng của quá trình mã hóa và giải mã toàn bộ ảnh trong đó đầu ra của qu á trình giải mã không giống v ớ i đầu vào của quá trình mã hóa. Xuất hiện méo (xét về mặt toán học). Ít nhất một trong các quá trình mã hóa hoặc các bước được sử dụng cho quá trình mã hóa và giải, mã không th ể đảo ngược. 3.33 Nhãn (marker) Một mã hai byte trong đó byte đầu tiên là FF (0xFF) hệ thập lục phân và byte thứ hai là gi á tr ị trong khoảng từ 1 (0x01) đến FE (0xFE) hệ thập l ụ c phân. 3.34 Đoạn nh ã n (marker segment) Một nhãn và tập các tham số đi kèm (không rỗng). 3.35 G ói (packet) Một phần của dòng bit bao gồm tiêu đề gói tin và dữ liệu ảnh nén từ một lớp của một phân khu ảnh tại một mức phân giải trong khối ảnh thành phần. 3.36 Tiêu đề gó i (packet header) Một phần của gói chứa các dấu hiệu cần thiết đ ể giải mã gói. 3.37 Phân khu ảnh (precinct) Vùng chữ nhật của khối ảnh thành phần được biến đổi, tại từng mức phân giải, được sử dụng để giới hạn kích thước gói. 3.38 Độ chính xác (precision) Số lượng bit được chỉ định cho một mẫu, hệ số cụ thể hoặc bi ể u diễn dưới dạng s ố nhị phân khác. 3.39 Qu á trình lũy tiến (progression) Thứ tự trong một dòng mã trong đó quá trình giải mã từng bit liên tiếp đóng góp vào việc t á i tạo ảnh “tốt hơn”. Cách xác đ ị nh các tham số để tái tạo ảnh “tốt hơn” là một chức năng của ứng dụng. Một vài ví dụ của quá trình lũy tiến là tăng độ phân giải hoặc cải thiện độ chính xác mẫu. 3.40 Lượng tử hóa (quantization) Một phương pháp giảm độ chính xác của các hệ số riêng nhằm giảm số lượng bit dùng cho mã h ó a entropy. Nó tương đương với chức năng nén và m ở rộng đồng thời cũng giải nén. Lượng tử hóa có thể thực hiện bởi một phép toán chi tiết với giá trị lượng tử cho trước hoặc bằng cách bảo qua (cắt bỏ) các th ẻ mã hóa từ dòng mã. 3.41 Thứ tự quét mành (raster order) Tr ì nh tự cụ th ể của dữ liệu của loại bất kỳ trong một mảng. Thứ tự quét mành bắt đầu tại điểm dữ liệu trên cùng bên trái và di chuyển đến các điểm dữ liệu bên phải gần nhất. Sau khi đến đi ể m kết thúc hàng, điểm dữ liệu tiếp theo trong chuỗi là đi ể m dữ liệu tận cùng bên trái ngay phía dưới dòng hiện tại. Thứ tự này cứ tiếp tục cho tới khi đến được điểm cuối cùng của m ả ng. 3.42 Ảnh tái tạo (reconstructed i mage) Ảnh ở đ ầu ra của bộ giải mã. 3.43 M ẫ u tái tạo (recons tr ucted sample) M ẫ u được tái tạo bởi bộ giải mã. Nó luôn bằng với giá trị mẫu gốc trong quá trình mã hóa không tổn hao và khác giá trị này trong quá trình mã h ó a t ổ n hao. 3.44 Lưới tham chiếu (reference grid) Một mảng các điểm lưới chữ nhật được sử dụng làm tham chiếu cho các mảng dữ liệu chữ nhật khác. Ví dụ bao gồm các thành phần ảnh và khối ảnh. 3.45 Khối ả nh tham chiếu (reference tile) Lưới chữ nhật phụ với kích cỡ bất kỳ được gắn với lưới tham chiếu. 3.46 Vùng quan tâm (region of interest (ROI)) Tập hợp các hệ số được xem xét phù hợp với kích c ỡ được định nghĩa bởi người dùng. 3.47 Mức phân giải (resolution level) Tương đương với mức phân tách với một ngoại lệ: các băng con LL cũng là một mức phân giải riêng. 3.48 Kh ả đảo (reversible) Quá trình biến đổi, lũy tiến hoặc quá trình khác không gặp lỗi có tính hệ thống hoặc lỗi lượng tử hóa, cho phép khôi phục tín hiệu không tổn hao. 3.49 M ẫ u (sample) Một phần tử trong mảng 2 chiều chứa một thành phần ảnh. 3.50 Ả nh gốc (source image) Ả nh được sử dụng tại đầu vào bộ mã h ó a. 3.51 Băng con (subband) Một nhóm các h ệ số biến đổ i là kết quả của một loạt các tính toán lọc thông thấp và thông cao, theo cả chiều ngang và chiều dọc. 3.52 Hệ số băng con (subband coefficient) Hệ số biến đổi trong một băng con cho trước. 3.53 Khối ả nh (tile) Mảng các đi ể m lưới chữ nhật trên lưới tham chiếu, được ghi nhận bằng độ lệch từ điểm gốc lưới tham chiếu và được xác định c ả chiều cao và chiều rộng. Các khối ảnh có thể chồng lấn sử dụng để xác định khối ảnh thành phần. 3.54 Khối ảnh thành phần (tile-component) Tất cả các mẫu của thành phần ảnh cho trước trong một khối ảnh. 3.55 Ch ỉ số khối ảnh (tile index) Chỉ số của khối ảnh hiện tại có phạm vi từ không đến số lượng khối ảnh trừ một. 3.56 Biến đổi (tranformation) Ánh xạ toán học từ không gian tín hiệu này sang không gian tín hiệu khác. 4 Ký hiệu và chữ viết tắt 4.1 Chữ viết tắt Tiêu chuẩn này sử dụng các thuật ngữ viết tắt sau: ICC Hiệp hội màu quốc tế International Colour Consortium ICT Biến đổi màu không khả đảo Irreversible Colour transformation JPEG Chuẩn do nh ó m chuyên gia ảnh phát triển Joint Photographic Experts Group JURA Cơ quan đăng ký các tiện ích JPEG JPEG Utilities Registration Authority 1D-DWT Biến đổi Sóng con rời rạc 1 chiều One-dimensional Discrete Wavelet Transformation FDWT Biến đổi Sóng con rời rạc thuận Forward Discrete Wavelet Transformation IDWT Biến đổi Sóng con rời rạc nghịch Inverse Discrete Wavelet Transformation LSB Bit có trọng số thấp nhất Least Significant Bit MSB Bit có trọng số cao nhất Most Significant Bit PCS Không gian màu liên kết Profile Connection Space RCT Biến đổi màu khả đảo Reversible Colour Transformation ROI Miền quan tâm Region of Interest SNR Tỷ lệ tín hiệu trên nhiễu Signal to Noise Ratio UCS Bộ ký tự thống nhất Universal Character Set URI Định danh tài nguyên đồng nhất Uniform Resource Identifier URL Định vị tài nguyên đồng nhất Uniform Resource Locator UTF-8 Định dạng chuyển đổi Unicode 8-bit UCS Transformation Format 8 UUID Định danh thống nhất duy nhất Universal Unique Identifier XML Ngôn ngữ đánh dấu mở rộng Extensible Markup Language W3C Hiệp hội Web toàn cầu World-Wide Web Consortium 4.2 K ý hiệu Tiêu chuẩn này sử dụng các ký hiệu sau: O x---- Biểu thị số hệ thập lục phân \nnn Một số có 3 chữ số đặt sau dấu gạch chéo chỉ ra giá trị của một byte duy nhất trong chuỗi ký tự, trong đó 3 chữ số quy định giá trị bát phân của byte. COC Nhãn thành phần ki ể u mã h ó a COD Nhãn mặc định kiểu mã hóa COM Nh ã n ch ú thích CRG Nhãn đăng ký thành phần EPH Nh ã n kết thúc tiêu đề gói EOC Nhãn kết th ú c dòng mã PLM Nhãn tiêu đề phần chính, độ dài gói PLT Nhãn tiêu đề phần khối ảnh, độ dài gói POC Nh ã n thay đổi thứ tự lũy tiến PPM Nhãn tiêu đề phần chính, các tiêu đề gói được đ ó ng g ó i PPT Nhãn tiêu đề phần khối ảnh, các tiêu đề g ó i được đóng gói QCC Nh ã n thành phần lượng tử hóa QCD Nhãn mặc định lượng tử hóa RGN Nhãn vùng quan tâm SIZ Nhãn kích cỡ khối ảnh và ảnh SOC Nhãn bắt đầu dòng mã SOP Nhãn bắt đầu gó i SOD Nhãn bắt đầu dữ liệu SOT Nhãn bắt đầu phần khối ảnh TLM Nhãn độ dài phần khối ảnh 5 Quy ước Các tập t i n mã nguồn được cung c ấ p dưới dạng một tập tin zip riêng cho từng cây thư mục. Các vị trí tập tin được đưa ra trong tiêu chuẩn này được đặt ở mức cao nhất của cây thư mục tương ứng. Cấu trúc tập tin kiểu Unix và các dấu phân cách được áp dụng. Các hướng dẫn cơ bản được cung cấp trong phần mềm tham chiếu để cài đặt và biên dịch các mã nguồn sang nhiều hệ điều hành và nền tảng. Các hướng dẫn khác có thể đ ược cung cấp bên ngoài Tiêu chuẩn này thông qua các liên kết trên trang web chính thức của JPEG, http://www. j pe g .org. 6 Mô tả chung Ba cây thư mục phần mềm được cung cấp độc lập và riêng biệt . Đó là: - JASPER.ZIP , với điều kiện được chỉ ra trong tập tin COPYRIGHT , nằm trong tập tin zip. Chúng được viết bằng ngôn ngữ lập trình C , và có thể biên dịch và chạy trên nền t ả ng bất kỳ cài đặt ngôn ngữ C tương thích với tiêu chuẩn ISO/IEC 9899:1999, và hỗ trợ tập con của POSIX C API, ISO/IEC 9945-1:1996. - JJ2000.ZIP , với điều kiện được chỉ ra trong tập tin COPYRIGHT , nằm trong tập tin zip. Ch ú ng được viết bằng ngôn ngữ lập trình Java TM , và thực thi trên các phiên bản của Java Virtual Machine (JVM) từ phiên bản 1.1.1 trở lên. - OPENJPEG.ZIP , v ớ i điều kiện được chỉ ra trong tập tin LICENSE , nằm trong tập tin zip. Chúng được viết bằng ngôn ngữ lập trình C , và có thể biên dịch và chạy trên nền tảng bất kỳ cài đặt ngôn ngữ C tương th ích với tiêu chuẩn ISO/IEC 9899:1999 (còn gọ i là C99). Các tập tin thực thi hỗ trợ được mô tả ngắn gọn tại Điều 8, chi tiết hơn về các thông tin mã nguồn hỗ trợ đưa ra tại Phụ lục A (JasPer), Phụ lục B (JJ2000) và Phụ lục C (OpenJPEG). Cả ba b ả n phân phối đã được thử nghiệm đáp ứng các yêu cầu mã hóa và giải mã dòng mã chỉ ra trong tiêu chuẩn ISO/IEC 15444-1. Việc tuân thủ về mặt h ì nh thức nằm ngoài phạm vi của tiêu chuẩn này. 7 Bản quyền và cấp phép Các mô-đun phần mềm này ban đầu được phát triển b ởi các đối tác nêu ra trong tập tin COPYRIGHT hoặc LICENSE của mỗi gói như một phần của tiêu chuẩn này, trong quá trình phát triển tiêu chuẩn ISO/IEC 15444-1. Các mô-đun phần mềm này là các bản cài đặt riêng lẻ và rời rạc cho tiêu chu ẩ n ISO/IEC 15444-1. Tiêu chu ẩ n này hướng sự chú ý của người dùng các mô-đun phần mềm đến các điều khoản c ấ p phép và điều kiện quy định trong tập tin LICENSE trong mỗi bản cài đặt. Việc sử dụng các mô-đun phần mềm trong các sản ph ẩ m phần cứng hoặc phần mềm trong tương lai có th ể vi phạm bằng các sáng chế hiện có. Đặc biệt, các nhà phát triển đầu tiên của các mô-đun phần mềm này và các công ty của họ, các biên tập viên và công ty của họ, và tổ chức ISO/IEC không chấp nhận đối với bất kỳ đề xuất sử dụng các mô-đun phần mềm này hoặc sửa đổi chúng. Không cấp phép ám chỉ việc sử dụng toàn bộ hoặc một phần các sản phẩm của họ không tuân theo tiêu chuẩn ISO/IEC 15444-1. Các tác giả phần mềm giữ lại đầy đ ủ các quyền sử dụng mã nguồn của tiêu chuẩn này cho các mục đích riêng của họ, việc chuyển nhượng hoặc tặng mã nguồn cho một bên th ứ ba và ngăn c ấ m bên thứ ba sử dụng mã nguồn cho các sản phẩm đều không phù hợp với tiêu chuẩn ISO/IEC 15444-1. Ba bản phân phối có giới hạn bản quyền và cấp phép khác nhau, chúng phản ánh các yêu cầu và môi trường hoạt động khác nhau của các tổ chức đã đóng góp vào sự phát triển của phần mềm. 8 Các yêu cầu về nền tảng Cả ba bản cài đặt phần mềm tham chiếu đã được xây dựng thành công trên nhiều nền tảng hệ điều hành và với một sự l ựa chọn của các trình biên dịch. Chúng được ch ủ định viết với tính di động và t í nh toàn diện. Các nền tảng dưới đây được chỉ ra trong tài liệu hướng dẫn cài đặt cụ thể: 8.1 Các yêu cầu cho JasPer Phần mềm Jasper đã được biên dịch thành công trong môi trường sau: - Red Hat Linux 7.0, GNU C 2.96, GNU Make 3.79.1. - SunOS / SPARC 5.5.1, GNU C 2.7.2.1, biến thể SunOS. - SunOS / SPARC 5.7, GNU C 2.95, biến th ể SunOS. - Windows 2000 Professional, Microsoft Visual C 6.0. - Windows 98 Second Edition, Cygwin 1.1.8.2, GNU Bash 2.04, GNU C 2.95, GNU Make 3.79.1 8.2 Các yêu cầu cho JJ2000 Phần mềm JJ2000 đã được th ử nghiệm trên các phiên bản của Java TM Virtual Machine từ phiên bản 1.1.1 trở lên, trên nhiều nền tảng bao gồm cả Sun Solaris, Microsoft Windows 95/98/NT/2000, Linux, và MacOS, sử dụng Java Development Kit (JDK) của Sun, Java Runtime Environment (JRE) của Sun và Java Virtual Machine (JVM) của Microsoft. Hướng dẫn chi tiết về cách cài đặt và chạy các tập tin thực thi JJ2000 nằm trong tập tin README ở mức cao nhất của cây thư mục JJ2000. 8.3 Các yêu cầu cho OpenJPEG Open JPEG đã được biên dịch thành công trên nhiều nền tảng, bao gồm Windows XP, Windows Vista, Windows 7 và Windows 8, Mac OS X (lên đến 10,9, 32 và 64 bit) và Linux (Ubuntu và Debian). OpenJPEG sử dụng CMake, một hệ thống đa nền tảng, để cấu h ì nh, xây dựng và thử nghiệm các thư viện và các tập tin thực thi trên các nền tảng được hỗ trợ. 9 Cấu trúc mã hóa tham chiếu Cả ba bộ phần mềm cung cấp khả năng mã hóa v à giải mã các dòng mã và tập tin JP2 tương ứng với cú pháp quy định tạ i tiêu chuẩn ISO/IEC 15444-1. Để chuy ể n mã sang các định dạng h ì nh ảnh khác hoặc để hiển thị, cả hai bộ phần mềm cho phép người dùng giả định trong trường hợp không có thông tin bổ sung các thành phần dòng mã được giải mã trong không gian màu sRGB hoặc không gian màu xám dựa trên sRGB. Các tập tin thực thi có sẵn được mô tả dưới đây bằng cách biên dịch phần mềm được chỉ ra trong tập tin INSTALL lưu ở mức cao nhất của cây thư mục tương ứng. Trong mỗi trường hợp, hơn 30 tham số dòng lệnh tùy chọn khác nhau được xác định, để trình diễn các khía cạnh của quá trình m ã hóa dòng mã JPEG 2000 quy định tại tiêu chuẩn I SO/IEC 15444-1. 9.1 Tập tin thực th i JasPer Bản phân phối phần mềm JasPer cung cấp ba tập tin thực thi: - JASPER , bộ chuyển mã sử dụng đ ể chuy ể n đổi nhiều định dạng tập tin hình ả nh như JPEG, Portable Bitmap (PNM / PGM / PPM), Windows BMP, và Sun Rasterfile. Các bộ chuyển mã hoạt động như cả bộ mã hóa và giải mã cho các tập tin JPEG 2000. - IMGCMP , được cung c ấ p như một tiện í ch thử nghiệm để đánh giá sự khác biệt giữa các h ì nh ảnh và cung c ấ p các biện pháp đ ể so sánh sự khác nhau, ch ẳ ng hạn như SNR. - IMGINFO , cung cấp như một tiện ích chạy bằng dòng lệnh đơn giản để phân tích các tập tin JPEG 2000. 9.2 T ậ p tin thực thi JJ2000 Các bản phân phối phần mềm JJ2000 cung c ấ p hai tập tin thực thi: - JJ2KEncoder , hoạt động như một bộ mã hóa từ PGM, PPM và PGX thành JPEG 2000 (cả dòng m ã và định dạng tập tin JP2). - JJ2KDecoder , lấy một dòng mã JPEG 2000 hoặc tập tin JP2 và giải m ã nó sang định dạng PGM, PPM, hoặc PGX. Nó có th ể lấy một số tham số tùy chọn để mô ph ỏ ng một số t í nh năng gi ải mã từng phần có thể xảy ra trong môi trường máy ch ủ - máy khách với truyền thông băng thông bị giới hạn. Nó cũng có khả năng kiết xuất ảnh ra màn h ì nh hi ể n thị trong trường hợp tập tin đầu ra không được hỗ trợ, cung cấp khả năng xem đơn giản cho dòng m ã JPEG 2000 và các tập tin JP2. 9.3 Tập tin thực th i OpenJPEG Các bản phân phối phần mềm OpenJPEG cung cấp ba tập tin thực thi: - opj_compress: chuyển đổi từ một tập tin pnm/pbm/pgm/ppm/pam/pgx/png/bmp/tif/raw/tga sang tập tin j2k/jp2. - opj_decompress: chuyển đ ổ i từ tập tin j2k/jp2 sang tập tin pnm/pbm/pgm/ppm/pam/pgx/png/bmp/tif/raw/tga. - opj_dump: thông tin về tập tin đầu vào j2k/jp2. CHÚ THÍCH: Ngoài ba tập tin thực th i tr ê n, còn có sẵn các tập tin thực thi khác. Các tập tin thực thi cung cấp các tính năng bổ sung liên quan đến các phần khác của tiêu chuẩn JPEG 2000, nhưng chúng nằm ngoài phạm v i của tiêu chuẩn này. 10 Sở hữu trí tuệ Đối với một số quy trình được quy định tại tiêu chuẩn ISO / IEC 15444-1 hoặc tiêu chuẩn ISO / IEC 15444-5 về sự phù hợp hoặc tuân thủ có thể yêu cầu sử dụng như một phát minh gồm các bằng sáng chế. Liên minh Viễn thông Quốc tế (ITU), Tổ chức Tiêu chuẩn h ó a quốc tế (ISO) và Ủy ban Kỹ thuật điện quốc tế (IEC) hư ớ ng sự chú ý đến một thực t ế việc tuân thủ các tiêu chuẩn có th ể liên quan đến việc sử dụng các bằng sáng chế. Danh sách các quyền sở hữu trí tuệ được công bố có th ể thu được từ các cơ sở dữ liệu khai báo bằng sáng chế của ITU-T và ISO. ITU, ISO và IEC không liên quan đến tính rõ ràng, tính hợp lệ và phạm vi của các quyền sáng chế này. Chú ý là có khả năng một số phần của Tiêu chuẩn có thể tr ở liên quan tới quyền sáng chế ngoại trừ các phần được xác định trong cơ sở dữ liệu đề cập ở trên. Cả ITU, ISO hoặc IEC được tổ chức đ ể chịu trách nhiệm phải xác nhận bất kỳ quyền sang chế nào. 11 Tính sẵn sàng của phần mềm và các bản cập nhật Các mã nguồn phần mềm tham chiếu phát hành đ i kèm với t iêu chuẩn này là các phiên bản thử nghiệm mới nhất có sẵn tại thời điểm văn bản này được phát hành chính thức. Các phiên bản sau này của phần mềm v à các bản cà i đặt hoặc các báo cáo và bản vá lỗi có thể được cung cấp sau khi công bố tiêu chuẩn. Chúng có thể được t ì m thấy tại URL chứa trong tà i liệu hướng dẫn của mỗi phiên bản phần mềm tham chi ế u, hoặc thông qua các liên kết được duy trì tại địa chỉ http://www. j pe g .org Phụ lục A (Quy định) JASPER - Phần mềm tham chiếu C - Mô tả phần mềm A.1 Tổng quan Jas P er là một tập hợp các phần mềm (ví dụ, một thư viện và các chương trình ứng dụng) để mã hóa và xử lý ảnh. Phần mềm này được viết bằng ng ô n ngữ lập trình C . Cụ thể liên quan đến tiêu chuẩn này, phần mềm JasPer cung cấp một bản cài đặt cho bộ mã hóa - giải mã ảnh được quy định tại tiêu chuẩn ISO/IEC 15444-1. Việc hỗ trợ cho các bộ mã hóa - gi ả i mã ảnh phổ biến khác cũng được đưa v à o để tạo điều kiện thuận lợi cho chuyển đổ i dữ liệu ảnh giữa các dòng mã JPEG 2000 và định dạng tập tin JP2. Phần mềm JasPer được phát triển với mục đích cung cấp miễn phí giấy phép và ph í bản quyền cài đặt JPEG 2000 cho bất cứ ai muốn sử dụng Tiêu chuẩn JPEG 2000, mặc dù không cung c ấ p ch ứ ng nhận cho bất kỳ hành vi vi phạm sở hữu tr í tuệ (x e m tài liệu LICENSE kèm với phần mềm). Người sử dụng phần mềm nên tự t ì m hiểu các điều khoản liên quan đến sở hữu trí tuệ quy định trong tiêu chuẩn ISO/I E C 15444-1 trước khi sử dụng phần mềm này. Ngoài phụ lục này, độc giả quan tâm đến các phần mềm Jasper cũng nên đọc hướng dẫn sử dụng phần mềm Jasper, nằm trong kho lưu trữ phân phối phần mềm Jasper. Hướng dẫn này chứa thông tin chi tiết về phần mềm Jas P er, bao gồm các chi tiết phát hành cụ th ể đã bị lược b ỏ trong phụ lục này. A.2 Các bản cập nhật phần mềm Phần mềm Jasper phát hành đi kèm với tiêu chuẩn này là phiên bản mới nhất có sẵn tại thời điểm tiêu chuẩn được công bố. Sự phát triển của phần mềm JasPer dự kiến sẽ được tiếp tục. Do việc bổ sung các tính năng và chức năng mới, nên phiên bản mới của phần mềm sẽ luôn được cập nhật. Phiên bản mới nhất của phần mềm JasPer có thể được tải về từ Internet thông qua URL đ ược đưa ra trong Điều 11. Thông tin và tin tức về phần mềm JasPer có thể c ũ ng được cung cấp thông qua URL đó. A.3 Nguyên tắc đánh số phiên bản Do phần mềm Jasper dự kiến sẽ phát triển theo thời gian, nên việc đánh số phiên bản rất quan trọng đ ể có th ể xác định các phiên bản cụ thể của phần mềm. Mỗi bản phát hành của phần mềm JasPer có một định danh phiên bản. Theo mục đích của phụ lục này, một định danh phiên bản bao gồm ba số nguyên cách nhau bởi dấu chấm. Theo thứ tự, ba số nguyên tương ứng với phiên bản chính, phiên bản phụ và phiên bản vá của phần mềm. V í dụ, định danh phiên bản "1.500.0" tương ứng với ph i ên bản chính là 1, phiên bản phụ 500, và phiên bản vá là 0. Trong tr ường hợp mà các phiên bản vá là số không, các định danh phiên bản có thể được rút ngắn sau số phiên b ả n phụ. Ví dụ, định danh phiên bản "1.500" là hoàn toàn hợp lệ và viết tắt của "1.500.0". Cho bản phát hành khác nhau của phần mềm JasPer, phiên bản gần đây nhất có thể được xác định bằng cách so sánh các định danh phiên bản, như sau: 1) Nếu số phiên bản chính khác nhau, bản phát hành với số phiên bản cao hơn là mới hơn; 2) Nếu số phiên bản chính bằng nhau và số phiên bản phụ khác nhau, bản phát hành với s ố phiên bản phụ cao là mới hơn; hoặc 3) Nếu số phiên bản chính bằng nhau và số phiên bản phụ cũng băng nhau, bản phát hành với số phiên bản v á cao là mới hơn. A.4 Khá i quát phần mềm Phần mềm JasPer bao gồm một thư viện, và một số chương trình ứng dụng trình diễn sử dụng thư viện này. Các đoạn mã nguồn được viết bằng ngôn ngữ lập trình C phù hợp với tiêu chuẩn ISO/IEC 9899:1999. Ngôn ngữ này được lựa chọn do sự sẵn có của môi trường phát triển C cho hầu hết các nền tảng điện toán hiện nay. Tổng cộng, phần mềm có khoảng 30 ngh ì n dòng mã lệnh. Trong các mục tiếp theo, sẽ cung cấp khái quát về phần mềm JasPer. Không đề cập chi tiết đến cách thức thực hiện và sự thay đổi giữa các phiên b ả n phần mềm. Điều này đ ược mô tả trong tài liệu nằm trong b ả n phân phối phần mềm có liên quan, để tránh mâu thuẫn giữa tiêu chuẩn này và các tài liệu đi kèm với bản phát hành phần mềm JasPer có liên quan. A.5 Thư viện Jasper Cốt lõi của phần mềm JasPer là thư viện JasPer, được đặt tên là li b j asper. Thư viện bao gồm hai mục riêng biệt chứa mã nguồn: 1) Mã nguồn cơ sở/lõi; 2) Các trình điều khiển bộ mã hóa - giải mã. Mã nguồn cơ sở cung cấp đoạn chương trình chung cho các thao tác hình ảnh và cung cấp một chương trình khung đ ể xây dựng các trình điều khiển bộ mã hóa - g i ả i mã. Các trình điều khiển bộ mã hóa - giải mã cung cấp một phương tiện đ ể mã h ó a/giải mã các định dạng ảnh cụ th ể . Thư viện được thiết k ế có khả năng mở rộng, v ì vậy, việc hỗ trợ thêm cho các đ ị nh dạng ảnh mới trở nên đơn giản hơn. Hiện tại, các trình điều khiển bộ mã hóa - giải mã cung cấp các định dạng ảnh sau: 1) Tập tin JPEG 2000 JP2 (JP2); 2) Dòng mã JPEG 2000 (JPC); 3) JPEG JFIF (JPG); 4) Portable Bitmap (PNG); 5) Windows BMP (BMP); 6) Sun Rasterfile (RAS). Ngoài ra, việc hỗ trợ cũng cung cấp một s ố định dạng phi tiêu chuẩn, trong đó cung cấp các tính năng không có sẵn trong bất kỳ định dạng nào ở trên (ví dụ hình học ả nh đặc biệt). Các định dạng này được mô tả trong Sách hướng dẫn phần mềm JasPer. Trình điều khiển bộ mã h ó a - giải mã JPG yêu cầu có sẵn thư viện IJG JPEG trên hệ thống sử dụng để biên dịch phần mềm. Thư viện IJG JPEG là phần mềm miễn phí và có thể được tải từ Internet thông qua URL: http://www.ij g .org Vì các lý do bản quyền, thư viện IJG JPEG không được phân phối cùng phần mềm JasPer. Các bộ mã hóa - giải mã JP2 và JPC được cung cấp là yếu tố chính liên quan đến t iêu chuẩn này. Bộ mã h ó a - giải mã JPG trong JasPer hỗ trợ định dạng JPEG gốc, và có thể được sử dụng để chuy ể n đổi dữ liệu từ định dạng JPEG sang JPEG 2000. Thư viện JasPer cung cấp các lớp chủ yếu sau: 1) Lớp Ảnh - Lớp này được sử dụng để đại diện cho một hình ảnh, và cũng cung cấp quyền truy cập vào các trình điều khiển bộ mã hóa - giải mã để mã hóa/giả i mã dữ liệu h ì nh ảnh ở các định dạng khác nhau. 2) Lớp Chuỗi/Ma trận - Lớp này cung cấp các lớp ma trận và chuỗi hai chiều. 3) Lớp Luồng I/O - Lớp này cung cấp luồng I/O tương tự như của thư viện C chuẩn, nhưng với chức năng bổ sung theo yêu cầu của mã nguồn khác trong phần mềm Jasper. 4) Lớp Số dấu chấm tĩnh - Lớp này được sử dụng để thực hiện tính toán dấu chấm tĩnh. 5) Lớp Phân tích cú pháp giá trị tạo nh ã n - Lớp này tạo điều kiện cho việc phân tích cú pháp các cặp g i á trị tạo nhãn. Một cặp giá trị tạo nhãn là một chuỗi có dạng "tag = value". Các cặp như vậy được sử dụng bởi một số giao diện trong phần mềm Jasper đ ể truyền các tham số. 6) Lớp Tùy chọn dòng mã lệnh - Lớp này cho phép phân tích cú pháp các dòng mã lệnh. Mã nguồn này cũng tương tự như chức năng getopt có sẵn trên hầu hết các hệ thống UNIX. A.6 Các chương trình ứng dụng trình diễn Jasper Ba chương trình ứng dụng trình diễn sử dụng thư viện JasPer. Các chương trình ứng dụng này là: 1) jasper - Đây là một ứng dụng chuy ể n mã đơn giản. Nó chuyển đổi dữ liệu h ì nh ảnh từ dạng này sang dạng khác. 2) imgcmp - Đây l à một tiện ích so s á nh h ì nh ảnh. N ó có thể được sử dụng để định lượng sự khác biệt giữa hai h ì nh ảnh (sử dụng các thông số méo khác nhau). 3) imginfo - Chương trình này xuất ra thông tin cơ bản về loại và dạng hình học và của một hình ảnh. Chương trình j asper là phần mềm tham chiếu chính được cung cấp và có thể được sử dụng như một bộ mã hóa hoặc bộ giải mã JPEG 2000. Các tiện ích imgcmp rất hữu ích trong việc phân tích hiệu năng mã hóa h ì nh ảnh. A.7 Các yêu cầu phần mềm Mã nguồn JasPer được thiết kế để biên dịch trên bất kỳ nền t ả ng nào cài đặt ngôn ngữ C tương thích , v ớ i tiêu chuẩn ISO/IEC 9899:1999 và hỗ trợ một tập con của tiêu chuẩn ISO/IEC 9945-1:1996 (ví dụ, API POSIX C). Yêu cầu chỉ hỗ trợ hạn chế POSIX (nghĩa là các chức năng mở, đ ó ng, ghi, đọc, và Iseek phải được hỗ trợ). Trình biên dịch GNU C được đề xuất để xây dựng phần mềm JasPer do trình biên dịch n à y là phù hợp với mục đích của phần mềm tham chiếu này với tiêu chuẩn ISO/IEC 9899:1999, và tạo ra mã nguồn chất lượng tốt . Trình biên dịch này hiện có sẵn trong các hệ thống dựa trên nền POSIX/UNIX và Microsoft Windows, và một số nền tảng khác. Thông t i n thêm về trình biên dịch GNU C có thể được t ì m thấy trên Internet tại địa chỉ: http://www. g nu.org Tính linh động được xem xét chính trong việc thiết kế phần mềm Jas P er. Vì lý do này, phần mềm làm ra để đáp ứng các giả định tố i thiểu của môi trường runtime. Mã nguồn sử dụng rất ít tính toán dấu chấm động, hầu hết trong số đ ó có thể được chuyển đổi dấu chấm động trong hàm printf. Việc sử dụng tối thiểu t í nh toán dấu ch ấ m động khiến mã nguồn dễ dàng chuyển sang các nền tảng không hỗ trợ phần cứng cho tính toán d ấ u chấm động. A.8 Xây dựng phần mềm Phần mềm JasPer có thể được xây dựng bằng cách sử dụng một trong hai phương pháp khác nhau. Phương pháp đầu tiên dựa trên một tập lệnh cấu h ì nh (tạo ra bằng cách sử dụng công cụ autoconf). Phương pháp này sẽ làm việc trong hầu hết các môi trường chính thống như UNIX hoặc POSIX (ví dụ, Linux, Solaris, và môi trường gi ả lập Cygwin trên Microsoft Windows). Đây là phương pháp ưa thích và được đề nghị cho xây dựng phần mềm tham chiếu JasPer. Phương pháp thứ hai đặc biệt được cải tiến phù hợp với nhu cầu của người sử dụng Microsoft Visual C trên n ề n Microsoft Windows. Hướng dẫn chi tiết của từng phương pháp xây dựng có thể được t ì m thấy trong Sách hướng dẫn phần mềm JasPer. (Xem phần có tiêu đề "Xây dựng phần mềm".) A.9 Sử dụng phần mềm Như đã mô tả ở trên, phần mềm Jasper bao gồm một thư viện và một số chương trình ứng dụng. Tất cả các chương trình ứng dụng có giao d i ện dòng mã lệnh tương tự UNIX. Các chi tiết cụ thể của giao diện dòng m ã lệnh cho mỗi chương trình ứng dụng được đưa ra trong Sách hướng dẫn phần mềm JasPer. (Xem phần có tiêu đề "Sử dụng phần mềm".) Cũng có thể sử dụng thư viện JasPer đ ể xây dựng chương trình ứng dụng mới (hoặc thậm chí thư viện khác). Thông tin về cách thức thực hiện điều này cũng có thể được tìm thấy trong phần trên trong Sách hướng dẫn phần mềm JasPer. Phụ lục B (Quy định) JJ2000 - Phần mềm tham chiếu Java TM - Mô tả phần mềm B.1 Tổng quan JJ2000 là bản cài đặt Java TM của JPEG 2000 được quy định tại tiêu chuẩn ISO/IEC 15444-1. Phần mềm này bao gồm một bộ mã hóa và một bộ gi ả i mã. Bộ mã hóa nén các tập tin h ì nh ảnh từ một số định dạng ả nh vào một dòng mã JPEG 2000 hoặc một tập tin JP2 (xem 9.2). Bộ mã hóa cung cấp bản cài đặt cho bộ mã hóa h ì nh ảnh quy định tại tiêu chuẩn ISO/IEC 15444-1 và hỗ trợ một số tính năng bổ sung như chạy bộ mã hóa song song như một Java TM applet. Bộ giải mã cung cấp khả năng giải nén dòng mã JPEG 2000 vào một số định dạng ảnh, và hỗ trợ định dạng tập tin JP2. Nó cũng có thể lấy một số tham số tùy chọn mô phỏng một số tính năng giải mã từng phần, có thể được d ự đoán trong môi trường máy chủ - máy khách với truyền thông băng thông hạn chế. N ó cũng có khả năng ki ế t xuất ảnh ra một màn hình hiển thị nếu không cung cấp đặc điểm kỹ thuật tập tin đầu ra, cung cấp khả năng xem đơn giản cho dòng mã JPEG 2000 và các tập tin JP2. Cách thức cài đặt và sử dụng bộ mã hóa và giải mã được mô tả trong tài liệu INSTALL được cung cấp trong bản phân phối phần mềm. B.2 Các bản cập nhật phần mềm Phiên bản mới nh ấ t của phần mềm JJ2000, cũng như thời gian công bố Tiêu chuẩn này, có th ể được tìm thấy trong bản phát hành phần mềm đi kèm với tiêu chuẩn này. Phiên bản mới nhất của phần mềm JJ2000 có th ể được tải về từ Internet thông qua URL được đưa ra trong Điều 10. Thông tin thêm về việc cài đặt, tài liệu, mã nguồn và các tập thực thi cũng có thể được tìm thấy trên URL đó. B.3 Kiến trúc phần mềm Phần mềm JJ2000 bao gồm một số gói tin phân cấp Java, mỗi gói tương ứng với một mô-đun cụ thể của bộ mã hóa-giải mã JJ2000. Mỗi gói này tương ứng với một thư mục cùng tên trong tập tin zip chứa các bản phân phối phần mềm đi kèm tiêu chuẩn này. jj2000 jj2000.disp Hi ể n thị các ảnh được giải mã jj2000.j2k Các mô-đun JPEG 2000 jj2000.j2k.io Ghi/Đọc tập tin jj2 000.j2k.roi Hỗ trợ vùng quan tâm jj 000.j2k.util Các công cụ hữu ích cho việc cài đặt JJ2000 jj2000.j2 k.codestream jj2000.j2k.condestream.writer Ghi dòng mã jj2000.j2k.codestream.reader Đọc dòng mã jj2000.j2k.decoder Mô-đun giải mã jj2000.j2k.encoder Mô-đun mã hóa jj2000.j2k.entropy Tính toán mã h ó a/giải mã jj2000.j2k.entropy.decoder MQ và các bộ giải mã entropy jj2000.j2k.entropy.encoder MQ, bộ mã h ó a entropy, EBCOT jj2000.j2k.wavelet Bộ lọc và lọc jj2000.j2k.wavelet.analysis Giải nén sóng con thuận jj2000.j2k.wavelet.synthesis Giải nén sóng con nghịch jj2000.j2k.image Các toán tử miền không gian jj200 0 .j2k.image.forwcompTransf Biến đổi thành phần thuận jj2000.j2k. i mage.invcomptransf Biến đ ổ i thành phần nghịch jj2000.j2k.image.output Ghi tập tin PGM/PPM/PGX jj2 000.j2k.image.input Đọc tập tin PGM/PPM/PGX jj2000.j2k.quant i zation jj2 000.j2k.quantization.quantizer Dead-zone Scalar Quantizer jj2000 . j 2k.quamtization.dequantizer Dead-zone Scalar Dequantizer Mô tả kỹ hơn về thiết kế và các lớp của JJ2000 có thể được t ì m thấy trong tập tin README được cung cấp trong bản phân phối phần mềm. Để biết thêm thông tin về bộ mã hóa / giải mã, xin vui lòng tham khảo phần trợ giúp được nhúng dòng mã lệnh và tài liệu mã nguồn. B.4 Cà i đặt và chạy phần mềm JJ2000 được viết bằng Java TM và đ ể chạy phần mềm cần trình biên dịch Java TM và máy ảo Java. Hướng dẫn cách biên dịch và chạy phần mềm trên các nền tảng khác nhau được đưa ra trong tài liệu INSTALL được cung cấp trong bản phân phố i phần mềm. Tài liệu này cũng mô tả cách tạo tài liệu từ mã nguồn và cách sử dụng một số tính năng bổ sung của bộ m ã hóa. Phụ lục C (Quy định) OpenJPEG - Phần mềm tham chiếu C - Mô tả phần mềm C.1 Tổng quan OpenJPEG là một bộ phần mềm (các chương trình ứng dụng và thư viện), được viết bằng ngôn ngữ C , dành riêng cho việc ứng dụng tiêu chuẩn JPEG. Trong các phần khác, OpenJPEG cung cấp thư viện OpenJP2, một ứng dụng của tiêu chuẩn ISO/IEC 15444-1 (JPEG 2000 Phần 1: Hệ thống mã hóa lõi). Phần mềm OpenJPEG đã được phát hành theo bản quy ề n BSD 2 điều khoản. Phần mềm này có th ể á p dụng các quyền từ bên thứ ba và các cộng tác viên khác, bao gồm cả quyền sáng chế, và các quyền này không được chấp nhận trong bản quyền này. C.2 Khai thác và cập nhật phần mềm Các tập con của bộ phần mềm OpenJPEG đi kèm tiêu chuẩn này được tạo ra bởi thư viện openjp2 (rev2908), cùng với các tập tin thực thi opj_compress, opj_decompress and opj_dump. Nó đạ i diện cho các phiên b ả n mới nhất của các tập con có sẵn tại thời điểm tiêu chuẩn này được công bố. Các phiên bản tiếp theo, với các công cụ và các chức năng bổ sung, tài liệu, và dữ liệu kiểm thử có sẵn được quy định tại Điều 11. C.3 Xây dựng và sử dụng phần mềm Chỉ duy trì phương pháp xây dựng bộ phần mềm OpenJPEG thông qua việc sử dụng Cmake. Điều này cho phép biên dịch OpenJPEG trên nhiều nền tảng khác nhau mà không cần duy trì một số tập tin dự án hay các makefile. Cấu hình của các tập tin Cmake (thông qua d ò ng lệnh, ccmake hoặc cmake-gui) cho phép người sử dụng quyết định các thư viện và các tập tin thực thi để xây dựng, và nếu cần thiết, các thư viện của bên thứ ba (libpng, libtiff, libz, l iblcms2) sẽ được biên dịch hoặc t ì m kiếm trên máy nội bộ. Các thư viện bên thứ ba này chỉ sử dụng các tập tin thử thi để cho phép hỗ trợ ảnh PNG và TlF, và quản lý hồ sơ màu. Khi cấu hình được thực hiện, Cmake tạo ra các makefile hoặc các tập tin dự á n và phần mềm được xây dựng. Bản thân thư viện OpenJP2 không phụ thuộc g ì vào các yếu tố bên ngoài (ngoại trừ các thư viện toán học trên nền tảng Unix). Sau khi xây dựng, dòng lệnh thực thi có thể được sử dụng để chuyển đổi các ảnh. Các tùy chọn và thông số có sẵn được mô tả trong phần tài liệu và v ớ i tùy chọn “ -h” của tập tin thực thi. C.4 Chạy thử phần mềm Phần mềm đi kèm Tiêu chuẩn này được thử nghiệm thành công với tất cả các tập tin kiểm tra sự phù hợp, theo đó các thủ tục được mô tả trong tiêu chuẩn ISO/IEC 15444-4 (JPEG 2000 Phần 4: Kiểm tra sự phù hợp). Những thử nghiệm này có th ể dễ dàng thực hiện lại bằng cách sử dụng các thủ tục và dữ liệu thử nghiệm sẵn có quy định tại Điều 11. Th ư mục tài liệu tham khảo [1] ISO/IEC 15444-5:2015, Information technology - JPEG 2000 image coding system: Reference software . MỤC LỤC 1 Phạm vi áp dụng 2 Tài liệu viện dẫn 3 Thuật ngữ và định nghĩa 4 Ký hiệu và chữ viết tắt 5 Quy ước 6 Mô tả chung 7 Bản quyền và cấp phép 8 Các yêu cầu về nền tảng 8.1 Các yêu cầu cho JasPer 8.2 Các yêu cầu cho JJ2000 8.3 Các yêu cầu cho OpenJPEG 9 Cấu trúc m ã h ó a tham chiếu 9.1 Tập tin thực thi JasPer 9.2 Tập tin thực th i JJ2000 9.3 Tập tin thực th i OpenJPEG 10 Sở hữu trí tuệ 11 Tính sẵn sàng của phần mềm và các bản cập nhật Phụ lục A (Quy định) JASPER - Phần mềm tham chiếu C - Mô tả phần mềm Phụ lục B (Quy định) JJ2000 - Phần mềm tham chiếu Java TM - Mô tả phần mềm Phụ lục C (Quy định) OpenJPEG - Phần mềm tham chiếu C - Mô tả phần mềm Thư mục tà i liệu tham khảo